diff --git a/development/scons/scons_manifest.py b/development/scons/scons_manifest.py index fb519458e8..19c06f6e36 100644 --- a/development/scons/scons_manifest.py +++ b/development/scons/scons_manifest.py @@ -974,6 +974,7 @@ src_frontends_qt4_ui_files = Split(''' PrefPlaintextUi.ui PrefPrinterUi.ui PrefScreenFontsUi.ui + PrefShortcutsUi.ui PrefSpellcheckerUi.ui PrefUi.ui PrefsUi.ui diff --git a/src/frontends/qt4/GuiPrefs.cpp b/src/frontends/qt4/GuiPrefs.cpp index f17e9acd41..a6d42c34c5 100644 --- a/src/frontends/qt4/GuiPrefs.cpp +++ b/src/frontends/qt4/GuiPrefs.cpp @@ -1583,12 +1583,8 @@ PrefUserInterface::PrefUserInterface(GuiPreferences * form, QWidget * parent) TextLabel1, SLOT(setEnabled(bool))); connect(uiFilePB, SIGNAL(clicked()), this, SLOT(select_ui())); - connect(bindFilePB, SIGNAL(clicked()), - this, SLOT(select_bind())); connect(uiFileED, SIGNAL(textChanged(const QString &)), this, SIGNAL(changed())); - connect(bindFileED, SIGNAL(textChanged(const QString &)), - this, SIGNAL(changed())); connect(restoreCursorCB, SIGNAL(clicked()), this, SIGNAL(changed())); connect(loadSessionCB, SIGNAL(clicked()), @@ -1616,7 +1612,6 @@ PrefUserInterface::PrefUserInterface(GuiPreferences * form, QWidget * parent) void PrefUserInterface::apply(LyXRC & rc) const { rc.ui_file = internal_path(fromqstr(uiFileED->text())); - rc.bind_file = internal_path(fromqstr(bindFileED->text())); rc.use_lastfilepos = restoreCursorCB->isChecked(); rc.load_session = loadSessionCB->isChecked(); if (loadWindowSizeCB->isChecked()) { @@ -1637,7 +1632,6 @@ void PrefUserInterface::apply(LyXRC & rc) const void PrefUserInterface::update(LyXRC const & rc) { uiFileED->setText(toqstr(external_path(rc.ui_file))); - bindFileED->setText(toqstr(external_path(rc.bind_file))); restoreCursorCB->setChecked(rc.use_lastfilepos); loadSessionCB->setChecked(rc.load_session); bool loadWindowSize = rc.geometry_width == 0 && rc.geometry_height == 0; @@ -1668,16 +1662,6 @@ void PrefUserInterface::select_ui() } -void PrefUserInterface::select_bind() -{ - docstring const name = - from_utf8(internal_path(fromqstr(bindFileED->text()))); - docstring file = form_->browsebind(name); - if (!file.empty()) - bindFileED->setText(toqstr(file)); -} - - void PrefUserInterface::on_loadWindowSizeCB_toggled(bool loadwindowsize) { windowWidthLA->setDisabled(loadwindowsize); @@ -1687,6 +1671,46 @@ void PrefUserInterface::on_loadWindowSizeCB_toggled(bool loadwindowsize) } +///////////////////////////////////////////////////////////////////// +// +// PrefShortcuts +// +///////////////////////////////////////////////////////////////////// + +PrefShortcuts::PrefShortcuts(GuiPreferences * form, QWidget * parent) + : PrefModule(_("Shortcuts"), form, parent) +{ + setupUi(this); + + connect(bindFilePB, SIGNAL(clicked()), + this, SLOT(select_bind())); + connect(bindFileED, SIGNAL(textChanged(const QString &)), + this, SIGNAL(changed())); +} + + +void PrefShortcuts::apply(LyXRC & rc) const +{ + rc.bind_file = internal_path(fromqstr(bindFileED->text())); +} + + +void PrefShortcuts::update(LyXRC const & rc) +{ + bindFileED->setText(toqstr(external_path(rc.bind_file))); +} + + +void PrefShortcuts::select_bind() +{ + docstring const name = + from_utf8(internal_path(fromqstr(bindFileED->text()))); + docstring file = form_->browsebind(name); + if (!file.empty()) + bindFileED->setText(toqstr(file)); +} + + PrefIdentity::PrefIdentity(QWidget * parent) : PrefModule(_("Identity"), 0, parent) { @@ -1734,6 +1758,7 @@ GuiPreferences::GuiPreferences(LyXView & lv) connect(restorePB, SIGNAL(clicked()), this, SLOT(slotRestore())); add(new PrefUserInterface(this)); + add(new PrefShortcuts(this)); add(new PrefScreenFonts(this)); add(new PrefColors(this)); add(new PrefDisplay); diff --git a/src/frontends/qt4/GuiPrefs.h b/src/frontends/qt4/GuiPrefs.h index 70ad48eee0..d4ca92472d 100644 --- a/src/frontends/qt4/GuiPrefs.h +++ b/src/frontends/qt4/GuiPrefs.h @@ -30,6 +30,7 @@ #include "ui_PrefColorsUi.h" #include "ui_PrefDisplayUi.h" #include "ui_PrefPathsUi.h" +#include "ui_PrefShortcutsUi.h" #include "ui_PrefSpellcheckerUi.h" #include "ui_PrefConvertersUi.h" #include "ui_PrefFileformatsUi.h" @@ -338,12 +339,26 @@ public: public Q_SLOTS: void select_ui(); - void select_bind(); void on_loadWindowSizeCB_toggled(bool); }; +class PrefShortcuts : public PrefModule, public Ui::PrefShortcuts +{ + Q_OBJECT +public: + PrefShortcuts(GuiPreferences * form, QWidget * parent = 0); + + void apply(LyXRC & rc) const; + void update(LyXRC const & rc); + +public Q_SLOTS: + void select_bind(); + +}; + + class PrefIdentity : public PrefModule, public Ui::PrefIdentityUi { Q_OBJECT diff --git a/src/frontends/qt4/Makefile.am b/src/frontends/qt4/Makefile.am index 583e0c85f9..0cb90ec9d0 100644 --- a/src/frontends/qt4/Makefile.am +++ b/src/frontends/qt4/Makefile.am @@ -276,6 +276,7 @@ UIFILES = \ PrefPlaintextUi.ui \ PrefPrinterUi.ui \ PrefScreenFontsUi.ui \ + PrefShortcutsUi.ui \ PrefSpellcheckerUi.ui \ PrefsUi.ui \ PrefUi.ui \ diff --git a/src/frontends/qt4/ui/PrefShortcutsUi.ui b/src/frontends/qt4/ui/PrefShortcutsUi.ui new file mode 100644 index 0000000000..57810409c6 --- /dev/null +++ b/src/frontends/qt4/ui/PrefShortcutsUi.ui @@ -0,0 +1,74 @@ + + PrefShortcuts + + + + 0 + 0 + 398 + 418 + + + + + 1 + 1 + 0 + 0 + + + + + + + + 9 + + + 6 + + + + + B&rowse... + + + + + + + &Bind file: + + + bindFileED + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + bindFileED + bindFilePB + + + qt_helpers.h + + + + diff --git a/src/frontends/qt4/ui/PrefUi.ui b/src/frontends/qt4/ui/PrefUi.ui index 6fdd3a6fb7..4edfe17e82 100644 --- a/src/frontends/qt4/ui/PrefUi.ui +++ b/src/frontends/qt4/ui/PrefUi.ui @@ -163,13 +163,6 @@ - - - - B&rowse... - - - @@ -180,16 +173,6 @@ - - - - &Bind file: - - - bindFileED - - - @@ -200,9 +183,6 @@ - - - @@ -378,8 +358,6 @@ uiFileED uiFilePB - bindFileED - bindFilePB loadWindowSizeCB windowWidthSB windowHeightSB