Changeset View
Changeset View
Standalone View
Standalone View
kcmkwin/kwincompositing/main.cpp
Show All 26 Lines | |||||
27 | #include <QLayout> | 27 | #include <QLayout> | ||
28 | 28 | | |||
29 | #include <kcmodule.h> | 29 | #include <kcmodule.h> | ||
30 | #include <kservice.h> | 30 | #include <kservice.h> | ||
31 | 31 | | |||
32 | #include <algorithm> | 32 | #include <algorithm> | ||
33 | #include <functional> | 33 | #include <functional> | ||
34 | 34 | | |||
35 | class KWinCompositingSettings : public KCModule | 35 | class KWinCompositingKCM : public KCModule | ||
36 | { | 36 | { | ||
37 | Q_OBJECT | 37 | Q_OBJECT | ||
38 | public: | 38 | public: | ||
39 | explicit KWinCompositingSettings(QWidget *parent = nullptr, const QVariantList &args = QVariantList()); | 39 | explicit KWinCompositingKCM(QWidget *parent = nullptr, const QVariantList &args = QVariantList()); | ||
40 | 40 | | |||
41 | public Q_SLOTS: | 41 | public Q_SLOTS: | ||
42 | void load() override; | 42 | void load() override; | ||
43 | void save() override; | 43 | void save() override; | ||
44 | void defaults() override; | 44 | void defaults() override; | ||
45 | 45 | | |||
46 | private: | 46 | private: | ||
47 | void init(); | 47 | void init(); | ||
48 | KWin::Compositing::Compositing *m_compositing; | 48 | KWin::Compositing::Compositing *m_compositing; | ||
49 | Ui_CompositingForm m_form; | 49 | Ui_CompositingForm m_form; | ||
50 | }; | 50 | }; | ||
51 | 51 | | |||
52 | static const QVector<qreal> s_animationMultipliers = {8, 4, 2, 1, 0.5, 0.25, 0.125, 0}; | 52 | static const QVector<qreal> s_animationMultipliers = {8, 4, 2, 1, 0.5, 0.25, 0.125, 0}; | ||
53 | 53 | | |||
54 | KWinCompositingSettings::KWinCompositingSettings(QWidget *parent, const QVariantList &args) | 54 | KWinCompositingKCM::KWinCompositingKCM(QWidget *parent, const QVariantList &args) | ||
55 | : KCModule(parent, args) | 55 | : KCModule(parent, args) | ||
56 | , m_compositing(new KWin::Compositing::Compositing(this)) | 56 | , m_compositing(new KWin::Compositing::Compositing(this)) | ||
57 | { | 57 | { | ||
58 | m_form.setupUi(this); | 58 | m_form.setupUi(this); | ||
59 | m_form.glCrashedWarning->setIcon(QIcon::fromTheme(QStringLiteral("dialog-warning"))); | 59 | m_form.glCrashedWarning->setIcon(QIcon::fromTheme(QStringLiteral("dialog-warning"))); | ||
60 | QAction *reenableGLAction = new QAction(i18n("Re-enable OpenGL detection"), this); | 60 | QAction *reenableGLAction = new QAction(i18n("Re-enable OpenGL detection"), this); | ||
61 | connect(reenableGLAction, &QAction::triggered, m_compositing, &KWin::Compositing::Compositing::reenableOpenGLDetection); | 61 | connect(reenableGLAction, &QAction::triggered, m_compositing, &KWin::Compositing::Compositing::reenableOpenGLDetection); | ||
62 | connect(reenableGLAction, &QAction::triggered, m_form.glCrashedWarning, &KMessageWidget::animatedHide); | 62 | connect(reenableGLAction, &QAction::triggered, m_form.glCrashedWarning, &KMessageWidget::animatedHide); | ||
63 | m_form.glCrashedWarning->addAction(reenableGLAction); | 63 | m_form.glCrashedWarning->addAction(reenableGLAction); | ||
64 | m_form.scaleWarning->setIcon(QIcon::fromTheme(QStringLiteral("dialog-warning"))); | 64 | m_form.scaleWarning->setIcon(QIcon::fromTheme(QStringLiteral("dialog-warning"))); | ||
65 | m_form.tearingWarning->setIcon(QIcon::fromTheme(QStringLiteral("dialog-warning"))); | 65 | m_form.tearingWarning->setIcon(QIcon::fromTheme(QStringLiteral("dialog-warning"))); | ||
66 | m_form.windowThumbnailWarning->setIcon(QIcon::fromTheme(QStringLiteral("dialog-warning"))); | 66 | m_form.windowThumbnailWarning->setIcon(QIcon::fromTheme(QStringLiteral("dialog-warning"))); | ||
67 | 67 | | |||
68 | m_form.compositingEnabled->setVisible(!m_compositing->compositingRequired()); | 68 | m_form.compositingEnabled->setVisible(!m_compositing->compositingRequired()); | ||
69 | m_form.windowsBlockCompositing->setVisible(!m_compositing->compositingRequired()); | 69 | m_form.windowsBlockCompositing->setVisible(!m_compositing->compositingRequired()); | ||
70 | 70 | | |||
71 | init(); | 71 | init(); | ||
72 | } | 72 | } | ||
73 | 73 | | |||
74 | void KWinCompositingSettings::init() | 74 | void KWinCompositingKCM::init() | ||
75 | { | 75 | { | ||
76 | using namespace KWin::Compositing; | 76 | using namespace KWin::Compositing; | ||
77 | auto currentIndexChangedSignal = static_cast<void(QComboBox::*)(int)>(&QComboBox::currentIndexChanged); | 77 | auto currentIndexChangedSignal = static_cast<void(QComboBox::*)(int)>(&QComboBox::currentIndexChanged); | ||
78 | 78 | | |||
79 | connect(m_compositing, &Compositing::changed, this, &KWinCompositingSettings::markAsChanged); | 79 | connect(m_compositing, &Compositing::changed, this, qOverload<bool>(&KCModule::changed)); | ||
80 | connect(m_compositing, &Compositing::defaulted, this, qOverload<bool>(&KCModule::defaulted)); | ||||
80 | 81 | | |||
81 | // enabled check box | 82 | // enabled check box | ||
82 | m_form.compositingEnabled->setChecked(m_compositing->compositingEnabled()); | 83 | m_form.compositingEnabled->setChecked(m_compositing->compositingEnabled()); | ||
83 | connect(m_compositing, &Compositing::compositingEnabledChanged, m_form.compositingEnabled, &QCheckBox::setChecked); | 84 | connect(m_compositing, &Compositing::compositingEnabledChanged, m_form.compositingEnabled, &QCheckBox::setChecked); | ||
84 | connect(m_form.compositingEnabled, &QCheckBox::toggled, m_compositing, &Compositing::setCompositingEnabled); | 85 | connect(m_form.compositingEnabled, &QCheckBox::toggled, m_compositing, &Compositing::setCompositingEnabled); | ||
85 | 86 | | |||
86 | // animation speed | 87 | // animation speed | ||
87 | m_form.animationSpeed->setMaximum(s_animationMultipliers.size() - 1); | 88 | m_form.animationSpeed->setMaximum(s_animationMultipliers.size() - 1); | ||
▲ Show 20 Lines • Show All 109 Lines • ▼ Show 20 Line(s) | 194 | connect(m_form.type, currentIndexChangedSignal, | |||
197 | } | 198 | } | ||
198 | ); | 199 | ); | ||
199 | 200 | | |||
200 | if (m_compositing->OpenGLIsUnsafe()) { | 201 | if (m_compositing->OpenGLIsUnsafe()) { | ||
201 | m_form.glCrashedWarning->animatedShow(); | 202 | m_form.glCrashedWarning->animatedShow(); | ||
202 | } | 203 | } | ||
203 | } | 204 | } | ||
204 | 205 | | |||
205 | void KWinCompositingSettings::load() | 206 | void KWinCompositingKCM::load() | ||
206 | { | 207 | { | ||
207 | KCModule::load(); | 208 | KCModule::load(); | ||
208 | m_compositing->reset(); | 209 | m_compositing->load(); | ||
209 | } | 210 | } | ||
210 | 211 | | |||
211 | void KWinCompositingSettings::defaults() | 212 | void KWinCompositingKCM::defaults() | ||
212 | { | 213 | { | ||
213 | KCModule::defaults(); | 214 | KCModule::defaults(); | ||
214 | m_compositing->defaults(); | 215 | m_compositing->defaults(); | ||
215 | } | 216 | } | ||
216 | 217 | | |||
217 | void KWinCompositingSettings::save() | 218 | void KWinCompositingKCM::save() | ||
218 | { | 219 | { | ||
219 | KCModule::save(); | 220 | KCModule::save(); | ||
220 | m_compositing->save(); | 221 | m_compositing->save(); | ||
221 | } | 222 | } | ||
222 | 223 | | |||
223 | K_PLUGIN_FACTORY(KWinCompositingConfigFactory, | 224 | K_PLUGIN_FACTORY(KWinCompositingConfigFactory, | ||
224 | registerPlugin<KWinCompositingSettings>("compositing"); | 225 | registerPlugin<KWinCompositingKCM>("compositing"); | ||
225 | ) | 226 | ) | ||
226 | 227 | | |||
227 | #include "main.moc" | 228 | #include "main.moc" |