X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtgui%2Fmainwin.h;h=f5224492b163a6f24b3b4d6cafa9cd0df0114afa;hp=7876b50d902f8690119d5c275da58c15053689bb;hb=06a03c2c69ee934aaeec83512bae2fffee83a340;hpb=077d44f36d2f5c730283ef6be839aea7dd073d56 diff --git a/src/qtgui/mainwin.h b/src/qtgui/mainwin.h index 7876b50d..f5224492 100644 --- a/src/qtgui/mainwin.h +++ b/src/qtgui/mainwin.h @@ -21,111 +21,78 @@ #ifndef _MAINWIN_H_ #define _MAINWIN_H_ -#include -#include "gui/ui_mainwin.h" +#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 QVariantMap &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