diff options
| author | Matthias Melcher <github@matthiasm.com> | 2023-08-26 17:58:10 +0200 |
|---|---|---|
| committer | Matthias Melcher <github@matthiasm.com> | 2023-08-29 01:38:39 +0200 |
| commit | 496289fd3566c2bcbb229b1cb7280fc6eeadf9e7 (patch) | |
| tree | 310a057d38b8534feb8899bd625c12bc5f1c9e1a /fluid/alignment_panel.cxx | |
| parent | 5da15de17469047d313cd574aaa4bc226bd4cae2 (diff) | |
FLUID: simplifies filename handling
Diffstat (limited to 'fluid/alignment_panel.cxx')
| -rw-r--r-- | fluid/alignment_panel.cxx | 21 |
1 files changed, 4 insertions, 17 deletions
diff --git a/fluid/alignment_panel.cxx b/fluid/alignment_panel.cxx index fa01f5e7e..81cd96b29 100644 --- a/fluid/alignment_panel.cxx +++ b/fluid/alignment_panel.cxx @@ -482,26 +482,13 @@ static void cb_w_layout_menu_save(Fl_Menu_*, void*) { fnfc.type(Fl_Native_File_Chooser::BROWSE_SAVE_FILE); fnfc.options(Fl_Native_File_Chooser::SAVEAS_CONFIRM | Fl_Native_File_Chooser::USE_FILTER_EXT); fnfc.filter("FLUID Layouts\t*.fll\n"); - if (g_layout_list.filename_) { - char *fn = fl_strdup(g_layout_list.filename_); - char *name = (char*)fl_filename_name(fn); - if (name > fn) { - name[-1] = 0; - fnfc.directory(fn); - fnfc.preset_file(name); - } else if (name) { - fnfc.preset_file(name); - } else { - fnfc.preset_file(""); - } - ::free(fn); - } + Fl_String filename = g_layout_list.filename_; + fnfc.directory(fl_filename_path(filename).c_str()); + fnfc.preset_file(fl_filename_name(filename).c_str()); if (fnfc.show() != 0) return; const char *new_filename = fnfc.filename(); if (!new_filename) return; - if (g_layout_list.filename_) - ::free(g_layout_list.filename_); - g_layout_list.filename_ = fl_strdup(new_filename); + g_layout_list.filename_ = new_filename; g_layout_list.save(new_filename); } |
