diff options
-rw-r--r-- | mail/ChangeLog | 4 | ||||
-rw-r--r-- | mail/mail-accounts.c | 1 | ||||
-rw-r--r-- | mail/mail-composer-prefs.c | 132 | ||||
-rw-r--r-- | mail/mail-composer-prefs.h | 5 | ||||
-rw-r--r-- | mail/mail-config.glade | 440 |
5 files changed, 416 insertions, 166 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index 1dfdddfe42..06fe4756d7 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,7 +1,11 @@ 2002-05-29 Radek Doulik <rodo@ximian.com> + * mail-composer-prefs.c: moved spell checking options to separate + page, updated UI by Anna's design + * mail-accounts.c (mail_accounts_load): use _ instead of U_ for clist + (mail_accounts_tab_construct): justify marks column to right 2002-05-28 Jeffrey Stedfast <fejj@ximian.com> diff --git a/mail/mail-accounts.c b/mail/mail-accounts.c index 41b8f02504..9d2d78d4c5 100644 --- a/mail/mail-accounts.c +++ b/mail/mail-accounts.c @@ -783,6 +783,7 @@ mail_accounts_tab_construct (MailAccountsTab *prefs) mail_accounts_load (prefs); #else prefs->table = GTK_CLIST (gtk_object_get_data (GTK_OBJECT (widget), "table")); + gtk_clist_set_column_justification (prefs->table, 0, GTK_JUSTIFY_RIGHT); gtk_signal_connect (GTK_OBJECT (prefs->table), "select-row", account_cursor_change, prefs); diff --git a/mail/mail-composer-prefs.c b/mail/mail-composer-prefs.c index e18341e917..c90d7ca229 100644 --- a/mail/mail-composer-prefs.c +++ b/mail/mail-composer-prefs.c @@ -28,6 +28,8 @@ #include "mail-composer-prefs.h" #include "composer/e-msg-composer.h" +#include <gtk/gtksignal.h> + #include <bonobo/bonobo-generic-factory.h> #include <bonobo/bonobo-object-client.h> @@ -37,6 +39,8 @@ #include "mail-config.h" +#include "art/mark.xpm" + static void mail_composer_prefs_class_init (MailComposerPrefsClass *class); static void mail_composer_prefs_init (MailComposerPrefs *dialog); static void mail_composer_prefs_destroy (GtkObject *obj); @@ -86,7 +90,9 @@ mail_composer_prefs_class_init (MailComposerPrefsClass *klass) static void mail_composer_prefs_init (MailComposerPrefs *composer_prefs) { - ; + composer_prefs->enabled_pixbuf = gdk_pixbuf_new_from_xpm_data ((const char **) mark_xpm); + gdk_pixbuf_render_pixmap_and_mask (composer_prefs->enabled_pixbuf, + &composer_prefs->mark_pixmap, &composer_prefs->mark_bitmap, 128); } static void @@ -96,6 +102,9 @@ mail_composer_prefs_finalise (GtkObject *obj) gtk_object_unref (GTK_OBJECT (prefs->gui)); gtk_object_unref (GTK_OBJECT (prefs->pman)); + gdk_pixbuf_unref (prefs->enabled_pixbuf); + gdk_pixmap_unref (prefs->mark_pixmap); + gdk_bitmap_unref (prefs->mark_bitmap); ((GtkObjectClass *)(parent_class))->finalize (obj); } @@ -510,7 +519,7 @@ spell_select_lang (MailComposerPrefs *prefs, const gchar *abrev) for (i = 0; i < prefs->language_seq->_length; i ++) { if (!strcasecmp (abrev, prefs->language_seq->_buffer [i].abrev)) { - gtk_clist_select_row (GTK_CLIST (prefs->language), i, 0); + gtk_clist_set_pixmap (GTK_CLIST (prefs->language), i, 0, prefs->mark_pixmap, prefs->mark_bitmap); } } } @@ -518,10 +527,16 @@ spell_select_lang (MailComposerPrefs *prefs, const gchar *abrev) static void spell_set_ui_language (MailComposerPrefs *prefs) { + gint i; gchar *l, *last, *lang; gtk_clist_freeze (GTK_CLIST (prefs->language)); gtk_clist_unselect_all (GTK_CLIST (prefs->language)); + + for (i = 0; i < prefs->language_seq->_length; i ++) { + gtk_clist_set_pixmap (GTK_CLIST (prefs->language), i, 0, NULL, NULL); + } + last = prefs->language_str; while ((l = strchr (last, ' '))) { if (l != last) { @@ -552,15 +567,20 @@ spell_set_ui (MailComposerPrefs *prefs) static gchar * spell_get_language_str (MailComposerPrefs *prefs) { - GList *selection = GTK_CLIST (prefs->language)->selection; GString *str = g_string_new (NULL); + gint i; gchar *rv; - for (; selection; selection = selection->next) { - g_string_append (str, gtk_clist_get_row_data (GTK_CLIST (prefs->language), - GPOINTER_TO_INT (selection->data))); - if (selection->next) - g_string_append_c (str, ' '); + for (i = 0; i < GTK_CLIST (prefs->language)->rows; i ++) { + GdkPixmap *pmap = NULL; + GdkBitmap *bmap; + + gtk_clist_get_pixmap (GTK_CLIST (prefs->language), i, 0, &pmap, &bmap); + if (pmap) { + if (str->len) + g_string_append_c (str, ' '); + g_string_append (str, gtk_clist_get_row_data (GTK_CLIST (prefs->language), i)); + } } rv = str->str; @@ -679,9 +699,81 @@ spell_color_set (GtkWidget *widget, guint r, guint g, guint b, guint a, gpointer } static void -spell_language_changed (GtkWidget *widget, gint row, gint column, GdkEvent *event, gpointer user_data) +spell_language_select_row (GtkWidget *widget, gint row, gint column, GdkEvent *event, MailComposerPrefs *prefs) { - spell_changed (user_data); + GList *sel = GTK_CLIST (prefs->language)->selection; + + if (sel) { + GdkPixmap *pmap = NULL; + GdkBitmap *bmap; + gint row = GPOINTER_TO_INT (sel->data); + + gtk_clist_get_pixmap (GTK_CLIST (prefs->language), row, 0, &pmap, &bmap); + if (pmap) + gtk_label_set_text (GTK_LABEL (GTK_BIN (prefs->spell_able_button)->child), _("Disable")); + else + gtk_label_set_text (GTK_LABEL (GTK_BIN (prefs->spell_able_button)->child), _("Enable")); + } + + gtk_widget_set_sensitive (prefs->spell_able_button, TRUE); +} + +static void +spell_language_unselect_row (GtkWidget *widget, gint row, gint column, GdkEvent *event, MailComposerPrefs *prefs) +{ + gtk_widget_set_sensitive (prefs->spell_able_button, FALSE); +} + +static void +spell_language_enable (GtkWidget *widget, MailComposerPrefs *prefs) +{ + GList *sel = GTK_CLIST (prefs->language)->selection; + + if (sel) { + GdkPixmap *pmap = NULL; + GdkBitmap *bmap; + gint row = GPOINTER_TO_INT (sel->data); + + gtk_clist_get_pixmap (GTK_CLIST (prefs->language), row, 0, &pmap, &bmap); + if (pmap) { + gtk_clist_set_pixmap (GTK_CLIST (prefs->language), row, 0, NULL, NULL); + gtk_label_set_text (GTK_LABEL (GTK_BIN (prefs->spell_able_button)->child), _("Enable")); + } else { + gtk_label_set_text (GTK_LABEL (GTK_BIN (prefs->spell_able_button)->child), _("Disable")); + gtk_clist_set_pixmap (GTK_CLIST (prefs->language), row, 0, prefs->mark_pixmap, prefs->mark_bitmap); + } + + spell_changed (prefs); + } +} + +static void +spell_language_button_press (GtkWidget *widget, GdkEventButton *event, MailComposerPrefs *prefs) +{ + gint row, col; + + if (gtk_clist_get_selection_info (prefs->language, event->x, event->y, &row, &col)) { + if (col == 0) { + GList *sel = GTK_CLIST (prefs->language)->selection; + GdkPixmap *pmap = NULL; + GdkBitmap *bmap; + + gtk_signal_emit_stop_by_name (GTK_OBJECT (widget), "button_press_event"); + + gtk_clist_get_pixmap (GTK_CLIST (prefs->language), row, 0, &pmap, &bmap); + if (pmap) + gtk_clist_set_pixmap (GTK_CLIST (prefs->language), row, 0, NULL, NULL); + else + gtk_clist_set_pixmap (GTK_CLIST (prefs->language), row, 0, + prefs->mark_pixmap, prefs->mark_bitmap); + + if (sel && GPOINTER_TO_INT (sel->data) == row) + gtk_label_set_text (GTK_LABEL (GTK_BIN (prefs->spell_able_button)->child), + pmap ? _("Enable") : _("Disable")); + + spell_changed (prefs); + } + } } static void @@ -691,9 +783,10 @@ spell_setup (MailComposerPrefs *prefs) gtk_clist_freeze (GTK_CLIST (prefs->language)); for (i = 0; i < prefs->language_seq->_length; i ++) { - gchar *texts [1]; + gchar *texts [2]; - texts [0] = _(prefs->language_seq->_buffer [i].name); + texts [0] = NULL; + texts [1] = _(prefs->language_seq->_buffer [i].name); gtk_clist_append (GTK_CLIST (prefs->language), texts); gtk_clist_set_row_data (GTK_CLIST (prefs->language), i, prefs->language_seq->_buffer [i].abrev); } @@ -703,7 +796,13 @@ spell_setup (MailComposerPrefs *prefs) spell_set_ui (prefs); glade_xml_signal_connect_data (prefs->gui, "spellColorSet", GTK_SIGNAL_FUNC (spell_color_set), prefs); - glade_xml_signal_connect_data (prefs->gui, "spellLanguageChanged", GTK_SIGNAL_FUNC (spell_language_changed), prefs); + glade_xml_signal_connect_data (prefs->gui, "spellLanguageSelectRow", + GTK_SIGNAL_FUNC (spell_language_select_row), prefs); + glade_xml_signal_connect_data (prefs->gui, "spellLanguageUnselectRow", + GTK_SIGNAL_FUNC (spell_language_unselect_row), prefs); + glade_xml_signal_connect_data (prefs->gui, "spellLanguageEnable", GTK_SIGNAL_FUNC (spell_language_enable), prefs); + + gtk_signal_connect (GTK_OBJECT (prefs->language), "button_press_event", spell_language_button_press, prefs); } static gboolean @@ -742,7 +841,7 @@ spell_setup_check_options (MailComposerPrefs *prefs) static void mail_composer_prefs_construct (MailComposerPrefs *prefs) { - GtkWidget *toplevel, *widget, *menu; + GtkWidget *toplevel, *widget, *menu, *info_pixmap; GladeXML *gui; int style; char *names[][2] = {{"live_spell_check", "chkEnableSpellChecking"}, @@ -802,6 +901,11 @@ mail_composer_prefs_construct (MailComposerPrefs *prefs) /* Spell Checking: GNOME Spell part */ prefs->colour = GNOME_COLOR_PICKER (glade_xml_get_widget (gui, "colorpickerSpellCheckColor")); prefs->language = GTK_CLIST (glade_xml_get_widget (gui, "clistSpellCheckLanguage")); + prefs->spell_able_button = glade_xml_get_widget (gui, "buttonSpellCheckEnable"); + info_pixmap = glade_xml_get_widget (gui, "pixmapSpellInfo"); + gtk_clist_set_column_justification (prefs->language, 0, GTK_JUSTIFY_RIGHT); + gtk_clist_set_column_auto_resize (prefs->language, 0, TRUE); + gnome_pixmap_load_file (GNOME_PIXMAP (info_pixmap), EVOLUTION_IMAGES "/info-bulb.png"); if (!spell_setup_check_options (prefs)) { gtk_widget_hide (GTK_WIDGET (prefs->colour)); diff --git a/mail/mail-composer-prefs.h b/mail/mail-composer-prefs.h index 37dc78f29f..a23cfbfbcc 100644 --- a/mail/mail-composer-prefs.h +++ b/mail/mail-composer-prefs.h @@ -83,6 +83,11 @@ struct _MailComposerPrefs { gchar *language_str_orig; GdkColor spell_error_color; GdkColor spell_error_color_orig; + GdkPixmap *mark_pixmap; + GdkBitmap *mark_bitmap; + GdkPixbuf *enabled_pixbuf; + GtkWidget *spell_able_button; + /* Forwards and Replies */ GtkOptionMenu *forward_style; diff --git a/mail/mail-config.glade b/mail/mail-config.glade index 3ca74ed6df..e4dd881ee7 100644 --- a/mail/mail-config.glade +++ b/mail/mail-config.glade @@ -4055,158 +4055,6 @@ Baltic (ISO-8859-4) </widget> </widget> </widget> - - <widget> - <class>GtkHBox</class> - <name>hbox164</name> - <homogeneous>False</homogeneous> - <spacing>3</spacing> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - </child> - - <widget> - <class>GtkFrame</class> - <name>frameSpellChecking</name> - <label>Spell Checking</label> - <label_xalign>0</label_xalign> - <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>True</fill> - </child> - - <widget> - <class>GtkVBox</class> - <name>vbox157</name> - <homogeneous>False</homogeneous> - <spacing>0</spacing> - - <widget> - <class>GtkCheckButton</class> - <name>chkEnableSpellChecking</name> - <can_focus>True</can_focus> - <label>_Enable spell checking</label> - <active>False</active> - <draw_indicator>True</draw_indicator> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>False</fill> - </child> - </widget> - - <widget> - <class>GtkHBox</class> - <name>hboxSpellCheckColor</name> - <border_width>3</border_width> - <homogeneous>False</homogeneous> - <spacing>3</spacing> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>True</fill> - </child> - - <widget> - <class>GnomeColorPicker</class> - <name>colorpickerSpellCheckColor</name> - <can_focus>True</can_focus> - <signal> - <name>color_set</name> - <handler>spellColorSet</handler> - <last_modification_time>Wed, 08 May 2002 17:06:36 GMT</last_modification_time> - </signal> - <dither>True</dither> - <use_alpha>False</use_alpha> - <title>Pick a color</title> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>False</fill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>lblSpellCheckColor</name> - <label>_Color for misspelled words</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>False</fill> - </child> - </widget> - </widget> - </widget> - </widget> - - <widget> - <class>GtkFrame</class> - <name>frame5</name> - <label>Spell Checking Languages</label> - <label_xalign>0</label_xalign> - <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - </child> - - <widget> - <class>GtkScrolledWindow</class> - <name>scrolledwindow47</name> - <border_width>3</border_width> - <hscrollbar_policy>GTK_POLICY_AUTOMATIC</hscrollbar_policy> - <vscrollbar_policy>GTK_POLICY_AUTOMATIC</vscrollbar_policy> - <hupdate_policy>GTK_UPDATE_CONTINUOUS</hupdate_policy> - <vupdate_policy>GTK_UPDATE_CONTINUOUS</vupdate_policy> - - <widget> - <class>GtkCList</class> - <name>clistSpellCheckLanguage</name> - <can_focus>True</can_focus> - <signal> - <name>select_row</name> - <handler>spellLanguageChanged</handler> - <last_modification_time>Wed, 08 May 2002 17:08:46 GMT</last_modification_time> - </signal> - <signal> - <name>unselect_row</name> - <handler>spellLanguageChanged</handler> - <last_modification_time>Wed, 08 May 2002 17:08:54 GMT</last_modification_time> - </signal> - <columns>1</columns> - <column_widths>80</column_widths> - <selection_mode>GTK_SELECTION_MULTIPLE</selection_mode> - <show_titles>False</show_titles> - <shadow_type>GTK_SHADOW_IN</shadow_type> - - <widget> - <class>GtkLabel</class> - <child_name>CList:title</child_name> - <name>label447</name> - <label>label447</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - </widget> - </widget> - </widget> - </widget> - </widget> </widget> <widget> @@ -4452,6 +4300,294 @@ Signature #2 <xpad>0</xpad> <ypad>0</ypad> </widget> + + <widget> + <class>GtkVBox</class> + <name>vbox158</name> + <border_width>3</border_width> + <homogeneous>False</homogeneous> + <spacing>3</spacing> + + <widget> + <class>GtkHBox</class> + <name>hbox167</name> + <homogeneous>False</homogeneous> + <spacing>0</spacing> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>True</fill> + </child> + + <widget> + <class>GnomePixmap</class> + <name>pixmapSpellInfo</name> + <filename>info.png</filename> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>True</fill> + </child> + </widget> + + <widget> + <class>GtkLabel</class> + <name>label453</name> + <label>This page allows you to configure spell checking behavior and language. The list of languages here reflects only the languages for which you have a dictionary installed.</label> + <justify>GTK_JUSTIFY_LEFT</justify> + <wrap>True</wrap> + <xalign>0</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + </widget> + </widget> + + <widget> + <class>GtkHSeparator</class> + <name>hseparator1</name> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>True</fill> + </child> + </widget> + + <widget> + <class>GtkHBox</class> + <name>hbox166</name> + <homogeneous>False</homogeneous> + <spacing>0</spacing> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkScrolledWindow</class> + <name>scrolledwindow48</name> + <hscrollbar_policy>GTK_POLICY_AUTOMATIC</hscrollbar_policy> + <vscrollbar_policy>GTK_POLICY_AUTOMATIC</vscrollbar_policy> + <hupdate_policy>GTK_UPDATE_CONTINUOUS</hupdate_policy> + <vupdate_policy>GTK_UPDATE_CONTINUOUS</vupdate_policy> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkCList</class> + <name>clistSpellCheckLanguage</name> + <can_focus>True</can_focus> + <signal> + <name>select_row</name> + <handler>spellLanguageSelectRow</handler> + <last_modification_time>Wed, 29 May 2002 20:11:34 GMT</last_modification_time> + </signal> + <signal> + <name>unselect_row</name> + <handler>spellLanguageUnselectRow</handler> + <last_modification_time>Wed, 29 May 2002 22:11:35 GMT</last_modification_time> + </signal> + <columns>2</columns> + <column_widths>80,80</column_widths> + <selection_mode>GTK_SELECTION_SINGLE</selection_mode> + <show_titles>True</show_titles> + <shadow_type>GTK_SHADOW_IN</shadow_type> + + <widget> + <class>GtkLabel</class> + <child_name>CList:title</child_name> + <name>label451</name> + <label>Enabled</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + </widget> + + <widget> + <class>GtkLabel</class> + <child_name>CList:title</child_name> + <name>label452</name> + <label>Spell Checking Language</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + </widget> + </widget> + </widget> + + <widget> + <class>GtkVBox</class> + <name>vbox159</name> + <homogeneous>False</homogeneous> + <spacing>5</spacing> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkLabel</class> + <name>label454</name> + <label></label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + </widget> + + <widget> + <class>GtkVButtonBox</class> + <name>vbuttonbox26</name> + <layout_style>GTK_BUTTONBOX_START</layout_style> + <spacing>0</spacing> + <child_min_width>85</child_min_width> + <child_min_height>27</child_min_height> + <child_ipad_x>7</child_ipad_x> + <child_ipad_y>0</child_ipad_y> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkButton</class> + <name>buttonSpellCheckEnable</name> + <sensitive>False</sensitive> + <can_default>True</can_default> + <can_focus>True</can_focus> + <signal> + <name>clicked</name> + <handler>spellLanguageEnable</handler> + <last_modification_time>Wed, 29 May 2002 20:10:43 GMT</last_modification_time> + </signal> + <label>_Enable</label> + <relief>GTK_RELIEF_NORMAL</relief> + </widget> + </widget> + </widget> + </widget> + + <widget> + <class>GtkFrame</class> + <name>frameSpellChecking</name> + <label>Options</label> + <label_xalign>0</label_xalign> + <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + + <widget> + <class>GtkVBox</class> + <name>vbox157</name> + <homogeneous>False</homogeneous> + <spacing>0</spacing> + + <widget> + <class>GtkCheckButton</class> + <name>chkEnableSpellChecking</name> + <can_focus>True</can_focus> + <label>Check spelling while I _type</label> + <active>False</active> + <draw_indicator>True</draw_indicator> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + </widget> + + <widget> + <class>GtkHBox</class> + <name>hboxSpellCheckColor</name> + <border_width>3</border_width> + <homogeneous>False</homogeneous> + <spacing>3</spacing> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkLabel</class> + <name>lblSpellCheckColor</name> + <label>Color for _misspelled words:</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + <default_focus_target>colorpickerSpellCheckColor</default_focus_target> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + </widget> + + <widget> + <class>GnomeColorPicker</class> + <name>colorpickerSpellCheckColor</name> + <can_focus>True</can_focus> + <signal> + <name>color_set</name> + <handler>spellColorSet</handler> + <last_modification_time>Wed, 08 May 2002 17:06:36 GMT</last_modification_time> + </signal> + <dither>True</dither> + <use_alpha>False</use_alpha> + <title>Pick a color</title> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + </widget> + </widget> + </widget> + </widget> + </widget> + + <widget> + <class>GtkLabel</class> + <child_name>Notebook:tab</child_name> + <name>label450</name> + <label>Spell _Checking</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + </widget> </widget> </widget> |