X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fnicklistwidget.cpp;h=659838aaeb4d99c966c9a653059518637e95e9b6;hp=7d683e6a1854f37913ed3e1bf01faf06ee3c45e4;hb=c1cf157116de7fc3da96203aa6f03c38c7ebb650;hpb=30b159cb876a9495de42e9a3e70ca050516f0805 diff --git a/src/qtui/nicklistwidget.cpp b/src/qtui/nicklistwidget.cpp index 7d683e6a..659838aa 100644 --- a/src/qtui/nicklistwidget.cpp +++ b/src/qtui/nicklistwidget.cpp @@ -20,52 +20,48 @@ #include "nicklistwidget.h" -#include "nickview.h" +#include +#include +#include +#include + +#include "buffermodel.h" #include "client.h" #include "networkmodel.h" -#include "buffermodel.h" +#include "nickview.h" #include "nickviewfilter.h" #include "qtuisettings.h" -#include -#include -#include -#include - -NickListWidget::NickListWidget(QWidget *parent) +NickListWidget::NickListWidget(QWidget* parent) : AbstractItemView(parent) { ui.setupUi(this); } - -QDockWidget *NickListWidget::dock() const +QDockWidget* NickListWidget::dock() const { - auto *dock = qobject_cast(parent()); + auto* dock = qobject_cast(parent()); if (dock) return dock; else return nullptr; } - -void NickListWidget::hideEvent(QHideEvent *event) +void NickListWidget::hideEvent(QHideEvent* event) { emit nickSelectionChanged(QModelIndexList()); AbstractItemView::hideEvent(event); } - -void NickListWidget::showEvent(QShowEvent *event) +void NickListWidget::showEvent(QShowEvent* event) { - auto *view = qobject_cast(ui.stackedWidget->currentWidget()); + auto* view = qobject_cast(ui.stackedWidget->currentWidget()); if (view) emit nickSelectionChanged(view->selectedIndexes()); AbstractItemView::showEvent(event); } - void NickListWidget::showWidget(bool visible) { if (!selectionModel()) @@ -73,7 +69,7 @@ void NickListWidget::showWidget(bool visible) QModelIndex currentIndex = selectionModel()->currentIndex(); if (currentIndex.data(NetworkModel::BufferTypeRole) == BufferInfo::ChannelBuffer) { - QDockWidget *dock_ = dock(); + QDockWidget* dock_ = dock(); if (!dock_) return; @@ -87,7 +83,7 @@ void NickListWidget::showWidget(bool visible) void NickListWidget::setVisible(bool visible) { QWidget::setVisible(visible); - QDockWidget *dock_ = dock(); + QDockWidget* dock_ = dock(); if (!dock_) return; @@ -97,8 +93,7 @@ void NickListWidget::setVisible(bool visible) dock_->close(); } - -void NickListWidget::currentChanged(const QModelIndex ¤t, const QModelIndex &previous) +void NickListWidget::currentChanged(const QModelIndex& current, const QModelIndex& previous) { BufferInfo::Type bufferType = (BufferInfo::Type)current.data(NetworkModel::BufferTypeRole).toInt(); BufferId newBufferId = current.data(NetworkModel::BufferIdRole).value(); @@ -111,31 +106,31 @@ void NickListWidget::currentChanged(const QModelIndex ¤t, const QModelInde } // See NickListDock::NickListDock() below -// if(bufferType != BufferInfo::ChannelBuffer) { -// ui.stackedWidget->setCurrentWidget(ui.emptyPage); -// QDockWidget *dock_ = dock(); -// if(dock_) { -// dock_->close(); -// } -// return; -// } else { -// QDockWidget *dock_ = dock(); -// if(dock_ && dock_->toggleViewAction()->isChecked()) { -// dock_->show(); -// } -// } + // if(bufferType != BufferInfo::ChannelBuffer) { + // ui.stackedWidget->setCurrentWidget(ui.emptyPage); + // QDockWidget *dock_ = dock(); + // if(dock_) { + // dock_->close(); + // } + // return; + // } else { + // QDockWidget *dock_ = dock(); + // if(dock_ && dock_->toggleViewAction()->isChecked()) { + // dock_->show(); + // } + // } if (newBufferId == oldBufferId) return; - NickView *view; + NickView* view; if (nickViews.contains(newBufferId)) { view = nickViews.value(newBufferId); ui.stackedWidget->setCurrentWidget(view); } else { view = new NickView(this); - auto *filter = new NickViewFilter(newBufferId, Client::networkModel()); + auto* filter = new NickViewFilter(newBufferId, Client::networkModel()); view->setModel(filter); QModelIndex source_current = Client::bufferModel()->mapToSource(current); view->setRootIndex(filter->mapFromSource(source_current)); @@ -147,10 +142,9 @@ void NickListWidget::currentChanged(const QModelIndex ¤t, const QModelInde emit nickSelectionChanged(view->selectedIndexes()); } - void NickListWidget::onNickSelectionChanged() { - auto *view = qobject_cast(sender()); + auto* view = qobject_cast(sender()); Q_ASSERT(view); if (view != ui.stackedWidget->currentWidget()) { qDebug() << "Nick selection of hidden view changed!"; @@ -159,23 +153,22 @@ void NickListWidget::onNickSelectionChanged() emit nickSelectionChanged(view->selectedIndexes()); } - -void NickListWidget::rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end) +void NickListWidget::rowsAboutToBeRemoved(const QModelIndex& parent, int start, int end) { Q_ASSERT(model()); if (!parent.isValid()) { // ok this means that whole networks are about to be removed // we can't determine which buffers are affect, so we hope that all nets are removed // this is the most common case (for example disconnecting from the core or terminating the clint) - NickView *nickView; - QHash::iterator iter = nickViews.begin(); + NickView* nickView; + QHash::iterator iter = nickViews.begin(); while (iter != nickViews.end()) { nickView = *iter; iter = nickViews.erase(iter); ui.stackedWidget->removeWidget(nickView); - QAbstractItemModel *model = nickView->model(); + QAbstractItemModel* model = nickView->model(); nickView->setModel(nullptr); - if (auto *filter = qobject_cast(model)) + if (auto* filter = qobject_cast(model)) filter->setSourceModel(nullptr); model->deleteLater(); nickView->deleteLater(); @@ -194,54 +187,52 @@ void NickListWidget::rowsAboutToBeRemoved(const QModelIndex &parent, int start, } } - void NickListWidget::removeBuffer(BufferId bufferId) { if (!nickViews.contains(bufferId)) return; - NickView *view = nickViews.take(bufferId); + NickView* view = nickViews.take(bufferId); ui.stackedWidget->removeWidget(view); - QAbstractItemModel *model = view->model(); + QAbstractItemModel* model = view->model(); view->setModel(nullptr); - if (auto *filter = qobject_cast(model)) + if (auto* filter = qobject_cast(model)) filter->setSourceModel(nullptr); model->deleteLater(); view->deleteLater(); } - QSize NickListWidget::sizeHint() const { - QWidget *currentWidget = ui.stackedWidget->currentWidget(); + QWidget* currentWidget = ui.stackedWidget->currentWidget(); if (!currentWidget || currentWidget == ui.emptyPage) return {100, height()}; else return currentWidget->sizeHint(); } - // ============================== // NickList Dock // ============================== -NickListDock::NickListDock(const QString &title, QWidget *parent) +NickListDock::NickListDock(const QString& title, QWidget* parent) : QDockWidget(title, parent) { // THIS STUFF IS NEEDED FOR NICKLIST AUTOHIDE... // AS THIS BRINGS LOTS OF FUCKUPS WITH IT IT'S DEACTIVATED FOR NOW... -// QAction *toggleView = toggleViewAction(); -// disconnect(toggleView, SIGNAL(triggered(bool)), this, 0); -// toggleView->setChecked(QtUiSettings().value("ShowNickList", QVariant(true)).toBool()); + // QAction *toggleView = toggleViewAction(); + // disconnect(toggleView, SIGNAL(triggered(bool)), this, 0); + // toggleView->setChecked(QtUiSettings().value("ShowNickList", QVariant(true)).toBool()); -// // reconnecting the closebuttons clicked signal to the action -// foreach(QAbstractButton *button, findChildren()) { -// if(disconnect(button, SIGNAL(clicked()), this, SLOT(close()))) -// connect(button, SIGNAL(clicked()), toggleView, SLOT(trigger())); -// } + // // reconnecting the closebuttons clicked signal to the action + // foreach(QAbstractButton *button, findChildren()) { + // if(disconnect(button, SIGNAL(clicked()), this, SLOT(close()))) + // connect(button, SIGNAL(clicked()), toggleView, SLOT(trigger())); + // } } -void NickListDock::setLocked(bool locked) { +void NickListDock::setLocked(bool locked) +{ if (locked) { setFeatures(nullptr); }