From 3698127bc625ce344fe253b44747a43f6ce90495 Mon Sep 17 00:00:00 2001 From: Vlad Zahorodnii Date: Wed, 21 Jun 2023 12:03:49 +0300 Subject: [PATCH] Drop InputConfig The InputConfig was introduced to handle tests that don't have valid kwinApp object. Those tests have been either reworked or dropped, so let's drop the InputConfig to tidy the config stuff. --- .../integration/keyboard_layout_test.cpp | 3 ++- src/cursor.cpp | 19 ++--------------- src/cursor.h | 21 ------------------- src/effects.cpp | 2 +- src/input.cpp | 4 ++-- src/keyboard_input.cpp | 4 ++-- src/main.cpp | 3 +++ src/main.h | 10 +++++++++ 8 files changed, 22 insertions(+), 44 deletions(-) diff --git a/autotests/integration/keyboard_layout_test.cpp b/autotests/integration/keyboard_layout_test.cpp index 4448502c95..6b832b0010 100644 --- a/autotests/integration/keyboard_layout_test.cpp +++ b/autotests/integration/keyboard_layout_test.cpp @@ -139,6 +139,7 @@ void KeyboardLayoutTest::initTestCase() kwinApp()->setConfig(KSharedConfig::openConfig(QString(), KConfig::SimpleConfig)); kwinApp()->setKxkbConfig(KSharedConfig::openConfig(QString(), KConfig::SimpleConfig)); + kwinApp()->setInputConfig(KSharedConfig::openConfig(QString(), KConfig::SimpleConfig)); layoutGroup = kwinApp()->kxkbConfig()->group("Layout"); layoutGroup.deleteGroup(); @@ -531,7 +532,7 @@ void KeyboardLayoutTest::testNumLock() QVERIFY(!xkb->leds().testFlag(LED::NumLock)); // let's reconfigure to enable through config - auto group = InputConfig::self()->inputConfig()->group("Keyboard"); + auto group = kwinApp()->inputConfig()->group("Keyboard"); group.writeEntry("NumLock", 0); group.sync(); xkb->reconfigure(); diff --git a/src/cursor.cpp b/src/cursor.cpp index fa3ef41664..9c30b560cc 100644 --- a/src/cursor.cpp +++ b/src/cursor.cpp @@ -142,7 +142,7 @@ void Cursor::loadThemeSettings() void Cursor::loadThemeFromKConfig() { - KConfigGroup mousecfg(InputConfig::self()->inputConfig(), "Mouse"); + KConfigGroup mousecfg(kwinApp()->inputConfig(), "Mouse"); const QString themeName = mousecfg.readEntry("cursorTheme", defaultThemeName()); const uint themeSize = mousecfg.readEntry("cursorSize", defaultThemeSize()); updateTheme(themeName, themeSize); @@ -160,9 +160,8 @@ void Cursor::updateTheme(const QString &name, int size) void Cursor::slotKGlobalSettingsNotifyChange(int type, int arg) { - // #endif if (type == 5 /*CursorChanged*/) { - InputConfig::self()->inputConfig()->reparseConfiguration(); + kwinApp()->inputConfig()->reparseConfiguration(); loadThemeFromKConfig(); } } @@ -697,18 +696,4 @@ void Cursor::setSource(CursorSource *source) Q_EMIT cursorChanged(); } -InputConfig *InputConfig::s_self = nullptr; -InputConfig *InputConfig::self() -{ - if (!s_self) { - s_self = new InputConfig; - } - return s_self; -} - -InputConfig::InputConfig() - : m_inputConfig(KSharedConfig::openConfig(QStringLiteral("kcminputrc"), KConfig::NoGlobals)) -{ -} - } // namespace diff --git a/src/cursor.h b/src/cursor.h index a2de789495..507ccd4ccc 100644 --- a/src/cursor.h +++ b/src/cursor.h @@ -308,27 +308,6 @@ private: int m_cursorHideCounter = 0; }; -class KWIN_EXPORT InputConfig -{ -public: - KSharedConfigPtr inputConfig() const - { - return m_inputConfig; - } - void setInputConfig(KSharedConfigPtr config) - { - m_inputConfig = std::move(config); - } - - static InputConfig *self(); - -private: - InputConfig(); - - KSharedConfigPtr m_inputConfig; - static InputConfig *s_self; -}; - inline const QPointF &Cursor::currentPos() const { return m_pos; diff --git a/src/effects.cpp b/src/effects.cpp index eeddf98e25..099cc476db 100644 --- a/src/effects.cpp +++ b/src/effects.cpp @@ -1582,7 +1582,7 @@ KSharedConfigPtr EffectsHandlerImpl::config() const KSharedConfigPtr EffectsHandlerImpl::inputConfig() const { - return InputConfig::self()->inputConfig(); + return kwinApp()->inputConfig(); } Effect *EffectsHandlerImpl::findEffect(const QString &name) const diff --git a/src/input.cpp b/src/input.cpp index 5afcea64b6..9ee2faaf6a 100644 --- a/src/input.cpp +++ b/src/input.cpp @@ -2640,7 +2640,7 @@ void InputRedirection::uninstallInputEventSpy(InputEventSpy *spy) void InputRedirection::init() { - m_inputConfigWatcher = KConfigWatcher::create(InputConfig::self()->inputConfig()); + m_inputConfigWatcher = KConfigWatcher::create(kwinApp()->inputConfig()); connect(m_inputConfigWatcher.data(), &KConfigWatcher::configChanged, this, &InputRedirection::handleInputConfigChanged); @@ -3066,7 +3066,7 @@ void InputRedirection::addInputBackend(std::unique_ptr &&inputBack connect(inputBackend.get(), &InputBackend::deviceAdded, this, &InputRedirection::addInputDevice); connect(inputBackend.get(), &InputBackend::deviceRemoved, this, &InputRedirection::removeInputDevice); - inputBackend->setConfig(InputConfig::self()->inputConfig()); + inputBackend->setConfig(kwinApp()->inputConfig()); inputBackend->initialize(); m_inputBackends.push_back(std::move(inputBackend)); diff --git a/src/keyboard_input.cpp b/src/keyboard_input.cpp index cd15c5070a..0bef888a23 100644 --- a/src/keyboard_input.cpp +++ b/src/keyboard_input.cpp @@ -117,7 +117,7 @@ void KeyboardInputRedirection::init() Q_ASSERT(!m_inited); m_inited = true; const auto config = kwinApp()->kxkbConfig(); - m_xkb->setNumLockConfig(InputConfig::self()->inputConfig()); + m_xkb->setNumLockConfig(kwinApp()->inputConfig()); m_xkb->setConfig(config); // Workaround for QTBUG-54371: if there is no real keyboard Qt doesn't request virtual keyboard @@ -171,7 +171,7 @@ void KeyboardInputRedirection::reconfigure() return; } if (waylandServer()->seat()->keyboard()) { - const auto config = InputConfig::self()->inputConfig()->group(QStringLiteral("Keyboard")); + const auto config = kwinApp()->inputConfig()->group(QStringLiteral("Keyboard")); const int delay = config.readEntry("RepeatDelay", 660); const int rate = std::ceil(config.readEntry("RepeatRate", 25.0)); const QString repeatMode = config.readEntry("KeyRepeat", "repeat"); diff --git a/src/main.cpp b/src/main.cpp index 528d836f6f..d6b161913a 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -128,6 +128,9 @@ void Application::start() if (!m_kxkbConfig) { m_kxkbConfig = KSharedConfig::openConfig(QStringLiteral("kxkbrc"), KConfig::NoGlobals); } + if (!m_inputConfig) { + m_inputConfig = KSharedConfig::openConfig(QStringLiteral("kcminputrc"), KConfig::NoGlobals); + } performStartup(); } diff --git a/src/main.h b/src/main.h index b612b756eb..fbc2058869 100644 --- a/src/main.h +++ b/src/main.h @@ -116,6 +116,15 @@ public: m_kxkbConfig = std::move(config); } + KSharedConfigPtr inputConfig() const + { + return m_inputConfig; + } + void setInputConfig(KSharedConfigPtr config) + { + m_inputConfig = std::move(config); + } + void start(); /** * @brief The operation mode used by KWin. @@ -354,6 +363,7 @@ private: bool m_configLock; KSharedConfigPtr m_config; KSharedConfigPtr m_kxkbConfig; + KSharedConfigPtr m_inputConfig; OperationMode m_operationMode; xcb_timestamp_t m_x11Time = XCB_TIME_CURRENT_TIME; xcb_window_t m_rootWindow = XCB_WINDOW_NONE;