diff options
author | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2010-07-01 04:47:35 +0000 |
---|---|---|
committer | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2010-07-01 04:47:35 +0000 |
commit | 5dd19bbb924c5b952a1ee5cca9238faa442766a5 (patch) | |
tree | 99741a2839e74704da599f50629ccd99750586cb | |
parent | 9a70fe7151ed28bc9c00c4666e9ff0d3d5b7cc0d (diff) |
modified folderview key handling code.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@2594 ee746299-78ed-0310-b773-934348b2243d
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | src/folderview.c | 15 |
2 files changed, 18 insertions, 7 deletions
@@ -1,5 +1,15 @@ 2010-07-01 + * src/folderview.c: folderview_key_pressed(): modified key handling + code. + +2010-07-01 + + * src/folderview.c: folderview_key_pressed(): move up/collapse/expand + row with left/right key (like Windows Explorer). + +2010-07-01 + * src/mimeview.c: mimeview_selection_changed(): don't display images when inline image setting is off (workaround for vulnerability). diff --git a/src/folderview.c b/src/folderview.c index f0c3ea26..ac971906 100644 --- a/src/folderview.c +++ b/src/folderview.c @@ -1861,6 +1861,7 @@ static gboolean folderview_button_released(GtkWidget *treeview, static gboolean folderview_key_pressed(GtkWidget *widget, GdkEventKey *event, FolderView *folderview) { + GtkTreeView *treeview = GTK_TREE_VIEW(widget); GtkTreePath *opened = NULL, *selected = NULL; GtkAdjustment *adj; gboolean moved; @@ -1907,21 +1908,21 @@ static gboolean folderview_key_pressed(GtkWidget *widget, GdkEventKey *event, return FALSE; adj = gtk_scrolled_window_get_hadjustment (GTK_SCROLLED_WINDOW(folderview->scrolledwin)); - if (adj->lower != adj->value) + if (adj->lower < adj->value) return FALSE; if (folderview->selected) { selected = gtk_tree_row_reference_get_path (folderview->selected); if (selected) { - if (gtk_tree_view_row_expanded(GTK_TREE_VIEW(folderview->treeview), selected)) { - gtk_tree_view_collapse_row(GTK_TREE_VIEW(folderview->treeview), selected); + if (gtk_tree_view_row_expanded(treeview, selected)) { + gtk_tree_view_collapse_row(treeview, selected); gtk_tree_path_free(selected); return TRUE; } gtk_tree_path_free(selected); } } - g_signal_emit_by_name(G_OBJECT(folderview->treeview), + g_signal_emit_by_name(G_OBJECT(treeview), "select-cursor-parent", &moved); return TRUE; case GDK_Right: @@ -1931,14 +1932,14 @@ static gboolean folderview_key_pressed(GtkWidget *widget, GdkEventKey *event, return FALSE; adj = gtk_scrolled_window_get_hadjustment (GTK_SCROLLED_WINDOW(folderview->scrolledwin)); - if (adj->upper - adj->page_size != adj->value) + if (adj->upper - adj->page_size > adj->value) return FALSE; if (folderview->selected) { selected = gtk_tree_row_reference_get_path (folderview->selected); if (selected) { - if (!gtk_tree_view_row_expanded(GTK_TREE_VIEW(folderview->treeview), selected)) { - gtk_tree_view_expand_row(GTK_TREE_VIEW(folderview->treeview), selected, FALSE); + if (!gtk_tree_view_row_expanded(treeview, selected)) { + gtk_tree_view_expand_row(treeview, selected, FALSE); gtk_tree_path_free(selected); return TRUE; } |