diff options
author | Robin Gareus <robin@gareus.org> | 2019-04-12 18:51:00 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2019-04-12 18:51:00 +0200 |
commit | ce4b79e057cbb92ae10833c19ea51081c01213d4 (patch) | |
tree | fb99562fa4970d276089d28ac7e8d9a69dde3f03 /gtk2_ardour/editor_snapshots.cc | |
parent | c218b65d24dce7a2273a856805f6680f7e3d842c (diff) |
Remove unused "auto-backup" pane
This reverts/reworks commit e87012ca8905604e4 -- a failed experiment
which isn't used by Mixbus either since it introduced various issues.
When reverting to backups > 1 hour old, closing the session first
is acceptable.
Diffstat (limited to 'gtk2_ardour/editor_snapshots.cc')
-rw-r--r-- | gtk2_ardour/editor_snapshots.cc | 203 |
1 files changed, 59 insertions, 144 deletions
diff --git a/gtk2_ardour/editor_snapshots.cc b/gtk2_ardour/editor_snapshots.cc index 74fd114c60..a06a13cd90 100644 --- a/gtk2_ardour/editor_snapshots.cc +++ b/gtk2_ardour/editor_snapshots.cc @@ -19,16 +19,14 @@ #include <glib.h> +#include "pbd/gstdio_compat.h" + #include <glibmm.h> #include <glibmm/datetime.h> #include <gtkmm/liststore.h> -#include "pbd/file_utils.h" -#include "pbd/gstdio_compat.h" - #include "ardour/filename_extensions.h" -#include "ardour/profile.h" #include "ardour/session.h" #include "ardour/session_state_utils.h" #include "ardour/session_directory.h" @@ -51,35 +49,18 @@ using namespace ARDOUR_UI_UTILS; EditorSnapshots::EditorSnapshots (Editor* e) : EditorComponent (e) { - _snap_model = ListStore::create (_columns); - _snap_display.set_model (_snap_model); - _snap_display.append_column (_("Snapshot (click to load)"), _columns.visible_name); - _snap_display.append_column (_("Modified Date"), _columns.time_formatted); - _snap_display.set_size_request (75, -1); - _snap_display.set_headers_visible (true); - _snap_display.set_reorderable (false); - _snap_scroller.add (_snap_display); - _snap_scroller.set_policy (Gtk::POLICY_NEVER, Gtk::POLICY_AUTOMATIC); - - _snap_display.get_selection()->signal_changed().connect (sigc::mem_fun(*this, &EditorSnapshots::selection_changed)); - _snap_display.signal_button_press_event().connect (sigc::mem_fun (*this, &EditorSnapshots::button_press), false); - - _back_model = ListStore::create (_columns); - _back_display.set_model (_back_model); - _back_display.append_column (_("Auto-Backup (click to load)"), _columns.visible_name); - _back_display.append_column (_("Modified Date"), _columns.time_formatted); - _back_display.set_size_request (75, -1); - _back_display.set_headers_visible (true); - _back_display.set_reorderable (false); - _back_scroller.add (_back_display); - _back_scroller.set_policy (Gtk::POLICY_NEVER, Gtk::POLICY_AUTOMATIC); - - _back_display.get_selection()->signal_changed().connect (sigc::mem_fun(*this, &EditorSnapshots::backup_selection_changed)); - - _pane.add(_snap_scroller); -if(Profile->get_mixbus()) { - _pane.add(_back_scroller); -} + _snapshot_model = ListStore::create (_columns); + _snapshot_display.set_model (_snapshot_model); + _snapshot_display.append_column (_("Snapshot (click to load)"), _columns.visible_name); + _snapshot_display.append_column (_("Modified Date"), _columns.time_formatted); + _snapshot_display.set_size_request (75, -1); + _snapshot_display.set_headers_visible (true); + _snapshot_display.set_reorderable (false); + _scroller.add (_snapshot_display); + _scroller.set_policy (Gtk::POLICY_NEVER, Gtk::POLICY_AUTOMATIC); + + _snapshot_display.get_selection()->signal_changed().connect (sigc::mem_fun(*this, &EditorSnapshots::selection_changed)); + _snapshot_display.signal_button_press_event().connect (sigc::mem_fun (*this, &EditorSnapshots::button_press), false); } void @@ -90,50 +71,50 @@ EditorSnapshots::set_session (Session* s) redisplay (); } -/** A new snapshot has been selected. - */ +/* A new snapshot has been selected. */ void EditorSnapshots::selection_changed () { - if (_snap_display.get_selection()->count_selected_rows() > 0) { + if (_snapshot_display.get_selection()->count_selected_rows() == 0) { + return; + } - TreeModel::iterator i = _snap_display.get_selection()->get_selected(); + TreeModel::iterator i = _snapshot_display.get_selection()->get_selected(); - std::string snap_name = (*i)[_columns.real_name]; + std::string snap_name = (*i)[_columns.real_name]; - if (snap_name.length() == 0) { - return; - } - - if (_session->snap_name() == snap_name) { - return; - } + if (snap_name.length() == 0) { + return; + } - _snap_display.set_sensitive (false); - ARDOUR_UI::instance()->load_session (_session->path(), string (snap_name)); - _snap_display.set_sensitive (true); + if (_session->snap_name() == snap_name) { + return; } + + _snapshot_display.set_sensitive (false); + ARDOUR_UI::instance()->load_session (_session->path(), string (snap_name)); + _snapshot_display.set_sensitive (true); } bool EditorSnapshots::button_press (GdkEventButton* ev) { if (ev->button == 3) { - /* Right-click on the snapshot list. Work out which snapshot it - was over. */ + /* Right-click on the snapshot list. + * Work out which snapshot it was over. + */ Gtk::TreeModel::Path path; Gtk::TreeViewColumn* col; int cx; int cy; - _snap_display.get_path_at_pos ((int) ev->x, (int) ev->y, path, col, cx, cy); - Gtk::TreeModel::iterator iter = _snap_model->get_iter (path); + _snapshot_display.get_path_at_pos ((int) ev->x, (int) ev->y, path, col, cx, cy); + Gtk::TreeModel::iterator iter = _snapshot_model->get_iter (path); if (iter) { Gtk::TreeModel::Row row = *iter; popup_context_menu (ev->button, ev->time, row[_columns.real_name]); } return true; } - return false; } @@ -208,110 +189,44 @@ EditorSnapshots::redisplay () return; } - //fill the snapshots pane - { - vector<std::string> state_file_paths; - - get_state_files_in_directory (_session->session_directory().root_path(), - state_file_paths); - - if (state_file_paths.empty()) { - return; - } - - vector<string> state_file_names (get_file_names_no_extension(state_file_paths)); + vector<std::string> state_file_paths; - _snap_model->clear (); + get_state_files_in_directory (_session->session_directory().root_path(), + state_file_paths); - for (vector<string>::iterator i = state_file_names.begin(); i != state_file_names.end(); ++i) - { - string statename = (*i); - TreeModel::Row row = *(_snap_model->append()); - - /* this lingers on in case we ever want to change the visible - name of the snapshot. - */ - - string display_name; - display_name = statename; - - if (statename == _session->snap_name()) { - _snap_display.get_selection()->select(row); - } - - std::string s = Glib::build_filename (_session->path(), statename + ARDOUR::statefile_suffix); - - GStatBuf gsb; - g_stat (s.c_str(), &gsb); - Glib::DateTime gdt(Glib::DateTime::create_now_local (gsb.st_mtime)); - - row[_columns.visible_name] = display_name; - row[_columns.real_name] = statename; - row[_columns.time_formatted] = gdt.format ("%F %H:%M"); - } + if (state_file_paths.empty()) { + return; } - - //fill the backup pane - { - vector<std::string> state_file_paths; - get_state_files_in_directory (_session->session_directory().backup_path(), - state_file_paths); - - if (state_file_paths.empty()) { - return; - } + vector<string> state_file_names (get_file_names_no_extension(state_file_paths)); - vector<string> state_file_names (get_file_names_no_extension(state_file_paths)); + _snapshot_model->clear (); - _back_model->clear (); - - for (vector<string>::iterator i = state_file_names.begin(); i != state_file_names.end(); ++i) - { - string statename = (*i); - TreeModel::Row row = *(_back_model->append()); - - /* this lingers on in case we ever want to change the visible - name of the snapshot. - */ - - string display_name; - display_name = statename; + for (vector<string>::iterator i = state_file_names.begin(); i != state_file_names.end(); ++i) + { + string statename = (*i); + TreeModel::Row row = *(_snapshot_model->append()); - std::string s = Glib::build_filename (_session->path(), statename + ARDOUR::statefile_suffix); + /* this lingers on in case we ever want to change the visible + name of the snapshot. + */ - GStatBuf gsb; - g_stat (s.c_str(), &gsb); - Glib::DateTime gdt(Glib::DateTime::create_now_local (gsb.st_mtime)); + string display_name; + display_name = statename; - row[_columns.visible_name] = display_name; - row[_columns.real_name] = statename; - row[_columns.time_formatted] = gdt.format ("%F %H:%M"); + if (statename == _session->snap_name()) { + _snapshot_display.get_selection()->select(row); } - } - -} - -/** A new backup has been selected. - */ -void -EditorSnapshots::backup_selection_changed () -{ - if (_back_display.get_selection()->count_selected_rows() > 0) { - TreeModel::iterator i = _back_display.get_selection()->get_selected(); + std::string s = Glib::build_filename (_session->path(), statename + ARDOUR::statefile_suffix); - std::string back_name = (*i)[_columns.real_name]; + GStatBuf gsb; + g_stat (s.c_str(), &gsb); + Glib::DateTime gdt(Glib::DateTime::create_now_local (gsb.st_mtime)); - //copy the backup file to the session root folder, so we can open it - std::string back_path = _session->session_directory().backup_path() + G_DIR_SEPARATOR + back_name + ARDOUR::statefile_suffix; - std::string copy_path = _session->session_directory().root_path() + G_DIR_SEPARATOR + back_name + ARDOUR::statefile_suffix; - PBD::copy_file (back_path, copy_path); - - //now open the copy - _snap_display.set_sensitive (false); - ARDOUR_UI::instance()->load_session (_session->path(), string (back_name)); - _snap_display.set_sensitive (true); + row[_columns.visible_name] = display_name; + row[_columns.real_name] = statename; + row[_columns.time_formatted] = gdt.format ("%F %H:%M"); } } |