00001 #ifndef GUIMAINWINDOW_H 00002 #define GUIMAINWINDOW_H 00003 00004 #include "communication.h" 00005 #include "GUITabList.h" 00006 #include "GUIChatTextInput.h" 00007 #include "GUIChatView.h" 00008 #include "GuiActiveUserList.h" 00009 #include "GUISettings.h" 00010 #include <QToolBar> 00011 #include <QVBoxLayout> 00012 #include <QHBoxLayout> 00013 #include <QAction> 00014 #include <QColor> 00015 #include <QPalette> 00016 #include <QCloseEvent> 00017 #include <QApplication> 00018 #include "GUIIncomingFileWindow.h" 00019 #include "GUIOutcommingFileWindow.h" 00020 00021 00026 class GUIMainWindow : public QWidget 00027 { 00028 Q_OBJECT 00029 00030 protected: 00031 Communication comm; 00032 QAction *connect_buton; 00033 QAction *close_active_tab_buton; 00034 GUIChatTextInput *ChatTextInput; 00035 GUITabList *TabList; 00036 GuiActiveUserList *UserList; 00037 GUISettings *Settings; 00038 GUIIncomingFileWindow incoming_file_window; 00039 GUIOutcommingFileWindow outcomming_file_window; 00040 bool is_file_outcoming; 00041 bool is_connect; 00043 QToolBar *MainToolBar, *TextToolBar; 00049 virtual void closeEvent(QCloseEvent *e); 00050 00051 public: 00057 GUIMainWindow(QWidget * parent, Qt::WFlags flags); 00058 00059 private: 00064 void createMainToolBar(QToolBar *tool_bar); 00069 QString time(); 00075 QString userName(QHostAddress host); 00076 00077 public slots: 00083 void pong(QHostAddress host, qint32 time); 00087 void connectChat (); 00091 void disconnectChat (); 00097 void privateChat (QHostAddress &host); 00103 void sendFile (QHostAddress &host); 00110 void acceptSendFile (QHostAddress host, QString file); 00117 void refuseSendFile (QHostAddress host, QString file); 00123 void transferEnd (QHostAddress host, bool czy_ok); 00129 void fileProgress (int procent); 00135 void checkIp (QHostAddress &host); 00141 void checkPing (QHostAddress &host); 00147 void recvPMsg (QHostAddress host, const QString msg); 00153 void recvBMsg (QHostAddress host, const QString msg); 00157 void sendMsg (); 00161 void cancelFileTransfer(); 00170 void incomingFile(QHostAddress host, QString msg, quint32 size); 00174 void tabCanNotBeClose(); 00178 void tabCanBeClose(); 00182 void isOnline(); 00186 void isNotOnline(); 00190 void connected(); 00194 void unableConnect(); 00200 void setUserOnline(QHostAddress host, QString msg); 00205 void invalidNick(); 00206 00207 private slots: 00211 void configureChat(); 00215 void clearActiveChatPage(); 00220 void setApperance(); 00224 void about(); 00225 00226 }; 00227 00228 #endif