[Xfce4-commits] <xfce4-appfinder:master> Add keybinds to switch modes.
Nick Schermer
noreply at xfce.org
Tue Dec 27 15:30:03 CET 2011
Updating branch refs/heads/master
to 25313fd53100c3d2bce626dcfeaaad672bfd6b09 (commit)
from 30518c8a496bab6b912b3dbff9a2bf9be858e0fb (commit)
commit 25313fd53100c3d2bce626dcfeaaad672bfd6b09
Author: Nick Schermer <nick at xfce.org>
Date: Tue Dec 27 15:28:38 2011 +0100
Add keybinds to switch modes.
Add Ctrl-1 and Ctrl-2 to switch between icon and treeview.
Add Ctrl-{+,-,0} to set icon size of item view.
src/appfinder-window.c | 52 ++++++++++++++++++++++++++++++++++++++---------
1 files changed, 42 insertions(+), 10 deletions(-)
diff --git a/src/appfinder-window.c b/src/appfinder-window.c
index 4cf1133..06d9106 100644
--- a/src/appfinder-window.c
+++ b/src/appfinder-window.c
@@ -420,22 +420,54 @@ static gboolean
xfce_appfinder_window_key_press_event (GtkWidget *widget,
GdkEventKey *event)
{
- GtkWidget *entry;
+ XfceAppfinderWindow *window = XFCE_APPFINDER_WINDOW (widget);
+ GtkWidget *entry;
+ XfceAppfinderIconSize icon_size = XFCE_APPFINDER_ICON_SIZE_DEFAULT_ITEM;
if (event->keyval == GDK_Escape)
{
gtk_widget_destroy (widget);
return TRUE;
}
- else if (event->keyval == GDK_l
- && (event->state & GDK_CONTROL_MASK) != 0)
- {
- entry = XFCE_APPFINDER_WINDOW (widget)->entry;
+ else if ((event->state & GDK_CONTROL_MASK) != 0)
+ {g_message ("%d", event->keyval);
+ switch (event->keyval)
+ {
+ case GDK_l:
+ entry = XFCE_APPFINDER_WINDOW (widget)->entry;
- gtk_widget_grab_focus (entry);
- gtk_editable_select_region (GTK_EDITABLE (entry), 0, -1);
+ gtk_widget_grab_focus (entry);
+ gtk_editable_select_region (GTK_EDITABLE (entry), 0, -1);
- return TRUE;
+ return TRUE;
+
+ case GDK_1:
+ case GDK_2:
+ /* toggle between icon and tree view */
+ xfconf_channel_set_bool (window->channel, "/icon-view",
+ event->keyval == GDK_1);
+ return TRUE;
+
+ case GDK_plus:
+ case GDK_minus:
+ case GDK_KP_Add:
+ case GDK_KP_Subtract:
+ g_object_get (G_OBJECT (window->model), "icon-size", &icon_size, NULL);
+ if ((event->keyval == GDK_plus || event->keyval == GDK_KP_Add))
+ {
+ if (icon_size < XFCE_APPFINDER_ICON_SIZE_LARGEST)
+ icon_size++;
+ }
+ else if (icon_size > XFCE_APPFINDER_ICON_SIZE_SMALLEST)
+ {
+ icon_size--;
+ }
+
+ case GDK_0:
+ case GDK_KP_0:
+ g_object_set (G_OBJECT (window->model), "icon-size", icon_size, NULL);
+ return TRUE;
+ }
}
return (*GTK_WIDGET_CLASS (xfce_appfinder_window_parent_class)->key_press_event) (widget, event);
More information about the Xfce4-commits
mailing list