add Open Target Folder button to Export Dialog

This commit is contained in:
Robin Gareus 2016-06-01 23:54:54 +02:00
parent 6e258e0ade
commit c5b97e70be
2 changed files with 18 additions and 0 deletions

View File

@ -20,6 +20,7 @@
#include <gtkmm/messagedialog.h>
#include "pbd/openuri.h"
#include "export_filename_selector.h"
#include "i18n.h"
@ -36,6 +37,7 @@ ExportFilenameSelector::ExportFilenameSelector () :
path_label (_("Folder:"), Gtk::ALIGN_LEFT),
browse_button (_("Browse")),
open_button (_("Open Folder")),
example_filename_label ("", Gtk::ALIGN_LEFT),
_require_timespan (false)
@ -61,6 +63,7 @@ ExportFilenameSelector::ExportFilenameSelector () :
path_hbox.pack_start (path_label, false, false, 3);
path_hbox.pack_start (path_entry, true, true, 3);
path_hbox.pack_start (browse_button, false, false, 3);
path_hbox.pack_start (open_button, false, false, 3); // maybe Mixbus only ?
path_entry.set_activates_default ();
@ -104,6 +107,7 @@ ExportFilenameSelector::ExportFilenameSelector () :
revision_spinbutton.signal_value_changed().connect (sigc::mem_fun (*this, &ExportFilenameSelector::change_revision_value));
browse_button.signal_clicked().connect (sigc::mem_fun (*this, &ExportFilenameSelector::open_browse_dialog));
open_button.signal_clicked().connect (sigc::mem_fun (*this, &ExportFilenameSelector::open_folder));
}
ExportFilenameSelector::~ExportFilenameSelector ()
@ -366,6 +370,18 @@ ExportFilenameSelector::change_revision_value ()
CriticalSelectionChanged();
}
void
ExportFilenameSelector::open_folder ()
{
const std::string& dir (path_entry.get_text());
if (!Glib::file_test (dir, Glib::FILE_TEST_IS_DIR|Glib::FILE_TEST_EXISTS)) {
Gtk::MessageDialog msg (string_compose (_("%1: this is not a valid directory/folder."), dir));
msg.run ();
return;
}
PBD::open_folder (dir);
}
void
ExportFilenameSelector::open_browse_dialog ()
{

View File

@ -61,6 +61,7 @@ class ExportFilenameSelector : public Gtk::VBox, public ARDOUR::SessionHandlePtr
void change_revision_value ();
void open_browse_dialog ();
void open_folder ();
boost::shared_ptr<ARDOUR::ExportFilename> filename;
@ -85,6 +86,7 @@ class ExportFilenameSelector : public Gtk::VBox, public ARDOUR::SessionHandlePtr
Gtk::Entry path_entry;
Gtk::Button browse_button;
Gtk::Label example_filename_label;
Gtk::Button open_button;
/* Date combo */