summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2009-11-12 20:03:58 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2009-11-12 20:03:58 +0000
commitb76635a8fd57adab6064b090736bae14af49624c (patch)
tree93a9f87bdc98806bd7297def611b909a32591058 /gtk2_ardour
parent94f413a88fce91ef4dc9c698756fe1b5f76c428e (diff)
fix key handling in region layering dialog; shortcut for pixel_width() called on an empty string
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@6073 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/region_layering_order_editor.cc11
-rw-r--r--gtk2_ardour/utils.cc7
2 files changed, 12 insertions, 6 deletions
diff --git a/gtk2_ardour/region_layering_order_editor.cc b/gtk2_ardour/region_layering_order_editor.cc
index bd846a1c19..17434c112d 100644
--- a/gtk2_ardour/region_layering_order_editor.cc
+++ b/gtk2_ardour/region_layering_order_editor.cc
@@ -70,8 +70,6 @@ RegionLayeringOrderEditor::~RegionLayeringOrderEditor ()
void
RegionLayeringOrderEditor::row_activated (const TreeModel::Path& path, TreeViewColumn* column)
{
- cerr << "Row activated\n";
-
if (in_row_change) {
return;
}
@@ -127,6 +125,10 @@ RegionLayeringOrderEditor::refill ()
TreeModel::Row newrow = *(layering_order_model->append());
newrow[layering_order_columns.name] = (*i)->name();
newrow[layering_order_columns.region] = *i;
+
+ if (i == region_list->begin()) {
+ layering_order_display.get_selection()->select(newrow);
+ }
}
in_row_change = false;
@@ -152,15 +154,12 @@ bool
RegionLayeringOrderEditor::on_key_press_event (GdkEventKey* ev)
{
if (ev->keyval == GDK_Return) {
- cerr << "grab magic key\n";
Keyboard::magic_widget_grab_focus ();
}
- bool result = key_press_focus_accelerator_handler (the_editor, ev);
- cerr << "event handled: " << result << endl;
+ bool result = key_press_focus_accelerator_handler (*this, ev);
if (ev->keyval == GDK_Return) {
- cerr << "drop magic focus\n";
Keyboard::magic_widget_drop_focus ();
}
diff --git a/gtk2_ardour/utils.cc b/gtk2_ardour/utils.cc
index 99a56f355e..49bd38b6f4 100644
--- a/gtk2_ardour/utils.cc
+++ b/gtk2_ardour/utils.cc
@@ -54,6 +54,10 @@ sigc::signal<void> DPIReset;
int
pixel_width (const ustring& str, Pango::FontDescription& font)
{
+ if (str.empty()) {
+ return 0;
+ }
+
Label foo;
Glib::RefPtr<Pango::Layout> layout = foo.create_pango_layout ("");
@@ -429,6 +433,9 @@ key_press_focus_accelerator_handler (Gtk::Window& window, GdkEventKey* ev)
if (GTK_IS_ENTRY(focus) || Keyboard::some_magic_widget_has_focus()) {
special_handling_of_unmodified_accelerators = true;
}
+#ifdef DEBUG_ACCELERATOR_HANDLING
+ cerr << "Focus widget name " << gtk_widget_get_name(focus) << endl;
+#endif
}
#ifdef GTKOSX