00001
00009 #ifndef ORG_PROGGEN_DEDUPE_GUI_QT
00010 #define ORG_PROGGEN_DEDUPE_GUI_QT
00011
00012
00013 #include "../../interface.h"
00014 #include <QtGui/QMainWindow>
00015
00016 class QPushButton;
00017 class QListWidget;
00018 class QGroupBox;
00019 class QTabWidget;
00020 class QMenuBar;
00021 class QEvent;
00022 class QCloseEvent;
00023
00024 namespace Dedupe
00025 {
00026 namespace GUI
00027 {
00028 class QtMain : public QMainWindow,
00029 public Main
00030 {
00031 Q_OBJECT
00032
00033 public:
00034 QtMain( int argc, char *argv[] );
00035 ~QtMain();
00036
00037
00038 virtual void TrackFile( const Dedupe::FileInfo & file );
00039 virtual void UntrackFile( const Dedupe::FileInfo & file );
00040 virtual void ClearTrackedFiles();
00041 virtual bool IsRecursive();
00042 virtual int exec();
00043
00044 protected:
00045 std::vector<Dedupe::FileInfo> GetFiles();
00046 std::vector<Dedupe::FileInfo> GetSelectedTrackedFiles();
00047
00048
00049 protected:
00050 void closeEvent( QCloseEvent *event );
00051 void changeEvent( QEvent *event );
00052
00053 protected slots:
00054 void quitEvent();
00055
00056 private:
00057 void updateWidgetLanguage();
00058 void createMenuBar();
00059 QPushButton *RefreshLeft, *RefreshRight, *Track,
00060 *Untrack, *RemoveKeepFlag;
00061 QListWidget *TrackedFiles, *FilesToKeep;
00062 QGroupBox *TrackedFilesBox, *FilesToKeepBox;
00063 QTabWidget *Tabs;
00064 QMenuBar *MenuBar;
00065
00066 private slots:
00067 void handleButtonClicked();
00068
00069 };
00070 }
00071 }
00072
00073 #endif