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