X-Git-Url: http://git.maemo.org/git/?p=qtrapids;a=blobdiff_plain;f=src%2Fgui%2FMainWindow.h;h=4094a50a6e350535c5c233843565a352a2ca623c;hp=59b472f0c7f4b46d8f937f55b40e8a430fb355ae;hb=5032546701da06d7307fc543d74be93e5319c350;hpb=033e50732cef6dd961ac23dcd6371c873114ebe9 diff --git a/src/gui/MainWindow.h b/src/gui/MainWindow.h index 59b472f..4094a50 100644 --- a/src/gui/MainWindow.h +++ b/src/gui/MainWindow.h @@ -21,28 +21,72 @@ #define MAINWINDOW_H #include +#include +#include +#include +#include "PluginInterface.h" +#include "QBittorrentSession.h" class QTabWidget; +class DownloadView; +class SeedView; +class PreferencesDialog; /** @author Lassi Väätämöinen */ -class MainWindow : public QMainWindow { +class MainWindow : public QMainWindow, public qtrapids::PluginHostInterface { Q_OBJECT public: MainWindow(); - ~MainWindow(); + virtual ~MainWindow(); + + // Implemented from PluginHostInterface + virtual bool setGui(QWidget* widget, PluginWidgetType type = UNKNOWN_TYPE); + virtual void addPluginWidget(QWidget* widget, PluginWidgetType type = UNKNOWN_TYPE); + virtual void addToolbar(QWidget* widget, PluginWidgetType type = UNKNOWN_TYPE); + virtual void addToolItem(QWidget* widget, PluginWidgetType type = UNKNOWN_TYPE); + virtual void addMenu(QWidget* widget, PluginWidgetType type = UNKNOWN_TYPE); + virtual void addMenuItem(QWidget* widget, PluginWidgetType type = UNKNOWN_TYPE); + virtual bool eventRequest(QVariant param, PluginRequest req = UNKNOWN_REQUEST); + + signals: + void itemSelected(bool enabled); public slots: private slots: + void on_openAction_clicked(); + void on_removeAction_clicked(); + void on_quitAction_clicked(); + void on_preferencesAction_clicked(); + void on_aboutAction_clicked(); + void on_aboutQtAction_clicked(); + void on_downloadItemSelectionChanged(); + void on_seedItemSelectionChanged(); + void handleToolBarAction(QAction* action); + void on_torrentFileSelected(const QString& file); + void on_alert(std::auto_ptr al); + + private: + void LoadPlugins(); private: QTabWidget *tabWidget_; + DownloadView *dlView_; + SeedView *seedView_; + PreferencesDialog *preferencesDialog_; + QSettings settings_; + QDir pluginsDir_; + QStringList pluginFileNames_; + //std::vector< std::auto_ptr const > torrentHandles_; + qtrapids::QBittorrentSession btSession_; + + //bool IsNewTorrent(std::auto_ptr handlePtr); }; #endif