Revision: 1633
          http://geeqie.svn.sourceforge.net/geeqie/?rev=1633&view=rev
Author:   mow
Date:     2009-04-11 16:34:25 +0000 (Sat, 11 Apr 2009)

Log Message:
-----------
Implementing CTRL-W to close advanced exif window

In fact, this implements keypress event handling in the advanced exif
window to handle CTRL-W event.

Modified Paths:
--------------
    trunk/src/advanced_exif.c
    trunk/src/advanced_exif.h

Modified: trunk/src/advanced_exif.c
===================================================================
--- trunk/src/advanced_exif.c   2009-04-10 13:54:08 UTC (rev 1632)
+++ trunk/src/advanced_exif.c   2009-04-11 16:34:25 UTC (rev 1633)
@@ -301,14 +301,11 @@
        gtk_tree_view_append_column(GTK_TREE_VIEW(listview), column);
 }
 
-void advanced_exif_close(GtkWidget *window)
+void advanced_exif_close(ExifWin *ew)
 {
-       ExifWin *ew;
-
-       ew = g_object_get_data(G_OBJECT(window), "advanced_exif_data");
        if (!ew) return;
 
-       gtk_widget_destroy(ew->vbox);
+       gtk_widget_destroy(ew->window);
 }
 
 static void advanced_exif_destroy(GtkWidget *widget, gpointer data)
@@ -359,6 +356,25 @@
        return ret;
 }
 
+static gboolean advanced_exif_keypress(GtkWidget *widget, GdkEventKey *event, 
gpointer data)
+{
+       ExifWin *ew = data;
+       gboolean stop_signal = FALSE;
+
+       if (event->state & GDK_CONTROL_MASK)
+               {
+               switch (event->keyval)
+                       {
+                       case 'W': case 'w':
+                               advanced_exif_close(ew);
+                               stop_signal = TRUE;
+                               break;
+                       }
+               } // if (event->state & GDK_CONTROL...
+
+       return stop_signal;
+} // static gboolean advanced_exif_...
+
 GtkWidget *advanced_exif_new(void)
 {
        ExifWin *ew;
@@ -437,6 +453,9 @@
        g_signal_connect(G_OBJECT(ew->listview), "drag_begin",
                         G_CALLBACK(advanced_exif_dnd_begin), ew);
 
+       g_signal_connect(G_OBJECT(ew->window), "key_press_event",
+                        G_CALLBACK(advanced_exif_keypress), ew);
+
        ew->scrolled = gtk_scrolled_window_new(NULL, NULL);
        gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(ew->scrolled), 
GTK_SHADOW_IN);
        gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(ew->scrolled),

Modified: trunk/src/advanced_exif.h
===================================================================
--- trunk/src/advanced_exif.h   2009-04-10 13:54:08 UTC (rev 1632)
+++ trunk/src/advanced_exif.h   2009-04-11 16:34:25 UTC (rev 1633)
@@ -16,7 +16,6 @@
 
 
 GtkWidget *advanced_exif_new(void);
-void advanced_exif_close(GtkWidget *bar);
 
 void advanced_exif_set_fd(GtkWidget *bar, FileData *fd);
 


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
_______________________________________________
Geeqie-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geeqie-svn

Reply via email to