[Xfce4-commits] <xfce4-settings:master> Add Help button and make existing buttons work with wiki.
Nick Schermer
noreply at xfce.org
Sat Jan 7 15:24:01 CET 2012
Updating branch refs/heads/master
to 31f2aebdefd9078fd7e48b5e388e1fecbcc10de9 (commit)
from 96e594d619a36d40f9d0dd4765d889af658b5136 (commit)
commit 31f2aebdefd9078fd7e48b5e388e1fecbcc10de9
Author: Nick Schermer <nick at xfce.org>
Date: Sat Jan 7 15:21:55 2012 +0100
Add Help button and make existing buttons work with wiki.
configure.ac.in | 4 +-
.../accessibility-dialog.glade | 17 +++
dialogs/accessibility-settings/main.c | 19 +++-
.../xfce4-accessibility-settings.desktop.in | 2 +-
.../appearance-settings/appearance-dialog.glade | 17 +++
dialogs/appearance-settings/images.h | 10 +-
dialogs/appearance-settings/main.c | 19 +++-
.../xfce-ui-settings.desktop.in | 2 +-
dialogs/display-settings/display-dialog.glade | 20 +++-
dialogs/display-settings/display-name.c | 6 +-
dialogs/display-settings/edid-parse.c | 28 +++---
dialogs/display-settings/edid.h | 14 +-
dialogs/display-settings/main.c | 15 ++-
.../xfce-display-settings.desktop.in | 2 +-
dialogs/keyboard-settings/keyboard-dialog.glade | 17 +++
dialogs/keyboard-settings/main.c | 20 +++-
.../xfce-keyboard-settings.desktop.in | 2 +-
dialogs/mouse-settings/main.c | 17 +++-
dialogs/mouse-settings/mouse-dialog.glade | 17 +++
.../mouse-settings/xfce-mouse-settings.desktop.in | 2 +-
xfce4-settings-manager/main.c | 8 +-
.../xfce-settings-manager-dialog.c | 122 ++++++++-----------
xfsettingsd/xsettings.c | 4 +-
23 files changed, 248 insertions(+), 136 deletions(-)
diff --git a/configure.ac.in b/configure.ac.in
index ea6be47..db9313b 100644
--- a/configure.ac.in
+++ b/configure.ac.in
@@ -80,8 +80,8 @@ XDT_CHECK_PACKAGE([GTK], [gtk+-2.0], [2.20.0])
XDT_CHECK_PACKAGE([GLIB], [glib-2.0], [2.24.0])
XDT_CHECK_PACKAGE([GIO], [gio-2.0], [2.24.0])
XDT_CHECK_PACKAGE([LIBXFCE4UTIL], [libxfce4util-1.0], [4.8.0])
-XDT_CHECK_PACKAGE([LIBXFCE4UI], [libxfce4ui-1], [4.8.0])
-XDT_CHECK_PACKAGE([LIBXFCE4KBD_PRIVATE], [libxfce4kbd-private-2], [4.8.0])
+XDT_CHECK_PACKAGE([LIBXFCE4UI], [libxfce4ui-1], [4.9.0])
+XDT_CHECK_PACKAGE([LIBXFCE4KBD_PRIVATE], [libxfce4kbd-private-2], [4.9.0])
XDT_CHECK_PACKAGE([XFCONF], [libxfconf-0], [4.8.0])
XDT_CHECK_PACKAGE([DBUS_GLIB], [dbus-glib-1], [0.34])
XDT_CHECK_PACKAGE([FONTCONFIG], [fontconfig], [2.6.0])
diff --git a/dialogs/accessibility-settings/accessibility-dialog.glade b/dialogs/accessibility-settings/accessibility-dialog.glade
index 03624c2..ea02430 100644
--- a/dialogs/accessibility-settings/accessibility-dialog.glade
+++ b/dialogs/accessibility-settings/accessibility-dialog.glade
@@ -819,6 +819,22 @@ next time you login</property>
<property name="position">0</property>
</packing>
</child>
+ <child>
+ <object class="GtkButton" id="button1">
+ <property name="label">gtk-help</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ <property name="secondary">True</property>
+ </packing>
+ </child>
</object>
<packing>
<property name="expand">False</property>
@@ -830,6 +846,7 @@ next time you login</property>
</child>
<action-widgets>
<action-widget response="0">button2</action-widget>
+ <action-widget response="-11">button1</action-widget>
</action-widgets>
</object>
</interface>
diff --git a/dialogs/accessibility-settings/main.c b/dialogs/accessibility-settings/main.c
index 889063c..07d482e 100644
--- a/dialogs/accessibility-settings/main.c
+++ b/dialogs/accessibility-settings/main.c
@@ -159,6 +159,18 @@ accessibility_settings_dialog_configure_widgets (GtkBuilder *builder)
+static void
+accessibility_settings_dialog_response (GtkWidget *dialog,
+ gint response_id)
+{
+ if (response_id == GTK_RESPONSE_HELP)
+ xfce_dialog_show_help (GTK_WINDOW (dialog), "xfce4-settings", "accessibility", NULL);
+ else
+ gtk_main_quit ();
+}
+
+
+
gint
main (gint argc, gchar **argv)
{
@@ -234,15 +246,14 @@ main (gint argc, gchar **argv)
/* Get the dialog widget */
dialog = gtk_builder_get_object (builder, "dialog");
- gtk_widget_show (GTK_WIDGET (dialog));
- g_signal_connect (dialog, "response", G_CALLBACK (gtk_main_quit), NULL);
+ g_signal_connect (dialog, "response",
+ G_CALLBACK (accessibility_settings_dialog_response), NULL);
+ gtk_window_present (GTK_WINDOW (dialog));
/* To prevent the settings dialog to be saved in the session */
gdk_set_sm_client_id ("FAKE ID");
gtk_main ();
-
- gtk_widget_destroy (GTK_WIDGET (dialog));
}
else
{
diff --git a/dialogs/accessibility-settings/xfce4-accessibility-settings.desktop.in b/dialogs/accessibility-settings/xfce4-accessibility-settings.desktop.in
index a798a70..926d85c 100644
--- a/dialogs/accessibility-settings/xfce4-accessibility-settings.desktop.in
+++ b/dialogs/accessibility-settings/xfce4-accessibility-settings.desktop.in
@@ -10,4 +10,4 @@ Categories=X-XFCE;Settings;DesktopSettings;X-XfceSettingsDialog;
StartupNotify=true
OnlyShowIn=XFCE;
X-XfcePluggable=true
-X-XfceHelpFile=xfce4-settings.html
+X-XfceHelpPage=accessibility
diff --git a/dialogs/appearance-settings/appearance-dialog.glade b/dialogs/appearance-settings/appearance-dialog.glade
index 2880429..e5fb94b 100644
--- a/dialogs/appearance-settings/appearance-dialog.glade
+++ b/dialogs/appearance-settings/appearance-dialog.glade
@@ -610,6 +610,22 @@
<property name="position">0</property>
</packing>
</child>
+ <child>
+ <object class="GtkButton" id="button2">
+ <property name="label">gtk-help</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ <property name="secondary">True</property>
+ </packing>
+ </child>
</object>
<packing>
<property name="expand">False</property>
@@ -621,6 +637,7 @@
</child>
<action-widgets>
<action-widget response="0">button1</action-widget>
+ <action-widget response="-11">button2</action-widget>
</action-widgets>
</object>
</interface>
diff --git a/dialogs/appearance-settings/images.h b/dialogs/appearance-settings/images.h
index 2a71799..e9859bb 100644
--- a/dialogs/appearance-settings/images.h
+++ b/dialogs/appearance-settings/images.h
@@ -20,7 +20,7 @@
#include <config.h>
#endif
-static const gchar *rgba_image_none_xpm[] =
+static const gchar *rgba_image_none_xpm[] =
{
"18 15 1 1",
" c None",
@@ -41,7 +41,7 @@ static const gchar *rgba_image_none_xpm[] =
" "
};
-static const gchar *rgba_image_rgb_xpm[] =
+static const gchar *rgba_image_rgb_xpm[] =
{
"18 15 4 1",
" c None",
@@ -65,7 +65,7 @@ static const gchar *rgba_image_rgb_xpm[] =
".....+++++@@@@@ "
};
-static const gchar *rgba_image_bgr_xpm[] =
+static const gchar *rgba_image_bgr_xpm[] =
{
"18 15 4 1",
" c None",
@@ -89,7 +89,7 @@ static const gchar *rgba_image_bgr_xpm[] =
".....+++++@@@@@ "
};
-static const gchar *rgba_image_vrgb_xpm[] =
+static const gchar *rgba_image_vrgb_xpm[] =
{
"18 15 4 1",
" c None",
@@ -113,7 +113,7 @@ static const gchar *rgba_image_vrgb_xpm[] =
"@@@@@@@@@@@@@@@ "
};
-static const gchar *rgba_image_vbgr_xpm[] =
+static const gchar *rgba_image_vbgr_xpm[] =
{
"18 15 4 1",
" c None",
diff --git a/dialogs/appearance-settings/main.c b/dialogs/appearance-settings/main.c
index 0263b76..f1486a1 100644
--- a/dialogs/appearance-settings/main.c
+++ b/dialogs/appearance-settings/main.c
@@ -935,8 +935,18 @@ appearance_settings_dialog_configure_widgets (GtkBuilder *builder)
#endif
}
+static void
+appearance_settings_dialog_response (GtkWidget *dialog,
+ gint response_id)
+{
+ if (response_id == GTK_RESPONSE_HELP)
+ xfce_dialog_show_help (GTK_WINDOW (dialog), "xfce4-settings", "appearance", NULL);
+ else
+ gtk_main_quit ();
+}
+
gint
-main(gint argc, gchar **argv)
+main (gint argc, gchar **argv)
{
GObject *dialog, *plug_child;
GtkWidget *plug;
@@ -1013,15 +1023,14 @@ main(gint argc, gchar **argv)
/* build the dialog */
dialog = gtk_builder_get_object (builder, "dialog");
- gtk_widget_show (GTK_WIDGET (dialog));
- g_signal_connect (dialog, "response", G_CALLBACK (gtk_main_quit), NULL);
+ g_signal_connect (dialog, "response",
+ G_CALLBACK (appearance_settings_dialog_response), NULL);
+ gtk_window_present (GTK_WINDOW (dialog));
/* To prevent the settings dialog to be saved in the session */
gdk_set_sm_client_id ("FAKE ID");
gtk_main ();
-
- gtk_widget_destroy (GTK_WIDGET (dialog));
}
else
{
diff --git a/dialogs/appearance-settings/xfce-ui-settings.desktop.in b/dialogs/appearance-settings/xfce-ui-settings.desktop.in
index 514fb54..b6fa1dd 100644
--- a/dialogs/appearance-settings/xfce-ui-settings.desktop.in
+++ b/dialogs/appearance-settings/xfce-ui-settings.desktop.in
@@ -10,4 +10,4 @@ Categories=X-XFCE;Settings;DesktopSettings;X-XfceSettingsDialog;
StartupNotify=true
OnlyShowIn=XFCE;
X-XfcePluggable=true
-X-XfceHelpFile=xfce4-settings.html
+X-XfceHelpPage=appearance
diff --git a/dialogs/display-settings/display-dialog.glade b/dialogs/display-settings/display-dialog.glade
index 0c45e83..4960be6 100644
--- a/dialogs/display-settings/display-dialog.glade
+++ b/dialogs/display-settings/display-dialog.glade
@@ -180,9 +180,6 @@
<property name="visible">True</property>
<property name="layout_style">end</property>
<child>
- <placeholder/>
- </child>
- <child>
<object class="GtkButton" id="button-close">
<property name="label">gtk-close</property>
<property name="visible">True</property>
@@ -196,6 +193,22 @@
<property name="position">1</property>
</packing>
</child>
+ <child>
+ <object class="GtkButton" id="button-help">
+ <property name="label">gtk-help</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ <property name="secondary">True</property>
+ </packing>
+ </child>
</object>
<packing>
<property name="expand">False</property>
@@ -207,6 +220,7 @@
</child>
<action-widgets>
<action-widget response="0">button-close</action-widget>
+ <action-widget response="-11">button-help</action-widget>
</action-widgets>
</object>
</interface>
diff --git a/dialogs/display-settings/display-name.c b/dialogs/display-settings/display-name.c
index 6005585..5e8f8b1 100644
--- a/dialogs/display-settings/display-name.c
+++ b/dialogs/display-settings/display-name.c
@@ -43,7 +43,7 @@ struct Vendor
};
/* This list of vendor codes derived from lshw
- *
+ *
* http://ezix.org/project/wiki/HardwareLiSter
*
* Note: we now prefer to use data coming from hwdata (and shipped with
@@ -51,7 +51,7 @@ struct Vendor
* http://git.fedorahosted.org/git/?p=hwdata.git;a=blob_plain;f=pnp.ids;hb=HEAD
* All contributions to the list of vendors should go there.
*/
-static const struct Vendor vendors[] =
+static const struct Vendor vendors[] =
{
{ "AIC", "AG Neovo" },
{ "ACR", "Acer" },
@@ -284,7 +284,7 @@ make_display_name (const MonitorInfo *info)
width_mm = -1;
height_mm = -1;
}
-
+
if (width_mm != -1 && height_mm != -1)
{
double d = sqrt (width_mm * width_mm + height_mm * height_mm);
diff --git a/dialogs/display-settings/edid-parse.c b/dialogs/display-settings/edid-parse.c
index 709e82a..3b02c37 100644
--- a/dialogs/display-settings/edid-parse.c
+++ b/dialogs/display-settings/edid-parse.c
@@ -42,7 +42,7 @@ static int
get_bits (int in, int begin, int end)
{
int mask = (1 << (end - begin + 1)) - 1;
-
+
return (in >> begin) & mask;
}
@@ -58,14 +58,14 @@ static int
decode_vendor_and_product_identification (const uchar *edid, MonitorInfo *info)
{
int is_model_year;
-
+
/* Manufacturer Code */
info->manufacturer_code[0] = get_bits (edid[0x08], 2, 6);
info->manufacturer_code[1] = get_bits (edid[0x08], 0, 1) << 3;
info->manufacturer_code[1] |= get_bits (edid[0x09], 5, 7);
info->manufacturer_code[2] = get_bits (edid[0x09], 0, 4);
info->manufacturer_code[3] = '\0';
-
+
info->manufacturer_code[0] += 'A' - 1;
info->manufacturer_code[1] += 'A' - 1;
info->manufacturer_code[2] += 'A' - 1;
@@ -127,7 +127,7 @@ decode_display_parameters (const uchar *edid, MonitorInfo *info)
if (info->is_digital)
{
int bits;
-
+
static const int bit_depth[8] =
{
-1, 6, 8, 10, 12, 14, 16, -1
@@ -142,7 +142,7 @@ decode_display_parameters (const uchar *edid, MonitorInfo *info)
info->connector.digital.bits_per_primary = bit_depth[bits];
bits = get_bits (edid[0x14], 0, 3);
-
+
if (bits <= 5)
info->connector.digital.interface = interfaces[bits];
else
@@ -151,7 +151,7 @@ decode_display_parameters (const uchar *edid, MonitorInfo *info)
else
{
int bits = get_bits (edid[0x14], 5, 6);
-
+
static const double levels[][3] =
{
{ 0.7, 0.3, 1.0 },
@@ -183,7 +183,7 @@ decode_display_parameters (const uchar *edid, MonitorInfo *info)
else if (edid[0x16] == 0)
{
info->width_mm = -1;
- info->height_mm = -1;
+ info->height_mm = -1;
info->aspect_ratio = 100.0 / (edid[0x15] + 99);
}
else if (edid[0x15] == 0)
@@ -271,7 +271,7 @@ decode_color_characteristics (const uchar *edid, MonitorInfo *info)
static int
decode_established_timings (const uchar *edid, MonitorInfo *info)
{
- static const Timing established[][8] =
+ static const Timing established[][8] =
{
{
{ 800, 600, 60 },
@@ -325,7 +325,7 @@ static int
decode_standard_timings (const uchar *edid, MonitorInfo *info)
{
int i;
-
+
for (i = 0; i < 8; i++)
{
int first = edid[0x26 + 2 * i];
@@ -349,7 +349,7 @@ decode_standard_timings (const uchar *edid, MonitorInfo *info)
info->standard[i].frequency = get_bits (second, 0, 5) + 60;
}
}
-
+
return TRUE;
}
@@ -425,7 +425,7 @@ decode_detailed_timing (const uchar *timing,
TWO_WAY_RIGHT_ON_EVEN, TWO_WAY_LEFT_ON_EVEN,
FOUR_WAY_INTERLEAVED, SIDE_BY_SIDE
};
-
+
detailed->pixel_clock = (timing[0x00] | timing[0x01] << 8) * 10000;
detailed->h_addr = timing[0x02] | ((timing[0x04] & 0xf0) << 4);
detailed->h_blank = timing[0x03] | ((timing[0x04] & 0x0f) << 8);
@@ -482,9 +482,9 @@ decode_descriptors (const uchar *edid, MonitorInfo *info)
{
int i;
int timing_idx;
-
+
timing_idx = 0;
-
+
for (i = 0; i < 4; ++i)
{
int idx = 0x36 + i * 18;
@@ -524,7 +524,7 @@ decode_edid (const uchar *edid)
MonitorInfo *info = g_new0 (MonitorInfo, 1);
decode_check_sum (edid, info);
-
+
if (decode_header (edid)
&& decode_vendor_and_product_identification (edid, info)
&& decode_edid_version (edid, info)
diff --git a/dialogs/display-settings/edid.h b/dialogs/display-settings/edid.h
index 4ea5cd0..952254f 100644
--- a/dialogs/display-settings/edid.h
+++ b/dialogs/display-settings/edid.h
@@ -1,9 +1,9 @@
/* edid.h
*
* Copyright 2007, 2008, Red Hat, Inc.
- *
+ *
* This file is part of the Gnome Library.
- *
+ *
* The Gnome Library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public License as
* published by the Free Software Foundation; either version 2 of the
@@ -13,7 +13,7 @@
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public License along
* with the Gnome Library; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
@@ -112,7 +112,7 @@ struct MonitorInfo
char manufacturer_code[4];
int product_code;
unsigned int serial_number;
-
+
int production_week; /* -1 if not specified */
int production_year; /* -1 if not specified */
int model_year; /* -1 if not specified */
@@ -121,7 +121,7 @@ struct MonitorInfo
int minor_version;
int is_digital;
-
+
union
{
struct
@@ -174,12 +174,12 @@ struct MonitorInfo
Timing established[24]; /* Terminated by 0x0x0 */
Timing standard[8];
-
+
int n_detailed_timings;
DetailedTiming detailed_timings[4]; /* If monitor has a preferred
* mode, it is the first one
* (whether it has, is
- * determined by the
+ * determined by the
* preferred_timing_includes
* bit.
*/
diff --git a/dialogs/display-settings/main.c b/dialogs/display-settings/main.c
index 97440d2..836daea 100644
--- a/dialogs/display-settings/main.c
+++ b/dialogs/display-settings/main.c
@@ -830,7 +830,10 @@ display_settings_dialog_response (GtkDialog *dialog,
gint response_id,
GtkBuilder *builder)
{
- gtk_main_quit ();
+ if (response_id == GTK_RESPONSE_HELP)
+ xfce_dialog_show_help (GTK_WINDOW (dialog), "xfce4-settings", "display", NULL);
+ else
+ gtk_main_quit ();
}
@@ -1150,10 +1153,11 @@ main (gint argc, gchar **argv)
if (G_UNLIKELY (opt_socket_id == 0))
{
- g_signal_connect (G_OBJECT (dialog), "response", G_CALLBACK (display_settings_dialog_response), builder);
+ g_signal_connect (G_OBJECT (dialog), "response",
+ G_CALLBACK (display_settings_dialog_response), builder);
/* Show the dialog */
- gtk_widget_show (dialog);
+ gtk_window_present (GTK_WINDOW (dialog));
}
else
{
@@ -1207,7 +1211,8 @@ main (gint argc, gchar **argv)
/* Build the minimal dialog */
dialog = (GtkWidget *) gtk_builder_get_object (builder, "dialog1");
- g_signal_connect (G_OBJECT (dialog), "response", G_CALLBACK (display_settings_minimal_dialog_response), builder);
+ g_signal_connect (G_OBJECT (dialog), "response",
+ G_CALLBACK (display_settings_minimal_dialog_response), builder);
/* Set the radio buttons captions */
first_screen_radio =
@@ -1232,7 +1237,7 @@ main (gint argc, gchar **argv)
g_free (screen_name);
/* Show the minimal dialog and start the main loop */
- gtk_widget_show (dialog);
+ gtk_window_present (GTK_WINDOW (dialog));
gtk_main ();
}
else
diff --git a/dialogs/display-settings/xfce-display-settings.desktop.in b/dialogs/display-settings/xfce-display-settings.desktop.in
index ccec807..ef4f1a8 100644
--- a/dialogs/display-settings/xfce-display-settings.desktop.in
+++ b/dialogs/display-settings/xfce-display-settings.desktop.in
@@ -10,4 +10,4 @@ Categories=X-XFCE;Settings;DesktopSettings;X-XfceSettingsDialog;
StartupNotify=true
OnlyShowIn=XFCE;
X-XfcePluggable=true
-X-XfceHelpFile=xfce4-settings.html
+X-XfceHelpPage=display
diff --git a/dialogs/keyboard-settings/keyboard-dialog.glade b/dialogs/keyboard-settings/keyboard-dialog.glade
index 4ab90ae..9edbb6d 100644
--- a/dialogs/keyboard-settings/keyboard-dialog.glade
+++ b/dialogs/keyboard-settings/keyboard-dialog.glade
@@ -127,6 +127,22 @@
<property name="position">0</property>
</packing>
</child>
+ <child>
+ <object class="GtkButton" id="button1">
+ <property name="label">gtk-help</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ <property name="secondary">True</property>
+ </packing>
+ </child>
</object>
<packing>
<property name="expand">False</property>
@@ -824,6 +840,7 @@
</child>
<action-widgets>
<action-widget response="0">button2</action-widget>
+ <action-widget response="-11">button1</action-widget>
</action-widgets>
</object>
<object class="GtkAdjustment" id="net_cursor_blink_time">
diff --git a/dialogs/keyboard-settings/main.c b/dialogs/keyboard-settings/main.c
index 6368ee6..8960c6b 100644
--- a/dialogs/keyboard-settings/main.c
+++ b/dialogs/keyboard-settings/main.c
@@ -26,6 +26,7 @@
#include <gtk/gtk.h>
#include <libxfce4util/libxfce4util.h>
+#include <libxfce4ui/libxfce4ui.h>
#include <xfconf/xfconf.h>
#include "xfce-keyboard-settings.h"
@@ -42,6 +43,18 @@ static GOptionEntry entries[] = {
+static void
+keyboard_settings_dialog_response (GtkWidget *dialog,
+ gint response_id)
+{
+ if (response_id == GTK_RESPONSE_HELP)
+ xfce_dialog_show_help (GTK_WINDOW (dialog), "xfce4-settings", "keyboard", NULL);
+ else
+ gtk_main_quit ();
+}
+
+
+
int
main (int argc,
char **argv)
@@ -110,15 +123,14 @@ main (int argc,
dialog = xfce_keyboard_settings_create_dialog (settings);
gtk_window_set_default_size (GTK_WINDOW (dialog), 450, -1);
- gtk_widget_show (GTK_WIDGET (dialog));
- g_signal_connect (dialog, "response", G_CALLBACK (gtk_main_quit), NULL);
+ g_signal_connect (dialog, "response",
+ G_CALLBACK (keyboard_settings_dialog_response), NULL);
+ gtk_window_present (GTK_WINDOW (dialog));
/* To prevent the settings dialog to be saved in the session */
gdk_set_sm_client_id ("FAKE ID");
gtk_main ();
-
- gtk_widget_destroy (GTK_WIDGET (dialog));
}
else
{
diff --git a/dialogs/keyboard-settings/xfce-keyboard-settings.desktop.in b/dialogs/keyboard-settings/xfce-keyboard-settings.desktop.in
index 75c4904..c2fdcb0 100644
--- a/dialogs/keyboard-settings/xfce-keyboard-settings.desktop.in
+++ b/dialogs/keyboard-settings/xfce-keyboard-settings.desktop.in
@@ -10,4 +10,4 @@ Categories=X-XFCE;Settings;DesktopSettings;X-XfceSettingsDialog;
StartupNotify=true
OnlyShowIn=XFCE;
X-XfcePluggable=true
-X-XfceHelpFile=xfce4-settings.html
+X-XfceHelpPage=keyboard
diff --git a/dialogs/mouse-settings/main.c b/dialogs/mouse-settings/main.c
index c656d93..5354794 100644
--- a/dialogs/mouse-settings/main.c
+++ b/dialogs/mouse-settings/main.c
@@ -1476,6 +1476,18 @@ mouse_settings_create_event_filter (GtkBuilder *builder)
+static void
+mouse_settings_dialog_response (GtkWidget *dialog,
+ gint response_id)
+{
+ if (response_id == GTK_RESPONSE_HELP)
+ xfce_dialog_show_help (GTK_WINDOW (dialog), "xfce4-settings", "mouse", NULL);
+ else
+ gtk_main_quit ();
+}
+
+
+
gint
main (gint argc, gchar **argv)
{
@@ -1687,8 +1699,9 @@ main (gint argc, gchar **argv)
/* unlock */
locked--;
- gtk_widget_show (GTK_WIDGET (dialog));
- g_signal_connect (dialog, "response", G_CALLBACK (gtk_main_quit), NULL);
+ g_signal_connect (dialog, "response",
+ G_CALLBACK (mouse_settings_dialog_response), NULL);
+ gtk_window_present (GTK_WINDOW (dialog));
/* To prevent the settings dialog to be saved in the session */
gdk_set_sm_client_id ("FAKE ID");
diff --git a/dialogs/mouse-settings/mouse-dialog.glade b/dialogs/mouse-settings/mouse-dialog.glade
index 74e9ef0..f25b613 100644
--- a/dialogs/mouse-settings/mouse-dialog.glade
+++ b/dialogs/mouse-settings/mouse-dialog.glade
@@ -74,6 +74,22 @@
<property name="position">0</property>
</packing>
</child>
+ <child>
+ <object class="GtkButton" id="button2">
+ <property name="label">gtk-help</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ <property name="secondary">True</property>
+ </packing>
+ </child>
</object>
<packing>
<property name="expand">False</property>
@@ -1137,6 +1153,7 @@
</child>
<action-widgets>
<action-widget response="0">button1</action-widget>
+ <action-widget response="-11">button2</action-widget>
</action-widgets>
</object>
<object class="GtkAdjustment" id="theme-cursor-size">
diff --git a/dialogs/mouse-settings/xfce-mouse-settings.desktop.in b/dialogs/mouse-settings/xfce-mouse-settings.desktop.in
index 56c194b..17edc51 100644
--- a/dialogs/mouse-settings/xfce-mouse-settings.desktop.in
+++ b/dialogs/mouse-settings/xfce-mouse-settings.desktop.in
@@ -10,4 +10,4 @@ Categories=X-XFCE;Settings;DesktopSettings;X-XfceSettingsDialog;
StartupNotify=true
OnlyShowIn=XFCE;
X-XfcePluggable=true
-X-XfceHelpFile=xfce4-settings.html
+X-XfceHelpPage=mouse
diff --git a/xfce4-settings-manager/main.c b/xfce4-settings-manager/main.c
index 71332f6..c3c3806 100644
--- a/xfce4-settings-manager/main.c
+++ b/xfce4-settings-manager/main.c
@@ -35,9 +35,9 @@ static gboolean opt_version = FALSE;
static gchar *opt_dialog = NULL;
static GOptionEntry option_entries[] = {
- { "version", 'V', G_OPTION_FLAG_IN_MAIN, G_OPTION_ARG_NONE, &opt_version,
+ { "version", 'V', G_OPTION_FLAG_IN_MAIN, G_OPTION_ARG_NONE, &opt_version,
N_("Version information"), NULL },
- { "dialog", 'd', G_OPTION_FLAG_IN_MAIN, G_OPTION_ARG_STRING, &opt_dialog,
+ { "dialog", 'd', G_OPTION_FLAG_IN_MAIN, G_OPTION_ARG_STRING, &opt_dialog,
N_("Settings dialog to show"), NULL },
{ NULL }
};
@@ -75,7 +75,7 @@ main(int argc,
if(G_UNLIKELY(!xfconf_init (&error))) {
if(G_LIKELY(error != NULL)) {
- g_error("%s: Failed to initialize xfconf: %s.\n", G_LOG_DOMAIN,
+ g_error("%s: Failed to initialize xfconf: %s.\n", G_LOG_DOMAIN,
error->message);
g_error_free(error);
} else {
@@ -90,7 +90,7 @@ main(int argc,
G_CALLBACK(gtk_main_quit), NULL);
if(opt_dialog != NULL) {
- xfce_settings_manager_dialog_show_dialog(XFCE_SETTINGS_MANAGER_DIALOG(dialog),
+ xfce_settings_manager_dialog_show_dialog(XFCE_SETTINGS_MANAGER_DIALOG(dialog),
opt_dialog);
}
diff --git a/xfce4-settings-manager/xfce-settings-manager-dialog.c b/xfce4-settings-manager/xfce-settings-manager-dialog.c
index b49c5e6..4aa3822 100644
--- a/xfce4-settings-manager/xfce-settings-manager-dialog.c
+++ b/xfce4-settings-manager/xfce-settings-manager-dialog.c
@@ -73,7 +73,7 @@ struct _XfceSettingsManagerDialog
const gchar *default_subtitle;
const gchar *default_icon;
- gchar *help_file;
+ gchar *help_page;
GPid last_pid;
};
@@ -92,7 +92,7 @@ enum
COL_SNOTIFY,
#ifdef ENABLE_PLUGGABLE_DIALOGS
COL_PLUGGABLE,
- COL_HELP_FILE,
+ COL_HELP_PAGE,
#endif
COL_DIALOG_NAME,
N_COLS
@@ -157,7 +157,7 @@ xfce_settings_manager_dialog_init(XfceSettingsManagerDialog *dialog)
dialog->socket = NULL;
dialog->last_pid = -1;
- dialog->help_file = NULL;
+ dialog->help_page = NULL;
#endif
dialog->default_title = _("Settings");
@@ -181,11 +181,11 @@ xfce_settings_manager_dialog_init(XfceSettingsManagerDialog *dialog)
dialog->content_frame = gtk_vbox_new(FALSE, 0);
gtk_widget_show(dialog->content_frame);
- gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox),
+ gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox),
dialog->content_frame);
dialog->scrollwin = gtk_scrolled_window_new(NULL, NULL);
- gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(dialog->scrollwin),
+ gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(dialog->scrollwin),
GTK_SHADOW_IN);
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(dialog->scrollwin),
GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
@@ -214,41 +214,41 @@ xfce_settings_manager_dialog_init(XfceSettingsManagerDialog *dialog)
NULL);
render = gtk_cell_renderer_pixbuf_new();
- gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(dialog->icon_view), render,
+ gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(dialog->icon_view), render,
FALSE);
gtk_cell_layout_add_attribute(GTK_CELL_LAYOUT(dialog->icon_view), render,
"icon-name", COL_ICON_NAME);
- g_object_set(render, "stock-size", GTK_ICON_SIZE_DIALOG,
+ g_object_set(render, "stock-size", GTK_ICON_SIZE_DIALOG,
"follow-state", TRUE, NULL);
render = xfce_text_renderer_new();
gtk_cell_layout_pack_end(GTK_CELL_LAYOUT(dialog->icon_view), render, TRUE);
gtk_cell_layout_add_attribute(GTK_CELL_LAYOUT(dialog->icon_view), render,
"text", COL_NAME);
- g_object_set(render, "follow-state", TRUE, "follow-prelit", TRUE,
+ g_object_set(render, "follow-state", TRUE, "follow-prelit", TRUE,
"wrap-width", 128, NULL);
#ifdef ENABLE_PLUGGABLE_DIALOGS
/* Create client frame to contain the socket scroll window */
dialog->client_frame = gtk_frame_new (NULL);
- gtk_frame_set_shadow_type(GTK_FRAME(dialog->client_frame),
+ gtk_frame_set_shadow_type(GTK_FRAME(dialog->client_frame),
GTK_SHADOW_NONE);
gtk_widget_hide(dialog->client_frame);
- gtk_container_add(GTK_CONTAINER(dialog->content_frame),
+ gtk_container_add(GTK_CONTAINER(dialog->content_frame),
dialog->client_frame);
/* Create scroll window to contain the socket viewport */
scrollwin = gtk_scrolled_window_new(NULL, NULL);
- gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrollwin),
+ gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrollwin),
GTK_SHADOW_NONE);
- gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrollwin),
+ gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrollwin),
GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
gtk_widget_show(scrollwin);
gtk_container_add(GTK_CONTAINER(dialog->client_frame), scrollwin);
/* Create socket viewport */
dialog->socket_viewport = gtk_viewport_new(NULL, NULL);
- gtk_viewport_set_shadow_type(GTK_VIEWPORT(dialog->socket_viewport),
+ gtk_viewport_set_shadow_type(GTK_VIEWPORT(dialog->socket_viewport),
GTK_SHADOW_NONE);
gtk_widget_show(dialog->socket_viewport);
gtk_container_add(GTK_CONTAINER(scrollwin), dialog->socket_viewport);
@@ -270,21 +270,21 @@ xfce_settings_manager_dialog_init(XfceSettingsManagerDialog *dialog)
/* Create back button which takes the user back to the overview */
dialog->back_button = gtk_button_new_with_mnemonic(_("_Overview"));
gtk_button_set_image(GTK_BUTTON(dialog->back_button),
- gtk_image_new_from_stock(GTK_STOCK_GO_BACK,
+ gtk_image_new_from_stock(GTK_STOCK_GO_BACK,
GTK_ICON_SIZE_BUTTON));
- gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->action_area),
+ gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->action_area),
dialog->back_button);
gtk_widget_set_sensitive(dialog->back_button, FALSE);
gtk_widget_show(dialog->back_button);
- g_signal_connect(dialog->back_button, "clicked",
+ g_signal_connect(dialog->back_button, "clicked",
G_CALLBACK(xfce_settings_manager_dialog_back_button_clicked),
dialog);
#endif
/* Create help button */
dialog->help_button = gtk_button_new_from_stock(GTK_STOCK_HELP);
- gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->action_area),
+ gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->action_area),
dialog->help_button);
gtk_widget_hide(dialog->help_button);
@@ -302,8 +302,8 @@ static void
xfce_settings_manager_dialog_finalize(GObject *obj)
{
XfceSettingsManagerDialog *dialog = XFCE_SETTINGS_MANAGER_DIALOG(obj);
-
- g_free (dialog->help_file);
+
+ g_free (dialog->help_page);
g_object_unref(dialog->ls);
G_OBJECT_CLASS(xfce_settings_manager_dialog_parent_class)->finalize(obj);
@@ -329,10 +329,10 @@ xfce_settings_manager_dialog_reset_view(XfceSettingsManagerDialog *dialog,
gtk_widget_set_sensitive(dialog->back_button, FALSE);
/* Use default help url */
- g_free(dialog->help_file);
- dialog->help_file = NULL;
+ g_free(dialog->help_page);
+ dialog->help_page = NULL;
#endif
-
+
/* Show the help button */
gtk_widget_show(dialog->help_button);
} else {
@@ -389,18 +389,18 @@ xfce_settings_manager_dialog_create_liststore(XfceSettingsManagerDialog *dialog)
gint i, icon_size;
GList *dialog_name_list = NULL;
- dialog->ls = gtk_list_store_new(N_COLS,
- G_TYPE_STRING,
+ dialog->ls = gtk_list_store_new(N_COLS,
+ G_TYPE_STRING,
G_TYPE_STRING,
- G_TYPE_STRING,
G_TYPE_STRING,
- G_TYPE_BOOLEAN,
+ G_TYPE_STRING,
+ G_TYPE_BOOLEAN,
#ifdef ENABLE_PLUGGABLE_DIALOGS
- G_TYPE_BOOLEAN,
- G_TYPE_STRING,
+ G_TYPE_BOOLEAN,
+ G_TYPE_STRING,
#endif
G_TYPE_STRING);
-
+
dirs = xfce_resource_lookup_all(XFCE_RESOURCE_DATA, "applications/");
if(!dirs)
return;
@@ -510,7 +510,7 @@ xfce_settings_manager_dialog_create_liststore(XfceSettingsManagerDialog *dialog)
COL_SNOTIFY, xfce_rc_read_bool_entry(rcfile, "StartupNotify", FALSE),
#ifdef ENABLE_PLUGGABLE_DIALOGS
COL_PLUGGABLE, xfce_rc_read_bool_entry(rcfile, "X-XfcePluggable", FALSE),
- COL_HELP_FILE, xfce_rc_read_entry(rcfile, "X-XfceHelpFile", FALSE),
+ COL_HELP_PAGE, xfce_rc_read_entry(rcfile, "X-XfceHelpPage", FALSE),
#endif
COL_DIALOG_NAME, dialog_name,
-1);
@@ -543,7 +543,7 @@ xfce_settings_manager_dialog_item_activated(ExoIconView *iconview,
gboolean snotify = FALSE;
#ifdef ENABLE_PLUGGABLE_DIALOGS
gboolean pluggable = FALSE;
- gchar *help_file, *command;
+ gchar *help_page, *command;
#endif
GError *error = NULL;
@@ -558,7 +558,7 @@ xfce_settings_manager_dialog_item_activated(ExoIconView *iconview,
COL_SNOTIFY, &snotify,
#ifdef ENABLE_PLUGGABLE_DIALOGS
COL_PLUGGABLE, &pluggable,
- COL_HELP_FILE, &help_file,
+ COL_HELP_PAGE, &help_page,
#endif
-1);
@@ -576,13 +576,13 @@ xfce_settings_manager_dialog_item_activated(ExoIconView *iconview,
xfce_settings_manager_dialog_reset_view(dialog, FALSE);
/* If the dialog supports help, show the help button */
- if(help_file) {
+ if(help_page) {
gtk_widget_show (dialog->help_button);
/* Replace the current help url */
- g_free(dialog->help_file);
- dialog->help_file = g_strdup(help_file);
- }
+ g_free(dialog->help_page);
+ dialog->help_page = g_strdup(help_page);
+ }
/* Build the dialog command */
command = g_strdup_printf("%s --socket-id=%d", exec,
@@ -620,7 +620,7 @@ xfce_settings_manager_dialog_item_activated(ExoIconView *iconview,
#ifdef ENABLE_PLUGGABLE_DIALOGS
}
- g_free(help_file);
+ g_free(help_page);
#endif
g_free(exec);
g_free(name);
@@ -639,33 +639,13 @@ xfce_settings_manager_dialog_back_button_clicked(GtkWidget *button,
}
#endif
-static void
+static void
xfce_settings_manager_dialog_help_button_clicked(GtkWidget *button,
XfceSettingsManagerDialog *dialog)
{
- GError *error = NULL;
- gchar *command;
-
- /* Open absolute filenames with exo-open and relative filenames with xfhelp4 */
- if(dialog->help_file) {
- if(g_path_is_absolute(dialog->help_file))
- command = g_strconcat("exo-open ", dialog->help_file, NULL);
- else
- command = g_strconcat("xfhelp4 ", dialog->help_file, NULL);
- } else {
- /* TODO: Maybe use xfce4-settings-manager.html or something similar here */
- command = g_strconcat("xfhelp4 ", "xfce4-settings.html", NULL);
- }
-
- /* Try to open the documentation */
- if(!gdk_spawn_command_line_on_screen(gtk_widget_get_screen(button),
- command, &error))
- {
- xfce_dialog_show_error (NULL, error, _("Failed to open the documentation"));
- g_error_free(error);
- }
-
- g_free(command);
+ xfce_dialog_show_help (GTK_WINDOW (dialog), "xfce4-settings",
+ dialog->help_page ? dialog->help_page : "manager",
+ NULL);
}
static void
@@ -709,7 +689,7 @@ xfce_settings_manager_dialog_plug_added(GtkSocket *socket,
{
g_return_if_fail(XFCE_IS_SETTINGS_MANAGER_DIALOG(dialog));
- g_timeout_add(250, (GSourceFunc) xfce_settings_manager_dialog_show_client,
+ g_timeout_add(250, (GSourceFunc) xfce_settings_manager_dialog_show_client,
dialog);
}
@@ -730,15 +710,15 @@ xfce_settings_manager_dialog_recreate_socket(XfceSettingsManagerDialog *dialog)
dialog->socket = gtk_socket_new();
gtk_widget_show(dialog->socket);
gtk_container_add(GTK_CONTAINER(dialog->socket_viewport), dialog->socket);
-
+
/* Handle newly added plugs in a callback */
- g_signal_connect(dialog->socket, "plug-added",
+ g_signal_connect(dialog->socket, "plug-added",
G_CALLBACK(xfce_settings_manager_dialog_plug_added),
dialog);
/* Add plug-removed callback to be able to re-use the socket when plugs
* are removed */
- g_signal_connect(dialog->socket, "plug-removed",
+ g_signal_connect(dialog->socket, "plug-removed",
G_CALLBACK(xfce_settings_manager_dialog_plug_removed),
dialog);
@@ -754,15 +734,15 @@ xfce_settings_manager_dialog_compute_default_size (XfceSettingsManagerDialog *di
GdkRectangle screen_size;
GdkScreen *screen;
gint monitor;
-
+
screen = gtk_widget_get_screen(GTK_WIDGET(dialog));
-
+
gtk_widget_realize(GTK_WIDGET(dialog));
monitor = gdk_screen_get_monitor_at_window(screen, GTK_WIDGET(dialog)->window);
gtk_widget_unrealize(GTK_WIDGET(dialog));
-
+
gdk_screen_get_monitor_geometry (screen, monitor, &screen_size);
-
+
*width = MIN(screen_size.width * 2.0 / 3, WINDOW_MAX_WIDTH);
*height = MIN(screen_size.height * 2.0 / 3, WINDOW_MAX_HEIGHT);
}
@@ -832,7 +812,7 @@ xfce_settings_manager_dialog_new(void)
-void
+void
xfce_settings_manager_dialog_show_dialog (XfceSettingsManagerDialog *dialog,
const gchar *dialog_name)
{
@@ -845,7 +825,7 @@ xfce_settings_manager_dialog_show_dialog (XfceSettingsManagerDialog *dialog,
g_return_if_fail (dialog_name != NULL);
model = exo_icon_view_get_model(EXO_ICON_VIEW(dialog->icon_view));
-
+
if(G_LIKELY(gtk_tree_model_get_iter_first(model, &iter))) {
do {
gtk_tree_model_get(model, &iter, COL_DIALOG_NAME, &name, -1);
diff --git a/xfsettingsd/xsettings.c b/xfsettingsd/xsettings.c
index 4d96b56..4619d7e 100644
--- a/xfsettingsd/xsettings.c
+++ b/xfsettingsd/xsettings.c
@@ -1029,7 +1029,7 @@ xfce_xsettings_helper_timestamp_predicate (Display *xdisplay,
-Time
+Time
xfce_xsettings_get_server_time (Display *xdisplay,
Window window)
{
@@ -1060,7 +1060,7 @@ xfce_xsettings_helper_register (XfceXSettingsHelper *helper,
gchar atom_name[64];
Atom selection_atom;
gint n_screens, n;
-
+
XfceXSettingsScreen *screen;
Time timestamp;
XClientMessageEvent xev;
More information about the Xfce4-commits
mailing list