Universal access: add dialog for zoom options
Added UI and code to spawn a zoom options preferences dialog to modify various magnifier settings. Modified the 'Seeing' section of the universal access panel to enable the 'Options...' button. https://bugzilla.gnome.org/show_bug.cgi?id=643086
This commit is contained in:
parent
5a81baca8a
commit
f7fa758b2b
7 changed files with 1284 additions and 7 deletions
|
@ -19,13 +19,15 @@ libuniversal_access_la_SOURCES = \
|
|||
gconf-property-editor.h \
|
||||
gconf-property-editor.c \
|
||||
cc-marshal.c \
|
||||
cc-marshal.h
|
||||
cc-marshal.h \
|
||||
zoom-options.c \
|
||||
zoom-options.h
|
||||
|
||||
libuniversal_access_la_LIBADD = $(PANEL_LIBS) $(UNIVERSAL_ACCESS_PANEL_LIBS) $(top_builddir)/panels/common/libshortcuts.la
|
||||
libuniversal_access_la_LDFLAGS = $(PANEL_LDFLAGS)
|
||||
|
||||
uidir = $(pkgdatadir)/ui
|
||||
dist_ui_DATA = uap.ui
|
||||
dist_ui_DATA = uap.ui zoom-options.ui
|
||||
|
||||
|
||||
@INTLTOOL_DESKTOP_RULE@
|
||||
|
|
|
@ -32,6 +32,8 @@
|
|||
#include "eggaccelerators.h"
|
||||
#include "gconf-property-editor.h"
|
||||
|
||||
#include "zoom-options.h"
|
||||
|
||||
#define WID(b, w) (GtkWidget *) gtk_builder_get_object (b, w)
|
||||
|
||||
|
||||
|
@ -50,6 +52,8 @@ struct _CcUaPanelPrivate
|
|||
GSettings *application_settings;
|
||||
GSettings *mediakeys_settings;
|
||||
|
||||
GObject *zoom_options;
|
||||
|
||||
GSList *notify_list;
|
||||
};
|
||||
|
||||
|
@ -142,6 +146,12 @@ cc_ua_panel_dispose (GObject *object)
|
|||
priv->mediakeys_settings = NULL;
|
||||
}
|
||||
|
||||
if (priv->zoom_options)
|
||||
{
|
||||
g_object_unref (priv->zoom_options);
|
||||
priv->zoom_options = NULL;
|
||||
}
|
||||
|
||||
G_OBJECT_CLASS (cc_ua_panel_parent_class)->dispose (object);
|
||||
}
|
||||
|
||||
|
@ -210,6 +220,17 @@ static gchar *visual_alerts_section[] = {
|
|||
NULL
|
||||
};
|
||||
|
||||
/* zoom options dialog */
|
||||
static void
|
||||
zoom_options_launch_cb (GtkWidget *options_button, CcUaPanel *self)
|
||||
{
|
||||
if (self->priv->zoom_options == NULL)
|
||||
self->priv->zoom_options = g_object_new (ZOOM_TYPE_OPTIONS, NULL);
|
||||
|
||||
if (self->priv->zoom_options != NULL)
|
||||
zoom_options_present_dialog (ZOOM_OPTIONS (self->priv->zoom_options));
|
||||
}
|
||||
|
||||
static void
|
||||
cc_ua_panel_section_switched (GObject *object,
|
||||
GParamSpec *pspec,
|
||||
|
@ -516,10 +537,12 @@ cc_ua_panel_init_seeing (CcUaPanel *self)
|
|||
WID (priv->builder, "seeing_enable_toggle_keys_checkbutton"), "active",
|
||||
G_SETTINGS_BIND_DEFAULT);
|
||||
|
||||
settings_on_off_editor_new (priv, priv->application_settings,
|
||||
"screen-magnifier-enabled",
|
||||
WID (priv->builder, "seeing_zoom_switch"),
|
||||
NULL);
|
||||
g_signal_connect (WID (priv->builder, "seeing_zoom_preferences_button"),
|
||||
"clicked",
|
||||
G_CALLBACK (zoom_options_launch_cb), self);
|
||||
g_settings_bind (priv->application_settings, "screen-magnifier-enabled",
|
||||
WID (priv->builder, "seeing_zoom_switch"), "active",
|
||||
G_SETTINGS_BIND_DEFAULT);
|
||||
|
||||
settings_on_off_editor_new (priv, priv->application_settings,
|
||||
"screen-reader-enabled",
|
||||
|
|
|
@ -609,10 +609,12 @@
|
|||
<object class="GtkButton" id="seeing_zoom_preferences_button">
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="sensitive">True</property>
|
||||
<child>
|
||||
<object class="GtkLabel" id="seeing_zoom_preferences_label">
|
||||
<property name="visible">True</property>
|
||||
<property name="sensitive">False</property>
|
||||
<property name="sensitive">True</property>
|
||||
<property name="label" translatable="yes">Options...</property>
|
||||
<property name="use_markup">True</property>
|
||||
</object>
|
||||
|
|
330
panels/universal-access/zoom-options.c
Normal file
330
panels/universal-access/zoom-options.c
Normal file
|
@ -0,0 +1,330 @@
|
|||
/*
|
||||
* Copyright 2011 Inclusive Design Research Centre, OCAD University.
|
||||
*
|
||||
* 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.1 of the License, 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 Lesser General Public License
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* Author: Joseph Scheuhammer <clown@alum.mit.edu>
|
||||
*/
|
||||
|
||||
#include "zoom-options.h"
|
||||
#include <gdk/gdk.h>
|
||||
#include <glib/gi18n.h>
|
||||
#include <string.h>
|
||||
|
||||
#define WID(b, w) (GtkWidget *) gtk_builder_get_object (b, w)
|
||||
|
||||
struct _ZoomOptionsPrivate
|
||||
{
|
||||
GtkBuilder *builder;
|
||||
GSettings *settings;
|
||||
|
||||
GtkWidget *dialog;
|
||||
};
|
||||
|
||||
G_DEFINE_TYPE (ZoomOptions, zoom_options, G_TYPE_OBJECT);
|
||||
|
||||
static void xhairs_color_opacity_changed_cb (GtkColorButton *button, ZoomOptionsPrivate *priv);
|
||||
static void xhairs_length_add_marks (GtkScale *scale);
|
||||
|
||||
static void
|
||||
mouse_mode_radiobutton_toggled_cb (GtkWidget *widget, ZoomOptionsPrivate *priv)
|
||||
{
|
||||
if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)) == TRUE)
|
||||
{
|
||||
g_settings_set_string (priv->settings, "mouse-tracking",
|
||||
gtk_buildable_get_name (GTK_BUILDABLE (widget)));
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
screen_position_radiobutton_toggled_cb (GtkWidget *widget, ZoomOptionsPrivate *priv)
|
||||
{
|
||||
if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)) == TRUE)
|
||||
{
|
||||
g_settings_set_string (priv->settings, "screen-position",
|
||||
gtk_buildable_get_name (GTK_BUILDABLE (widget)));
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
init_radio_group (GSList *radio_group,
|
||||
gchar *key,
|
||||
GCallback radiobutton_toggled_cb,
|
||||
ZoomOptionsPrivate *priv)
|
||||
{
|
||||
gchar *value;
|
||||
gchar *name;
|
||||
|
||||
value = g_settings_get_string (priv->settings, key);
|
||||
for (; radio_group != NULL; radio_group = radio_group->next)
|
||||
{
|
||||
name = gtk_buildable_get_name (GTK_BUILDABLE (radio_group->data));
|
||||
if (strcmp (name, value) == 0)
|
||||
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio_group->data), TRUE);
|
||||
else
|
||||
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio_group->data), FALSE);
|
||||
|
||||
g_signal_connect (G_OBJECT (radio_group->data), "toggled",
|
||||
G_CALLBACK(radiobutton_toggled_cb),
|
||||
priv);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
init_xhairs_color_opacity (GtkColorButton *color_button, ZoomOptionsPrivate *priv)
|
||||
{
|
||||
gchar *color_setting;
|
||||
GdkRGBA rgba;
|
||||
|
||||
color_setting = g_settings_get_string (priv->settings, "cross-hairs-color");
|
||||
gdk_rgba_parse (&rgba, color_setting);
|
||||
|
||||
rgba.alpha = g_settings_get_double (priv->settings, "cross-hairs-opacity");
|
||||
gtk_color_button_set_rgba (GTK_COLOR_BUTTON (color_button), &rgba);
|
||||
}
|
||||
|
||||
static void
|
||||
update_xhairs_color_cb (GSettings *settings, gchar *key, GtkColorButton *button)
|
||||
{
|
||||
gchar *color;
|
||||
GdkColor rgb;
|
||||
|
||||
color = g_settings_get_string (settings, key);
|
||||
gdk_color_parse (color, &rgb);
|
||||
|
||||
gtk_color_button_set_color (button, &rgb);
|
||||
}
|
||||
|
||||
static void
|
||||
update_xhairs_opacity_cb (GSettings *settings, gchar *key, GtkColorButton *button)
|
||||
{
|
||||
gdouble opacity;
|
||||
|
||||
opacity = g_settings_get_double (settings, key);
|
||||
gtk_color_button_set_alpha (button, opacity * 65535);
|
||||
}
|
||||
|
||||
static void
|
||||
xhairs_color_opacity_changed_cb (GtkColorButton *button, ZoomOptionsPrivate *priv)
|
||||
{
|
||||
GdkRGBA rgba;
|
||||
GdkColor rgb;
|
||||
gchar *color_string;
|
||||
gchar gsetting_val[8];
|
||||
|
||||
gtk_color_button_get_color (button, &rgb);
|
||||
color_string = gdk_color_to_string (&rgb);
|
||||
|
||||
// color_string is in the form '#rrrrggggbbbb'. Convert to '#rrggbb'.
|
||||
// Start by copying the leading '#'.
|
||||
g_strlcpy (gsetting_val, color_string, 4);
|
||||
g_strlcpy (gsetting_val+3, color_string+5, 3);
|
||||
g_strlcpy (gsetting_val+5, color_string+9, 3);
|
||||
g_settings_set_string (priv->settings, "cross-hairs-color", gsetting_val);
|
||||
|
||||
gtk_color_button_get_rgba (button, &rgba);
|
||||
g_settings_set_double (priv->settings, "cross-hairs-opacity", rgba.alpha);
|
||||
}
|
||||
|
||||
static void xhairs_length_add_marks (GtkScale *scale)
|
||||
{
|
||||
gint length, quarter_length;
|
||||
GtkAdjustment *scale_model;
|
||||
|
||||
// Get maximum dimension of screen.
|
||||
length = MAX(gdk_screen_width(), gdk_screen_height());
|
||||
scale_model = gtk_range_get_adjustment (GTK_RANGE (scale));
|
||||
if (length < gtk_adjustment_get_upper(scale_model))
|
||||
{
|
||||
gtk_adjustment_set_upper (scale_model, length);
|
||||
}
|
||||
|
||||
// The crosshair is made up of four lines in pairs (top, bottom) and
|
||||
// (left, right). Stipulating: "quarter of the screen" means that the
|
||||
// length of one hair is 25% of the screen.
|
||||
quarter_length = length / 4;
|
||||
|
||||
gtk_scale_add_mark (scale, quarter_length, GTK_POS_BOTTOM, _("1/4 Screen"));
|
||||
gtk_scale_add_mark (scale, quarter_length * 2 , GTK_POS_BOTTOM, _("1/2 Screen"));
|
||||
gtk_scale_add_mark (scale, quarter_length * 3, GTK_POS_BOTTOM, _("3/4 Screen"));
|
||||
}
|
||||
|
||||
static void
|
||||
zoom_option_close_dialog_cb (GtkWidget *closer, ZoomOptionsPrivate *priv)
|
||||
{
|
||||
if (priv->dialog != NULL)
|
||||
gtk_widget_hide (priv->dialog);
|
||||
}
|
||||
|
||||
static void
|
||||
zoom_options_dispose (GObject *object)
|
||||
{
|
||||
g_return_if_fail (object != NULL);
|
||||
g_return_if_fail (ZOOM_IS_OPTIONS (object));
|
||||
ZoomOptionsPrivate *priv = ZOOM_OPTIONS (object)->priv;
|
||||
|
||||
if (priv->builder)
|
||||
{
|
||||
g_object_unref (priv->builder);
|
||||
priv->builder = NULL;
|
||||
}
|
||||
|
||||
if (priv->settings)
|
||||
{
|
||||
g_object_unref (priv->settings);
|
||||
priv->settings = NULL;
|
||||
}
|
||||
|
||||
if (priv->dialog)
|
||||
{
|
||||
gtk_widget_destroy (priv->dialog);
|
||||
priv->dialog = NULL;
|
||||
}
|
||||
|
||||
G_OBJECT_CLASS (zoom_options_parent_class)->dispose (object);
|
||||
}
|
||||
|
||||
static void
|
||||
zoom_options_finalize (GObject *object)
|
||||
{
|
||||
G_OBJECT_CLASS (zoom_options_parent_class)->finalize (object);
|
||||
}
|
||||
|
||||
static void
|
||||
zoom_options_class_init (ZoomOptionsClass *klass)
|
||||
{
|
||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||
|
||||
object_class->dispose = zoom_options_dispose;
|
||||
object_class->finalize = zoom_options_finalize;
|
||||
|
||||
g_type_class_add_private (klass, sizeof (ZoomOptionsPrivate));
|
||||
}
|
||||
|
||||
static void
|
||||
zoom_options_init (ZoomOptions *self)
|
||||
{
|
||||
ZoomOptionsPrivate *priv;
|
||||
GtkWidget *w;
|
||||
GSList *radio_group;
|
||||
GError *err = NULL;
|
||||
|
||||
priv = self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, ZOOM_TYPE_OPTIONS, ZoomOptionsPrivate);
|
||||
|
||||
priv->builder = gtk_builder_new ();
|
||||
gtk_builder_add_from_file (priv->builder,
|
||||
GNOMECC_UI_DIR "/zoom-options.ui",
|
||||
&err);
|
||||
if (err)
|
||||
{
|
||||
g_warning ("Could not load interface file: %s", err->message);
|
||||
g_error_free (err);
|
||||
|
||||
g_object_unref (priv->builder);
|
||||
priv->builder = NULL;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
priv->settings = g_settings_new ("org.gnome.desktop.a11y.magnifier");
|
||||
|
||||
/* Magnification factor */
|
||||
w = WID (priv->builder, "magFactorSpinButton");
|
||||
g_settings_bind (priv->settings, "mag-factor",
|
||||
gtk_spin_button_get_adjustment (GTK_SPIN_BUTTON (w)),
|
||||
"value", G_SETTINGS_BIND_DEFAULT);
|
||||
|
||||
/* Mouse tracking */
|
||||
w = WID (priv->builder, "proportional");
|
||||
radio_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (w));
|
||||
init_radio_group (radio_group, "mouse-tracking",
|
||||
G_CALLBACK(mouse_mode_radiobutton_toggled_cb), priv);
|
||||
|
||||
/* Screen position */
|
||||
w = WID (priv->builder, "full-screen");
|
||||
radio_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (w));
|
||||
init_radio_group (radio_group, "screen-position",
|
||||
G_CALLBACK(screen_position_radiobutton_toggled_cb), priv);
|
||||
|
||||
/* Lens mode */
|
||||
w = WID (priv->builder, "moveableLensCheckbox");
|
||||
g_settings_bind (priv->settings, "lens-mode", w, "active",
|
||||
G_SETTINGS_BIND_DEFAULT);
|
||||
|
||||
/* Clamp scrolling at screen edges */
|
||||
w = WID (priv->builder, "scrollAtEdges");
|
||||
g_settings_bind (priv->settings, "scroll-at-edges", w, "active",
|
||||
G_SETTINGS_BIND_DEFAULT);
|
||||
|
||||
/* Cross hairs: show/hide ... */
|
||||
w = WID (priv->builder, "xhairsEnabledSwitch");
|
||||
g_settings_bind (priv->settings, "show-cross-hairs", w, "active",
|
||||
G_SETTINGS_BIND_DEFAULT);
|
||||
|
||||
/* ... Cross hairs: color and opacity */
|
||||
w = WID (priv->builder, "xHairsPicker");
|
||||
init_xhairs_color_opacity (GTK_COLOR_BUTTON (w), priv);
|
||||
g_signal_connect (G_OBJECT (priv->settings), "changed::cross-hairs-color",
|
||||
G_CALLBACK (update_xhairs_color_cb), w);
|
||||
g_signal_connect (G_OBJECT (priv->settings), "changed::cross-hairs-opacity",
|
||||
G_CALLBACK (update_xhairs_opacity_cb), w);
|
||||
g_signal_connect (G_OBJECT (w), "color-set",
|
||||
G_CALLBACK(xhairs_color_opacity_changed_cb),
|
||||
priv);
|
||||
|
||||
/* ... Cross hairs: thickness ... */
|
||||
w = WID (priv->builder, "xHairsThicknessSlider");
|
||||
g_settings_bind (priv->settings, "cross-hairs-thickness",
|
||||
gtk_range_get_adjustment (GTK_RANGE (w)), "value",
|
||||
G_SETTINGS_BIND_DEFAULT);
|
||||
|
||||
/* ... Cross hairs: clip ... */
|
||||
w = WID (priv->builder, "xHairsClipCheckbox");
|
||||
g_settings_bind (priv->settings, "cross-hairs-clip", w, "active",
|
||||
G_SETTINGS_BIND_INVERT_BOOLEAN);
|
||||
|
||||
/* ... Cross hairs: length */
|
||||
w = WID (priv->builder, "xHairsLengthSlider");
|
||||
xhairs_length_add_marks (GTK_SCALE (w));
|
||||
g_settings_bind (priv->settings, "cross-hairs-length",
|
||||
gtk_range_get_adjustment (GTK_RANGE (w)), "value",
|
||||
G_SETTINGS_BIND_DEFAULT);
|
||||
|
||||
/* ... Window itself ... */
|
||||
priv->dialog = WID (priv->builder, "magPrefsDialog");
|
||||
w = WID (priv->builder, "closeButton");
|
||||
g_signal_connect (G_OBJECT (w), "clicked",
|
||||
G_CALLBACK (zoom_option_close_dialog_cb),
|
||||
priv);
|
||||
g_signal_connect (G_OBJECT (priv->dialog), "delete-event",
|
||||
G_CALLBACK (gtk_widget_hide_on_delete),
|
||||
NULL);
|
||||
zoom_options_present_dialog (self);
|
||||
}
|
||||
|
||||
/**
|
||||
* zoom_options_present_dialog:
|
||||
* @self: the #ZoomOptions object
|
||||
*
|
||||
* Activate the dialog associated with this ZoomOptions.
|
||||
*/
|
||||
void
|
||||
zoom_options_present_dialog (ZoomOptions *self)
|
||||
{
|
||||
g_return_if_fail (ZOOM_IS_OPTIONS (self));
|
||||
|
||||
if (self->priv->dialog != NULL)
|
||||
gtk_window_present (GTK_WINDOW (self->priv->dialog));
|
||||
}
|
73
panels/universal-access/zoom-options.h
Normal file
73
panels/universal-access/zoom-options.h
Normal file
|
@ -0,0 +1,73 @@
|
|||
/*
|
||||
* Copyright 2011 Inclusive Design Research Centre, OCAD University.
|
||||
*
|
||||
* 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.1 of the License, 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 Lesser General Public License
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* Author: Joseph Scheuhammer <clown@alum.mit.edu>
|
||||
*/
|
||||
|
||||
#ifndef _ZOOM_OPTIONS_H
|
||||
#define _ZOOM_OPTIONS_H
|
||||
|
||||
#include <glib-object.h>
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
typedef struct _ZoomOptions ZoomOptions;
|
||||
typedef struct _ZoomOptionsClass ZoomOptionsClass;
|
||||
typedef struct _ZoomOptionsPrivate ZoomOptionsPrivate;
|
||||
|
||||
#define ZOOM_TYPE_OPTIONS (zoom_options_get_type ())
|
||||
|
||||
#define ZOOM_OPTIONS(obj) \
|
||||
(G_TYPE_CHECK_INSTANCE_CAST ((obj), \
|
||||
ZOOM_TYPE_OPTIONS, ZoomOptions))
|
||||
|
||||
#define ZOOM_OPTIONS_CLASS(klass) \
|
||||
(G_TYPE_CHECK_CLASS_CAST ((klass), \
|
||||
ZOOM_TYPE_OPTIONS, ZoomOptionsClass))
|
||||
|
||||
#define ZOOM_IS_OPTIONS(obj) \
|
||||
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
|
||||
ZOOM_TYPE_OPTIONS))
|
||||
|
||||
#define ZOOM_IS_OPTIONS_CLASS(klass) \
|
||||
(G_TYPE_CHECK_CLASS_TYPE ((klass), \
|
||||
ZOOM_TYPE_OPTIONS))
|
||||
|
||||
#define ZOOM_OPTIONS_GET_CLASS(obj) \
|
||||
(G_TYPE_INSTANCE_GET_CLASS ((obj), \
|
||||
ZOOM_TYPE_OPTIONS, ZoomOptionsClass))
|
||||
|
||||
struct _ZoomOptionsClass
|
||||
{
|
||||
GObjectClass parent_class;
|
||||
};
|
||||
|
||||
struct _ZoomOptions
|
||||
{
|
||||
GObject parent;
|
||||
|
||||
ZoomOptionsPrivate *priv;
|
||||
};
|
||||
|
||||
GType zoom_options_get_type (void) G_GNUC_CONST;
|
||||
|
||||
void zoom_options_present_dialog (ZoomOptions *self);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* _ZOOM_OPTIONS_H */
|
845
panels/universal-access/zoom-options.ui
Normal file
845
panels/universal-access/zoom-options.ui
Normal file
|
@ -0,0 +1,845 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<interface>
|
||||
<requires lib="gtk+" version="2.16"/>
|
||||
<object class="GtkAdjustment" id="adjustment2">
|
||||
<property name="lower">100</property>
|
||||
<property name="upper">4096</property>
|
||||
<property name="value">4096</property>
|
||||
<property name="step_increment">1</property>
|
||||
<property name="page_increment">10</property>
|
||||
<property name="page_size">10</property>
|
||||
</object>
|
||||
<object class="GtkAdjustment" id="magFactor">
|
||||
<property name="lower">1</property>
|
||||
<property name="upper">20</property>
|
||||
<property name="value">2</property>
|
||||
<property name="step_increment">0.25</property>
|
||||
<property name="page_increment">1</property>
|
||||
</object>
|
||||
<object class="GtkDialog" id="magPrefsDialog">
|
||||
<property name="width_request">650</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="border_width">5</property>
|
||||
<property name="title" translatable="yes">Zoom Options</property>
|
||||
<property name="resizable">False</property>
|
||||
<property name="window_position">center-on-parent</property>
|
||||
<property name="default_width">600</property>
|
||||
<property name="type_hint">normal</property>
|
||||
<child internal-child="vbox">
|
||||
<object class="GtkBox" id="dialog-vbox1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">5</property>
|
||||
<child>
|
||||
<object class="GtkNotebook" id="notebook1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<child>
|
||||
<object class="GtkVBox" id="vbox4">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="spacing">12</property>
|
||||
<child>
|
||||
<object class="GtkFrame" id="frame2">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label_xalign">0</property>
|
||||
<property name="shadow_type">none</property>
|
||||
<child>
|
||||
<object class="GtkAlignment" id="alignment2">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="yscale">0</property>
|
||||
<property name="left_padding">12</property>
|
||||
<child>
|
||||
<object class="GtkSpinButton" id="magFactorSpinButton">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="invisible_char">●</property>
|
||||
<property name="adjustment">magFactor</property>
|
||||
<property name="digits">2</property>
|
||||
<accessibility>
|
||||
<relation type="labelled-by" target="mag_factor_label"/>
|
||||
</accessibility>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child type="label">
|
||||
<object class="GtkLabel" id="mag_factor_label">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="ypad">2</property>
|
||||
<property name="label" translatable="yes">Magnification:</property>
|
||||
<attributes>
|
||||
<attribute name="weight" value="bold"/>
|
||||
<attribute name="scale" value="1.25"/>
|
||||
</attributes>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkFrame" id="frame1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label_xalign">0</property>
|
||||
<property name="shadow_type">in</property>
|
||||
<child>
|
||||
<object class="GtkAlignment" id="alignment1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="yscale">0</property>
|
||||
<property name="left_padding">12</property>
|
||||
<child>
|
||||
<object class="GtkVBox" id="vbox1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="GtkRadioButton" id="proportional">
|
||||
<property name="label" translatable="yes">Always</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="use_action_appearance">False</property>
|
||||
<property name="relief">none</property>
|
||||
<property name="active">True</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="padding">8</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkRadioButton" id="push">
|
||||
<property name="label" translatable="yes">To keep the pointer visible</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="use_action_appearance">False</property>
|
||||
<property name="active">True</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
<property name="group">proportional</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="padding">8</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkRadioButton" id="centered">
|
||||
<property name="label" translatable="yes">To keep the pointer centered</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="use_action_appearance">False</property>
|
||||
<property name="active">True</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
<property name="group">proportional</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="padding">8</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child type="label">
|
||||
<object class="GtkLabel" id="label1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="xpad">1</property>
|
||||
<property name="label" translatable="yes">Image moves with the mouse pointer:</property>
|
||||
<attributes>
|
||||
<attribute name="weight" value="bold"/>
|
||||
<attribute name="scale" value="1.25"/>
|
||||
</attributes>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="padding">8</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkFrame" id="frame4">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label_xalign">0</property>
|
||||
<property name="shadow_type">in</property>
|
||||
<child>
|
||||
<object class="GtkAlignment" id="alignment3">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="left_padding">12</property>
|
||||
<child>
|
||||
<object class="GtkGrid" id="grid1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="n_rows">4</property>
|
||||
<child>
|
||||
<object class="GtkRadioButton" id="full-screen">
|
||||
<property name="label" translatable="yes">Full Screen</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="use_action_appearance">False</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="active">True</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
<property name="top_attach">0</property>
|
||||
<property name="width">1</property>
|
||||
<property name="height">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkRadioButton" id="top-half">
|
||||
<property name="label" translatable="yes">Top Half</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="use_action_appearance">False</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="active">True</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
<property name="group">full-screen</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
<property name="top_attach">1</property>
|
||||
<property name="width">1</property>
|
||||
<property name="height">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkRadioButton" id="bottom-half">
|
||||
<property name="label" translatable="yes">Bottom Half</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="use_action_appearance">False</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="active">True</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
<property name="group">full-screen</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
<property name="top_attach">3</property>
|
||||
<property name="width">1</property>
|
||||
<property name="height">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkRadioButton" id="left-half">
|
||||
<property name="label" translatable="yes">Left Half</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="use_action_appearance">False</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="active">True</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
<property name="group">full-screen</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">0</property>
|
||||
<property name="top_attach">2</property>
|
||||
<property name="width">1</property>
|
||||
<property name="height">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkRadioButton" id="right-half">
|
||||
<property name="label" translatable="yes">Right Half</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="use_action_appearance">False</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="active">True</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
<property name="group">full-screen</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">2</property>
|
||||
<property name="top_attach">2</property>
|
||||
<property name="width">1</property>
|
||||
<property name="height">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child type="label">
|
||||
<object class="GtkLabel" id="label6">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Position of magnified view on screen:</property>
|
||||
<property name="use_markup">True</property>
|
||||
<attributes>
|
||||
<attribute name="weight" value="bold"/>
|
||||
<attribute name="scale" value="1.25"/>
|
||||
</attributes>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkCheckButton" id="moveableLensCheckbox">
|
||||
<property name="label" translatable="yes">Moveable lens - magnified view follows mouse movements</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="use_action_appearance">False</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="padding">8</property>
|
||||
<property name="position">4</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkCheckButton" id="scrollAtEdges">
|
||||
<property name="label" translatable="yes">Image scrolls at screen edges</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="use_action_appearance">False</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="padding">8</property>
|
||||
<property name="position">5</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child type="tab">
|
||||
<object class="GtkLabel" id="label3">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">General</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="tab_fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkVBox" id="vbox8">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="spacing">12</property>
|
||||
<child>
|
||||
<object class="GtkFrame" id="frame3">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label_xalign">0</property>
|
||||
<property name="shadow_type">none</property>
|
||||
<child>
|
||||
<object class="GtkAlignment" id="alignment4">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="left_padding">12</property>
|
||||
<child>
|
||||
<object class="GtkBox" id="box1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkHBox" id="xhairs_enabled_box">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="spacing">6</property>
|
||||
<child>
|
||||
<object class="GtkSwitch" id="xhairsEnabledSwitch">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<accessibility>
|
||||
<relation target="xhairs-section-heading" type="labelled-by"/>
|
||||
</accessibility>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkCheckButton" id="xHairsClipCheckbox">
|
||||
<property name="label" translatable="yes">Show crosshairs intersection</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="use_action_appearance">False</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="padding">8</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkHBox" id="hbox3">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="spacing">12</property>
|
||||
<child>
|
||||
<object class="GtkLabel" id="label5">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="yalign">0</property>
|
||||
<property name="label" translatable="yes">Color and Opacity:</property>
|
||||
<accessibility>
|
||||
<relation type="label-for" target="xHairsPicker"/>
|
||||
</accessibility>
|
||||
<attributes>
|
||||
<attribute name="weight" value="bold"/>
|
||||
<attribute name="scale" value="1.25"/>
|
||||
</attributes>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkColorButton" id="xHairsPicker">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="use_action_appearance">False</property>
|
||||
<property name="yalign">0</property>
|
||||
<property name="use_alpha">True</property>
|
||||
<property name="color">#ffff00000000</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="padding">8</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkHBox" id="hbox5">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="spacing">12</property>
|
||||
<child>
|
||||
<object class="GtkLabel" id="label7">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">Length:</property>
|
||||
<accessibility>
|
||||
<relation type="label-for" target="xHairsLengthSlider"/>
|
||||
</accessibility>
|
||||
<attributes>
|
||||
<attribute name="weight" value="bold"/>
|
||||
<attribute name="scale" value="1.25"/>
|
||||
</attributes>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkHBox" id="hbox6">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="spacing">6</property>
|
||||
<child>
|
||||
<object class="GtkLabel" id="xhairs_length_short_label">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="xalign">1</property>
|
||||
<property name="label" translatable="yes" comments="short delay">Short</property>
|
||||
<property name="justify">center</property>
|
||||
<attributes>
|
||||
<attribute name="scale" value="0.82999999999999996"/>
|
||||
</attributes>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkHScale" id="xHairsLengthSlider">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="adjustment">xhairsLength</property>
|
||||
<property name="draw_value">False</property>
|
||||
<property name="value_pos">right</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="xhairs_length_long_label">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes" comments="long delay">Long</property>
|
||||
<property name="justify">center</property>
|
||||
<attributes>
|
||||
<attribute name="scale" value="0.82999999999999996"/>
|
||||
</attributes>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="padding">8</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="padding">8</property>
|
||||
<property name="position">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkHBox" id="hbox2">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="spacing">12</property>
|
||||
<child>
|
||||
<object class="GtkLabel" id="label9">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">Thickness:</property>
|
||||
<attributes>
|
||||
<attribute name="weight" value="bold"/>
|
||||
<attribute name="scale" value="1.25"/>
|
||||
</attributes>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkHBox" id="hbox7">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="spacing">6</property>
|
||||
<child>
|
||||
<object class="GtkLabel" id="xhairs_thickness_thin_label">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="xalign">1</property>
|
||||
<property name="label" translatable="yes" comments="short delay">Thin</property>
|
||||
<property name="justify">center</property>
|
||||
<attributes>
|
||||
<attribute name="scale" value="0.82999999999999996"/>
|
||||
</attributes>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkHScale" id="xHairsThicknessSlider">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="adjustment">xHairsThickness</property>
|
||||
<property name="draw_value">False</property>
|
||||
<property name="value_pos">right</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="xhairs_thickness_thick_label">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes" comments="long delay">Thick</property>
|
||||
<property name="justify">center</property>
|
||||
<attributes>
|
||||
<attribute name="scale" value="0.82999999999999996"/>
|
||||
</attributes>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="padding">8</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="padding">8</property>
|
||||
<property name="position">4</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child type="label">
|
||||
<object class="GtkLabel" id="xhairs-section-heading">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Show</property>
|
||||
<property name="use_markup">True</property>
|
||||
<attributes>
|
||||
<attribute name="weight" value="bold"/>
|
||||
<attribute name="scale" value="1.25"/>
|
||||
</attributes>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child type="tab">
|
||||
<object class="GtkLabel" id="label4">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Crosshairs</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="position">1</property>
|
||||
<property name="tab_fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child internal-child="action_area">
|
||||
<object class="GtkButtonBox" id="dialog-action_area1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="layout_style">end</property>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="closeButton">
|
||||
<property name="label">gtk-close</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="use_action_appearance">False</property>
|
||||
<property name="use_stock">True</property>
|
||||
<property name="xalign">0.49000000953674316</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="pack_type">end</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<action-widgets>
|
||||
<action-widget response="0">closeButton</action-widget>
|
||||
</action-widgets>
|
||||
</object>
|
||||
<object class="GtkListStore" id="mouseTrackingList">
|
||||
<columns>
|
||||
<!-- column-name gchararray1 -->
|
||||
<column type="gchararray"/>
|
||||
</columns>
|
||||
<data>
|
||||
<row>
|
||||
<col id="0" translatable="yes">None</col>
|
||||
</row>
|
||||
<row>
|
||||
<col id="0" translatable="yes">Centered</col>
|
||||
</row>
|
||||
<row>
|
||||
<col id="0" translatable="yes">Push</col>
|
||||
</row>
|
||||
<row>
|
||||
<col id="0" translatable="yes">Proportional</col>
|
||||
</row>
|
||||
</data>
|
||||
</object>
|
||||
<object class="GtkListStore" id="screenPositionList">
|
||||
<columns>
|
||||
<!-- column-name positions -->
|
||||
<column type="gchararray"/>
|
||||
<!-- column-name scale -->
|
||||
<column type="gdouble"/>
|
||||
</columns>
|
||||
<data>
|
||||
<row>
|
||||
<col id="0" translatable="yes">Full Screen</col>
|
||||
<col id="1">1.25</col>
|
||||
</row>
|
||||
<row>
|
||||
<col id="0" translatable="yes">Top Half</col>
|
||||
<col id="1">1.25</col>
|
||||
</row>
|
||||
<row>
|
||||
<col id="0" translatable="yes">Bottom Half</col>
|
||||
<col id="1">1.25</col>
|
||||
</row>
|
||||
<row>
|
||||
<col id="0" translatable="yes">Left Half</col>
|
||||
<col id="1">1.25</col>
|
||||
</row>
|
||||
<row>
|
||||
<col id="0" translatable="yes">Right Half</col>
|
||||
<col id="1">1.25</col>
|
||||
</row>
|
||||
</data>
|
||||
</object>
|
||||
<object class="GtkAdjustment" id="xHairsThickness">
|
||||
<property name="lower">1</property>
|
||||
<property name="upper">100</property>
|
||||
<property name="value">8</property>
|
||||
<property name="step_increment">1</property>
|
||||
<property name="page_increment">10</property>
|
||||
</object>
|
||||
<object class="GtkAdjustment" id="xhairsLength">
|
||||
<property name="lower">20</property>
|
||||
<property name="upper">4096</property>
|
||||
<property name="value">4096</property>
|
||||
<property name="step_increment">1</property>
|
||||
<property name="page_increment">100</property>
|
||||
</object>
|
||||
<object class="GtkAdjustment" id="xhairsOpacity">
|
||||
<property name="lower">0.10000000000000001</property>
|
||||
<property name="upper">1</property>
|
||||
<property name="value">0.66000000000000003</property>
|
||||
<property name="step_increment">0.01</property>
|
||||
<property name="page_increment">0.10000000000000001</property>
|
||||
</object>
|
||||
</interface>
|
|
@ -78,8 +78,10 @@ panels/sound/data/gnome-sound-panel.desktop.in.in
|
|||
panels/sound/data/sounds/gnome-sounds-default.xml.in.in
|
||||
panels/universal-access/cc-ua-panel.c
|
||||
panels/universal-access/gconf-property-editor.c
|
||||
panels/universal-access/zoom-options.c
|
||||
panels/universal-access/gnome-universal-access-panel.desktop.in.in
|
||||
[type: gettext/glade]panels/universal-access/uap.ui
|
||||
[type: gettext/glade]panels/universal-access/zoom-options.ui
|
||||
panels/user-accounts/run-passwd.c
|
||||
panels/user-accounts/um-account-dialog.c
|
||||
panels/user-accounts/um-account-type.c
|
||||
|
|
Loading…
Add table
Reference in a new issue