X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fmissing_file_dialog.cc;h=9fe125843279424fe860926f0839f307c82b4dec;hb=6a52dc321954b3d65ee9840bef08fe3c047d8850;hp=54b20b547b88f41a1be6044a41ffbf737a2bee50;hpb=8d5065bc32b5d54049d8458cc14732c659fdb77f;p=ardour.git diff --git a/gtk2_ardour/missing_file_dialog.cc b/gtk2_ardour/missing_file_dialog.cc index 54b20b547b..9fe1258432 100644 --- a/gtk2_ardour/missing_file_dialog.cc +++ b/gtk2_ardour/missing_file_dialog.cc @@ -19,8 +19,10 @@ #include "pbd/compose.h" #include "pbd/replace_all.h" #include "pbd/strsplit.h" +#include "pbd/search_path.h" #include "ardour/session.h" +#include "gtkmm2ext/utils.h" #include "missing_file_dialog.h" #include "i18n.h" @@ -31,7 +33,7 @@ using namespace ARDOUR; using namespace PBD; MissingFileDialog::MissingFileDialog (Session* s, const std::string& path, DataType type) - : ArdourDialog (_("Missing File!"), true, false) + : ArdourDialog (_("Missing File"), true, false) , filetype (type) , chooser (_("Select a folder to search"), FILE_CHOOSER_ACTION_SELECT_FOLDER) , use_chosen (_("Add chosen folder to search path, and try again")) @@ -40,7 +42,10 @@ MissingFileDialog::MissingFileDialog (Session* s, const std::string& path, DataT , all_missing_ok (choice_group, _("Skip all missing files"), false) , this_missing_ok (choice_group, _("Skip this file"), false) { - set_session (s); + /* This dialog is always shown programatically. Center the window.*/ + set_position (Gtk::WIN_POS_CENTER); + + set_session (s); add_button (_("Done"), RESPONSE_OK); set_default_response (RESPONSE_OK); @@ -56,14 +61,18 @@ MissingFileDialog::MissingFileDialog (Session* s, const std::string& path, DataT break; } - string dirstr; + vector source_dirs = s->source_search_path (type); + vector::iterator i = source_dirs.begin(); + ostringstream oss; + oss << *i << endl; - dirstr = s->source_search_path (type); - replace_all (dirstr, ":", "\n"); + while (++i != source_dirs.end()) { + oss << *i << endl; + } - msg.set_justify (JUSTIFY_CENTER); + msg.set_justify (JUSTIFY_LEFT); msg.set_markup (string_compose (_("%1 cannot find the %2 file\n\n%3\n\nin any of these folders:\n\n\ -%4\n\n"), PROGRAM_NAME, typestr, path, dirstr)); +%4\n\n"), PROGRAM_NAME, typestr, Gtkmm2ext::markup_escape_text (path), Gtkmm2ext::markup_escape_text (oss.str()))); HBox* hbox = manage (new HBox); hbox->pack_start (msg, false, true); @@ -128,7 +137,7 @@ MissingFileDialog::add_chosen () break; } - split (str, dirs, ':'); + split (str, dirs, G_SEARCHPATH_SEPARATOR); newdir = chooser.get_filename (); @@ -139,7 +148,7 @@ MissingFileDialog::add_chosen () } if (!str.empty()) { - str += ':'; + str += G_SEARCHPATH_SEPARATOR; } str += newdir;