]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt/GuiPrefs.cpp
Hack to display section symbol
[lyx.git] / src / frontends / qt / GuiPrefs.cpp
index 4fb34521777bbdf0bd51fcb24dea1d45dd749e64..a5f4014874772d747b61ddaa73e0c1b974705b66 100644 (file)
@@ -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<QTreeWidgetItem*> 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);