summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Alexey Yakovenko <wakeroid@gmail.com>2010-04-02 22:29:02 +0200
committerGravatar Alexey Yakovenko <wakeroid@gmail.com>2010-04-02 22:29:02 +0200
commit16b16e1e6cd83fd4c518408b610f3ef176f0f443 (patch)
treeda4a995e54b93dac0f7bfd02fbb23d0b4d9e03d0
parent43afc3b8e3cc41a41515810bd07e56e25f4d206c (diff)
fixed regression in playlist keyboard handler
-rw-r--r--plugins/gtkui/ddblistview.c102
1 files changed, 52 insertions, 50 deletions
diff --git a/plugins/gtkui/ddblistview.c b/plugins/gtkui/ddblistview.c
index c8536adf..3da1caa7 100644
--- a/plugins/gtkui/ddblistview.c
+++ b/plugins/gtkui/ddblistview.c
@@ -1694,68 +1694,70 @@ ddb_listview_handle_keypress (DdbListview *ps, int keyval, int state) {
GtkWidget *range = ps->scrollbar;
GtkAdjustment *adj = gtk_range_get_adjustment (GTK_RANGE (range));
- if (!(state & (GDK_CONTROL_MASK|GDK_MOD1_MASK))) {
- if (keyval == GDK_Down) {
- if (cursor < ps->binding->count () - 1) {
- cursor++;
- }
- else {
- gtk_range_set_value (GTK_RANGE (range), adj->upper);
- }
+ if (state & (GDK_CONTROL_MASK|GDK_MOD1_MASK)) {
+ return 0;
+ }
+
+ if (keyval == GDK_Down) {
+ if (cursor < ps->binding->count () - 1) {
+ cursor++;
}
- else if (keyval == GDK_Up) {
- if (cursor > 0) {
- cursor--;
- }
- else {
- gtk_range_set_value (GTK_RANGE (range), adj->lower);
- if (cursor < 0 && ps->binding->count () > 0) {
- cursor = 0;
- }
- }
+ else {
+ gtk_range_set_value (GTK_RANGE (range), adj->upper);
}
- else if (keyval == GDK_Page_Down) {
- if (cursor < ps->binding->count () - 1) {
- cursor += 10;
- if (cursor >= ps->binding->count ()) {
- cursor = ps->binding->count () - 1;
- }
- }
- else {
- gtk_range_set_value (GTK_RANGE (range), adj->upper);
- }
+ }
+ else if (keyval == GDK_Up) {
+ if (cursor > 0) {
+ cursor--;
}
- else if (keyval == GDK_Page_Up) {
- if (cursor > 0) {
- cursor -= 10;
- if (cursor < 0) {
- gtk_range_set_value (GTK_RANGE (range), adj->lower);
- cursor = 0;
- }
+ else {
+ gtk_range_set_value (GTK_RANGE (range), adj->lower);
+ if (cursor < 0 && ps->binding->count () > 0) {
+ cursor = 0;
}
- else {
- if (cursor < 0 && ps->binding->count () > 0) {
- cursor = 0;
- }
- gtk_range_set_value (GTK_RANGE (range), adj->lower);
+ }
+ }
+ else if (keyval == GDK_Page_Down) {
+ if (cursor < ps->binding->count () - 1) {
+ cursor += 10;
+ if (cursor >= ps->binding->count ()) {
+ cursor = ps->binding->count () - 1;
}
}
- else if (keyval == GDK_End) {
- cursor = ps->binding->count () - 1;
+ else {
gtk_range_set_value (GTK_RANGE (range), adj->upper);
}
- else if (keyval == GDK_Home) {
- cursor = 0;
- gtk_range_set_value (GTK_RANGE (range), adj->lower);
- }
- else if (keyval == GDK_Delete) {
- ps->binding->delete_selected ();
- cursor = ps->binding->cursor ();
+ }
+ else if (keyval == GDK_Page_Up) {
+ if (cursor > 0) {
+ cursor -= 10;
+ if (cursor < 0) {
+ gtk_range_set_value (GTK_RANGE (range), adj->lower);
+ cursor = 0;
+ }
}
else {
- return 0;
+ if (cursor < 0 && ps->binding->count () > 0) {
+ cursor = 0;
+ }
+ gtk_range_set_value (GTK_RANGE (range), adj->lower);
}
}
+ else if (keyval == GDK_End) {
+ cursor = ps->binding->count () - 1;
+ gtk_range_set_value (GTK_RANGE (range), adj->upper);
+ }
+ else if (keyval == GDK_Home) {
+ cursor = 0;
+ gtk_range_set_value (GTK_RANGE (range), adj->lower);
+ }
+ else if (keyval == GDK_Delete) {
+ ps->binding->delete_selected ();
+ cursor = ps->binding->cursor ();
+ }
+ else {
+ return 0;
+ }
if (state & GDK_SHIFT_MASK) {
if (cursor != prev) {