X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fqt%2FGuiPrefs.cpp;h=a5f4014874772d747b61ddaa73e0c1b974705b66;hb=5cb80b867f4a59c3253487652ba74a29ad5b3f0f;hp=4fb34521777bbdf0bd51fcb24dea1d45dd749e64;hpb=7f614397ed9e67e4eb71b9e2c9b8203312d19bbf;p=lyx.git diff --git a/src/frontends/qt/GuiPrefs.cpp b/src/frontends/qt/GuiPrefs.cpp index 4fb3452177..a5f4014874 100644 --- a/src/frontends/qt/GuiPrefs.cpp +++ b/src/frontends/qt/GuiPrefs.cpp @@ -2619,6 +2619,16 @@ PrefUserInterface::PrefUserInterface(GuiPreferences * form) this, SIGNAL(changed())); connect(tooltipCB, SIGNAL(toggled(bool)), this, SIGNAL(changed())); + connect(toggleTabbarCB, SIGNAL(toggled(bool)), + this, SIGNAL(changed())); + connect(toggleMenubarCB, SIGNAL(toggled(bool)), + this, SIGNAL(changed())); + connect(toggleScrollbarCB, SIGNAL(toggled(bool)), + this, SIGNAL(changed())); + connect(toggleStatusbarCB, SIGNAL(toggled(bool)), + this, SIGNAL(changed())); + connect(toggleToolbarsCB, SIGNAL(toggled(bool)), + this, SIGNAL(changed())); lastfilesSB->setMaximum(maxlastfiles); iconSetCO->addItem(qt_("Default"), QString()); @@ -2640,6 +2650,11 @@ void PrefUserInterface::applyRC(LyXRC & rc) const rc.use_system_theme_icons = useSystemThemeIconsCB->isChecked(); rc.num_lastfiles = lastfilesSB->value(); rc.use_tooltip = tooltipCB->isChecked(); + rc.full_screen_toolbars = toggleToolbarsCB->isChecked(); + rc.full_screen_scrollbar = toggleScrollbarCB->isChecked(); + rc.full_screen_statusbar = toggleStatusbarCB->isChecked(); + rc.full_screen_tabbar = toggleTabbarCB->isChecked(); + rc.full_screen_menubar = toggleMenubarCB->isChecked(); } @@ -2653,6 +2668,11 @@ void PrefUserInterface::updateRC(LyXRC const & rc) uiFileED->setText(toqstr(external_path(rc.ui_file))); lastfilesSB->setValue(rc.num_lastfiles); tooltipCB->setChecked(rc.use_tooltip); + toggleScrollbarCB->setChecked(rc.full_screen_scrollbar); + toggleStatusbarCB->setChecked(rc.full_screen_statusbar); + toggleToolbarsCB->setChecked(rc.full_screen_toolbars); + toggleTabbarCB->setChecked(rc.full_screen_tabbar); + toggleMenubarCB->setChecked(rc.full_screen_menubar); } @@ -2819,16 +2839,6 @@ PrefEdit::PrefEdit(GuiPreferences * form) this, SIGNAL(changed())); connect(screenWidthUnitCO, SIGNAL(selectionChanged(lyx::Length::UNIT)), this, SIGNAL(changed())); - connect(toggleTabbarCB, SIGNAL(toggled(bool)), - this, SIGNAL(changed())); - connect(toggleMenubarCB, SIGNAL(toggled(bool)), - this, SIGNAL(changed())); - connect(toggleScrollbarCB, SIGNAL(toggled(bool)), - this, SIGNAL(changed())); - connect(toggleStatusbarCB, SIGNAL(toggled(bool)), - this, SIGNAL(changed())); - connect(toggleToolbarsCB, SIGNAL(toggled(bool)), - this, SIGNAL(changed())); } @@ -2864,11 +2874,6 @@ void PrefEdit::applyRC(LyXRC & rc) const rc.cursor_width = cursorWidthSB->value(); rc.citation_search = citationSearchCB->isChecked(); rc.citation_search_pattern = fromqstr(citationSearchLE->text()); - rc.full_screen_toolbars = toggleToolbarsCB->isChecked(); - rc.full_screen_scrollbar = toggleScrollbarCB->isChecked(); - rc.full_screen_statusbar = toggleStatusbarCB->isChecked(); - rc.full_screen_tabbar = toggleTabbarCB->isChecked(); - rc.full_screen_menubar = toggleMenubarCB->isChecked(); rc.screen_width = Length(widgetsToLength(screenWidthLE, screenWidthUnitCO)); rc.screen_limit = screenLimitCB->isChecked(); } @@ -2888,11 +2893,6 @@ void PrefEdit::updateRC(LyXRC const & rc) citationSearchLE->setText(toqstr(rc.citation_search_pattern)); citationSearchLE->setEnabled(rc.citation_search); citationSearchLA->setEnabled(rc.citation_search); - toggleScrollbarCB->setChecked(rc.full_screen_scrollbar); - toggleStatusbarCB->setChecked(rc.full_screen_statusbar); - toggleToolbarsCB->setChecked(rc.full_screen_toolbars); - toggleTabbarCB->setChecked(rc.full_screen_tabbar); - toggleMenubarCB->setChecked(rc.full_screen_menubar); lengthToWidgets(screenWidthLE, screenWidthUnitCO, rc.screen_width, Length::defaultUnit()); screenWidthUnitCO->setEnabled(rc.screen_limit); screenLimitCB->setChecked(rc.screen_limit); @@ -3408,6 +3408,23 @@ bool PrefShortcuts::validateNewShortcut(FuncRequest const & func, // nothing to change return false; + // Check whether the key sequence is a prefix for other shortcuts. + if (oldBinding == FuncRequest::prefix) { + docstring const new_action_string = makeCmdString(func); + docstring const text = bformat(_("Shortcut `%1$s' is already a prefix for other commands.\n" + "Are you sure you want to unbind these commands and bind it to %2$s?"), + k.print(KeySequence::ForGui), new_action_string); + int ret = Alert::prompt(_("Redefine shortcut?"), + text, 0, 1, _("&Redefine"), _("&Cancel")); + if (ret != 0) + return false; + QString const sequence_text = toqstr(k.print(KeySequence::ForGui)); + QList items = shortcutsTW->findItems(sequence_text, + Qt::MatchFlags(Qt::MatchStartsWith | Qt::MatchRecursive), 1); + deactivateShortcuts(items); + return true; + } + // make sure this key isn't already bound---and, if so, prompt user // (exclude the lfun the user already wants to modify) docstring const action_string = makeCmdString(oldBinding);