diff options
-rw-r--r-- | libs/gtkmm2ext/auto_spin.cc | 7 | ||||
-rw-r--r-- | libs/gtkmm2ext/barcontroller.cc | 23 | ||||
-rw-r--r-- | libs/gtkmm2ext/gtkmm2ext/pixfader.h | 2 | ||||
-rw-r--r-- | libs/gtkmm2ext/pixfader.cc | 37 | ||||
-rw-r--r-- | libs/gtkmm2ext/pixscroller.cc | 19 | ||||
-rw-r--r-- | libs/gtkmm2ext/scroomer.cc | 8 | ||||
-rw-r--r-- | libs/gtkmm2ext/selector.cc | 12 |
7 files changed, 60 insertions, 48 deletions
diff --git a/libs/gtkmm2ext/auto_spin.cc b/libs/gtkmm2ext/auto_spin.cc index b8f1bb9017..5ab8852adf 100644 --- a/libs/gtkmm2ext/auto_spin.cc +++ b/libs/gtkmm2ext/auto_spin.cc @@ -18,8 +18,9 @@ $Id$ */ -#include <gtkmm2ext/auto_spin.h> #include <cmath> +#include "gtkmm2ext/auto_spin.h" +#include "gtkmm2ext/keyboard.h" using namespace Gtkmm2ext; using namespace std; @@ -73,13 +74,13 @@ AutoSpin::button_press (GdkEventButton *ev) stop_spinning (0); - if (ev->state & GDK_SHIFT_MASK) { + if (ev->state & Keyboard::TertiaryModifier) { /* use page shift */ shifted = true; } - if (ev->state & GDK_CONTROL_MASK) { + if (ev->state & Keyboard::PrimaryModifier) { /* go to upper/lower bound on button1/button2 */ control = true; diff --git a/libs/gtkmm2ext/barcontroller.cc b/libs/gtkmm2ext/barcontroller.cc index 5cce612056..3e998bbcdb 100644 --- a/libs/gtkmm2ext/barcontroller.cc +++ b/libs/gtkmm2ext/barcontroller.cc @@ -26,9 +26,10 @@ #include <pbd/controllable.h> -#include <gtkmm2ext/gtk_ui.h> -#include <gtkmm2ext/utils.h> -#include <gtkmm2ext/barcontroller.h> +#include "gtkmm2ext/gtk_ui.h" +#include "gtkmm2ext/utils.h" +#include "gtkmm2ext/keyboard.h" +#include "gtkmm2ext/barcontroller.h" #include "i18n.h" @@ -146,14 +147,14 @@ BarController::button_release (GdkEventButton* ev) return true; } - if ((ev->state & (GDK_SHIFT_MASK|GDK_CONTROL_MASK)) == GDK_SHIFT_MASK) { + if ((ev->state & (Keyboard::TertiaryModifier|Keyboard::PrimaryModifier)) == Keyboard::TertiaryModifier) { adjustment.set_value (initial_value); } else { double scale; - if ((ev->state & (GDK_CONTROL_MASK|GDK_SHIFT_MASK)) == (GDK_CONTROL_MASK|GDK_SHIFT_MASK)) { + if ((ev->state & (Keyboard::PrimaryModifier|Keyboard::TertiaryModifier)) == (Keyboard::PrimaryModifier|Keyboard::TertiaryModifier)) { scale = 0.01; - } else if (ev->state & GDK_CONTROL_MASK) { + } else if (ev->state & Keyboard::PrimaryModifier) { scale = 0.1; } else { scale = 1.0; @@ -181,9 +182,9 @@ BarController::scroll (GdkEventScroll* ev) { double scale; - if ((ev->state & (GDK_CONTROL_MASK|GDK_SHIFT_MASK)) == (GDK_CONTROL_MASK|GDK_SHIFT_MASK)) { + if ((ev->state & (Keyboard::PrimaryModifier|Keyboard::TertiaryModifier)) == (Keyboard::PrimaryModifier|Keyboard::TertiaryModifier)) { scale = 0.01; - } else if (ev->state & GDK_CONTROL_MASK) { + } else if (ev->state & Keyboard::PrimaryModifier) { scale = 0.1; } else { scale = 1.0; @@ -213,13 +214,13 @@ BarController::motion (GdkEventMotion* ev) return true; } - if ((ev->state & (GDK_SHIFT_MASK|GDK_CONTROL_MASK)) == GDK_SHIFT_MASK) { + if ((ev->state & (Keyboard::TertiaryModifier|Keyboard::PrimaryModifier)) == Keyboard::TertiaryModifier) { return TRUE; } - if ((ev->state & (GDK_CONTROL_MASK|GDK_SHIFT_MASK)) == (GDK_CONTROL_MASK|GDK_SHIFT_MASK)) { + if ((ev->state & (Keyboard::PrimaryModifier|Keyboard::TertiaryModifier)) == (Keyboard::PrimaryModifier|Keyboard::TertiaryModifier)) { scale = 0.01; - } else if (ev->state & GDK_CONTROL_MASK) { + } else if (ev->state & Keyboard::PrimaryModifier) { scale = 0.1; } else { scale = 1.0; diff --git a/libs/gtkmm2ext/gtkmm2ext/pixfader.h b/libs/gtkmm2ext/gtkmm2ext/pixfader.h index cd0f62be9d..a8d54abb59 100644 --- a/libs/gtkmm2ext/gtkmm2ext/pixfader.h +++ b/libs/gtkmm2ext/gtkmm2ext/pixfader.h @@ -46,6 +46,8 @@ class PixFader : public Gtk::DrawingArea bool on_button_release_event (GdkEventButton*); bool on_motion_notify_event (GdkEventMotion*); bool on_scroll_event (GdkEventScroll* ev); + bool on_enter_notify_event (GdkEventCrossing* ev); + bool on_leave_notify_event (GdkEventCrossing* ev); enum Orientation { VERT=1, diff --git a/libs/gtkmm2ext/pixfader.cc b/libs/gtkmm2ext/pixfader.cc index 08fcafdbe4..a77750b243 100644 --- a/libs/gtkmm2ext/pixfader.cc +++ b/libs/gtkmm2ext/pixfader.cc @@ -20,20 +20,17 @@ #include <iostream> -#include <gtkmm2ext/pixfader.h> +#include "gtkmm2ext/pixfader.h" +#include "gtkmm2ext/keyboard.h" using namespace Gtkmm2ext; using namespace Gtk; using namespace Gdk; using namespace std; -#ifdef GTKOSX -int PixFader::fine_scale_modifier = GDK_META_MASK; -#else -int PixFader::fine_scale_modifier = GDK_CONTROL_MASK; -#endif -int PixFader::extra_fine_scale_modifier = GDK_MOD1_MASK; +int PixFader::fine_scale_modifier = Keyboard::PrimaryModifier; +int PixFader::extra_fine_scale_modifier = Keyboard::SecondaryModifier; PixFader::PixFader (Glib::RefPtr<Pixbuf> belt, Gtk::Adjustment& adj, int orientation, int fader_length) @@ -56,7 +53,7 @@ PixFader::PixFader (Glib::RefPtr<Pixbuf> belt, Gtk::Adjustment& adj, int orienta set_fader_length (fader_length); - add_events (Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK|Gdk::POINTER_MOTION_MASK|Gdk::SCROLL_MASK); + add_events (Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK|Gdk::POINTER_MOTION_MASK|Gdk::SCROLL_MASK|Gdk::ENTER_NOTIFY_MASK|Gdk::LEAVE_NOTIFY_MASK); adjustment.signal_value_changed().connect (mem_fun (*this, &PixFader::adjustment_changed)); adjustment.signal_changed().connect (mem_fun (*this, &PixFader::adjustment_changed)); @@ -159,23 +156,15 @@ PixFader::on_button_release_event (GdkEventButton* ev) /* no motion - just a click */ - if (ev->state & Gdk::SHIFT_MASK) { - cerr << "SV A\n"; + if (ev->state & Keyboard::TertiaryModifier) { adjustment.set_value (default_value); - cerr << "SV A OUT\n"; } else if (ev->state & fine_scale_modifier) { - cerr << "SV B\n"; adjustment.set_value (adjustment.get_lower()); - cerr << "SV B OUT\n"; } else if ((_orien == VERT && ev_pos < span - display_span()) || (_orien == HORIZ && ev_pos > span - display_span())) { /* above the current display height, remember X Window coords */ - cerr << "SV C\n"; adjustment.set_value (adjustment.get_value() + adjustment.get_step_increment()); - cerr << "SV C OUT\n"; } else { - cerr << "SV D\n"; adjustment.set_value (adjustment.get_value() - adjustment.get_step_increment()); - cerr << "SV D OUT\n"; } } @@ -334,3 +323,17 @@ PixFader::set_fader_length (int l) queue_draw (); } + +bool +PixFader::on_enter_notify_event (GdkEventCrossing*) +{ + Keyboard::magic_widget_grab_focus (); + return false; +} + +bool +PixFader::on_leave_notify_event (GdkEventCrossing*) +{ + Keyboard::magic_widget_drop_focus(); + return false; +} diff --git a/libs/gtkmm2ext/pixscroller.cc b/libs/gtkmm2ext/pixscroller.cc index f459726f27..f20e11c9ca 100644 --- a/libs/gtkmm2ext/pixscroller.cc +++ b/libs/gtkmm2ext/pixscroller.cc @@ -23,7 +23,8 @@ #include <gtkmm.h> -#include <gtkmm2ext/pixscroller.h> +#include "gtkmm2ext/pixscroller.h" +#include "gtkmm2ext/keyboard.h" using namespace std; using namespace Gtk; @@ -116,7 +117,7 @@ PixScroller::on_button_press_event (GdkEventButton* ev) { switch (ev->button) { case 1: - if (!(ev->state & Gdk::SHIFT_MASK)) { + if (!(ev->state & Keyboard::TertiaryModifier)) { add_modal_grab(); grab_y = ev->y; grab_start = ev->y; @@ -137,8 +138,8 @@ PixScroller::on_button_release_event (GdkEventButton* ev) { double scale; - if (ev->state & GDK_CONTROL_MASK) { - if (ev->state & GDK_MOD1_MASK) { + if (ev->state & Keyboard::PrimaryModifier) { + if (ev->state & Keyboard::SecondaryModifier) { scale = 0.05; } else { scale = 0.1; @@ -170,7 +171,7 @@ PixScroller::on_button_release_event (GdkEventButton* ev) adj.set_value (scale * fract * (adj.get_upper() - adj.get_lower())); } } else { - if (ev->state & Gdk::SHIFT_MASK) { + if (ev->state & Keyboard::TertiaryModifier) { adj.set_value (default_value); cerr << "default value = " << default_value << endl; } @@ -187,8 +188,8 @@ PixScroller::on_scroll_event (GdkEventScroll* ev) { double scale; - if (ev->state & GDK_CONTROL_MASK) { - if (ev->state & GDK_MOD1_MASK) { + if (ev->state & Keyboard::PrimaryModifier) { + if (ev->state & Keyboard::SecondaryModifier) { scale = 0.05; } else { scale = 0.1; @@ -227,8 +228,8 @@ PixScroller::on_motion_notify_event (GdkEventMotion* ev) return true; } - if (ev->state & GDK_CONTROL_MASK) { - if (ev->state & GDK_MOD1_MASK) { + if (ev->state & Keyboard::PrimaryModifier) { + if (ev->state & Keyboard::SecondaryModifier) { scale = 0.05; } else { scale = 0.1; diff --git a/libs/gtkmm2ext/scroomer.cc b/libs/gtkmm2ext/scroomer.cc index 7c6d2c6350..07e5b46452 100644 --- a/libs/gtkmm2ext/scroomer.cc +++ b/libs/gtkmm2ext/scroomer.cc @@ -18,7 +18,9 @@ */ #include <iostream> -#include <gtkmm2ext/scroomer.h> + +#include "gtkmm2ext/scroomer.h" +#include "gtkmm2ext/keyboard.h" using namespace Gtkmm2ext; using namespace Gtk; @@ -74,8 +76,8 @@ Scroomer::on_motion_notify_event (GdkEventMotion* ev) grab_y = ev->y; - if (ev->state & GDK_CONTROL_MASK) { - if (ev->state & GDK_MOD1_MASK) { + if (ev->state & Keyboard::PrimaryModifier) { + if (ev->state & Keyboard::SecondaryModifier) { scale = 0.05; } else { scale = 0.1; diff --git a/libs/gtkmm2ext/selector.cc b/libs/gtkmm2ext/selector.cc index ee9a5578ba..85924e82ab 100644 --- a/libs/gtkmm2ext/selector.cc +++ b/libs/gtkmm2ext/selector.cc @@ -22,9 +22,11 @@ #include <vector> #include <string> -#include <gtkmm2ext/selector.h> -#include <gtkmm2ext/utils.h> -#include <pbd/pathscanner.h> +#include "pbd/pathscanner.h" + +#include "gtkmm2ext/keyboard.h" +#include "gtkmm2ext/selector.h" +#include "gtkmm2ext/utils.h" using namespace std; using namespace Gtkmm2ext; @@ -219,9 +221,9 @@ TreeView_Selector::on_button_press_event(GdkEventButton* ev) bool return_value = TreeView::on_button_press_event(ev); if (ev && (ev->type == GDK_BUTTON_RELEASE || ev->type == GDK_2BUTTON_PRESS)) { - if (ev->state & Gdk::CONTROL_MASK) { + if (ev->state & Keyboard::PrimaryModifier) { g_idle_add (Selector::_control_clicked, this); - } else if (ev->state & Gdk::SHIFT_MASK) { + } else if (ev->state & Keyboard::TertiaryModifier) { g_idle_add (Selector::_shift_clicked, this); } else if (ev->type == GDK_2BUTTON_PRESS) { g_idle_add (Selector::_accept, this); |