| 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 |
}
|