diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2009-09-25 06:04:36 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2009-11-17 08:33:32 +0800 |
commit | 054c0881696a85f537e93b4950a28f505a3dc0f7 (patch) | |
tree | e63cfece426e2de5898c926eb6737cff229bb38b /filter | |
parent | 6348266ee635db59a12d75497f980dd85d0fcf58 (diff) | |
download | gsoc2013-evolution-054c0881696a85f537e93b4950a28f505a3dc0f7.tar.gz gsoc2013-evolution-054c0881696a85f537e93b4950a28f505a3dc0f7.tar.zst gsoc2013-evolution-054c0881696a85f537e93b4950a28f505a3dc0f7.zip |
BugĀ 589153 - Use GtkBuilder instead of libglade
Diffstat (limited to 'filter')
-rw-r--r-- | filter/Makefile.am | 8 | ||||
-rw-r--r-- | filter/e-filter-datespec.c | 28 | ||||
-rw-r--r-- | filter/e-rule-editor.c | 146 | ||||
-rw-r--r-- | filter/e-rule-editor.h | 3 | ||||
-rw-r--r-- | filter/filter.glade | 671 | ||||
-rw-r--r-- | filter/filter.ui | 587 |
6 files changed, 662 insertions, 781 deletions
diff --git a/filter/Makefile.am b/filter/Makefile.am index d05842738b..7e8914846b 100644 --- a/filter/Makefile.am +++ b/filter/Makefile.am @@ -1,4 +1,4 @@ -glade_DATA = filter.glade +ui_DATA = filter.ui privsolib_LTLIBRARIES = libfilter.la @@ -6,8 +6,9 @@ libfilter_la_CPPFLAGS = \ $(AM_CPPFLAGS) \ -I $(top_srcdir) \ -I $(top_srcdir)/e-util \ - -DEVOLUTION_GLADEDIR=\"$(gladedir)\" \ + -DEVOLUTION_UIDIR=\"$(uidir)\" \ -DG_LOG_DOMAIN=\"filter\" \ + $(GNOME_PLATFORM_CFLAGS) \ $(LIBFILTER_CFLAGS) filterincludedir = $(privincludedir)/filter @@ -56,11 +57,12 @@ libfilter_la_LDFLAGS = $(NO_UNDEFINED) libfilter_la_LIBADD = \ $(top_builddir)/e-util/libeutil.la \ + $(GNOME_PLATFORM_LIBS) \ $(LIBFILTER_LIBS) \ $(REGEX_LIBS) EXTRA_DIST = \ - $(glade_DATA) \ + $(ui_DATA) \ filter.error.xml \ ChangeLog.pre-1-4 diff --git a/filter/e-filter-datespec.c b/filter/e-filter-datespec.c index 1a34cce525..f395bf91d4 100644 --- a/filter/e-filter-datespec.c +++ b/filter/e-filter-datespec.c @@ -32,10 +32,9 @@ #include <gtk/gtk.h> #include <glib/gi18n.h> -#include <glade/glade.h> -#include <libedataserver/e-sexp.h> #include "e-util/e-error.h" +#include "e-util/e-util.h" #include "e-util/e-util-private.h" #include "e-filter-datespec.h" @@ -258,14 +257,13 @@ button_clicked (GtkButton *button, EFilterDatespec *fds) GtkWidget *content_area; GtkWidget *toplevel; GtkDialog *dialog; - GladeXML *gui; - gchar *filter_glade = g_build_filename (EVOLUTION_GLADEDIR, - "filter.glade", - NULL); + GtkBuilder *builder; - gui = glade_xml_new (filter_glade, "filter_datespec", NULL); - g_free (filter_glade); - toplevel = glade_xml_get_widget (gui, "filter_datespec"); + /* XXX I think we're leaking the GtkBuilder. */ + builder = gtk_builder_new (); + e_load_ui_builder_definition (builder, "filter.ui"); + + toplevel = e_builder_get_widget (builder, "filter_datespec"); dialog = (GtkDialog *) gtk_dialog_new (); gtk_window_set_title ((GtkWindow *) dialog, _("Select a time to compare against")); @@ -275,12 +273,12 @@ button_clicked (GtkButton *button, EFilterDatespec *fds) NULL); gtk_dialog_set_has_separator (dialog, FALSE); - p->notebook_type = glade_xml_get_widget (gui, "notebook_type"); - p->combobox_type = glade_xml_get_widget (gui, "combobox_type"); - p->calendar_specify = glade_xml_get_widget (gui, "calendar_specify"); - p->spin_relative = glade_xml_get_widget (gui, "spin_relative"); - p->combobox_relative = glade_xml_get_widget (gui, "combobox_relative"); - p->combobox_past_future = glade_xml_get_widget (gui, "combobox_past_future"); + p->notebook_type = e_builder_get_widget (builder, "notebook_type"); + p->combobox_type = e_builder_get_widget (builder, "combobox_type"); + p->calendar_specify = e_builder_get_widget (builder, "calendar_specify"); + p->spin_relative = e_builder_get_widget (builder, "spin_relative"); + p->combobox_relative = e_builder_get_widget (builder, "combobox_relative"); + p->combobox_past_future = e_builder_get_widget (builder, "combobox_past_future"); set_values (fds); diff --git a/filter/e-rule-editor.c b/filter/e-rule-editor.c index 59b0d5de07..119c27a04d 100644 --- a/filter/e-rule-editor.c +++ b/filter/e-rule-editor.c @@ -33,6 +33,7 @@ #include "e-util/e-error.h" #include "e-util/e-util-private.h" +#include "e-util/e-util.h" #include "e-rule-editor.h" @@ -693,17 +694,14 @@ e_rule_editor_new (ERuleContext *context, const gchar *label) { ERuleEditor *editor = (ERuleEditor *) g_object_new (E_TYPE_RULE_EDITOR, NULL); - GladeXML *gui; - gchar *filter_glade = g_build_filename (EVOLUTION_GLADEDIR, - "filter.glade", - NULL); - - gui = glade_xml_new (filter_glade, "rule_editor", NULL); - g_free (filter_glade); - e_rule_editor_construct (editor, context, gui, source, label); - gtk_widget_hide (glade_xml_get_widget (gui, "label17")); - gtk_widget_hide (glade_xml_get_widget (gui, "filter_source_combobox")); - g_object_unref (gui); + GtkBuilder *builder; + + builder = gtk_builder_new (); + e_load_ui_builder_definition (builder, "filter.ui"); + e_rule_editor_construct (editor, context, builder, source, label); + gtk_widget_hide (e_builder_get_widget (builder, "label17")); + gtk_widget_hide (e_builder_get_widget (builder, "filter_source_combobox")); + g_object_unref (builder); return editor; } @@ -765,7 +763,7 @@ double_click (GtkTreeView *treeview, GtkTreePath *path, GtkTreeViewColumn *colum static void rule_able_toggled (GtkCellRendererToggle *renderer, - gchar *arg1, + gchar *path_string, gpointer user_data) { GtkWidget *table = user_data; @@ -774,7 +772,7 @@ rule_able_toggled (GtkCellRendererToggle *renderer, GtkTreePath *path; GtkTreeIter iter; - path = gtk_tree_path_new_from_string (arg1); + path = gtk_tree_path_new_from_string (path_string); model = gtk_tree_view_get_model (GTK_TREE_VIEW (table)); selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (table)); @@ -792,83 +790,27 @@ rule_able_toggled (GtkCellRendererToggle *renderer, gtk_tree_path_free (path); } -GtkWidget * -rule_editor_treeview_new (gchar *widget_name, - gchar *string1, - gchar *string2, - gint int1, - gint int2); - -GtkWidget * -rule_editor_treeview_new (gchar *widget_name, - gchar *string1, - gchar *string2, - gint int1, - gint int2) -{ - GtkWidget *table, *scrolled; - GtkTreeSelection *selection; - GtkCellRenderer *renderer; - GtkListStore *model; - GtkTreeViewColumn *column; - - scrolled = gtk_scrolled_window_new (NULL, NULL); - gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolled), GTK_SHADOW_IN); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled), - GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); - - model = gtk_list_store_new (3, G_TYPE_STRING, G_TYPE_POINTER, G_TYPE_BOOLEAN); - table = gtk_tree_view_new_with_model ((GtkTreeModel *) model); - gtk_tree_view_set_headers_visible ((GtkTreeView *) table, FALSE); - - renderer = gtk_cell_renderer_toggle_new (); - g_object_set (G_OBJECT (renderer), "activatable", TRUE, NULL); - gtk_tree_view_insert_column_with_attributes ((GtkTreeView *) table, -1, - _("Enabled"), renderer, - "active", 2, NULL); - g_signal_connect (renderer, "toggled", G_CALLBACK (rule_able_toggled), table); - - /* hide enable column by default */ - column = gtk_tree_view_get_column (GTK_TREE_VIEW (table), 0); - gtk_tree_view_column_set_visible (column, FALSE); - - renderer = gtk_cell_renderer_text_new (); - gtk_tree_view_insert_column_with_attributes ((GtkTreeView *) table, -1, - _("Rule name"), renderer, - "text", 0, NULL); - - selection = gtk_tree_view_get_selection ((GtkTreeView *) table); - gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE); - - gtk_container_add (GTK_CONTAINER (scrolled), table); - - g_object_set_data ((GObject *) scrolled, "table", table); - g_object_set_data ((GObject *) scrolled, "model", model); - - gtk_widget_show (scrolled); - gtk_widget_show (table); - - g_object_unref (model); - - return scrolled; -} - void e_rule_editor_construct (ERuleEditor *editor, ERuleContext *context, - GladeXML *gui, + GtkBuilder *builder, const gchar *source, const gchar *label) { - GtkWidget *w; + GtkWidget *widget; GtkWidget *action_area; GtkWidget *content_area; + GtkTreeViewColumn *column; + GtkCellRenderer *renderer; + GtkTreeSelection *selection; + GObject *object; + GList *list; gint i; gchar *tmp; g_return_if_fail (E_IS_RULE_EDITOR (editor)); g_return_if_fail (E_IS_RULE_CONTEXT (context)); - g_return_if_fail (GLADE_IS_XML (gui)); + g_return_if_fail (GTK_IS_BUILDER (builder)); editor->context = g_object_ref (context); @@ -880,28 +822,52 @@ e_rule_editor_construct (ERuleEditor *editor, gtk_widget_realize ((GtkWidget *) editor); gtk_container_set_border_width (GTK_CONTAINER (action_area), 12); - w = glade_xml_get_widget(gui, "rule_editor"); - gtk_box_pack_start (GTK_BOX (content_area), w, TRUE, TRUE, 3); + widget = e_builder_get_widget (builder, "rule_editor"); + gtk_box_pack_start (GTK_BOX (content_area), widget, TRUE, TRUE, 0); for (i = 0; i < BUTTON_LAST; i++) { - editor->priv->buttons[i] = (GtkButton *) (w = glade_xml_get_widget (gui, edit_buttons[i].name)); - g_signal_connect (w, "clicked", edit_buttons[i].func, editor); + widget = e_builder_get_widget (builder, edit_buttons[i].name); + editor->priv->buttons[i] = GTK_BUTTON (widget); + g_signal_connect ( + widget, "clicked", + G_CALLBACK (edit_buttons[i].func), editor); } - w = glade_xml_get_widget (gui, "rule_list"); - editor->list = (GtkTreeView *) g_object_get_data ((GObject *) w, "table"); - editor->model = (GtkListStore *) g_object_get_data ((GObject *) w, "model"); + object = gtk_builder_get_object (builder, "rule_tree_view"); + editor->list = GTK_TREE_VIEW (object); + + column = gtk_tree_view_get_column (GTK_TREE_VIEW (object), 0); + list = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (column)); + renderer = GTK_CELL_RENDERER (list->data); + g_warn_if_fail (GTK_IS_CELL_RENDERER_TOGGLE (renderer)); + + g_signal_connect ( + renderer, "toggled", + G_CALLBACK (rule_able_toggled), editor->list); + + selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (object)); + gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE); + + object = gtk_builder_get_object (builder, "rule_list_store"); + editor->model = GTK_LIST_STORE (object); - g_signal_connect (editor->list, "cursor-changed", G_CALLBACK (cursor_changed), editor); - g_signal_connect (editor->list, "row-activated", G_CALLBACK (double_click), editor); + g_signal_connect ( + editor->list, "cursor-changed", + G_CALLBACK (cursor_changed), editor); + g_signal_connect ( + editor->list, "row-activated", + G_CALLBACK (double_click), editor); - w = glade_xml_get_widget (gui, "rule_label"); + widget = e_builder_get_widget (builder, "rule_label"); tmp = alloca(strlen(label)+8); sprintf(tmp, "<b>%s</b>", label); - gtk_label_set_label((GtkLabel *)w, tmp); - gtk_label_set_mnemonic_widget ((GtkLabel *) w, (GtkWidget *) editor->list); + gtk_label_set_label (GTK_LABEL (widget), tmp); + gtk_label_set_mnemonic_widget ( + GTK_LABEL (widget), GTK_WIDGET (editor->list)); - g_signal_connect (editor, "response", G_CALLBACK (editor_response), editor); + g_signal_connect ( + editor, "response", + G_CALLBACK (editor_response), editor); rule_editor_set_source (editor, source); gtk_dialog_set_has_separator ((GtkDialog *) editor, FALSE); diff --git a/filter/e-rule-editor.h b/filter/e-rule-editor.h index f7f2d2defd..2b1a4f2bf7 100644 --- a/filter/e-rule-editor.h +++ b/filter/e-rule-editor.h @@ -25,7 +25,6 @@ #define E_RULE_EDITOR_H #include <gtk/gtk.h> -#include <glade/glade.h> #include "e-rule-context.h" #include "e-filter-rule.h" @@ -109,7 +108,7 @@ ERuleEditor * e_rule_editor_new (ERuleContext *context, const gchar *label); void e_rule_editor_construct (ERuleEditor *editor, ERuleContext *context, - GladeXML *gui, + GtkBuilder *builder, const gchar *source, const gchar *label); void e_rule_editor_set_source (ERuleEditor *editor, diff --git a/filter/filter.glade b/filter/filter.glade deleted file mode 100644 index 3773a234c1..0000000000 --- a/filter/filter.glade +++ /dev/null @@ -1,671 +0,0 @@ -<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*--> -<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd"> - -<glade-interface> -<requires lib="gnome"/> - -<widget class="GtkWindow" id="rule-editor"> - <property name="visible">True</property> - <property name="title">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="rule_editor"> - <property name="border_width">12</property> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">6</property> - - <child> - <widget class="GtkLabel" id="label17"> - <property name="visible">True</property> - <property name="label" translatable="yes">Show filters for mail:</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</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="GtkComboBox" id="filter_source_combobox"> - <property name="visible">True</property> - <property name="items" translatable="yes">Incoming</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">False</property> - </packing> - </child> - - <child> - <widget class="GtkVBox" id="rule_frame"> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">6</property> - - <child> - <widget class="GtkLabel" id="rule_label"> - <property name="visible">True</property> - <property name="label" translatable="yes"><b>_Filter Rules</b></property> - <property name="use_underline">True</property> - <property name="use_markup">True</property> - <property name="justify">GTK_JUSTIFY_LEFT</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">0</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> - <property name="width_chars">-1</property> - <property name="single_line_mode">False</property> - <property name="angle">0</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - - <child> - <widget class="GtkHBox" id="hbox10"> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">12</property> - - <child> - <widget class="GtkLabel" id="label16"> - <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> - - <child> - <widget class="GtkHBox" id="hbox4"> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">6</property> - - <child> - <widget class="Custom" id="rule_list"> - <property name="visible">True</property> - <property name="creation_function">rule_editor_treeview_new</property> - <property name="int1">0</property> - <property name="int2">0</property> - <property name="last_modification_time">Thu, 12 Dec 2002 23:50:05 GMT</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> - </packing> - </child> - - <child> - <widget class="GtkVBox" id="vbox5"> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">6</property> - - <child> - <widget class="GtkVButtonBox" id="vbuttonbox4"> - <property name="visible">True</property> - <property name="layout_style">GTK_BUTTONBOX_DEFAULT_STYLE</property> - <property name="spacing">6</property> - - <child> - <widget class="GtkButton" id="rule_add"> - <property name="visible">True</property> - <property name="can_default">True</property> - <property name="can_focus">True</property> - <property name="label">gtk-add</property> - <property name="use_stock">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <property name="focus_on_click">True</property> - </widget> - </child> - - <child> - <widget class="GtkButton" id="rule_edit"> - <property name="visible">True</property> - <property name="can_default">True</property> - <property name="can_focus">True</property> - <property name="label" translatable="yes">_Edit</property> - <property name="use_underline">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <property name="focus_on_click">True</property> - </widget> - </child> - - <child> - <widget class="GtkButton" id="rule_delete"> - <property name="visible">True</property> - <property name="can_default">True</property> - <property name="can_focus">True</property> - <property name="label">gtk-remove</property> - <property name="use_stock">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <property name="focus_on_click">True</property> - </widget> - </child> - - <child> - <widget class="GtkButton" id="rule_top"> - <property name="visible">True</property> - <property name="can_default">True</property> - <property name="can_focus">True</property> - <property name="label">gtk-goto-top</property> - <property name="use_stock">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <property name="focus_on_click">True</property> - </widget> - </child> - - <child> - <widget class="GtkButton" id="rule_up"> - <property name="visible">True</property> - <property name="can_default">True</property> - <property name="can_focus">True</property> - <property name="label">gtk-go-up</property> - <property name="use_stock">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <property name="focus_on_click">True</property> - </widget> - </child> - - <child> - <widget class="GtkButton" id="rule_down"> - <property name="visible">True</property> - <property name="can_default">True</property> - <property name="can_focus">True</property> - <property name="label">gtk-go-down</property> - <property name="use_stock">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <property name="focus_on_click">True</property> - </widget> - </child> - - <child> - <widget class="GtkButton" id="rule_bottom"> - <property name="visible">True</property> - <property name="can_default">True</property> - <property name="can_focus">True</property> - <property name="label">gtk-goto-bottom</property> - <property name="use_stock">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <property name="focus_on_click">True</property> - </widget> - </child> - </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">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> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> - </packing> - </child> - </widget> - <packing> - <property name="padding">3</property> - <property name="expand">True</property> - <property name="fill">True</property> - </packing> - </child> - </widget> - </child> -</widget> - -<widget class="GtkWindow" id="filter_datespec_win"> - <property name="border_width">6</property> - <property name="visible">True</property> - <property name="title">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="filter_datespec"> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">6</property> - - <child> - <widget class="GtkHBox" id="hbox5"> - <property name="border_width">4</property> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">6</property> - - <child> - <widget class="GtkLabel" id="label4"> - <property name="visible">True</property> - <property name="label" translatable="yes">Compare against</property> - <property name="use_underline">False</property> - <property name="use_markup">False</property> - <property name="justify">GTK_JUSTIFY_CENTER</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> - - <child> - <widget class="GtkComboBox" id="combobox_type"> - <property name="visible">True</property> - <property name="items" translatable="yes">the current time -the time you specify -a time relative to the current time</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">False</property> - </packing> - </child> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - - <child> - <widget class="GtkHSeparator" id="hseparator1"> - <property name="visible">True</property> - </widget> - <packing> - <property name="padding">1</property> - <property name="expand">False</property> - <property name="fill">True</property> - </packing> - </child> - - <child> - <widget class="GtkNotebook" id="notebook_type"> - <property name="visible">True</property> - <property name="show_tabs">False</property> - <property name="show_border">False</property> - <property name="tab_pos">GTK_POS_TOP</property> - <property name="scrollable">False</property> - <property name="enable_popup">False</property> - - <child> - <widget class="GtkVBox" id="vbox9"> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">0</property> - - <child> - <widget class="GtkLabel" id="label5"> - <property name="visible">True</property> - <property name="label" translatable="yes">The message's date will be compared against -the current time when filtering occurs.</property> - <property name="use_underline">False</property> - <property name="use_markup">False</property> - <property name="justify">GTK_JUSTIFY_CENTER</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> - <packing> - <property name="tab_expand">False</property> - <property name="tab_fill">False</property> - </packing> - </child> - - <child> - <widget class="GtkLabel" id="label1"> - <property name="visible">True</property> - <property name="label" translatable="yes">label1</property> - <property name="use_underline">False</property> - <property name="use_markup">False</property> - <property name="justify">GTK_JUSTIFY_CENTER</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="type">tab</property> - </packing> - </child> - - <child> - <widget class="GtkVBox" id="vbox7"> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">0</property> - - <child> - <widget class="GtkLabel" id="label6"> - <property name="visible">True</property> - <property name="label" translatable="yes">The message's date will be compared against -12:00am of the date specified.</property> - <property name="use_underline">False</property> - <property name="use_markup">False</property> - <property name="justify">GTK_JUSTIFY_CENTER</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> - - <child> - <widget class="GtkCalendar" id="calendar_specify"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="display_options">GTK_CALENDAR_SHOW_HEADING|GTK_CALENDAR_SHOW_DAY_NAMES</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> - </packing> - </child> - </widget> - <packing> - <property name="tab_expand">False</property> - <property name="tab_fill">True</property> - </packing> - </child> - - <child> - <widget class="GtkLabel" id="label2"> - <property name="visible">True</property> - <property name="label" translatable="yes">label2</property> - <property name="use_underline">False</property> - <property name="use_markup">False</property> - <property name="justify">GTK_JUSTIFY_CENTER</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="type">tab</property> - </packing> - </child> - - <child> - <widget class="GtkVBox" id="vbox8"> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">0</property> - - <child> - <widget class="GtkLabel" id="label7"> - <property name="visible">True</property> - <property name="label" translatable="yes">The message's date will be compared against -a time relative to when filtering occurs.</property> - <property name="use_underline">False</property> - <property name="use_markup">False</property> - <property name="justify">GTK_JUSTIFY_CENTER</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">15</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="GtkAlignment" id="alignment1"> - <property name="visible">True</property> - <property name="xalign">0.5</property> - <property name="yalign">0.5</property> - <property name="xscale">1</property> - <property name="yscale">1</property> - <property name="top_padding">5</property> - <property name="bottom_padding">0</property> - <property name="left_padding">58</property> - <property name="right_padding">0</property> - - <child> - <widget class="GtkHBox" id="hbox6"> - <property name="visible">True</property> - <property name="homogeneous">True</property> - <property name="spacing">0</property> - - <child> - <widget class="GtkSpinButton" id="spin_relative"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="climb_rate">1</property> - <property name="digits">0</property> - <property name="numeric">False</property> - <property name="update_policy">GTK_UPDATE_ALWAYS</property> - <property name="snap_to_ticks">False</property> - <property name="wrap">False</property> - <property name="adjustment">1 0 1000 1 10 0</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> - </packing> - </child> - - <child> - <widget class="GtkComboBox" id="combobox_relative"> - <property name="visible">True</property> - <property name="items" translatable="yes">seconds -minutes -hours -days -weeks -months -years</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">False</property> - </packing> - </child> - - <child> - <widget class="GtkComboBox" id="combobox_past_future"> - <property name="visible">True</property> - <property name="items" translatable="yes">ago -in the future</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> - </child> - </widget> - <packing> - <property name="padding">2</property> - <property name="expand">False</property> - <property name="fill">True</property> - </packing> - </child> - </widget> - <packing> - <property name="tab_expand">False</property> - <property name="tab_fill">True</property> - </packing> - </child> - - <child> - <widget class="GtkLabel" id="label3"> - <property name="visible">True</property> - <property name="label" translatable="yes">label3</property> - <property name="use_underline">False</property> - <property name="use_markup">False</property> - <property name="justify">GTK_JUSTIFY_CENTER</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="type">tab</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> - -</glade-interface> diff --git a/filter/filter.ui b/filter/filter.ui new file mode 100644 index 0000000000..d8791626da --- /dev/null +++ b/filter/filter.ui @@ -0,0 +1,587 @@ +<?xml version="1.0"?> +<interface> + <!-- interface-requires gtk+ 2.12 --> + <!-- interface-naming-policy toplevel-contextual --> + <object class="GtkAdjustment" id="adjustment1"> + <property name="value">1</property> + <property name="upper">1000</property> + <property name="step_increment">1</property> + <property name="page_increment">10</property> + </object> + <object class="GtkListStore" id="model1"> + <columns> + <!-- column-name gchararray --> + <column type="gchararray"/> + </columns> + <data> + <row> + <col id="0" translatable="yes">Incoming</col> + </row> + </data> + </object> + <object class="GtkListStore" id="model2"> + <columns> + <!-- column-name gchararray --> + <column type="gchararray"/> + </columns> + <data> + <row> + <col id="0" translatable="yes">the current time</col> + </row> + <row> + <col id="0" translatable="yes">the time you specify</col> + </row> + <row> + <col id="0" translatable="yes">a time relative to the current time</col> + </row> + </data> + </object> + <object class="GtkListStore" id="model3"> + <columns> + <!-- column-name gchararray --> + <column type="gchararray"/> + </columns> + <data> + <row> + <col id="0" translatable="yes">seconds</col> + </row> + <row> + <col id="0" translatable="yes">minutes</col> + </row> + <row> + <col id="0" translatable="yes">hours</col> + </row> + <row> + <col id="0" translatable="yes">days</col> + </row> + <row> + <col id="0" translatable="yes">weeks</col> + </row> + <row> + <col id="0" translatable="yes">months</col> + </row> + <row> + <col id="0" translatable="yes">years</col> + </row> + </data> + </object> + <object class="GtkListStore" id="model4"> + <columns> + <!-- column-name gchararray --> + <column type="gchararray"/> + </columns> + <data> + <row> + <col id="0" translatable="yes">ago</col> + </row> + <row> + <col id="0" translatable="yes">in the future</col> + </row> + </data> + </object> + <object class="GtkListStore" id="rule_list_store"> + <columns> + <!-- column-name column1 --> + <column type="gchararray"/> + <!-- column-name column2 --> + <column type="gpointer"/> + <!-- column-name column3 --> + <column type="gboolean"/> + </columns> + </object> + <object class="GtkVBox" id="rule_editor"> + <property name="visible">True</property> + <property name="border_width">12</property> + <property name="orientation">vertical</property> + <property name="spacing">6</property> + <child> + <object class="GtkLabel" id="label17"> + <property name="visible">True</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Show filters for mail:</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="filter_source_combobox"> + <property name="visible">True</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="fill">False</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkVBox" id="rule_frame"> + <property name="visible">True</property> + <property name="orientation">vertical</property> + <property name="spacing">6</property> + <child> + <object class="GtkLabel" id="rule_label"> + <property name="visible">True</property> + <property name="xalign">0</property> + <property name="label" translatable="yes"><b>_Filter Rules</b></property> + <property name="use_markup">True</property> + <property name="use_underline">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="hbox10"> + <property name="visible">True</property> + <property name="spacing">12</property> + <child> + <object class="GtkLabel" id="label16"> + <property name="visible">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="hbox4"> + <property name="visible">True</property> + <property name="spacing">6</property> + <child> + <object class="GtkScrolledWindow" id="rule_scrolled_window"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hscrollbar_policy">automatic</property> + <property name="vscrollbar_policy">automatic</property> + <property name="shadow_type">in</property> + <child> + <object class="GtkTreeView" id="rule_tree_view"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="model">rule_list_store</property> + <property name="headers_visible">False</property> + <child> + <object class="GtkTreeViewColumn" id="column_enabled"> + <property name="visible">False</property> + <property name="title">Enabled</property> + <child> + <object class="GtkCellRendererToggle" id="cell_renderer_enabled"/> + <attributes> + <attribute name="active">2</attribute> + </attributes> + </child> + </object> + </child> + <child> + <object class="GtkTreeViewColumn" id="column_rule_name"> + <property name="title">Rule Name</property> + <child> + <object class="GtkCellRendererText" id="cell_renderer_rule_name"/> + <attributes> + <attribute name="text">0</attribute> + </attributes> + </child> + </object> + </child> + </object> + </child> + </object> + <packing> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkVBox" id="vbox5"> + <property name="visible">True</property> + <property name="spacing">6</property> + <child> + <object class="GtkVButtonBox" id="vbuttonbox4"> + <property name="visible">True</property> + <property name="orientation">vertical</property> + <property name="spacing">6</property> + <child> + <object class="GtkButton" id="rule_add"> + <property name="label">gtk-add</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="rule_edit"> + <property name="label" translatable="yes">_Edit</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_underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkButton" id="rule_delete"> + <property name="label">gtk-remove</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">2</property> + </packing> + </child> + <child> + <object class="GtkButton" id="rule_top"> + <property name="label">gtk-goto-top</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">3</property> + </packing> + </child> + <child> + <object class="GtkButton" id="rule_up"> + <property name="label">gtk-go-up</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">4</property> + </packing> + </child> + <child> + <object class="GtkButton" id="rule_down"> + <property name="label">gtk-go-down</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">5</property> + </packing> + </child> + <child> + <object class="GtkButton" id="rule_bottom"> + <property name="label">gtk-goto-bottom</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">6</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </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">1</property> + </packing> + </child> + </object> + <packing> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="padding">3</property> + <property name="position">2</property> + </packing> + </child> + </object> + <object class="GtkVBox" id="filter_datespec"> + <property name="visible">True</property> + <property name="orientation">vertical</property> + <property name="spacing">6</property> + <child> + <object class="GtkHBox" id="hbox5"> + <property name="visible">True</property> + <property name="border_width">4</property> + <property name="spacing">6</property> + <child> + <object class="GtkLabel" id="label4"> + <property name="visible">True</property> + <property name="label" translatable="yes">Compare against</property> + <property name="justify">center</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="combobox_type"> + <property name="visible">True</property> + <property name="model">model2</property> + <child> + <object class="GtkCellRendererText" id="renderer2"/> + <attributes> + <attribute name="text">0</attribute> + </attributes> + </child> + </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="position">0</property> + </packing> + </child> + <child> + <object class="GtkHSeparator" id="hseparator1"> + <property name="visible">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="padding">1</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkNotebook" id="notebook_type"> + <property name="visible">True</property> + <property name="show_tabs">False</property> + <property name="show_border">False</property> + <child> + <object class="GtkVBox" id="vbox9"> + <property name="visible">True</property> + <property name="orientation">vertical</property> + <child> + <object class="GtkLabel" id="label5"> + <property name="visible">True</property> + <property name="label" translatable="yes">The message's date will be compared against +current time when filtering occurs.</property> + <property name="justify">center</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + </object> + <packing> + <property name="tab_fill">False</property> + </packing> + </child> + <child type="tab"> + <object class="GtkLabel" id="label1"> + <property name="visible">True</property> + <property name="label" translatable="yes">label1</property> + <property name="justify">center</property> + </object> + <packing> + <property name="tab_fill">False</property> + </packing> + </child> + <child> + <object class="GtkVBox" id="vbox7"> + <property name="visible">True</property> + <property name="orientation">vertical</property> + <child> + <object class="GtkLabel" id="label6"> + <property name="visible">True</property> + <property name="label" translatable="yes">The message's date will be compared against +0am of the date specified.</property> + <property name="justify">center</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkCalendar" id="calendar_specify"> + <property name="visible">True</property> + <property name="can_focus">True</property> + </object> + <packing> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="position">1</property> + </packing> + </child> + <child type="tab"> + <object class="GtkLabel" id="label2"> + <property name="visible">True</property> + <property name="label" translatable="yes">label2</property> + <property name="justify">center</property> + </object> + <packing> + <property name="position">1</property> + <property name="tab_fill">False</property> + </packing> + </child> + <child> + <object class="GtkVBox" id="vbox8"> + <property name="visible">True</property> + <property name="orientation">vertical</property> + <child> + <object class="GtkLabel" id="label7"> + <property name="visible">True</property> + <property name="ypad">15</property> + <property name="label" translatable="yes">The message's date will be compared against +me relative to when filtering occurs.</property> + <property name="justify">center</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkAlignment" id="alignment1"> + <property name="visible">True</property> + <property name="top_padding">5</property> + <property name="left_padding">58</property> + <child> + <object class="GtkHBox" id="hbox6"> + <property name="visible">True</property> + <property name="homogeneous">True</property> + <child> + <object class="GtkSpinButton" id="spin_relative"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="adjustment">adjustment1</property> + <property name="climb_rate">1</property> + </object> + <packing> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkComboBox" id="combobox_relative"> + <property name="visible">True</property> + <property name="model">model3</property> + <child> + <object class="GtkCellRendererText" id="renderer3"/> + <attributes> + <attribute name="text">0</attribute> + </attributes> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkComboBox" id="combobox_past_future"> + <property name="visible">True</property> + <property name="model">model4</property> + <child> + <object class="GtkCellRendererText" id="renderer4"/> + <attributes> + <attribute name="text">0</attribute> + </attributes> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="position">2</property> + </packing> + </child> + </object> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="padding">2</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="position">2</property> + </packing> + </child> + <child type="tab"> + <object class="GtkLabel" id="label3"> + <property name="visible">True</property> + <property name="label" translatable="yes">label3</property> + <property name="justify">center</property> + </object> + <packing> + <property name="position">2</property> + <property name="tab_fill">False</property> + </packing> + </child> + </object> + <packing> + <property name="position">2</property> + </packing> + </child> + </object> +</interface> |