Mercurial > octave
changeset 20753:7d6f38541902
default encoding for editor on non windows systems is utf-8 (bug #45597)
* file-editor-tab.cc (load_file, save_file): default encoding is SYSTEM
on on windows and UTF-8 otherwise
* settings-dialog.cc (write_changed_settings): write current text from combo
box into settings file without further checking for system;
(init_combo_encoding): default is SYSTEM on windows and UTF-8 otherwise
when reading from settings file, defaults are prepended to the top
of the combo box
author | Torsten <ttl@justmail.de> |
---|---|
date | Wed, 25 Nov 2015 19:14:11 +0100 |
parents | c5e8863858b4 |
children | e6ccc8ae9e41 |
files | libgui/src/m-editor/file-editor-tab.cc libgui/src/settings-dialog.cc |
diffstat | 2 files changed, 21 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/libgui/src/m-editor/file-editor-tab.cc Wed Nov 25 08:47:26 2015 -0800 +++ b/libgui/src/m-editor/file-editor-tab.cc Wed Nov 25 19:14:11 2015 +0100 @@ -1359,8 +1359,13 @@ QTextStream in (&file); // set the desired codec QSettings *settings = resource_manager::get_settings (); +#if defined (Q_OS_WIN32) QString encoding = settings->value ("editor/default_encoding","SYSTEM") .toString (); +#else + QString encoding = settings->value ("editor/default_encoding","UTF-8") + .toString (); +#endif QTextCodec *codec = QTextCodec::codecForName (encoding.toAscii ()); in.setCodec(codec); @@ -1520,8 +1525,13 @@ // set the desired codec QSettings *settings = resource_manager::get_settings (); +#if defined (Q_OS_WIN32) QString encoding = settings->value ("editor/default_encoding","SYSTEM") .toString (); +#else + QString encoding = settings->value ("editor/default_encoding","UTF-8") + .toString (); +#endif QTextCodec *codec = QTextCodec::codecForName (encoding.toAscii ()); out.setCodec(codec);
--- a/libgui/src/settings-dialog.cc Wed Nov 25 08:47:26 2015 -0800 +++ b/libgui/src/settings-dialog.cc Wed Nov 25 19:14:11 2015 +0100 @@ -803,10 +803,8 @@ ui->cb_show_hscrollbar->isChecked ()); settings->setValue ("editor/default_eol_mode", ui->combo_eol_mode->currentIndex ()); - QString encoding = ui->editor_combo_encoding->currentText (); - if (encoding == tr ("System default")) - encoding = "SYSTEM"; - settings->setValue ("editor/default_encoding", encoding); + settings->setValue ("editor/default_encoding", + ui->editor_combo_encoding->currentText ()); settings->setValue ("editor/auto_indent", ui->editor_auto_ind_checkbox->isChecked ()); settings->setValue ("editor/tab_indents_line", @@ -1038,26 +1036,25 @@ } all_codecs.removeDuplicates (); - // remove the "system" entry - int idx = all_codecs.indexOf ("SYSTEM"); - if (idx >= 0) - all_codecs.removeAt (idx); - // sort and prepend meaningfull text for system's default codec +#if defined (Q_OS_WIN32) + QString def_enc = "SYSTEM"; +#else + QString def_enc = "UTF-8"; +#endif qSort (all_codecs); - all_codecs.prepend (tr ("System default")); + ui->editor_combo_encoding->insertSeparator (0); + ui->editor_combo_encoding->insertItem (0, def_enc); // get the value from the settings file (system is default) - QString encoding = settings->value ("editor/default_encoding","SYSTEM") + QString encoding = settings->value ("editor/default_encoding",def_enc) .toString (); - if (encoding == "SYSTEM") - encoding = tr ("System default"); // fill the combo box and select the current item or system if // current item from the settings file can not be found foreach (QString c, all_codecs) ui->editor_combo_encoding->addItem (c); - idx = ui->editor_combo_encoding->findText (encoding); + int idx = ui->editor_combo_encoding->findText (encoding); if (idx >= 0) ui->editor_combo_encoding->setCurrentIndex (idx); else