X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=gui%2Fmainwin.cpp;h=2b63b17897b9fb6c63fa34db20d739dbf6dcfd97;hp=ce57a9971f5a249bf5bf99822cb32d95b782f8e4;hb=b27b03c4239150189b7ae8963ca2e8c9b1a0ce4a;hpb=6f8bb3747b3b7a4cc07a3bb9717e1222850adcfa diff --git a/gui/mainwin.cpp b/gui/mainwin.cpp index ce57a997..2b63b178 100644 --- a/gui/mainwin.cpp +++ b/gui/mainwin.cpp @@ -29,7 +29,7 @@ #include "mainwin.h" #include "buffer.h" -#include "networkview.h" +#include "bufferviewwidget.h" #include "serverlist.h" #include "coreconnectdlg.h" #include "settingsdlg.h" @@ -40,7 +40,7 @@ LayoutThread *layoutThread; MainWin::MainWin() : QMainWindow() { ui.setupUi(this); //widget = 0; - qDebug() << "Available DB drivers: " << QSqlDatabase::drivers (); + //qDebug() << "Available DB drivers: " << QSqlDatabase::drivers (); setWindowTitle("Quassel IRC"); //setWindowTitle("Κυασελ Εγαρζη"); setWindowIcon(QIcon(":/qirc-icon.png")); @@ -153,32 +153,41 @@ void MainWin::setupMenus() { } void MainWin::setupViews() { - NetworkView *all = new NetworkView(tr("All Buffers"), NetworkView::AllNets); - registerNetView(all); - addDockWidget(Qt::LeftDockWidgetArea, all); - NetworkView *allchans = new NetworkView(tr("All Channels"), NetworkView::AllNets|NetworkView::NoQueries|NetworkView::NoServers); - registerNetView(allchans); - addDockWidget(Qt::LeftDockWidgetArea, allchans); - NetworkView *allqrys = new NetworkView(tr("All Queries"), NetworkView::AllNets|NetworkView::NoChannels|NetworkView::NoServers); - registerNetView(allqrys); - addDockWidget(Qt::RightDockWidgetArea, allqrys); - NetworkView *allnets = new NetworkView(tr("All Networks"), NetworkView::AllNets|NetworkView::NoChannels|NetworkView::NoQueries); - registerNetView(allnets); - addDockWidget(Qt::RightDockWidgetArea, allnets); + BufferTreeModel *model = new BufferTreeModel(this); // FIXME Where is the delete for that? :p + connect(model, SIGNAL(bufferSelected(Buffer *)), this, SLOT(showBuffer(Buffer *))); + connect(this, SIGNAL(bufferSelected(Buffer *)), model, SLOT(selectBuffer(Buffer *))); + connect(this, SIGNAL(bufferUpdated(Buffer *)), model, SLOT(bufferUpdated(Buffer *))); + connect(this, SIGNAL(bufferActivity(Buffer::ActivityLevel, Buffer *)), model, SLOT(bufferActivity(Buffer::ActivityLevel, Buffer *))); + + BufferViewDock *all = new BufferViewDock(model, tr("All Buffers"), BufferViewFilter::AllNets); + registerBufferViewDock(all); + + BufferViewDock *allchans = new BufferViewDock(model, tr("All Channels"), BufferViewFilter::AllNets|BufferViewFilter::NoQueries|BufferViewFilter::NoServers); + registerBufferViewDock(allchans); + + BufferViewDock *allqrys = new BufferViewDock(model, tr("All Queries"), BufferViewFilter::AllNets|BufferViewFilter::NoChannels|BufferViewFilter::NoServers); + registerBufferViewDock(allqrys); + + + BufferViewDock *allnets = new BufferViewDock(model, tr("All Networks"), BufferViewFilter::AllNets|BufferViewFilter::NoChannels|BufferViewFilter::NoQueries); + registerBufferViewDock(allnets); + ui.menuViews->addSeparator(); } -void MainWin::registerNetView(NetworkView *view) { +void MainWin::registerBufferViewDock(BufferViewDock *dock) { + addDockWidget(Qt::LeftDockWidgetArea, dock); + dock->setAllowedAreas(Qt::RightDockWidgetArea|Qt::LeftDockWidgetArea); + netViews.append(dock); + ui.menuViews->addAction(dock->toggleViewAction()); + + /* connect(this, SIGNAL(bufferSelected(Buffer *)), view, SLOT(selectBuffer(Buffer *))); - connect(this, SIGNAL(bufferUpdated(Buffer *)), view, SLOT(bufferUpdated(Buffer *))); - connect(this, SIGNAL(bufferActivity(uint, Buffer *)), view, SLOT(bufferActivity(uint, Buffer *))); connect(this, SIGNAL(bufferDestroyed(Buffer *)), view, SLOT(bufferDestroyed(Buffer *))); connect(view, SIGNAL(bufferSelected(Buffer *)), this, SLOT(showBuffer(Buffer *))); view->setBuffers(buffers.values()); - view->setAllowedAreas(Qt::RightDockWidgetArea|Qt::LeftDockWidgetArea); - netViews.append(view); - ui.menuViews->addAction(view->toggleViewAction()); + */ } void MainWin::showServerList() { @@ -228,10 +237,10 @@ void MainWin::showBuffer(Buffer *b) { void MainWin::networkConnected(QString net) { connected[net] = true; - //BufferId id = getStatusBufferId(net); - //Buffer *b = getBuffer(id); - //b->setActive(true); - //b->displayMsg(Message(id, Message::Server, tr("Connected."))); FIXME + BufferId id = getStatusBufferId(net); + Buffer *b = getBuffer(id); + b->setActive(true); + //b->displayMsg(Message(id, Message::Server, tr("Connected."))); // TODO buffersUpdated(); } @@ -305,17 +314,19 @@ void MainWin::recvMessage(Message msg) { b = getBuffer(net, msg.target); } */ + + Buffer *b = getBuffer(msg.buffer); - uint level = NetworkView::OtherActivity; + Buffer::ActivityLevel level = Buffer::OtherActivity; if(msg.type == Message::Plain or msg.type == Message::Notice){ - level |= NetworkView::NewMessage; + level |= Buffer::NewMessage; } if(msg.flags & Message::Highlight){ - level |= NetworkView::Highlight; + level |= Buffer::Highlight; } - emit bufferActivity(level, b); + //b->displayMsg(msg); b->appendChatLine(new ChatLine(msg)); }