diff options
Diffstat (limited to 'src/frontend/keychooser/versekeychooser')
7 files changed, 80 insertions, 39 deletions
diff --git a/src/frontend/keychooser/versekeychooser/btbiblekeywidget.cpp b/src/frontend/keychooser/versekeychooser/btbiblekeywidget.cpp index b74752e..5feb371 100644 --- a/src/frontend/keychooser/versekeychooser/btbiblekeywidget.cpp +++ b/src/frontend/keychooser/versekeychooser/btbiblekeywidget.cpp @@ -20,7 +20,6 @@ #include <QString> #include <QStringList> #include <QToolButton> -#include "backend/config/cbtconfig.h" #include "backend/keys/cswordversekey.h" #include "frontend/keychooser/cscrollerwidgetset.h" #include "frontend/keychooser/versekeychooser/btdropdownchooserbutton.h" @@ -240,41 +239,66 @@ void BtBibleKeyWidget::slotUpdateUnlock() { emit changed(m_key); } -void BtBibleKeyWidget::slotStepBook(int n) { +void BtBibleKeyWidget::slotStepBook(int offset) { emit beforeChange(m_key); - n > 0 ? m_key->next( CSwordVerseKey::UseBook ) : m_key->previous( CSwordVerseKey::UseBook ); + + if(offset >= 0) + for(; offset != 0; offset--) + m_key->next( CSwordVerseKey::UseBook ); + else + for(; offset != 0; offset++) + m_key->previous( CSwordVerseKey::UseBook ); + if (!updatelock) emit changed(m_key); } -void BtBibleKeyWidget::slotStepChapter(int n) { +void BtBibleKeyWidget::slotStepChapter(int offset) { emit beforeChange(m_key); - n > 0 ? m_key->next( CSwordVerseKey::UseChapter ) : m_key->previous( CSwordVerseKey::UseChapter ); + + if(offset >= 0) + for(; offset != 0; offset--) + m_key->next( CSwordVerseKey::UseChapter ); + else + for(; offset != 0; offset++) + m_key->previous( CSwordVerseKey::UseChapter ); + if (!updatelock) emit changed(m_key); } -void BtBibleKeyWidget::slotStepVerse(int n) { +void BtBibleKeyWidget::slotStepVerse(int offset) { emit beforeChange(m_key); - n > 0 ? m_key->next( CSwordVerseKey::UseVerse ) : m_key->previous( CSwordVerseKey::UseVerse ); + + if(offset >= 0) + for(; offset != 0; offset--) + m_key->next( CSwordVerseKey::UseVerse ); + else + for(; offset != 0; offset++) + m_key->previous( CSwordVerseKey::UseVerse ); + if (!updatelock) emit changed(m_key); } void BtBibleKeyWidget::slotChangeVerse(int n) { - if (m_key->Verse() != n) { + if (m_key->getVerse() != n) { emit beforeChange(m_key); - m_key->Verse( n ); + m_key->emitBeforeChanged(); + m_key->setVerse(n); + m_key->emitChanged(); setKey( m_key ); } if (!updatelock) emit changed(m_key); } void BtBibleKeyWidget::slotChangeChapter(int n) { - if (m_key->Chapter() != n) { + if (m_key->getChapter() != n) { emit beforeChange(m_key); - m_key->Chapter( n ); + m_key->emitBeforeChanged(); + m_key->setChapter(n); + m_key->emitChanged(); setKey( m_key ); } if (!updatelock) @@ -284,7 +308,9 @@ void BtBibleKeyWidget::slotChangeChapter(int n) { void BtBibleKeyWidget::slotChangeBook(QString bookname) { if (m_key->book() != bookname) { emit beforeChange(m_key); + m_key->emitBeforeChanged(); m_key->book( bookname ); + m_key->emitChanged(); setKey( m_key ); } if (!updatelock) diff --git a/src/frontend/keychooser/versekeychooser/btbiblekeywidget.h b/src/frontend/keychooser/versekeychooser/btbiblekeywidget.h index 29633fd..644bc75 100644 --- a/src/frontend/keychooser/versekeychooser/btbiblekeywidget.h +++ b/src/frontend/keychooser/versekeychooser/btbiblekeywidget.h @@ -55,11 +55,41 @@ class BtBibleKeyWidget : public QWidget { void slotUpdateLock(); void slotUpdateUnlock(); - void slotStepBook(int); - void slotStepChapter(int); - void slotStepVerse(int); + + /** + * \brief Change the book by the given offset. + * \param offset The offset to move to. + */ + void slotStepBook(int offset); + + /** + * \brief Change the chapter by the given offset. + * \param offset The offset to move to. + */ + void slotStepChapter(int offset); + + /** + * \brief Change the verse by the given offset. + * \param offset The offset to move to. + */ + void slotStepVerse(int offset); + + /** + * \brief Jump to the specified book. + * \param bookname name of the book to change to + */ void slotChangeBook(QString bookname); + + /** + * \brief Jump to the specified chapter. + * \param chapter number of the chapter to change to + */ void slotChangeChapter(int chapter); + + /** + * \brief Jump to the specified verse. + * \param bookname number of the verse to change to + */ void slotChangeVerse(int verse); public slots: diff --git a/src/frontend/keychooser/versekeychooser/btdropdownchooserbutton.cpp b/src/frontend/keychooser/versekeychooser/btdropdownchooserbutton.cpp index 512a0f3..8030aaf 100644 --- a/src/frontend/keychooser/versekeychooser/btdropdownchooserbutton.cpp +++ b/src/frontend/keychooser/versekeychooser/btdropdownchooserbutton.cpp @@ -9,7 +9,6 @@ #include "frontend/keychooser/versekeychooser/btdropdownchooserbutton.h" -#include <QDebug> #include <QWheelEvent> #include "frontend/keychooser/versekeychooser/btversekeymenu.h" #include "frontend/keychooser/versekeychooser/btbiblekeywidget.h" @@ -37,7 +36,6 @@ BtDropdownChooserButton::BtDropdownChooserButton(BtBibleKeyWidget* ref) void BtDropdownChooserButton::mousePressEvent(QMouseEvent* e) { - //qDebug() << "BtDropdownChooserButton::mousePressEvent"; //recreate the menu menu()->clear(); this->newList(); @@ -76,7 +74,6 @@ void BtBookDropdownChooserButton::newList() { } void BtBookDropdownChooserButton::slotMenuTriggered(QAction* action) { - qDebug() << "BtBookDropdownChooserButton::slotMenuTriggered" << action->text(); m_ref->slotChangeBook(action->text()); } @@ -112,7 +109,7 @@ BtVerseDropdownChooserButton::BtVerseDropdownChooserButton(BtBibleKeyWidget* ref void BtVerseDropdownChooserButton::newList() { QMenu* m = menu(); - int count = ref()->m_module->verseCount(ref()->m_key->book(), ref()->m_key->Chapter()); + int count = ref()->m_module->verseCount(ref()->m_key->book(), ref()->m_key->getChapter()); for (int i = 1; i <= count; i++) { m->addAction(QString::number(i)); } diff --git a/src/frontend/keychooser/versekeychooser/btdropdownchooserbutton.h b/src/frontend/keychooser/versekeychooser/btdropdownchooserbutton.h index 04b7000..bdd56da 100644 --- a/src/frontend/keychooser/versekeychooser/btdropdownchooserbutton.h +++ b/src/frontend/keychooser/versekeychooser/btdropdownchooserbutton.h @@ -23,7 +23,6 @@ class BtDropdownChooserButton : public QToolButton { public: BtDropdownChooserButton(BtBibleKeyWidget* ref); - virtual ~BtDropdownChooserButton() {} /** The item list is constructed here just before the menu is shown.*/ virtual void mousePressEvent(QMouseEvent* event); /** Recreates the menu list.*/ @@ -47,7 +46,6 @@ class BtBookDropdownChooserButton : public BtDropdownChooserButton { Q_OBJECT public: BtBookDropdownChooserButton(BtBibleKeyWidget* ref); - ~BtBookDropdownChooserButton() {} virtual void newList(); public slots: virtual void slotMenuTriggered(QAction* action); @@ -58,7 +56,6 @@ class BtChapterDropdownChooserButton : public BtDropdownChooserButton { Q_OBJECT public: BtChapterDropdownChooserButton(BtBibleKeyWidget* ref); - ~BtChapterDropdownChooserButton() {} virtual void newList(); public slots: virtual void slotMenuTriggered(QAction* action); @@ -69,7 +66,6 @@ class BtVerseDropdownChooserButton : public BtDropdownChooserButton { Q_OBJECT public: BtVerseDropdownChooserButton(BtBibleKeyWidget* ref); - ~BtVerseDropdownChooserButton() {} virtual void newList(); public slots: virtual void slotMenuTriggered(QAction* action); diff --git a/src/frontend/keychooser/versekeychooser/btversekeymenu.cpp b/src/frontend/keychooser/versekeychooser/btversekeymenu.cpp index 9c6e77f..ac94299 100644 --- a/src/frontend/keychooser/versekeychooser/btversekeymenu.cpp +++ b/src/frontend/keychooser/versekeychooser/btversekeymenu.cpp @@ -9,22 +9,21 @@ #include "frontend/keychooser/versekeychooser/btversekeymenu.h" -#include <QDebug> #include <QMenu> #include <QMouseEvent> #include <QTimerEvent> BtVerseKeyMenu::BtVerseKeyMenu(QWidget* parent) - : QMenu(parent), - m_timerId(0), - m_firstClickLock(true) { - qDebug() << "BtVerseKeyMenu::BtVerseKeyMenu"; - QObject::connect(this, SIGNAL(aboutToShow()), this, SLOT(startFirstClickDelayTimer())); + : QMenu(parent) + , m_timerId(0) + , m_firstClickLock(true) +{ + connect(this, SIGNAL(aboutToShow()), + this, SLOT(startFirstClickDelayTimer())); } void BtVerseKeyMenu::startFirstClickDelayTimer() { - //qDebug() << "BtVerseKeyMenu::startFirstClickDelayTimer"; m_firstClickLock = true; killTimer(m_timerId); m_timerId = startTimer(300); @@ -32,7 +31,6 @@ void BtVerseKeyMenu::startFirstClickDelayTimer() { void BtVerseKeyMenu::timerEvent(QTimerEvent* e) { if (e->timerId() == m_timerId) { - //qDebug() << "BtVerseKeyMenu::timerEvent"; killTimer(m_timerId); m_firstClickLock = false; } @@ -42,8 +40,6 @@ void BtVerseKeyMenu::timerEvent(QTimerEvent* e) { } void BtVerseKeyMenu::mouseReleaseEvent(QMouseEvent* e) { - //qDebug() << "BtVerseKeyMenu::mouseReleaseEvent"; if (m_firstClickLock) return; - //qDebug() << "BtVerseKeyMenu::mouseReleaseEvent 2"; QMenu::mouseReleaseEvent(e); } diff --git a/src/frontend/keychooser/versekeychooser/btversekeymenu.h b/src/frontend/keychooser/versekeychooser/btversekeymenu.h index 7f5b333..343277c 100644 --- a/src/frontend/keychooser/versekeychooser/btversekeymenu.h +++ b/src/frontend/keychooser/versekeychooser/btversekeymenu.h @@ -26,7 +26,6 @@ class BtVerseKeyMenu : public QMenu { Q_OBJECT public: BtVerseKeyMenu(QWidget* parent); - ~BtVerseKeyMenu() {} protected: virtual void mouseReleaseEvent(QMouseEvent* event); /** Frees the mouse button release after the delay has elapsed.*/ diff --git a/src/frontend/keychooser/versekeychooser/cbiblekeychooser.cpp b/src/frontend/keychooser/versekeychooser/cbiblekeychooser.cpp index 6a16d8d..358c9c4 100644 --- a/src/frontend/keychooser/versekeychooser/cbiblekeychooser.cpp +++ b/src/frontend/keychooser/versekeychooser/cbiblekeychooser.cpp @@ -46,7 +46,9 @@ CBibleKeyChooser::CBibleKeyChooser( layout->addWidget(w_ref); bool ok = connect(w_ref, SIGNAL(beforeChange(CSwordVerseKey *)), SLOT(beforeRefChange(CSwordVerseKey *))); - connect(w_ref, SIGNAL(changed(CSwordVerseKey *)), SLOT(refChanged(CSwordVerseKey *))); + Q_ASSERT(ok); + + ok =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 @@ -63,7 +65,6 @@ void CBibleKeyChooser::setKey(CSwordKey* key) { Q_ASSERT(dynamic_cast<CSwordVerseKey*>(key)); if (dynamic_cast<CSwordVerseKey*>(key) == 0) return; - emit (beforeKeyChange(m_key->key())); //required to make direct setKey calls work from the outside m_key = dynamic_cast<CSwordVerseKey*>(key); w_ref->setKey(m_key); emit keyChanged(m_key); @@ -76,10 +77,6 @@ void CBibleKeyChooser::beforeRefChange(CSwordVerseKey* key) { if (!updatesEnabled()) return; - - if (m_key) - emit beforeKeyChange(m_key->key()); - } void CBibleKeyChooser::refChanged(CSwordVerseKey* key) { |