1
0
mirror of https://github.com/KDE/latte-dock.git synced 2025-01-10 21:18:19 +03:00

introduce errordata and errorinformationdata

This commit is contained in:
Michail Vourlakos 2021-04-29 17:42:17 +03:00
parent ecd582eaf9
commit 7eedf8f8a2
6 changed files with 288 additions and 0 deletions

View File

@ -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}/errorinformationdata.cpp
${CMAKE_CURRENT_SOURCE_DIR}/genericbasictable.cpp
${CMAKE_CURRENT_SOURCE_DIR}/genericdata.cpp
${CMAKE_CURRENT_SOURCE_DIR}/generictable.cpp

79
app/data/errordata.cpp Normal file
View File

@ -0,0 +1,79 @@
/*
* Copyright 2021 Michail Vourlakos <mvourlakos@gmail.com>
*
* 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 <http://www.gnu.org/licenses/>.
*
*/
#include "errordata.h"
namespace Latte {
namespace Data {
Error::Error()
: Generic()
{
}
Error::Error(Error &&o)
: Generic(o),
information(o.information)
{
}
Error::Error(const Error &o)
: Generic(o),
information(o.information)
{
}
Error &Error::operator=(const Error &rhs)
{
id = rhs.id;
name = rhs.name;
information = rhs.information;
return (*this);
}
Error &Error::operator=(Error &&rhs)
{
id = rhs.id;
name = rhs.name;
information = rhs.information;
return (*this);
}
bool Error::operator==(const Error &rhs) const
{
return (id == rhs.id)
&& (name == rhs.name)
&& (information == rhs.information)
}
bool Error::operator!=(const Error &rhs) const
{
return !(*this == rhs);
}
bool Error::isValid() const
{
return !id.isEmpty();
}
}
}

62
app/data/errordata.h Normal file
View File

@ -0,0 +1,62 @@
/*
* Copyright 2021 Michail Vourlakos <mvourlakos@gmail.com>
*
* 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 <http://www.gnu.org/licenses/>.
*
*/
#ifndef ERRORDATA_H
#define ERRORDATA_H
//! local
#include "genericdata.h"
#include "appletdata.h"
#include "errorinformationdata.h"
//! Qt
#include <QMetaType>
#include <QString>
namespace Latte {
namespace Data {
class Error : public Data::Generic
{
public:
Error();
Error(Error &&o);
Error(const Error &o);
bool isValid() const;
//! Operators
Error &operator=(const Error &rhs);
Error &operator=(Error &&rhs);
bool operator==(const Error &rhs) const;
bool operator!=(const Error &rhs) const;
GenericTable<Data::ErrorInformation> information;
private:
};
}
}
Q_DECLARE_METATYPE(Latte::Data::Error)
#endif

View File

@ -0,0 +1,84 @@
/*
* Copyright 2021 Michail Vourlakos <mvourlakos@gmail.com>
*
* 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 <http://www.gnu.org/licenses/>.
*
*/
#include "errorinformationdata.h"
namespace Latte {
namespace Data {
ErrorInformation::ErrorInformation()
: Generic()
{
}
ErrorInformation::ErrorInformation(ErrorInformation &&o)
: Generic(o),
containment(o.containment),
applet(o.applet)
{
}
ErrorInformation::ErrorInformation(const ErrorInformation &o)
: Generic(o),
containment(o.containment),
applet(o.applet)
{
}
ErrorInformation &ErrorInformation::operator=(const ErrorInformation &rhs)
{
id = rhs.id;
name = rhs.name;
containment = rhs.containment;
applet = rhs.applet;
return (*this);
}
ErrorInformation &ErrorInformation::operator=(ErrorInformation &&rhs)
{
id = rhs.id;
name = rhs.name;
containment = rhs.containment;
applet = rhs.applet;
return (*this);
}
bool ErrorInformation::operator==(const ErrorInformation &rhs) const
{
return (id == rhs.id)
&& (name == rhs.name)
&& (containment == rhs.containment)
&& (applet == rhs.applet);
}
bool ErrorInformation::operator!=(const ErrorInformation &rhs) const
{
return !(*this == rhs);
}
bool ErrorInformation::isValid() const
{
return containment.isValid() || applet.isValid();
}
}
}

View File

@ -0,0 +1,60 @@
/*
* Copyright 2021 Michail Vourlakos <mvourlakos@gmail.com>
*
* 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 <http://www.gnu.org/licenses/>.
*
*/
#ifndef ERRORINFORMATIONDATA_H
#define ERRORINFORMATIONDATA_H
//! local
#include "genericdata.h"
#include "appletdata.h"
//! Qt
#include <QMetaType>
#include <QString>
namespace Latte {
namespace Data {
class ErrorInformation : public Generic
{
public:
ErrorInformation();
ErrorInformation(ErrorInformation &&o);
ErrorInformation(const ErrorInformation &o);
//! error data
Data::Applet containment;
Data::Applet applet;
bool isValid() const;
//! Operators
ErrorInformation &operator=(const ErrorInformation &rhs);
ErrorInformation &operator=(ErrorInformation &&rhs);
bool operator==(const ErrorInformation &rhs) const;
bool operator!=(const ErrorInformation &rhs) const;
};
}
}
Q_DECLARE_METATYPE(Latte::Data::ErrorInformation)
#endif

View File

@ -22,6 +22,7 @@
#include "generictable.h"
#include "activitydata.h"
#include "appletdata.h"
#include "errorinformationdata.h"
#include "layoutdata.h"
#include "screendata.h"
#include "viewdata.h"
@ -327,6 +328,7 @@ void GenericTable<T>::remove(const int &row)
//! but that would drop readability
template class GenericTable<Data::Activity>;
template class GenericTable<Data::Applet>;
template class GenericTable<Data::ErrorInformation>;
template class GenericTable<Data::Generic>;
template class GenericTable<Data::Layout>;
template class GenericTable<Data::Screen>;