# HG changeset patch # User Torsten # Date 1385066523 -3600 # Node ID a761ba02a52fde5c1b0ee974bb1c9db4ebb42695 # Parent 86846ce0371a858dc22709b2f30807b8f734dff0 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 diff -r 86846ce0371a -r a761ba02a52f libgui/src/m-editor/file-editor-tab.cc --- 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 (""); 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); } diff -r 86846ce0371a -r a761ba02a52f libgui/src/m-editor/file-editor-tab.h --- 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);