Move some actions into the global group:

This allows common keyboard shortcuts from any Tab (Editor, Mixer).
Discuss: should those actions/methods also be moved to ArdourUI instead of
PublicEditor?
This commit is contained in:
Robin Gareus 2017-01-12 18:22:56 +01:00
parent c9715af5d9
commit c6464e9c34
5 changed files with 36 additions and 16 deletions

View File

@ -147,8 +147,12 @@ This mode provides many different operations on both regions and control points,
@sess|Common/Quit|<@PRIMARY@>q|quit
@sess|Common/Hide|<@PRIMARY@>h|hide
@movp|Editor/jump-forward-to-mark|w|to next mark
@movp|Editor/jump-backward-to-mark|q|to previous mark
;; editor actions available from any tab
@sess|Common/jump-forward-to-mark|w|to next mark
@sess|Common/jump-backward-to-mark|q|to previous mark
@sess|Common/addExistingAudioFiles|<@PRIMARY@>i|import audio files
;; note that ctrl-w is special and consumed by the keyboard snooper
@ -168,7 +172,6 @@ This mode provides many different operations on both regions and control points,
@select|Editor/select-all-within-cursors|u|all present in edit range
@eep|Region/insert-region-from-region-list|i|insert from region list
@select|Editor/invert-selection|<@TERTIARY@>i|invert selection
@edit|Editor/addExistingAudioFiles|<@PRIMARY@>i|import audio files
@edit|Editor/toggle-midi-input-active|<@SECONDARY@>i|toggle sel. track MIDI input
@mmode|MouseMode/set-mouse-mode-object|g|object mode
@mmode|MouseMode/set-mouse-mode-content|e|content mode

View File

@ -341,6 +341,19 @@ ARDOUR_UI::install_actions ()
ActionManager::session_sensitive_actions.push_back (act);
ActionManager::write_sensitive_actions.push_back (act);
act = global_actions.register_action (common_actions,
"jump-backward-to-mark", _("Jump to Previous Mark"), sigc::mem_fun(*editor, &PublicEditor::jump_backward_to_mark));
ActionManager::session_sensitive_actions.push_back (act);
act = global_actions.register_action (common_actions,
"jump-forward-to-mark", _("Jump to Next Mark"), sigc::mem_fun(*editor, &PublicEditor::jump_forward_to_mark));
ActionManager::session_sensitive_actions.push_back (act);
act = global_actions.register_action (common_actions,
X_("addExistingAudioFiles"), _("Import"), sigc::mem_fun (*editor, &PublicEditor::external_audio_dialog));
ActionManager::session_sensitive_actions.push_back (act);
ActionManager::write_sensitive_actions.push_back (act);
Glib::RefPtr<ActionGroup> transport_actions = global_actions.create_action_group (X_("Transport"));
/* do-nothing action for the "transport" menu bar item */

View File

@ -655,6 +655,9 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
void toggle_marker_lines ();
void set_marker_line_visibility (bool);
void jump_forward_to_mark ();
void jump_backward_to_mark ();
uint32_t location_marker_color;
uint32_t location_range_color;
uint32_t location_loop_color;
@ -1337,8 +1340,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
/* import & embed */
void add_external_audio_action (Editing::ImportMode);
void external_audio_dialog ();
void session_import_dialog ();
int check_whether_and_how_to_import(std::string, bool all_or_nothing = true);
bool check_multichannel_status (const std::vector<std::string>& paths);
@ -1401,6 +1402,10 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
AnalysisWindow* analysis_window;
/* import & embed */
void external_audio_dialog ();
void session_import_dialog ();
/* import specific info */
struct EditorImportStatus : public ARDOUR::ImportStatus {
@ -1439,8 +1444,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
void clear_locations ();
void unhide_markers ();
void unhide_ranges ();
void jump_forward_to_mark ();
void jump_backward_to_mark ();
void cursor_align (bool playhead_to_edit);
void toggle_skip_playback ();

View File

@ -249,10 +249,7 @@ Editor::register_actions ()
reg_sens (editor_actions, a.c_str(), n.c_str(), sigc::bind (sigc::mem_fun (*this, &Editor::goto_nth_marker), i - 1));
}
reg_sens (editor_actions, "jump-forward-to-mark", _("Jump to Next Mark"), sigc::mem_fun(*this, &Editor::jump_forward_to_mark));
reg_sens (editor_actions, "alternate-jump-forward-to-mark", _("Jump to Next Mark"), sigc::mem_fun(*this, &Editor::jump_forward_to_mark));
reg_sens (editor_actions, "jump-backward-to-mark", _("Jump to Previous Mark"), sigc::mem_fun(*this, &Editor::jump_backward_to_mark));
reg_sens (editor_actions, "alternate-jump-backward-to-mark", _("Jump to Previous Mark"), sigc::mem_fun(*this, &Editor::jump_backward_to_mark));
reg_sens (editor_actions, "set-session-start-from-playhead", _("Set Session Start from Playhead"), sigc::mem_fun(*this, &Editor::set_session_start_from_playhead));
@ -738,9 +735,6 @@ Editor::register_actions ()
/* the next two are duplicate items with different names for use in two different contexts */
act = reg_sens (editor_actions, X_("addExistingAudioFiles"), _("Import"), sigc::mem_fun (*this, &Editor::external_audio_dialog));
ActionManager::write_sensitive_actions.push_back (act);
act = reg_sens (editor_actions, X_("addExternalAudioToRegionList"), _("Import to Region List..."), sigc::bind (sigc::mem_fun(*this, &Editor::add_external_audio_action), ImportAsRegion));
ActionManager::write_sensitive_actions.push_back (act);

View File

@ -192,6 +192,10 @@ class PublicEditor : public Gtkmm2ext::Tabbable {
*/
virtual void consider_auditioning (boost::shared_ptr<ARDOUR::Region> r) = 0;
/* import dialogs -> ardour-ui ?! */
virtual void external_audio_dialog () = 0;
virtual void session_import_dialog () = 0;
virtual void new_region_from_selection () = 0;
virtual void separate_region_from_selection () = 0;
@ -218,6 +222,9 @@ class PublicEditor : public Gtkmm2ext::Tabbable {
virtual void set_loop_range (framepos_t start, framepos_t end, std::string cmd) = 0;
virtual void set_punch_range (framepos_t start, framepos_t end, std::string cmd) = 0;
virtual void jump_forward_to_mark () = 0;
virtual void jump_backward_to_mark () = 0;
virtual Editing::MouseMode effective_mouse_mode () const = 0;
/** Import existing media */