#include "nickview.h"
#include "client.h"
#include "networkmodel.h"
-#include "nickmodel.h"
+#include "nickviewfilter.h"
NickListWidget::NickListWidget(QWidget *parent)
: QWidget(parent),
void NickListWidget::setCurrentBuffer(BufferId bufferId) {
QModelIndex bufferIdx = Client::networkModel()->bufferIndex(bufferId);
- if(bufferIdx.data(NetworkModel::BufferTypeRole) != BufferItem::ChannelType) {
+ if(bufferIdx.data(NetworkModel::BufferTypeRole) != BufferInfo::ChannelBuffer) {
ui.stackedWidget->setCurrentWidget(ui.emptyPage);
return;
}
ui.stackedWidget->setCurrentWidget(nickViews.value(bufferId));
} else {
NickView *view = new NickView(this);
- view->setModel(Client::nickModel());
- view->setRootIndex(Client::nickModel()->mapFromSource(bufferIdx));
+ NickViewFilter *filter = new NickViewFilter(Client::networkModel());
+ view->setModel(filter);
+ view->setRootIndex(filter->mapFromSource(bufferIdx));
nickViews[bufferId] = view;
ui.stackedWidget->addWidget(view);
ui.stackedWidget->setCurrentWidget(view);
ui.stackedWidget->removeWidget(view);
view->deleteLater();
}
+
+QSize NickListWidget::sizeHint() const {
+ QWidget *currentWidget = ui.stackedWidget->currentWidget();
+ if(!currentWidget || currentWidget == ui.emptyPage)
+ return QSize(100, height());
+ else
+ return currentWidget->sizeHint();
+}