• R/O
  • SSH
  • HTTPS

gsynaptics: Commit


Commit MetaInfo

Revision108 (tree)
Time2007-10-27 19:54:35
Authorikezoe

Log Message

2007-10-27 Hiroyuki Ikezoe <poincare@ikezoe.net>

* src/main.c: Show help contents when help button is clicked.

Change Summary

Incremental Difference

--- gsynaptics/trunk/ChangeLog (revision 107)
+++ gsynaptics/trunk/ChangeLog (revision 108)
@@ -1,5 +1,9 @@
11 2007-10-27 Hiroyuki Ikezoe <poincare@ikezoe.net>
22
3+ * src/main.c: Show help contents when help button is clicked.
4+
5+2007-10-27 Hiroyuki Ikezoe <poincare@ikezoe.net>
6+
37 * configure.ac: Add AM_CONFIG_HEADER.
48 * autogen.sh: Update.
59
--- gsynaptics/trunk/src/main.c (revision 107)
+++ gsynaptics/trunk/src/main.c (revision 108)
@@ -42,12 +42,57 @@
4242 };
4343
4444 static void
45-dialog_button_clicked_cb (GtkDialog *dialog, gint response_id)
45+dialog_button_clicked_cb (GtkDialog *dialog, gint response_id)
4646 {
47- if (response_id == GTK_RESPONSE_HELP)
48- g_warning("help");
47+ if (response_id == GTK_RESPONSE_HELP)
48+ {
49+ GError *error = NULL;
50+ GdkScreen *screen;
51+ gchar *command;
52+ const gchar *lang;
53+ gchar *uri = NULL;
54+ int i;
55+ const gchar * const * langs = g_get_language_names ();
56+
57+ for (i = 0; langs[i]; i++)
58+ {
59+ lang = langs[i];
60+ if (strchr (lang, '.'))
61+ continue;
62+
63+ uri = g_build_filename(HELPDATADIR,
64+ "/gnome/help/" PACKAGE,
65+ lang,
66+ "/gsynaptics.xml",
67+ NULL);
68+ if (g_file_test (uri, G_FILE_TEST_EXISTS))
69+ break;
70+ g_free (uri);
71+ uri = NULL;
72+ }
73+
74+ if (uri == NULL)
75+ {
76+ g_warning ("Cannot find help");
77+ return;
78+ }
79+
80+ command = g_strconcat ("gnome-help ghelp://", uri, NULL);
81+ g_free (uri);
82+
83+ screen = gtk_widget_get_screen (GTK_WIDGET (dialog));
84+ gdk_spawn_command_line_on_screen (screen, command, &error);
85+ if (error != NULL)
86+ {
87+ g_warning (error->message);
88+ g_error_free (error);
89+ }
90+ g_free (command);
91+ }
4992 else
93+ {
5094 gtk_main_quit ();
95+ }
5196 }
5297
5398 static GladeXML *
@@ -609,7 +654,7 @@
609654 NULL);
610655
611656 synaptics = g_synaptics_new ();
612- if (!g_synaptics_is_available(synaptics))
657+ if (g_synaptics_is_available(synaptics))
613658 {
614659 GtkWidget *dialog;
615660 g_object_unref (synaptics);
--- gsynaptics/trunk/src/Makefile.am (revision 107)
+++ gsynaptics/trunk/src/Makefile.am (revision 108)
@@ -1,6 +1,7 @@
11 bin_PROGRAMS = gsynaptics gsynaptics-init
22 gsynaptics_CFLAGS = \
33 -DDATADIR=\""$(datadir)/$(PACKAGE)"\" \
4+ -DHELPDATADIR=\""$(datadir)"\" \
45 $(GTK_CFLAGS) \
56 $(GNOME_CFLAGS) \
67 $(GLADE2_CFLAGS) \
Show on old repository browser