summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/gtkmm2ext/auto_spin.cc7
-rw-r--r--libs/gtkmm2ext/barcontroller.cc23
-rw-r--r--libs/gtkmm2ext/gtkmm2ext/pixfader.h2
-rw-r--r--libs/gtkmm2ext/pixfader.cc37
-rw-r--r--libs/gtkmm2ext/pixscroller.cc19
-rw-r--r--libs/gtkmm2ext/scroomer.cc8
-rw-r--r--libs/gtkmm2ext/selector.cc12
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);