replace ::cast_dynamic() with relevant ActionManager::get_*_action() calls
[ardour.git] / gtk2_ardour / session_import_dialog.cc
index e5824bd67b57319f68667fbbd73b759016c93745..8c95a332075f81c464b0f487642df67ffcb7b6a7 100644 (file)
 
 */
 
-#include "session_import_dialog.h"
+#include <gtkmm/messagedialog.h>
+#include <gtkmm/stock.h>
 
 #include "pbd/failed_constructor.h"
 
 #include "ardour/audio_region_importer.h"
 #include "ardour/audio_playlist_importer.h"
 #include "ardour/audio_track_importer.h"
+#include "ardour/filename_extensions.h"
 #include "ardour/location_importer.h"
 #include "ardour/tempo_map_importer.h"
 
-#include <gtkmm2ext/utils.h>
+#include "gtkmm2ext/utils.h"
+#include "widgets/prompter.h"
 
 #include "gui_thread.h"
-#include "prompter.h"
-#include "i18n.h"
+#include "session_import_dialog.h"
+#include "ui_config.h"
+
+#include "pbd/i18n.h"
 
 using namespace std;
 using namespace ARDOUR;
@@ -40,7 +45,7 @@ using namespace PBD;
 using namespace Gtk;
 
 SessionImportDialog::SessionImportDialog (ARDOUR::Session* target) :
-  ArdourDialog (_("Import From Session")),
+  ArdourDialog (_("Import from Session")),
   file_browse_button (_("Browse"))
 {
        set_session (target);
@@ -72,10 +77,12 @@ SessionImportDialog::SessionImportDialog (ARDOUR::Session* target) :
        session_browser.set_name ("SessionBrowser");
        session_browser.append_column (_("Elements"), sb_cols.name);
        session_browser.append_column_editable (_("Import"), sb_cols.queued);
-       session_browser.set_tooltip_column (3);
        session_browser.get_column(0)->set_min_width (180);
        session_browser.get_column(1)->set_min_width (40);
        session_browser.get_column(1)->set_sizing (TREE_VIEW_COLUMN_AUTOSIZE);
+       if (UIConfiguration::instance().get_use_tooltips()) {
+               session_browser.set_tooltip_column (3);
+       }
 
        session_scroll.set_policy (POLICY_AUTOMATIC, POLICY_AUTOMATIC);
        session_scroll.add (session_browser);
@@ -97,7 +104,7 @@ SessionImportDialog::SessionImportDialog (ARDOUR::Session* target) :
        // prompt signals XXX: problem - handlers to be in the same thread since they return values
        ElementImporter::Rename.connect_same_thread (connections, boost::bind (&SessionImportDialog::open_rename_dialog, this, _1, _2));
        ElementImporter::Prompt.connect_same_thread (connections, boost::bind (&SessionImportDialog::open_prompt_dialog, this, _1));
-               
+
        // Finalize
        show_all();
 }
@@ -107,21 +114,21 @@ SessionImportDialog::load_session (const string& filename)
 {
        if (_session) {
                if (tree.read (filename)) {
-                        error << string_compose (_("Cannot load XML for session from %1"), filename) << endmsg;
-                        return;
-                }
+                       error << string_compose (_("Cannot load XML for session from %1"), filename) << endmsg;
+                       return;
+               }
                boost::shared_ptr<AudioRegionImportHandler> region_handler (new AudioRegionImportHandler (tree, *_session));
                boost::shared_ptr<AudioPlaylistImportHandler> pl_handler (new AudioPlaylistImportHandler (tree, *_session, *region_handler));
-               
+
                handlers.push_back (boost::static_pointer_cast<ElementImportHandler> (region_handler));
                handlers.push_back (boost::static_pointer_cast<ElementImportHandler> (pl_handler));
                handlers.push_back (HandlerPtr(new UnusedAudioPlaylistImportHandler (tree, *_session, *region_handler)));
                handlers.push_back (HandlerPtr(new AudioTrackImportHandler (tree, *_session, *pl_handler)));
                handlers.push_back (HandlerPtr(new LocationImportHandler (tree, *_session)));
                handlers.push_back (HandlerPtr(new TempoMapImportHandler (tree, *_session)));
-               
+
                fill_list();
-               
+
                if (ElementImportHandler::dirty()) {
                        // Warn user
                        string txt = _("Some elements had errors in them. Please see the log for details");
@@ -164,11 +171,11 @@ SessionImportDialog::browse ()
        dialog.set_transient_for(*this);
        dialog.set_filename (file_entry.get_text());
 
-        FileFilter session_filter;
-        session_filter.add_pattern ("*.ardour");
-        session_filter.set_name (string_compose (_("%1 sessions"), PROGRAM_NAME));
-        dialog.add_filter (session_filter);
-        dialog.set_filter (session_filter);
+       FileFilter session_filter;
+       session_filter.add_pattern (string_compose(X_("*%1"), ARDOUR::statefile_suffix));
+       session_filter.set_name (string_compose (_("%1 sessions"), PROGRAM_NAME));
+       dialog.add_filter (session_filter);
+       dialog.set_filter (session_filter);
 
        dialog.add_button(Stock::CANCEL, RESPONSE_CANCEL);
        dialog.add_button(Stock::OK, RESPONSE_OK);
@@ -281,7 +288,7 @@ SessionImportDialog::end_dialog ()
 std::pair<bool, string>
 SessionImportDialog::open_rename_dialog (string text, string name)
 {
-       ArdourPrompter prompter(true);
+       ArdourWidgets::Prompter prompter(true);
        string new_name;
 
        prompter.set_name ("Prompter");