gnome-bluetooth r569 - in trunk: po wizard
- From: hadess svn gnome org
- To: svn-commits-list gnome org
- Subject: gnome-bluetooth r569 - in trunk: po wizard
- Date: Mon, 6 Apr 2009 15:07:19 +0000 (UTC)
Author: hadess
Date: Mon Apr 6 15:07:19 2009
New Revision: 569
URL: http://svn.gnome.org/viewvc/gnome-bluetooth?rev=569&view=rev
Log:
Patch from Robert Ancell <robert ancell gmail com> to port the wizard to GtkBuilder (Closes: #573375)
Added:
trunk/wizard/wizard.ui
Removed:
trunk/wizard/passkey-options.ui
Modified:
trunk/po/POTFILES.in
trunk/wizard/Makefile.am
trunk/wizard/main.c
Modified: trunk/po/POTFILES.in
==============================================================================
--- trunk/po/POTFILES.in (original)
+++ trunk/po/POTFILES.in Mon Apr 6 15:07:19 2009
@@ -14,5 +14,5 @@
properties/bluetooth-properties.desktop.in.in
properties/bluetooth-manager.schemas.in
wizard/main.c
-[type: gettext/glade] wizard/passkey-options.ui
+[type: gettext/glade] wizard/wizard.ui
sendto/main.c
Modified: trunk/wizard/Makefile.am
==============================================================================
--- trunk/wizard/Makefile.am (original)
+++ trunk/wizard/Makefile.am Mon Apr 6 15:07:19 2009
@@ -10,7 +10,7 @@
pin_DATA = pin-code-database.xml
pindir = $(pkgdatadir)
-ui_DATA = passkey-options.ui
+ui_DATA = wizard.ui
uidir = $(pkgdatadir)
INCLUDES = -I$(top_srcdir)/common
Modified: trunk/wizard/main.c
==============================================================================
--- trunk/wizard/main.c (original)
+++ trunk/wizard/main.c Mon Apr 6 15:07:19 2009
@@ -67,6 +67,14 @@
static BluetoothChooser *selector = NULL;
+static GtkWidget *passkey_dialog = NULL;
+static GtkWidget *radio_auto = NULL;
+static GtkWidget *radio_0000 = NULL;
+static GtkWidget *radio_1111 = NULL;
+static GtkWidget *radio_1234 = NULL;
+static GtkWidget *radio_custom = NULL;
+static GtkWidget *entry_custom = NULL;
+
static void
set_large_label (GtkLabel *label, const char *text)
{
@@ -252,7 +260,7 @@
}
static void prepare_callback(GtkWidget *assistant,
- GtkWidget *page, gpointer data)
+ GtkWidget *page, gpointer data)
{
gboolean complete = TRUE;
const char *path = AGENT_PATH;
@@ -311,79 +319,6 @@
page, complete);
}
-static GtkWidget *create_vbox(GtkWidget *assistant, GtkAssistantPageType type,
- const gchar *title, const gchar *section)
-{
- GtkWidget *vbox;
- GtkWidget *label;
- GdkPixbuf *pixbuf;
- gchar *str;
-
- vbox = gtk_vbox_new(FALSE, 6);
-
- gtk_container_set_border_width(GTK_CONTAINER(vbox), 24);
- gtk_assistant_append_page(GTK_ASSISTANT(assistant), vbox);
- gtk_assistant_set_page_type(GTK_ASSISTANT(assistant), vbox, type);
- gtk_assistant_set_page_title(GTK_ASSISTANT(assistant), vbox, title);
-
- pixbuf = gtk_icon_theme_load_icon(gtk_icon_theme_get_default(),
- "bluetooth", 32, 0, NULL);
- gtk_assistant_set_page_header_image(GTK_ASSISTANT(assistant),
- vbox, pixbuf);
- g_object_unref(pixbuf);
-
- if (section) {
- label = gtk_label_new(NULL);
- str = g_strdup_printf("<b>%s</b>\n", section);
- gtk_label_set_markup(GTK_LABEL(label), str);
- g_free(str);
- gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
- gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
- }
-
- return vbox;
-}
-
-static void create_intro(GtkWidget *assistant)
-{
- GtkWidget *vbox;
- GtkWidget *label;
- GtkWidget *combo;
- GtkTreeModel *model;
- GtkCellRenderer *renderer;
-
- vbox = create_vbox(assistant, GTK_ASSISTANT_PAGE_INTRO,
- _("Introduction"),
- _("Welcome to the Bluetooth device setup wizard"));
-
- label = gtk_label_new(NULL);
- gtk_label_set_markup(GTK_LABEL(label), _("The device wizard will "
- "walk you through the process of configuring "
- "Bluetooth enabled devices for use with this "
- "computer.\n\n"));
- gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
- gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
- gtk_widget_set_size_request(GTK_WIDGET(label), 380, -1);
- gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, TRUE, 0);
-
- combo = gtk_combo_box_new();
-
- model = bluetooth_client_get_adapter_model(client);
- gtk_combo_box_set_model(GTK_COMBO_BOX(combo), model);
- g_object_unref(model);
-
- gtk_combo_box_set_active(GTK_COMBO_BOX(combo), 0);
- gtk_cell_layout_clear(GTK_CELL_LAYOUT(combo));
-
- renderer = gtk_cell_renderer_text_new();
- gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(combo), renderer, TRUE);
- gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(combo), renderer,
- "text", BLUETOOTH_COLUMN_NAME, NULL);
-
- if (gtk_tree_model_iter_n_children(model, NULL) > 1)
- gtk_box_pack_start(GTK_BOX(vbox), combo, FALSE, FALSE, 0);
-}
-
static gboolean
set_page_search_complete (void)
{
@@ -407,8 +342,7 @@
return complete;
}
-static gboolean entry_custom_event(GtkWidget *entry,
- GdkEventKey *event, GtkWidget *box)
+static gboolean entry_custom_event(GtkWidget *entry, GdkEventKey *event)
{
if (event->length == 0)
return FALSE;
@@ -420,10 +354,10 @@
return TRUE;
}
-static void entry_custom_changed(GtkWidget *entry, GtkWidget *dialog)
+static void entry_custom_changed(GtkWidget *entry)
{
user_pincode = g_strdup (gtk_entry_get_text(GTK_ENTRY(entry)));
- gtk_dialog_set_response_sensitive (GTK_DIALOG (dialog),
+ gtk_dialog_set_response_sensitive (GTK_DIALOG (passkey_dialog),
GTK_RESPONSE_ACCEPT,
gtk_entry_get_text_length (GTK_ENTRY (entry)) >= 1);
}
@@ -434,9 +368,13 @@
active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button));
gtk_widget_set_sensitive(widget, active);
+ /* When selecting another PIN, make sure the "Close" button is sensitive */
+ if (!active)
+ gtk_dialog_set_response_sensitive (GTK_DIALOG (passkey_dialog),
+ GTK_RESPONSE_ACCEPT, TRUE);
}
-static void set_user_pincode(GtkWidget *button, GtkWidget *dialog)
+static void set_user_pincode(GtkWidget *button)
{
GSList *list, *l;
@@ -452,7 +390,7 @@
/* Is it radio_fixed that changed? */
radio = g_object_get_data (G_OBJECT (button), "button");
if (radio != NULL) {
- set_user_pincode (radio, NULL);
+ set_user_pincode (radio);
return;
}
@@ -462,7 +400,7 @@
if (entry != NULL) {
g_free (user_pincode);
user_pincode = g_strdup (gtk_entry_get_text(entry));
- gtk_dialog_set_response_sensitive (GTK_DIALOG (dialog),
+ gtk_dialog_set_response_sensitive (GTK_DIALOG (passkey_dialog),
GTK_RESPONSE_ACCEPT,
gtk_entry_get_text_length (entry) >= 1);
} else if (pin != NULL) {
@@ -494,47 +432,15 @@
static void
passkey_option_button_clicked (GtkButton *button, gpointer data)
{
- GtkWidget *dialog;
- GtkBuilder *xml;
- GtkWidget *radio_auto;
- GtkWidget *radio_0000;
- GtkWidget *radio_1111;
- GtkWidget *radio_1234;
- GtkWidget *radio_custom;
- GtkWidget *entry_custom;
GtkWidget *radio;
char *oldpin;
- xml = gtk_builder_new ();
- if (gtk_builder_add_from_file (xml, "passkey-options.ui", NULL) == 0) {
- if (gtk_builder_add_from_file (xml, PKGDATADIR "/" "passkey-options.ui", NULL) == 0) {
- g_warning ("Could not load passkey-options.ui, broken installation");
- return;
- }
- }
-
oldpin = user_pincode;
user_pincode = NULL;
- dialog = GTK_WIDGET (gtk_builder_get_object (xml, "dialog"));
- radio_auto = GTK_WIDGET (gtk_builder_get_object (xml, "radio_auto"));
- radio_0000 = GTK_WIDGET (gtk_builder_get_object (xml, "radio_0000"));
- radio_1111 = GTK_WIDGET (gtk_builder_get_object (xml, "radio_1111"));
- radio_1234 = GTK_WIDGET (gtk_builder_get_object (xml, "radio_1234"));
- radio_custom = GTK_WIDGET (gtk_builder_get_object (xml, "radio_custom"));
- entry_custom = GTK_WIDGET (gtk_builder_get_object (xml, "entry_custom"));
-
- g_signal_connect (entry_custom, "key-press-event",
- G_CALLBACK (entry_custom_event), NULL);
- g_signal_connect (entry_custom, "changed",
- G_CALLBACK (entry_custom_changed), dialog);
-
- toggle_set_sensitive(radio_custom, entry_custom);
- g_signal_connect(radio_custom, "toggled",
- G_CALLBACK(toggle_set_sensitive), entry_custom);
+ gtk_window_present(GTK_WINDOW(passkey_dialog));
/* When reopening, try to guess where the pincode was set */
- radio = NULL;
if (oldpin == NULL)
radio = radio_auto;
else if (g_str_equal (oldpin, "0000"))
@@ -550,37 +456,58 @@
if (radio == radio_custom)
gtk_entry_set_text (GTK_ENTRY (entry_custom), oldpin);
- g_free (oldpin);
+ if (gtk_dialog_run (GTK_DIALOG (passkey_dialog)) != GTK_RESPONSE_ACCEPT) {
+ g_free (user_pincode);
+ user_pincode = oldpin;
+ } else {
+ g_free (oldpin);
+ }
- g_object_set_data (G_OBJECT (radio_auto), "pin", "");
- g_object_set_data (G_OBJECT (radio_0000), "pin", "0000");
- g_object_set_data (G_OBJECT (radio_1111), "pin", "1111");
- g_object_set_data (G_OBJECT (radio_1234), "pin", "1234");
- g_object_set_data (G_OBJECT (radio_custom), "entry", entry_custom);
+ gtk_widget_hide(passkey_dialog);
+}
- g_signal_connect(radio_auto, "toggled",
- G_CALLBACK(set_user_pincode), dialog);
- g_signal_connect(radio_0000, "toggled",
- G_CALLBACK(set_user_pincode), dialog);
- g_signal_connect(radio_1111, "toggled",
- G_CALLBACK(set_user_pincode), dialog);
- g_signal_connect(radio_1234, "toggled",
- G_CALLBACK(set_user_pincode), dialog);
- g_signal_connect(radio_custom, "toggled",
- G_CALLBACK(set_user_pincode), dialog);
+static GtkWidget *create_wizard(void)
+{
+ GtkAssistant *assistant;
+ GtkBuilder *builder;
+ GError *err = NULL;
+ GtkWidget *combo, *page_intro;
+ GtkTreeModel *model;
+ GtkCellRenderer *renderer;
+ GdkPixbuf *pixbuf;
- g_signal_connect (G_OBJECT (dialog), "response",
- G_CALLBACK (gtk_widget_destroy), NULL);
+ builder = gtk_builder_new ();
+ if (gtk_builder_add_from_file (builder, "wizard.ui", NULL) == 0) {
+ if (gtk_builder_add_from_file (builder, PKGDATADIR "/wizard.ui", &err) == 0) {
+ g_warning ("Could not load UI from %s: %s", PKGDATADIR "/wizard.ui", err->message);
+ g_error_free(err);
+ return NULL;
+ }
+ }
- gtk_widget_show_all (dialog);
-}
+ assistant = GTK_ASSISTANT(gtk_builder_get_object(builder, "assistant"));
-static void create_search(GtkWidget *assistant)
-{
- GtkWidget *vbox;
- GtkWidget *button;
+ /* Intro page */
+ combo = gtk_combo_box_new();
- vbox = create_vbox(assistant, GTK_ASSISTANT_PAGE_CONTENT, _("Device search"), NULL);
+ model = bluetooth_client_get_adapter_model(client);
+ gtk_combo_box_set_model(GTK_COMBO_BOX(combo), model);
+ g_object_unref(model);
+
+ gtk_combo_box_set_active(GTK_COMBO_BOX(combo), 0);
+ gtk_cell_layout_clear(GTK_CELL_LAYOUT(combo));
+
+ renderer = gtk_cell_renderer_text_new();
+ gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(combo), renderer, TRUE);
+ gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(combo), renderer,
+ "text", BLUETOOTH_COLUMN_NAME, NULL);
+
+ page_intro = GTK_WIDGET(gtk_builder_get_object(builder, "page_intro"));
+ if (gtk_tree_model_iter_n_children(model, NULL) > 1)
+ gtk_box_pack_start(GTK_BOX(page_intro), combo, FALSE, FALSE, 0);
+
+ /* Search page */
+ page_search = GTK_WIDGET(gtk_builder_get_object(builder, "page_search"));
/* The selector */
selector = BLUETOOTH_CHOOSER (bluetooth_chooser_new(_("Select the device you want to setup")));
@@ -598,73 +525,64 @@
g_signal_connect(selector, "notify::device-selected-name",
G_CALLBACK(device_selected_name_cb), assistant);
- gtk_container_add(GTK_CONTAINER(vbox), GTK_WIDGET (selector));
-
- page_search = vbox;
-
- button = gtk_button_new_with_mnemonic (_("Passkey _Options..."));
- g_signal_connect (G_OBJECT (button), "clicked",
- G_CALLBACK (passkey_option_button_clicked), assistant);
- gtk_widget_show (button);
-
- gtk_box_pack_start (GTK_BOX(vbox), GTK_WIDGET (button),
- FALSE, FALSE, 6);
-}
-
-static void create_setup(GtkWidget *assistant)
-{
- GtkWidget *vbox;
- GtkWidget *label;
-
- vbox = create_vbox(assistant, GTK_ASSISTANT_PAGE_CONTENT,
- _("Device setup"),
- _("Setting up new device"));
-
- label = gtk_label_new(NULL);
- gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
- gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
- gtk_widget_set_size_request(GTK_WIDGET(label), 380, -1);
- gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, TRUE, 0);
- label_setup = label;
-
- label = gtk_label_new(NULL);
- gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
- gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, TRUE, 0);
- label_passkey_help = label;
+ gtk_container_add(GTK_CONTAINER(page_search), GTK_WIDGET (selector));
- label = gtk_label_new(NULL);
- gtk_misc_set_alignment(GTK_MISC(label), 0.5, 0.5);
- gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, TRUE, 0);
- label_passkey = label;
-
- page_setup = vbox;
-}
-
-static void create_summary(GtkWidget *assistant)
-{
- GtkWidget *vbox;
+ /* Setup page */
+ page_setup = GTK_WIDGET(gtk_builder_get_object(builder, "page_setup"));
+ label_setup = GTK_WIDGET(gtk_builder_get_object(builder, "label_setup"));
+ label_passkey_help = GTK_WIDGET(gtk_builder_get_object(builder, "label_passkey_help"));
+ label_passkey = GTK_WIDGET(gtk_builder_get_object(builder, "label_passkey"));
+
+ /* Summary page */
+ page_summary = GTK_WIDGET(gtk_builder_get_object(builder, "page_summary"));
+
+ /* Set page icons (named icons not supported by Glade) */
+ pixbuf = gtk_icon_theme_load_icon (gtk_icon_theme_get_default (),
+ "bluetooth", 32, 0, NULL);
+ gtk_assistant_set_page_header_image (assistant, page_intro, pixbuf);
+ gtk_assistant_set_page_header_image (assistant, page_search, pixbuf);
+ gtk_assistant_set_page_header_image (assistant, page_setup, pixbuf);
+ gtk_assistant_set_page_header_image (assistant, page_summary, pixbuf);
+ g_object_unref (pixbuf);
+
+ /* Passkey dialog */
+ passkey_dialog = GTK_WIDGET(gtk_builder_get_object(builder, "passkey_dialog"));
+ radio_auto = GTK_WIDGET(gtk_builder_get_object(builder, "radio_auto"));
+ radio_0000 = GTK_WIDGET(gtk_builder_get_object(builder, "radio_0000"));
+ radio_1111 = GTK_WIDGET(gtk_builder_get_object(builder, "radio_1111"));
+ radio_1234 = GTK_WIDGET(gtk_builder_get_object(builder, "radio_1234"));
+ radio_custom = GTK_WIDGET(gtk_builder_get_object(builder, "radio_custom"));
+ entry_custom = GTK_WIDGET(gtk_builder_get_object(builder, "entry_custom"));
- vbox = create_vbox(assistant, GTK_ASSISTANT_PAGE_SUMMARY,
- _("Summary"),
- _("Successfully configured new device"));
+ g_object_set_data (G_OBJECT (radio_auto), "pin", "");
+ g_object_set_data (G_OBJECT (radio_0000), "pin", "0000");
+ g_object_set_data (G_OBJECT (radio_1111), "pin", "1111");
+ g_object_set_data (G_OBJECT (radio_1234), "pin", "1234");
+ g_object_set_data (G_OBJECT (radio_custom), "entry", entry_custom);
- page_summary = vbox;
-}
+ g_signal_connect(radio_auto, "toggled",
+ G_CALLBACK(set_user_pincode), NULL);
+ g_signal_connect(radio_0000, "toggled",
+ G_CALLBACK(set_user_pincode), NULL);
+ g_signal_connect(radio_1111, "toggled",
+ G_CALLBACK(set_user_pincode), NULL);
+ g_signal_connect(radio_1234, "toggled",
+ G_CALLBACK(set_user_pincode), NULL);
+ g_signal_connect(radio_custom, "toggled",
+ G_CALLBACK(set_user_pincode), NULL);
-static GtkWidget *create_wizard(void)
-{
- GtkWidget *assistant;
+ g_signal_connect (entry_custom, "key-press-event",
+ G_CALLBACK (entry_custom_event), NULL);
+ g_signal_connect (entry_custom, "changed",
+ G_CALLBACK (entry_custom_changed), NULL);
+ g_signal_connect(radio_custom, "toggled",
+ G_CALLBACK(toggle_set_sensitive), entry_custom);
- assistant = gtk_assistant_new();
- gtk_window_set_title(GTK_WINDOW(assistant), _("Bluetooth Device Wizard"));
- gtk_window_set_position(GTK_WINDOW(assistant), GTK_WIN_POS_CENTER);
- gtk_window_set_default_size(GTK_WINDOW(assistant), 440, 440);
-
- create_intro(assistant);
- //create_type(assistant);
- create_search(assistant);
- create_setup(assistant);
- create_summary(assistant);
+ /* Connect signals. Autoconnect could be used if the build process
+ * was changed. Set the GtkBuilder documentation for details.
+ * Check all signals are in the .ui files before removing manual
+ * connections. */
+ /*gtk_builder_connect_signals(builder, NULL);*/
g_signal_connect(G_OBJECT(assistant), "close",
G_CALLBACK(close_callback), NULL);
@@ -672,12 +590,14 @@
G_CALLBACK(close_callback), NULL);
g_signal_connect(G_OBJECT(assistant), "prepare",
G_CALLBACK(prepare_callback), NULL);
+ g_signal_connect (gtk_builder_get_object(builder, "passkey_option_button"), "clicked",
+ G_CALLBACK (passkey_option_button_clicked), assistant);
- gtk_widget_show_all(assistant);
+ gtk_widget_show_all(GTK_WIDGET(assistant));
gtk_assistant_update_buttons_state(GTK_ASSISTANT(assistant));
- return assistant;
+ return GTK_WIDGET(assistant);
}
static UniqueResponse
@@ -738,6 +658,8 @@
bluetooth_agent_setup(agent, AGENT_PATH);
window = create_wizard();
+ if (window == NULL)
+ return 1;
window_assistant = window;
g_signal_connect (app, "message-received",
@@ -753,3 +675,4 @@
return 0;
}
+
Added: trunk/wizard/wizard.ui
==============================================================================
--- (empty file)
+++ trunk/wizard/wizard.ui Mon Apr 6 15:07:19 2009
@@ -0,0 +1,338 @@
+<?xml version="1.0"?>
+<interface>
+ <requires lib="gtk+" version="2.14"/>
+ <!-- interface-naming-policy toplevel-contextual -->
+ <object class="GtkAssistant" id="assistant">
+ <property name="title" translatable="yes">Bluetooth Device Wizard</property>
+ <property name="window_position">center</property>
+ <property name="default_width">440</property>
+ <property name="default_height">440</property>
+ <signal name="prepare" handler="prepare_callback"/>
+ <signal name="cancel" handler="close_callback"/>
+ <signal name="close" handler="close_callback"/>
+ <child>
+ <object class="GtkVBox" id="page_intro">
+ <property name="visible">True</property>
+ <property name="border_width">24</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkLabel" id="label1">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0</property>
+ <property name="label" translatable="yes"><b>Welcome to the Bluetooth device setup wizard</b>
+</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="label2">
+ <property name="width_request">380</property>
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0</property>
+ <property name="label" translatable="yes">The device wizard will walk you through the process of configuring Bluetooth enabled devices for use with this computer.
+
+</property>
+ <property name="wrap">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="page_type">intro</property>
+ <property name="title">Introduction</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkVBox" id="page_search">
+ <property name="visible">True</property>
+ <property name="border_width">24</property>
+ <property name="spacing">6</property>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <object class="GtkButton" id="passkey_option_button">
+ <property name="label" translatable="yes">Passkey _options...</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <signal name="clicked" handler="passkey_option_button_clicked"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="pack_type">end</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="title">Device search</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkVBox" id="page_setup">
+ <property name="visible">True</property>
+ <property name="border_width">24</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkLabel" id="label3">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0</property>
+ <property name="label" translatable="yes"><b>Setting up new device</b>
+</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="label_setup">
+ <property name="width_request">380</property>
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0</property>
+ <property name="label">label_setup</property>
+ <property name="wrap">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label_passkey_help">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0</property>
+ <property name="label">label_passkey_help</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label_passkey">
+ <property name="label">label_passkey</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="title">Device setup</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkVBox" id="page_summary">
+ <property name="visible">True</property>
+ <property name="border_width">24</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkLabel" id="label4">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0</property>
+ <property name="label" translatable="yes"><b>Successfully configured new device</b>
+</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>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="page_type">summary</property>
+ <property name="title">Summary</property>
+ </packing>
+ </child>
+ </object>
+ <object class="GtkDialog" id="passkey_dialog">
+ <property name="border_width">5</property>
+ <property name="title" translatable="yes">Passkey Options</property>
+ <property name="destroy_with_parent">True</property>
+ <property name="type_hint">normal</property>
+ <property name="has_separator">False</property>
+ <child internal-child="vbox">
+ <object class="GtkVBox" id="dialog-vbox1">
+ <property name="visible">True</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">2</property>
+ <child>
+ <object class="GtkVBox" id="vbox1">
+ <property name="visible">True</property>
+ <property name="border_width">12</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkRadioButton" id="radio_auto">
+ <property name="label" translatable="yes">_Automatic passkey selection</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="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label1">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes"><b>Fixed Passkey</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="radio_0000">
+ <property name="label" translatable="yes">'0000' (most headsets, mice and GPS devices)</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">radio_auto</property>
+ </object>
+ <packing>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="radio_1111">
+ <property name="label" translatable="yes">'1111'</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">radio_auto</property>
+ </object>
+ <packing>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="radio_1234">
+ <property name="label" translatable="yes">'1234'</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">radio_auto</property>
+ </object>
+ <packing>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHBox" id="hbox1">
+ <property name="visible">True</property>
+ <property name="spacing">12</property>
+ <child>
+ <object class="GtkRadioButton" id="radio_custom">
+ <property name="label" translatable="yes">Custom passkey code:</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">radio_auto</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="entry_custom">
+ <property name="visible">True</property>
+ <property name="sensitive">False</property>
+ <property name="can_focus">True</property>
+ <property name="max_length">20</property>
+ <property name="invisible_char">●</property>
+ <property name="width_chars">20</property>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="position">5</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">6</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child internal-child="action_area">
+ <object class="GtkHButtonBox" id="dialog-action_area1">
+ <property name="visible">True</property>
+ <property name="layout_style">end</property>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <object class="GtkButton" id="button1">
+ <property name="label" translatable="yes">gtk-close</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">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="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="-3">button1</action-widget>
+ </action-widgets>
+ </object>
+
+</interface>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]