diff options
Diffstat (limited to 'src/frontend/keychooser/ckeychooser.cpp')
-rw-r--r-- | src/frontend/keychooser/ckeychooser.cpp | 56 |
1 files changed, 26 insertions, 30 deletions
diff --git a/src/frontend/keychooser/ckeychooser.cpp b/src/frontend/keychooser/ckeychooser.cpp index b46ee51..96b5638 100644 --- a/src/frontend/keychooser/ckeychooser.cpp +++ b/src/frontend/keychooser/ckeychooser.cpp @@ -2,7 +2,7 @@ * * This file is part of BibleTime's source code, http://www.bibletime.info/. * -* Copyright 1999-2011 by the BibleTime developers. +* Copyright 1999-2014 by the BibleTime developers. * The BibleTime source code is licensed under the GNU General Public License version 2.0. * **********/ @@ -21,48 +21,44 @@ #include "frontend/keychooser/versekeychooser/cbiblekeychooser.h" -CKeyChooser::CKeyChooser(const QList<const CSwordModuleInfo*> &, BTHistory* historyPtr, - CSwordKey *, QWidget *parent) - : QWidget(parent), - m_history(historyPtr) { - bool ok = QObject::connect(history(), SIGNAL(historyMoved(QString&)), this, SLOT(setKey(QString&))); +CKeyChooser::CKeyChooser(const QList<const CSwordModuleInfo *> &, + BTHistory * historyPtr, + QWidget * parent) + : QWidget(parent) + , m_history(historyPtr) +{ + bool ok = QObject::connect(history(), SIGNAL(historyMoved(QString)), + this, SLOT(setKey(const QString &))); Q_ASSERT(ok); } -CKeyChooser* CKeyChooser::createInstance( - const QList<const CSwordModuleInfo*> &modules, BTHistory *historyPtr, - CSwordKey *key, QWidget *parent) +CKeyChooser * CKeyChooser::createInstance(const QList<const CSwordModuleInfo *> & modules, + BTHistory * historyPtr, + CSwordKey * key, + QWidget * parent) { - if (!modules.count()) { - /** - \todo Verify and document that we need to return 0 here rather than - fail with an assertion. - */ - return 0; - } + Q_ASSERT(!modules.empty()); + Q_ASSERT(modules.first()->type() == CSwordModuleInfo::Commentary + || modules.first()->type() == CSwordModuleInfo::Bible + || modules.first()->type() == CSwordModuleInfo::Lexicon + || modules.first()->type() == CSwordModuleInfo::GenericBook); + + switch (modules.first()->type()) { - CSwordModuleInfo::ModuleType typeOfModules = modules.first()->type(); -/* -#ifdef BT_DEBUG - Q_FOREACH (const CSwordModuleInfo *module, modules) { - Q_ASSERT(module->type() == typeOfModules); - } -#endif -*/ - switch (typeOfModules) { case CSwordModuleInfo::Commentary: /* Fall thru - Bibles and commentaries use the same key chooser */ + case CSwordModuleInfo::Bible: return new CBibleKeyChooser(modules, historyPtr, key, parent); + case CSwordModuleInfo::Lexicon: return new CLexiconKeyChooser(modules, historyPtr, key, parent); + case CSwordModuleInfo::GenericBook: return new CBookKeyChooser(modules, historyPtr, key, parent); + default: - /** - \todo Verify and document that we need to return 0 here rather - than fail with an assertion. - */ - return 0; + abort(); + } } |