File indexing completed on 2024-06-16 05:08:58

0001 /*
0002     SPDX-FileCopyrightText: 2018 Roman Gilg <subdiff@gmail.com>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include "configplugin.h"
0008 #include "configcontainer.h"
0009 #include "inputbackend.h"
0010 
0011 #include "libinput/libinput_config.h"
0012 
0013 #include <config-build-options.h>
0014 
0015 #include <logging.h>
0016 
0017 ConfigPlugin *ConfigPlugin::implementation(ConfigContainer *parent)
0018 {
0019     InputBackend *backend = InputBackend::implementation(parent);
0020 
0021     if (!backend) {
0022         qCCritical(KCM_MOUSE) << "Not able to select appropriate backend.";
0023         return nullptr;
0024     }
0025 
0026     InputBackendMode mode = backend->mode();
0027 
0028 #if BUILD_KCM_MOUSE_KWIN_WAYLAND
0029     if (mode == InputBackendMode::KWinWayland) {
0030         qCDebug(KCM_MOUSE) << "With libinput user interface.";
0031         return new LibinputConfig(parent, backend);
0032     }
0033 #endif
0034 #if BUILD_KCM_MOUSE_X11
0035     if (mode == InputBackendMode::XLibinput) {
0036         qCDebug(KCM_MOUSE) << "With libinput user interface.";
0037         return new LibinputConfig(parent, backend);
0038     }
0039 #endif
0040     return nullptr;
0041 }
0042 
0043 ConfigPlugin::ConfigPlugin(ConfigContainer *parent)
0044     : QWidget(parent->widget())
0045     , m_parent(parent)
0046 {
0047 }