X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fqtui%2Fnicklistwidget.cpp;h=f90a10f80197effc4a520b3ff41cb2d56d3a2183;hb=158443f71d48215eea8b47b836b61afd77654b78;hp=674e89d1a32d1b6d9fd56e78ac77acb9923ecc43;hpb=76db8cdfbeffaaba359c8e80cf2146da9e9e7f8a;p=quassel.git diff --git a/src/qtui/nicklistwidget.cpp b/src/qtui/nicklistwidget.cpp index 674e89d1..f90a10f8 100644 --- a/src/qtui/nicklistwidget.cpp +++ b/src/qtui/nicklistwidget.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2013 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 * @@ -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());