Revision 2594 src/folderview.c
| folderview.c (revision 2594) | ||
|---|---|---|
| 1861 | 1861 |
static gboolean folderview_key_pressed(GtkWidget *widget, GdkEventKey *event, |
| 1862 | 1862 |
FolderView *folderview) |
| 1863 | 1863 |
{
|
| 1864 |
GtkTreeView *treeview = GTK_TREE_VIEW(widget); |
|
| 1864 | 1865 |
GtkTreePath *opened = NULL, *selected = NULL; |
| 1865 | 1866 |
GtkAdjustment *adj; |
| 1866 | 1867 |
gboolean moved; |
| ... | ... | |
| 1907 | 1908 |
return FALSE; |
| 1908 | 1909 |
adj = gtk_scrolled_window_get_hadjustment |
| 1909 | 1910 |
(GTK_SCROLLED_WINDOW(folderview->scrolledwin)); |
| 1910 |
if (adj->lower != adj->value)
|
|
| 1911 |
if (adj->lower < adj->value)
|
|
| 1911 | 1912 |
return FALSE; |
| 1912 | 1913 |
if (folderview->selected) {
|
| 1913 | 1914 |
selected = gtk_tree_row_reference_get_path |
| 1914 | 1915 |
(folderview->selected); |
| 1915 | 1916 |
if (selected) {
|
| 1916 |
if (gtk_tree_view_row_expanded(GTK_TREE_VIEW(folderview->treeview), selected)) {
|
|
| 1917 |
gtk_tree_view_collapse_row(GTK_TREE_VIEW(folderview->treeview), selected);
|
|
| 1917 |
if (gtk_tree_view_row_expanded(treeview, selected)) {
|
|
| 1918 |
gtk_tree_view_collapse_row(treeview, selected);
|
|
| 1918 | 1919 |
gtk_tree_path_free(selected); |
| 1919 | 1920 |
return TRUE; |
| 1920 | 1921 |
} |
| 1921 | 1922 |
gtk_tree_path_free(selected); |
| 1922 | 1923 |
} |
| 1923 | 1924 |
} |
| 1924 |
g_signal_emit_by_name(G_OBJECT(folderview->treeview),
|
|
| 1925 |
g_signal_emit_by_name(G_OBJECT(treeview), |
|
| 1925 | 1926 |
"select-cursor-parent", &moved); |
| 1926 | 1927 |
return TRUE; |
| 1927 | 1928 |
case GDK_Right: |
| ... | ... | |
| 1931 | 1932 |
return FALSE; |
| 1932 | 1933 |
adj = gtk_scrolled_window_get_hadjustment |
| 1933 | 1934 |
(GTK_SCROLLED_WINDOW(folderview->scrolledwin)); |
| 1934 |
if (adj->upper - adj->page_size != adj->value)
|
|
| 1935 |
if (adj->upper - adj->page_size > adj->value)
|
|
| 1935 | 1936 |
return FALSE; |
| 1936 | 1937 |
if (folderview->selected) {
|
| 1937 | 1938 |
selected = gtk_tree_row_reference_get_path |
| 1938 | 1939 |
(folderview->selected); |
| 1939 | 1940 |
if (selected) {
|
| 1940 |
if (!gtk_tree_view_row_expanded(GTK_TREE_VIEW(folderview->treeview), selected)) {
|
|
| 1941 |
gtk_tree_view_expand_row(GTK_TREE_VIEW(folderview->treeview), selected, FALSE);
|
|
| 1941 |
if (!gtk_tree_view_row_expanded(treeview, selected)) {
|
|
| 1942 |
gtk_tree_view_expand_row(treeview, selected, FALSE);
|
|
| 1942 | 1943 |
gtk_tree_path_free(selected); |
| 1943 | 1944 |
return TRUE; |
| 1944 | 1945 |
} |
Also available in: Unified diff