summaryrefslogtreecommitdiff
path: root/src/frontend/settingsdialogs/cacceleratorsettings.cpp.OFF
diff options
context:
space:
mode:
Diffstat (limited to 'src/frontend/settingsdialogs/cacceleratorsettings.cpp.OFF')
-rw-r--r--src/frontend/settingsdialogs/cacceleratorsettings.cpp.OFF268
1 files changed, 0 insertions, 268 deletions
diff --git a/src/frontend/settingsdialogs/cacceleratorsettings.cpp.OFF b/src/frontend/settingsdialogs/cacceleratorsettings.cpp.OFF
deleted file mode 100644
index 66fa9dc..0000000
--- a/src/frontend/settingsdialogs/cacceleratorsettings.cpp.OFF
+++ /dev/null
@@ -1,268 +0,0 @@
-//
-// C++ Implementation: cacceleratorsettings
-//
-// Description:
-//
-//
-// Author: The BibleTime team <info@bibletime.info>, (C) 1999-2008
-//
-// Copyright: See COPYING file that comes with this distribution
-//
-//
-
-#include "cacceleratorsettings.h"
-#include "cacceleratorsettings.moc"
-
-#include "backend/config/cbtconfig.h"
-
-#include "frontend/displaywindow/cbiblereadwindow.h"
-#include "frontend/displaywindow/ccommentaryreadwindow.h"
-#include "frontend/displaywindow/clexiconreadwindow.h"
-#include "frontend/displaywindow/cbookreadwindow.h"
-#include "frontend/displaywindow/creadwindow.h"
-
-#include <QWidget>
-#include <QComboBox>
-#include <QStackedWidget>
-#include <QHBoxLayout>
-#include <QVBoxLayout>
-#include <QLabel>
-#include <QList>
-
-#include <kactioncollection.h>
-
-
-
-CAcceleratorSettingsPage::CAcceleratorSettingsPage(QWidget *parent)
- : QWidget(parent)
-{
- qDebug("CAcceleratorSettingsPage::CAcceleratorSettingsPage");
- //TODO: widget layout may not work. Maybe it would be easier to use .ui file.
-
- QVBoxLayout* mainLayout = new QVBoxLayout(this);
- this->setLayout(mainLayout);
- //TODO: actionCollection must exist, but is this the right way?
- m_application.actionCollection = new KActionCollection(this);
- CBTConfig::setupAccelSettings(
- CBTConfig::application,
- m_application.actionCollection
- );
- qDebug("create layout for window type chooser");
- QHBoxLayout* layoutForWindowTypeChooser = new QHBoxLayout(this);
- mainLayout->addLayout(layoutForWindowTypeChooser);
- QLabel* label = new QLabel(tr("Choose type:"), this);
- layoutForWindowTypeChooser->addWidget(label);
- m_typeChooser = new QComboBox(this);
- layoutForWindowTypeChooser->addWidget(m_typeChooser);
-
- connect(
- m_typeChooser, SIGNAL(activated(const QString&)),
- SLOT(slotKeyChooserTypeChanged(const QString&))
- );
- //too ugly! change!
- //QLabel* dummy = new QLabel( this); // empty label for stretch
- //hbox->addWidget(dummy);
-
- //hbox->setStretchFactor(label, 0);
- //hbox->setStretchFactor(m_typeChooser, 0);
- //hbox->setStretchFactor(dummy, 1);
-
- //mainLayout->setStretchFactor(hbox, 0);
- qDebug("create stack");
- m_keyChooserStack = new QStackedWidget(this);
-
- //mainLayout->setStretchFactor(m_keyChooserStack, 5);
-
- m_application.title = tr("BibleTime"); //don't set the app action collection to NULL
- m_general = WindowType(tr("All text windows"));
- m_bible = WindowType(tr("Bible windows"));
- m_commentary = WindowType(tr("Commentary windows"));
- m_lexicon = WindowType(tr("Lexicon windows"));
- m_book = WindowType(tr("Book windows"));
-
- m_typeChooser->addItem(m_application.title);
- m_typeChooser->addItem(m_general.title);
- m_typeChooser->addItem(m_bible.title);
- m_typeChooser->addItem(m_commentary.title);
- m_typeChooser->addItem(m_lexicon.title);
- m_typeChooser->addItem(m_book.title);
-
- qDebug("create shortcuteditors");
- Q_ASSERT(m_application.actionCollection);
- m_application.keyChooser = new KShortcutsEditor(
- m_application.actionCollection,
- m_keyChooserStack
- );
- qDebug("add first w");
- m_keyChooserStack->addWidget(m_application.keyChooser);
-
- // ----- All display windows ------ //
- m_general.actionCollection = new KActionCollection(this);
- CDisplayWindow::insertKeyboardActions( m_general.actionCollection);
- CBTConfig::setupAccelSettings(
- CBTConfig::allWindows,
- m_general.actionCollection
- );
- m_general.keyChooser = new KShortcutsEditor(
- m_general.actionCollection,
- m_keyChooserStack
- );
- qDebug("add second w");
- m_keyChooserStack->addWidget(m_general.keyChooser);
-
- // ----- Bible windows ------ //
- m_bible.actionCollection = new KActionCollection(this);
- CBibleReadWindow::insertKeyboardActions( m_bible.actionCollection);
- CBTConfig::setupAccelSettings(
- CBTConfig::bibleWindow,
- m_bible.actionCollection
- );
- //m_keyChooserStack->addWidget(m_bible.keyChooser);
-
- // ----- Commentary windows ------ //
- m_commentary.actionCollection = new KActionCollection(this);
- CCommentaryReadWindow::insertKeyboardActions( m_commentary.actionCollection);
- CBTConfig::setupAccelSettings(
- CBTConfig::commentaryWindow,
- m_commentary.actionCollection
- );
- //m_keyChooserStack->addWidget(m_commentary.keyChooser);
-
- // ----- Lexicon windows ------ //
- m_lexicon.actionCollection = new KActionCollection(this);
- CLexiconReadWindow::insertKeyboardActions( m_lexicon.actionCollection );
- CBTConfig::setupAccelSettings(
- CBTConfig::lexiconWindow,
- m_lexicon.actionCollection
- );
- //m_keyChooserStack->addWidget(m_lexicon.keyChooser);
-
- // ----- Book windows ------ //
- m_book.actionCollection= new KActionCollection(this);
- CBookReadWindow::insertKeyboardActions( m_book.actionCollection);
- CBTConfig::setupAccelSettings(
- CBTConfig::bookWindow,
- m_book.actionCollection
- );
- //m_keyChooserStack->addWidget(m_book.keyChooser);
-
- mainLayout->addWidget(m_keyChooserStack);
- slotKeyChooserTypeChanged(m_application.title);
-
- qDebug("CAcceleratorSettingsPage::CAcceleratorSettingsPage end");
-}
-
-
-CAcceleratorSettingsPage::~CAcceleratorSettingsPage()
-{
-}
-
-void CAcceleratorSettingsPage::save()
-{
- /* //TODO: does kde4 work without commitChanges?
- if (m_general.keyChooser) {
- m_general.keyChooser->commitChanges();
- }
-
- if (m_bible.keyChooser) {
- m_bible.keyChooser->commitChanges();
- }
-
- if (m_commentary.keyChooser) {
- m_commentary.keyChooser->commitChanges();
- }
-
- if (m_lexicon.keyChooser) {
- m_lexicon.keyChooser->commitChanges();
- }
-
- if (m_book.keyChooser) {
- m_book.keyChooser->commitChanges();
- }
- */
- CBTConfig::saveAccelSettings( //application
- CBTConfig::application,
- m_application.actionCollection
- );
- CBTConfig::saveAccelSettings( //read display windows
- CBTConfig::allWindows,
- m_general.actionCollection
- );
- CBTConfig::saveAccelSettings( //bible
- CBTConfig::bibleWindow,
- m_bible.actionCollection
- );
- CBTConfig::saveAccelSettings( //commentary
- CBTConfig::commentaryWindow,
- m_commentary.actionCollection
- );
- CBTConfig::saveAccelSettings( //lexicon
- CBTConfig::lexiconWindow,
- m_lexicon.actionCollection
- );
- CBTConfig::saveAccelSettings( //book
- CBTConfig::bookWindow,
- m_book.actionCollection
- );
-}
-
-
-void CAcceleratorSettingsPage::slotKeyChooserTypeChanged(const QString& title)
-{
- qDebug("CAcceleratorSettingsPage::slotKeyChooserTypeChanged");
- //delete all KShortcutsEditors which may not share accels, because this class checks in all instances for key conflicts
- typedef QList<KShortcutsEditor*> KeyChooserList;
- KeyChooserList list;
- list.append(m_bible.keyChooser);
- list.append(m_commentary.keyChooser);
- list.append(m_lexicon.keyChooser);
- list.append(m_book.keyChooser);
-
- //commit all changes in the keychoosers
- //for (KeyChooserList::iterator it(list.begin()); it != list.end(); ++it) {
- // if (*it) { //the list may contain NULL pointers
- // (*it)->commitChanges();
- // }
- //}
-
- /* Delete all the keychoosers in the list,
- * the keychoosers are set to NULL, because they are QGuardedPtr
- */
- //list.setAutoDelete(true);
- qDeleteAll(list);
- list.clear();
-
- WindowType* t = 0;
- if (title == m_application.title) { //Application wide
- t = &m_application;
- }
- else if (title == m_general.title) { // All display windows
- t = &m_general;
- }
- else if (title == m_bible.title) { // Bible windows
- t = &m_bible;
- }
- else if (title == m_commentary.title) { // Commentary windows
- t = &m_commentary;
- }
- else if (title == m_lexicon.title) { // Lexicon windows
- t = &m_lexicon;
- }
- else if (title == m_book.title) { // Book windows
- t = &m_book;
- }
-
- Q_ASSERT(t);
- if (!t->keyChooser) { //was deleted, create a new one
- t->keyChooser = new KShortcutsEditor(
- m_keyChooserStack
- );
- t->keyChooser->addCollection(
- t->actionCollection,
- t->title
- );
- }
-
- m_keyChooserStack->setCurrentWidget(t->keyChooser);
- qDebug("CAcceleratorSettingsPage::slotKeyChooserTypeChanged end");
-}