X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fnicklistwidget.cpp;h=f90a10f80197effc4a520b3ff41cb2d56d3a2183;hb=80950b87640acfb2a75902f8aabf3419da094bf4;hp=1b4b73c2c9648097d26fa11b6c78761b88cc1f89;hpb=694f9bfbf7f1af19108461c7e00d133e55082bce;p=quassel.git diff --git a/src/qtui/nicklistwidget.cpp b/src/qtui/nicklistwidget.cpp index 1b4b73c2..f90a10f8 100644 --- a/src/qtui/nicklistwidget.cpp +++ b/src/qtui/nicklistwidget.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-09 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 * @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the * * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ #include "nicklistwidget.h" @@ -45,7 +45,7 @@ QDockWidget *NickListWidget::dock() const if (dock) return dock; else - return 0; + return nullptr; } @@ -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 ¤t, const QModelIndex &previous) { @@ -161,9 +174,9 @@ void NickListWidget::rowsAboutToBeRemoved(const QModelIndex &parent, int start, iter = nickViews.erase(iter); ui.stackedWidget->removeWidget(nickView); QAbstractItemModel *model = nickView->model(); - nickView->setModel(0); + nickView->setModel(nullptr); if (QSortFilterProxyModel *filter = qobject_cast(model)) - filter->setSourceModel(0); + filter->setSourceModel(nullptr); model->deleteLater(); nickView->deleteLater(); } @@ -175,7 +188,7 @@ void NickListWidget::rowsAboutToBeRemoved(const QModelIndex &parent, int start, if (!variant.isValid()) continue; - BufferId bufferId = qVariantValue(variant); + BufferId bufferId = variant.value(); removeBuffer(bufferId); } } @@ -190,9 +203,9 @@ void NickListWidget::removeBuffer(BufferId bufferId) NickView *view = nickViews.take(bufferId); ui.stackedWidget->removeWidget(view); QAbstractItemModel *model = view->model(); - view->setModel(0); + view->setModel(nullptr); if (QSortFilterProxyModel *filter = qobject_cast(model)) - filter->setSourceModel(0); + filter->setSourceModel(nullptr); model->deleteLater(); view->deleteLater(); } @@ -228,6 +241,14 @@ NickListDock::NickListDock(const QString &title, QWidget *parent) // } } +void NickListDock::setLocked(bool locked) { + if (locked) { + setFeatures(nullptr); + } + else { + setFeatures(QDockWidget::DockWidgetClosable | QDockWidget::DockWidgetMovable | QDockWidget::DockWidgetFloatable); + } +} // NickListDock::~NickListDock() { // QtUiSettings().setValue("ShowNickList", toggleViewAction()->isChecked());