diff --git a/app/data/CMakeLists.txt b/app/data/CMakeLists.txt index 1f170240c..50ef54530 100644 --- a/app/data/CMakeLists.txt +++ b/app/data/CMakeLists.txt @@ -2,6 +2,7 @@ set(lattedock-app_SRCS ${lattedock-app_SRCS} ${CMAKE_CURRENT_SOURCE_DIR}/activitydata.cpp ${CMAKE_CURRENT_SOURCE_DIR}/appletdata.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/genericdata.cpp ${CMAKE_CURRENT_SOURCE_DIR}/layoutdata.cpp ${CMAKE_CURRENT_SOURCE_DIR}/layoutcolordata.cpp ${CMAKE_CURRENT_SOURCE_DIR}/layouticondata.cpp diff --git a/app/data/appletdata.cpp b/app/data/appletdata.cpp index 235f0a471..4d8f4958d 100644 --- a/app/data/appletdata.cpp +++ b/app/data/appletdata.cpp @@ -24,20 +24,19 @@ namespace Latte { namespace Data { Applet::Applet() + : Generic() { } Applet::Applet(Applet &&o) - : id(o.id), - name(o.name), + : Generic(o), description(o.description), icon(o.icon) { } Applet::Applet(const Applet &o) - : id(o.id), - name(o.name), + : Generic(o), description(o.description), icon(o.icon) { diff --git a/app/data/appletdata.h b/app/data/appletdata.h index dbd19ae53..a6276c02f 100644 --- a/app/data/appletdata.h +++ b/app/data/appletdata.h @@ -21,6 +21,9 @@ #ifndef APPLETDATA_H #define APPLETDATA_H +//! local +#include "genericdata.h" + //! Qt #include #include @@ -28,7 +31,7 @@ namespace Latte { namespace Data { -class Applet +class Applet : public Generic { public: Applet(); diff --git a/app/data/genericdata.cpp b/app/data/genericdata.cpp new file mode 100644 index 000000000..21e1fa56d --- /dev/null +++ b/app/data/genericdata.cpp @@ -0,0 +1,70 @@ +/* + * Copyright 2020 Michail Vourlakos + * + * This file is part of Latte-Dock + * + * Latte-Dock is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * Latte-Dock is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "genericdata.h" + +namespace Latte { +namespace Data { + +Generic::Generic() +{ +} + +Generic::Generic(Generic &&o) + : id(o.id), + name(o.name) +{ +} + +Generic::Generic(const Generic &o) + : id(o.id), + name(o.name) +{ +} + +Generic &Generic::operator=(const Generic &rhs) +{ + id = rhs.id; + name = rhs.name; + + return (*this); +} + +Generic &Generic::operator=(Generic &&rhs) +{ + id = rhs.id; + name = rhs.name; + + return (*this); +} + +bool Generic::operator==(const Generic &rhs) const +{ + return (id == rhs.id) + && (name == rhs.name); +} + +bool Generic::operator!=(const Generic &rhs) const +{ + return !(*this == rhs); +} + +} +} diff --git a/app/data/genericdata.h b/app/data/genericdata.h new file mode 100644 index 000000000..bdd4c5f70 --- /dev/null +++ b/app/data/genericdata.h @@ -0,0 +1,51 @@ +/* + * Copyright 2020 Michail Vourlakos + * + * This file is part of Latte-Dock + * + * Latte-Dock is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * Latte-Dock is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#ifndef GENERICDATA_H +#define GENERICDATA_H + +//! Qt +#include + +namespace Latte { +namespace Data { + +class Generic +{ +public: + Generic(); + Generic(Generic &&o); + Generic(const Generic &o); + + //! Layout data + QString id; + QString name; + + //! Operators + Generic &operator=(const Generic &rhs); + Generic &operator=(Generic &&rhs); + bool operator==(const Generic &rhs) const; + bool operator!=(const Generic &rhs) const; +}; + +} +} + +#endif