1
0
mirror of https://github.com/KDE/latte-dock.git synced 2025-02-05 05:47:26 +03:00
latte-dock/app/data/layoutdata.h
Michail Vourlakos a83d26a35b multiple:make switch funtion work properly
--when the user requests a specific layout in Multiple
Layout mode the new approach is the following. If
the layout has assigned activities this is respected
but if its activities are empty that layout is assigned
only on the current activity and any other layouts assigned
explicitly to that activity are released
2020-08-30 20:32:13 +03:00

85 lines
2.1 KiB
C++

/*
* Copyright 2020 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 SETTINGSDATALAYOUT_H
#define SETTINGSDATALAYOUT_H
// local
#include "genericdata.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}";
Layout();
Layout(Layout &&o);
Layout(const Layout &o);
//! Layout data
QString icon;
QString color;
QString background;
QString textColor;
QString lastUsedActivity;
bool isActive{false};
bool isBroken{false};
bool isLocked{false};
bool isShownInMenu{false};
bool isTemplate{false};
bool hasDisabledBorders{false};
QStringList activities;
Latte::Layout::BackgroundStyle backgroundStyle{Latte::Layout::ColorBackgroundStyle};
//! Functionality
bool isOnAllActivities() const;
bool isForFreeActivities() const;
bool isTemporary() const;
bool isNull() const;
bool isEmpty() const;
bool isSystemTemplate() 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