summaryrefslogtreecommitdiff
path: root/src/frontend/bookshelfmanager/installpage/btsourcewidget.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/frontend/bookshelfmanager/installpage/btsourcewidget.h')
-rw-r--r--src/frontend/bookshelfmanager/installpage/btsourcewidget.h86
1 files changed, 86 insertions, 0 deletions
diff --git a/src/frontend/bookshelfmanager/installpage/btsourcewidget.h b/src/frontend/bookshelfmanager/installpage/btsourcewidget.h
new file mode 100644
index 0000000..812c6ac
--- /dev/null
+++ b/src/frontend/bookshelfmanager/installpage/btsourcewidget.h
@@ -0,0 +1,86 @@
+/*********
+*
+* This file is part of BibleTime's source code, http://www.bibletime.info/.
+*
+* Copyright 1999-2008 by the BibleTime developers.
+* The BibleTime source code is licensed under the GNU General Public License version 2.0.
+*
+**********/
+#ifndef BTSOURCEWIDGET_H
+#define BTSOURCEWIDGET_H
+
+class CSwordModuleInfo;
+
+#include <QTabWidget>
+#include <QString>
+#include <QMap>
+
+class BtInstallMgr;
+class BtInstallPage;
+class BtSourceArea;
+
+class QProgressDialog;
+class QTreeWidget;
+
+/**
+* Tabwidget which holds the source widgets.
+* This widget implements the slots for the source action buttons and
+* applies the actions to the proper source(s).
+*/
+class BtSourceWidget : public QTabWidget
+{
+ Q_OBJECT
+public:
+ friend class BtInstallPage;
+
+ BtSourceWidget(BtInstallPage* parent);
+ virtual ~BtSourceWidget() {}
+
+ BtSourceArea* area();
+ QString currentSourceName();
+
+public slots:
+ /** Install button has been clicked. */
+ void slotInstall();
+ /** "Stop All" button clicked */
+ void slotStopInstall(QTreeWidget* treeWidget);
+
+private:
+ void initSourceConnections();
+ /** Add tabs/views for each source. */
+ void initSources();
+
+ /** Add one source to tabs/stack. */
+ void addSource(const QString& sourceName);
+
+private slots:
+
+ void slotRefresh();
+
+ void slotRefreshCanceled();
+
+ void slotRefreshCompleted(int, int);
+
+ /** Edit button clicked. */
+ void slotEdit();
+ /** Delete button clicked. */
+ void slotDelete();
+ /** Add button clicked. */
+ void slotAdd();
+ /** Modules have been checked/unchecked in the view. */
+ void slotModuleSelectionChanged(QString sourceName, int selectedCount);
+
+ void slotTabSelected(int index);
+ void slotInstallAccepted(QList<CSwordModuleInfo*> mi, QTreeWidget* treeWidget);
+
+
+
+private:
+ QStringList m_sourceNameList;
+ BtInstallPage* m_page;
+ QProgressDialog* m_progressDialog; // for refreshing
+ BtInstallMgr* m_currentInstallMgr; // for refreshing
+ QMap<QString, int> m_selectedModulesCountMap;
+};
+
+#endif