X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtgui%2Fmainwin.h;h=60ffc1841dd3b101237d595d9d6fff13ca806303;hp=1b32cdd24d88fed9966e827123224161d954cf89;hb=f53a40aa9d3e0f2c1f15191b665780595d52348a;hpb=15ee1478137bc748e27b0b06537973d8df04b9d7 diff --git a/src/qtgui/mainwin.h b/src/qtgui/mainwin.h index 1b32cdd2..60ffc184 100644 --- a/src/qtgui/mainwin.h +++ b/src/qtgui/mainwin.h @@ -21,111 +21,78 @@ #ifndef _MAINWIN_H_ #define _MAINWIN_H_ -#include #include "ui_mainwin.h" -#include "global.h" -#include "message.h" -#include "chatwidget.h" +#include "qtgui.h" +#include "bufferviewfilter.h" class ServerListDlg; class CoreConnectDlg; -class BufferViewDock; class Buffer; -class BufferWidget; class SettingsDlg; +class QtGui; +class Message; -//!\brief The main window and central object of Quassel GUI. -/** In addition to displaying the main window including standard stuff like a menubar, - * dockwidgets and of course the chat window, this class also stores all data it - * receives from the core, and it maintains a list of all known nicks. - */ +//!\brief The main window of Quassel's QtGui. class MainWin : public QMainWindow { Q_OBJECT public: - MainWin(); - ~MainWin(); + MainWin(QtGui *gui, QWidget *parent = 0); + virtual ~MainWin(); void init(); - void registerBufferViewDock(BufferViewDock *); + void addBufferView(const QString &, QAbstractItemModel *, const BufferViewFilter::Modes &, const QStringList &); + + AbstractUiMsg *layoutMsg(const Message &); protected: void closeEvent(QCloseEvent *event); - signals: - //void sendInput(BufferId, QString message); - //void bufferSelected(Buffer *); - //void bufferUpdated(Buffer *); - //void bufferActivity(Buffer::ActivityLevel, Buffer *); - //void bufferDestroyed(Buffer *); - //void backlogReceived(Buffer *, QList); - //void requestBacklog(BufferId, QVariant, QVariant); - - void importOldBacklog(); + protected slots: + void connectedToCore(); + void disconnectedFromCore(); private slots: - - //void userInput(BufferId, QString); - //void networkConnected(QString); - //void networkDisconnected(QString); - //void recvNetworkState(QString, QVariant); - //void recvMessage(Message message); - //void recvStatusMsg(QString network, QString message); - //void setTopic(QString net, QString buf, QString); - //void addNick(QString net, QString nick, VarMap props); - //void removeNick(QString net, QString nick); - //void renameNick(QString net, QString oldnick, QString newnick); - //void updateNick(QString net, QString nick, VarMap props); - //void setOwnNick(QString net, QString nick); - //void recvBacklogData(BufferId, QList, bool); - //void updateBufferId(BufferId); void showServerList(); void showSettingsDlg(); + void showCoreConnectionDlg(bool autoConnect = false); + void coreConnectionDlgFinished(int result); void showBuffer(BufferId); void showBuffer(Buffer *); void importBacklog(); + signals: + void connectToCore(const VarMap &connInfo); + void disconnectFromCore(); + void requestBacklog(BufferId, QVariant, QVariant); + void importOldBacklog(); + private: Ui::MainWin ui; + QtGui *gui; void setupMenus(); void setupViews(); void setupSettingsDlg(); - //void syncToCore(); // implemented in main_mono.cpp or main_gui.cpp - //Buffer * getBuffer(QString net, QString buf); - //Buffer *getBuffer(BufferId); - //BufferId getStatusBufferId(QString net); - //BufferId getBufferId(QString net, QString buf); - //void buffersUpdated(); + + void enableMenus(); QSystemTrayIcon *systray; - //QWorkspace *workspace; - //QWidget *widget; - //BufferWidget *bufferWidget; ServerListDlg *serverListDlg; CoreConnectDlg *coreConnectDlg; SettingsDlg *settingsDlg; - //QString currentNetwork, currentBuffer; - //QHash > buffers; uint currentBuffer; - //QHash buffers; - //QHash bufferIds; - //QHash > nicks; - //QHash connected; - //QHash ownNick; - //QHash > coreBackLog; - //QList coreBuffers; - - QList netViews; - - //QTimer *layoutTimer; - //QList layoutQueue; + QString currentProfile; + + QList netViews; + + friend class QtGui; }; #endif