kwin/kcmkwin/kwinscreenedges/kwinscreenedge.h
Vlad Zahorodnii 1fb9f6f13a Switch to SPDX license markers
The main advantage of SPDX license identifiers over the traditional
license headers is that it's more difficult to overlook inappropriate
licenses for kwin, for example GPL 3. We also don't have to copy a
lot of boilerplate text.

In order to create this change, I ran licensedigger -r -c from the
toplevel source directory.
2020-08-07 19:57:56 +00:00

75 lines
2.2 KiB
C++

/********************************************************************
KWin - the KDE window manager
This file is part of the KDE project.
SPDX-FileCopyrightText: 2009 Lucas Murray <lmurray@undefinedfire.com>
SPDX-FileCopyrightText: 2020 Cyril Rossi <cyril.rossi@enioka.com>
SPDX-License-Identifier: GPL-2.0-or-later
*********************************************************************/
#ifndef __KWINSCREENEDGE_H__
#define __KWINSCREENEDGE_H__
#include <QWidget>
#include "kwinglobals.h"
namespace KWin
{
class Monitor;
class KWinScreenEdge : public QWidget
{
Q_OBJECT
public:
explicit KWinScreenEdge(QWidget *parent = nullptr);
~KWinScreenEdge() override;
void monitorHideEdge(ElectricBorder border, bool hidden);
void monitorEnableEdge(ElectricBorder border, bool enabled);
void monitorAddItem(const QString &item);
void monitorItemSetEnabled(int index, bool enabled);
QList<int> monitorCheckEffectHasEdge(int index) const;
int selectedEdgeItem(ElectricBorder border) const;
void monitorChangeEdge(ElectricBorder border, int index);
void monitorChangeEdge(const QList<int> &borderList, int index);
void monitorChangeDefaultEdge(ElectricBorder border, int index);
void monitorChangeDefaultEdge(const QList<int> &borderList, int index);
// revert to reference settings and assess for saveNeeded and default changed
virtual void reload();
// reset to default settings and assess for saveNeeded and default changed
virtual void setDefaults();
private Q_SLOTS:
void onChanged();
void createConnection();
Q_SIGNALS:
void saveNeededChanged(bool isNeeded);
void defaultChanged(bool isDefault);
private:
virtual Monitor *monitor() const = 0;
virtual bool isSaveNeeded() const;
virtual bool isDefault() const;
// internal use, return Monitor::None if border equals ELECTRIC_COUNT or ElectricNone
static int electricBorderToMonitorEdge(ElectricBorder border);
static ElectricBorder monitorEdgeToElectricBorder(int edge);
private:
QHash<ElectricBorder, int> m_reference; // reference settings
QHash<ElectricBorder, int> m_default; // default settings
};
} // namespace
#endif