moving layout options to separate popup
svn path=/trunk/; revision=8248
This commit is contained in:
parent
24f4ae9df5
commit
071af09ea6
9 changed files with 422 additions and 287 deletions
|
@ -1,3 +1,11 @@
|
|||
2007-11-03 Sergey Udaltsov <svu@gnome.org>
|
||||
|
||||
* gnome-keyboard-properties-xkblt.c, gnome-keyboard-properties-xkb.c,
|
||||
gnome-keyboard-properties-xkbot.c, gnome-keyboard-properties-xkb.h,
|
||||
gnome-keyboard-properties-xkbpv.c, gnome-keyboard-properties.glade,
|
||||
gnome-keyboard-properties-xkbltadd.c, gnome-keyboard-properties.c:
|
||||
moving layout options to separate popup, according to Denis's mockups.
|
||||
|
||||
2007-10-31 Kjartan Maraas <kmaraas@gnome.org>
|
||||
|
||||
* gnome-keyboard-properties-xkblt.c:
|
||||
|
|
|
@ -170,19 +170,19 @@ setup_xkb_tabs (GladeXML * dialog, GConfChangeSet * changeset)
|
|||
g_signal_connect (peditor, "value-changed", (GCallback)
|
||||
chk_separate_group_per_window_toggled, dialog);
|
||||
|
||||
/* tab 2 */
|
||||
/*fill_available_layouts_tree (dialog); */
|
||||
xkb_layouts_prepare_selected_tree (dialog, changeset);
|
||||
xkb_layouts_fill_selected_tree (dialog);
|
||||
|
||||
/* tab 3 */
|
||||
xkb_options_load_options (dialog);
|
||||
|
||||
xkb_layouts_register_buttons_handlers (dialog);
|
||||
g_signal_connect (G_OBJECT (WID ("xkb_reset_to_defaults")),
|
||||
"clicked", G_CALLBACK (reset_to_defaults),
|
||||
dialog);
|
||||
|
||||
g_signal_connect_swapped (G_OBJECT (WID ("xkb_layout_options")),
|
||||
"clicked",
|
||||
G_CALLBACK (xkb_options_popup_dialog),
|
||||
dialog);
|
||||
|
||||
g_signal_connect_swapped (G_OBJECT (WID ("xkb_model_pick")),
|
||||
"clicked", G_CALLBACK (choose_model),
|
||||
dialog);
|
||||
|
|
|
@ -50,6 +50,8 @@ extern void xkb_layouts_prepare_selected_tree (GladeXML * dialog,
|
|||
|
||||
extern void xkb_options_load_options (GladeXML * dialog);
|
||||
|
||||
extern void xkb_options_popup_dialog(GladeXML * dialog);
|
||||
|
||||
extern void clear_xkb_elements_list (GSList * list);
|
||||
|
||||
extern char *xci_desc_to_utf8 (XklConfigItem * ci);
|
||||
|
|
|
@ -349,7 +349,8 @@ xkb_layouts_prepare_selected_tree (GladeXML * dialog,
|
|||
g_signal_connect (G_OBJECT (tree_view), "drag_data_get",
|
||||
G_CALLBACK (xkb_layouts_dnd_data_get), dialog);
|
||||
g_signal_connect (G_OBJECT (tree_view), "drag_data_received",
|
||||
G_CALLBACK (xkb_layouts_dnd_data_received), dialog);
|
||||
G_CALLBACK (xkb_layouts_dnd_data_received),
|
||||
dialog);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -74,8 +74,7 @@ xkb_layout_chooser_add_variant_to_available_variants (XklConfigRegistry *
|
|||
COMBO_BOX_MODEL_COL_ID,
|
||||
config_item->name,
|
||||
COMBO_BOX_MODEL_COL_IS_DEFAULT,
|
||||
FALSE,
|
||||
-1);
|
||||
FALSE, -1);
|
||||
g_free (utf_variant_name);
|
||||
|
||||
data->n_items++;
|
||||
|
@ -86,15 +85,17 @@ xkb_layout_chooser_add_layout_to_available_layouts (XklConfigRegistry *
|
|||
config_registry,
|
||||
XklConfigItem *
|
||||
config_item,
|
||||
GtkListStore *list_store)
|
||||
GtkListStore *
|
||||
list_store)
|
||||
{
|
||||
char *utf_layout_name = xci_desc_to_utf8 (config_item);
|
||||
GtkTreeIter iter;
|
||||
|
||||
gtk_list_store_insert_with_values (list_store, &iter, -1,
|
||||
COMBO_BOX_MODEL_COL_DESCRIPTION, utf_layout_name,
|
||||
COMBO_BOX_MODEL_COL_ID, config_item->name,
|
||||
-1);
|
||||
COMBO_BOX_MODEL_COL_DESCRIPTION,
|
||||
utf_layout_name,
|
||||
COMBO_BOX_MODEL_COL_ID,
|
||||
config_item->name, -1);
|
||||
g_free (utf_layout_name);
|
||||
}
|
||||
|
||||
|
@ -106,7 +107,8 @@ xkb_layout_chooser_enable_disable_buttons (GladeXML * chooser_dialog)
|
|||
GtkTreeIter liter, viter;
|
||||
gboolean enable_ok =
|
||||
gtk_combo_box_get_active_iter (GTK_COMBO_BOX (cbel), &liter)
|
||||
&& gtk_combo_box_get_active_iter (GTK_COMBO_BOX (cbev), &viter);
|
||||
&& gtk_combo_box_get_active_iter (GTK_COMBO_BOX (cbev),
|
||||
&viter);
|
||||
|
||||
gtk_dialog_set_response_sensitive (GTK_DIALOG
|
||||
(CWID ("xkb_layout_chooser")),
|
||||
|
@ -128,9 +130,9 @@ xkb_layout_chooser_available_layout_changed (GladeXML * chooser_dialog)
|
|||
}
|
||||
|
||||
static gint
|
||||
xkb_layout_chooser_variant_compare_func (GtkTreeModel *model,
|
||||
GtkTreeIter *a,
|
||||
GtkTreeIter *b,
|
||||
xkb_layout_chooser_variant_compare_func (GtkTreeModel * model,
|
||||
GtkTreeIter * a,
|
||||
GtkTreeIter * b,
|
||||
gpointer user_data)
|
||||
{
|
||||
gchar *desc_a = NULL, *desc_b = NULL;
|
||||
|
@ -173,7 +175,8 @@ xkl_layout_chooser_separate_default_variant (GtkTreeModel * model,
|
|||
gchar *id;
|
||||
|
||||
/* Rows with COMBO_BOX_MODEL_COL_DESCRIPTION value NULL are separators */
|
||||
gtk_tree_model_get (model, iter, COMBO_BOX_MODEL_COL_DESCRIPTION, &id, -1);
|
||||
gtk_tree_model_get (model, iter, COMBO_BOX_MODEL_COL_DESCRIPTION,
|
||||
&id, -1);
|
||||
g_free (id);
|
||||
|
||||
return id == NULL;
|
||||
|
@ -201,37 +204,38 @@ xkb_layout_chooser_available_variants_fill (GladeXML * chooser_dialog)
|
|||
AddVariantData data = { GTK_LIST_STORE (model), 0 };
|
||||
|
||||
/* The 'Default' row */
|
||||
gtk_list_store_insert_with_values (GTK_LIST_STORE (model), &vdefault_iter, -1,
|
||||
gtk_list_store_insert_with_values (GTK_LIST_STORE (model),
|
||||
&vdefault_iter, -1,
|
||||
COMBO_BOX_MODEL_COL_DESCRIPTION,
|
||||
_("Default"),
|
||||
COMBO_BOX_MODEL_COL_ID,
|
||||
DEFAULT_VARIANT_ID,
|
||||
COMBO_BOX_MODEL_COL_IS_DEFAULT, TRUE,
|
||||
-1);
|
||||
COMBO_BOX_MODEL_COL_IS_DEFAULT,
|
||||
TRUE, -1);
|
||||
set_default = TRUE;
|
||||
|
||||
/* Now the variants of the selected lang */
|
||||
gtk_tree_model_get (lm, &liter,
|
||||
COMBO_BOX_MODEL_COL_ID, &value,
|
||||
-1);
|
||||
COMBO_BOX_MODEL_COL_ID, &value, -1);
|
||||
g_assert (value != NULL);
|
||||
|
||||
xkl_config_registry_foreach_layout_variant
|
||||
(config_registry, value,
|
||||
(ConfigItemProcessFunc)
|
||||
(config_registry, value, (ConfigItemProcessFunc)
|
||||
xkb_layout_chooser_add_variant_to_available_variants,
|
||||
&data);
|
||||
g_free (value);
|
||||
|
||||
/* Add a separator row, but only if we have any non-default items */
|
||||
if (data.n_items > 0)
|
||||
gtk_list_store_insert_with_values (GTK_LIST_STORE (model), &viter, -1,
|
||||
gtk_list_store_insert_with_values (GTK_LIST_STORE
|
||||
(model), &viter,
|
||||
-1,
|
||||
COMBO_BOX_MODEL_COL_DESCRIPTION,
|
||||
NULL,
|
||||
COMBO_BOX_MODEL_COL_ID,
|
||||
NULL,
|
||||
COMBO_BOX_MODEL_COL_IS_DEFAULT, FALSE,
|
||||
-1);
|
||||
COMBO_BOX_MODEL_COL_IS_DEFAULT,
|
||||
FALSE, -1);
|
||||
}
|
||||
|
||||
/* Turn on sorting after filling the store, since that's faster */
|
||||
|
@ -248,7 +252,8 @@ xkb_layout_chooser_available_variants_fill (GladeXML * chooser_dialog)
|
|||
|
||||
/* Select the default variant */
|
||||
if (set_default) {
|
||||
gtk_combo_box_set_active_iter (GTK_COMBO_BOX (cbev), &vdefault_iter);
|
||||
gtk_combo_box_set_active_iter (GTK_COMBO_BOX (cbev),
|
||||
&vdefault_iter);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -259,14 +264,16 @@ xkb_layout_chooser_available_layouts_fill (GladeXML * chooser_dialog)
|
|||
GtkWidget *cbev = CWID ("xkb_variants_available");
|
||||
GtkCellRenderer *renderer;
|
||||
GtkTreeModel *model =
|
||||
GTK_TREE_MODEL (gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_STRING));
|
||||
GTK_TREE_MODEL (gtk_list_store_new
|
||||
(2, G_TYPE_STRING, G_TYPE_STRING));
|
||||
|
||||
gtk_combo_box_set_model (GTK_COMBO_BOX (cbe), model);
|
||||
|
||||
renderer = gtk_cell_renderer_text_new ();
|
||||
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (cbe), renderer, TRUE);
|
||||
gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (cbe), renderer,
|
||||
"text", COMBO_BOX_MODEL_COL_DESCRIPTION,
|
||||
"text",
|
||||
COMBO_BOX_MODEL_COL_DESCRIPTION,
|
||||
NULL);
|
||||
|
||||
xkl_config_registry_foreach_layout (config_registry,
|
||||
|
@ -286,9 +293,11 @@ xkb_layout_chooser_available_layouts_fill (GladeXML * chooser_dialog)
|
|||
|
||||
/* Setup the variants combo */
|
||||
renderer = gtk_cell_renderer_text_new ();
|
||||
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (cbev), renderer, TRUE);
|
||||
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (cbev), renderer,
|
||||
TRUE);
|
||||
gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (cbev), renderer,
|
||||
"text", COMBO_BOX_MODEL_COL_DESCRIPTION,
|
||||
"text",
|
||||
COMBO_BOX_MODEL_COL_DESCRIPTION,
|
||||
NULL);
|
||||
|
||||
g_signal_connect_swapped (G_OBJECT (cbev), "changed",
|
||||
|
@ -298,8 +307,7 @@ xkb_layout_chooser_available_layouts_fill (GladeXML * chooser_dialog)
|
|||
gtk_combo_box_set_row_separator_func (GTK_COMBO_BOX (cbev),
|
||||
(GtkTreeViewRowSeparatorFunc)
|
||||
xkl_layout_chooser_separate_default_variant,
|
||||
chooser_dialog,
|
||||
NULL);
|
||||
chooser_dialog, NULL);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -443,20 +451,21 @@ xkb_layout_chooser_get_selected_id (GladeXML * chooser_dialog)
|
|||
gchar *lname, *vname;
|
||||
gchar *retval;
|
||||
|
||||
if (!gtk_combo_box_get_active_iter (GTK_COMBO_BOX (cbel), &liter) ||
|
||||
!gtk_combo_box_get_active_iter (GTK_COMBO_BOX (cbev), &viter))
|
||||
if (!gtk_combo_box_get_active_iter (GTK_COMBO_BOX (cbel), &liter)
|
||||
|| !gtk_combo_box_get_active_iter (GTK_COMBO_BOX (cbev),
|
||||
&viter))
|
||||
return NULL;
|
||||
|
||||
gtk_tree_model_get (lm, &liter,
|
||||
COMBO_BOX_MODEL_COL_ID, &lname,
|
||||
-1);
|
||||
COMBO_BOX_MODEL_COL_ID, &lname, -1);
|
||||
|
||||
gtk_tree_model_get (vm, &viter,
|
||||
COMBO_BOX_MODEL_COL_ID, &vname,
|
||||
-1);
|
||||
COMBO_BOX_MODEL_COL_ID, &vname, -1);
|
||||
|
||||
if (strcmp (vname, DEFAULT_VARIANT_ID))
|
||||
retval = g_strdup (gkbd_keyboard_config_merge_items (lname, vname));
|
||||
retval =
|
||||
g_strdup (gkbd_keyboard_config_merge_items
|
||||
(lname, vname));
|
||||
else
|
||||
retval = g_strdup (lname);
|
||||
|
||||
|
|
|
@ -182,38 +182,6 @@ option_toggled_cb (GtkWidget * checkbutton, gpointer data)
|
|||
xkb_options_deselect (optionID);
|
||||
}
|
||||
|
||||
/* Update UI state from xkb backend */
|
||||
static void
|
||||
option_update_cb (GConfClient * client,
|
||||
guint cnxn_id, GConfEntry * entry, gpointer data)
|
||||
{
|
||||
GtkToggleButton *toggle = GTK_TOGGLE_BUTTON (data);
|
||||
GtkWidget *expander =
|
||||
xkb_options_get_expander (GTK_WIDGET (toggle));
|
||||
gboolean old_state = gtk_toggle_button_get_active (toggle);
|
||||
gboolean new_state =
|
||||
xkb_options_is_selected (g_object_get_data
|
||||
(G_OBJECT (toggle), OPTION_ID_PROP));
|
||||
int old_gstate =
|
||||
GPOINTER_TO_INT (g_object_get_data
|
||||
(G_OBJECT (toggle), GCONFSTATE_PROP));
|
||||
int state_diff = new_state - old_gstate;
|
||||
|
||||
if (GTK_WIDGET_TYPE (toggle) == GTK_TYPE_RADIO_BUTTON &&
|
||||
old_state == TRUE && new_state == FALSE)
|
||||
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
|
||||
(g_object_get_data
|
||||
(G_OBJECT (toggle),
|
||||
"NoneRadio")), TRUE);
|
||||
else
|
||||
gtk_toggle_button_set_active (toggle, new_state);
|
||||
|
||||
g_object_set_data (G_OBJECT (toggle), GCONFSTATE_PROP,
|
||||
GINT_TO_POINTER (new_state));
|
||||
xkb_options_expander_selcounter_add (expander, state_diff);
|
||||
xkb_options_expander_highlight (expander);
|
||||
}
|
||||
|
||||
/* Add a check_button or radio_button to control a particular option
|
||||
This function makes particular use of the current... variables at
|
||||
the top of this file. */
|
||||
|
@ -274,12 +242,6 @@ xkb_options_add_option (XklConfigRegistry * config_registry,
|
|||
g_signal_connect (G_OBJECT (option_check), "toggled",
|
||||
G_CALLBACK (option_toggled_cb), NULL);
|
||||
|
||||
gconf_client_notify_add (xkb_gconf_client,
|
||||
GKBD_KEYBOARD_CONFIG_KEY_OPTIONS,
|
||||
(GConfClientNotifyFunc)
|
||||
option_update_cb, option_check, NULL,
|
||||
NULL);
|
||||
|
||||
gtk_box_pack_start_defaults (GTK_BOX (current_vbox), option_check);
|
||||
|
||||
xkb_options_expander_selcounter_add (xkb_options_get_expander
|
||||
|
@ -356,6 +318,12 @@ xkb_options_load_options (GladeXML * dialog)
|
|||
GSList *expanders_list;
|
||||
GtkWidget *expander;
|
||||
|
||||
current1st_level_id = NULL;
|
||||
current_vbox = NULL;
|
||||
current_none_radio = NULL;
|
||||
current_multi_select = FALSE;
|
||||
current_radio_group = NULL;
|
||||
|
||||
/* fill the list */
|
||||
xkl_config_registry_foreach_option_group (config_registry,
|
||||
(ConfigItemProcessFunc)
|
||||
|
@ -383,6 +351,27 @@ xkb_options_load_options (GladeXML * dialog)
|
|||
gtk_widget_show_all (opts_vbox);
|
||||
}
|
||||
|
||||
|
||||
/* Create popup dialog*/
|
||||
void
|
||||
xkb_options_popup_dialog (GladeXML * dialog)
|
||||
{
|
||||
GladeXML *chooser_dialog =
|
||||
glade_xml_new (GNOMECC_GLADE_DIR
|
||||
"/gnome-keyboard-properties.glade",
|
||||
"xkb_options_dialog", NULL);
|
||||
GtkWidget *chooser = CWID ("xkb_options_dialog");
|
||||
|
||||
gtk_window_set_transient_for (GTK_WINDOW (chooser),
|
||||
GTK_WINDOW (WID
|
||||
("keyboard_dialog")));
|
||||
xkb_options_load_options (chooser_dialog);
|
||||
|
||||
gtk_dialog_run (GTK_DIALOG (chooser));
|
||||
|
||||
gtk_widget_destroy (chooser);
|
||||
}
|
||||
|
||||
/* Respond to a change in the xkb gconf settings */
|
||||
static void
|
||||
xkb_options_update (GConfClient * client,
|
||||
|
|
|
@ -74,8 +74,7 @@ xkb_layout_preview_update (GladeXML * chooser_dialog)
|
|||
GtkWidget *chooser = CWID ("xkb_layout_chooser");
|
||||
GtkWidget *kbdraw =
|
||||
GTK_WIDGET (g_object_get_data (G_OBJECT (chooser), "kbdraw"));
|
||||
gchar *id =
|
||||
xkb_layout_chooser_get_selected_id (chooser_dialog);
|
||||
gchar *id = xkb_layout_chooser_get_selected_id (chooser_dialog);
|
||||
|
||||
if (kbdraw != NULL && id != NULL) {
|
||||
XklConfigRec *data;
|
||||
|
|
|
@ -40,8 +40,7 @@
|
|||
|
||||
#include "gnome-keyboard-properties-xkb.h"
|
||||
|
||||
enum
|
||||
{
|
||||
enum {
|
||||
RESPONSE_APPLY = 1,
|
||||
RESPONSE_CLOSE
|
||||
};
|
||||
|
@ -53,7 +52,10 @@ create_dialog (void)
|
|||
GtkSizeGroup *size_group;
|
||||
GtkWidget *image;
|
||||
|
||||
dialog = glade_xml_new (GNOMECC_GLADE_DIR "/gnome-keyboard-properties.glade", "keyboard_dialog", NULL);
|
||||
dialog =
|
||||
glade_xml_new (GNOMECC_GLADE_DIR
|
||||
"/gnome-keyboard-properties.glade",
|
||||
"keyboard_dialog", NULL);
|
||||
|
||||
size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
|
||||
gtk_size_group_add_widget (size_group, WID ("repeat_slow_label"));
|
||||
|
@ -70,65 +72,75 @@ create_dialog (void)
|
|||
size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
|
||||
gtk_size_group_add_widget (size_group, WID ("repeat_delay_scale"));
|
||||
gtk_size_group_add_widget (size_group, WID ("repeat_speed_scale"));
|
||||
gtk_size_group_add_widget (size_group, WID ("cursor_blink_time_scale"));
|
||||
gtk_size_group_add_widget (size_group,
|
||||
WID ("cursor_blink_time_scale"));
|
||||
g_object_unref (G_OBJECT (size_group));
|
||||
|
||||
image = gtk_image_new_from_stock (GTK_STOCK_JUMP_TO, GTK_ICON_SIZE_BUTTON);
|
||||
gtk_button_set_image (GTK_BUTTON (WID ("accessibility_button")), image);
|
||||
image =
|
||||
gtk_image_new_from_stock (GTK_STOCK_JUMP_TO,
|
||||
GTK_ICON_SIZE_BUTTON);
|
||||
gtk_button_set_image (GTK_BUTTON (WID ("accessibility_button")),
|
||||
image);
|
||||
|
||||
image = gtk_image_new_from_stock (GTK_STOCK_ADD, GTK_ICON_SIZE_BUTTON);
|
||||
image =
|
||||
gtk_image_new_from_stock (GTK_STOCK_ADD, GTK_ICON_SIZE_BUTTON);
|
||||
gtk_button_set_image (GTK_BUTTON (WID ("xkb_layouts_add")), image);
|
||||
|
||||
image = gtk_image_new_from_stock (GTK_STOCK_REFRESH, GTK_ICON_SIZE_BUTTON);
|
||||
gtk_button_set_image (GTK_BUTTON (WID ("xkb_reset_to_defaults")), image);
|
||||
image =
|
||||
gtk_image_new_from_stock (GTK_STOCK_REFRESH,
|
||||
GTK_ICON_SIZE_BUTTON);
|
||||
gtk_button_set_image (GTK_BUTTON (WID ("xkb_reset_to_defaults")),
|
||||
image);
|
||||
|
||||
return dialog;
|
||||
}
|
||||
|
||||
static GConfValue *
|
||||
blink_from_widget (GConfPropertyEditor *peditor, const GConfValue *value)
|
||||
blink_from_widget (GConfPropertyEditor * peditor, const GConfValue * value)
|
||||
{
|
||||
GConfValue *new_value;
|
||||
|
||||
new_value = gconf_value_new (GCONF_VALUE_INT);
|
||||
gconf_value_set_int (new_value, 2600 - gconf_value_get_int (value));
|
||||
gconf_value_set_int (new_value,
|
||||
2600 - gconf_value_get_int (value));
|
||||
|
||||
return new_value;
|
||||
}
|
||||
|
||||
static GConfValue *
|
||||
blink_to_widget (GConfPropertyEditor *peditor, const GConfValue *value)
|
||||
blink_to_widget (GConfPropertyEditor * peditor, const GConfValue * value)
|
||||
{
|
||||
GConfValue *new_value;
|
||||
gint current_rate;
|
||||
|
||||
current_rate = gconf_value_get_int (value);
|
||||
new_value = gconf_value_new (GCONF_VALUE_INT);
|
||||
gconf_value_set_int (new_value, CLAMP (2600 - current_rate, 100, 2500));
|
||||
gconf_value_set_int (new_value,
|
||||
CLAMP (2600 - current_rate, 100, 2500));
|
||||
|
||||
return new_value;
|
||||
}
|
||||
|
||||
static void
|
||||
accessibility_button_clicked (GtkWidget *widget,
|
||||
gpointer data)
|
||||
accessibility_button_clicked (GtkWidget * widget, gpointer data)
|
||||
{
|
||||
GError *err = NULL;
|
||||
if (!g_spawn_command_line_async ("gnome-accessibility-keyboard-properties", &err))
|
||||
capplet_error_dialog (GTK_WINDOW (gtk_widget_get_toplevel (widget)),
|
||||
_("There was an error launching the keyboard tool: %s"),
|
||||
if (!g_spawn_command_line_async
|
||||
("gnome-accessibility-keyboard-properties", &err))
|
||||
capplet_error_dialog (GTK_WINDOW
|
||||
(gtk_widget_get_toplevel (widget)),
|
||||
_
|
||||
("There was an error launching the keyboard tool: %s"),
|
||||
err);
|
||||
}
|
||||
|
||||
static void
|
||||
dialog_response (GtkWidget *widget,
|
||||
gint response_id,
|
||||
GConfChangeSet *changeset)
|
||||
dialog_response (GtkWidget * widget,
|
||||
gint response_id, GConfChangeSet * changeset)
|
||||
{
|
||||
if (response_id == GTK_RESPONSE_HELP)
|
||||
capplet_help (GTK_WINDOW (widget),
|
||||
"user-guide.xml",
|
||||
"goscustperiph-2");
|
||||
"user-guide.xml", "goscustperiph-2");
|
||||
else if (response_id == 0)
|
||||
accessibility_button_clicked (NULL, NULL);
|
||||
else
|
||||
|
@ -136,8 +148,7 @@ dialog_response (GtkWidget *widget,
|
|||
}
|
||||
|
||||
static void
|
||||
setup_dialog (GladeXML *dialog,
|
||||
GConfChangeSet *changeset)
|
||||
setup_dialog (GladeXML * dialog, GConfChangeSet * changeset)
|
||||
{
|
||||
GObject *peditor;
|
||||
|
||||
|
@ -145,41 +156,57 @@ setup_dialog (GladeXML *dialog,
|
|||
capplet_init_stock_icons ();
|
||||
|
||||
peditor = gconf_peditor_new_boolean
|
||||
(changeset, "/desktop/gnome/peripherals/keyboard/repeat", WID ("repeat_toggle"), NULL);
|
||||
gconf_peditor_widget_set_guard (GCONF_PROPERTY_EDITOR (peditor), WID ("repeat_table"));
|
||||
(changeset, "/desktop/gnome/peripherals/keyboard/repeat",
|
||||
WID ("repeat_toggle"), NULL);
|
||||
gconf_peditor_widget_set_guard (GCONF_PROPERTY_EDITOR (peditor),
|
||||
WID ("repeat_table"));
|
||||
|
||||
gconf_peditor_new_numeric_range
|
||||
(changeset, "/desktop/gnome/peripherals/keyboard/delay", WID ("repeat_delay_scale"),
|
||||
NULL);
|
||||
(changeset, "/desktop/gnome/peripherals/keyboard/delay",
|
||||
WID ("repeat_delay_scale"), NULL);
|
||||
|
||||
gconf_peditor_new_numeric_range
|
||||
(changeset, "/desktop/gnome/peripherals/keyboard/rate", WID ("repeat_speed_scale"),
|
||||
NULL);
|
||||
(changeset, "/desktop/gnome/peripherals/keyboard/rate",
|
||||
WID ("repeat_speed_scale"), NULL);
|
||||
|
||||
peditor = gconf_peditor_new_boolean
|
||||
(changeset, "/desktop/gnome/interface/cursor_blink", WID ("cursor_toggle"), NULL);
|
||||
gconf_peditor_widget_set_guard (GCONF_PROPERTY_EDITOR (peditor), WID ("cursor_hbox"));
|
||||
gconf_peditor_new_numeric_range
|
||||
(changeset, "/desktop/gnome/interface/cursor_blink_time", WID ("cursor_blink_time_scale"),
|
||||
"conv-to-widget-cb", blink_to_widget,
|
||||
"conv-from-widget-cb", blink_from_widget,
|
||||
NULL);
|
||||
(changeset, "/desktop/gnome/interface/cursor_blink",
|
||||
WID ("cursor_toggle"), NULL);
|
||||
gconf_peditor_widget_set_guard (GCONF_PROPERTY_EDITOR (peditor),
|
||||
WID ("cursor_hbox"));
|
||||
gconf_peditor_new_numeric_range (changeset,
|
||||
"/desktop/gnome/interface/cursor_blink_time",
|
||||
WID ("cursor_blink_time_scale"),
|
||||
"conv-to-widget-cb",
|
||||
blink_to_widget,
|
||||
"conv-from-widget-cb",
|
||||
blink_from_widget, NULL);
|
||||
|
||||
/* Ergonomics */
|
||||
peditor = gconf_peditor_new_boolean
|
||||
(changeset, "/desktop/gnome/typing_break/enabled", WID ("break_enabled_toggle"), NULL);
|
||||
gconf_peditor_widget_set_guard (GCONF_PROPERTY_EDITOR (peditor), WID ("break_details_table"));
|
||||
gconf_peditor_new_numeric_range
|
||||
(changeset, "/desktop/gnome/typing_break/type_time", WID ("break_enabled_spin"), NULL);
|
||||
gconf_peditor_new_numeric_range
|
||||
(changeset, "/desktop/gnome/typing_break/break_time", WID ("break_interval_spin"), NULL);
|
||||
gconf_peditor_new_boolean
|
||||
(changeset, "/desktop/gnome/typing_break/allow_postpone", WID ("break_postponement_toggle"), NULL);
|
||||
g_signal_connect (G_OBJECT (WID ("keyboard_dialog")), "response", (GCallback) dialog_response, changeset);
|
||||
(changeset, "/desktop/gnome/typing_break/enabled",
|
||||
WID ("break_enabled_toggle"), NULL);
|
||||
gconf_peditor_widget_set_guard (GCONF_PROPERTY_EDITOR (peditor),
|
||||
WID ("break_details_table"));
|
||||
gconf_peditor_new_numeric_range (changeset,
|
||||
"/desktop/gnome/typing_break/type_time",
|
||||
WID ("break_enabled_spin"), NULL);
|
||||
gconf_peditor_new_numeric_range (changeset,
|
||||
"/desktop/gnome/typing_break/break_time",
|
||||
WID ("break_interval_spin"),
|
||||
NULL);
|
||||
gconf_peditor_new_boolean (changeset,
|
||||
"/desktop/gnome/typing_break/allow_postpone",
|
||||
WID ("break_postponement_toggle"),
|
||||
NULL);
|
||||
g_signal_connect (G_OBJECT (WID ("keyboard_dialog")), "response",
|
||||
(GCallback) dialog_response, changeset);
|
||||
|
||||
gtk_label_set_use_markup (GTK_LABEL (GTK_BIN (WID ("break_enabled_toggle"))->child), TRUE);
|
||||
gtk_label_set_use_markup (GTK_LABEL
|
||||
(GTK_BIN (WID ("break_enabled_toggle"))->
|
||||
child), TRUE);
|
||||
|
||||
setup_xkb_tabs(dialog,changeset);
|
||||
setup_xkb_tabs (dialog, changeset);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -191,25 +218,40 @@ get_legacy_settings (void)
|
|||
|
||||
client = gconf_client_get_default ();
|
||||
|
||||
COPY_FROM_LEGACY (bool, "/gnome/desktop/peripherals/keyboard/repeat", "/Desktop/Keyboard/repeat=true");
|
||||
COPY_FROM_LEGACY (bool, "/gnome/desktop/peripherals/keyboard/click", "/Desktop/Keyboard/click=true");
|
||||
COPY_FROM_LEGACY (int, "/gnome/desktop/peripherals/keyboard/rate", "/Desktop/Keyboard/rate=30");
|
||||
COPY_FROM_LEGACY (int, "/gnome/desktop/peripherals/keyboard/delay", "/Desktop/Keyboard/delay=500");
|
||||
COPY_FROM_LEGACY (int, "/gnome/desktop/peripherals/keyboard/volume", "/Desktop/Keyboard/clickvolume=0");
|
||||
COPY_FROM_LEGACY (bool,
|
||||
"/gnome/desktop/peripherals/keyboard/repeat",
|
||||
"/Desktop/Keyboard/repeat=true");
|
||||
COPY_FROM_LEGACY (bool,
|
||||
"/gnome/desktop/peripherals/keyboard/click",
|
||||
"/Desktop/Keyboard/click=true");
|
||||
COPY_FROM_LEGACY (int, "/gnome/desktop/peripherals/keyboard/rate",
|
||||
"/Desktop/Keyboard/rate=30");
|
||||
COPY_FROM_LEGACY (int, "/gnome/desktop/peripherals/keyboard/delay",
|
||||
"/Desktop/Keyboard/delay=500");
|
||||
COPY_FROM_LEGACY (int,
|
||||
"/gnome/desktop/peripherals/keyboard/volume",
|
||||
"/Desktop/Keyboard/clickvolume=0");
|
||||
#if 0
|
||||
COPY_FROM_LEGACY (int, "/gnome/desktop/peripherals/keyboard/bell_volume", "/Desktop/Bell/percent=50");
|
||||
COPY_FROM_LEGACY (int,
|
||||
"/gnome/desktop/peripherals/keyboard/bell_volume",
|
||||
"/Desktop/Bell/percent=50");
|
||||
#endif
|
||||
COPY_FROM_LEGACY (int, "/gnome/desktop/peripherals/keyboard/bell_pitch", "/Desktop/Bell/pitch=50");
|
||||
COPY_FROM_LEGACY (int, "/gnome/desktop/peripherals/keyboard/bell_duration", "/Desktop/Bell/duration=100");
|
||||
COPY_FROM_LEGACY (int,
|
||||
"/gnome/desktop/peripherals/keyboard/bell_pitch",
|
||||
"/Desktop/Bell/pitch=50");
|
||||
COPY_FROM_LEGACY (int,
|
||||
"/gnome/desktop/peripherals/keyboard/bell_duration",
|
||||
"/Desktop/Bell/duration=100");
|
||||
g_object_unref (G_OBJECT (client));
|
||||
}
|
||||
|
||||
#if 0
|
||||
static void
|
||||
setup_accessibility (GladeXML *dialog, GConfChangeSet *changeset)
|
||||
setup_accessibility (GladeXML * dialog, GConfChangeSet * changeset)
|
||||
{
|
||||
GtkWidget *notebook = WID ("notebook1");
|
||||
GtkWidget *label = gtk_label_new_with_mnemonic (_("_Accessibility"));
|
||||
GtkWidget *label =
|
||||
gtk_label_new_with_mnemonic (_("_Accessibility"));
|
||||
GtkWidget *page = setup_accessX_dialog (changeset, FALSE);
|
||||
gtk_notebook_append_page (GTK_NOTEBOOK (notebook), page, label);
|
||||
}
|
||||
|
@ -228,15 +270,23 @@ main (int argc, char **argv)
|
|||
static gboolean switch_to_typing_break_page = FALSE;
|
||||
|
||||
static GOptionEntry cap_options[] = {
|
||||
{ "apply", 0, 0, G_OPTION_ARG_NONE, &apply_only,
|
||||
N_("Just apply settings and quit (compatibility only; now handled by daemon)"), NULL },
|
||||
{ "init-session-settings", 0, 0, G_OPTION_ARG_NONE, &apply_only,
|
||||
N_("Just apply settings and quit (compatibility only; now handled by daemon)"), NULL },
|
||||
{ "get-legacy", 0, 0, G_OPTION_ARG_NONE, &get_legacy,
|
||||
N_("Retrieve and store legacy settings"), NULL },
|
||||
{ "typing-break", 0, 0, G_OPTION_ARG_NONE, &switch_to_typing_break_page,
|
||||
N_("Start the page with the typing break settings showing"), NULL },
|
||||
{ NULL }
|
||||
{"apply", 0, 0, G_OPTION_ARG_NONE, &apply_only,
|
||||
N_
|
||||
("Just apply settings and quit (compatibility only; now handled by daemon)"),
|
||||
NULL},
|
||||
{"init-session-settings", 0, 0, G_OPTION_ARG_NONE,
|
||||
&apply_only,
|
||||
N_
|
||||
("Just apply settings and quit (compatibility only; now handled by daemon)"),
|
||||
NULL},
|
||||
{"get-legacy", 0, 0, G_OPTION_ARG_NONE, &get_legacy,
|
||||
N_("Retrieve and store legacy settings"), NULL},
|
||||
{"typing-break", 0, 0, G_OPTION_ARG_NONE,
|
||||
&switch_to_typing_break_page,
|
||||
N_
|
||||
("Start the page with the typing break settings showing"),
|
||||
NULL},
|
||||
{NULL}
|
||||
};
|
||||
|
||||
bindtextdomain (GETTEXT_PACKAGE, GNOMELOCALEDIR);
|
||||
|
@ -244,9 +294,11 @@ main (int argc, char **argv)
|
|||
textdomain (GETTEXT_PACKAGE);
|
||||
|
||||
context = g_option_context_new (_("- GNOME Keyboard Preferences"));
|
||||
g_option_context_add_main_entries (context, cap_options, GETTEXT_PACKAGE);
|
||||
g_option_context_add_main_entries (context, cap_options,
|
||||
GETTEXT_PACKAGE);
|
||||
|
||||
gnome_program_init ("gnome-keyboard-properties", VERSION, LIBGNOMEUI_MODULE, argc, argv,
|
||||
gnome_program_init ("gnome-keyboard-properties", VERSION,
|
||||
LIBGNOMEUI_MODULE, argc, argv,
|
||||
GNOME_PARAM_GOPTION_CONTEXT, context,
|
||||
GNOME_PARAM_APP_DATADIR, GNOMECC_DATA_DIR,
|
||||
NULL);
|
||||
|
@ -254,8 +306,11 @@ main (int argc, char **argv)
|
|||
activate_settings_daemon ();
|
||||
|
||||
client = gconf_client_get_default ();
|
||||
gconf_client_add_dir (client, "/desktop/gnome/peripherals/keyboard", GCONF_CLIENT_PRELOAD_ONELEVEL, NULL);
|
||||
gconf_client_add_dir (client, "/desktop/gnome/interface", GCONF_CLIENT_PRELOAD_ONELEVEL, NULL);
|
||||
gconf_client_add_dir (client,
|
||||
"/desktop/gnome/peripherals/keyboard",
|
||||
GCONF_CLIENT_PRELOAD_ONELEVEL, NULL);
|
||||
gconf_client_add_dir (client, "/desktop/gnome/interface",
|
||||
GCONF_CLIENT_PRELOAD_ONELEVEL, NULL);
|
||||
g_object_unref (client);
|
||||
|
||||
if (get_legacy) {
|
||||
|
@ -265,7 +320,10 @@ main (int argc, char **argv)
|
|||
dialog = create_dialog ();
|
||||
setup_dialog (dialog, changeset);
|
||||
if (switch_to_typing_break_page) {
|
||||
gtk_notebook_set_current_page (GTK_NOTEBOOK (WID ("keyboard_notebook")), 3);
|
||||
gtk_notebook_set_current_page (GTK_NOTEBOOK
|
||||
(WID
|
||||
("keyboard_notebook")),
|
||||
3);
|
||||
}
|
||||
capplet_set_icon (WID ("keyboard_dialog"),
|
||||
"gnome-dev-keyboard");
|
||||
|
|
|
@ -62,6 +62,7 @@
|
|||
<property name="can_focus">True</property>
|
||||
<property name="label" translatable="yes">Key presses _repeat when key is held down</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="response_id">0</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
</widget>
|
||||
<packing>
|
||||
|
@ -260,6 +261,7 @@
|
|||
<property name="can_focus">True</property>
|
||||
<property name="label" translatable="yes">Cursor _blinks in text boxes and fields</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="response_id">0</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
</widget>
|
||||
<packing>
|
||||
|
@ -389,9 +391,6 @@
|
|||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="tab_expand">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label1">
|
||||
|
@ -401,7 +400,6 @@
|
|||
</widget>
|
||||
<packing>
|
||||
<property name="type">tab</property>
|
||||
<property name="tab_expand">False</property>
|
||||
<property name="tab_fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
@ -409,10 +407,7 @@
|
|||
<widget class="GtkVBox" id="vbox33">
|
||||
<property name="visible">True</property>
|
||||
<property name="border_width">12</property>
|
||||
<child>
|
||||
<widget class="GtkVBox" id="vbox34">
|
||||
<property name="visible">True</property>
|
||||
<property name="spacing">6</property>
|
||||
<property name="spacing">18</property>
|
||||
<child>
|
||||
<widget class="GtkHBox" id="xkb_models_box">
|
||||
<property name="visible">True</property>
|
||||
|
@ -446,6 +441,7 @@
|
|||
<property name="can_focus">True</property>
|
||||
<property name="label" translatable="yes">Choose...</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="response_id">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
|
@ -462,6 +458,10 @@
|
|||
<property name="fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkVBox" id="vbox34">
|
||||
<property name="visible">True</property>
|
||||
<property name="spacing">6</property>
|
||||
<child>
|
||||
<widget class="GtkVBox" id="vbox41">
|
||||
<property name="visible">True</property>
|
||||
|
@ -504,9 +504,6 @@
|
|||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkCheckButton" id="chk_separate_group_per_window">
|
||||
|
@ -514,36 +511,42 @@
|
|||
<property name="can_focus">True</property>
|
||||
<property name="label" translatable="yes">Separate _layout for each window</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="response_id">0</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">2</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkHBox" id="hbox30">
|
||||
<widget class="GtkHButtonBox" id="hbuttonbox2">
|
||||
<property name="visible">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="spacing">6</property>
|
||||
<child>
|
||||
<widget class="GtkButton" id="xkb_layouts_add">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="label" translatable="yes">_Add...</property>
|
||||
<property name="use_underline">True</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||
<child>
|
||||
<widget class="GtkButton" id="xkb_layouts_remove">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="label">gtk-remove</property>
|
||||
<property name="use_stock">True</property>
|
||||
<property name="response_id">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkButton" id="xkb_layouts_add">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="label" translatable="yes">_Add...</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="response_id">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
|
@ -557,26 +560,51 @@
|
|||
<property name="can_focus">True</property>
|
||||
<property name="label" translatable="yes">Reset to De_faults</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="response_id">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="pack_type">GTK_PACK_END</property>
|
||||
<property name="position">1</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="position">3</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkHButtonBox" id="hbuttonbox3">
|
||||
<property name="visible">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||
<child>
|
||||
<widget class="GtkButton" id="xkb_layout_options">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="label" translatable="yes">Layout _Options...</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="response_id">0</property>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="position">1</property>
|
||||
<property name="tab_expand">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
|
@ -587,43 +615,6 @@
|
|||
<packing>
|
||||
<property name="type">tab</property>
|
||||
<property name="position">1</property>
|
||||
<property name="tab_expand">False</property>
|
||||
<property name="tab_fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkScrolledWindow" id="scrolledwindow7">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="border_width">12</property>
|
||||
<property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
|
||||
<property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
|
||||
<child>
|
||||
<widget class="GtkViewport" id="viewport1">
|
||||
<property name="visible">True</property>
|
||||
<property name="shadow_type">GTK_SHADOW_NONE</property>
|
||||
<child>
|
||||
<widget class="GtkVBox" id="options_vbox">
|
||||
<property name="visible">True</property>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="position">2</property>
|
||||
<property name="tab_expand">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label64">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">Layout Options</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="type">tab</property>
|
||||
<property name="position">2</property>
|
||||
<property name="tab_expand">False</property>
|
||||
<property name="tab_fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
@ -647,6 +638,7 @@
|
|||
<property name="tooltip" translatable="yes">Lock screen after a certain duration to help prevent repetitive keyboard use injuries</property>
|
||||
<property name="label" translatable="yes"><b>_Lock screen to enforce typing break</b></property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="response_id">0</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
</widget>
|
||||
<packing>
|
||||
|
@ -780,6 +772,7 @@
|
|||
<property name="tooltip" translatable="yes">Check if breaks are allowed to be postponed</property>
|
||||
<property name="label" translatable="yes">All_ow postponing of breaks</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="response_id">0</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
</widget>
|
||||
<packing>
|
||||
|
@ -806,8 +799,7 @@
|
|||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="position">3</property>
|
||||
<property name="tab_expand">False</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
|
@ -817,8 +809,7 @@
|
|||
</widget>
|
||||
<packing>
|
||||
<property name="type">tab</property>
|
||||
<property name="position">3</property>
|
||||
<property name="tab_expand">False</property>
|
||||
<property name="position">2</property>
|
||||
<property name="tab_fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
@ -848,6 +839,7 @@
|
|||
<property name="can_default">True</property>
|
||||
<property name="label" translatable="yes">_Accessibility...</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="response_id">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="position">1</property>
|
||||
|
@ -1154,4 +1146,81 @@
|
|||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<widget class="GtkDialog" id="xkb_options_dialog">
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="border_width">5</property>
|
||||
<property name="title" translatable="yes">Keyboard Layout Options</property>
|
||||
<property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
|
||||
<property name="default_width">550</property>
|
||||
<property name="default_height">400</property>
|
||||
<property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
|
||||
<property name="has_separator">False</property>
|
||||
<child internal-child="vbox">
|
||||
<widget class="GtkVBox" id="dialog-vbox4">
|
||||
<property name="visible">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="spacing">2</property>
|
||||
<child>
|
||||
<widget class="GtkScrolledWindow" id="scrolledwindow7">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="border_width">5</property>
|
||||
<property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
|
||||
<property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
|
||||
<property name="shadow_type">GTK_SHADOW_OUT</property>
|
||||
<child>
|
||||
<widget class="GtkViewport" id="viewport1">
|
||||
<property name="visible">True</property>
|
||||
<property name="shadow_type">GTK_SHADOW_NONE</property>
|
||||
<child>
|
||||
<widget class="GtkVBox" id="options_vbox">
|
||||
<property name="visible">True</property>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child internal-child="action_area">
|
||||
<widget class="GtkHButtonBox" id="dialog-action_area4">
|
||||
<property name="visible">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||
<child>
|
||||
<widget class="GtkButton" id="button3">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="label" translatable="yes">gtk-help</property>
|
||||
<property name="use_stock">True</property>
|
||||
<property name="response_id">-11</property>
|
||||
</widget>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkButton" id="button2">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="label" translatable="yes">gtk-close</property>
|
||||
<property name="use_stock">True</property>
|
||||
<property name="response_id">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="pack_type">GTK_PACK_END</property>
|
||||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
</glade-interface>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue