summaryrefslogtreecommitdiff
path: root/src/frontend/keychooser/versekeychooser
diff options
context:
space:
mode:
Diffstat (limited to 'src/frontend/keychooser/versekeychooser')
-rw-r--r--src/frontend/keychooser/versekeychooser/btbiblekeywidget.cpp48
-rw-r--r--src/frontend/keychooser/versekeychooser/btbiblekeywidget.h36
-rw-r--r--src/frontend/keychooser/versekeychooser/btdropdownchooserbutton.cpp5
-rw-r--r--src/frontend/keychooser/versekeychooser/btdropdownchooserbutton.h4
-rw-r--r--src/frontend/keychooser/versekeychooser/btversekeymenu.cpp16
-rw-r--r--src/frontend/keychooser/versekeychooser/btversekeymenu.h1
-rw-r--r--src/frontend/keychooser/versekeychooser/cbiblekeychooser.cpp9
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) {