diff --git a/src/blackgui/components/dbusserveraddressselector.cpp b/src/blackgui/components/dbusserveraddressselector.cpp index eff815f8d..19a9cf0b3 100644 --- a/src/blackgui/components/dbusserveraddressselector.cpp +++ b/src/blackgui/components/dbusserveraddressselector.cpp @@ -38,9 +38,9 @@ namespace BlackGui this->set(sGui->getCmdDBusAddressValue()); ui->le_DBusServerPort->setValidator(new QIntValidator(0, 65535, this)); - connect(ui->rb_DBusP2P, &QRadioButton::released, this, &CDBusServerAddressSelector::radioButtonReleased); - connect(ui->rb_DBusSession, &QRadioButton::released, this, &CDBusServerAddressSelector::radioButtonReleased); - connect(ui->rb_DBusSystem, &QRadioButton::released, this, &CDBusServerAddressSelector::radioButtonReleased); + connect(ui->rb_DBusP2P, &QRadioButton::released, this, &CDBusServerAddressSelector::onRadioButtonReleased); + connect(ui->rb_DBusSession, &QRadioButton::released, this, &CDBusServerAddressSelector::onRadioButtonReleased); + connect(ui->rb_DBusSystem, &QRadioButton::released, this, &CDBusServerAddressSelector::onRadioButtonReleased); connect(ui->le_DBusServerPort, &QLineEdit::editingFinished, this, &CDBusServerAddressSelector::editingFinished); connect(ui->cb_DBusServerAddress, &QComboBox::currentTextChanged, this, &CDBusServerAddressSelector::editingFinished); } @@ -116,6 +116,7 @@ namespace BlackGui ui->le_DBusServerPort->setText(port); } } + this->onRadioButtonReleased(); } void CDBusServerAddressSelector::setSystemDBusVisible(bool visible) @@ -128,7 +129,19 @@ namespace BlackGui } } - void CDBusServerAddressSelector::radioButtonReleased() + void CDBusServerAddressSelector::setP2PDBusVisible(bool visible) + { + ui->rb_DBusP2P->setVisible(visible); + ui->fr_DBusServerAddress->setVisible(visible); + } + + void CDBusServerAddressSelector::setForXSwiftBus() + { + this->setP2PDBusVisible(true); + this->setSystemDBusVisible(false); + } + + void CDBusServerAddressSelector::onRadioButtonReleased() { const bool p2p = this->isP2P(); ui->le_DBusServerPort->setEnabled(p2p); diff --git a/src/blackgui/components/dbusserveraddressselector.h b/src/blackgui/components/dbusserveraddressselector.h index d67265024..40b9a89d1 100644 --- a/src/blackgui/components/dbusserveraddressselector.h +++ b/src/blackgui/components/dbusserveraddressselector.h @@ -54,6 +54,12 @@ namespace BlackGui //! Set system DBus radio button visible/invisible void setSystemDBusVisible(bool visible); + //! P2P visible + void setP2PDBusVisible(bool visible); + + //! Set to be used for XSwiftBus + void setForXSwiftBus(); + signals: //! Is being edited void editingFinished(); @@ -62,7 +68,7 @@ namespace BlackGui QScopedPointer ui; //! Radio button clicked - void radioButtonReleased(); + void onRadioButtonReleased(); }; } // ns } // ns diff --git a/src/blackgui/components/dbusserveraddressselector.ui b/src/blackgui/components/dbusserveraddressselector.ui index 165a66d8e..2f6a27ebc 100644 --- a/src/blackgui/components/dbusserveraddressselector.ui +++ b/src/blackgui/components/dbusserveraddressselector.ui @@ -2,6 +2,14 @@ CDBusServerAddressSelector + + + 0 + 0 + 149 + 118 + + Frame diff --git a/src/blackgui/components/installxswiftbuscomponent.h b/src/blackgui/components/installxswiftbuscomponent.h index b11bc7560..22a436d8b 100644 --- a/src/blackgui/components/installxswiftbuscomponent.h +++ b/src/blackgui/components/installxswiftbuscomponent.h @@ -49,6 +49,8 @@ namespace BlackGui void setDefaultDownloadName(const QString &defaultDownload); private: + static constexpr int OverlayMsgTimeoutMs = 5000; //!< how long overlay is displayed + QScopedPointer ui; BlackMisc::Simulation::Settings::CMultiSimulatorSettings m_simulatorSettings { this }; //!< for directories of XPlane BlackMisc::CDataReadOnly m_updates { this, &CInstallXSwiftBusComponent::updatesChanged }; @@ -56,8 +58,6 @@ namespace BlackGui const QFileDialog::Options m_fileDialogOptions { QFileDialog::ShowDirsOnly | QFileDialog::ReadOnly | QFileDialog::DontResolveSymlinks }; QString m_defaultDownloadName; //!< default name for download - static constexpr int OverlayMsgTimeoutMs = 5000; //!< how long overlay is displayed - //! Select X-Plane plugin directory void selectPluginDirectory(); diff --git a/src/blackgui/components/installxswiftbuscomponent.ui b/src/blackgui/components/installxswiftbuscomponent.ui index 0f6c7647e..c12730bfd 100644 --- a/src/blackgui/components/installxswiftbuscomponent.ui +++ b/src/blackgui/components/installxswiftbuscomponent.ui @@ -169,23 +169,17 @@ - XSwiftBusSettings + XSwiftBus settings - + 0 - 25 + 40 - - QFrame::StyledPanel - - - QFrame::Raised - @@ -214,6 +208,16 @@ 1 + + le_XSwiftBusPluginDir + tb_DialogInstallDir + pb_OpenInstallDir + le_DownloadDir + tb_DialogDownloadDir + pb_OpenDownloadDir + cb_DownloadFile + pb_Download + diff --git a/src/blackgui/components/settingsxswiftbuscomponent.cpp b/src/blackgui/components/settingsxswiftbuscomponent.cpp index 41d5ff12b..5f6e329c7 100644 --- a/src/blackgui/components/settingsxswiftbuscomponent.cpp +++ b/src/blackgui/components/settingsxswiftbuscomponent.cpp @@ -10,35 +10,54 @@ #include "settingsxswiftbuscomponent.h" #include "ui_settingsxswiftbuscomponent.h" #include "blackmisc/dbusserver.h" +#include "blackmisc/logmessage.h" #include using namespace BlackMisc; +using namespace BlackMisc::Simulation::Settings; namespace BlackGui { namespace Components { + const CLogCategoryList &CSettingsXSwiftBusComponent::getLogCategories() + { + static const CLogCategoryList cats { CLogCategory::guiComponent() }; + return cats; + } + CSettingsXSwiftBusComponent::CSettingsXSwiftBusComponent(QWidget *parent) : QFrame(parent), ui(new Ui::CSettingsXSwiftBusComponent) { ui->setupUi(this); - ui->cb_XSwiftBusServer->addItem(CDBusServer::sessionBusAddress()); - ui->cb_XSwiftBusServer->addItem(CDBusServer::systemBusAddress()); - ui->cb_XSwiftBusServer->setCurrentText(m_xSwiftBusServerSetting.getThreadLocal()); - connect(ui->cb_XSwiftBusServer, &QComboBox::currentTextChanged, this, &CSettingsXSwiftBusComponent::saveServer); + connect(ui->pb_Save, &QPushButton::released, this, &CSettingsXSwiftBusComponent::saveServer); + connect(ui->pb_Reset, &QPushButton::released, this, &CSettingsXSwiftBusComponent::resetServer); + + const QString dBusAddress = m_xSwiftBusServerSetting.get(); + ui->comp_DBusServer->setForXSwiftBus(); + ui->comp_DBusServer->set(dBusAddress); } CSettingsXSwiftBusComponent::~CSettingsXSwiftBusComponent() { } - void CSettingsXSwiftBusComponent::saveServer(const QString &dBusAddress) + void CSettingsXSwiftBusComponent::resetServer() { + const QString s = TXSwiftBusServer::defaultValue(); + ui->comp_DBusServer->set(s); + } + + void CSettingsXSwiftBusComponent::saveServer() + { + const QString dBusAddress = ui->comp_DBusServer->getDBusAddress(); + if (dBusAddress.isEmpty()) { return; } if (dBusAddress != m_xSwiftBusServerSetting.getThreadLocal()) { - m_xSwiftBusServerSetting.setAndSave(dBusAddress); + const CStatusMessage msg = m_xSwiftBusServerSetting.setAndSave(dBusAddress); + CLogMessage::preformatted(msg); } } } // ns diff --git a/src/blackgui/components/settingsxswiftbuscomponent.h b/src/blackgui/components/settingsxswiftbuscomponent.h index 30ad183ba..0bf0c5fd3 100644 --- a/src/blackgui/components/settingsxswiftbuscomponent.h +++ b/src/blackgui/components/settingsxswiftbuscomponent.h @@ -12,9 +12,10 @@ #ifndef BLACKGUI_COMPONENTS_SETTINGSXSWIFTBUSCOMPONENT_H #define BLACKGUI_COMPONENTS_SETTINGSXSWIFTBUSCOMPONENT_H +#include "blackgui/blackguiexport.h" #include "blackmisc/simulation/settings/xswiftbussettings.h" #include "blackmisc/settingscache.h" -#include "blackgui/blackguiexport.h" +#include "blackmisc/logcategorylist.h" #include #include @@ -31,6 +32,9 @@ namespace BlackGui Q_OBJECT public: + //! Log categories + static const BlackMisc::CLogCategoryList &getLogCategories(); + //! Constructor explicit CSettingsXSwiftBusComponent(QWidget *parent = nullptr); @@ -41,7 +45,8 @@ namespace BlackGui QScopedPointer ui; BlackMisc::CSetting m_xSwiftBusServerSetting { this }; - void saveServer(const QString &dBusAddress); + void resetServer(); + void saveServer(); }; } // ns } // ns diff --git a/src/blackgui/components/settingsxswiftbuscomponent.ui b/src/blackgui/components/settingsxswiftbuscomponent.ui index d503c1b06..0b9224970 100644 --- a/src/blackgui/components/settingsxswiftbuscomponent.ui +++ b/src/blackgui/components/settingsxswiftbuscomponent.ui @@ -6,38 +6,83 @@ 0 0 - 160 - 26 + 315 + 116 XSwiftBus settings - - - 2 - - - 2 - - - 2 - - - 2 - - - - - XSwiftBus server: + + + + + + 200 + 75 + + + + + 400 + 16777215 + - - + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + reset + + + + + + + save + + + + + + + + BlackGui::Components::CDBusServerAddressSelector + QFrame +
blackgui/components/dbusserveraddressselector.h
+ 1 +
+
+ + pb_Reset + pb_Save +
diff --git a/src/blackgui/share/qss/stdwidget.qss b/src/blackgui/share/qss/stdwidget.qss index bc1fe085b..47e424c6c 100644 --- a/src/blackgui/share/qss/stdwidget.qss +++ b/src/blackgui/share/qss/stdwidget.qss @@ -325,6 +325,11 @@ QLineEdit[readOnly="true"] { border: 1px solid rgba(50,50,50); } +QLineEdit:disabled { + background: rgba(40,40,40); + border: 1px solid rgba(50,50,50); +} + QTextEdit { border: 1px solid green; background: transparent; @@ -392,6 +397,11 @@ QComboBox { selection-background-color: #3f98ff; } +QComboBox:disabled { + background: rgba(40,40,40); + border: 1px solid rgba(50,50,50); +} + /* drop down list */ QComboBox QAbstractItemView { background-color: black;