summaryrefslogtreecommitdiff
path: root/src/frontend/displaywindow/bttextwindowheaderwidget.cpp
diff options
context:
space:
mode:
authorTeus Benschop <teusjannette@gmail.com>2017-10-06 12:24:31 +0200
committerTeus Benschop <teusjannette@gmail.com>2017-10-06 12:24:31 +0200
commit90d2181239761f8950b95768d3b037843e9e8b50 (patch)
tree6cc667ab420cc04029de2de7e361d2305e214595 /src/frontend/displaywindow/bttextwindowheaderwidget.cpp
parent1ea03c0fce8066c1e22188447b4a6ca4dcef1201 (diff)
New upstream version 2.11.0
Diffstat (limited to 'src/frontend/displaywindow/bttextwindowheaderwidget.cpp')
-rw-r--r--src/frontend/displaywindow/bttextwindowheaderwidget.cpp49
1 files changed, 27 insertions, 22 deletions
diff --git a/src/frontend/displaywindow/bttextwindowheaderwidget.cpp b/src/frontend/displaywindow/bttextwindowheaderwidget.cpp
index a974c2c..b8201ad 100644
--- a/src/frontend/displaywindow/bttextwindowheaderwidget.cpp
+++ b/src/frontend/displaywindow/bttextwindowheaderwidget.cpp
@@ -2,27 +2,26 @@
*
* This file is part of BibleTime's source code, http://www.bibletime.info/.
*
-* Copyright 1999-2014 by the BibleTime developers.
+* Copyright 1999-2016 by the BibleTime developers.
* The BibleTime source code is licensed under the GNU General Public License version 2.0.
*
**********/
#include "frontend/displaywindow/bttextwindowheaderwidget.h"
+#include <QHBoxLayout>
+#include <QLabel>
#include <QMenu>
-#include <QString>
#include <QToolButton>
#include <QToolTip>
-#include <QHBoxLayout>
#include <QSizePolicy>
-#include <QLabel>
-
+#include <QString>
#include "backend/config/btconfig.h"
#include "backend/managers/cswordbackend.h"
#include "bibletimeapp.h"
#include "frontend/displaywindow/bttextwindowheader.h"
+#include "util/btconnect.h"
#include "util/cresmgr.h"
-#include "util/geticon.h"
namespace {
@@ -30,11 +29,12 @@ const QString BookshelfShowHiddenKey = "GUI/bookshelfShowHidden";
} // anonymous namespace
const char* ActionType = "ActionType";
+const char * ModuleName = "ModuleName";
BtTextWindowHeaderWidget::BtTextWindowHeaderWidget(BtTextWindowHeader *parent, CSwordModuleInfo::ModuleType mtype)
: QWidget(parent),
m_moduleType(mtype),
- m_popup(0) {
+ m_popup(nullptr) {
QHBoxLayout* layout = new QHBoxLayout(this);
layout->setContentsMargins(0, 0, 0, 0);
@@ -92,9 +92,11 @@ void BtTextWindowHeaderWidget::updateWidget(QStringList newModulesToUse, QString
QListIterator<QMenu*> it(m_submenus);
while (it.hasNext()) {
QMenu* popup = it.next();
- foreach (QAction* a, popup->actions()) {
- a->setChecked( (a->text() == thisModule) ? true : false );
- a->setDisabled( newModulesToUse.contains(a->text()) ? true : false );
+ Q_FOREACH(QAction * const a, popup->actions()) {
+ a->setChecked(a->property(ModuleName).toString() == thisModule);
+ a->setDisabled(
+ newModulesToUse.contains(
+ a->property(ModuleName).toString()));
}
}
@@ -113,7 +115,7 @@ void BtTextWindowHeaderWidget::updateWidget(QStringList newModulesToUse, QString
if (typeText != QObject::tr("Replace"))
continue;
QMenu* menuType = actionType->menu();
- if (menuType == 0)
+ if (menuType == nullptr)
continue;
QList<QAction*> actions = menuType->actions();
for (int i=0; i<actions.count(); i++) {
@@ -134,11 +136,11 @@ void BtTextWindowHeaderWidget::moduleChosen( QAction* action ) {
return;
}
if (action->property(ActionType).toInt() == AddAction) {
- emit sigModuleAdd(m_id + 1, action->text());
+ emit sigModuleAdd(m_id + 1, action->property(ModuleName).toString());
return;
}
if (action->property(ActionType).toInt() == ReplaceAction) {
- emit sigModuleReplace(m_id, action->text());
+ emit sigModuleReplace(m_id, action->property(ModuleName).toString());
}
}
@@ -147,30 +149,31 @@ void BtTextWindowHeaderWidget::populateMenu() {
delete m_popup;
m_popup = new QMenu(m_button);
- connect(m_popup, SIGNAL(triggered(QAction*)), this, SLOT(moduleChosen(QAction*)));
+ BT_CONNECT(m_popup, SIGNAL(triggered(QAction *)),
+ this, SLOT(moduleChosen(QAction *)));
m_button->setMenu(m_popup);
m_removeAction = new QAction(tr("Remove"), m_popup);
m_removeAction->setProperty(ActionType, RemoveAction);
- m_removeAction->setIcon(util::getIcon(CResMgr::displaywindows::general::removemoduleicon));
+ m_removeAction->setIcon(CResMgr::displaywindows::general::icon_removeModule());
m_popup->addAction(m_removeAction);
// Add Replace and Add menus, both have all modules in them
QMenu* replaceItem = new QMenu(tr("Replace"), m_popup);
- replaceItem->setIcon(util::getIcon(CResMgr::displaywindows::general::replacemoduleicon));
+ replaceItem->setIcon(CResMgr::displaywindows::general::icon_replaceModule());
replaceItem->setProperty(ActionType, ReplaceAction);
m_popup->addMenu(replaceItem);
QMenu* addItem = new QMenu(tr("Add"), m_popup);
addItem->setProperty(ActionType, AddAction);
- addItem->setIcon(util::getIcon(CResMgr::displaywindows::general::addmoduleicon));
+ addItem->setIcon(CResMgr::displaywindows::general::icon_addModule());
m_popup->addMenu(addItem);
QList<QMenu*> toplevelMenus;
toplevelMenus.append(replaceItem);
toplevelMenus.append(addItem);
- foreach(QMenu* menu, toplevelMenus) {
+ Q_FOREACH(QMenu * const menu, toplevelMenus) {
// ******* Add categories, languages and modules ********
// Filters: add only non-hidden, non-locked and correct type
BTModuleTreeItem::HiddenOff hiddenFilter;
@@ -181,6 +184,8 @@ void BtTextWindowHeaderWidget::populateMenu() {
TypeFilter typeFilter(m_moduleType);
filters.append(&typeFilter);
+ TypeOfAction const typeOfAction =
+ static_cast<TypeOfAction>(menu->property(ActionType).toInt());
if (m_moduleType == CSwordModuleInfo::Bible) {
BTModuleTreeItem root(filters, BTModuleTreeItem::CatLangMod);
QList<BTModuleTreeItem::Filter*> filters2;
@@ -192,18 +197,17 @@ void BtTextWindowHeaderWidget::populateMenu() {
filters2.append(&typeFilter2);
root.add_items(filters2);
}
- addItemToMenu(&root, menu, (TypeOfAction)menu->property(ActionType).toInt());
+ addItemToMenu(&root, menu, typeOfAction);
}
else {
BTModuleTreeItem root(filters, BTModuleTreeItem::LangMod);
- addItemToMenu(&root, menu, (TypeOfAction)menu->property(ActionType).toInt());
+ addItemToMenu(&root, menu, typeOfAction);
}
}
}
void BtTextWindowHeaderWidget::addItemToMenu(BTModuleTreeItem* item, QMenu* menu, TypeOfAction actionType) {
- foreach (BTModuleTreeItem* i, item->children()) {
-
+ Q_FOREACH(BTModuleTreeItem * const i, item->children()) {
if (i->type() == BTModuleTreeItem::Language ||
i->type() == BTModuleTreeItem::Category) {
// argument menu was m_popup, create and add a new lang menu to it
@@ -219,6 +223,7 @@ void BtTextWindowHeaderWidget::addItemToMenu(BTModuleTreeItem* item, QMenu* menu
QAction* modItem = new QAction(name, menu);
modItem->setCheckable(true);
modItem->setProperty(ActionType, actionType);
+ modItem->setProperty(ModuleName, name);
menu->addAction(modItem);
}
}