summaryrefslogtreecommitdiff
path: root/bibletime/frontend/displaywindow/cbuttons.h
diff options
context:
space:
mode:
authorRoberto C. Sanchez <roberto@connexer.com>2014-10-21 22:48:12 -0400
committerRoberto C. Sanchez <roberto@connexer.com>2014-10-21 22:48:12 -0400
commit472963ff3697fb12af111e4a8fa2b985216826d5 (patch)
treee96112476b1f9bdfd462b9007b1e6453ffa0dcc5 /bibletime/frontend/displaywindow/cbuttons.h
parent15ce9a1454eebac8cfd1eca41da70ae80ece1baa (diff)
Imported Upstream version 1.4.1
Diffstat (limited to 'bibletime/frontend/displaywindow/cbuttons.h')
-rw-r--r--bibletime/frontend/displaywindow/cbuttons.h107
1 files changed, 107 insertions, 0 deletions
diff --git a/bibletime/frontend/displaywindow/cbuttons.h b/bibletime/frontend/displaywindow/cbuttons.h
new file mode 100644
index 0000000..7a84c35
--- /dev/null
+++ b/bibletime/frontend/displaywindow/cbuttons.h
@@ -0,0 +1,107 @@
+/***************************************************************************
+ cbuttons.h - description
+ -------------------
+ begin : Sam Jul 13 2002
+ copyright : (C) 2002 by The BibleTime team
+ email : info@bibletime.de
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#ifndef CBUTTONS_H
+#define CBUTTONS_H
+
+//BibleTime includes
+#include "backend/cswordbackend.h"
+#include "backend/cswordmoduleinfo.h"
+
+//QT includes
+#include <qdict.h>
+
+//KDE includes
+#include <ktoolbarbutton.h>
+
+class KPopupMenu;
+
+/** This class manages the transliteration of the selected modules.
+ * @author The BibleTime team
+ */
+class CTransliterationButton : public KToolBarButton {
+ Q_OBJECT
+public:
+ CTransliterationButton(CSwordBackend::FilterOptions* displayOptions, QWidget *parent, const char *name=0);
+ ~CTransliterationButton();
+ /**
+ * Setup the menu entries.
+ */
+ void populateMenu();
+ /**
+ * Resets the buttons with the list of used modules.
+ */
+ void reset( ListCSwordModuleInfo& modules );
+
+protected slots: // Protected slots
+ void optionSelected(int);
+
+private:
+ KPopupMenu* m_popup;
+ CSwordBackend::FilterOptions* m_filterOptions;
+
+signals:
+ void sigChanged();
+};
+
+/** This class manages the display options of the selected modules.
+ * @author The BibleTime team
+ */
+class CDisplaySettingsButton : public KToolBarButton {
+ Q_OBJECT
+public:
+ CDisplaySettingsButton(CSwordBackend::DisplayOptions *displaySettings, CSwordBackend::FilterOptions *settings, const ListCSwordModuleInfo& useModules, QWidget *parent=0, const char *name=0);
+ void reset(const ListCSwordModuleInfo& useModules);
+ /**
+ * Sets the item at position pos to the satet given as 2nd paramter.
+ */
+ void setItemStatus( const int pos, const bool checked );
+ /**
+ * Returns the number of usable menu items in the setttings menu.
+ */
+ const int menuItemCount();
+ /**
+ * Returns the status of the item at position "index"
+ */
+ const bool itemStatus( const int index );
+ /**
+ * Sets the status to changed. The signal changed will be emitted.
+ */
+ void setChanged();
+
+signals:
+ void sigChanged(void);
+
+protected slots:
+ void optionToggled(int ID);
+
+protected:
+ CSwordBackend::FilterOptions* m_moduleSettings;
+ CSwordBackend::DisplayOptions* m_displaySettings;
+ CSwordBackend::FilterOptions m_available;
+ ListCSwordModuleInfo m_modules;
+
+ QDict<int> m_dict;
+
+ KPopupMenu* m_popup;
+
+ int populateMenu();
+ bool isOptionAvailable( const CSwordBackend::FilterTypes option);
+ int addMenuEntry( const QString name, const int* option, const bool available);
+};
+
+#endif