From df8f1d512c60a96f9041f9663b3fdc2db51cba33 Mon Sep 17 00:00:00 2001 From: "Roberto C. Sanchez" Date: Tue, 21 Oct 2014 22:48:35 -0400 Subject: Imported Upstream version 2.8.1 --- .../versekeychooser/cbiblekeychooser.cpp | 51 +++++++++++++++------- 1 file changed, 35 insertions(+), 16 deletions(-) (limited to 'src/frontend/keychooser/versekeychooser/cbiblekeychooser.cpp') diff --git a/src/frontend/keychooser/versekeychooser/cbiblekeychooser.cpp b/src/frontend/keychooser/versekeychooser/cbiblekeychooser.cpp index 2488668..6a16d8d 100644 --- a/src/frontend/keychooser/versekeychooser/cbiblekeychooser.cpp +++ b/src/frontend/keychooser/versekeychooser/cbiblekeychooser.cpp @@ -2,7 +2,7 @@ * * This file is part of BibleTime's source code, http://www.bibletime.info/. * -* Copyright 1999-2008 by the BibleTime developers. +* Copyright 1999-2011 by the BibleTime developers. * The BibleTime source code is licensed under the GNU General Public License version 2.0. * **********/ @@ -16,13 +16,18 @@ #include "backend/keys/cswordversekey.h" #include "frontend/keychooser/bthistory.h" #include "frontend/keychooser/cscrollbutton.h" -#include "frontend/keychooser/versekeychooser/ckeyreferencewidget.h" +#include "frontend/keychooser/versekeychooser/btbiblekeywidget.h" #include "util/cresmgr.h" -CBibleKeyChooser::CBibleKeyChooser(QList modules, CSwordKey *key, QWidget *parent) : - CKeyChooser(modules, key, parent), - m_key(dynamic_cast(key)) { +CBibleKeyChooser::CBibleKeyChooser( + const QList &modules, + BTHistory *historyPtr, CSwordKey *key, QWidget *parent) + : CKeyChooser(modules, historyPtr, key, parent), + m_key(dynamic_cast(key)) +{ + typedef CSwordBibleModuleInfo CSBMI; + w_ref = 0; setModules(modules, false); if (!m_modules.count()) { @@ -35,16 +40,19 @@ CBibleKeyChooser::CBibleKeyChooser(QList modules, CSwordKey * layout->setContentsMargins(0, 0, 0, 0); layout->setDirection( QBoxLayout::LeftToRight ); - w_ref = new CKeyReferenceWidget(dynamic_cast(m_modules.first()), m_key, this); + w_ref = new BtBibleKeyWidget(dynamic_cast(m_modules.first()), + m_key, this); setFocusProxy(w_ref); layout->addWidget(w_ref); - connect(w_ref, SIGNAL(beforeChange(CSwordVerseKey *)), SLOT(beforeRefChange(CSwordVerseKey *))); + bool ok = connect(w_ref, SIGNAL(beforeChange(CSwordVerseKey *)), SLOT(beforeRefChange(CSwordVerseKey *))); connect(w_ref, SIGNAL(changed(CSwordVerseKey *)), SLOT(refChanged(CSwordVerseKey *))); + Q_ASSERT(ok); setKey(m_key); //set the key without changing it, setKey(key()) would change it - connect(this, SIGNAL(keyChanged(CSwordKey*)), history(), SLOT(add(CSwordKey*)) ); + ok = connect(this, SIGNAL(keyChanged(CSwordKey*)), history(), SLOT(add(CSwordKey*)) ); + Q_ASSERT(ok); } CSwordKey* CBibleKeyChooser::key() { @@ -62,7 +70,7 @@ void CBibleKeyChooser::setKey(CSwordKey* key) { } void CBibleKeyChooser::beforeRefChange(CSwordVerseKey* key) { - Q_UNUSED(key); /// \todo Is this correct? + Q_UNUSED(key); Q_ASSERT(m_key); @@ -88,17 +96,26 @@ void CBibleKeyChooser::refChanged(CSwordVerseKey* key) { setUpdatesEnabled(true); } -void CBibleKeyChooser::setModules(const QList& modules, const bool refresh) { +void CBibleKeyChooser::setModules(const QList &modules, + bool refresh) +{ + typedef CSwordBibleModuleInfo CSBMI; + m_modules.clear(); - foreach (CSwordModuleInfo* mod, modules) { - if (mod->type() == CSwordModuleInfo::Bible || mod->type() == CSwordModuleInfo::Commentary) { - if (CSwordBibleModuleInfo* bible = dynamic_cast(mod)) m_modules.append(bible); + Q_FOREACH (const CSwordModuleInfo *mod, modules) { + if (mod->type() == CSwordModuleInfo::Bible + || mod->type() == CSwordModuleInfo::Commentary) + { + const CSBMI* bible = dynamic_cast(mod); + if (bible != 0) { + m_modules.append(bible); + } } } // First time this is called we havnt set up w_ref. - if (w_ref) w_ref->setModule(dynamic_cast(m_modules.first())); + if (w_ref) w_ref->setModule(dynamic_cast(m_modules.first())); if (refresh) refreshContent(); } @@ -106,11 +123,13 @@ void CBibleKeyChooser::refreshContent() { setKey(m_key); } -void CBibleKeyChooser::updateKey(CSwordKey* /*key*/) {} +void CBibleKeyChooser::updateKey(CSwordKey* /*key*/) { + w_ref->updateText(); +} void CBibleKeyChooser::adjustFont() {} void CBibleKeyChooser::setKey(QString& newKey) { - m_key->key(newKey); + m_key->setKey(newKey); setKey(m_key); } -- cgit v1.2.3