antiright-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Antiright-devel] antiright/gtkshell button.c dragdrop.c dragdrop...


From: Jeffrey Bedard
Subject: [Antiright-devel] antiright/gtkshell button.c dragdrop.c dragdrop...
Date: Tue, 27 Feb 2007 23:31:37 +0000

CVSROOT:        /sources/antiright
Module name:    antiright
Changes by:     Jeffrey Bedard <jefbed> 07/02/27 23:31:37

Modified files:
        gtkshell       : button.c dragdrop.c dragdrop.h options.c 

Log message:
        Added support for redefining a button's label once it has already been
        initialized.  Check for button_exits flag on drag_end signal.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/button.c?cvsroot=antiright&r1=1.13&r2=1.14
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/dragdrop.c?cvsroot=antiright&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/dragdrop.h?cvsroot=antiright&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/options.c?cvsroot=antiright&r1=1.7&r2=1.8

Patches:
Index: button.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/button.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- button.c    26 Feb 2007 19:50:07 -0000      1.13
+++ button.c    27 Feb 2007 23:31:37 -0000      1.14
@@ -56,7 +56,7 @@
 
        setup_label(gsh->button, command);
 
-       gsh_setup_drag_drop(gsh->button);
+       gsh_setup_drag_drop(gsh, gsh->button);
 
        /address@hidden@*/
   (void)g_signal_connect (G_OBJECT (gsh->button), "clicked",

Index: dragdrop.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/dragdrop.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- dragdrop.c  27 Feb 2007 22:54:38 -0000      1.3
+++ dragdrop.c  27 Feb 2007 23:31:37 -0000      1.4
@@ -1,5 +1,5 @@
 /*
-        AntiRight (c) 2002-2007 Jeffrey Bedard address@hidden
+ AntiRight (c) 2007 Jeffrey Bedard address@hidden
 
         This file is part of AntiRight.
 
@@ -16,7 +16,7 @@
         You should have received a copy of the GNU General Public License 
along with
         AntiRight; if not, write to the Free Software Foundation, Inc., 51 
Franklin
         Street, Fifth Floor, Boston, MA  02110-1301  USA
- */
+*/
 
 #include "gtkshell.h"
 
@@ -56,11 +56,12 @@
 drag_end (GtkWidget * widget, GdkDragContext *context, gpointer data);
 
 void
-gsh_setup_drag_drop(GtkWidget * widget)
+gsh_setup_drag_drop(struct GSH *gsh, GtkWidget * widget)
 {
        gtk_drag_dest_set (widget, GTK_DEST_DEFAULT_MOTION 
                                                                                
 | GTK_DEST_DEFAULT_HIGHLIGHT, target_list, n_targets,
                                                                                
 GDK_ACTION_COPY);
+
        gtk_drag_source_set (widget, GDK_BUTTON1_MASK, target_list, n_targets,
                                                                                
         GDK_ACTION_COPY);
 
@@ -69,6 +70,10 @@
        (void) g_signal_connect (widget, "drag-drop", G_CALLBACK(drag_drop), 
NULL);
        (void) g_signal_connect (widget, "drag-data-get",
                                                                                
                         G_CALLBACK(drag_data_get), NULL);
+
+       if(gsh->flags.button_exits)
+               (void) g_signal_connect (widget, "drag-end", 
+                                        G_CALLBACK(gtk_main_quit), NULL);
 }
 
 static void
@@ -81,7 +86,8 @@
        switch (target_type) 
                {
                case TARGET_STRING:
-                       sysprintf("%s %s",      gtk_button_get_label(widget),
+                       sysprintf("%s %s", 
+                                 gtk_button_get_label(GTK_BUTTON(widget)),
                                                        (gchar *) 
selection->data);
                        drag_status=TRUE;
                        break;
@@ -91,8 +97,6 @@
                }
 
        gtk_drag_finish(context, drag_status, FALSE, time);
-       ARIFB(gsh->flags->button_exits)
-               exit(0);
 }
 
 static gboolean

Index: dragdrop.h
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/dragdrop.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- dragdrop.h  24 Feb 2007 08:49:27 -0000      1.1
+++ dragdrop.h  27 Feb 2007 23:31:37 -0000      1.2
@@ -24,7 +24,7 @@
 #define GSH_DRAGDROP_H
 
 void
-gsh_setup_drag_drop(GtkWidget * widget);
+gsh_setup_drag_drop(struct GSH *gsh, GtkWidget * widget);
 
 #endif /* GSH_DRAGDROP_H */
 

Index: options.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/options.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- options.c   23 Feb 2007 03:11:52 -0000      1.7
+++ options.c   27 Feb 2007 23:31:37 -0000      1.8
@@ -31,37 +31,42 @@
   (*counter)++;
   g_assert ((*counter) <= argc);
 }
+static void
+gsh_handle_modification_arguments (struct GSH * gsh, int argc, 
+                                  char **argv, int *counter)
+{
+       switch (argv[*counter][2])
+       {
+               case 'b': /* Change the label of the last button.  */
+                       gsh_count(argc, counter);
+                       gtk_button_set_label(GTK_BUTTON(gsh->button), 
+                                            argv[*counter]);
+                       break;
+               default:
+                       ARWARN("invalid argument");
+       }
+}
 
 void
-gsh_handle_switch_arguments (struct GSH * gsh, int argc, char **argv, int 
*counter)
+gsh_handle_switch_arguments (struct GSH * gsh, int argc, 
+                            char **argv, int *counter)
 {
   gsh_check_row (gsh);
   switch (argv[*counter][1])
   {
   case 'a':
-    gsh_handle_add_arguments (gsh,
-                             argc,
-                             argv,
-                             counter);
+               gsh_handle_add_arguments (gsh, argc, argv, counter);
     break;
   case 'd':
-    gsh_handle_dialog_arguments (gsh,
-                                argc,
-                                argv,
-                                counter);
+               gsh_handle_dialog_arguments (gsh, argc, argv, counter);
+               break;
+       case 'm':
+               gsh_handle_modification_arguments (gsh, argc, argv, counter);
     break;
-  case 'h':
-    g_printerr ("Read the source code.\n");
-    exit (EXIT_FAILURE);
-               /* Following is unreachable if EXIT.  */
   case 'o':
-    gsh_handle_option_arguments (gsh,
-                                argc,
-                                argv,
-                                counter);
+               gsh_handle_option_arguments (gsh, argc, argv, counter);
     break;
   default:
-    g_printerr ("%s:  %s undefined\n", argv[0], argv[(*counter)]);
-    break;
+               g_warning ("%s:  %s undefined\n", argv[0], argv[(*counter)]);
   }
 }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]