diff options
author | Roberto C. Sanchez <roberto@connexer.com> | 2014-10-21 22:48:12 -0400 |
---|---|---|
committer | Roberto C. Sanchez <roberto@connexer.com> | 2014-10-21 22:48:12 -0400 |
commit | 472963ff3697fb12af111e4a8fa2b985216826d5 (patch) | |
tree | e96112476b1f9bdfd462b9007b1e6453ffa0dcc5 /bibletime/frontend/displaywindow/cbuttons.h | |
parent | 15ce9a1454eebac8cfd1eca41da70ae80ece1baa (diff) |
Imported Upstream version 1.4.1
Diffstat (limited to 'bibletime/frontend/displaywindow/cbuttons.h')
-rw-r--r-- | bibletime/frontend/displaywindow/cbuttons.h | 107 |
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 |