mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-07 23:35:03 +01:00
handle Escape signal in all EditingContexts (including MidiCueEditor)
This commit is contained in:
parent
f2e1697058
commit
dc44d10b48
4 changed files with 20 additions and 0 deletions
|
|
@ -38,6 +38,7 @@
|
||||||
#include "editing_context.h"
|
#include "editing_context.h"
|
||||||
#include "editing_convert.h"
|
#include "editing_convert.h"
|
||||||
#include "editor_drag.h"
|
#include "editor_drag.h"
|
||||||
|
#include "gui_thread.h"
|
||||||
#include "keyboard.h"
|
#include "keyboard.h"
|
||||||
#include "midi_region_view.h"
|
#include "midi_region_view.h"
|
||||||
#include "note_base.h"
|
#include "note_base.h"
|
||||||
|
|
@ -154,6 +155,10 @@ EditingContext::EditingContext (std::string const & name)
|
||||||
_cursors->set_cursor_set (UIConfiguration::instance().get_icon_set());
|
_cursors->set_cursor_set (UIConfiguration::instance().get_icon_set());
|
||||||
std::cerr << "Set cursor set to " << UIConfiguration::instance().get_icon_set() << std::endl;
|
std::cerr << "Set cursor set to " << UIConfiguration::instance().get_icon_set() << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* handle escape */
|
||||||
|
|
||||||
|
ARDOUR_UI::instance()->Escape.connect (escape_connection, MISSING_INVALIDATOR, boost::bind (&EditingContext::escape, this), gui_context());
|
||||||
}
|
}
|
||||||
|
|
||||||
EditingContext::~EditingContext()
|
EditingContext::~EditingContext()
|
||||||
|
|
|
||||||
|
|
@ -624,6 +624,9 @@ public:
|
||||||
uint32_t autoscroll_cnt;
|
uint32_t autoscroll_cnt;
|
||||||
ArdourCanvas::Rect autoscroll_boundary;
|
ArdourCanvas::Rect autoscroll_boundary;
|
||||||
|
|
||||||
|
PBD::ScopedConnection escape_connection;
|
||||||
|
virtual void escape () {}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static std::stack<EditingContext*> ec_stack;
|
static std::stack<EditingContext*> ec_stack;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1418,3 +1418,13 @@ MidiCueEditor::midi_action (void (MidiView::*method)())
|
||||||
|
|
||||||
(view->*method) ();
|
(view->*method) ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
MidiCueEditor::escape ()
|
||||||
|
{
|
||||||
|
if (!view) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
view->clear_note_selection ();
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -122,6 +122,8 @@ class MidiCueEditor : public CueEditor
|
||||||
|
|
||||||
void mouse_mode_toggled (Editing::MouseMode);
|
void mouse_mode_toggled (Editing::MouseMode);
|
||||||
|
|
||||||
|
void escape ();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
ArdourCanvas::GtkCanvasViewport* _canvas_viewport;
|
ArdourCanvas::GtkCanvasViewport* _canvas_viewport;
|
||||||
ArdourCanvas::GtkCanvas* _canvas;
|
ArdourCanvas::GtkCanvas* _canvas;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue