diff options
Diffstat (limited to 'src/frontend/keychooser/versekeychooser/btbiblekeywidget.cpp')
-rw-r--r-- | src/frontend/keychooser/versekeychooser/btbiblekeywidget.cpp | 48 |
1 files changed, 37 insertions, 11 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) |