kwin/kcmkwin/kwinoptions/windows.h
Cyril Rossi 99bed106bf KCM KWin Manage default Highlight indicator for settings not handled by KCModule
For the following KCM :
* KWin Options
* KWin Screen Edges
* KWin Tabbox

KCModule introduce an indicator to show which settings have changed from
default value. Unfortunately some KCM have settings' states which are not managed
automatically by the KCModule thus we have to handle it manually.

see https://invent.kde.org/frameworks/kconfigwidgets/-/merge_requests/9
2020-09-30 09:10:23 +02:00

127 lines
2.6 KiB
C++

/*
windows.h
SPDX-FileCopyrightText: 1997 Patrick Dowler <dowler@morgul.fsh.uvic.ca>
SPDX-FileCopyrightText: 2001 Waldo Bastian <bastian@kde.org>
SPDX-License-Identifier: GPL-2.0-or-later
*/
#ifndef KKWMWINDOWS_H
#define KKWMWINDOWS_H
#include <QWidget>
#include <kcmodule.h>
#include "ui_advanced.h"
#include "ui_focus.h"
#include "ui_moving.h"
class QRadioButton;
class QCheckBox;
class QPushButton;
class KComboBox;
class QGroupBox;
class QLabel;
class QSlider;
class QGroupBox;
class QSpinBox;
class KColorButton;
class KWinOptionsSettings;
class KWinOptionsKDEGlobalsSettings;
class KWinFocusConfigForm : public QWidget, public Ui::KWinFocusConfigForm
{
Q_OBJECT
public:
explicit KWinFocusConfigForm(QWidget* parent);
};
class KWinMovingConfigForm : public QWidget, public Ui::KWinMovingConfigForm
{
Q_OBJECT
public:
explicit KWinMovingConfigForm(QWidget* parent);
};
class KWinAdvancedConfigForm : public QWidget, public Ui::KWinAdvancedConfigForm
{
Q_OBJECT
public:
explicit KWinAdvancedConfigForm(QWidget* parent);
};
class KFocusConfig : public KCModule
{
Q_OBJECT
public:
KFocusConfig(bool _standAlone, KWinOptionsSettings *settings, QWidget *parent);
void load() override;
void save() override;
void defaults() override;
Q_SIGNALS:
void unmanagedWidgetDefaulted(bool defaulted);
void unmanagedWidgetStateChanged(bool changed);
protected:
void initialize(KWinOptionsSettings *settings);
void showEvent(QShowEvent *ev) override;
private Q_SLOTS:
void focusPolicyChanged();
void updateMultiScreen();
void updateDefaultIndicator();
private:
bool standAlone;
KWinFocusConfigForm *m_ui;
KWinOptionsSettings *m_settings;
};
class KMovingConfig : public KCModule
{
Q_OBJECT
public:
KMovingConfig(bool _standAlone, KWinOptionsSettings *settings, QWidget *parent);
void save() override;
protected:
void initialize(KWinOptionsSettings *settings);
void showEvent(QShowEvent *ev) override;
private:
KWinOptionsSettings *m_settings;
bool standAlone;
KWinMovingConfigForm *m_ui;
};
class KAdvancedConfig : public KCModule
{
Q_OBJECT
public:
KAdvancedConfig(bool _standAlone, KWinOptionsSettings *settings, KWinOptionsKDEGlobalsSettings *globalSettings, QWidget *parent);
void save() override;
protected:
void initialize(KWinOptionsSettings *settings, KWinOptionsKDEGlobalsSettings *globalSettings);
void showEvent(QShowEvent *ev) override;
private:
bool standAlone;
KWinAdvancedConfigForm *m_ui;
KWinOptionsSettings *m_settings;
};
#endif // KKWMWINDOWS_H