00001 #ifndef PROGRESSWINDOW_H
00002 #define PROGRESSWINDOW_H
00003
00004 #include <gui/window.h>
00005 #include <gui/view.h>
00006 #include <gui/layoutview.h>
00007 #include <gui/button.h>
00008 #include <gui/image.h>
00009 #include <gui/listview.h>
00010 #include <gui/statusbar.h>
00011 #include <gui/toolbar.h>
00012 #include <util/resources.h>
00013 #include <util/application.h>
00014 #include <util/message.h>
00015
00016 #include "UpdateMsg.h"
00017 #include "mainwindow.h"
00018
00019 class AppSettings;
00020
00021 enum {
00022 M_RESUME = 1,
00023 M_PAUSE = 2,
00024 M_CANCEL = 3
00025 };
00026
00027
00028 enum {
00029 STATUS_INDEX = 0,
00030 SERVER_INDEX,
00031 FILE_INDEX,
00032 TRANSFERRED_INDEX,
00033 FILE_SIZE_INDEX,
00034 ID_INDEX
00035 };
00036
00043 class ProgressWindow : public os::Window
00044 {
00045 public:
00046 ProgressWindow(MainWindow *mainWindow, AppSettings* pcSettings);
00047 ~ProgressWindow();
00048 void HandleMessage( os::Message* );
00049 bool OkToQuit(void);
00050
00051 void SendPauseMessage( os::Message* pcMsg );
00052 void SendResumeMessage( os::Message* pcMsg );
00053 void SendCancelMessage( os::Message* pcMsg );
00054
00055 void OpenContextMenu( const Point& cPos, int nID );
00056
00057 private:
00058 void UpdateTransfers(Message *psUpdate);
00059
00060 os::VLayoutNode* m_pcRoot;
00061 os::StatusBar *m_pcStatusBar;
00062 os::ListView* m_pcListView;
00063
00064 MainWindow *m_pcMainWindow;
00065 AppSettings* m_pcSettings;
00066 };
00067
00068 #endif
00069
00070
00071