Remove libglade dependency on gnome-about-me
This commit is contained in:
parent
409507b4da
commit
872a2f0da7
10 changed files with 650 additions and 3661 deletions
|
@ -3,7 +3,7 @@ SUBDIRS = icons
|
|||
# This is used in GNOMECC_CAPPLETS_CFLAGS
|
||||
cappletname = about-me
|
||||
|
||||
glade_files = gnome-about-me.glade gnome-about-me-fingerprint.glade
|
||||
ui_files = gnome-about-me-dialog.ui gnome-about-me-password.ui gnome-about-me-fingerprint.ui
|
||||
Desktop_in_files = gnome-about-me.desktop.in
|
||||
|
||||
gnome_about_me_SOURCES = \
|
||||
|
@ -31,8 +31,8 @@ gnome_about_me_LDFLAGS = -export-dynamic
|
|||
desktopdir = $(datadir)/applications
|
||||
desktop_DATA = $(Desktop_in_files:.desktop.in=.desktop)
|
||||
|
||||
gladedir = $(pkgdatadir)/glade
|
||||
glade_DATA = $(glade_files)
|
||||
uidir = $(pkgdatadir)/ui
|
||||
ui_DATA = $(ui_files)
|
||||
|
||||
INCLUDES = \
|
||||
$(GNOMECC_CAPPLETS_CFLAGS) \
|
||||
|
@ -40,7 +40,7 @@ INCLUDES = \
|
|||
$(POLKIT_GNOME_CFLAGS) \
|
||||
-DDATADIR="\"$(datadir)\"" \
|
||||
-DGNOMECC_DATA_DIR="\"$(pkgdatadir)\"" \
|
||||
-DGNOMECC_GLADE_DIR="\"$(gladedir)\"" \
|
||||
-DGNOMECC_UI_DIR="\"$(uidir)\"" \
|
||||
-DGNOMECC_PIXMAP_DIR="\"$(pkgdatadir)/pixmaps\"" \
|
||||
-DGNOMELOCALEDIR="\"$(datadir)/locale\""
|
||||
|
||||
|
@ -56,6 +56,6 @@ marshal.c: marshal.h
|
|||
endif # BUILD_ABOUTME
|
||||
|
||||
CLEANFILES = $(GNOMECC_CAPPLETS_CLEANFILES) $(desktop_DATA) $(MARSHALFILES)
|
||||
EXTRA_DIST = $(glade_files) fprintd-marshal.list
|
||||
EXTRA_DIST = $(ui_files) fprintd-marshal.list
|
||||
|
||||
-include $(top_srcdir)/git.mk
|
||||
|
|
|
@ -19,15 +19,17 @@
|
|||
|
||||
#include <glib/gi18n.h>
|
||||
#include <gtk/gtk.h>
|
||||
#include <glade/glade.h>
|
||||
#include <dbus/dbus-glib-bindings.h>
|
||||
|
||||
#include "fingerprint-strings.h"
|
||||
#include "capplet-util.h"
|
||||
|
||||
/* This must match the number of images on the 2nd page in the glade file */
|
||||
/* This must match the number of images on the 2nd page in the UI file */
|
||||
#define MAX_ENROLL_STAGES 3
|
||||
|
||||
#undef WID
|
||||
#define WID(s) GTK_WIDGET (gtk_builder_get_object (dialog, s))
|
||||
|
||||
static DBusGProxy *manager = NULL;
|
||||
static DBusGConnection *connection = NULL;
|
||||
static gboolean is_disable = FALSE;
|
||||
|
@ -43,8 +45,7 @@ typedef struct {
|
|||
GtkWidget *disable;
|
||||
|
||||
GtkWidget *ass;
|
||||
GladeXML *dialog_page1;
|
||||
GladeXML *dialog_page2;
|
||||
GtkBuilder *dialog;
|
||||
|
||||
DBusGProxy *device;
|
||||
gboolean is_swipe;
|
||||
|
@ -208,7 +209,7 @@ delete_fingerprints (void)
|
|||
}
|
||||
|
||||
static void
|
||||
delete_fingerprints_question (GladeXML *dialog, GtkWidget *enable, GtkWidget *disable)
|
||||
delete_fingerprints_question (GtkBuilder *dialog, GtkWidget *enable, GtkWidget *disable)
|
||||
{
|
||||
GtkWidget *question;
|
||||
GtkWidget *button;
|
||||
|
@ -254,8 +255,7 @@ enroll_data_destroy (EnrollData *data)
|
|||
case STATE_NONE:
|
||||
g_free (data->name);
|
||||
g_object_unref (data->device);
|
||||
g_object_unref (data->dialog_page1);
|
||||
g_object_unref (data->dialog_page2);
|
||||
g_object_unref (data->dialog);
|
||||
gtk_widget_destroy (data->ass);
|
||||
|
||||
g_free (data);
|
||||
|
@ -263,7 +263,7 @@ enroll_data_destroy (EnrollData *data)
|
|||
}
|
||||
|
||||
static const char *
|
||||
selected_finger (GladeXML *dialog)
|
||||
selected_finger (GtkBuilder *dialog)
|
||||
{
|
||||
int index;
|
||||
|
||||
|
@ -304,13 +304,13 @@ selected_finger (GladeXML *dialog)
|
|||
static void
|
||||
finger_radio_button_toggled (GtkToggleButton *button, EnrollData *data)
|
||||
{
|
||||
data->finger = selected_finger (data->dialog_page1);
|
||||
data->finger = selected_finger (data->dialog);
|
||||
}
|
||||
|
||||
static void
|
||||
finger_combobox_changed (GtkComboBox *combobox, EnrollData *data)
|
||||
{
|
||||
data->finger = selected_finger (data->dialog_page1);
|
||||
data->finger = selected_finger (data->dialog);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -328,7 +328,7 @@ assistant_cancelled (GtkAssistant *ass, EnrollData *data)
|
|||
static void
|
||||
enroll_result (GObject *object, const char *result, gboolean done, EnrollData *data)
|
||||
{
|
||||
GladeXML *dialog = data->dialog_page2;
|
||||
GtkBuilder *dialog = data->dialog;
|
||||
char *msg;
|
||||
|
||||
if (g_str_equal (result, "enroll-completed") || g_str_equal (result, "enroll-stage-passed")) {
|
||||
|
@ -376,7 +376,7 @@ assistant_prepare (GtkAssistant *ass, GtkWidget *page, EnrollData *data)
|
|||
if (g_str_equal (name, "enroll")) {
|
||||
DBusGProxy *p;
|
||||
GError *error = NULL;
|
||||
GladeXML *dialog = data->dialog_page2;
|
||||
GtkBuilder *dialog = data->dialog;
|
||||
char *path;
|
||||
guint i;
|
||||
GValue value = { 0, };
|
||||
|
@ -488,7 +488,7 @@ enroll_fingerprints (GtkWindow *parent, GtkWidget *enable, GtkWidget *disable)
|
|||
{
|
||||
DBusGProxy *device, *p;
|
||||
GHashTable *props;
|
||||
GladeXML *dialog;
|
||||
GtkBuilder *dialog;
|
||||
EnrollData *data;
|
||||
GtkWidget *ass;
|
||||
char *msg;
|
||||
|
@ -532,7 +532,11 @@ enroll_fingerprints (GtkWindow *parent, GtkWidget *enable, GtkWidget *disable)
|
|||
}
|
||||
g_object_unref (p);
|
||||
|
||||
ass = gtk_assistant_new ();
|
||||
dialog = gtk_builder_new ();
|
||||
gtk_builder_add_from_file (dialog, GNOMECC_UI_DIR "/gnome-about-me-fingerprint.ui", NULL);
|
||||
data->dialog = dialog;
|
||||
|
||||
ass = WID ("assistant");
|
||||
gtk_window_set_title (GTK_WINDOW (ass), _("Enable Fingerprint Login"));
|
||||
gtk_window_set_transient_for (GTK_WINDOW (ass), parent);
|
||||
gtk_window_set_position (GTK_WINDOW (ass), GTK_WIN_POS_CENTER_ON_PARENT);
|
||||
|
@ -544,13 +548,6 @@ enroll_fingerprints (GtkWindow *parent, GtkWidget *enable, GtkWidget *disable)
|
|||
G_CALLBACK (assistant_prepare), data);
|
||||
|
||||
/* Page 1 */
|
||||
dialog = glade_xml_new (GNOMECC_GLADE_DIR "/gnome-about-me-fingerprint.glade",
|
||||
"page1", NULL);
|
||||
data->dialog_page1 = dialog;
|
||||
|
||||
gtk_assistant_append_page (GTK_ASSISTANT (ass), WID("page1"));
|
||||
gtk_assistant_set_page_title (GTK_ASSISTANT (ass), WID("page1"), _("Select finger"));
|
||||
gtk_assistant_set_page_type (GTK_ASSISTANT (ass), WID("page1"), GTK_ASSISTANT_PAGE_CONTENT);
|
||||
gtk_combo_box_set_active (GTK_COMBO_BOX (WID ("finger_combobox")), 0);
|
||||
|
||||
g_signal_connect (G_OBJECT (WID ("radiobutton1")), "toggled",
|
||||
|
@ -578,15 +575,10 @@ enroll_fingerprints (GtkWindow *parent, GtkWidget *enable, GtkWidget *disable)
|
|||
gtk_assistant_set_page_complete (GTK_ASSISTANT (ass), WID("page1"), TRUE);
|
||||
|
||||
/* Page 2 */
|
||||
dialog = glade_xml_new (GNOMECC_GLADE_DIR "/gnome-about-me-fingerprint.glade",
|
||||
"page2", NULL);
|
||||
data->dialog_page2 = dialog;
|
||||
gtk_assistant_append_page (GTK_ASSISTANT (ass), WID("page2"));
|
||||
if (data->is_swipe != FALSE)
|
||||
gtk_assistant_set_page_title (GTK_ASSISTANT (ass), WID("page2"), _("Swipe finger on reader"));
|
||||
else
|
||||
gtk_assistant_set_page_title (GTK_ASSISTANT (ass), WID("page2"), _("Place finger on reader"));
|
||||
gtk_assistant_set_page_type (GTK_ASSISTANT (ass), WID("page2"), GTK_ASSISTANT_PAGE_CONTENT);
|
||||
|
||||
g_object_set_data (G_OBJECT (WID("page2")), "name", "enroll");
|
||||
|
||||
|
@ -595,12 +587,6 @@ enroll_fingerprints (GtkWindow *parent, GtkWidget *enable, GtkWidget *disable)
|
|||
g_free (msg);
|
||||
|
||||
/* Page 3 */
|
||||
dialog = glade_xml_new (GNOMECC_GLADE_DIR "/gnome-about-me-fingerprint.glade",
|
||||
"page3", NULL);
|
||||
gtk_assistant_append_page (GTK_ASSISTANT (ass), WID("page3"));
|
||||
gtk_assistant_set_page_title (GTK_ASSISTANT (ass), WID("page3"), _("Done!"));
|
||||
gtk_assistant_set_page_type (GTK_ASSISTANT (ass), WID("page3"), GTK_ASSISTANT_PAGE_SUMMARY);
|
||||
|
||||
g_object_set_data (G_OBJECT (WID("page3")), "name", "summary");
|
||||
|
||||
data->ass = ass;
|
||||
|
@ -608,7 +594,7 @@ enroll_fingerprints (GtkWindow *parent, GtkWidget *enable, GtkWidget *disable)
|
|||
}
|
||||
|
||||
void
|
||||
fingerprint_button_clicked (GladeXML *dialog,
|
||||
fingerprint_button_clicked (GtkBuilder *dialog,
|
||||
GtkWidget *enable,
|
||||
GtkWidget *disable)
|
||||
{
|
||||
|
|
|
@ -1,378 +0,0 @@
|
|||
<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
|
||||
<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
|
||||
|
||||
<glade-interface>
|
||||
|
||||
<widget 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>
|
||||
<widget class="GtkVBox" id="page1">
|
||||
<property name="border_width">12</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="homogeneous">False</property>
|
||||
<property name="spacing">12</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkHBox" id="hbox74">
|
||||
<property name="visible">True</property>
|
||||
<property name="homogeneous">False</property>
|
||||
<property name="spacing">6</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkImage" id="image">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gtk-dialog-info</property>
|
||||
<property name="icon_size">6</property>
|
||||
<property name="xalign">0.5</property>
|
||||
<property name="yalign">0.5</property>
|
||||
<property name="xpad">0</property>
|
||||
<property name="ypad">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkLabel" id="intro-label">
|
||||
<property name="visible">True</property>
|
||||
<property name="label">To enable fingerprint login, you need to save one of your fingerprints, using the Acme Foobar 5000.</property>
|
||||
<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>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkVBox" id="vbox70">
|
||||
<property name="visible">True</property>
|
||||
<property name="homogeneous">False</property>
|
||||
<property name="spacing">0</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkRadioButton" id="radiobutton1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="label" translatable="yes">Right index finger</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>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkRadioButton" id="radiobutton2">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="label" translatable="yes">Left index finger</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>
|
||||
<property name="group">radiobutton1</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkHBox" id="hbox77">
|
||||
<property name="visible">True</property>
|
||||
<property name="homogeneous">False</property>
|
||||
<property name="spacing">0</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkRadioButton" id="radiobutton3">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="label" translatable="yes">Other finger: </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>
|
||||
<property name="group">radiobutton1</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkComboBox" id="finger_combobox">
|
||||
<property name="visible">True</property>
|
||||
<property name="sensitive">False</property>
|
||||
<property name="items" translatable="yes">Left thumb
|
||||
Left middle finger
|
||||
Left ring finger
|
||||
Left little finger
|
||||
Right thumb
|
||||
Right middle finger
|
||||
Right ring finger
|
||||
Right little finger</property>
|
||||
<property name="add_tearoffs">False</property>
|
||||
<property name="focus_on_click">True</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
|
||||
<widget class="GtkWindow" id="window2">
|
||||
<property name="visible">True</property>
|
||||
<property name="title" translatable="yes">window2</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>
|
||||
<widget class="GtkVBox" id="page2">
|
||||
<property name="visible">True</property>
|
||||
<property name="homogeneous">False</property>
|
||||
<property name="spacing">0</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkLabel" id="enroll-label">
|
||||
<property name="visible">True</property>
|
||||
<property name="label">In order to save your fingerprints, you need to swipe your thumb on the "Acme foobar" device.</property>
|
||||
<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>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkHBox" id="enroll_hbox">
|
||||
<property name="visible">True</property>
|
||||
<property name="homogeneous">False</property>
|
||||
<property name="spacing">0</property>
|
||||
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkImage" id="image1">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gtk-no</property>
|
||||
<property name="icon_size">6</property>
|
||||
<property name="xalign">0.5</property>
|
||||
<property name="yalign">0.5</property>
|
||||
<property name="xpad">0</property>
|
||||
<property name="ypad">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkImage" id="image2">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gtk-no</property>
|
||||
<property name="icon_size">6</property>
|
||||
<property name="xalign">0.5</property>
|
||||
<property name="yalign">0.5</property>
|
||||
<property name="xpad">0</property>
|
||||
<property name="ypad">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkImage" id="image3">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gtk-no</property>
|
||||
<property name="icon_size">6</property>
|
||||
<property name="xalign">0.5</property>
|
||||
<property name="yalign">0.5</property>
|
||||
<property name="xpad">0</property>
|
||||
<property name="ypad">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkLabel" id="status-label">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes"></property>
|
||||
<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>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
|
||||
<widget class="GtkWindow" id="window3">
|
||||
<property name="visible">True</property>
|
||||
<property name="title" translatable="yes">window3</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>
|
||||
<widget class="GtkLabel" id="page3">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">Your fingerprint was successfully saved. You should now be able to log in using your fingerprint reader.</property>
|
||||
<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>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
|
||||
</glade-interface>
|
|
@ -17,11 +17,11 @@
|
|||
* 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#include <glade/glade.h>
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
void set_fingerprint_label (GtkWidget *enable,
|
||||
GtkWidget *disable);
|
||||
void fingerprint_button_clicked (GladeXML *dialog,
|
||||
void fingerprint_button_clicked (GtkBuilder *dialog,
|
||||
GtkWidget *enable,
|
||||
GtkWidget *disable);
|
||||
|
||||
|
|
256
capplets/about-me/gnome-about-me-fingerprint.ui
Normal file
256
capplets/about-me/gnome-about-me-fingerprint.ui
Normal file
|
@ -0,0 +1,256 @@
|
|||
<?xml version="1.0"?>
|
||||
<interface>
|
||||
<requires lib="gtk+" version="2.16"/>
|
||||
<!-- interface-naming-policy toplevel-contextual -->
|
||||
<object class="GtkListStore" id="model1">
|
||||
<columns>
|
||||
<!-- column-name gchararray -->
|
||||
<column type="gchararray"/>
|
||||
</columns>
|
||||
<data>
|
||||
<row>
|
||||
<col id="0" translatable="yes">Left thumb</col>
|
||||
</row>
|
||||
<row>
|
||||
<col id="0" translatable="yes">Left middle finger</col>
|
||||
</row>
|
||||
<row>
|
||||
<col id="0" translatable="yes">Left ring finger</col>
|
||||
</row>
|
||||
<row>
|
||||
<col id="0" translatable="yes">Left little finger</col>
|
||||
</row>
|
||||
<row>
|
||||
<col id="0" translatable="yes">Right thumb</col>
|
||||
</row>
|
||||
<row>
|
||||
<col id="0" translatable="yes">Right middle finger</col>
|
||||
</row>
|
||||
<row>
|
||||
<col id="0" translatable="yes">Right ring finger</col>
|
||||
</row>
|
||||
<row>
|
||||
<col id="0" translatable="yes">Right little finger</col>
|
||||
</row>
|
||||
</data>
|
||||
</object>
|
||||
<object class="GtkAssistant" id="assistant">
|
||||
<property name="border_width">12</property>
|
||||
<property name="title" translatable="yes">Enable Fingerprint Login</property>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkVBox" id="page1">
|
||||
<property name="visible">True</property>
|
||||
<property name="border_width">12</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">12</property>
|
||||
<child>
|
||||
<object class="GtkHBox" id="hbox74">
|
||||
<property name="visible">True</property>
|
||||
<property name="spacing">6</property>
|
||||
<child>
|
||||
<object class="GtkImage" id="image">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gtk-dialog-info</property>
|
||||
<property name="icon-size">6</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="intro-label">
|
||||
<property name="visible">True</property>
|
||||
<property name="label">To enable fingerprint login, you need to save one of your fingerprints, using the Acme Foobar 5000.</property>
|
||||
<property name="wrap">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkVBox" id="vbox70">
|
||||
<property name="visible">True</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkRadioButton" id="radiobutton1">
|
||||
<property name="label" translatable="yes">Right index finger</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="active">True</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkRadioButton" id="radiobutton2">
|
||||
<property name="label" translatable="yes">Left index finger</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
<property name="group">radiobutton1</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkHBox" id="hbox77">
|
||||
<property name="visible">True</property>
|
||||
<child>
|
||||
<object class="GtkRadioButton" id="radiobutton3">
|
||||
<property name="label" translatable="yes">Other finger: </property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
<property name="group">radiobutton1</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkComboBox" id="finger_combobox">
|
||||
<property name="visible">True</property>
|
||||
<property name="sensitive">False</property>
|
||||
<property name="model">model1</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="renderer1"/>
|
||||
<attributes>
|
||||
<attribute name="text">0</attribute>
|
||||
</attributes>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="title" translatable="yes">Select finger</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkVBox" id="page2">
|
||||
<property name="visible">True</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkLabel" id="enroll-label">
|
||||
<property name="visible">True</property>
|
||||
<property name="label">In order to save your fingerprints, you need to swipe your thumb on the "Acme foobar" device.</property>
|
||||
<property name="wrap">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkHBox" id="enroll_hbox">
|
||||
<property name="visible">True</property>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkImage" id="image1">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gtk-no</property>
|
||||
<property name="icon-size">6</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkImage" id="image2">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gtk-no</property>
|
||||
<property name="icon-size">6</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkImage" id="image3">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gtk-no</property>
|
||||
<property name="icon-size">6</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="position">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="status-label">
|
||||
<property name="visible">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="title">Swipe finger on reader</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="page3">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">Your fingerprint was successfully saved. You should now be able to log in using your fingerprint reader.</property>
|
||||
<property name="wrap">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="page_type">summary</property>
|
||||
<property name="title" translatable="yes">Done!</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</interface>
|
|
@ -31,7 +31,6 @@
|
|||
#include <gdk/gdkkeysyms.h>
|
||||
#include <pwd.h>
|
||||
#include <stdlib.h>
|
||||
#include <glade/glade.h>
|
||||
#include <unistd.h>
|
||||
#include <errno.h>
|
||||
#include <string.h>
|
||||
|
@ -45,6 +44,9 @@
|
|||
#include "capplet-util.h"
|
||||
#include "eel-alert-dialog.h"
|
||||
|
||||
#undef WID
|
||||
#define WID(s) GTK_WIDGET (gtk_builder_get_object (dialog, s))
|
||||
|
||||
/* Passwd states */
|
||||
typedef enum {
|
||||
PASSWD_STATE_NONE, /* Passwd is not asking for anything */
|
||||
|
@ -55,7 +57,7 @@ typedef enum {
|
|||
} PasswdState;
|
||||
|
||||
typedef struct {
|
||||
GladeXML *xml;
|
||||
GtkBuilder *ui;
|
||||
|
||||
/* Commonly used widgets */
|
||||
GtkEntry *current_password;
|
||||
|
@ -428,7 +430,7 @@ io_watch_stdout (GIOChannel *source, GIOCondition condition, PasswordDialog *pdi
|
|||
GError *error = NULL;
|
||||
|
||||
gchar *msg = NULL; /* Status error message */
|
||||
GladeXML *dialog;
|
||||
GtkBuilder *dialog;
|
||||
|
||||
gboolean reinit = FALSE;
|
||||
|
||||
|
@ -437,7 +439,7 @@ io_watch_stdout (GIOChannel *source, GIOCondition condition, PasswordDialog *pdi
|
|||
str = g_string_new ("");
|
||||
}
|
||||
|
||||
dialog = pdialog->xml;
|
||||
dialog = pdialog->ui;
|
||||
|
||||
if (g_io_channel_read_chars (source, buf, BUFSIZE, &bytes_read, &error) != G_IO_STATUS_NORMAL) {
|
||||
g_warning ("IO Channel read error: %s", error->message);
|
||||
|
@ -661,12 +663,12 @@ update_password (PasswordDialog *pdialog)
|
|||
static void
|
||||
passdlg_set_busy (PasswordDialog *pdialog, gboolean busy)
|
||||
{
|
||||
GladeXML *dialog;
|
||||
GtkBuilder *dialog;
|
||||
GtkWidget *toplevel;
|
||||
GdkCursor *cursor = NULL;
|
||||
GdkDisplay *display;
|
||||
|
||||
dialog = pdialog->xml;
|
||||
dialog = pdialog->ui;
|
||||
|
||||
/* Set cursor */
|
||||
toplevel = WID ("change-password");
|
||||
|
@ -738,9 +740,9 @@ passdlg_error_dialog (GtkWindow *parent, const gchar *title,
|
|||
static void
|
||||
passdlg_set_auth_state (PasswordDialog *pdialog, gboolean state)
|
||||
{
|
||||
GladeXML *dialog;
|
||||
GtkBuilder *dialog;
|
||||
|
||||
dialog = pdialog->xml;
|
||||
dialog = pdialog->ui;
|
||||
|
||||
/* Widgets which require a not-authenticated state to be accessible */
|
||||
g_object_set (pdialog->current_password, "sensitive", !state, NULL);
|
||||
|
@ -813,8 +815,7 @@ passdlg_spawn_passwd (PasswordDialog *pdialog)
|
|||
|
||||
/* Spawn backend */
|
||||
if (!spawn_passwd (pdialog, &error)) {
|
||||
GtkWidget *parent = glade_xml_get_widget (pdialog->xml,
|
||||
"change-password");
|
||||
GtkWidget *parent = GTK_WIDGET (gtk_builder_get_object (pdialog->ui, "change-password"));
|
||||
|
||||
/* translators: Unable to launch <program>: <error message> */
|
||||
details = g_strdup_printf (_("Unable to launch %s: %s"),
|
||||
|
@ -865,11 +866,11 @@ passdlg_authenticate (GtkButton *button, PasswordDialog *pdialog)
|
|||
static guint
|
||||
passdlg_validate_passwords (PasswordDialog *pdialog)
|
||||
{
|
||||
GladeXML *dialog;
|
||||
GtkBuilder *dialog;
|
||||
const gchar *new_password, *retyped_password;
|
||||
glong nlen, rlen;
|
||||
|
||||
dialog = pdialog->xml;
|
||||
dialog = pdialog->ui;
|
||||
|
||||
new_password = gtk_entry_get_text (pdialog->new_password);
|
||||
retyped_password = gtk_entry_get_text (pdialog->retyped_password);
|
||||
|
@ -902,11 +903,11 @@ passdlg_validate_passwords (PasswordDialog *pdialog)
|
|||
static guint
|
||||
passdlg_refresh_password_state (PasswordDialog *pdialog)
|
||||
{
|
||||
GladeXML *dialog;
|
||||
GtkBuilder *dialog;
|
||||
guint ret;
|
||||
gboolean valid = FALSE;
|
||||
|
||||
dialog = pdialog->xml;
|
||||
dialog = pdialog->ui;
|
||||
|
||||
ret = passdlg_validate_passwords (pdialog);
|
||||
|
||||
|
@ -1008,13 +1009,14 @@ passdlg_activate (GtkEntry *entry, GtkWidget *w)
|
|||
static void
|
||||
passdlg_init (PasswordDialog *pdialog, GtkWindow *parent)
|
||||
{
|
||||
GladeXML *dialog;
|
||||
GtkBuilder *dialog;
|
||||
GtkWidget *wpassdlg;
|
||||
GtkAccelGroup *group;
|
||||
|
||||
/* Initialize dialog */
|
||||
dialog = glade_xml_new (GNOMECC_GLADE_DIR "/gnome-about-me.glade", "change-password", NULL);
|
||||
pdialog->xml = dialog;
|
||||
dialog = gtk_builder_new ();
|
||||
gtk_builder_add_from_file (dialog, GNOMECC_UI_DIR "/gnome-about-me-password.ui", NULL);
|
||||
pdialog->ui = dialog;
|
||||
|
||||
wpassdlg = WID ("change-password");
|
||||
capplet_set_icon (wpassdlg, "user-info");
|
||||
|
@ -1098,7 +1100,7 @@ void
|
|||
gnome_about_me_password (GtkWindow *parent)
|
||||
{
|
||||
PasswordDialog *pdialog;
|
||||
GladeXML *dialog;
|
||||
GtkBuilder *dialog;
|
||||
GtkWidget *wpassdlg;
|
||||
|
||||
gint result;
|
||||
|
@ -1108,7 +1110,7 @@ gnome_about_me_password (GtkWindow *parent)
|
|||
pdialog = g_new0 (PasswordDialog, 1);
|
||||
passdlg_init (pdialog, parent);
|
||||
|
||||
dialog = pdialog->xml;
|
||||
dialog = pdialog->ui;
|
||||
wpassdlg = WID ("change-password");
|
||||
|
||||
/* Go! */
|
||||
|
|
316
capplets/about-me/gnome-about-me-password.ui
Normal file
316
capplets/about-me/gnome-about-me-password.ui
Normal file
|
@ -0,0 +1,316 @@
|
|||
<?xml version="1.0"?>
|
||||
<interface>
|
||||
<requires lib="gtk+" version="2.16"/>
|
||||
<!-- interface-naming-policy toplevel-contextual -->
|
||||
<object class="GtkDialog" id="change-password">
|
||||
<property name="border_width">6</property>
|
||||
<property name="title" translatable="yes">Change password</property>
|
||||
<property name="resizable">False</property>
|
||||
<property name="type_hint">dialog</property>
|
||||
<property name="has_separator">False</property>
|
||||
<child internal-child="vbox">
|
||||
<object class="GtkVBox" id="dialog-vbox">
|
||||
<property name="visible">True</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">6</property>
|
||||
<child>
|
||||
<object class="GtkHBox" id="container-hbox">
|
||||
<property name="visible">True</property>
|
||||
<property name="border_width">6</property>
|
||||
<property name="spacing">12</property>
|
||||
<child>
|
||||
<object class="GtkImage" id="dialog-image">
|
||||
<property name="visible">True</property>
|
||||
<property name="yalign">0</property>
|
||||
<property name="icon_name">gtk-dialog-authentication</property>
|
||||
<property name="icon-size">6</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkVBox" id="main-vbox">
|
||||
<property name="visible">True</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">6</property>
|
||||
<child>
|
||||
<object class="GtkLabel" id="header-label">
|
||||
<property name="visible">True</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes"><span size="larger" weight="bold">Change your password</span></property>
|
||||
<property name="use_markup">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="description-label">
|
||||
<property name="visible">True</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="yalign">0</property>
|
||||
<property name="label" translatable="yes">To change your password, enter your current password in the field below and click <b>Authenticate</b>.
|
||||
After you have authenticated, enter your new password, retype it for verification and click <b>Change password</b>.</property>
|
||||
<property name="use_markup">True</property>
|
||||
<property name="wrap">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkHBox" id="entry-hbox">
|
||||
<property name="visible">True</property>
|
||||
<property name="spacing">6</property>
|
||||
<child>
|
||||
<object class="GtkVBox" id="entry-labels-vbox">
|
||||
<property name="visible">True</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">6</property>
|
||||
<property name="homogeneous">True</property>
|
||||
<child>
|
||||
<object class="GtkLabel" id="current-password-label">
|
||||
<property name="visible">True</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">Current _password:</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="mnemonic_widget">current-password</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="new-password-label">
|
||||
<property name="visible">True</property>
|
||||
<property name="sensitive">False</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">_New password:</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="mnemonic_widget">new-password</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="retyped-password-label">
|
||||
<property name="visible">True</property>
|
||||
<property name="sensitive">False</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">_Retype new password:</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="mnemonic_widget">retyped-password</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkVBox" id="entry-vbox">
|
||||
<property name="visible">True</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">6</property>
|
||||
<property name="homogeneous">True</property>
|
||||
<child>
|
||||
<object class="GtkHBox" id="auth-hbox">
|
||||
<property name="visible">True</property>
|
||||
<property name="spacing">6</property>
|
||||
<child>
|
||||
<object class="GtkEntry" id="current-password">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="visibility">False</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="authenticate-button">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<child>
|
||||
<object class="GtkAlignment" id="alignment1">
|
||||
<property name="visible">True</property>
|
||||
<property name="xscale">0</property>
|
||||
<property name="yscale">0</property>
|
||||
<child>
|
||||
<object class="GtkHBox" id="hbox73">
|
||||
<property name="visible">True</property>
|
||||
<property name="spacing">2</property>
|
||||
<child>
|
||||
<object class="GtkImage" id="image2">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gtk-apply</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="label1070">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">_Authenticate</property>
|
||||
<property name="use_underline">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkEntry" id="new-password">
|
||||
<property name="visible">True</property>
|
||||
<property name="sensitive">False</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="visibility">False</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkEntry" id="retyped-password">
|
||||
<property name="visible">True</property>
|
||||
<property name="sensitive">False</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="visibility">False</property>
|
||||
<property name="activates_default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="status-label">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">Please type your password again in the <b>Retype new password</b> field.</property>
|
||||
<property name="use_markup">True</property>
|
||||
<property name="justify">center</property>
|
||||
<property name="wrap">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="position">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child internal-child="action_area">
|
||||
<object class="GtkHButtonBox" id="dialog-action-area">
|
||||
<property name="visible">True</property>
|
||||
<property name="layout_style">end</property>
|
||||
<child>
|
||||
<object class="GtkButton" id="cancel-button">
|
||||
<property name="label">gtk-close</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="can_default">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="use_stock">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="change-password-button">
|
||||
<property name="label" translatable="yes">Change pa_ssword</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="sensitive">False</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="can_default">True</property>
|
||||
<property name="has_default">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="use_underline">True</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="pack_type">end</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<action-widgets>
|
||||
<action-widget response="-7">cancel-button</action-widget>
|
||||
<action-widget response="-5">change-password-button</action-widget>
|
||||
</action-widgets>
|
||||
</object>
|
||||
</interface>
|
|
@ -27,7 +27,6 @@
|
|||
#include <pwd.h>
|
||||
#include <gio/gio.h>
|
||||
#include <gconf/gconf-client.h>
|
||||
#include <glade/glade.h>
|
||||
#include <pwd.h>
|
||||
#include <unistd.h>
|
||||
#include <libebook/e-book.h>
|
||||
|
@ -52,13 +51,17 @@
|
|||
|
||||
#define EMAIL_SLOTS 4
|
||||
|
||||
#undef WID
|
||||
#define WID(s) GTK_WIDGET (gtk_builder_get_object (dialog, s))
|
||||
|
||||
typedef struct {
|
||||
EContact *contact;
|
||||
EBook *book;
|
||||
|
||||
GladeXML *dialog;
|
||||
GtkBuilder *dialog;
|
||||
GtkWidget *enable_fingerprint_button;
|
||||
GtkWidget *disable_fingerprint_button;
|
||||
GtkWidget *image_chooser;
|
||||
|
||||
GdkScreen *screen;
|
||||
GtkIconTheme *theme;
|
||||
|
@ -303,7 +306,7 @@ about_me_focus_out (GtkWidget *widget, GdkEventFocus *event, GnomeAboutMe *me)
|
|||
const gchar *wid;
|
||||
gint i;
|
||||
|
||||
wid = glade_get_widget_name (widget);
|
||||
wid = gtk_widget_get_name (widget);
|
||||
|
||||
if (wid == NULL)
|
||||
return FALSE;
|
||||
|
@ -493,7 +496,7 @@ about_me_setup_email (GnomeAboutMe *me)
|
|||
/**
|
||||
* about_me_load_string_field:
|
||||
*
|
||||
* wid: glade widget name
|
||||
* wid: UI widget name
|
||||
* cid: id of the field (EDS id)
|
||||
* aid: position in the array WidToCid
|
||||
**/
|
||||
|
@ -501,8 +504,8 @@ about_me_setup_email (GnomeAboutMe *me)
|
|||
static void
|
||||
about_me_load_string_field (GnomeAboutMe *me, const gchar *wid, guint cid, guint aid)
|
||||
{
|
||||
GtkWidget *widget;
|
||||
GladeXML *dialog;
|
||||
GtkWidget *widget;
|
||||
GtkBuilder *dialog;
|
||||
const gchar *str;
|
||||
|
||||
dialog = me->dialog;
|
||||
|
@ -541,22 +544,19 @@ about_me_load_string_field (GnomeAboutMe *me, const gchar *wid, guint cid, guint
|
|||
static void
|
||||
about_me_load_photo (GnomeAboutMe *me, EContact *contact)
|
||||
{
|
||||
GtkWidget *widget;
|
||||
GladeXML *dialog;
|
||||
GtkBuilder *dialog;
|
||||
EContactPhoto *photo;
|
||||
|
||||
dialog = me->dialog;
|
||||
|
||||
widget = WID ("image-chooser");
|
||||
|
||||
if (me->person)
|
||||
e_image_chooser_set_from_file (E_IMAGE_CHOOSER (widget), me->person);
|
||||
e_image_chooser_set_from_file (E_IMAGE_CHOOSER (me->image_chooser), me->person);
|
||||
|
||||
photo = e_contact_get (contact, E_CONTACT_PHOTO);
|
||||
|
||||
if (photo && photo->type == E_CONTACT_PHOTO_TYPE_INLINED) {
|
||||
me->have_image = TRUE;
|
||||
e_image_chooser_set_image_data (E_IMAGE_CHOOSER (widget),
|
||||
e_image_chooser_set_image_data (E_IMAGE_CHOOSER (me->image_chooser),
|
||||
(char *) photo->data.inlined.data, photo->data.inlined.length);
|
||||
e_contact_photo_free (photo);
|
||||
} else {
|
||||
|
@ -567,8 +567,7 @@ about_me_load_photo (GnomeAboutMe *me, EContact *contact)
|
|||
static void
|
||||
about_me_update_photo (GnomeAboutMe *me)
|
||||
{
|
||||
GtkWidget *widget;
|
||||
GladeXML *dialog;
|
||||
GtkBuilder *dialog;
|
||||
EContactPhoto *photo;
|
||||
gchar *file;
|
||||
GError *error;
|
||||
|
@ -586,8 +585,7 @@ about_me_update_photo (GnomeAboutMe *me)
|
|||
gboolean do_scale = FALSE;
|
||||
float scale;
|
||||
|
||||
widget = WID ("image-chooser");
|
||||
e_image_chooser_get_image_data (E_IMAGE_CHOOSER (widget), (char **) &data, &length);
|
||||
e_image_chooser_get_image_data (E_IMAGE_CHOOSER (me->image_chooser), (char **) &data, &length);
|
||||
|
||||
/* Before updating the image in EDS scale it to a reasonable size
|
||||
so that the user doesn't get an application that does not respond
|
||||
|
@ -689,19 +687,6 @@ about_me_load_info (GnomeAboutMe *me)
|
|||
me->disable_fingerprint_button);
|
||||
}
|
||||
|
||||
GtkWidget *
|
||||
eab_create_image_chooser_widget (gchar *name,
|
||||
gchar *string1, gchar *string2,
|
||||
gint int1, gint int2)
|
||||
{
|
||||
GtkWidget *w = NULL;
|
||||
|
||||
w = e_image_chooser_new ();
|
||||
gtk_widget_show_all (w);
|
||||
|
||||
return w;
|
||||
}
|
||||
|
||||
static void
|
||||
about_me_update_preview (GtkFileChooser *chooser,
|
||||
GnomeAboutMe *me)
|
||||
|
@ -762,15 +747,13 @@ about_me_image_clicked_cb (GtkWidget *button, GnomeAboutMe *me)
|
|||
{
|
||||
GtkFileChooser *chooser_dialog;
|
||||
gint response;
|
||||
GtkWidget *image_chooser;
|
||||
GladeXML *dialog;
|
||||
GtkWidget *image;
|
||||
GtkBuilder *dialog;
|
||||
GtkWidget *image;
|
||||
const gchar *chooser_dir = DATADIR"/pixmaps/faces";
|
||||
const gchar *pics_dir;
|
||||
GtkFileFilter *filter;
|
||||
|
||||
dialog = me->dialog;
|
||||
image_chooser = WID ("image-chooser");
|
||||
|
||||
chooser_dialog = GTK_FILE_CHOOSER (
|
||||
gtk_file_chooser_dialog_new (_("Select Image"), GTK_WINDOW (WID ("about-me-dialog")),
|
||||
|
@ -820,13 +803,13 @@ about_me_image_clicked_cb (GtkWidget *button, GnomeAboutMe *me)
|
|||
me->have_image = TRUE;
|
||||
me->image_changed = TRUE;
|
||||
|
||||
e_image_chooser_set_from_file (E_IMAGE_CHOOSER (image_chooser), filename);
|
||||
e_image_chooser_set_from_file (E_IMAGE_CHOOSER (me->image_chooser), filename);
|
||||
g_free (filename);
|
||||
about_me_update_photo (me);
|
||||
} else if (response == GTK_RESPONSE_NO) {
|
||||
me->have_image = FALSE;
|
||||
me->image_changed = TRUE;
|
||||
e_image_chooser_set_from_file (E_IMAGE_CHOOSER (image_chooser), me->person);
|
||||
e_image_chooser_set_from_file (E_IMAGE_CHOOSER (me->image_chooser), me->person);
|
||||
about_me_update_photo (me);
|
||||
}
|
||||
|
||||
|
@ -847,9 +830,7 @@ static void
|
|||
about_me_icon_theme_changed (GtkWindow *window,
|
||||
GtkIconTheme *theme)
|
||||
{
|
||||
GtkWidget *widget;
|
||||
GtkIconInfo *icon;
|
||||
GladeXML *dialog;
|
||||
|
||||
icon = gtk_icon_theme_lookup_icon (me->theme, "stock_person", 80, 0);
|
||||
if (icon == NULL) {
|
||||
|
@ -860,12 +841,8 @@ about_me_icon_theme_changed (GtkWindow *window,
|
|||
|
||||
gtk_icon_info_free (icon);
|
||||
|
||||
if (me->have_image) {
|
||||
dialog = me->dialog;
|
||||
|
||||
widget = WID ("image-chooser");
|
||||
e_image_chooser_set_from_file (E_IMAGE_CHOOSER (widget), me->person);
|
||||
}
|
||||
if (me->have_image)
|
||||
e_image_chooser_set_from_file (E_IMAGE_CHOOSER (me->image_chooser), me->person);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -887,7 +864,7 @@ about_me_button_clicked_cb (GtkDialog *dialog, gint response_id, GnomeAboutMe *m
|
|||
static void
|
||||
about_me_passwd_clicked_cb (GtkWidget *button, GnomeAboutMe *me)
|
||||
{
|
||||
GladeXML *dialog;
|
||||
GtkBuilder *dialog;
|
||||
|
||||
dialog = me->dialog;
|
||||
gnome_about_me_password (GTK_WINDOW (WID ("about-me-dialog")));
|
||||
|
@ -907,7 +884,7 @@ about_me_setup_dialog (void)
|
|||
GtkWidget *widget;
|
||||
GtkWidget *main_dialog;
|
||||
GtkIconInfo *icon;
|
||||
GladeXML *dialog;
|
||||
GtkBuilder *dialog;
|
||||
GError *error = NULL;
|
||||
GList *chain;
|
||||
|
||||
|
@ -917,8 +894,11 @@ about_me_setup_dialog (void)
|
|||
|
||||
me = g_new0 (GnomeAboutMe, 1);
|
||||
|
||||
dialog = glade_xml_new (GNOMECC_GLADE_DIR "/gnome-about-me.glade",
|
||||
"about-me-dialog", NULL);
|
||||
dialog = gtk_builder_new ();
|
||||
gtk_builder_add_from_file (dialog, GNOMECC_UI_DIR "/gnome-about-me-dialog.ui", NULL);
|
||||
|
||||
me->image_chooser = e_image_chooser_new ();
|
||||
gtk_container_add (GTK_CONTAINER (WID ("button-image")), me->image_chooser);
|
||||
|
||||
if (dialog == NULL) {
|
||||
about_me_destroy (me);
|
||||
|
@ -1053,8 +1033,7 @@ about_me_setup_dialog (void)
|
|||
g_signal_connect (me->disable_fingerprint_button, "clicked",
|
||||
G_CALLBACK (about_me_fingerprint_button_clicked_cb), me);
|
||||
|
||||
widget = WID ("image-chooser");
|
||||
g_signal_connect (widget, "changed",
|
||||
g_signal_connect (me->image_chooser, "changed",
|
||||
G_CALLBACK (about_me_image_changed_cb), me);
|
||||
|
||||
/* Address tab: set up the focus chains */
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -5,11 +5,12 @@ capplets/about-me/eel-alert-dialog.c
|
|||
capplets/about-me/e-image-chooser.c
|
||||
capplets/about-me/fingerprint-strings.h
|
||||
capplets/about-me/gnome-about-me.c
|
||||
capplets/about-me/gnome-about-me-dialog.ui
|
||||
capplets/about-me/gnome-about-me.desktop.in.in
|
||||
capplets/about-me/gnome-about-me-fingerprint.c
|
||||
capplets/about-me/gnome-about-me-fingerprint.glade
|
||||
capplets/about-me/gnome-about-me.glade
|
||||
capplets/about-me/gnome-about-me-fingerprint.ui
|
||||
capplets/about-me/gnome-about-me-password.c
|
||||
capplets/about-me/gnome-about-me-password.ui
|
||||
[type: gettext/glade]capplets/accessibility/at-properties/at-enable-dialog.ui
|
||||
capplets/accessibility/at-properties/at-properties.desktop.in.in
|
||||
capplets/accessibility/at-properties/main.c
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue