File indexing completed on 2024-05-26 04:50:02
0001 #include "formfactor.h" 0002 #include "formfactoradaptor.h" 0003 #include <QDBusInterface> 0004 #include <QMap> 0005 0006 #include "settingsstore.h" 0007 0008 FormFactor::FormFactor(QObject *parent) : QObject(parent) 0009 ,m_manager(new MauiMan::FormFactorInfo(this)) 0010 { 0011 qDebug("INIT FORMFACTOR MODULE"); 0012 new FormFactorAdaptor(this); 0013 if(!QDBusConnection::sessionBus().registerObject(QStringLiteral("/FormFactor"), this)) 0014 { 0015 qDebug() << "FAILED TO REGISTER FORMFACTOR DBUS OBJECT"; 0016 return; 0017 } 0018 0019 //grab default values 0020 m_defaultMode = m_manager->defaultMode(); 0021 m_bestMode = m_manager->bestMode(); 0022 0023 m_hasKeyboard = m_manager->hasKeyboard(); 0024 m_hasMouse = m_manager->hasMouse(); 0025 m_hasTouchpad = m_manager->hasTouchpad(); 0026 m_hasTouchscreen = m_manager->hasTouchscreen(); 0027 0028 connect(m_manager, &MauiMan::FormFactorManager::bestModeChanged, this, &FormFactor::setBestMode); 0029 connect(m_manager, &MauiMan::FormFactorManager::hasKeyboardChanged, this, &FormFactor::setHasKeyboard); 0030 connect(m_manager, &MauiMan::FormFactorManager::hasMouseChanged, this, &FormFactor::setHasMouse); 0031 connect(m_manager, &MauiMan::FormFactorManager::hasTouchpadChanged, this, &FormFactor::setHasTouchpad); 0032 connect(m_manager, &MauiMan::FormFactorManager::hasTouchscreenChanged, this, &FormFactor::setHasTouchscreen); 0033 0034 //grab user preferences 0035 MauiMan::SettingsStore settings; 0036 settings.beginModule(QStringLiteral("FormFactor")); 0037 m_preferredMode = settings.load(QStringLiteral("PreferredMode"), m_preferredMode).toUInt(); 0038 settings.endModule(); 0039 } 0040 0041 uint FormFactor::preferredMode() const 0042 { 0043 return m_preferredMode; 0044 } 0045 0046 uint FormFactor::bestMode() const 0047 { 0048 return m_bestMode; 0049 } 0050 0051 uint FormFactor::defaultMode() const 0052 { 0053 return m_defaultMode; 0054 } 0055 0056 bool FormFactor::hasKeyboard() const 0057 { 0058 return m_hasKeyboard; 0059 } 0060 0061 bool FormFactor::hasTouchscreen() const 0062 { 0063 return m_hasTouchscreen; 0064 } 0065 0066 bool FormFactor::hasMouse() const 0067 { 0068 return m_hasMouse; 0069 } 0070 0071 bool FormFactor::hasTouchpad() const 0072 { 0073 return m_hasTouchpad; 0074 } 0075 0076 void FormFactor::setPreferredMode(uint preferredMode) 0077 { 0078 if (m_preferredMode == preferredMode) 0079 return; 0080 0081 m_preferredMode = preferredMode; 0082 Q_EMIT preferredModeChanged(m_preferredMode); 0083 } 0084 0085 void FormFactor::setBestMode(uint bestMode) 0086 { 0087 if (m_bestMode == bestMode) 0088 return; 0089 0090 m_bestMode = bestMode; 0091 Q_EMIT bestModeChanged(m_bestMode); 0092 } 0093 0094 void FormFactor::setHasKeyboard(bool value) 0095 { 0096 if (m_hasKeyboard == value) 0097 return; 0098 0099 m_hasKeyboard = value; 0100 Q_EMIT hasKeyboardChanged(m_hasKeyboard); 0101 } 0102 0103 void FormFactor::setHasMouse(bool value) 0104 { 0105 if (m_hasMouse == value) 0106 return; 0107 0108 m_hasMouse = value; 0109 Q_EMIT hasMouseChanged(m_hasMouse); 0110 } 0111 0112 void FormFactor::setHasTouchpad(bool value) 0113 { 0114 if (m_hasTouchpad == value) 0115 return; 0116 0117 m_hasTouchpad = value; 0118 Q_EMIT hasTouchpadChanged(m_hasTouchpad); 0119 } 0120 0121 void FormFactor::setHasTouchscreen(bool value) 0122 { 0123 if (m_hasTouchscreen == value) 0124 return; 0125 0126 m_hasTouchscreen = value; 0127 Q_EMIT hasTouchscreenChanged(m_hasTouchscreen); 0128 } 0129 0130 bool FormFactor::hasTouchScreen() const 0131 { 0132 return m_hasTouchscreen; 0133 } 0134 0135 0136