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/btdropdownchooserbutton.cpp11
-rw-r--r--src/frontend/keychooser/versekeychooser/btdropdownchooserbutton.h2
-rw-r--r--src/frontend/keychooser/versekeychooser/btversekeymenu.cpp8
-rw-r--r--src/frontend/keychooser/versekeychooser/btversekeymenu.h1
-rw-r--r--src/frontend/keychooser/versekeychooser/cbiblekeychooser.cpp33
-rw-r--r--src/frontend/keychooser/versekeychooser/cbiblekeychooser.h13
-rw-r--r--src/frontend/keychooser/versekeychooser/ckeyreferencewidget.cpp49
-rw-r--r--src/frontend/keychooser/versekeychooser/ckeyreferencewidget.h13
8 files changed, 70 insertions, 60 deletions
diff --git a/src/frontend/keychooser/versekeychooser/btdropdownchooserbutton.cpp b/src/frontend/keychooser/versekeychooser/btdropdownchooserbutton.cpp
index 2d59bed..1e8c292 100644
--- a/src/frontend/keychooser/versekeychooser/btdropdownchooserbutton.cpp
+++ b/src/frontend/keychooser/versekeychooser/btdropdownchooserbutton.cpp
@@ -7,12 +7,13 @@
*
**********/
-#include "btdropdownchooserbutton.h"
-#include "ckeyreferencewidget.h"
-#include "btversekeymenu.h"
+#include "frontend/keychooser/versekeychooser/btdropdownchooserbutton.h"
-#include <QWheelEvent>
#include <QDebug>
+#include <QWheelEvent>
+#include "frontend/keychooser/versekeychooser/btversekeymenu.h"
+#include "frontend/keychooser/versekeychooser/ckeyreferencewidget.h"
+
const unsigned int ARROW_HEIGHT = 15;
@@ -36,7 +37,7 @@ BtDropdownChooserButton::BtDropdownChooserButton(CKeyReferenceWidget* ref)
void BtDropdownChooserButton::mousePressEvent(QMouseEvent* e) {
- //qDebug("BtDropdownChooserButton::mousePressEvent");
+ //qDebug() << "BtDropdownChooserButton::mousePressEvent";
//recreate the menu
menu()->clear();
this->newList();
diff --git a/src/frontend/keychooser/versekeychooser/btdropdownchooserbutton.h b/src/frontend/keychooser/versekeychooser/btdropdownchooserbutton.h
index 12f2f65..e9dbdc2 100644
--- a/src/frontend/keychooser/versekeychooser/btdropdownchooserbutton.h
+++ b/src/frontend/keychooser/versekeychooser/btdropdownchooserbutton.h
@@ -10,9 +10,9 @@
#ifndef BTDROPDOWNCHOOSERBUTTON_H
#define BTDROPDOWNCHOOSERBUTTON_H
-
#include <QToolButton>
+
class CKeyReferenceWidget;
/**
diff --git a/src/frontend/keychooser/versekeychooser/btversekeymenu.cpp b/src/frontend/keychooser/versekeychooser/btversekeymenu.cpp
index 82a07b7..c06a18d 100644
--- a/src/frontend/keychooser/versekeychooser/btversekeymenu.cpp
+++ b/src/frontend/keychooser/versekeychooser/btversekeymenu.cpp
@@ -7,19 +7,19 @@
*
**********/
-#include "btversekeymenu.h"
+#include "frontend/keychooser/versekeychooser/btversekeymenu.h"
+#include <QDebug>
#include <QMenu>
-#include <QTimerEvent>
#include <QMouseEvent>
+#include <QTimerEvent>
-#include <QDebug>
BtVerseKeyMenu::BtVerseKeyMenu(QWidget* parent)
: QMenu(parent),
m_timerId(0),
m_firstClickLock(true) {
- qDebug("BtVerseKeyMenu::BtVerseKeyMenu");
+ qDebug() << "BtVerseKeyMenu::BtVerseKeyMenu";
QObject::connect(this, SIGNAL(aboutToShow()), this, SLOT(startFirstClickDelayTimer()));
}
diff --git a/src/frontend/keychooser/versekeychooser/btversekeymenu.h b/src/frontend/keychooser/versekeychooser/btversekeymenu.h
index 29c0736..f47d0f5 100644
--- a/src/frontend/keychooser/versekeychooser/btversekeymenu.h
+++ b/src/frontend/keychooser/versekeychooser/btversekeymenu.h
@@ -12,6 +12,7 @@
#include <QMenu>
+
class QMouseEvent;
class QTimerEvent;
diff --git a/src/frontend/keychooser/versekeychooser/cbiblekeychooser.cpp b/src/frontend/keychooser/versekeychooser/cbiblekeychooser.cpp
index 493d9c4..7bcfbe1 100644
--- a/src/frontend/keychooser/versekeychooser/cbiblekeychooser.cpp
+++ b/src/frontend/keychooser/versekeychooser/cbiblekeychooser.cpp
@@ -7,21 +7,18 @@
*
**********/
-#include "cbiblekeychooser.h"
+#include "frontend/keychooser/versekeychooser/cbiblekeychooser.h"
-#include "../bthistory.h"
-#include "ckeyreferencewidget.h"
-#include "../cscrollbutton.h"
-
-#include "backend/keys/cswordversekey.h"
+#include <QDebug>
+#include <QHBoxLayout>
#include "backend/drivers/cswordbiblemoduleinfo.h"
#include "backend/drivers/cswordmoduleinfo.h"
-
+#include "backend/keys/cswordversekey.h"
+#include "frontend/keychooser/bthistory.h"
+#include "frontend/keychooser/cscrollbutton.h"
+#include "frontend/keychooser/versekeychooser/ckeyreferencewidget.h"
#include "util/cresmgr.h"
-#include <QHBoxLayout>
-#include <QDebug>
-
CBibleKeyChooser::CBibleKeyChooser(QList<CSwordModuleInfo*> modules, CSwordKey *key, QWidget *parent) :
CKeyChooser(modules, key, parent),
@@ -42,6 +39,7 @@ CBibleKeyChooser::CBibleKeyChooser(QList<CSwordModuleInfo*> modules, CSwordKey *
setFocusProxy(w_ref);
layout->addWidget(w_ref);
+ connect(w_ref, SIGNAL(beforeChange(CSwordVerseKey *)), SLOT(beforeRefChange(CSwordVerseKey *)));
connect(w_ref, SIGNAL(changed(CSwordVerseKey *)), SLOT(refChanged(CSwordVerseKey *)));
setKey(m_key); //set the key without changing it, setKey(key()) would change it
@@ -63,14 +61,25 @@ void CBibleKeyChooser::setKey(CSwordKey* key) {
emit keyChanged(m_key);
}
+void CBibleKeyChooser::beforeRefChange(CSwordVerseKey* key) {
+ Q_ASSERT(m_key);
+
+ if (!updatesEnabled())
+ return;
+
+ if (m_key)
+ emit beforeKeyChange(m_key->key());
+
+}
+
void CBibleKeyChooser::refChanged(CSwordVerseKey* key) {
Q_ASSERT(m_key);
Q_ASSERT(key);
- if (!updatesEnabled()) return;
+ if (!updatesEnabled())
+ return;
setUpdatesEnabled(false);
- if (m_key) emit beforeKeyChange(m_key->key());
m_key = key;
emit keyChanged(m_key);
diff --git a/src/frontend/keychooser/versekeychooser/cbiblekeychooser.h b/src/frontend/keychooser/versekeychooser/cbiblekeychooser.h
index e412e60..9501099 100644
--- a/src/frontend/keychooser/versekeychooser/cbiblekeychooser.h
+++ b/src/frontend/keychooser/versekeychooser/cbiblekeychooser.h
@@ -7,16 +7,14 @@
*
**********/
-
-
#ifndef CBIBLEKEYCHOOSER_H
#define CBIBLEKEYCHOOSER_H
+#include "frontend/keychooser/ckeychooser.h"
-#include "../ckeychooser.h"
+#include <QList>
#include "backend/drivers/cswordbiblemoduleinfo.h"
-#include <QList>
class QWidget;
@@ -57,8 +55,11 @@ class CBibleKeyChooser : public CKeyChooser {
*/
virtual void setModules(const QList<CSwordModuleInfo*>& modules, const bool refresh = true);
/**
- * used to react to changes
- * @param index not used
+ * used to do actions before key changes
+ */
+ void beforeRefChange(CSwordVerseKey *key);
+ /**
+ * used to do actions after key changes
*/
void refChanged(CSwordVerseKey *key);
diff --git a/src/frontend/keychooser/versekeychooser/ckeyreferencewidget.cpp b/src/frontend/keychooser/versekeychooser/ckeyreferencewidget.cpp
index 7cedfc0..067b4db 100644
--- a/src/frontend/keychooser/versekeychooser/ckeyreferencewidget.cpp
+++ b/src/frontend/keychooser/versekeychooser/ckeyreferencewidget.cpp
@@ -7,31 +7,26 @@
*
**********/
-//BibleTime includes
-#include "ckeyreferencewidget.h"
+#include "frontend/keychooser/versekeychooser/ckeyreferencewidget.h"
-#include "../cscrollerwidgetset.h"
-#include "btdropdownchooserbutton.h"
-
-#include "backend/config/cbtconfig.h"
-
-#include "backend/keys/cswordversekey.h"
-
-#include "util/cresmgr.h"
-#include "util/directoryutil.h"
-
-//Qt includes
#include <QApplication>
#include <QDebug>
+#include <QEvent>
+#include <QFocusEvent>
#include <QHBoxLayout>
#include <QLineEdit>
-#include <QEvent>
#include <QMouseEvent>
#include <QPixmap>
#include <QString>
#include <QStringList>
#include <QToolButton>
-#include <QFocusEvent>
+#include "backend/config/cbtconfig.h"
+#include "backend/keys/cswordversekey.h"
+#include "frontend/keychooser/cscrollerwidgetset.h"
+#include "frontend/keychooser/versekeychooser/btdropdownchooserbutton.h"
+#include "util/cresmgr.h"
+#include "util/directory.h"
+
class BtLineEdit : public QLineEdit {
public:
@@ -54,6 +49,7 @@ CKeyReferenceWidget::CKeyReferenceWidget( CSwordBibleModuleInfo *mod, CSwordVers
QWidget(parent),
m_key(key),
m_dropDownHoverTimer(this) {
+ namespace DU = util::directory;
updatelock = false;
m_module = mod;
@@ -61,7 +57,7 @@ CKeyReferenceWidget::CKeyReferenceWidget( CSwordBibleModuleInfo *mod, CSwordVers
setFocusPolicy(Qt::WheelFocus);
QToolButton* clearRef = new QToolButton(this);
- clearRef->setIcon(util::filesystem::DirectoryUtil::getIcon("edit_clear_locationbar"));
+ clearRef->setIcon(DU::getIcon("edit_clear_locationbar"));
clearRef->setAutoRaise(true);
clearRef->setStyleSheet("QToolButton{margin:0px;}");
connect(clearRef, SIGNAL(clicked()), SLOT(slotClearRef()) );
@@ -243,32 +239,33 @@ void CKeyReferenceWidget::slotUpdateUnlock() {
}
void CKeyReferenceWidget::slotStepBook(int n) {
- CSwordVerseKey key = *m_key;
- n > 0 ? key.next( CSwordVerseKey::UseBook ) : key.previous( CSwordVerseKey::UseBook );
+ emit beforeChange(m_key);
+ n > 0 ? m_key->next( CSwordVerseKey::UseBook ) : m_key->previous( CSwordVerseKey::UseBook );
if (!updatelock)
- emit changed(&key); // does *m_key = key
+ emit changed(m_key);
updateText();
}
void CKeyReferenceWidget::slotStepChapter(int n) {
- CSwordVerseKey key = *m_key;
- n > 0 ? key.next( CSwordVerseKey::UseChapter ) : key.previous( CSwordVerseKey::UseChapter );
+ emit beforeChange(m_key);
+ n > 0 ? m_key->next( CSwordVerseKey::UseChapter ) : m_key->previous( CSwordVerseKey::UseChapter );
if (!updatelock)
- emit changed(&key); // does *m_key = key
+ emit changed(m_key);
updateText();
}
void CKeyReferenceWidget::slotStepVerse(int n) {
- CSwordVerseKey key = *m_key;
- n > 0 ? key.next( CSwordVerseKey::UseVerse ) : key.previous( CSwordVerseKey::UseVerse );
+ emit beforeChange(m_key);
+ n > 0 ? m_key->next( CSwordVerseKey::UseVerse ) : m_key->previous( CSwordVerseKey::UseVerse );
if (!updatelock)
- emit changed(&key); // does *m_key = key
+ emit changed(m_key);
updateText();
}
void CKeyReferenceWidget::slotChangeVerse(int n) {
if (m_key->Verse() != n) {
+ emit beforeChange(m_key);
m_key->Verse( n );
setKey( m_key );
}
@@ -278,6 +275,7 @@ void CKeyReferenceWidget::slotChangeVerse(int n) {
void CKeyReferenceWidget::slotChangeChapter(int n) {
if (m_key->Chapter() != n) {
+ emit beforeChange(m_key);
m_key->Chapter( n );
setKey( m_key );
}
@@ -288,6 +286,7 @@ void CKeyReferenceWidget::slotChangeChapter(int n) {
void CKeyReferenceWidget::slotChangeBook(QString bookname) {
if (m_key->book() != bookname) {
+ emit beforeChange(m_key);
m_key->book( bookname );
setKey( m_key );
}
diff --git a/src/frontend/keychooser/versekeychooser/ckeyreferencewidget.h b/src/frontend/keychooser/versekeychooser/ckeyreferencewidget.h
index 95a188e..637530a 100644
--- a/src/frontend/keychooser/versekeychooser/ckeyreferencewidget.h
+++ b/src/frontend/keychooser/versekeychooser/ckeyreferencewidget.h
@@ -10,20 +10,18 @@
#ifndef CKEYREFERENCEWIDGET_H
#define CKEYREFERENCEWIDGET_H
-#include "../cscrollerwidgetset.h"
-#include "backend/drivers/cswordbiblemoduleinfo.h"
-
#include <QWidget>
+
#include <QTimer>
+#include "backend/drivers/cswordbiblemoduleinfo.h"
+#include "frontend/keychooser/cscrollerwidgetset.h"
+class BtDropdownChooserButton;
class CLexiconKeyChooser;
class CSwordVerseKey;
-class BtDropdownChooserButton;
-
class QLineEdit;
-
class CKeyReferenceWidget : public QWidget {
Q_OBJECT
public:
@@ -37,7 +35,8 @@ class CKeyReferenceWidget : public QWidget {
void setModule(CSwordBibleModuleInfo *m = 0);
bool eventFilter(QObject *o, QEvent *e);
- signals:
+signals:
+ void beforeChange(CSwordVerseKey* key);
void changed(CSwordVerseKey* key);
protected: