Mercurial > hg > octave-nkf
diff libgui/src/settings-dialog.cc @ 19017:3f6280d0a36b gui-release
allow export and import of shortcut sets
* settings-dialog.ui: new buttons for import/export of one of the shortcut sets
* settings-dialog.cc (constrctor): bundle the code for the shortcut settings,
connect slots to signals from the import/export-buttons;
(im-/export_shortcut_set1/2): four new slots for the buttons signals
* settings-dialog.h: new slots
* shortcut-manager.cc (do_fill_treewidget): some code formatting;
(do_write_shortcuts): set and settings as parameters, distinguish if all
or only one set has to be written into the file;
(import_shortcuts): new function for reading a shortcut set from a
settings file;
(do_import_export): new function called from the static wrapper function
import_export for importing or exporting a shortcut sets;
(enter_shortcut::enter_shortcut, enter_shortcut::handle_direct_shortcut,
enter_shortcut::keyPressevent): added some comments
* shortcut-manager.h (write_shortcuts): new parameters set and settings;
(import_export): new static function;
(do_write_shortcuts): new parameters set and settings;
(do_import_export, import_shortcuts): new functions
author | Torsten <ttl@justmail.de> |
---|---|
date | Thu, 12 Jun 2014 18:45:29 +0200 |
parents | f6f1f27026bb |
children | 6504a1932637 |
line wrap: on
line diff
--- a/libgui/src/settings-dialog.cc +++ b/libgui/src/settings-dialog.cc @@ -58,8 +58,6 @@ { ui->setupUi (this); - shortcut_manager::fill_treewidget (ui->shortcuts_treewidget); - QSettings *settings = resource_manager::get_settings (); // restore last geometry @@ -280,12 +278,27 @@ read_terminal_colors (settings); // shortcuts + ui->cb_prevent_readline_conflicts->setChecked ( settings->value ("shortcuts/prevent_readline_conflicts", true).toBool ()); int set = settings->value ("shortcuts/set",0).toInt (); ui->rb_sc_set1->setChecked (set == 0); ui->rb_sc_set2->setChecked (set == 1); + // initialize the tree view with all shortcut data + shortcut_manager::fill_treewidget (ui->shortcuts_treewidget); + + // connect the buttons for import/export of the shortcut sets + connect (ui->btn_import_shortcut_set1, SIGNAL (clicked ()), + this, SLOT (import_shortcut_set1 ())); + connect (ui->btn_export_shortcut_set1, SIGNAL (clicked ()), + this, SLOT (export_shortcut_set1 ())); + connect (ui->btn_import_shortcut_set2, SIGNAL (clicked ()), + this, SLOT (import_shortcut_set2 ())); + connect (ui->btn_export_shortcut_set2, SIGNAL (clicked ()), + this, SLOT (export_shortcut_set2 ())); + + #ifdef HAVE_QSCINTILLA // editor styles: create lexer, read settings, and create dialog elements QsciLexer *lexer; @@ -713,7 +726,7 @@ if (ui->rb_sc_set2->isChecked ()) set = 1; settings->setValue ("shortcuts/set",set); - shortcut_manager::write_shortcuts (); + shortcut_manager::write_shortcuts (0, settings); // 0: write both sets // settings dialog's geometry settings->setValue ("settings/last_tab",ui->tabWidget->currentIndex ()); @@ -882,3 +895,28 @@ ui->pb_file_browser_dir->setDisabled (disable); } } + +// slots for import/export of shortcut sets +void +settings_dialog::import_shortcut_set1 () +{ + shortcut_manager::import_export (true,1); +} + +void +settings_dialog::export_shortcut_set1 () +{ + shortcut_manager::import_export (false,1); +} + +void +settings_dialog::import_shortcut_set2 () +{ + shortcut_manager::import_export (true,2); +} + +void +settings_dialog::export_shortcut_set2 () +{ + shortcut_manager::import_export (false,2); +}