[gnome-screensaver] Port to GtkBuilder
- From: Matthias Clasen <matthiasc src gnome org>
- To: svn-commits-list gnome org
- Subject: [gnome-screensaver] Port to GtkBuilder
- Date: Thu, 16 Jul 2009 19:17:15 +0000 (UTC)
commit 2cfdd6f3cf31ca4e1458a7d40cf089a280a7cca4
Author: Matthias Clasen <mclasen redhat com>
Date: Thu Jul 16 15:14:25 2009 -0400
Port to GtkBuilder
The patch was done by Christopher Taylor, review by Jaap A. Heitsma.
See bug 463010.
configure.ac | 3 -
data/Makefile.am | 8 +-
data/gnome-screensaver-preferences.ui | 719 +++++++++++++++++++++++++++++++++
data/lock-dialog-default.ui | 523 ++++++++++++++++++++++++
po/POTFILES.in | 4 +-
src/Makefile.am | 2 +-
src/gnome-screensaver-preferences.c | 102 +++---
src/gs-lock-plug.c | 75 ++--
8 files changed, 1340 insertions(+), 96 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 1eb840a..30d0a8f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -43,7 +43,6 @@ GTK_REQUIRED_VERSION=2.11.5
LIBGNOME_MENU_REQUIRED_VERSION=2.11.1
GNOME_DESKTOP_REQUIRED_VERSION=2.23.2
-GLADE_REQUIRED_VERSION=2.5.0
LIBGNOMEKBDUI_REQUIRED_VERSION=0.1
AC_CHECK_HEADERS(unistd.h)
@@ -64,7 +63,6 @@ AC_SUBST(GNOME_SCREENSAVER_CFLAGS)
AC_SUBST(GNOME_SCREENSAVER_LIBS)
PKG_CHECK_MODULES(GNOME_SCREENSAVER_DIALOG,
- libglade-2.0 >= $GLADE_REQUIRED_VERSION
gconf-2.0 >= $GCONF_REQUIRED_VERSION
gthread-2.0
gtk+-2.0 >= $GTK_REQUIRED_VERSION)
@@ -74,7 +72,6 @@ AC_SUBST(GNOME_SCREENSAVER_DIALOG_LIBS)
PKG_CHECK_MODULES(GNOME_SCREENSAVER_CAPPLET,
gio-2.0 >= $GLIB_REQUIRED_VERSION
gconf-2.0 >= $GCONF_REQUIRED_VERSION
- libglade-2.0 >= $GLADE_REQUIRED_VERSION
gtk+-2.0 >= $GTK_REQUIRED_VERSION
libgnome-menu >= $LIBGNOME_MENU_REQUIRED_VERSION)
AC_SUBST(GNOME_SCREENSAVER_CAPPLET_CFLAGS)
diff --git a/data/Makefile.am b/data/Makefile.am
index 87d46d6..9833cae 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -34,10 +34,10 @@ menu_DATA = \
gnome-screensavers.menu \
$(NULL)
-gladedir = $(pkgdatadir)
-glade_DATA = \
- gnome-screensaver-preferences.glade \
- lock-dialog-default.glade \
+gtkbuilderdir = $(pkgdatadir)
+gtkbuilder_DATA = \
+ gnome-screensaver-preferences.ui \
+ lock-dialog-default.ui \
$(NULL)
pkgconfigdir = $(libdir)/pkgconfig
diff --git a/data/gnome-screensaver-preferences.ui b/data/gnome-screensaver-preferences.ui
new file mode 100644
index 0000000..6b88f37
--- /dev/null
+++ b/data/gnome-screensaver-preferences.ui
@@ -0,0 +1,719 @@
+<?xml version="1.0"?>
+<!--*- mode: xml -*-->
+<interface>
+ <object class="GtkAdjustment" id="adjustment1">
+ <property name="upper">120</property>
+ <property name="lower">1</property>
+ <property name="page_increment">10</property>
+ <property name="step_increment">1</property>
+ <property name="page_size">0</property>
+ <property name="value">10</property>
+ </object>
+ <object class="GtkDialog" id="prefs_dialog">
+ <property name="border_width">5</property>
+ <property name="visible">True</property>
+ <property name="title" translatable="yes">Screensaver Preferences</property>
+ <property name="type">GTK_WINDOW_TOPLEVEL</property>
+ <property name="window_position">GTK_WIN_POS_NONE</property>
+ <property name="modal">False</property>
+ <property name="default_width">600</property>
+ <property name="default_height">400</property>
+ <property name="resizable">True</property>
+ <property name="destroy_with_parent">False</property>
+ <property name="decorated">True</property>
+ <property name="skip_taskbar_hint">False</property>
+ <property name="skip_pager_hint">False</property>
+ <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+ <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+ <property name="focus_on_map">True</property>
+ <property name="urgency_hint">False</property>
+ <property name="has_separator">False</property>
+ <child internal-child="vbox">
+ <object class="GtkVBox" id="dialog-vbox1">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">2</property>
+ <child internal-child="action_area">
+ <object class="GtkHButtonBox" id="dialog-action_area1">
+ <property name="visible">True</property>
+ <property name="layout_style">GTK_BUTTONBOX_END</property>
+ <child>
+ <object class="GtkButton" id="helpbutton1">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-help</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkButton" id="gpm_button">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <child>
+ <object class="GtkAlignment" id="alignment2">
+ <property name="visible">True</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xscale">0</property>
+ <property name="yscale">0</property>
+ <property name="top_padding">0</property>
+ <property name="bottom_padding">0</property>
+ <property name="left_padding">0</property>
+ <property name="right_padding">0</property>
+ <child>
+ <object class="GtkHBox" id="hbox11">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">2</property>
+ <child>
+ <object class="GtkImage" id="image6">
+ <property name="visible">True</property>
+ <property name="stock">gtk-jump-to</property>
+ <property name="icon_size">4</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label16">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Power _Management</property>
+ <property name="use_underline">True</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkButton" id="button1">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-close</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">GTK_PACK_END</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkVBox" id="vbox1">
+ <property name="border_width">5</property>
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">12</property>
+ <child>
+ <object class="GtkHBox" id="hbox1">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">12</property>
+ <child>
+ <object class="GtkVBox" id="vbox8">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkLabel" id="savers_label">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Screensaver theme:</property>
+ <property name="use_underline">True</property>
+ <property name="use_markup">True</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHBox" id="hbox6">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+ <child>
+ <object class="GtkTable" id="table1">
+ <property name="visible">True</property>
+ <property name="n_rows">2</property>
+ <property name="n_columns">2</property>
+ <property name="homogeneous">False</property>
+ <property name="row_spacing">6</property>
+ <property name="column_spacing">6</property>
+ <child>
+ <object class="GtkScrolledWindow" id="themes_scrolled_window">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
+ <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="shadow_type">GTK_SHADOW_IN</property>
+ <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+ <child>
+ <object class="GtkTreeView" id="savers_treeview">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="headers_visible">False</property>
+ <property name="rules_hint">False</property>
+ <property name="reorderable">False</property>
+ <property name="enable_search">True</property>
+ <property name="fixed_height_mode">False</property>
+ <property name="hover_selection">False</property>
+ <property name="hover_expand">False</property>
+ <accessibility>
+ <relation target="savers_treeview" type="label-for"/>
+ </accessibility>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">1</property>
+ <property name="x_options">fill</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkDrawingArea" id="preview_area">
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHButtonBox" id="hbuttonbox1">
+ <property name="visible">True</property>
+ <property name="layout_style">GTK_BUTTONBOX_START</property>
+ <property name="spacing">0</property>
+ <child>
+ <object class="GtkButton" id="preview_button">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <child>
+ <object class="GtkAlignment" id="alignment1">
+ <property name="visible">True</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xscale">0</property>
+ <property name="yscale">0</property>
+ <property name="top_padding">0</property>
+ <property name="bottom_padding">0</property>
+ <property name="left_padding">0</property>
+ <property name="right_padding">0</property>
+ <child>
+ <object class="GtkHBox" id="hbox10">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">2</property>
+ <child>
+ <object class="GtkImage" id="image3">
+ <property name="visible">True</property>
+ <property name="stock">gtk-fullscreen</property>
+ <property name="icon_size">4</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="preview_button_label">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Preview</property>
+ <property name="use_underline">True</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">fill</property>
+ <property name="y_options">fill</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHBox" id="hbox2">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+ <child>
+ <object class="GtkVBox" id="vbox5">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+ <child>
+ <object class="GtkHBox" id="hbox3">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+ <child>
+ <object class="GtkVBox" id="vbox6">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+ <child>
+ <object class="GtkVBox" id="vbox3">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkHBox" id="activate_delay_hbox">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">12</property>
+ <child>
+ <object class="GtkLabel" id="activate_delay_label">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Regard the computer as _idle after:</property>
+ <property name="use_underline">True</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHBox" id="hbox4">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkHScale" id="activate_delay_hscale">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="draw_value">True</property>
+ <property name="value_pos">GTK_POS_TOP</property>
+ <property name="digits">0</property>
+ <property name="update_policy">GTK_UPDATE_CONTINUOUS</property>
+ <property name="inverted">False</property>
+ <property name="adjustment">adjustment1</property>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="enable_checkbox">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">_Activate screensaver when computer is idle</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="lock_checkbox">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">_Lock screen when screensaver is active</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="root_warning_label">
+ <property name="label" translatable="yes"><b>Warning: the screen will not be locked for the root user.</b></property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">True</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">True</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="-11">helpbutton1</action-widget>
+ <action-widget response="-2">gpm_button</action-widget>
+ <action-widget response="-7">button1</action-widget>
+ </action-widgets>
+ </object>
+ <object class="GtkWindow" id="fullscreen_preview_window">
+ <property name="can_focus">True</property>
+ <property name="has_focus">True</property>
+ <property name="title" translatable="yes">Screensaver Preview</property>
+ <property name="type">GTK_WINDOW_TOPLEVEL</property>
+ <property name="window_position">GTK_WIN_POS_CENTER</property>
+ <property name="modal">True</property>
+ <property name="resizable">True</property>
+ <property name="destroy_with_parent">True</property>
+ <property name="decorated">False</property>
+ <property name="skip_taskbar_hint">True</property>
+ <property name="skip_pager_hint">True</property>
+ <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
+ <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+ <property name="focus_on_map">True</property>
+ <property name="urgency_hint">False</property>
+ <child>
+ <object class="GtkVBox" id="vbox10">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+ <child>
+ <object class="GtkHBox" id="hbox9">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+ <child>
+ <object class="GtkImage" id="image2">
+ <property name="visible">True</property>
+ <property name="stock">gtk-dialog-warning</property>
+ <property name="icon_size">4</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">10</property>
+ <property name="ypad">0</property>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label15">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>Screensaver preview</b></property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">True</property>
+ <property name="justify">GTK_JUSTIFY_FILL</property>
+ <property name="wrap">True</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="fullscreen_preview_theme_label">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"/>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="fullscreen_preview_previous_button">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <child>
+ <object class="GtkImage" id="image5">
+ <property name="visible">True</property>
+ <property name="stock">gtk-go-back</property>
+ <property name="icon_size">4</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="fullscreen_preview_next_button">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <child>
+ <object class="GtkImage" id="image4">
+ <property name="visible">True</property>
+ <property name="stock">gtk-go-forward</property>
+ <property name="icon_size">4</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="fullscreen_preview_close">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-leave-fullscreen</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkDrawingArea" id="fullscreen_preview_area">
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+</interface>
diff --git a/data/lock-dialog-default.ui b/data/lock-dialog-default.ui
new file mode 100644
index 0000000..6b90c29
--- /dev/null
+++ b/data/lock-dialog-default.ui
@@ -0,0 +1,523 @@
+<?xml version="1.0"?>
+<!--*- mode: xml -*-->
+<interface>
+ <object class="GtkWindow" id="window1">
+ <property name="visible">True</property>
+ <property name="title" translatable="yes">window1</property>
+ <property name="type">GTK_WINDOW_TOPLEVEL</property>
+ <property name="window_position">GTK_WIN_POS_NONE</property>
+ <property name="modal">False</property>
+ <property name="resizable">True</property>
+ <property name="destroy_with_parent">False</property>
+ <property name="decorated">True</property>
+ <property name="skip_taskbar_hint">False</property>
+ <property name="skip_pager_hint">False</property>
+ <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
+ <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+ <property name="focus_on_map">True</property>
+ <property name="urgency_hint">False</property>
+ <child>
+ <object class="GtkFrame" id="lock-dialog">
+ <property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <property name="label_yalign">0.5</property>
+ <property name="shadow_type">GTK_SHADOW_OUT</property>
+ <child>
+ <object class="GtkAlignment" id="alignment1">
+ <property name="border_width">12</property>
+ <property name="visible">True</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xscale">1</property>
+ <property name="yscale">1</property>
+ <property name="top_padding">0</property>
+ <property name="bottom_padding">0</property>
+ <property name="left_padding">0</property>
+ <property name="right_padding">0</property>
+ <child>
+ <object class="GtkVBox" id="lock-box">
+ <property name="border_width">18</property>
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+ <child>
+ <object class="GtkNotebook" id="notebook">
+ <property name="visible">True</property>
+ <property name="show_tabs">False</property>
+ <property name="show_border">False</property>
+ <property name="tab_pos">GTK_POS_TOP</property>
+ <property name="scrollable">False</property>
+ <property name="enable_popup">False</property>
+ <child>
+ <object class="GtkAlignment" id="alignment2">
+ <property name="visible">True</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xscale">1</property>
+ <property name="yscale">1</property>
+ <property name="top_padding">0</property>
+ <property name="bottom_padding">0</property>
+ <property name="left_padding">0</property>
+ <property name="right_padding">0</property>
+ <child>
+ <object class="GtkVBox" id="vbox2">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">12</property>
+ <child>
+ <object class="GtkImage" id="auth-face-image">
+ <property name="visible">True</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">1</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkVBox" id="vbox3">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+ <child>
+ <object class="GtkLabel" id="auth-realname-label">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><span size="x-large">%R</span></property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">True</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="auth-username-label">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><span size="small">%U on %h</span></property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">True</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="status-message-label">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"/>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">True</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkVBox" id="auth-prompt-box">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+ <child>
+ <object class="GtkHBox" id="hbox1">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkLabel" id="auth-prompt-label">
+ <property name="label" translatable="yes"/>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="auth-prompt-entry">
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">False</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"/>
+ <property name="has_frame">True</property>
+ <property name="activates_default">True</property>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHBox" id="auth-prompt-kbd-layout-indicator">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="auth-capslock-label">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"/>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="auth-status-label">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"/>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHButtonBox" id="auth-action-area">
+ <property name="visible">True</property>
+ <property name="layout_style">GTK_BUTTONBOX_END</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkButton" id="auth-note-button">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">_Leave Message</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">False</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkButton" id="auth-switch-button">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">_Switch User</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">False</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkButton" id="auth-logout-button">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">_Log Out</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">False</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkButton" id="auth-cancel-button">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">_Cancel</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">False</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkButton" id="auth-unlock-button">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">_Unlock</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="tab_expand">False</property>
+ <property name="tab_fill">True</property>
+ </packing>
+ </child>
+ <child type="tab">
+ <object class="GtkLabel" id="label1">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"/>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkVBox" id="note-tab">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">10</property>
+ <child>
+ <object class="GtkLabel" id="note-tab-label">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>Leave a message for %R:</b></property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">True</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScrolledWindow" id="scrolledwindow1">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="shadow_type">GTK_SHADOW_IN</property>
+ <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+ <child>
+ <object class="GtkTextView" id="note-text-view">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="overwrite">False</property>
+ <property name="accepts_tab">True</property>
+ <property name="justification">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap_mode">GTK_WRAP_WORD</property>
+ <property name="cursor_visible">True</property>
+ <property name="pixels_above_lines">0</property>
+ <property name="pixels_below_lines">0</property>
+ <property name="pixels_inside_wrap">0</property>
+ <property name="left_margin">0</property>
+ <property name="right_margin">0</property>
+ <property name="indent">0</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHButtonBox" id="hbuttonbox1">
+ <property name="visible">True</property>
+ <property name="layout_style">GTK_BUTTONBOX_END</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkButton" id="note-cancel-button">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-cancel</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkButton" id="note-ok-button">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-save</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="tab_expand">False</property>
+ <property name="tab_fill">True</property>
+ </packing>
+ </child>
+ <child type="tab">
+ <object class="GtkLabel" id="label9">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"/>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ </child>
+ </object>
+</interface>
diff --git a/po/POTFILES.in b/po/POTFILES.in
index cf5c1ad..c965e8a 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -1,10 +1,10 @@
# List of source files containing translatable strings.
# Please keep this file sorted alphabetically.
data/gnome-screensaver-preferences.desktop.in
-data/gnome-screensaver-preferences.glade
+[type: gettext/glade]data/gnome-screensaver-preferences.ui
data/gnome-screensaver.directory.in
data/gnome-screensaver.schemas.in
-data/lock-dialog-default.glade
+[type: gettext/glade]data/lock-dialog-default.ui
savers/cosmos-slideshow.desktop.in.in
savers/footlogo-floaters.desktop.in.in
savers/personal-slideshow.desktop.in.in
diff --git a/src/Makefile.am b/src/Makefile.am
index aac7b65..290aac1 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -23,7 +23,7 @@ INCLUDES = \
-DGNOMELOCALEDIR=\""$(datadir)/locale"\" \
-DSAVERDIR=\""$(saverdir)"\" \
-DTHEMESDIR=\""$(themesdir)"\" \
- -DGLADEDIR=\"$(pkgdatadir)\" \
+ -DGTKBUILDERDIR=\"$(pkgdatadir)\" \
-DPAM_SERVICE_NAME=\""gnome-screensaver"\" \
$(WARN_CFLAGS) \
$(AUTH_CFLAGS) \
diff --git a/src/gnome-screensaver-preferences.c b/src/gnome-screensaver-preferences.c
index 4e600d4..d8376fb 100644
--- a/src/gnome-screensaver-preferences.c
+++ b/src/gnome-screensaver-preferences.c
@@ -33,7 +33,6 @@
#include <glib/gi18n.h>
#include <gdk/gdkx.h>
#include <gtk/gtk.h>
-#include <glade/glade.h>
#include <gconf/gconf-client.h>
#include <gio/gio.h>
@@ -44,7 +43,7 @@
#include "gs-job.h"
#include "gs-prefs.h" /* for GS_MODE enum */
-#define GLADE_XML_FILE "gnome-screensaver-preferences.glade"
+#define GTK_BUILDER_FILE "gnome-screensaver-preferences.ui"
#define GNOME_LOCKDOWN_DIR "/desktop/gnome/lockdown"
#define KEY_LOCK_DISABLE GNOME_LOCKDOWN_DIR "/disable_lock_screen"
@@ -86,7 +85,7 @@ static GtkTargetEntry drop_types [] =
{ "_NETSCAPE_URL", 0, TARGET_NS_URL }
};
-static GladeXML *xml = NULL;
+static GtkBuilder *builder = NULL;
static GSThemeManager *theme_manager = NULL;
static GSJob *job = NULL;
@@ -399,7 +398,7 @@ preview_set_theme (GtkWidget *widget,
preview_clear (widget);
- label = glade_xml_get_widget (xml, "fullscreen_preview_theme_label");
+ label = GTK_WIDGET (gtk_builder_get_object (builder, "fullscreen_preview_theme_label"));
markup = g_markup_printf_escaped ("<i>%s</i>", name);
gtk_label_set_markup (GTK_LABEL (label), markup);
g_free (markup);
@@ -825,7 +824,7 @@ reload_themes (void)
GtkWidget *treeview;
GtkTreeModel *model;
- treeview = glade_xml_get_widget (xml, "savers_treeview");
+ treeview = GTK_WIDGET (gtk_builder_get_object (builder, "savers_treeview"));
model = gtk_tree_view_get_model (GTK_TREE_VIEW (treeview));
gtk_tree_store_clear (GTK_TREE_STORE (model));
populate_model (GTK_TREE_STORE (model));
@@ -960,7 +959,7 @@ drag_data_received_cb (GtkWidget *widget,
if (files != NULL) {
GtkWidget *prefs_dialog;
- prefs_dialog = glade_xml_get_widget (xml, "prefs_dialog");
+ prefs_dialog = GTK_WIDGET (gtk_builder_get_object (builder, "prefs_dialog"));
theme_installer_run (prefs_dialog, files);
}
}
@@ -1052,7 +1051,7 @@ ui_disable_lock (gboolean disable)
{
GtkWidget *widget;
- widget = glade_xml_get_widget (xml, "lock_checkbox");
+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "lock_checkbox"));
gtk_widget_set_sensitive (widget, !disable);
if (disable) {
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), FALSE);
@@ -1066,7 +1065,7 @@ ui_set_lock (gboolean enabled)
gboolean active;
gboolean lock_disabled;
- widget = glade_xml_get_widget (xml, "lock_checkbox");
+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "lock_checkbox"));
active = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget));
if (active != enabled) {
@@ -1084,13 +1083,13 @@ ui_set_enabled (gboolean enabled)
gboolean is_writable;
gboolean lock_disabled;
- widget = glade_xml_get_widget (xml, "enable_checkbox");
+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "enable_checkbox"));
active = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget));
if (active != enabled) {
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), enabled);
}
- widget = glade_xml_get_widget (xml, "lock_checkbox");
+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "lock_checkbox"));
config_get_lock (&is_writable);
if (is_writable) {
gtk_widget_set_sensitive (widget, enabled);
@@ -1104,7 +1103,7 @@ ui_set_delay (int delay)
{
GtkWidget *widget;
- widget = glade_xml_get_widget (xml, "activate_delay_hscale");
+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "activate_delay_hscale"));
gtk_range_set_value (GTK_RANGE (widget), delay);
}
@@ -1159,7 +1158,7 @@ key_changed_cb (GConfClient *client,
if (value->type == GCONF_VALUE_LIST) {
GtkWidget *treeview;
- treeview = glade_xml_get_widget (xml, "savers_treeview");
+ treeview = GTK_WIDGET (gtk_builder_get_object (builder, "savers_treeview"));
setup_treeview_selection (treeview);
} else {
invalid_type_warning (key);
@@ -1187,7 +1186,7 @@ fullscreen_preview_previous_cb (GtkWidget *fullscreen_preview_window,
GtkWidget *treeview;
GtkTreeSelection *selection;
- treeview = glade_xml_get_widget (xml, "savers_treeview");
+ treeview = GTK_WIDGET (gtk_builder_get_object (builder, "savers_treeview"));
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview));
tree_selection_previous (selection);
}
@@ -1199,7 +1198,7 @@ fullscreen_preview_next_cb (GtkWidget *fullscreen_preview_window,
GtkWidget *treeview;
GtkTreeSelection *selection;
- treeview = glade_xml_get_widget (xml, "savers_treeview");
+ treeview = GTK_WIDGET (gtk_builder_get_object (builder, "savers_treeview"));
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview));
tree_selection_next (selection);
}
@@ -1214,16 +1213,16 @@ fullscreen_preview_cancelled_cb (GtkWidget *button,
GtkWidget *preview_area;
GtkWidget *dialog;
- preview_area = glade_xml_get_widget (xml, "preview_area");
+ preview_area = GTK_WIDGET (gtk_builder_get_object (builder, "preview_area"));
gs_job_set_widget (job, preview_area);
- fullscreen_preview_area = glade_xml_get_widget (xml, "fullscreen_preview_area");
+ fullscreen_preview_area = GTK_WIDGET (gtk_builder_get_object (builder, "fullscreen_preview_area"));
preview_clear (fullscreen_preview_area);
- fullscreen_preview_window = glade_xml_get_widget (xml, "fullscreen_preview_window");
+ fullscreen_preview_window = GTK_WIDGET (gtk_builder_get_object (builder, "fullscreen_preview_window"));
gtk_widget_hide (fullscreen_preview_window);
- dialog = glade_xml_get_widget (xml, "prefs_dialog");
+ dialog = GTK_WIDGET (gtk_builder_get_object (builder, "prefs_dialog"));
gtk_widget_show (dialog);
gtk_window_present (GTK_WINDOW (dialog));
}
@@ -1236,10 +1235,10 @@ fullscreen_preview_start_cb (GtkWidget *widget,
GtkWidget *fullscreen_preview_window;
GtkWidget *dialog;
- dialog = glade_xml_get_widget (xml, "prefs_dialog");
+ dialog = GTK_WIDGET (gtk_builder_get_object (builder, "prefs_dialog"));
gtk_widget_hide (dialog);
- fullscreen_preview_window = glade_xml_get_widget (xml, "fullscreen_preview_window");
+ fullscreen_preview_window = GTK_WIDGET (gtk_builder_get_object (builder, "fullscreen_preview_window"));
gtk_window_fullscreen (GTK_WINDOW (fullscreen_preview_window));
gtk_window_set_keep_above (GTK_WINDOW (fullscreen_preview_window), TRUE);
@@ -1247,7 +1246,7 @@ fullscreen_preview_start_cb (GtkWidget *widget,
gtk_widget_show (fullscreen_preview_window);
gtk_widget_grab_focus (fullscreen_preview_window);
- fullscreen_preview_area = glade_xml_get_widget (xml, "fullscreen_preview_area");
+ fullscreen_preview_area = GTK_WIDGET (gtk_builder_get_object (builder, "fullscreen_preview_area"));
preview_clear (fullscreen_preview_area);
gs_job_set_widget (job, fullscreen_preview_area);
}
@@ -1308,8 +1307,8 @@ setup_for_root_user (void)
GtkWidget *lock_checkbox;
GtkWidget *label;
- lock_checkbox = glade_xml_get_widget (xml, "lock_checkbox");
- label = glade_xml_get_widget (xml, "root_warning_label");
+ lock_checkbox = GTK_WIDGET (gtk_builder_get_object (builder, "lock_checkbox"));
+ label = GTK_WIDGET (gtk_builder_get_object (builder, "root_warning_label"));
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (lock_checkbox), FALSE);
gtk_widget_set_sensitive (lock_checkbox, FALSE);
@@ -1403,8 +1402,8 @@ setup_treeview_idle (gpointer data)
GtkWidget *preview;
GtkWidget *treeview;
- preview = glade_xml_get_widget (xml, "preview_area");
- treeview = glade_xml_get_widget (xml, "savers_treeview");
+ preview = GTK_WIDGET (gtk_builder_get_object (builder, "preview_area"));
+ treeview = GTK_WIDGET (gtk_builder_get_object (builder, "savers_treeview"));
setup_treeview (treeview, preview);
setup_treeview_selection (treeview);
@@ -1444,18 +1443,23 @@ init_capplet (void)
GtkWidget *fullscreen_preview_next;
GtkWidget *fullscreen_preview_area;
GtkWidget *fullscreen_preview_close;
- char *glade_file;
+ char *gtk_builder_file;
char *string;
gdouble activate_delay;
gboolean enabled;
gboolean is_writable;
GConfClient *client;
+ GError *error=NULL;
- glade_file = g_build_filename (GLADEDIR, GLADE_XML_FILE, NULL);
- xml = glade_xml_new (glade_file, NULL, PACKAGE);
- g_free (glade_file);
+ gtk_builder_file = g_build_filename (GTKBUILDERDIR, GTK_BUILDER_FILE, NULL);
+ builder = gtk_builder_new();
+ if (!gtk_builder_add_from_file(builder, gtk_builder_file, &error)) {
+ g_warning("Couldn't load builder file: %s", error->message);
+ g_error_free(error);
+ }
+ g_free (gtk_builder_file);
- if (xml == NULL) {
+ if (builder == NULL) {
dialog = gtk_message_dialog_new (NULL,
0, GTK_MESSAGE_ERROR,
@@ -1471,26 +1475,26 @@ init_capplet (void)
exit (1);
}
- preview = glade_xml_get_widget (xml, "preview_area");
- dialog = glade_xml_get_widget (xml, "prefs_dialog");
- treeview = glade_xml_get_widget (xml, "savers_treeview");
- list_scroller = glade_xml_get_widget (xml, "themes_scrolled_window");
- activate_delay_hscale = glade_xml_get_widget (xml, "activate_delay_hscale");
- activate_delay_hbox = glade_xml_get_widget (xml, "activate_delay_hbox");
- enabled_checkbox = glade_xml_get_widget (xml, "enable_checkbox");
- lock_checkbox = glade_xml_get_widget (xml, "lock_checkbox");
- root_warning_label = glade_xml_get_widget (xml, "root_warning_label");
- preview_button = glade_xml_get_widget (xml, "preview_button");
- gpm_button = glade_xml_get_widget (xml, "gpm_button");
- fullscreen_preview_window = glade_xml_get_widget (xml, "fullscreen_preview_window");
- fullscreen_preview_area = glade_xml_get_widget (xml, "fullscreen_preview_area");
- fullscreen_preview_close = glade_xml_get_widget (xml, "fullscreen_preview_close");
- fullscreen_preview_previous = glade_xml_get_widget (xml, "fullscreen_preview_previous_button");
- fullscreen_preview_next = glade_xml_get_widget (xml, "fullscreen_preview_next_button");
-
- label = glade_xml_get_widget (xml, "activate_delay_label");
+ preview = GTK_WIDGET (gtk_builder_get_object (builder, "preview_area"));
+ dialog = GTK_WIDGET (gtk_builder_get_object (builder, "prefs_dialog"));
+ treeview = GTK_WIDGET (gtk_builder_get_object (builder, "savers_treeview"));
+ list_scroller = GTK_WIDGET (gtk_builder_get_object (builder, "themes_scrolled_window"));
+ activate_delay_hscale = GTK_WIDGET (gtk_builder_get_object (builder, "activate_delay_hscale"));
+ activate_delay_hbox = GTK_WIDGET (gtk_builder_get_object (builder, "activate_delay_hbox"));
+ enabled_checkbox = GTK_WIDGET (gtk_builder_get_object (builder, "enable_checkbox"));
+ lock_checkbox = GTK_WIDGET (gtk_builder_get_object (builder, "lock_checkbox"));
+ root_warning_label = GTK_WIDGET (gtk_builder_get_object (builder, "root_warning_label"));
+ preview_button = GTK_WIDGET (gtk_builder_get_object (builder, "preview_button"));
+ gpm_button = GTK_WIDGET (gtk_builder_get_object (builder, "gpm_button"));
+ fullscreen_preview_window = GTK_WIDGET (gtk_builder_get_object (builder, "fullscreen_preview_window"));
+ fullscreen_preview_area = GTK_WIDGET (gtk_builder_get_object (builder, "fullscreen_preview_area"));
+ fullscreen_preview_close = GTK_WIDGET (gtk_builder_get_object (builder, "fullscreen_preview_close"));
+ fullscreen_preview_previous = GTK_WIDGET (gtk_builder_get_object (builder, "fullscreen_preview_previous_button"));
+ fullscreen_preview_next = GTK_WIDGET (gtk_builder_get_object (builder, "fullscreen_preview_next_button"));
+
+ label = GTK_WIDGET (gtk_builder_get_object (builder, "activate_delay_label"));
gtk_label_set_mnemonic_widget (GTK_LABEL (label), activate_delay_hscale);
- label = glade_xml_get_widget (xml, "savers_label");
+ label = GTK_WIDGET (gtk_builder_get_object (builder, "savers_label"));
gtk_label_set_mnemonic_widget (GTK_LABEL (label), treeview);
gtk_widget_set_no_show_all (root_warning_label, TRUE);
diff --git a/src/gs-lock-plug.c b/src/gs-lock-plug.c
index 0b36a7c..bdb68ae 100644
--- a/src/gs-lock-plug.c
+++ b/src/gs-lock-plug.c
@@ -37,7 +37,6 @@
#include <gdk/gdkx.h>
#include <X11/XKBlib.h>
#include <gtk/gtk.h>
-#include <glade/glade-xml.h>
#include <gconf/gconf-client.h>
#ifdef WITH_KBD_LAYOUT_INDICATOR
@@ -1627,21 +1626,22 @@ load_theme (GSLockPlug *plug)
{
char *theme;
char *filename;
- char *glade;
+ char *gtkbuilder;
char *rc;
- GladeXML *xml;
+ GtkBuilder *builder;
GtkWidget *lock_dialog;
+ GError *error=NULL;
theme = get_dialog_theme_name (plug);
if (theme == NULL) {
return FALSE;
}
- filename = g_strdup_printf ("lock-dialog-%s.glade", theme);
- glade = g_build_filename (GLADEDIR, filename, NULL);
+ filename = g_strdup_printf ("lock-dialog-%s.ui", theme);
+ gtkbuilder = g_build_filename (GTKBUILDERDIR, filename, NULL);
g_free (filename);
- if (! g_file_test (glade, G_FILE_TEST_IS_REGULAR)) {
- g_free (glade);
+ if (! g_file_test (gtkbuilder, G_FILE_TEST_IS_REGULAR)) {
+ g_free (gtkbuilder);
g_free (theme);
return FALSE;
}
@@ -1649,50 +1649,51 @@ load_theme (GSLockPlug *plug)
filename = g_strdup_printf ("lock-dialog-%s.gtkrc", theme);
g_free (theme);
- rc = g_build_filename (GLADEDIR, filename, NULL);
+ rc = g_build_filename (GTKBUILDERDIR, filename, NULL);
g_free (filename);
if (g_file_test (rc, G_FILE_TEST_IS_REGULAR)) {
gtk_rc_parse (rc);
}
g_free (rc);
- xml = glade_xml_new (glade, "lock-dialog", NULL);
+ builder = gtk_builder_new();
- if (xml == NULL) {
- g_warning ("Failed to load '%s'\n", glade);
- g_free (glade);
+ if (!gtk_builder_add_from_file (builder,filename ,&error)) {
+ g_warning ("Couldn't load builder file: %s", error->message);
+ g_error_free(error);
+ g_free (gtkbuilder);
return FALSE;
}
- g_free (glade);
+ g_free (gtkbuilder);
- lock_dialog = glade_xml_get_widget (xml, "lock-dialog");
+ lock_dialog = GTK_WIDGET (gtk_builder_get_object(builder, "lock-dialog"));
gtk_container_add (GTK_CONTAINER (plug), lock_dialog);
plug->priv->vbox = NULL;
- plug->priv->notebook = glade_xml_get_widget (xml, "notebook");
-
- plug->priv->auth_face_image = glade_xml_get_widget (xml, "auth-face-image");
- plug->priv->auth_action_area = glade_xml_get_widget (xml, "auth-action-area");
- plug->priv->auth_realname_label = glade_xml_get_widget (xml, "auth-realname-label");
- plug->priv->auth_username_label = glade_xml_get_widget (xml, "auth-username-label");
- plug->priv->auth_prompt_label = glade_xml_get_widget (xml, "auth-prompt-label");
- plug->priv->auth_prompt_entry = glade_xml_get_widget (xml, "auth-prompt-entry");
- plug->priv->auth_prompt_box = glade_xml_get_widget (xml, "auth-prompt-box");
- plug->priv->auth_capslock_label = glade_xml_get_widget (xml, "auth-capslock-label");
- plug->priv->auth_message_label = glade_xml_get_widget (xml, "auth-status-label");
- plug->priv->auth_unlock_button = glade_xml_get_widget (xml, "auth-unlock-button");
- plug->priv->auth_cancel_button = glade_xml_get_widget (xml, "auth-cancel-button");
- plug->priv->auth_logout_button = glade_xml_get_widget (xml, "auth-logout-button");
- plug->priv->auth_switch_button = glade_xml_get_widget (xml, "auth-switch-button");
- plug->priv->auth_note_button = glade_xml_get_widget (xml, "auth-note-button");
- plug->priv->note_tab = glade_xml_get_widget (xml, "note-tab");
- plug->priv->note_tab_label = glade_xml_get_widget (xml, "note-tab-label");
- plug->priv->note_ok_button = glade_xml_get_widget (xml, "note-ok-button");
- plug->priv->note_text_view = glade_xml_get_widget (xml, "note-text-view");
- plug->priv->note_cancel_button = glade_xml_get_widget (xml, "note-cancel-button");
+ plug->priv->notebook = GTK_WIDGET (gtk_builder_get_object(builder, "notebook"));
+
+ plug->priv->auth_face_image = GTK_WIDGET (gtk_builder_get_object(builder, "auth-face-image"));
+ plug->priv->auth_action_area = GTK_WIDGET (gtk_builder_get_object(builder, "auth-action-area"));
+ plug->priv->auth_realname_label = GTK_WIDGET (gtk_builder_get_object(builder, "auth-realname-label"));
+ plug->priv->auth_username_label = GTK_WIDGET (gtk_builder_get_object(builder, "auth-username-label"));
+ plug->priv->auth_prompt_label = GTK_WIDGET (gtk_builder_get_object(builder, "auth-prompt-label"));
+ plug->priv->auth_prompt_entry = GTK_WIDGET (gtk_builder_get_object(builder, "auth-prompt-entry"));
+ plug->priv->auth_prompt_box = GTK_WIDGET (gtk_builder_get_object(builder, "auth-prompt-box"));
+ plug->priv->auth_capslock_label = GTK_WIDGET (gtk_builder_get_object(builder, "auth-capslock-label"));
+ plug->priv->auth_message_label = GTK_WIDGET (gtk_builder_get_object(builder, "auth-status-label"));
+ plug->priv->auth_unlock_button = GTK_WIDGET (gtk_builder_get_object(builder, "auth-unlock-button"));
+ plug->priv->auth_cancel_button = GTK_WIDGET (gtk_builder_get_object(builder, "auth-cancel-button"));
+ plug->priv->auth_logout_button = GTK_WIDGET (gtk_builder_get_object(builder, "auth-logout-button"));
+ plug->priv->auth_switch_button = GTK_WIDGET (gtk_builder_get_object(builder, "auth-switch-button"));
+ plug->priv->auth_note_button = GTK_WIDGET (gtk_builder_get_object(builder, "auth-note-button"));
+ plug->priv->note_tab = GTK_WIDGET (gtk_builder_get_object(builder, "note-tab"));
+ plug->priv->note_tab_label = GTK_WIDGET (gtk_builder_get_object(builder, "note-tab-label"));
+ plug->priv->note_ok_button = GTK_WIDGET (gtk_builder_get_object(builder, "note-ok-button"));
+ plug->priv->note_text_view = GTK_WIDGET (gtk_builder_get_object(builder, "note-text-view"));
+ plug->priv->note_cancel_button = GTK_WIDGET (gtk_builder_get_object(builder, "note-cancel-button"));
/* Placeholder for the keyboard indicator */
- plug->priv->auth_prompt_kbd_layout_indicator = glade_xml_get_widget (xml, "auth-prompt-kbd-layout-indicator");
+ plug->priv->auth_prompt_kbd_layout_indicator = GTK_WIDGET (gtk_builder_get_object(builder, "auth-prompt-kbd-layout-indicator"));
if (plug->priv->auth_logout_button != NULL) {
gtk_widget_set_no_show_all (plug->priv->auth_logout_button, TRUE);
}
@@ -1705,7 +1706,7 @@ load_theme (GSLockPlug *plug)
gtk_widget_show_all (lock_dialog);
- plug->priv->status_message_label = glade_xml_get_widget (xml, "status-message-label");
+ plug->priv->status_message_label = GTK_WIDGET (gtk_builder_get_object(builder, "status-message-label"));
return TRUE;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]