diff options
Diffstat (limited to 'src/frontend/displaywindow/cplainwritewindow.cpp')
-rw-r--r-- | src/frontend/displaywindow/cplainwritewindow.cpp | 160 |
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(); |