Mercurial > octave-nkf
diff libgui/src/settings-dialog.cc @ 18884:479d1d3cb5c3
maint: Periodic merge of gui-release to default.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Thu, 19 Jun 2014 18:08:00 -0400 |
parents | dff05c124017 6504a1932637 |
children | dcb260e7a648 |
line wrap: on
line diff
--- a/libgui/src/settings-dialog.cc Wed Jun 18 19:38:40 2014 -0600 +++ b/libgui/src/settings-dialog.cc Thu Jun 19 18:08:00 2014 -0400 @@ -58,8 +58,6 @@ { ui->setupUi (this); - shortcut_manager::fill_treewidget (ui->shortcuts_treewidget); - QSettings *settings = resource_manager::get_settings (); // restore last geometry @@ -168,6 +166,14 @@ settings->value ("editor/codeCompletion_threshold",2).toInt ()); ui->editor_checkbox_ac_keywords->setChecked ( settings->value ("editor/codeCompletion_keywords",true).toBool ()); + ui->editor_checkbox_ac_builtins->setEnabled ( + ui->editor_checkbox_ac_keywords->isChecked ()); + ui->editor_checkbox_ac_functions->setEnabled ( + ui->editor_checkbox_ac_keywords->isChecked ()); + ui->editor_checkbox_ac_builtins->setChecked ( + settings->value ("editor/codeCompletion_octave_builtins",true).toBool ()); + ui->editor_checkbox_ac_functions->setChecked ( + settings->value ("editor/codeCompletion_octave_functions",true).toBool ()); ui->editor_checkbox_ac_document->setChecked ( settings->value ("editor/codeCompletion_document",false).toBool ()); ui->editor_checkbox_ac_case->setChecked ( @@ -280,12 +286,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; @@ -592,6 +613,10 @@ ui->editor_spinbox_ac_threshold->value ()); settings->setValue ("editor/codeCompletion_keywords", ui->editor_checkbox_ac_keywords->isChecked ()); + settings->setValue ("editor/codeCompletion_octave_builtins", + ui->editor_checkbox_ac_builtins->isChecked ()); + settings->setValue ("editor/codeCompletion_octave_functions", + ui->editor_checkbox_ac_functions->isChecked ()); settings->setValue ("editor/codeCompletion_document", ui->editor_checkbox_ac_document->isChecked ()); settings->setValue ("editor/codeCompletion_case", @@ -713,7 +738,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 +907,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); +}