1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
|
/*
SPDX-FileCopyrightText: 2020 Michail Vourlakos <mvourlakos@gmail.com>
SPDX-License-Identifier: GPL-2.0-or-later
*/
#ifndef SETTINGSDATALAYOUT_H
#define SETTINGSDATALAYOUT_H
// local
#include "genericdata.h"
#include "viewstable.h"
#include "../layout/abstractlayout.h"
//Qt
#include <QMetaType>
#include <QString>
#include <QStringList>
namespace Latte {
namespace Data {
class Layout : public Generic
{
public:
static constexpr const char* ALLACTIVITIESID = "{0}";
static constexpr const char* FREEACTIVITIESID = "{free-activities}";
static constexpr const char* CURRENTACTIVITYID = "{current-activity}";
static constexpr const char* DEFAULTSCHEMEFILE = "kdeglobals";
Layout();
Layout(Layout &&o);
Layout(const Layout &o);
//! Layout data
QString icon;
QString color;
QString background;
QString textColor;
QString lastUsedActivity;
QString schemeFile{DEFAULTSCHEMEFILE};
bool isActive{false};
bool isConsideredActive{false}; //used from settings window to indicate activeness based on selected layouts mode
bool isLocked{false};
bool isShownInMenu{false};
bool isTemplate{false};
bool hasDisabledBorders{false};
int popUpMargin{-1};
QStringList activities;
int errors{0};
int warnings{0};
Latte::Layout::BackgroundStyle backgroundStyle{Latte::Layout::ColorBackgroundStyle};
ViewsTable views;
//! Functionality
bool isOnAllActivities() const;
bool isForFreeActivities() const;
bool isTemporary() const;
bool isNull() const;
bool isEmpty() const;
bool isSystemTemplate() const;
bool hasErrors() const;
bool hasWarnings() const;
//! Operators
Layout &operator=(const Layout &rhs);
Layout &operator=(Layout &&rhs);
bool operator==(const Layout &rhs) const;
bool operator!=(const Layout &rhs) const;
};
}
}
Q_DECLARE_METATYPE(Latte::Data::Layout)
#endif
|