Change this into a GnomeApp so we get a statusbar and the dialog is a
2002-08-09 Peter Williams <peterw@ximian.com> * subscribe-dialog.c: Change this into a GnomeApp so we get a statusbar and the dialog is a little more comprehensible. * subscribe-dialog.c: (struct _FolderETree): Add members for tracking activity callback information. (get_short_folderinfo_got): Notify the activity callback. (subscribe_get_short_folderinfo): Here too. (folder_etree_init): Initialize the activity level to 0. (folder_etree_construct): Take new parameters of our activity callback and user_data. (folder_etree_new): Here too. (store_data_get_widget): Take the parameters here and pass them on. (sc_close_pressed): New callback for when close button is pressed. (sc_activity_timeout): New timeout to move the activity bar when folders are being scanned. (sc_activity_cb): If activity_level > 0, start the progressbar moving and set the status. (menu_item_selected): Pass the callback to store_data_get_widget. (subscribe_dialog_construct): Load some more widgets and adapt to some changes in the XML. Also connect the close button signal and initialize the progress bar's settings. * mail-callbacks.c (manage_subscriptions): Don't call gnome_dialog_set_close on it anymore since it's no longer a gnome dialog. svn path=/trunk/; revision=17793
This commit is contained in:
committed by
Peter Williams
parent
6c2e746a7d
commit
1cb3f6986b
@ -1,3 +1,32 @@
|
||||
2002-08-09 Peter Williams <peterw@ximian.com>
|
||||
|
||||
* subscribe-dialog.c: Change this into a GnomeApp so we get a
|
||||
statusbar and the dialog is a little more comprehensible.
|
||||
|
||||
* subscribe-dialog.c: (struct _FolderETree): Add members for
|
||||
tracking activity callback information.
|
||||
(get_short_folderinfo_got): Notify the activity callback.
|
||||
(subscribe_get_short_folderinfo): Here too.
|
||||
(folder_etree_init): Initialize the activity level to 0.
|
||||
(folder_etree_construct): Take new parameters of our activity
|
||||
callback and user_data.
|
||||
(folder_etree_new): Here too.
|
||||
(store_data_get_widget): Take the parameters here and pass them
|
||||
on.
|
||||
(sc_close_pressed): New callback for when close button is pressed.
|
||||
(sc_activity_timeout): New timeout to move the activity bar when
|
||||
folders are being scanned.
|
||||
(sc_activity_cb): If activity_level > 0, start the progressbar
|
||||
moving and set the status.
|
||||
(menu_item_selected): Pass the callback to store_data_get_widget.
|
||||
(subscribe_dialog_construct): Load some more widgets and adapt to
|
||||
some changes in the XML. Also connect the close button signal and
|
||||
initialize the progress bar's settings.
|
||||
|
||||
* mail-callbacks.c (manage_subscriptions): Don't call
|
||||
gnome_dialog_set_close on it anymore since it's no longer a gnome
|
||||
dialog.
|
||||
|
||||
2002-08-14 Dan Winship <danw@ximian.com>
|
||||
|
||||
* mail-config.glade: Add a "don't sign meeting requests" option to
|
||||
|
||||
@ -3276,8 +3276,6 @@ manage_subscriptions (BonoboUIComponent *uih, void *user_data, const char *path)
|
||||
gtk_signal_connect (GTK_OBJECT (SUBSCRIBE_DIALOG (subscribe_dialog)->app), "destroy",
|
||||
subscribe_dialog_destroy, NULL);
|
||||
|
||||
gnome_dialog_set_close (GNOME_DIALOG (SUBSCRIBE_DIALOG (subscribe_dialog)->app), TRUE);
|
||||
|
||||
subscribe_dialog_show (subscribe_dialog);
|
||||
} else {
|
||||
gdk_window_raise (SUBSCRIBE_DIALOG (subscribe_dialog)->app->window);
|
||||
|
||||
@ -26,6 +26,9 @@
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <libgnomeui/gnome-app.h>
|
||||
#include <libgnomeui/gnome-appbar.h>
|
||||
|
||||
#include <gal/util/e-util.h>
|
||||
#include <gal/widgets/e-unicode.h>
|
||||
|
||||
@ -124,6 +127,8 @@
|
||||
typedef struct _FolderETree FolderETree;
|
||||
typedef struct _FolderETreeClass FolderETreeClass;
|
||||
|
||||
typedef void (*FolderETreeActivityCallback) (int level, gpointer user_data);
|
||||
|
||||
struct _FolderETree {
|
||||
ETreeMemory parent;
|
||||
ETreePath root;
|
||||
@ -135,6 +140,10 @@ struct _FolderETree {
|
||||
EvolutionStorage *e_storage;
|
||||
char *service_name;
|
||||
char *search;
|
||||
|
||||
FolderETreeActivityCallback activity_cb;
|
||||
gpointer activity_data;
|
||||
int activity_level;
|
||||
};
|
||||
|
||||
struct _FolderETreeClass {
|
||||
@ -242,6 +251,9 @@ get_short_folderinfo_got (struct _mail_msg *mm)
|
||||
camel_service_get_url (CAMEL_SERVICE (m->ftree->store)),
|
||||
camel_exception_get_description (&mm->ex));
|
||||
|
||||
m->ftree->activity_level--;
|
||||
(m->ftree->activity_cb) (m->ftree->activity_level, m->ftree->activity_data);
|
||||
|
||||
/* 'done' is probably guaranteed to fail, but... */
|
||||
|
||||
if (m->func)
|
||||
@ -288,6 +300,9 @@ subscribe_get_short_folderinfo (FolderETree *ftree,
|
||||
m->func = func;
|
||||
m->user_data = user_data;
|
||||
|
||||
ftree->activity_level++;
|
||||
(ftree->activity_cb) (ftree->activity_level, ftree->activity_data);
|
||||
|
||||
id = m->msg.seq;
|
||||
e_thread_put (mail_thread_queued, (EMsg *)m);
|
||||
return id;
|
||||
@ -935,11 +950,15 @@ folder_etree_init (GtkObject *object)
|
||||
ftree->subscribe_ops = g_hash_table_new (g_direct_hash, g_direct_equal);
|
||||
|
||||
ftree->search = g_strdup ("");
|
||||
|
||||
ftree->activity_level = 0;
|
||||
}
|
||||
|
||||
static FolderETree *
|
||||
folder_etree_construct (FolderETree *ftree,
|
||||
CamelStore *store)
|
||||
CamelStore *store,
|
||||
FolderETreeActivityCallback activity_cb,
|
||||
gpointer activity_data)
|
||||
{
|
||||
e_tree_memory_construct (E_TREE_MEMORY (ftree));
|
||||
|
||||
@ -950,6 +969,9 @@ folder_etree_construct (FolderETree *ftree,
|
||||
|
||||
ftree->e_storage = mail_lookup_storage (store); /* this gives us a ref */
|
||||
|
||||
ftree->activity_cb = activity_cb;
|
||||
ftree->activity_data = activity_data;
|
||||
|
||||
fe_create_root_node (ftree);
|
||||
|
||||
return ftree;
|
||||
@ -961,12 +983,14 @@ E_MAKE_TYPE (folder_etree, "FolderETree", FolderETree, folder_etree_class_init,
|
||||
/* public */
|
||||
|
||||
static FolderETree *
|
||||
folder_etree_new (CamelStore *store)
|
||||
folder_etree_new (CamelStore *store,
|
||||
FolderETreeActivityCallback activity_cb,
|
||||
gpointer activity_data)
|
||||
{
|
||||
FolderETree *ftree;
|
||||
|
||||
ftree = gtk_type_new (folder_etree_get_type());
|
||||
ftree = folder_etree_construct (ftree, store);
|
||||
ftree = folder_etree_construct (ftree, store, activity_cb, activity_data);
|
||||
return ftree;
|
||||
}
|
||||
|
||||
@ -1169,7 +1193,9 @@ sd_toggle_cb (ETree *tree, int row, ETreePath path, int col, GdkEvent *event, gp
|
||||
}
|
||||
|
||||
static GtkWidget *
|
||||
store_data_get_widget (StoreData *sd)
|
||||
store_data_get_widget (StoreData *sd,
|
||||
FolderETreeActivityCallback activity_cb,
|
||||
gpointer activity_data)
|
||||
{
|
||||
GtkWidget *tree;
|
||||
|
||||
@ -1181,7 +1207,7 @@ store_data_get_widget (StoreData *sd)
|
||||
if (sd->widget)
|
||||
return sd->widget;
|
||||
|
||||
sd->ftree = folder_etree_new (sd->store);
|
||||
sd->ftree = folder_etree_new (sd->store, activity_cb, activity_data);
|
||||
|
||||
/* You annoy me, etree! */
|
||||
tree = gtk_widget_new (E_TREE_SCROLLED_TYPE,
|
||||
@ -1292,7 +1318,11 @@ struct _SubscribeDialogPrivate {
|
||||
GtkWidget *search_entry;
|
||||
GtkWidget *hbox;
|
||||
GtkWidget *filter_radio, *all_radio;
|
||||
GtkWidget *sub_button, *unsub_button, *refresh_button;
|
||||
GtkWidget *sub_button, *unsub_button, *refresh_button, *close_button;
|
||||
GtkWidget *progress;
|
||||
GtkWidget *appbar;
|
||||
|
||||
guint activity_timeout_id;
|
||||
};
|
||||
|
||||
static GtkObjectClass *subscribe_dialog_parent_class;
|
||||
@ -1320,6 +1350,14 @@ sc_search_activated (GtkWidget *widget, gpointer user_data)
|
||||
folder_etree_set_search (store->ftree, search);
|
||||
}
|
||||
|
||||
static void
|
||||
sc_close_pressed (GtkWidget *widget, gpointer user_data)
|
||||
{
|
||||
SubscribeDialog *sc = SUBSCRIBE_DIALOG (user_data);
|
||||
|
||||
gtk_widget_destroy (GTK_WIDGET (sc->app));
|
||||
}
|
||||
|
||||
static void
|
||||
sc_subscribe_pressed (GtkWidget *widget, gpointer user_data)
|
||||
{
|
||||
@ -1416,6 +1454,43 @@ sc_selection_changed (GtkObject *obj, gpointer user_data)
|
||||
gtk_widget_set_sensitive (sc->priv->unsub_button, sensitive);
|
||||
}
|
||||
|
||||
static gint
|
||||
sc_activity_timeout (SubscribeDialog *sc)
|
||||
{
|
||||
GtkAdjustment *adj;
|
||||
gfloat next;
|
||||
|
||||
adj = GTK_PROGRESS (sc->priv->progress)->adjustment;
|
||||
next = adj->value + 1;
|
||||
if (next > adj->upper)
|
||||
next = adj->lower;
|
||||
|
||||
gtk_progress_set_value (GTK_PROGRESS (sc->priv->progress), next);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static void
|
||||
sc_activity_cb (int level, SubscribeDialog *sc)
|
||||
{
|
||||
g_assert (pthread_self() == mail_gui_thread);
|
||||
|
||||
if (level) {
|
||||
if (sc->priv->activity_timeout_id)
|
||||
return;
|
||||
|
||||
sc->priv->activity_timeout_id = gtk_timeout_add (50, (GtkFunction)
|
||||
sc_activity_timeout, sc);
|
||||
gnome_appbar_set_status (GNOME_APPBAR (sc->priv->appbar), _("Scanning folders..."));
|
||||
} else {
|
||||
if (sc->priv->activity_timeout_id) {
|
||||
gtk_timeout_remove (sc->priv->activity_timeout_id);
|
||||
sc->priv->activity_timeout_id = 0;
|
||||
}
|
||||
|
||||
gnome_appbar_set_status (GNOME_APPBAR (sc->priv->appbar), "");
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
menu_item_selected (GtkMenuItem *item, gpointer user_data)
|
||||
{
|
||||
@ -1429,7 +1504,7 @@ menu_item_selected (GtkMenuItem *item, gpointer user_data)
|
||||
ESelectionModel *esm;
|
||||
ETree *tree;
|
||||
|
||||
widget = store_data_get_widget (sd);
|
||||
widget = store_data_get_widget (sd, (FolderETreeActivityCallback) sc_activity_cb, sc);
|
||||
gtk_box_pack_start (GTK_BOX (sc->priv->hbox), widget, TRUE, TRUE, 0);
|
||||
|
||||
tree = e_tree_scrolled_get_tree (E_TREE_SCROLLED (widget));
|
||||
@ -1530,7 +1605,10 @@ subscribe_dialog_destroy (GtkObject *object)
|
||||
GList *iter;
|
||||
|
||||
sc = SUBSCRIBE_DIALOG (object);
|
||||
|
||||
|
||||
if (sc->priv->activity_timeout_id)
|
||||
gtk_timeout_remove (sc->priv->activity_timeout_id);
|
||||
|
||||
for (iter = sc->priv->store_list; iter; iter = iter->next) {
|
||||
StoreData *data = iter->data;
|
||||
|
||||
@ -1589,17 +1667,21 @@ subscribe_dialog_construct (GtkObject *object)
|
||||
SubscribeDialog *sc = SUBSCRIBE_DIALOG (object);
|
||||
|
||||
/* Load the XML */
|
||||
sc->priv->xml = glade_xml_new (EVOLUTION_GLADEDIR "/subscribe-dialog.glade", NULL);
|
||||
/* "app2" */
|
||||
sc->priv->xml = glade_xml_new (EVOLUTION_GLADEDIR "/subscribe-dialog.glade", "app");
|
||||
|
||||
sc->app = glade_xml_get_widget (sc->priv->xml, "Manage Subscriptions");
|
||||
sc->app = glade_xml_get_widget (sc->priv->xml, "app");
|
||||
sc->priv->hbox = glade_xml_get_widget (sc->priv->xml, "tree_box");
|
||||
sc->priv->search_entry = glade_xml_get_widget (sc->priv->xml, "search_entry");
|
||||
sc->priv->filter_radio = glade_xml_get_widget (sc->priv->xml, "filter_radio");
|
||||
sc->priv->all_radio = glade_xml_get_widget (sc->priv->xml, "all_radio");
|
||||
sc->priv->close_button = glade_xml_get_widget (sc->priv->xml, "close_button");
|
||||
sc->priv->sub_button = glade_xml_get_widget (sc->priv->xml, "subscribe_button");
|
||||
sc->priv->unsub_button = glade_xml_get_widget (sc->priv->xml, "unsubscribe_button");
|
||||
sc->priv->refresh_button = glade_xml_get_widget (sc->priv->xml, "refresh_button");
|
||||
|
||||
sc->priv->appbar = GNOME_APP (sc->app)->statusbar;
|
||||
sc->priv->progress = GTK_WIDGET (gnome_appbar_get_progress (GNOME_APPBAR (sc->priv->appbar)));
|
||||
|
||||
/* create default view */
|
||||
sc->priv->default_widget = sc_create_default_widget();
|
||||
sc->priv->current_widget = sc->priv->default_widget;
|
||||
@ -1615,12 +1697,18 @@ subscribe_dialog_construct (GtkObject *object)
|
||||
|
||||
/* hook up some signals */
|
||||
gtk_signal_connect (GTK_OBJECT (sc->priv->search_entry), "activate", sc_search_activated, sc);
|
||||
gtk_signal_connect (GTK_OBJECT (sc->priv->close_button), "clicked", sc_close_pressed, sc);
|
||||
gtk_signal_connect (GTK_OBJECT (sc->priv->sub_button), "clicked", sc_subscribe_pressed, sc);
|
||||
gtk_signal_connect (GTK_OBJECT (sc->priv->unsub_button), "clicked", sc_unsubscribe_pressed, sc);
|
||||
gtk_signal_connect (GTK_OBJECT (sc->priv->refresh_button), "clicked", sc_refresh_pressed, sc);
|
||||
gtk_signal_connect (GTK_OBJECT (sc->priv->all_radio), "toggled", sc_all_toggled, sc);
|
||||
gtk_signal_connect (GTK_OBJECT (sc->priv->filter_radio), "toggled", sc_filter_toggled, sc);
|
||||
|
||||
|
||||
/* progress */
|
||||
gtk_progress_set_activity_mode (GTK_PROGRESS (sc->priv->progress), 1);
|
||||
gtk_progress_bar_set_activity_step (GTK_PROGRESS_BAR (sc->priv->progress), 5);
|
||||
gtk_progress_bar_set_activity_blocks (GTK_PROGRESS_BAR (sc->priv->progress), 10);
|
||||
|
||||
/* Get the list of stores */
|
||||
populate_store_list (sc);
|
||||
}
|
||||
|
||||
@ -14,73 +14,89 @@
|
||||
</project>
|
||||
|
||||
<widget>
|
||||
<class>GnomeDialog</class>
|
||||
<name>Manage Subscriptions</name>
|
||||
<class>GnomeApp</class>
|
||||
<name>app</name>
|
||||
<title>Manage Subscriptions</title>
|
||||
<type>GTK_WINDOW_TOPLEVEL</type>
|
||||
<position>GTK_WIN_POS_NONE</position>
|
||||
<modal>False</modal>
|
||||
<default_width>484</default_width>
|
||||
<default_height>423</default_height>
|
||||
<allow_shrink>False</allow_shrink>
|
||||
<allow_grow>True</allow_grow>
|
||||
<auto_shrink>False</auto_shrink>
|
||||
<auto_close>False</auto_close>
|
||||
<hide_on_close>False</hide_on_close>
|
||||
<enable_layout_config>True</enable_layout_config>
|
||||
|
||||
<widget>
|
||||
<class>GtkVBox</class>
|
||||
<child_name>GnomeDialog:vbox</child_name>
|
||||
<name>dialog-vbox2</name>
|
||||
<homogeneous>False</homogeneous>
|
||||
<spacing>8</spacing>
|
||||
<class>GnomeDock</class>
|
||||
<child_name>GnomeApp:dock</child_name>
|
||||
<name>dock2</name>
|
||||
<border_width>3</border_width>
|
||||
<allow_floating>True</allow_floating>
|
||||
<child>
|
||||
<padding>4</padding>
|
||||
<padding>0</padding>
|
||||
<expand>True</expand>
|
||||
<fill>True</fill>
|
||||
</child>
|
||||
|
||||
<widget>
|
||||
<class>GtkHButtonBox</class>
|
||||
<child_name>GnomeDialog:action_area</child_name>
|
||||
<name>dialog-action_area2</name>
|
||||
<layout_style>GTK_BUTTONBOX_END</layout_style>
|
||||
<spacing>8</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>False</expand>
|
||||
<fill>True</fill>
|
||||
<pack>GTK_PACK_END</pack>
|
||||
</child>
|
||||
<class>GnomeDockItem</class>
|
||||
<name>dockitem2</name>
|
||||
<border_width>1</border_width>
|
||||
<placement>GNOME_DOCK_TOP</placement>
|
||||
<band>1</band>
|
||||
<position>0</position>
|
||||
<offset>0</offset>
|
||||
<locked>False</locked>
|
||||
<exclusive>True</exclusive>
|
||||
<never_floating>False</never_floating>
|
||||
<never_vertical>False</never_vertical>
|
||||
<never_horizontal>False</never_horizontal>
|
||||
<shadow_type>GTK_SHADOW_OUT</shadow_type>
|
||||
|
||||
<widget>
|
||||
<class>GtkButton</class>
|
||||
<name>button9</name>
|
||||
<can_default>True</can_default>
|
||||
<can_focus>True</can_focus>
|
||||
<stock_button>GNOME_STOCK_BUTTON_CLOSE</stock_button>
|
||||
<class>GtkToolbar</class>
|
||||
<name>toolbar1</name>
|
||||
<border_width>1</border_width>
|
||||
<orientation>GTK_ORIENTATION_HORIZONTAL</orientation>
|
||||
<type>GTK_TOOLBAR_BOTH</type>
|
||||
<space_size>16</space_size>
|
||||
<space_style>GTK_TOOLBAR_SPACE_LINE</space_style>
|
||||
<relief>GTK_RELIEF_NONE</relief>
|
||||
<tooltips>True</tooltips>
|
||||
|
||||
<widget>
|
||||
<class>GtkButton</class>
|
||||
<child_name>Toolbar:button</child_name>
|
||||
<name>refresh_button</name>
|
||||
<tooltip>Apri file</tooltip>
|
||||
<label>Refresh List</label>
|
||||
<stock_pixmap>GNOME_STOCK_PIXMAP_REFRESH</stock_pixmap>
|
||||
</widget>
|
||||
|
||||
<widget>
|
||||
<class>GtkButton</class>
|
||||
<child_name>Toolbar:button</child_name>
|
||||
<name>close_button</name>
|
||||
<tooltip>Salve file</tooltip>
|
||||
<label>Close</label>
|
||||
<stock_pixmap>GNOME_STOCK_PIXMAP_CLOSE</stock_pixmap>
|
||||
<child>
|
||||
<new_group>True</new_group>
|
||||
</child>
|
||||
</widget>
|
||||
</widget>
|
||||
</widget>
|
||||
|
||||
<widget>
|
||||
<class>GtkVBox</class>
|
||||
<name>vbox2</name>
|
||||
<child_name>GnomeDock:contents</child_name>
|
||||
<name>vbox6</name>
|
||||
<border_width>3</border_width>
|
||||
<homogeneous>False</homogeneous>
|
||||
<spacing>3</spacing>
|
||||
<child>
|
||||
<padding>0</padding>
|
||||
<expand>True</expand>
|
||||
<fill>True</fill>
|
||||
</child>
|
||||
|
||||
<widget>
|
||||
<class>GtkHBox</class>
|
||||
<name>hbox1</name>
|
||||
<name>hbox7</name>
|
||||
<homogeneous>False</homogeneous>
|
||||
<spacing>0</spacing>
|
||||
<child>
|
||||
@ -91,15 +107,15 @@
|
||||
|
||||
<widget>
|
||||
<class>GtkLabel</class>
|
||||
<name>label1</name>
|
||||
<label>Show _folders from server: </label>
|
||||
<name>label5</name>
|
||||
<label>S_elect server: </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>store_menu</default_focus_target>
|
||||
<default_focus_target>optionmenu2</default_focus_target>
|
||||
<child>
|
||||
<padding>0</padding>
|
||||
<expand>False</expand>
|
||||
@ -138,7 +154,7 @@
|
||||
|
||||
<widget>
|
||||
<class>GtkVBox</class>
|
||||
<name>vbox3</name>
|
||||
<name>vbox7</name>
|
||||
<border_width>3</border_width>
|
||||
<homogeneous>False</homogeneous>
|
||||
<spacing>3</spacing>
|
||||
@ -151,7 +167,7 @@
|
||||
|
||||
<widget>
|
||||
<class>GtkLabel</class>
|
||||
<name>label2</name>
|
||||
<name>label6</name>
|
||||
<label>
|
||||
</label>
|
||||
<justify>GTK_JUSTIFY_CENTER</justify>
|
||||
@ -169,7 +185,7 @@
|
||||
|
||||
<widget>
|
||||
<class>GtkVButtonBox</class>
|
||||
<name>vbuttonbox2</name>
|
||||
<name>vbuttonbox6</name>
|
||||
<layout_style>GTK_BUTTONBOX_SPREAD</layout_style>
|
||||
<spacing>0</spacing>
|
||||
<child_min_width>85</child_min_width>
|
||||
@ -201,19 +217,9 @@
|
||||
</widget>
|
||||
</widget>
|
||||
|
||||
<widget>
|
||||
<class>GtkHSeparator</class>
|
||||
<name>hseparator1</name>
|
||||
<child>
|
||||
<padding>14</padding>
|
||||
<expand>False</expand>
|
||||
<fill>False</fill>
|
||||
</child>
|
||||
</widget>
|
||||
|
||||
<widget>
|
||||
<class>GtkVButtonBox</class>
|
||||
<name>vbuttonbox3</name>
|
||||
<name>vbuttonbox7</name>
|
||||
<layout_style>GTK_BUTTONBOX_START</layout_style>
|
||||
<spacing>10</spacing>
|
||||
<child_min_width>85</child_min_width>
|
||||
@ -225,23 +231,14 @@
|
||||
<expand>False</expand>
|
||||
<fill>False</fill>
|
||||
</child>
|
||||
|
||||
<widget>
|
||||
<class>GtkButton</class>
|
||||
<name>refresh_button</name>
|
||||
<can_default>True</can_default>
|
||||
<can_focus>True</can_focus>
|
||||
<label> _Refresh List </label>
|
||||
<relief>GTK_RELIEF_NORMAL</relief>
|
||||
</widget>
|
||||
</widget>
|
||||
</widget>
|
||||
</widget>
|
||||
|
||||
<widget>
|
||||
<class>GtkFrame</class>
|
||||
<name>frame1</name>
|
||||
<label>Display options</label>
|
||||
<name>frame3</name>
|
||||
<label>Display Options</label>
|
||||
<label_xalign>0</label_xalign>
|
||||
<shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
|
||||
<child>
|
||||
@ -252,7 +249,7 @@
|
||||
|
||||
<widget>
|
||||
<class>GtkHBox</class>
|
||||
<name>hbox3</name>
|
||||
<name>hbox9</name>
|
||||
<border_width>3</border_width>
|
||||
<homogeneous>False</homogeneous>
|
||||
<spacing>3</spacing>
|
||||
@ -304,7 +301,7 @@
|
||||
|
||||
<widget>
|
||||
<class>GtkHButtonBox</class>
|
||||
<name>hbuttonbox1</name>
|
||||
<name>hbuttonbox3</name>
|
||||
<layout_style>GTK_BUTTONBOX_DEFAULT_STYLE</layout_style>
|
||||
<spacing>30</spacing>
|
||||
<child_min_width>85</child_min_width>
|
||||
@ -321,6 +318,19 @@
|
||||
</widget>
|
||||
</widget>
|
||||
</widget>
|
||||
|
||||
<widget>
|
||||
<class>GnomeAppBar</class>
|
||||
<child_name>GnomeApp:appbar</child_name>
|
||||
<name>appbar2</name>
|
||||
<has_progress>True</has_progress>
|
||||
<has_status>True</has_status>
|
||||
<child>
|
||||
<padding>0</padding>
|
||||
<expand>True</expand>
|
||||
<fill>True</fill>
|
||||
</child>
|
||||
</widget>
|
||||
</widget>
|
||||
|
||||
</GTK-Interface>
|
||||
|
||||
Reference in New Issue
Block a user