sven

Check-in [0cc39a5006]
Login

Check-in [0cc39a5006]

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:stability fixes; make mouse-grab-window working.
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 0cc39a5006cb2aca3f10ad9d001cb3a25ee762d3
User & Date: jamesbond 2015-02-17 19:29:54.261
Context
2015-02-21
12:38
update POTFILES source. check-in: 1af336fb75 user: jamesbond tags: trunk
2015-02-17
19:29
stability fixes; make mouse-grab-window working. check-in: 0cc39a5006 user: jamesbond tags: trunk
2013-12-27
06:09
stability fixes and make it compilable under recent GTK2 check-in: db5fcae9b6 user: jamesbond tags: trunk
Changes
Side-by-Side Diff Ignore Whitespace Patch
Changes to libsven/plugin.c.
334
335
336
337
338
339
340


341
342
343
344
345
346
347
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349







+
+








	if(sven==NULL)
		return;
	
	for (l = sven->plugin->list; l; l=l->next)
	{
		SvenPluginPriv *plug = (SvenPluginPriv *)l->data;
		
		if (!plug->enable) continue;
		
		if (plug->func->destroy != NULL)
			plug->func->destroy(sven,plug->func->private_data);
			
		if (plug->module != NULL)
			g_module_close (plug->module);
		
Changes to libsven/pref/confdevice.c.
749
750
751
752
753
754
755
756

757
758
759
760
761
762
763
764
765
766
767

768
769
770
771
772
773
774
749
750
751
752
753
754
755

756
757
758
759
760
761
762
763
764
765
766

767
768
769
770
771
772
773
774







-
+










-
+







	return GDK_FILTER_CONTINUE;
}

gboolean dest_win_mous_event_ok  (GtkObject *object,Sconfdevice *scd)
{
	char *test;
	gdk_pointer_ungrab(CurrentTime);
	gdk_window_remove_filter(gdk_get_default_root_window (),events_mouse,(gpointer) scd);
	gdk_window_remove_filter(SCONFDEVICE(scd)->mouse_grab_window,events_mouse,(gpointer) scd);
	gtk_label_get(GTK_LABEL (scd->mouse_code),&test);
	gtk_entry_set_text (GTK_ENTRY (scd->key_entry),test);
	gtk_widget_destroy(GTK_WIDGET(SCONFDEVICE(scd)->configure_win_mouse));
	SCONFDEVICE(scd)->configure_win_mouse=NULL;

  return FALSE;
}
gboolean dest_win_mous_event  (GtkObject *object,Sconfdevice *scd)
{
	gdk_pointer_ungrab(CurrentTime);
	gdk_window_remove_filter(gdk_get_default_root_window (),events_mouse,(gpointer) scd);
	gdk_window_remove_filter(SCONFDEVICE(scd)->mouse_grab_window,events_mouse,(gpointer) scd);
	gtk_widget_destroy(GTK_WIDGET(SCONFDEVICE(scd)->configure_win_mouse));
	SCONFDEVICE(scd)->configure_win_mouse=NULL;

  return FALSE;
}

static void mouse_button_dialog_window (GtkButton * wbutton, Sconfdevice *scd)
788
789
790
791
792
793
794
795






796
797
798
799
800
801
802
788
789
790
791
792
793
794

795
796
797
798
799
800
801
802
803
804
805
806
807







-
+
+
+
+
+
+







		      GTK_SIGNAL_FUNC (gtk_widget_destroyed), &scd->configure_win_mouse);
	gtk_signal_connect (GTK_OBJECT (scd->configure_win_mouse), "destroy", (GtkSignalFunc) dest_win_mous_event, scd);

	vbox = gtk_vbox_new (FALSE, 0);
	gtk_widget_show (vbox);
	gtk_container_add (GTK_CONTAINER (scd->configure_win_mouse), vbox);

	label = gtk_label_new (_("<span size=\"large\" color=\"#1347ce\"><b>Press any buttons combination  for mouse</b></span>"));
	label = gtk_label_new (_("<span size=\"large\" color=\"#1347ce\"><b>"
							 "Put your mouse cursor in this window, then\n"
							 "press any mouse buttons with shift keys.\n\n"
	                         "Use 'Tab' key to navigate OK/Cancel buttons,\n"
	                         "then press 'Space' bar or 'Enter' key to confirm."
	                         "</b></span>"));
	gtk_widget_show (label);
	gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, TRUE, 0);
	gtk_label_set_use_markup (GTK_LABEL (label), TRUE);

	scd->mouse_code = gtk_label_new ("");
	gtk_widget_show (scd->mouse_code);
	gtk_box_pack_start (GTK_BOX (vbox), scd->mouse_code, TRUE, FALSE, 0);
819
820
821
822
823
824
825
826

827
828
829


830
831
832
833
834
835
836
824
825
826
827
828
829
830

831



832
833
834
835
836
837
838
839
840







-
+
-
-
-
+
+







	gtk_widget_show (button);
	gtk_container_add (GTK_CONTAINER (hbuttonbox), button);
	GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);
	g_signal_connect(button, "clicked", G_CALLBACK(dest_win_mous_event), scd);

	gtk_widget_show (scd->configure_win_mouse);

  
    scd->mouse_grab_window = gtk_widget_get_window(scd->configure_win_mouse);
   
	gdk_pointer_grab (gdk_get_default_root_window (), TRUE,GDK_BUTTON_PRESS_MASK,NULL, NULL, GDK_CURRENT_TIME);
	gdk_window_add_filter (gdk_get_default_root_window (),events_mouse,(gpointer) scd);
	gdk_pointer_grab (scd->mouse_grab_window, FALSE,GDK_BUTTON_PRESS_MASK,NULL, NULL, GDK_CURRENT_TIME);
	gdk_window_add_filter (scd->mouse_grab_window,events_mouse,(gpointer) scd);

}
/*********************************END Mouse events************************************/
/********************************Start Keyboard events********************************/
static void configure_press_key (GtkWidget *widget,GdkEventKey *event,Sconfdevice *scd)
{
	char str[1000];
Changes to libsven/pref/confdevice.h.
72
73
74
75
76
77
78


79
80
81
82
83
84
85
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87







+
+







GtkWidget *runs_prog_entry;
GtkWidget *runs_spec_entry;
GtkWidget *runs_spec_entry_type;
GtkWidget *status_check;
GtkWidget *runs_radio;
GtkWidget *runs_radio1;
GtkWidget *runs_radio2;

GdkWindow *mouse_grab_window;
};

struct _SconfdeviceClass
{
 GtkVBoxClass parent_class;

  /* Padding for future expansion */