summaryrefslogtreecommitdiffstats
path: root/src/gui/clientConfigDialog.cpp
diff options
context:
space:
mode:
authorFabian Schillinger2010-11-01 17:35:27 +0100
committerFabian Schillinger2010-11-01 17:35:27 +0100
commitea3fb17345e5f82db9f2e98a8062e95797700ace (patch)
tree1da0d1a8ec9455364386af78762d0f6fed187824 /src/gui/clientConfigDialog.cpp
parentProcess start/stop/view functionality (diff)
parent[PVSGUI] No X required for --help and --version (diff)
downloadpvs-ea3fb17345e5f82db9f2e98a8062e95797700ace.tar.gz
pvs-ea3fb17345e5f82db9f2e98a8062e95797700ace.tar.xz
pvs-ea3fb17345e5f82db9f2e98a8062e95797700ace.zip
Merge branch 'master' of openslx.org:pvs
Conflicts: CMakeLists.txt src/core/pvsConnectionManager.cpp src/pvs.cpp src/pvs.h
Diffstat (limited to 'src/gui/clientConfigDialog.cpp')
-rw-r--r--src/gui/clientConfigDialog.cpp28
1 files changed, 24 insertions, 4 deletions
diff --git a/src/gui/clientConfigDialog.cpp b/src/gui/clientConfigDialog.cpp
index 0ee5908..b7ba407 100644
--- a/src/gui/clientConfigDialog.cpp
+++ b/src/gui/clientConfigDialog.cpp
@@ -16,20 +16,33 @@
# -----------------------------------------------------------------------------
*/
+#include <QtDebug>
+#include <QNetworkInterface>
+#include <QStandardItemModel>
#include "clientConfigDialog.h"
+#include <cerrno>
+#include <cstdlib>
+#include <cstring>
+#include <src/net/pvsNetworkInterfaceListModel.h>
+
+using namespace std;
ClientConfigDialog::ClientConfigDialog(QWidget *parent) :
- QDialog(parent)
+ QDialog(parent),
+ _interfaceListModel(0)
{
setupUi(this);
connect(this, SIGNAL(accepted()), this, SLOT(writeSettings()));
connect(radioButtonOtherRO, SIGNAL(clicked()), this,
SLOT(checkPermissions()));
+ _interfaceListModel = new PVSNetworkInterfaceListModel(this);
+ interfaceList->setModel(_interfaceListModel);
+ interfaceList->setModelColumn(0);
+ connect(reloadInterfaceListButton, SIGNAL(clicked()), _interfaceListModel, SLOT(reloadInterfaceList()));
// connect to D-Bus and get interface
QDBusConnection dbus = QDBusConnection::sessionBus();
_ifaceDBus = new OrgOpenslxPvsInterface("org.openslx.pvs", "/", dbus, this);
-
}
ClientConfigDialog::~ClientConfigDialog()
@@ -53,7 +66,14 @@ void ClientConfigDialog::readSettings()
else
comboBox->setCurrentIndex(_settings.value("Display/location").toInt());
- QDBusPendingReply<QString> reply = _ifaceDBus->getConfigValue("Permissions/vnc_lecturer");
+ QDBusPendingReply<QString> reply = _ifaceDBus->getConfigValue("multicast/interface");
+ reply.waitForFinished();
+ if (reply.isValid())
+ {
+ interfaceList->setEditText(reply.value());
+ }
+
+ reply = _ifaceDBus->getConfigValue("Permissions/vnc_lecturer");
reply.waitForFinished();
if (reply.isValid())
{
@@ -86,7 +106,6 @@ void ClientConfigDialog::readSettings()
reply.waitForFinished();
if (reply.isValid())
checkBoxAllowFiletransfer->setChecked(reply.value() == "T");
-
}
void ClientConfigDialog::writeSettings()
@@ -110,6 +129,7 @@ void ClientConfigDialog::writeSettings()
QString(checkBoxAllowChat->isChecked() ? "T" : "F"));
_ifaceDBus->setConfigValue("Permissions/allow_filetransfer",
QString(checkBoxAllowFiletransfer->isChecked() ? "T" : "F"));
+ _ifaceDBus->setConfigValue("multicast/interface", interfaceList->currentText());
_settings.sync();
emit configChanged();