summaryrefslogtreecommitdiff
path: root/src/frontend/displaywindow/cplainwritewindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/frontend/displaywindow/cplainwritewindow.cpp')
-rw-r--r--src/frontend/displaywindow/cplainwritewindow.cpp160
1 files changed, 77 insertions, 83 deletions
diff --git a/src/frontend/displaywindow/cplainwritewindow.cpp b/src/frontend/displaywindow/cplainwritewindow.cpp
index f4b2d0b..b51339e 100644
--- a/src/frontend/displaywindow/cplainwritewindow.cpp
+++ b/src/frontend/displaywindow/cplainwritewindow.cpp
@@ -2,7 +2,7 @@
*
* 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.
*
**********/
@@ -21,20 +21,20 @@
#include "frontend/displaywindow/btmodulechooserbar.h"
#include "frontend/keychooser/ckeychooser.h"
#include "frontend/messagedialog.h"
-#include "util/btsignal.h"
+#include "util/btassert.h"
+#include "util/btconnect.h"
#include "util/cresmgr.h"
-#include "util/geticon.h"
CPlainWriteWindow::CPlainWriteWindow(const QList<CSwordModuleInfo*> & moduleList, CMDIArea * parent)
: CDisplayWindow(moduleList, parent)
- , m_writeDisplay(0)
+ , m_writeDisplay(nullptr)
{
setKey( CSwordKey::createInstance(moduleList.first()) );
}
void CPlainWriteWindow::setDisplayWidget(CDisplay * display) {
- Q_ASSERT(dynamic_cast<CPlainWriteDisplay *>(display));
+ BT_ASSERT(dynamic_cast<CPlainWriteDisplay *>(display));
CDisplayWindow::setDisplayWidget(static_cast<CPlainWriteDisplay *>(display));
m_writeDisplay = static_cast<CPlainWriteDisplay *>(display);
}
@@ -80,67 +80,68 @@ void CPlainWriteWindow::initToolbars() {
mainToolBar()->addWidget(keyChooser());
// Tools toolbar
- QAction* action = actionCollection()->action(CResMgr::displaywindows::commentaryWindow::syncWindow::actionName);
- Q_ASSERT(action != 0);
- buttonsToolBar()->addAction(action);
- action = actionCollection()->action(CResMgr::displaywindows::writeWindow::saveText::actionName);
- Q_ASSERT(action != 0);
- buttonsToolBar()->addAction(action);
- action = actionCollection()->action(CResMgr::displaywindows::writeWindow::deleteEntry::actionName);
- Q_ASSERT(action != 0);
- buttonsToolBar()->addAction(action);
- action = actionCollection()->action(CResMgr::displaywindows::writeWindow::restoreText::actionName);
- Q_ASSERT(action != 0);
- buttonsToolBar()->addAction(action);
+ auto const initAction = [this](QString const & actionName) {
+ buttonsToolBar()->addAction(&actionCollection()->action(actionName));
+ };
+ using namespace CResMgr::displaywindows;
+ initAction(commentaryWindow::syncWindow::actionName);
+ initAction(writeWindow::saveText::actionName);
+ initAction(writeWindow::deleteEntry::actionName);
+ initAction(writeWindow::restoreText::actionName);
}
void CPlainWriteWindow::setupMainWindowToolBars() {
// Navigation toolbar
CKeyChooser* keyChooser = CKeyChooser::createInstance(modules(), history(), key(), btMainWindow()->navToolBar() );
btMainWindow()->navToolBar()->addWidget(keyChooser);
- bool ok = connect(keyChooser, SIGNAL(keyChanged(CSwordKey*)), this, SLOT(lookupSwordKey(CSwordKey*)));
- Q_ASSERT(ok);
+ BT_CONNECT(keyChooser, SIGNAL(keyChanged(CSwordKey *)),
+ this, SLOT(lookupSwordKey(CSwordKey *)));
// Tools toolbar
- QAction* action = actionCollection()->action(CResMgr::displaywindows::commentaryWindow::syncWindow::actionName);
- Q_ASSERT(action != 0);
- btMainWindow()->toolsToolBar()->addAction(action);
- action = actionCollection()->action(CResMgr::displaywindows::writeWindow::saveText::actionName);
- Q_ASSERT(action != 0);
- btMainWindow()->toolsToolBar()->addAction(action);
- action = actionCollection()->action(CResMgr::displaywindows::writeWindow::deleteEntry::actionName);
- Q_ASSERT(action != 0);
- btMainWindow()->toolsToolBar()->addAction(action);
- action = actionCollection()->action(CResMgr::displaywindows::writeWindow::restoreText::actionName);
- Q_ASSERT(action != 0);
- btMainWindow()->toolsToolBar()->addAction(action);
+ QToolBar & toolsToolbar = *btMainWindow()->toolsToolBar();
+ auto const initAction = [this, &toolsToolbar](QString const & actionName) {
+ toolsToolbar.addAction(&actionCollection()->action(actionName));
+ };
+ using namespace CResMgr::displaywindows;
+ initAction(commentaryWindow::syncWindow::actionName);
+ initAction(writeWindow::saveText::actionName);
+ initAction(writeWindow::deleteEntry::actionName);
+ initAction(writeWindow::restoreText::actionName);
}
void CPlainWriteWindow::initConnections() {
- Q_ASSERT(keyChooser());
- QObject::connect(key()->beforeChangedSignaller(), SIGNAL(signal()), this, SLOT(beforeKeyChange()));
- QObject::connect(keyChooser(), SIGNAL(keyChanged(CSwordKey*)), this, SLOT(lookupSwordKey(CSwordKey*)));
- QObject::connect(displayWidget()->connectionsProxy(), SIGNAL(textChanged()), this, SLOT(textChanged()) );
+ BT_ASSERT(keyChooser());
+ BT_CONNECT(key()->beforeChangedSignaller(), SIGNAL(signal()),
+ this, SLOT(beforeKeyChange()));
+ BT_CONNECT(keyChooser(), SIGNAL(keyChanged(CSwordKey *)),
+ this, SLOT(lookupSwordKey(CSwordKey *)));
+ BT_CONNECT(displayWidget()->connectionsProxy(), SIGNAL(textChanged()),
+ this, SLOT(textChanged()));
}
-void CPlainWriteWindow::storeProfileSettings(const QString & windowGroup) {
+void CPlainWriteWindow::storeProfileSettings(QString const & windowGroup) const {
CDisplayWindow::storeProfileSettings(windowGroup);
- QAction * action = actionCollection()->action(CResMgr::displaywindows::commentaryWindow::syncWindow::actionName);
- Q_ASSERT(action);
- Q_ASSERT(windowGroup.endsWith('/'));
+ BT_ASSERT(windowGroup.endsWith('/'));
btConfig().setSessionValue(windowGroup + "writeWindowType",
static_cast<int>(writeWindowType()));
- btConfig().setSessionValue(windowGroup + "syncWindowEnabled", action->isChecked());
+ using namespace CResMgr::displaywindows;
+ btConfig().setSessionValue(
+ windowGroup + "syncWindowEnabled",
+ actionCollection()->action(
+ commentaryWindow::syncWindow::actionName).isChecked());
}
void CPlainWriteWindow::applyProfileSettings(const QString & windowGroup) {
CDisplayWindow::applyProfileSettings(windowGroup);
- QAction * action = actionCollection()->action(CResMgr::displaywindows::commentaryWindow::syncWindow::actionName);
- Q_ASSERT(action != 0);
- Q_ASSERT(windowGroup.endsWith('/'));
- action->setChecked(btConfig().sessionValue<bool>(windowGroup + "syncWindowEnabled", false));
+ BT_ASSERT(windowGroup.endsWith('/'));
+ using namespace CResMgr::displaywindows;
+ actionCollection()->action(commentaryWindow::syncWindow::actionName)
+ .setChecked(
+ btConfig().sessionValue<bool>(
+ windowGroup + "syncWindowEnabled",
+ false));
}
/** Saves the text for the current key. Directly writes the changed text into the module. */
@@ -177,12 +178,12 @@ void CPlainWriteWindow::restoreText() {
/** Is called when the current text was changed. */
void CPlainWriteWindow::textChanged() {
- QAction* action = actionCollection()->action(CResMgr::displaywindows::writeWindow::saveText::actionName);
- Q_ASSERT(action != 0);
- action->setEnabled(m_writeDisplay->isModified());
- action = actionCollection()->action(CResMgr::displaywindows::writeWindow::restoreText::actionName);
- Q_ASSERT(action != 0);
- action->setEnabled(m_writeDisplay->isModified());
+ namespace WW = CResMgr::displaywindows::writeWindow;
+ auto const & ac = *actionCollection();
+ ac.action(WW::saveText::actionName)
+ .setEnabled(m_writeDisplay->isModified());
+ ac.action(WW::restoreText::actionName)
+ .setEnabled(m_writeDisplay->isModified());
}
/** Deletes the module entry and clears the edit widget, */
@@ -196,42 +197,35 @@ void CPlainWriteWindow::deleteEntry() {
void CPlainWriteWindow::setupPopupMenu() {}
bool CPlainWriteWindow::syncAllowed() const {
- QAction* action = actionCollection()->action(CResMgr::displaywindows::commentaryWindow::syncWindow::actionName);
- Q_ASSERT(action != 0);
- return action->isChecked();
+ return actionCollection()->action(
+ CResMgr::displaywindows::commentaryWindow::syncWindow::actionName)
+ .isChecked();
}
void CPlainWriteWindow::initActions() {
insertKeyboardActions(actionCollection());
- QAction* action = actionCollection()->action(CResMgr::displaywindows::commentaryWindow::syncWindow::actionName);
- Q_ASSERT(action != 0);
- bool ok = QObject::connect(action, SIGNAL(triggered()),
- this, SLOT(saveCurrentText()));
- Q_ASSERT(ok);
-
- action = actionCollection()->action(CResMgr::displaywindows::writeWindow::saveText::actionName);
- Q_ASSERT(action != 0);
- ok = QObject::connect(action, SIGNAL(triggered()),
- this, SLOT(saveCurrentText()));
- Q_ASSERT(ok);
-
- action = actionCollection()->action(CResMgr::displaywindows::writeWindow::deleteEntry::actionName);
- Q_ASSERT(action != 0);
- ok = QObject::connect(action, SIGNAL(triggered()),
- this, SLOT(deleteEntry()));
- Q_ASSERT(ok);
-
- action = actionCollection()->action(CResMgr::displaywindows::writeWindow::restoreText::actionName);
- Q_ASSERT(action != 0);
- ok = QObject::connect(action, SIGNAL(triggered()),
- this, SLOT(restoreText()));
- Q_ASSERT(ok);
+ auto const initAction = [this](QString const & actionName,
+ void (CPlainWriteWindow:: *slot)())
+ {
+ BT_CONNECT(&actionCollection()->action(actionName),
+ &QAction::triggered,
+ this, slot);
+ };
+ namespace DW = CResMgr::displaywindows;
+ initAction(DW::commentaryWindow::syncWindow::actionName,
+ &CPlainWriteWindow::saveCurrentText);
+ initAction(DW::writeWindow::saveText::actionName,
+ &CPlainWriteWindow::saveCurrentText);
+ initAction(DW::writeWindow::deleteEntry::actionName,
+ &CPlainWriteWindow::deleteEntry);
+ initAction(DW::writeWindow::restoreText::actionName,
+ &CPlainWriteWindow::restoreText);
}
void CPlainWriteWindow::insertKeyboardActions( BtActionCollection* const a) {
QAction* action = new QAction(
- util::getIcon(CResMgr::displaywindows::commentaryWindow::syncWindow::icon),
+ CResMgr::displaywindows::commentaryWindow::syncWindow::icon(),
tr("Sync with active Bible"),
a
);
@@ -241,7 +235,7 @@ void CPlainWriteWindow::insertKeyboardActions( BtActionCollection* const a) {
a->addAction(CResMgr::displaywindows::commentaryWindow::syncWindow::actionName, action);
action = new QAction(
- util::getIcon(CResMgr::displaywindows::writeWindow::saveText::icon),
+ CResMgr::displaywindows::writeWindow::saveText::icon(),
tr("Save text"),
a
);
@@ -250,7 +244,7 @@ void CPlainWriteWindow::insertKeyboardActions( BtActionCollection* const a) {
a->addAction(CResMgr::displaywindows::writeWindow::saveText::actionName, action);
action = new QAction(
- util::getIcon(CResMgr::displaywindows::writeWindow::deleteEntry::icon),
+ CResMgr::displaywindows::writeWindow::deleteEntry::icon(),
tr("Delete current entry"),
a
);
@@ -259,7 +253,7 @@ void CPlainWriteWindow::insertKeyboardActions( BtActionCollection* const a) {
a->addAction(CResMgr::displaywindows::writeWindow::deleteEntry::actionName, action);
action = new QAction(
- util::getIcon(CResMgr::displaywindows::writeWindow::restoreText::icon),
+ CResMgr::displaywindows::writeWindow::restoreText::icon(),
tr("Restore original text"),
a
);
@@ -292,15 +286,15 @@ bool CPlainWriteWindow::queryClose() {
}
void CPlainWriteWindow::beforeKeyChange() {
- Q_ASSERT(displayWidget());
- Q_ASSERT(keyChooser());
+ BT_ASSERT(displayWidget());
+ BT_ASSERT(keyChooser());
if (!isReady())
return;
// Get current key string for this window
QString thisWindowsKey;
CSwordKey* oldKey = key();
- if (oldKey == 0)
+ if (oldKey == nullptr)
return;
thisWindowsKey = oldKey->key();