changeset 17979:a761ba02a52f

some code cleanup in file_editor_tab * file-editor-tab.cc (valid_file_name): input parameter is checked if it names a file; if no or empty parameter is given, _file_name is checked instead (update_lexer, update_window_title, save_file, save_file_as): make use of the function valid_file_name * file-editor-tab.h: valid_file_name with string parameter which is empty by default
author Torsten <ttl@justmail.de>
date Thu, 21 Nov 2013 21:42:03 +0100
parents 86846ce0371a
children 824c05a6d3ec
files libgui/src/m-editor/file-editor-tab.cc libgui/src/m-editor/file-editor-tab.h
diffstat 2 files changed, 15 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/libgui/src/m-editor/file-editor-tab.cc	Thu Nov 21 12:14:24 2013 -0800
+++ b/libgui/src/m-editor/file-editor-tab.cc	Thu Nov 21 21:42:03 2013 +0100
@@ -216,12 +216,18 @@
   emit mru_add_file (_file_name);
 }
 
-// valid_file_name: checks whether editor tab contains an existing file
+// valid_file_name (file): checks whether "file" names a file
+// by default, "file" is empty, then _file_name is checked
 bool
-file_editor_tab::valid_file_name ()
+file_editor_tab::valid_file_name (const QString& file)
 {
-  return (! _file_name.isEmpty ()
-          && _file_name.at (_file_name.count () - 1) != '/');
+  QString file_name;
+  if (file.isEmpty ())
+    file_name = _file_name;
+  else
+    file_name = file;
+  return (! file_name.isEmpty ()
+          && file_name.at (file_name.count () - 1) != '/');
 }
 
 void
@@ -295,8 +301,7 @@
         {
           lexer = new QsciLexerDiff ();
         }
-      else if (_file_name.isEmpty ()
-               || _file_name.at (_file_name.count () - 1) == '/')
+      else if (! valid_file_name ())
         {
           // new, no yet named file: let us assume it is octave
 #if defined (HAVE_LEXER_OCTAVE)
@@ -855,7 +860,7 @@
   QString title ("");
   QString tooltip ("");
 
-  if (_file_name.isEmpty () || _file_name.at (_file_name.count () - 1) == '/')
+  if (! valid_file_name ())
     title = tr ("<unnamed>");
   else
     {
@@ -1020,8 +1025,7 @@
 {
   // If it is a new file with no name, signal that saveFileAs
   // should be performed.
-  if (saveFileName.isEmpty ()
-      || saveFileName.at (saveFileName.count () - 1) == '/')
+  if (! valid_file_name (saveFileName))
     {
       save_file_as (remove_on_success);
       return;
@@ -1113,7 +1117,7 @@
   // it had/has no effect on Windows, though)
   fileDialog->setOption(QFileDialog::DontUseNativeDialog, true);
 
-  if (!_file_name.isEmpty () && _file_name.at (_file_name.count () - 1) != '/')
+  if (valid_file_name ())
     {
       fileDialog->selectFile (_file_name);
     }
--- a/libgui/src/m-editor/file-editor-tab.h	Thu Nov 21 12:14:24 2013 -0800
+++ b/libgui/src/m-editor/file-editor-tab.h	Thu Nov 21 21:42:03 2013 +0100
@@ -176,7 +176,7 @@
     int line;
   };
 
-  bool valid_file_name ();
+  bool valid_file_name (const QString& file=QString ());
   void save_file (const QString& saveFileName, bool remove_on_success = false);
   void save_file_as (bool remove_on_success = false);
   void message_duplicate_file_name (const QString& fileName);