Commit 759041b8 authored by Jody Goldberg's avatar Jody Goldberg Committed by Jody Goldberg

link filter state to 'show all' state.


2002-12-04  Jody Goldberg <jody@gnome.org>

	* src/workbook-control-gui.c (wbcg_menu_state_update) : link filter
	  state to 'show all' state.

	* src/value.c (value_cmp_reverse) : new.

	* src/xml-io.c (xml_write_sheet_filters) : new.
	(xml_sheet_write) : Used here.
	(xml_read_sheet_filters) : new.
	(xml_sheet_read) : Used here.

	* src/gui-util.c (gnumeric_option_menu_get_selected_index) : delete.

	* src/sheet-filter.c (cb_filter_find_minmax) : new.
	(cb_hide_the_rest) : new.
	(filter_field_apply) : support top/bottom N items.
	(cb_filter_button_release) : connect up the dialog stubs.

2002-11-18  Fernando Herrera <fherrera@onirica.com>

	* gnumeric.desktop.in: add X-GNOME-BUGZILLA stuff
parent b0bacb77
......@@ -11,6 +11,7 @@ Pending Patches
---------------
- ?? more work on D&D based sheet reorg ?
- XIM menu http://bugzilla.gnome.org/show_bug.cgi?id=84062
- move format generation out of dialog
1.2 Targets
-----------
......@@ -70,19 +71,25 @@ Pending Patches
http://bugzilla.gnome.org/show_bug.cgi?id=69799
20) Change =IF back to a nodes function to handle the majority case
21) AutoFilter
21.1) fix sizing and mouse for scrolled combos
21.2) race condition on start (DONE)
21.3) expression filters
21.4) top 10 filters
21.5) blank filters (DONE)
21.6) visual cue that row in part of a filter (DONE)
21.7) visual cue that a field is active (DONE)
21.8) select the current condition in the combos (DONE)
21.9) top 10 dialog
21.10 expression dialog
21.11) Handle range changes (cut-n-paste or ins/del col/row)
21.12) xml import/export
21.13) Handle the relationship between groups and filters (DONE)
21.1) clip size for long lists (DONE)
21.2) fix mouse events for scrolled combos
21.3) race condition on start (DONE)
21.4) expression filters
21.5) top 10 item filters (DONE)
21.6) top 10 percentage filters
21.7) blank filters (DONE)
21.8) visual cue that row in part of a filter (DONE)
21.9) visual cue that a field is active (DONE)
21.10) select the current condition in the combos (DONE)
21.11) top 10 dialog (DONE)
21.12) expression dialog
21.13) Handle range changes (cut-n-paste or ins/del col/row)
21.14) xml import/export
21.15) Handle the relationship between groups and filters (DONE)
21.16) sax import/export
21.17) Fix cursor redraw after filter (DONE)
21.18) Link filters to Show All menu (DONE)
21.19) Have the show all action clear filter conditions
22) Add dirty flags to workbook too, adding a sheet should
make workbook dirty not the new sheet.
......@@ -104,6 +111,7 @@ Bonobo component
Possibly Post 1.2 Targets
-------------------------
- insert cut
- pivot tables
- validation from list (generalize filter combos)
- clipboard handlers in plugins
......
2002-12-04 Jody Goldberg <jody@gnome.org>
* src/workbook-control-gui.c (wbcg_menu_state_update) : link filter
state to 'show all' state.
* src/value.c (value_cmp_reverse) : new.
* src/xml-io.c (xml_write_sheet_filters) : new.
(xml_sheet_write) : Used here.
(xml_read_sheet_filters) : new.
(xml_sheet_read) : Used here.
* src/gui-util.c (gnumeric_option_menu_get_selected_index) : delete.
* src/sheet-filter.c (cb_filter_find_minmax) : new.
(cb_hide_the_rest) : new.
(filter_field_apply) : support top/bottom N items.
(cb_filter_button_release) : connect up the dialog stubs.
2002-11-18 Fernando Herrera <fherrera@onirica.com>
* gnumeric.desktop.in: add X-GNOME-BUGZILLA stuff
2002-12-04 Jody Goldberg <jody@gnome.org>
* src/expr.c (gnm_expr_as_string) : Add a currently useless
......
......@@ -7,6 +7,9 @@ Evert Verhellen:
* New icons for +/- precision
* Make bonobo/non-bonobo a whole lot more consistent.
Fernando Herrera:
* Improve desktop file to support bug-buddy.
Jody:
* Make the behavor of save and save-as more comfortable.
* Fix parsing 3d references
......@@ -21,6 +24,7 @@ Jody:
* Begin support for auto-filters
* Begin support for pivot tables
* Full support for SUBTOTAL magic
* Fix sneaky bug between sheetobjects and frozen panes
Jon Kåre:
* Separate GUI for showing progress and messages before first
......
2002-12-04 Jody Goldberg <jody@gnome.org>
* src/workbook-control-gui.c (wbcg_menu_state_update) : link filter
state to 'show all' state.
* src/value.c (value_cmp_reverse) : new.
* src/xml-io.c (xml_write_sheet_filters) : new.
(xml_sheet_write) : Used here.
(xml_read_sheet_filters) : new.
(xml_sheet_read) : Used here.
* src/gui-util.c (gnumeric_option_menu_get_selected_index) : delete.
* src/sheet-filter.c (cb_filter_find_minmax) : new.
(cb_hide_the_rest) : new.
(filter_field_apply) : support top/bottom N items.
(cb_filter_button_release) : connect up the dialog stubs.
2002-11-18 Fernando Herrera <fherrera@onirica.com>
* gnumeric.desktop.in: add X-GNOME-BUGZILLA stuff
2002-12-04 Jody Goldberg <jody@gnome.org>
* src/expr.c (gnm_expr_as_string) : Add a currently useless
......
2002-12-04 Jody Goldberg <jody@gnome.org>
* src/workbook-control-gui.c (wbcg_menu_state_update) : link filter
state to 'show all' state.
* src/value.c (value_cmp_reverse) : new.
* src/xml-io.c (xml_write_sheet_filters) : new.
(xml_sheet_write) : Used here.
(xml_read_sheet_filters) : new.
(xml_sheet_read) : Used here.
* src/gui-util.c (gnumeric_option_menu_get_selected_index) : delete.
* src/sheet-filter.c (cb_filter_find_minmax) : new.
(cb_hide_the_rest) : new.
(filter_field_apply) : support top/bottom N items.
(cb_filter_button_release) : connect up the dialog stubs.
2002-11-18 Fernando Herrera <fherrera@onirica.com>
* gnumeric.desktop.in: add X-GNOME-BUGZILLA stuff
2002-12-04 Jody Goldberg <jody@gnome.org>
* src/expr.c (gnm_expr_as_string) : Add a currently useless
......
......@@ -7,3 +7,6 @@ Icon=gnome-gnumeric.png
Terminal=false
Type=Application
Categories=Application;Office;Spreadsheet;
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=gnumeric
X-GNOME-Bugzilla-Component=
2002-12-05 Jody Goldberg <jody@gnome.org>
* POTFILES.in (schemas) : add the autofilter dialogs
2002-12-05 Jan Morén <jan.moren@lucs.lu.se>
* sv.po: Updated Swedish translation.
......
......@@ -107,6 +107,8 @@ src/cut-n-paste-code/egg/toolbar/eggtoolitem.c
src/dates.c
src/dependent.c
src/dialogs/advanced-filter.glade
src/dialogs/autofilter-expression.glade
src/dialogs/autofilter-top10.glade
src/dialogs/anova-one.glade
src/dialogs/anova-two.glade
src/dialogs/autocorrect.glade
......@@ -125,6 +127,7 @@ src/dialogs/delete-cells.glade
src/dialogs/descriptive-stats.glade
src/dialogs/dialog-about.c
src/dialogs/dialog-advanced-filter.c
src/dialogs/dialog-autofilter.c
src/dialogs/dialog-analysis-tools.c
src/dialogs/dialog-autocorrect.c
src/dialogs/dialog-autoformat.c
......
2002-12-04 Jody Goldberg <jody@gnome.org>
* Makefile.am : add autofilter
* dialogs.h : ditto.
* dialog-autofilter.c : new.
* autofilter.glade : new.
2002-12-03 Morten Welinder <terra@diku.dk>
* dialog-printer-setup.c (unit_selector_gnome_print_unit_to_gnm):
......
......@@ -29,6 +29,7 @@ base_files = \
dialog-advanced-filter.c \
dialog-analysis-tools.c \
dialog-autocorrect.c \
dialog-autofilter.c \
dialog-autoformat.c \
dialog-autosave.c \
dialog-cell-comment.c \
......@@ -85,6 +86,8 @@ glade_DATA = \
anova-one.glade \
anova-two.glade \
autocorrect.glade \
autofilter-expression.glade \
autofilter-top10.glade \
autoformat.glade \
autosave.glade \
cell-comment.glade \
......
<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
<glade-interface>
<widget class="GtkDialog" id="dialog">
<property name="visible">True</property>
<property name="title" translatable="yes">Gnumeric : AutoFilter</property>
<property name="type">GTK_WINDOW_TOPLEVEL</property>
<property name="window_position">GTK_WIN_POS_MOUSE</property>
<property name="modal">False</property>
<property name="resizable">True</property>
<property name="destroy_with_parent">False</property>
<property name="has_separator">True</property>
<child internal-child="vbox">
<widget class="GtkVBox" id="dialog-vbox2">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child internal-child="action_area">
<widget class="GtkHButtonBox" id="dialog-action_area2">
<property name="visible">True</property>
<property name="layout_style">GTK_BUTTONBOX_END</property>
<child>
<widget class="GtkButton" id="help_button">
<property name="visible">True</property>
<property name="can_default">True</property>
<property name="can_focus">True</property>
<property name="label">gtk-help</property>
<property name="use_stock">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="response_id">-11</property>
</widget>
</child>
<child>
<widget class="GtkButton" id="cancel_button">
<property name="visible">True</property>
<property name="can_default">True</property>
<property name="can_focus">True</property>
<property name="label">gtk-cancel</property>
<property name="use_stock">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="response_id">-6</property>
</widget>
</child>
<child>
<widget class="GtkButton" id="ok_button">
<property name="visible">True</property>
<property name="can_default">True</property>
<property name="can_focus">True</property>
<property name="label">gtk-ok</property>
<property name="use_stock">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="response_id">-5</property>
</widget>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack_type">GTK_PACK_END</property>
</packing>
</child>
<child>
<widget class="GtkTable" id="table2">
<property name="visible">True</property>
<property name="n_rows">6</property>
<property name="n_columns">4</property>
<property name="homogeneous">False</property>
<property name="row_spacing">0</property>
<property name="column_spacing">0</property>
<child>
<widget class="GtkOptionMenu" id="optionmenu3">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="history">0</property>
<child>
<widget class="GtkMenu" id="menu3">
<child>
<widget class="GtkMenuItem" id="unused">
<property name="visible">True</property>
<property name="label" translatable="yes"> </property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_unused_activate" last_modification_time="Wed, 04 Dec 2002 16:33:53 GMT"/>
</widget>
</child>
<child>
<widget class="GtkMenuItem" id="equals1">
<property name="visible">True</property>
<property name="label" translatable="yes">equals</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_equals1_activate" last_modification_time="Wed, 04 Dec 2002 16:32:58 GMT"/>
</widget>
</child>
<child>
<widget class="GtkMenuItem" id="does_not_equal1">
<property name="visible">True</property>
<property name="label" translatable="yes">does not equal</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_does_not_equal1_activate" last_modification_time="Wed, 04 Dec 2002 16:32:58 GMT"/>
</widget>
</child>
<child>
<widget class="GtkMenuItem" id="is_greater_than1">
<property name="visible">True</property>
<property name="label" translatable="yes">is greater than</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_is_greater_than1_activate" last_modification_time="Wed, 04 Dec 2002 16:32:58 GMT"/>
</widget>
</child>
<child>
<widget class="GtkMenuItem" id="is_greater_than_or_equal_to1">
<property name="visible">True</property>
<property name="label" translatable="yes">is greater than or equal to</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_is_greater_than_or_equal_to1_activate" last_modification_time="Wed, 04 Dec 2002 16:32:58 GMT"/>
</widget>
</child>
<child>
<widget class="GtkMenuItem" id="is_less_than1">
<property name="visible">True</property>
<property name="label" translatable="yes">is less than</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_is_less_than1_activate" last_modification_time="Wed, 04 Dec 2002 16:32:58 GMT"/>
</widget>
</child>
<child>
<widget class="GtkMenuItem" id="is_less_than_or_equal_to1">
<property name="visible">True</property>
<property name="label" translatable="yes">is less than or equal to</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_is_less_than_or_equal_to1_activate" last_modification_time="Wed, 04 Dec 2002 16:32:58 GMT"/>
</widget>
</child>
<child>
<widget class="GtkMenuItem" id="begins_with1">
<property name="visible">True</property>
<property name="label" translatable="yes">begins with</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_begins_with1_activate" last_modification_time="Wed, 04 Dec 2002 16:32:58 GMT"/>
</widget>
</child>
<child>
<widget class="GtkMenuItem" id="does_not_begin_with1">
<property name="visible">True</property>
<property name="label" translatable="yes">does not begin with</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_does_not_begin_with1_activate" last_modification_time="Wed, 04 Dec 2002 16:32:58 GMT"/>
</widget>
</child>
<child>
<widget class="GtkMenuItem" id="ends_with1">
<property name="visible">True</property>
<property name="label" translatable="yes">ends with</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_ends_with1_activate" last_modification_time="Wed, 04 Dec 2002 16:32:58 GMT"/>
</widget>
</child>
<child>
<widget class="GtkMenuItem" id="does_not_end_with1">
<property name="visible">True</property>
<property name="label" translatable="yes">does not end with</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_does_not_end_with1_activate" last_modification_time="Wed, 04 Dec 2002 16:32:58 GMT"/>
</widget>
</child>
<child>
<widget class="GtkMenuItem" id="contains1">
<property name="visible">True</property>
<property name="label" translatable="yes">contains</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_contains1_activate" last_modification_time="Wed, 04 Dec 2002 16:32:58 GMT"/>
</widget>
</child>
<child>
<widget class="GtkMenuItem" id="does_not_contain1">
<property name="visible">True</property>
<property name="label" translatable="yes">does not contain</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_does_not_contain1_activate" last_modification_time="Wed, 04 Dec 2002 16:32:58 GMT"/>
</widget>
</child>
</widget>
</child>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
</child>
<child>
<widget class="GtkOptionMenu" id="optionmenu4">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="history">0</property>
<child>
<widget class="GtkMenu" id="menu4">
<child>
<widget class="GtkMenuItem" id="menuitem1">
<property name="visible">True</property>
<property name="label" translatable="yes"> </property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_unused_activate" last_modification_time="Wed, 04 Dec 2002 16:33:53 GMT"/>
</widget>
</child>
<child>
<widget class="GtkMenuItem" id="menuitem2">
<property name="visible">True</property>
<property name="label" translatable="yes">equals</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_equals1_activate" last_modification_time="Wed, 04 Dec 2002 16:32:58 GMT"/>
</widget>
</child>
<child>
<widget class="GtkMenuItem" id="menuitem3">
<property name="visible">True</property>
<property name="label" translatable="yes">does not equal</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_does_not_equal1_activate" last_modification_time="Wed, 04 Dec 2002 16:32:58 GMT"/>
</widget>
</child>
<child>
<widget class="GtkMenuItem" id="menuitem4">
<property name="visible">True</property>
<property name="label" translatable="yes">is greater than</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_is_greater_than1_activate" last_modification_time="Wed, 04 Dec 2002 16:32:58 GMT"/>
</widget>
</child>
<child>
<widget class="GtkMenuItem" id="menuitem5">
<property name="visible">True</property>
<property name="label" translatable="yes">is greater than or equal to</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_is_greater_than_or_equal_to1_activate" last_modification_time="Wed, 04 Dec 2002 16:32:58 GMT"/>
</widget>
</child>
<child>
<widget class="GtkMenuItem" id="menuitem6">
<property name="visible">True</property>
<property name="label" translatable="yes">is less than</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_is_less_than1_activate" last_modification_time="Wed, 04 Dec 2002 16:32:58 GMT"/>
</widget>
</child>
<child>
<widget class="GtkMenuItem" id="menuitem7">
<property name="visible">True</property>
<property name="label" translatable="yes">is less than or equal to</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_is_less_than_or_equal_to1_activate" last_modification_time="Wed, 04 Dec 2002 16:32:58 GMT"/>
</widget>
</child>
<child>
<widget class="GtkMenuItem" id="menuitem8">
<property name="visible">True</property>
<property name="label" translatable="yes">begins with</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_begins_with1_activate" last_modification_time="Wed, 04 Dec 2002 16:32:58 GMT"/>
</widget>
</child>
<child>
<widget class="GtkMenuItem" id="menuitem9">
<property name="visible">True</property>
<property name="label" translatable="yes">does not begin with</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_does_not_begin_with1_activate" last_modification_time="Wed, 04 Dec 2002 16:32:58 GMT"/>
</widget>
</child>
<child>
<widget class="GtkMenuItem" id="menuitem10">
<property name="visible">True</property>
<property name="label" translatable="yes">ends with</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_ends_with1_activate" last_modification_time="Wed, 04 Dec 2002 16:32:58 GMT"/>
</widget>
</child>
<child>
<widget class="GtkMenuItem" id="menuitem11">
<property name="visible">True</property>
<property name="label" translatable="yes">does not end with</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_does_not_end_with1_activate" last_modification_time="Wed, 04 Dec 2002 16:32:58 GMT"/>
</widget>
</child>
<child>
<widget class="GtkMenuItem" id="menuitem12">
<property name="visible">True</property>
<property name="label" translatable="yes">contains</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_contains1_activate" last_modification_time="Wed, 04 Dec 2002 16:32:58 GMT"/>
</widget>
</child>
<child>
<widget class="GtkMenuItem" id="menuitem13">
<property name="visible">True</property>
<property name="label" translatable="yes">does not contain</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_does_not_contain1_activate" last_modification_time="Wed, 04 Dec 2002 16:32:58 GMT"/>
</widget>
</child>
</widget>
</child>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label2">
<property name="visible">True</property>
<property name="label" translatable="yes">Show rows where:</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">5</property>
<property name="ypad">5</property>
</widget>
<packing>
<property name="left_attach">0</property>
<property name="right_attach">4</property>
<property name="top_attach">0</property>
<property name="bottom_attach">1</property>
<property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
</child>
<child>
<widget class="GtkHBox" id="hbox2">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child>
<widget class="GtkRadioButton" id="radiobutton1">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">_And</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
</widget>
<packing>
<property name="padding">10</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkRadioButton" id="radiobutton2">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">_Or</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
<property name="group">radiobutton1</property>
</widget>
<packing>
<property name="padding">10</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">4</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="y_padding">7</property>
<property name="x_options">fill</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>
<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
<glade-interface>
<widget class="GtkDialog" id="dialog">
<property name="visible">True</property>
<property name="title" translatable="yes">Gnumeric : AutoFilter</property>
<property name="type">GTK_WINDOW_TOPLEVEL</property>
<property name="window_position">GTK_WIN_POS_MOUSE</property>
<property name="modal">False</property>
<property name="resizable">True</property>
<property name="destroy_with_parent">False</property>
<property name="has_separator">True</property>
<child internal-child="vbox">
<widget class="GtkVBox" id="dialog-vbox1">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child internal-child="action_area">
<widget class="GtkHButtonBox" id="dialog-action_area1">
<property name="visible">True</property>
<property name="layout_style">GTK_BUTTONBOX_END</property>
<child>
<widget class="GtkButton" id="help_button">
<property name="visible">True</property>
<property name="can_default">True</property>
<property name="can_focus">True</property>
<property name="label">gtk-help</property>
<property name="use_stock">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="response_id">-11</property>
</widget>
</child>
<child>
<widget class="GtkButton" id="cancel_button">
<property name="visible">True</property>
<property name="can_default">True</property>
<property name="can_focus">True</property>
<property name="label">gtk-cancel</property>
<property name="use_stock">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="response_id">-6</property>
</widget>
</child>
<child>
<widget class="GtkButton" id="ok_button">
<property name="visible">True</property>
<property name="can_default">True</property>
<property name="can_focus">True</property>
<property name="label">gtk-ok</property>
<property name="use_stock">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="response_id">-5</property>