Polish session list UI
[quassel.git] / src / qtui / coresessionwidget.cpp
index fa6d176..f3f987d 100644 (file)
@@ -28,27 +28,24 @@ CoreSessionWidget::CoreSessionWidget(QWidget *parent)
     : QWidget(parent)
 {
     ui.setupUi(this);
-    layout()->setContentsMargins(0, 0, 0, 0);
-    layout()->setSpacing(0);
     connect(ui.disconnectButton, SIGNAL(released()), this, SLOT(disconnectClicked()));
 }
 
 void CoreSessionWidget::setData(QMap<QString, QVariant> map)
 {
-    QLabel *iconSecure = ui.iconSecure;
-    // TODO: Implement "secure" icon
-    Q_UNUSED(iconSecure);
-
-    ui.labelRemoteAddress->setText(map["remoteAddress"].toString());
+    ui.sessionGroup->setTitle(map["remoteAddress"].toString());
     ui.labelLocation->setText(map["location"].toString());
     ui.labelClient->setText(map["clientVersion"].toString());
     ui.labelVersionDate->setText(map["clientVersionDate"].toString());
-    ui.labelUptime
-        ->setText(map["connectedSince"].toDateTime().toLocalTime().toString(Qt::DateFormat::SystemLocaleShortDate));
+    ui.labelUptime->setText(map["connectedSince"].toDateTime().toLocalTime().toString(Qt::DateFormat::SystemLocaleShortDate));
     if (map["location"].toString().isEmpty()) {
         ui.labelLocation->hide();
         ui.labelLocationTitle->hide();
     }
+    ui.labelSecure->setText(map["secure"].toBool() ? tr("Yes") : tr("No"));
+
+    auto features = Quassel::Features(map["features"].toInt());
+    ui.disconnectButton->setVisible(features.testFlag(Quassel::Feature::RemoteDisconnect));
 
     bool success = false;
     _peerId = map["id"].toInt(&success);