GUI support to archive session
This commit is contained in:
parent
20ebf10ba3
commit
5232e0f2af
|
@ -8,6 +8,7 @@
|
|||
<separator/>
|
||||
<menuitem action='Save'/>
|
||||
<menuitem action='SaveAs'/>
|
||||
<menuitem action='Archive'/>
|
||||
#ifndef WINDOWS /* can't move open files. */
|
||||
<menuitem action='Rename'/>
|
||||
<menuitem action='SnapshotStay'/>
|
||||
|
|
|
@ -163,6 +163,7 @@ typedef uint64_t microseconds_t;
|
|||
#include "route_params_ui.h"
|
||||
#include "save_as_dialog.h"
|
||||
#include "script_selector.h"
|
||||
#include "session_archive_dialog.h"
|
||||
#include "session_dialog.h"
|
||||
#include "session_metadata_dialog.h"
|
||||
#include "session_option_editor.h"
|
||||
|
@ -2698,6 +2699,32 @@ ARDOUR_UI::save_session_as ()
|
|||
}
|
||||
}
|
||||
|
||||
void
|
||||
ARDOUR_UI::archive_session ()
|
||||
{
|
||||
if (!_session) {
|
||||
return;
|
||||
}
|
||||
|
||||
time_t n;
|
||||
time (&n);
|
||||
Glib::DateTime gdt (Glib::DateTime::create_now_local (n));
|
||||
|
||||
SessionArchiveDialog sad;
|
||||
sad.set_name (_session->name() + gdt.format ("_%F_%H%M%S"));
|
||||
int response = sad.run ();
|
||||
|
||||
if (response != Gtk::RESPONSE_OK) {
|
||||
sad.hide ();
|
||||
return;
|
||||
}
|
||||
|
||||
if (_session->archive_session (sad.target_folder(), sad.name(), &sad)) {
|
||||
MessageDialog msg (_("Session Archiving failed."));
|
||||
msg.run ();
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
ARDOUR_UI::quick_snapshot_session (bool switch_to_it)
|
||||
{
|
||||
|
|
|
@ -684,6 +684,7 @@ private:
|
|||
|
||||
bool save_as_progress_update (float fraction, int64_t cnt, int64_t total, Gtk::Label* label, Gtk::ProgressBar* bar);
|
||||
void save_session_as ();
|
||||
void archive_session ();
|
||||
void rename_session ();
|
||||
|
||||
int create_mixer ();
|
||||
|
|
|
@ -208,6 +208,9 @@ ARDOUR_UI::install_actions ()
|
|||
act = global_actions.register_action (main_actions, X_("SaveAs"), _("Save As..."), sigc::mem_fun(*this, &ARDOUR_UI::save_session_as));
|
||||
ActionManager::session_sensitive_actions.push_back (act);
|
||||
|
||||
act = global_actions.register_action (main_actions, X_("Archive"), _("Archive..."), sigc::mem_fun(*this, &ARDOUR_UI::archive_session));
|
||||
ActionManager::session_sensitive_actions.push_back (act);
|
||||
|
||||
act = global_actions.register_action (main_actions, X_("Rename"), _("Rename..."), sigc::mem_fun(*this, &ARDOUR_UI::rename_session));
|
||||
ActionManager::session_sensitive_actions.push_back (act);
|
||||
ActionManager::write_sensitive_actions.push_back (act);
|
||||
|
|
|
@ -226,6 +226,7 @@ gtk2_ardour_sources = [
|
|||
'selection.cc',
|
||||
'selection_memento.cc',
|
||||
'send_ui.cc',
|
||||
'session_archive_dialog.cc',
|
||||
'session_dialog.cc',
|
||||
'session_import_dialog.cc',
|
||||
'session_metadata_dialog.cc',
|
||||
|
|
Loading…
Reference in New Issue
Block a user