remove accessibility keyboard capplet now that the functionality has been

2008-01-25  Jens Granseuer  <jensgr@gmx.net>

	* keyboard: remove accessibility keyboard capplet now that
	the functionality has been folded into the keyboard capplet

svn path=/trunk/; revision=8415
This commit is contained in:
Jens Granseuer 2008-01-25 19:39:23 +00:00 committed by Jens Granseuer
parent 91c269f075
commit 4346e3d0a4
13 changed files with 0 additions and 3119 deletions

View file

@ -1,426 +0,0 @@
2007-12-06 Jens Granseuer <jensgr@gmx.net>
* gnome-accessibility-keyboard-properties.glade: don't mark padding
string for translation (bug #502087)
2007-05-05 Jens Granseuer <jensgr@gmx.net>
* accessibility-keyboard.c: (setup_images):
* gnome-accessibility-keyboard-properties.glade: set button images
via code instead of relying on glade, so they respect the
gtk-button-images xsetting (bug #362880)
2007-04-27 Rodrigo Moya <rodrigo@gnome-db.org>
* accessibility-keyboard.desktop.in.in: renamed Bugzilla product.
2007-01-09 Thomas Wood <thos@gnome.org>
* accessibility-keyboard.desktop.in.in: Rename "Keyboard" to "Keyboard
Accesibility". Fixes bug 330697 (Keyboard Accessibility applet has the
same menu item as the Keyboard applet).
2006-07-23 Sebastien Bacher <seb128@debian.org>
* accessibility-keyboard.desktop.in.in: don't list the Application
category, patch by Vincent Fretin <vincent.fretin@gmail.com>
(Closes: #344321)
2005-11-14 Kjartan Maraas <kmaraas@gnome.org>
* accessibility-keyboard.c: Add #include "accessibility-keyboard.h".
2005-08-14 Sebastien Bacher <seb128@debian.org>
* accessibility-keyboard.c: (setup_ranges):
don't use a page value, fix the different behaviour between widgets
(Closes: #301470).
2005-01-05 Sebastien Bacher <seb128@debian.org>
* gnome-accessibility-keyboard-properties.glade: fixed a typo in the
label-for for the "pixels/second" label (Part of #162368).
2004-11-09 Mark McLoughlin <mark@skynet.ie>
* Makefile.am: install .desktop file in $(datadir)/applications.
* accessibility-keyboard.desktop.in: add OnlyShowIn=GNOME;
2004-10-14 Jody Goldberg <jody@gnome.org>
* Release 2.8.1
2004-08-20 Frederic Crozat <fcrozat@mandrakesoft.com>
* gnome-accessibility-keyboard-properties.c: (main):
Use themed icon for window hint.
2004-07-06 Padraig O'Briain <padraig.obriain@sun.com>
* gnome-accessibility-keyboard-properties.glade: Add label-for/
labelled-by relations. Fixes bug #144174.
2004-04-15 Jody Goldberg <jody@gnome.org>
* Release 2.6.1
2004-04-01 Jody Goldberg <jody@gnome.org>
* Release 2.6.0.3
2004-03-30 Jody Goldberg <jody@gnome.org>
* Release 2.6.0.1
2004-03-23 Jody Goldberg <jody@gnome.org>
* Release 2.6.0
2004-03-11 Jody Goldberg <jody@gnome.org>
* Release 2.5.4
2004-02-16 Jody Goldberg <jody@gnome.org>
* accessibility-keyboard.c (cb_load_CDE_file) : Add a kludge to set
the vertical size based on the monitor size until the filesel can do
a better job of doing it itself.
2003-12-07 Jan Arne Petersen <jpetersen@uni-bonn.de>
* accessibility-keyboard.c: (load_CDE_file),
(fchooser_handle_response), (cb_load_CDE_file): replace
GtkFileSelection with GtkFileChooser.
2004-02-13 Jody Goldberg <jody@gnome.org>
* Release 2.5.3
2004-02-12 Mark McLoughlin <mark@skynet.ie>
* gnome-accessibility-keyboard-properties.c: (dialog_response): Update
help link to point to user-guide.xml
2004-01-14 Jody Goldberg <jody@gnome.org>
* Release 2.5.2
2003-12-30 Jody Goldberg <jody@gnome.org>
* Release 2.5.1.1
2003-12-30 Jody Goldberg <jody@gnome.org>
* Release 2.5.1
2003-11-18 Padraig O'Briain <padraig.obriain@sun.com>
* gnome-accessibility-keyboard-properties.glade: Add atk relations.
Fixes bug #126718
2003-11-03 Jody Goldberg <jody@gnome.org>
http://bugzilla.gnome.org/show_bug.cgi?id=120842
* gnome-accessibility-keyboard-properties.c : older xservers require
X11/Xlib.h too, its not sun specific.
2003-10-28 Jody Goldberg <jody@gnome.org>
* Release 2.5.0
2003-10-28 Jody Goldberg <jody@gnome.org>
http://bugzilla.gnome.org/show_bug.cgi?id=120842
* gnome-accessibility-keyboard-properties.glade : Remove bone headed
spitting of checkbox and label.
* accessibility-keyboard.c (setup_toggles) : It was probably done so
that the headers could be made bold.
Mon Aug 11 11:55:49 2003 Jonathan Blandford <jrb@redhat.com>
* gnome-accessibility-keyboard-properties.glade: Patch from Elijah
Newren <newren@math.utah.edu> to bring the possible repeat range
in sync with the keyboard capplet.
2003-08-01 Dennis Cranston <dennis_cranston at yahoo com>
* gnome-accessibility-keyboard-properties.glade: Patch to add
two more pixels of spacing between action area and vbox of
preferences dialog.
2003-07-24 Pasupathi Duraisamy <pasupathi.duraisamy@wipro.com>
* gnome-accessibility-keyboard-properties.glade:
Allow only numeric values in spinbutton.
Fixes bugzilla bug# 118175
2003-07-17 Dennis Cranston <dennis_cranston at yahoo com>
* gnome-accessibility-keyboard-properties.glade,
accessibility-keyboard.c: HIG fixes for ui-review bug
report #98915.
2003-07-16 Dennis Cranston <dennis_cranston at yahoo com>
* gnome-accessibility-keyboard-properties.glade: Adjust widget
padding to make dialog a little more HIG compliant.
2003-07-07 Jody Goldberg <jody@gnome.org>
* Release 2.3.4
2003-06-24 Jody Goldberg <jody@gnome.org>
* Release 2.3.3
2003-05-07 Jody Goldberg <jody@gnome.org>
* Release 2.3.1
2003-05-05 Kjartan Maraas <kmaraas@gnome.org>
* gnome-accessibility-keyboard-properties.c: Merge fix
for bug #110266.
2003-04-30 Alex Duggan <aldug@astrolinux.com>
* gnome-accessibility-keyboard-properties.c: use appropriate
window border icon.
2003-04-30 Kjartan Maraas <kmaraas@gnome.org>
* gnome-accessibility-keyboard-properties.c: Fix build
on Solaris. Fixes bug #106196.
2003-02-21 Calum Benson <calum.benson@sun.com>
* gnome-accessibility-keyboard-properties.glade:
HIG-ified frames and labels.
Tue Feb 4 17:09:18 2003 Jonathan Blandford <jrb@redhat.com>
* Release 2.2.0.1
Tue Jan 21 01:15:14 2003 Jonathan Blandford <jrb@gnome.org>
* Release 2.2.0
Thu Jan 16 02:41:09 2003 Jonathan Blandford <jrb@gnome.org>
* Release 2.1.7
2003-01-10 Jody Goldberg <jody@gnome.org>
* Release 2.1.6
2003-01-08 Jody Goldberg <jody@gnome.org>
http://bugzilla.gnome.org/show_bug.cgi?id=96483
* accessibility-keyboard.c : sigh. The defaults apparently need to be
0 too.
2003-01-08 Jody Goldberg <jody@gnome.org>
http://bugzilla.gnome.org/show_bug.cgi?id=96484
* accessibility-keyboard.c : make 0 min for slow and bounce
2003-01-07 Abel Cheung <maddog@linux.org.hk>
* gnome-accessibility-keyboard-properties.c (xkb_enabled): Fix typo
in error msg dialog.
2002-12-18 Jody Goldberg <jody@gnome.org>
* Release 2.1.5
2002-11-23 Jody Goldberg <jody@gnome.org>
* Release 2.1.3
2002-11-13 Pasupathi Duraisamy <pasupathi.duraisamy@wipro.com>
* accessibility-keyboard.c : Tweaked the incremental values
of spin button to 10. Fixes #95511
2002-11-02 Jody Goldberg <jody@gnome.org>
* Release 2.1.2
2002-11-02 Jody Goldberg <jody@gnome.org>
* accessibility-keyboard.c : Merge in Calum's new layout
* gnome-accessibility-keyboard-properties.glade : ditto.
2002-10-21 Jody Goldberg <jody@gnome.org>
* Release 2.1.1
2002-10-11 Balamurali Viswanathan <balamurali.viswanathan@wipro.com>
* gnome-accessibility-keyboard-properties.c (xkb_enabled): Dismiss
the XKB extensions warning dialog. Fixes #95069
2002-10-01 Jody Goldberg <jody@gnome.org>
* Release 2.1.0.1
2002-09-26 Jody Goldberg <jody@gnome.org>
* gnome-accessibility-keyboard-properties.glade : add ellipsis for CDE
import and Repeat key buttons.
2002-09-25 Jody Goldberg <jody@gnome.org>
* gnome-accessibility-keyboard-properties.glade : remove spaces before
colons and fix the title.
2002-09-24 Jody Goldberg <jody@gnome.org>
* accessibility-keyboard.c (load_CDE_file) : blah the
XrmGetFileDatabase is implementation specific in its handling of
invalid files. Add a hack that if the imported file did not contain
any resources it was invalid.
* gnome-accessibility-keyboard-properties.glade : add mnemonic_widget
for mousekeys_init_delay_title. Remove the atkrelations for things
with mnemonic_widget.
2002-09-11 Jody Goldberg <jody@gnome.org>
* gnome-accessibility-keyboard-properties.glade : Fix conflicting
accelerators.
* accessibility-keyboard.c (setup_dialog) : connect the simple items
before the master.
(cb_master_enable_toggle) : desensitize the subfeature content if the
master switch is disabled.
2002-09-09 Jody Goldberg <jody@gnome.org>
* gnome-accessibility-keyboard-properties.c (main) : add a warning if
xkb is not available.
2002-09-09 Jody Goldberg <jody@gnome.org>
* accessibility-keyboard.c : on 2nd thought lets disable the 'beep on
feature change' if the master switch is off.
http://bugzilla.gnome.org/show_bug.cgi?id=92488
* gnome-accessibility-keyboard-properties.glade : tweak accelerators
2002-09-09 Jody Goldberg <jody@gnome.org>
http://bugzilla.gnome.org/show_bug.cgi?id=90936
* gnome-accessibility-keyboard-properties.glade : Add mnemonic_widget
assignments and fix a typo.
2002-08-28 Jody Goldberg <jody@gnome.org>
http://bugzilla.gnome.org/show_bug.cgi?id=91854
* accessibility-keyboard.c : the max slow key delay is 500ms.
We clamp that in the settings daemon. Fix the ui to reflect that.
2002-08-21 Jody Goldberg <jody@gnome.org>
* Release 2.1.0
2002-08-19 Ross Burton <ross@burtonini.com>
* accessibility-keyboard.desktop.in: Fix the desktop file so that
it validates.
2002-08-05 Jody Goldberg <jody@gnome.org>
* gnome-accessibility-keyboard-properties.glade : Restore the master
toggle.
* accessibility-keyboard.c (setup_dialog) : support the master toggle.
(cb_master_enable_toggle) : new.
2002-08-01 jacob berkman <jacob@ximian.com>
* accessibility-keyboard.c (setup_accessX_dialog): fix widget name
for the keyboard capplet button
* gnome-accessibility-keyboard-properties.c (dialog_response):
don't quit when the import accessx button is clicked (#89358)
2002-06-21 Satyajit Kanungo <satyajit.kanungo@wipro.com>
* gnome-accessibility-keyboard-properties.c :
Changed the help link to point to the correct document (#85895)
2002-06-10 Jody Goldberg <jody@gnome.org>
* accessibility-keyboard.c : tweak the layout as requested and adjust
the max slowkey delay to 500 to avoid losing the keyboard due to some
sort of an X problem.
2002-06-17 Jody Goldberg <jody@gnome.org>
* Release 2.0.0
Sun May 26 11:44:41 2002 Jonathan Blandford <jrb@gnome.org>
* gnome-accessibility-keyboard-properties.c (main): use APPID
instead of argv[0]
2002-05-08 Jody Goldberg <jody@gnome.org>
* gnome-accessibility-keyboard-properties.c (dialog_response) : fix
path to help.
2002-04-24 Jody Goldberg <jody@gnome.org>
* accessibility-keyboard.c : adjust the defaults.
2002-04-18 Jody Goldberg <jody@gnome.org>
* accessibility-keyboard.c (setup_accessX_dialog) : Use 'clicked'
rather than 'activated' for the file sel.
2002-04-10 Jody Goldberg <jody@gnome.org>
* gnome-accessibility-keyboard-properties.glade2 (</) : slim down the
tooltips.
Wed Apr 10 18:02:29 2002 Jonathan Blandford <jrb@gnome.org>
* accessibility-keyboard.desktop.in (Exec): s/gnome2/gnome
2002-03-30 Jody Goldberg <jody@gnome.org>
* gnome-accessibility-keyboard-properties.glade2 : rename Sample -> Text
because that makes more sense.
http://bugzilla.gnome.org/show_bug.cgi?id=76315
* accessibility-keyboard.desktop.in : rename from AccessX -> Keyboard
2002-03-29 Jody Goldberg <jody@gnome.org>
* accessibility-keyboard.c (setup_dialog) : spelling error.
(CONFIG_ROOT) : fix spelling error in the schema.
2002-03-29 Jody Goldberg <jody@gnome.org>
* accessibility-keyboard.c : tweak the mouse key slider ranges
max_speed : 100 pixels every 10 msec is plenty fast Limit things to
1..100 default 10 step 5
accel_time : 10..5000 default 300 step 100
init_delay : 10..5000 default 300 step 100
2002-03-28 jacob berkman <jacob@ximian.com>
* accessibility-keyboard.c: on solaris Xresource.h sez /* You must
include <X11/Xlib.h> before including this file */
2002-03-25 Jody Goldberg <jody@gnome.org>
* accessibility-keyboard.c (setup_accessX_dialog) : Only load the
necessary toplevel widget in the non-dialog case.
(setup_dialog) : pass as_dialog to the sub-init routines.
(setup_images) : only load widgets appropriate for the current state.
(setup_ranges) : ditto, and be more vocal about invalid glade.
(setup_simple_toggles) : ditto.
(setup_toggles) : ditto.

View file

@ -1,42 +0,0 @@
noinst_LIBRARIES = libaccessibility-keyboard.a
libaccessibility_keyboard_a_SOURCES = \
accessibility-keyboard.c \
accessibility-keyboard.h
# in case we need to forward port the sun accessX extension
# AccessXcomm.c
bin_PROGRAMS = gnome-accessibility-keyboard-properties
gnome_accessibility_keyboard_properties_SOURCES = gnome-accessibility-keyboard-properties.c
gnome_accessibility_keyboard_properties_LDADD = \
libaccessibility-keyboard.a $(GNOMECC_CAPPLETS_LIBS)
@INTLTOOL_DESKTOP_RULE@
pixmapdir = $(pkgdatadir)/pixmaps
pixmap_DATA = \
accessibility-keyboard-togglekey.png \
accessibility-keyboard-mousekey.png \
accessibility-keyboard-slowkey.png \
accessibility-keyboard-stickykey.png \
accessibility-keyboard-bouncekey.png
Gladedir = $(pkgdatadir)/glade
Glade_DATA = gnome-accessibility-keyboard-properties.glade
desktopdir = $(datadir)/applications
Desktop_in_files = accessibility-keyboard.desktop.in
desktop_DATA = $(Desktop_in_files:.desktop.in=.desktop)
INCLUDES = \
$(GNOMECC_CAPPLETS_CFLAGS) \
-DGNOMELOCALEDIR="\"$(datadir)/locale\"" \
-DGNOMECC_DATA_DIR="\"$(pkgdatadir)\"" \
-DGNOMECC_GLADE_DIR="\"$(pkgdatadir)/glade\"" \
-DGNOMECC_PIXMAPS_DIR="\"$(pkgdatadir)/pixmaps\""
CLEANFILES = $(GNOMECC_CAPPLETS_CLEANFILES) $(Desktop_in_files) $(desktop_DATA)
EXTRA_DIST = $(Glade_DATA) $(pixmap_DATA)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

View file

@ -1,485 +0,0 @@
/* -*- mode: c; style: linux -*- */
/* accessibility-keyboard.c
* Copyright (C) 2002 Ximian, Inc.
*
* Written by: Jody Goldberg <jody@gnome.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
*/
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include "accessibility-keyboard.h"
#include <gnome.h>
#include <gconf/gconf-client.h>
#include <glade/glade.h>
#include <X11/Xlib.h>
#include <X11/Xresource.h>
#include <math.h>
#include "capplet-util.h"
#include "capplet-stock-icons.h"
#include "gconf-property-editor.h"
#include "activate-settings-daemon.h"
#define CONFIG_ROOT "/desktop/gnome/accessibility/keyboard"
static struct {
char const * const checkbox;
char const * const image;
char const * const image_file;
char const * const gconf_key;
char const * const content [3];
gboolean always_enabled;
} const features [] = {
{ "repeatkeys_enable", "repeatkeys_image", KEYBOARD_REPEAT,
"/desktop/gnome/peripherals/keyboard/repeat",
{ "repeatkeys_table", NULL, NULL }, TRUE },
{ "bouncekeys_enable", "bouncekeys_image", ACCESSX_KEYBOARD_BOUNCE,
CONFIG_ROOT "/bouncekeys_enable",
{ "bouncekey_table", NULL, NULL }, FALSE },
{ "slowkeys_enable", "slowkeys_image", ACCESSX_KEYBOARD_SLOW,
CONFIG_ROOT "/slowkeys_enable",
{ "slowkeys_table", NULL, NULL }, FALSE },
{ "mousekeys_enable", "mousekeys_image", ACCESSX_KEYBOARD_MOUSE,
CONFIG_ROOT "/mousekeys_enable",
{ "mousekeys_table", NULL, NULL }, FALSE },
{ "stickykeys_enable", "stickykeys_image", ACCESSX_KEYBOARD_STICK,
CONFIG_ROOT "/stickykeys_enable",
{ "stickeykeys_table", NULL, NULL }, FALSE },
{ "togglekeys_enable", "togglekeys_image", ACCESSX_KEYBOARD_TOGGLE,
CONFIG_ROOT "/togglekeys_enable",
{ NULL, NULL, NULL }, FALSE },
{ "timeout_enable", NULL, NULL,
CONFIG_ROOT "/timeout_enable",
{ "timeout_slide", "timeout_spin", "timeout_label" }, FALSE },
{ "feature_state_change_beep", NULL, NULL,
CONFIG_ROOT "/feature_state_change_beep",
{ NULL, NULL, NULL }, FALSE }
};
static struct {
char const * const slide;
char const * const spin;
int default_val;
int min_val;
int max_val;
int step_size;
char const * const gconf_key;
} const ranges [] = {
{ "repeatkeys_delay_slide", "repeatkeys_delay_spin", 500, 100, 1500, 10,
"/desktop/gnome/peripherals/keyboard/delay" },
{ "repeatkeys_rate_slide", "repeatkeys_rate_spin", 90, 10, 110, 10,
"/desktop/gnome/peripherals/keyboard/rate" },
{ "bouncekeys_delay_slide", "bouncekeys_delay_spin", 0, 0, 900, 10,
CONFIG_ROOT "/bouncekeys_delay" },
{ "slowkeys_delay_slide", "slowkeys_delay_spin", 0, 0, 500, 10,
CONFIG_ROOT "/slowkeys_delay" },
/* WARNING anything larger than approx 512 seems to loose all keyboard input */
{ "mousekeys_max_speed_slide", "mousekeys_max_speed_spin", 300, 10, 500, 10,
CONFIG_ROOT "/mousekeys_max_speed" },
{ "mousekeys_accel_time_slide", "mousekeys_accel_time_spin", 300, 10, 3000, 10,
CONFIG_ROOT "/mousekeys_accel_time" },
{ "mousekeys_init_delay_slide", "mousekeys_init_delay_spin", 300, 10, 5000, 10,
CONFIG_ROOT "/mousekeys_init_delay" },
{ "timeout_slide", "timeout_spin", 200, 10, 500, 10,
CONFIG_ROOT "/timeout" },
};
static void
set_sensitive (GladeXML *dialog, char const *name, gboolean state)
{
if (name != NULL)
gtk_widget_set_sensitive (WID (name), state);
}
/**
* cb_feature_toggled :
*
* NOTE : for this to work the toggle MUST be initialized to active in the
* glade file. That way if the gconf setting is FALSE the toggle will fire.
*/
static void
cb_feature_toggled (GtkToggleButton *btn, gpointer feature_index)
{
gboolean const state =
(GTK_WIDGET_STATE (btn) != GTK_STATE_INSENSITIVE) &&
gtk_toggle_button_get_active (btn);
GladeXML *dialog = g_object_get_data (G_OBJECT (btn), "dialog");
int feature, i;
g_return_if_fail (dialog != NULL);
feature = GPOINTER_TO_INT (feature_index);
if (features [feature].image != NULL)
set_sensitive (dialog, features [feature].image, state);
for (i = G_N_ELEMENTS (features [feature].content) ; i-- > 0 ; )
set_sensitive (dialog, features [feature].content [i], state);
}
static void
setup_toggles (GladeXML *dialog, GConfChangeSet *changeset)
{
GObject *peditor;
GtkWidget *checkbox;
GtkWidget *checkbox_label;
int i = G_N_ELEMENTS (features);
while (i-- > 0) {
checkbox = WID (features [i].checkbox);
g_return_if_fail (checkbox != NULL);
/* you can't do this from glade */
checkbox_label = gtk_bin_get_child (GTK_BIN (checkbox));
g_object_set (G_OBJECT (checkbox_label), "use_markup", TRUE, NULL);
g_object_set_data (G_OBJECT (checkbox), "dialog", dialog);
g_signal_connect (G_OBJECT (checkbox),
"toggled",
G_CALLBACK (cb_feature_toggled), GINT_TO_POINTER (i));
peditor = gconf_peditor_new_boolean (changeset,
(gchar *)features [i].gconf_key, checkbox, NULL);
}
}
static void
setup_simple_toggles (GladeXML *dialog, GConfChangeSet *changeset)
{
static struct {
char const *gconf_key;
char const *checkbox;
} const simple_toggles [] = {
{ CONFIG_ROOT "/bouncekeys_beep_reject", "bouncekeys_beep_reject" },
{ CONFIG_ROOT "/slowkeys_beep_press", "slowkeys_beep_press" },
{ CONFIG_ROOT "/slowkeys_beep_accept", "slowkeys_beep_accept" },
{ CONFIG_ROOT "/slowkeys_beep_reject", "slowkeys_beep_reject" },
{ CONFIG_ROOT "/stickykeys_two_key_off", "stickykeys_two_key_off" },
{ CONFIG_ROOT "/stickykeys_modifier_beep", "stickykeys_modifier_beep" },
};
int i = G_N_ELEMENTS (simple_toggles);
while (i-- > 0) {
GtkWidget *w = WID (simple_toggles [i].checkbox);
g_return_if_fail (w != NULL);
gconf_peditor_new_boolean (changeset,
(gchar *) simple_toggles [i].gconf_key,
w, NULL);
}
}
static void
setup_ranges (GladeXML *dialog, GConfChangeSet *changeset)
{
GObject *peditor;
GtkWidget *slide, *spin;
GtkAdjustment *adjustment;
int i = G_N_ELEMENTS (ranges);
while (i-- > 0) {
slide = WID (ranges [i].slide);
spin = WID (ranges [i].spin);
g_return_if_fail (slide != NULL);
g_return_if_fail (spin != NULL);
adjustment = gtk_range_get_adjustment (GTK_RANGE (slide));
g_return_if_fail (adjustment != NULL);
adjustment->value = ranges [i].default_val;
adjustment->lower = ranges [i].min_val;
adjustment->upper = ranges [i].max_val;
adjustment->step_increment = ranges [i].step_size;
adjustment->page_increment = ranges [i].step_size;
adjustment->page_size = 0;
gtk_adjustment_changed (adjustment);
gtk_spin_button_configure (GTK_SPIN_BUTTON (spin), adjustment,
ranges [i].step_size, 0);
peditor = gconf_peditor_new_numeric_range (changeset,
(gchar *)ranges [i].gconf_key, slide,
NULL);
}
}
static void
setup_images (GladeXML *dialog)
{
GtkWidget *image;
int i = G_N_ELEMENTS (features);
while (i-- > 0)
if (features [i].image != NULL)
gtk_image_set_from_stock (GTK_IMAGE (WID (features [i].image)),
features [i].image_file,
keyboard_capplet_icon_get_size ());
image = gtk_image_new_from_stock (GTK_STOCK_REVERT_TO_SAVED, GTK_ICON_SIZE_BUTTON);
gtk_button_set_image (GTK_BUTTON (WID ("load_CDE_file")), image);
image = gtk_image_new_from_stock (GTK_STOCK_JUMP_TO, GTK_ICON_SIZE_BUTTON);
gtk_button_set_image (GTK_BUTTON (WID ("launch_mouse_capplet")), image);
}
static void
cb_launch_mouse_capplet (GtkButton *button, GtkWidget *dialog)
{
GError *err = NULL;
if (!g_spawn_command_line_async ("gnome-mouse-properties", &err))
capplet_error_dialog (GTK_WINDOW (gtk_widget_get_toplevel (dialog)),
_("There was an error launching the mouse preferences dialog: %s"),
err);
}
static void
cb_master_enable_toggle (GtkToggleButton *btn, GladeXML *dialog)
{
int i = G_N_ELEMENTS (features);
gboolean flag = gtk_toggle_button_get_active (btn);
GtkWidget *w;
while (i-- > 0) {
if (!features [i].always_enabled) {
w = WID (features [i].checkbox);
gtk_widget_set_sensitive (w, flag);
cb_feature_toggled (GTK_TOGGLE_BUTTON (w), GINT_TO_POINTER (i));
}
}
}
static void
setup_dialog (GladeXML *dialog, GConfChangeSet *changeset)
{
GtkWidget *master_enable = WID ("master_enable");
capplet_init_stock_icons ();
setup_images (dialog);
setup_ranges (dialog, changeset);
setup_toggles (dialog, changeset);
setup_simple_toggles (dialog, changeset);
g_signal_connect (master_enable,
"toggled",
G_CALLBACK (cb_master_enable_toggle), dialog);
gconf_peditor_new_boolean (changeset,
CONFIG_ROOT "/enable",
GTK_WIDGET (master_enable), NULL);
}
/*******************************************************************************/
static gboolean
xrm_get_bool (GConfClient *client, XrmDatabase *db, char const *gconf_key,
char const *res_str, char const *class_str)
{
XrmValue resourceValue;
char *res;
if (!XrmGetResource (*db, res_str, class_str, &res, &resourceValue))
return FALSE;
gconf_client_set_bool (client, gconf_key,
!g_ascii_strcasecmp (resourceValue.addr, "True"), NULL);
return TRUE;
}
static gboolean
xrm_get_int (GConfClient *client, XrmDatabase *db, char const *gconf_key,
char const *res_str, char const *class_str, float scale)
{
XrmValue resourceValue;
char *res;
int value, log_scale;
char resource [256];
snprintf (resource, sizeof (resource), "%s.value", res_str);
if (!XrmGetResource (*db, resource, class_str, &res, &resourceValue))
return FALSE;
value = atoi (resourceValue.addr);
snprintf (resource, sizeof (resource), "%s.decimalPoints", res_str);
if (!XrmGetResource (*db, resource, class_str, &res, &resourceValue))
return FALSE;
log_scale = atoi (resourceValue.addr);
while (log_scale-- > 0)
scale /= 10.;
gconf_client_set_int (client, gconf_key, value, NULL);
return TRUE;
}
/* This loads the current users XKB settings from their file */
static gboolean
load_CDE_file (GtkFileChooser *fchooser)
{
char *file = gtk_file_chooser_get_filename (fchooser);
GConfClient *client;
XrmDatabase db;
gboolean found = FALSE;
if (!(db = XrmGetFileDatabase (file))) {
GtkWidget *warn = gtk_message_dialog_new (
gtk_window_get_transient_for (GTK_WINDOW (fchooser)),
GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK,
_("Unable to import AccessX settings from file '%s'"),
file);
g_signal_connect (warn,
"response",
G_CALLBACK (gtk_widget_destroy), NULL);
gtk_widget_show (warn);
g_free (file);
return FALSE;
}
client = gconf_client_get_default ();
gconf_client_set_bool (client, CONFIG_ROOT "/enable", TRUE, NULL);
found |= xrm_get_bool (client, &db, CONFIG_ROOT "/feature_state_change_beep",
"*SoundOnOffToggle.set", "AccessX*ToggleButtonGadget.XmCSet");
found |= xrm_get_bool (client, &db, CONFIG_ROOT "/timeout_enable",
"*TimeOutToggle.set", "AccessX*ToggleButtonGadget.XmCSet");
found |= xrm_get_bool (client, &db, CONFIG_ROOT "/stickykeys_enable",
"*StickyKeysToggle.set", "AccessX*ToggleButtonGadget.XmCSet");
found |= xrm_get_bool (client, &db, CONFIG_ROOT "/mousekeys_enable",
"*MouseKeysToggle.set", "AccessX*ToggleButtonGadget.XmCSet");
found |= xrm_get_bool (client, &db, CONFIG_ROOT "/togglekeys_enable",
"*ToggleKeysToggle.set", "AccessX*ToggleButtonGadget.XmCSet");
found |= xrm_get_bool (client, &db, CONFIG_ROOT "/slowkeys_enable",
"*SlowKeysToggle.set", "AccessX*ToggleButtonGadget.XmCSet");
found |= xrm_get_bool (client, &db, CONFIG_ROOT "/bouncekeys_enable",
"*BounceKeysToggle.set", "AccessX*ToggleButtonGadget.XmCSet");
found |= xrm_get_bool (client, &db, CONFIG_ROOT "/stickykeys_modifier_beep",
"*StickyModSoundToggle.set", "AccessX*ToggleButtonGadget.XmCSet");
found |= xrm_get_bool (client, &db, CONFIG_ROOT "/stickykeys_two_key_off",
"*StickyTwoKeysToggle.set", "AccessX*ToggleButtonGadget.XmCSet");
found |= xrm_get_bool (client, &db, CONFIG_ROOT "/slowkeys_beep_press",
"*SlowKeysOnPressToggle.set", "AccessX*ToggleButtonGadget.XmCSet");
found |= xrm_get_bool (client, &db, CONFIG_ROOT "/slowkeys_beep_accept",
"*SlowKeysOnAcceptToggle.set", "AccessX*ToggleButtonGadget.XmCSet");
found |= xrm_get_int (client, &db, CONFIG_ROOT "/timeout",
"*TimeOutScale", "AccessX*XmScale", 60);
found |= xrm_get_int (client, &db, CONFIG_ROOT "/mousekeys_max_speed",
"*MouseMaxSpeedScale", "AccessX*XmScale", 1);
found |= xrm_get_int (client, &db, CONFIG_ROOT "/mousekeys_accel_time",
"*MouseAccelScale", "AccessX*XmScale", 1);
found |= xrm_get_int (client, &db, CONFIG_ROOT "/mousekeys_init_delay",
"*MouseDelayScale", "AccessX*XmScale", 1);
found |= xrm_get_int (client, &db, CONFIG_ROOT "/slowkeys_delay",
"*KRGSlowKeysDelayScale", "AccessX*XmScale", 1000);
found |= xrm_get_int (client, &db, CONFIG_ROOT "/bouncekeys_delay",
"*KRGDebounceScale", "AccessX*XmScale", 1000);
/* Set the master enable flag last */
found |= xrm_get_bool (client, &db, CONFIG_ROOT "/enable",
"*EnableAccessXToggle.set", "AccessX*ToggleButtonGadget.XmCSet");
g_object_unref (client);
if (!found) {
/* it would be nice to have a better message bu that would
* break string freeze
*/
GtkWidget *warn = gtk_message_dialog_new (
gtk_window_get_transient_for (GTK_WINDOW (fchooser)),
GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK,
_("Unable to import AccessX settings from file '%s'"),
file);
g_signal_connect (warn,
"response",
G_CALLBACK (gtk_widget_destroy), NULL);
gtk_widget_show (warn);
g_free (file);
return FALSE;
}
g_free(file);
return TRUE;
}
static void
fchooser_handle_response (GtkFileChooser *fchooser, gint response, gpointer data)
{
char *file_name;
if (response == GTK_RESPONSE_OK) {
file_name = gtk_file_chooser_get_filename (fchooser);
/* Change into directory if that's what user selected */
if (g_file_test (file_name, G_FILE_TEST_IS_DIR))
gtk_file_chooser_set_current_folder (fchooser, file_name);
else if (load_CDE_file (fchooser))
gtk_widget_destroy (GTK_WIDGET (fchooser));
g_free (file_name);
} else {
gtk_widget_destroy (GTK_WIDGET (fchooser));
}
}
static void
cb_load_CDE_file (GtkButton *button, GtkWidget *dialog)
{
GtkFileChooser *fchooser = GTK_FILE_CHOOSER (
gtk_file_chooser_dialog_new (_("Import Feature Settings File"),
GTK_WINDOW (gtk_widget_get_toplevel (dialog)),
GTK_FILE_CHOOSER_ACTION_OPEN,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
_("_Import"), GTK_RESPONSE_OK,
NULL));
gtk_window_set_position (GTK_WINDOW (fchooser), GTK_WIN_POS_MOUSE);
gtk_window_set_modal (GTK_WINDOW (fchooser), TRUE);
g_signal_connect (G_OBJECT (fchooser),
"response",
G_CALLBACK (fchooser_handle_response), NULL);
gtk_widget_show (GTK_WIDGET (fchooser));
}
/*******************************************************************************/
GtkWidget *
setup_accessX_dialog (GConfChangeSet *changeset)
{
GConfClient *client;
char const *toplevel_name = "accessX_dialog";
GladeXML *dialog = glade_xml_new (GNOMECC_GLADE_DIR "/gnome-accessibility-keyboard-properties.glade",
toplevel_name, NULL);
GtkWidget *toplevel = WID (toplevel_name);
client = gconf_client_get_default ();
gconf_client_add_dir (client, CONFIG_ROOT, GCONF_CLIENT_PRELOAD_ONELEVEL, NULL);
g_object_unref (client);
setup_dialog (dialog, changeset);
g_signal_connect (G_OBJECT (WID ("load_CDE_file")),
"clicked",
G_CALLBACK (cb_load_CDE_file), toplevel);
g_signal_connect (G_OBJECT (WID ("launch_mouse_capplet")),
"clicked",
G_CALLBACK (cb_launch_mouse_capplet), toplevel);
return toplevel;
}

View file

@ -1,14 +0,0 @@
[Desktop Entry]
_Name=Keyboard Accessibility
_Comment=Set your keyboard accessibility preferences
Exec=gnome-accessibility-keyboard-properties
Icon=gnome-settings-accessibility-keyboard
Terminal=false
Type=Application
StartupNotify=true
Categories=GNOME;GTK;Settings;X-GNOME-PersonalSettings;Accessibility;
OnlyShowIn=GNOME;
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=gnome-control-center
X-GNOME-Bugzilla-Component=Keyboard Accessibility
X-GNOME-Bugzilla-Version=@VERSION@

View file

@ -1,32 +0,0 @@
/* -*- mode: c; style: linux -*- */
/* accessibility-keyboard.c
* Copyright (C) 2002 Ximian, Inc.
*
* Written by: Jody Goldberg <jody@gnome.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
*/
#ifndef GNOME_ACCESSIBILITY_KEYBOARD_H
#define GNOME_ACCESSIBILITY_KEYBOARD_H
#include <gconf/gconf-changeset.h>
#include <gtk/gtkwidget.h>
GtkWidget *setup_accessX_dialog (GConfChangeSet *changeset);
#endif /* GNOME_ACCESSIBILITY_KEYBOARD_H */

View file

@ -1,116 +0,0 @@
/* -*- mode: c; style: linux -*- */
/* gnome-accessibility-keyboard-properties.c
* Copyright (C) 2002 Ximian, Inc.
*
* Written by: Jody Goldberg <jody@gnome.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
*/
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <gnome.h>
#include <gconf/gconf-client.h>
#include <capplet-util.h>
#include <activate-settings-daemon.h>
#include "accessibility-keyboard.h"
#ifdef HAVE_X11_EXTENSIONS_XKB_H
# include <X11/X.h>
# include <X11/Xlib.h>
# include <X11/XKBlib.h>
# include <X11/extensions/XKBstr.h>
# include <gdk/gdk.h>
# include <gdk/gdkx.h>
static void
xkb_enabled (void)
{
gboolean have_xkb = FALSE;
int opcode, errorBase, major, minor, xkbEventBase;
gdk_error_trap_push ();
have_xkb = XkbQueryExtension (GDK_DISPLAY (),
&opcode, &xkbEventBase, &errorBase, &major, &minor)
&& XkbUseExtension (GDK_DISPLAY (), &major, &minor);
XSync (GDK_DISPLAY (), FALSE);
gdk_error_trap_pop ();
if (!have_xkb) {
GtkWidget *warn = gtk_message_dialog_new (NULL, 0,
GTK_MESSAGE_WARNING, GTK_BUTTONS_CLOSE,
_("This system does not seem to have the XKB extension. The keyboard accessibility features will not operate without it."));
gtk_dialog_run (GTK_DIALOG (warn));
gtk_widget_destroy (warn);
}
}
#endif
static void
dialog_response (GtkWidget *widget,
gint response_id,
GConfChangeSet *changeset)
{
switch (response_id) {
case GTK_RESPONSE_HELP:
capplet_help (GTK_WINDOW (widget),
"user-guide.xml",
"goscustaccess-6");
break;
case GTK_RESPONSE_DELETE_EVENT:
case GTK_RESPONSE_CLOSE:
gtk_main_quit ();
break;
default:
/* Import CDE AccessX File */
break;
}
}
int
main (int argc, char **argv)
{
GtkWidget *dialog;
GConfChangeSet *changeset;
bindtextdomain (GETTEXT_PACKAGE, GNOMELOCALEDIR);
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
textdomain (GETTEXT_PACKAGE);
gnome_program_init ("gnome-accessibility-keyboard-properties", VERSION,
LIBGNOMEUI_MODULE, argc, argv,
GNOME_PARAM_APP_DATADIR, GNOMECC_DATA_DIR,
NULL);
activate_settings_daemon ();
#ifdef HAVE_X11_EXTENSIONS_XKB_H
xkb_enabled ();
#endif
changeset = NULL;
dialog = setup_accessX_dialog (changeset);
g_signal_connect (G_OBJECT (dialog),
"response",
G_CALLBACK (dialog_response), changeset);
capplet_set_icon (dialog, "gnome-settings-accessibility-keyboard");
gtk_widget_show_all (dialog);
gtk_main ();
return 0;
}