qtui: Clean up SystemTray
[quassel.git] / src / qtui / nicklistwidget.cpp
index 0b67a9e..dace390 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-2012 by the Quassel Project                        *
+ *   Copyright (C) 2005-2018 by the Quassel Project                        *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
@@ -84,6 +84,19 @@ void NickListWidget::showWidget(bool visible)
     }
 }
 
+void NickListWidget::setVisible(bool visible)
+{
+    QWidget::setVisible(visible);
+    QDockWidget *dock_ = dock();
+    if (!dock_)
+        return;
+
+    if (visible)
+        dock_->show();
+    else
+        dock_->close();
+}
+
 
 void NickListWidget::currentChanged(const QModelIndex &current, const QModelIndex &previous)
 {
@@ -175,7 +188,7 @@ void NickListWidget::rowsAboutToBeRemoved(const QModelIndex &parent, int start,
             if (!variant.isValid())
                 continue;
 
-            BufferId bufferId = qVariantValue<BufferId>(variant);
+            BufferId bufferId = variant.value<BufferId>();
             removeBuffer(bufferId);
         }
     }
@@ -228,6 +241,14 @@ NickListDock::NickListDock(const QString &title, QWidget *parent)
 //   }
 }
 
+void NickListDock::setLocked(bool locked) {
+    if (locked) {
+        setFeatures(0);
+    }
+    else {
+        setFeatures(QDockWidget::DockWidgetClosable | QDockWidget::DockWidgetMovable | QDockWidget::DockWidgetFloatable);
+    }
+}
 
 // NickListDock::~NickListDock() {
 //   QtUiSettings().setValue("ShowNickList", toggleViewAction()->isChecked());