Ref T195, DBus address selector UI improved

* session bus can be disabled
* signal when edit is completed
This commit is contained in:
Klaus Basan
2017-11-19 23:22:24 +01:00
parent b438f2ea17
commit 6d4d71755c
2 changed files with 22 additions and 11 deletions

View File

@@ -32,9 +32,9 @@ namespace BlackGui
ui->setupUi(this);
// normally no system Bus on Windows
if (CBuildConfig::isRunningOnWindowsNtPlatform() && !sGui->isRunningInDeveloperEnvironment())
if (CBuildConfig::isRunningOnWindowsNtPlatform() || !sGui->isRunningInDeveloperEnvironment())
{
ui->rb_DBusSystem->setEnabled(false);
this->setSystemDBusVisible(false);
}
ui->cb_DBusServerAddress->addItems(CNetworkUtils::getKnownLocalIpV4Addresses());
@@ -45,7 +45,8 @@ namespace BlackGui
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->cb_DBusServerAddress, &QComboBox::currentTextChanged, this, &CDBusServerAddressSelector::p2pAddressChanged);
connect(ui->le_DBusServerPort, &QLineEdit::editingFinished, this, &CDBusServerAddressSelector::editingFinished);
connect(ui->cb_DBusServerAddress, &QComboBox::currentTextChanged, this, &CDBusServerAddressSelector::editingFinished);
}
CDBusServerAddressSelector::~CDBusServerAddressSelector()
@@ -105,16 +106,22 @@ namespace BlackGui
}
}
void CDBusServerAddressSelector::setSystemDBusVisible(bool visible)
{
const bool wasChecked = ui->rb_DBusSystem->isChecked();
ui->rb_DBusSystem->setVisible(visible);
if (!visible && wasChecked)
{
ui->rb_DBusSession->setChecked(true);
}
}
void CDBusServerAddressSelector::radioButtonReleased()
{
const bool p2p = this->isP2P();
ui->le_DBusServerPort->setEnabled(p2p);
ui->cb_DBusServerAddress->setEnabled(p2p);
}
void CDBusServerAddressSelector::p2pAddressChanged()
{
// void
emit this->editingFinished();
}
} // ns
} // ns

View File

@@ -48,14 +48,18 @@ namespace BlackGui
//! Set values
void set(const QString &dBus);
//! Set system DBus radio button visible/invisible
void setSystemDBusVisible(bool visible);
signals:
//! Is being edited
void editingFinished();
private:
QScopedPointer<Ui::CDBusServerAddressSelector> ui;
//! Radio button clicked
void radioButtonReleased();
//! P2P address changed
void p2pAddressChanged();
};
} // ns
} // ns