CAcceleratorSettingsPage::CAcceleratorSettingsPage(QWidget* /* parent */ ) : BtConfigPage() { QVBoxLayout* mainLayout = new QVBoxLayout(this); this->setLayout(mainLayout); QHBoxLayout* layoutForWindowTypeChooser = new QHBoxLayout(); mainLayout->addLayout(layoutForWindowTypeChooser); QLabel* label = new QLabel(tr("Choose action group:"), this); layoutForWindowTypeChooser->addWidget(label); m_typeChooser = new QComboBox(this); layoutForWindowTypeChooser->addWidget(m_typeChooser); bool ok = connect(m_typeChooser, SIGNAL(activated(const QString&)), SLOT(slotKeyChooserTypeChanged(const QString&)) ); Q_ASSERT(ok); m_keyChooserStack = new QStackedWidget(this); m_application.title = tr("Main Window"); 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); // create shortcuteditors // ------ Application -------------- // m_application.actionCollection = new BtActionCollection(this); BibleTime::insertKeyboardActions( m_application.actionCollection); CBTConfig::setupAccelSettings(CBTConfig::application, m_application.actionCollection); m_application.keyChooser = new BtShortcutsEditor(m_application.actionCollection,m_keyChooserStack); m_keyChooserStack->addWidget(m_application.keyChooser); ok = connect(m_application.keyChooser, SIGNAL(keyChangeRequest(BtShortcutsEditor*, const QString&)), this, SLOT(completeKeyChangeRequest(BtShortcutsEditor*, const QString&))); Q_ASSERT(ok); // ----- All display windows ------ // m_general.actionCollection = new BtActionCollection(this); CDisplayWindow::insertKeyboardActions( m_general.actionCollection); CBTConfig::setupAccelSettings(CBTConfig::allWindows,m_general.actionCollection); m_general.keyChooser = new BtShortcutsEditor(m_general.actionCollection, m_keyChooserStack); m_keyChooserStack->addWidget(m_general.keyChooser); ok = connect(m_general.keyChooser, SIGNAL(keyChangeRequest(BtShortcutsEditor*, const QString&)), this, SLOT(completeKeyChangeRequest(BtShortcutsEditor*, const QString&))); Q_ASSERT(ok); // ----- Bible windows ------ // m_bible.actionCollection = new BtActionCollection(this); CBibleReadWindow::insertKeyboardActions( m_bible.actionCollection); CBTConfig::setupAccelSettings(CBTConfig::bibleWindow,m_bible.actionCollection); m_bible.keyChooser = new BtShortcutsEditor(m_bible.actionCollection, m_keyChooserStack); m_keyChooserStack->addWidget(m_bible.keyChooser); ok = connect(m_bible.keyChooser, SIGNAL(keyChangeRequest(BtShortcutsEditor*, const QString&)), this, SLOT(completeKeyChangeRequest(BtShortcutsEditor*, const QString&))); Q_ASSERT(ok); // ----- Commentary windows ------ // m_commentary.actionCollection = new BtActionCollection(this); CCommentaryReadWindow::insertKeyboardActions( m_commentary.actionCollection); CBTConfig::setupAccelSettings(CBTConfig::commentaryWindow, m_commentary.actionCollection); m_commentary.keyChooser = new BtShortcutsEditor(m_commentary.actionCollection, m_keyChooserStack); m_keyChooserStack->addWidget(m_commentary.keyChooser); ok = connect(m_commentary.keyChooser, SIGNAL(keyChangeRequest(BtShortcutsEditor*, const QString&)), this, SLOT(completeKeyChangeRequest(BtShortcutsEditor*, const QString&))); Q_ASSERT(ok); // ----- Lexicon windows ------ // m_lexicon.actionCollection = new BtActionCollection(this); CLexiconReadWindow::insertKeyboardActions( m_lexicon.actionCollection ); CBTConfig::setupAccelSettings(CBTConfig::lexiconWindow, m_lexicon.actionCollection); m_lexicon.keyChooser = new BtShortcutsEditor(m_lexicon.actionCollection, m_keyChooserStack ); m_keyChooserStack->addWidget(m_lexicon.keyChooser); ok = connect(m_lexicon.keyChooser, SIGNAL(keyChangeRequest(BtShortcutsEditor*, const QString&)), this, SLOT(completeKeyChangeRequest(BtShortcutsEditor*, const QString&))); Q_ASSERT(ok); // ----- Book windows ------ // m_book.actionCollection= new BtActionCollection(this); CBookReadWindow::insertKeyboardActions( m_book.actionCollection); CBTConfig::setupAccelSettings(CBTConfig::bookWindow, m_book.actionCollection); m_book.keyChooser = new BtShortcutsEditor(m_book.actionCollection, m_keyChooserStack); m_keyChooserStack->addWidget(m_book.keyChooser); ok = connect(m_book.keyChooser, SIGNAL(keyChangeRequest(BtShortcutsEditor*, const QString&)), this, SLOT(completeKeyChangeRequest(BtShortcutsEditor*, const QString&))); Q_ASSERT(ok); mainLayout->addWidget(m_keyChooserStack); slotKeyChooserTypeChanged(m_application.title); m_typeChooser->setFocus(Qt::MouseFocusReason); qDebug("CAcceleratorSettingsPage::CAcceleratorSettingsPage end"); }
CAcceleratorSettingsPage::CAcceleratorSettingsPage(CConfigurationDialog *parent) : BtConfigDialog::Page(CResMgr::settings::keys::icon(), parent) { QVBoxLayout *mainLayout = new QVBoxLayout(this); QHBoxLayout* layoutForWindowTypeChooser = new QHBoxLayout(); mainLayout->addLayout(layoutForWindowTypeChooser); m_actionGroupLabel = new QLabel(this); layoutForWindowTypeChooser->addWidget(m_actionGroupLabel); m_typeChooser = new QComboBox(this); layoutForWindowTypeChooser->addWidget(m_typeChooser); BT_CONNECT(m_typeChooser, SIGNAL(activated(QString const &)), SLOT(slotKeyChooserTypeChanged(QString const &)) ); // m_*.title strings are empty here, they are filled and added to the stacked widget in the retranslateUi() function m_keyChooserStack = new QStackedWidget(this); retranslateUi(); // create shortcuteditors // ------ Application -------------- // m_application.actionCollection = new BtActionCollection(this); BibleTime::insertKeyboardActions( m_application.actionCollection); m_application.actionCollection->readShortcuts("Application shortcuts"); m_application.keyChooser = new BtShortcutsEditor(m_application.actionCollection, m_keyChooserStack); m_keyChooserStack->addWidget(m_application.keyChooser); BT_CONNECT(m_application.keyChooser, SIGNAL(keyChangeRequest(BtShortcutsEditor *, QString const &)), this, SLOT(completeKeyChangeRequest(BtShortcutsEditor *, QString const &))); // ----- All display windows ------ // m_general.actionCollection = new BtActionCollection(this); CDisplayWindow::insertKeyboardActions( m_general.actionCollection); m_general.actionCollection->readShortcuts("Displaywindow shortcuts"); m_general.keyChooser = new BtShortcutsEditor(m_general.actionCollection, m_keyChooserStack); m_keyChooserStack->addWidget(m_general.keyChooser); BT_CONNECT(m_general.keyChooser, SIGNAL(keyChangeRequest(BtShortcutsEditor *, QString const &)), this, SLOT(completeKeyChangeRequest(BtShortcutsEditor *, QString const &))); // ----- Bible windows ------ // m_bible.actionCollection = new BtActionCollection(this); CBibleReadWindow::insertKeyboardActions( m_bible.actionCollection); m_bible.actionCollection->readShortcuts("Bible shortcuts"); m_bible.keyChooser = new BtShortcutsEditor(m_bible.actionCollection, m_keyChooserStack); m_keyChooserStack->addWidget(m_bible.keyChooser); BT_CONNECT(m_bible.keyChooser, SIGNAL(keyChangeRequest(BtShortcutsEditor *, QString const &)), this, SLOT(completeKeyChangeRequest(BtShortcutsEditor *, QString const &))); // ----- Commentary windows ------ // m_commentary.actionCollection = new BtActionCollection(this); CCommentaryReadWindow::insertKeyboardActions( m_commentary.actionCollection); m_commentary.actionCollection->readShortcuts("Commentary shortcuts"); m_commentary.keyChooser = new BtShortcutsEditor(m_commentary.actionCollection, m_keyChooserStack); m_keyChooserStack->addWidget(m_commentary.keyChooser); BT_CONNECT(m_commentary.keyChooser, SIGNAL(keyChangeRequest(BtShortcutsEditor *, QString const &)), this, SLOT(completeKeyChangeRequest(BtShortcutsEditor *, QString const &))); // ----- Lexicon windows ------ // m_lexicon.actionCollection = new BtActionCollection(this); CLexiconReadWindow::insertKeyboardActions( m_lexicon.actionCollection ); m_lexicon.actionCollection->readShortcuts("Lexicon shortcuts"); m_lexicon.keyChooser = new BtShortcutsEditor(m_lexicon.actionCollection, m_keyChooserStack); m_keyChooserStack->addWidget(m_lexicon.keyChooser); BT_CONNECT(m_lexicon.keyChooser, SIGNAL(keyChangeRequest(BtShortcutsEditor *, QString const &)), this, SLOT(completeKeyChangeRequest(BtShortcutsEditor *, QString const &))); // ----- Book windows ------ // m_book.actionCollection = new BtActionCollection(this); CBookReadWindow::insertKeyboardActions( m_book.actionCollection); m_book.actionCollection->readShortcuts("Book shortcuts"); m_book.keyChooser = new BtShortcutsEditor(m_book.actionCollection, m_keyChooserStack); m_keyChooserStack->addWidget(m_book.keyChooser); BT_CONNECT(m_book.keyChooser, SIGNAL(keyChangeRequest(BtShortcutsEditor *, QString const &)), this, SLOT(completeKeyChangeRequest(BtShortcutsEditor *, QString const &))); mainLayout->addWidget(m_keyChooserStack); slotKeyChooserTypeChanged(m_application.title); m_typeChooser->setFocus(Qt::MouseFocusReason); retranslateUi(); }