Commit 64284f53 authored by Jody Goldberg's avatar Jody Goldberg Committed by Jody Goldberg

request no decoration for the splash. (icg_processing_file) : do not push

2006-12-24  Jody Goldberg <jody@gnome.org>

	* src/io-context-gtk.c (cb_realize) : request no decoration for the
	  splash.
	(icg_processing_file) : do not push the splash to the top for every
	  file.  It's damn irritating.

	* src/GNOME_Gnumeric-gtk.xml.in : Hook up the DataTable dialog
	  and re-order Text-To-Columns.

	* src/sheet-object-widget.c (cb_collect) : handle reference to blank
	  cells.

	* src/gnm-so-filled.c (gnm_so_filled_user_config) : give labels their
	  own title.
parent 9f5c7b0d
2006-12-24 Jody Goldberg <jody@gnome.org>
* src/io-context-gtk.c (cb_realize) : request no decoration for the
splash.
(icg_processing_file) : do not push the splash to the top for every
file. It's damn irritating.
* src/GNOME_Gnumeric-gtk.xml.in : Hook up the DataTable dialog
and re-order Text-To-Columns.
* src/sheet-object-widget.c (cb_collect) : handle reference to blank
cells.
* src/gnm-so-filled.c (gnm_so_filled_user_config) : give labels their
own title.
2006-12-21 Jody Goldberg <jody@gnome.org>
http://bugzilla.gnome.org/show_bug.cgi?id=388505
......
......@@ -6,7 +6,7 @@ AC_PREREQ(2.54)
m4_define([gnumeric_version_epoch], [1])
m4_define([gnumeric_version_major], [7])
m4_define([gnumeric_version_minor], [7])
m4_define([gnumeric_version_extra], [])
m4_define([gnumeric_version_extra], [datatable])
m4_define([gnumeric_full_version],
[gnumeric_version_epoch.gnumeric_version_major.gnumeric_version_minor[]gnumeric_version_extra])
......
......@@ -195,9 +195,8 @@
<menuitem action="DataFilterAdvancedfilter"/>
</menu>
<menuitem action="DataValidate"/>
<separator/>
<menuitem action="DataTextToColumns"/>
<menuitem action="DataConsolidate"/>
<menuitem action="DataTable"/>
<!-- <menuitem action="DataSlice"/> -->
<menu name="Outline" action="MenuOutline">
<menuitem action="DataOutlineHideDetail"/>
......@@ -209,6 +208,8 @@
<menuitem action="SheetOutlineBelow"/>
<menuitem action="SheetOutlineRight"/>
</menu>
<separator/>
<menuitem action="DataTextToColumns"/>
<menu name="ExternalData" action="MenuExternalData">
<menuitem action="DataImportText"/>
</menu>
......
......@@ -35,6 +35,7 @@ base_files = \
dialog-col-width.c \
dialog-col-row.c \
dialog-consolidate.c \
dialog-data-table.c \
dialog-fill-series.c \
dialog-function-select.c \
dialog-formula-guru.c \
......@@ -59,6 +60,7 @@ base_files = \
dialog-sheet-order.c \
dialog-shuffle.c \
dialog-simulation.c \
dialog-so-list.c \
dialog-so-styled.c \
dialog-stf.c \
dialog-stf.h \
......@@ -101,6 +103,7 @@ glade_DATA = \
correlation.glade \
covariance.glade \
dao.glade \
data-table.glade \
define-name.glade \
delete-cells.glade \
descriptive-stats.glade \
......@@ -140,6 +143,7 @@ glade_DATA = \
shuffle.glade \
so-checkbox.glade \
so-frame.glade \
so-list.glade \
so-scrollbar.glade \
simulation.glade \
solver.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="DataTable">
<property name="visible">True</property>
<property name="title" translatable="yes">Data Table</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="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_DIALOG</property>
<property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
<property name="focus_on_map">True</property>
<property name="urgency_hint">False</property>
<property name="has_separator">False</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">
<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="focus_on_click">True</property>
<property name="response_id">-11</property>
</widget>
</child>
<child>
<widget class="GtkButton" id="cancel">
<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="focus_on_click">True</property>
<property name="response_id">-6</property>
</widget>
</child>
<child>
<widget class="GtkButton" id="ok">
<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="focus_on_click">True</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="table">
<property name="border_width">12</property>
<property name="visible">True</property>
<property name="n_rows">2</property>
<property name="n_columns">2</property>
<property name="homogeneous">False</property>
<property name="row_spacing">12</property>
<property name="column_spacing">12</property>
<child>
<widget class="GtkLabel" id="row-label">
<property name="visible">True</property>
<property name="label" translatable="yes">_Row Input :</property>
<property name="use_underline">True</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>
<accessibility>
<atkrelation target="row-entry" type="label-for"/>
</accessibility>
</widget>
<packing>
<property name="left_attach">0</property>
<property name="right_attach">1</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="GtkLabel" id="col-label">
<property name="visible">True</property>
<property name="label" translatable="yes">Co_lumn Input :</property>
<property name="use_underline">True</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>
<accessibility>
<atkrelation target="col-entry" type="label-for"/>
</accessibility>
</widget>
<packing>
<property name="left_attach">0</property>
<property name="right_attach">1</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="Custom" id="row-entry">
<property name="visible">True</property>
<property name="creation_function">gnm_expr_entry_new_glade</property>
<accessibility>
<atkrelation target="row-label" type="labelled-by"/>
</accessibility>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">0</property>
<property name="bottom_attach">1</property>
<property name="y_options">fill</property>
</packing>
</child>
<child>
<widget class="Custom" id="col-entry">
<property name="visible">True</property>
<property name="creation_function">gnm_expr_entry_new_glade</property>
<accessibility>
<atkrelation target="col-label" type="labelled-by"/>
</accessibility>
</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">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>
/* vim: set sw=8: -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/*
* dialog-data-table.c: Create a Data Table
*
* Copyright (C) 2006 Jody Goldberg (jody@gnome.org)
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of version 2 of the GNU General Public
* License as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
#include <gnumeric-config.h>
#include <gnumeric.h>
#include "dialogs.h"
#include "help.h"
#include <expr.h>
#include <selection.h>
#include <sheet.h>
#include <sheet-view.h>
#include <workbook.h>
#include <workbook-control.h>
#include <workbook-edit.h>
#include <gui-util.h>
#include <parse-util.h>
#include <commands.h>
#include <widgets/gnumeric-expr-entry.h>
#include <gtk/gtktable.h>
#include <glib/gi18n.h>
#define DIALOG_DATA_TABLE_KEY "dialog-data-table"
typedef struct {
GladeXML *gui;
GtkWidget *dialog;
GnmExprEntry *row_entry, *col_entry;
WorkbookControlGUI *wbcg;
} GnmDialogDataTable;
static void
cb_data_table_destroy (GnmDialogDataTable *state)
{
wbcg_edit_detach_guru (state->wbcg);
if (state->gui != NULL)
g_object_unref (G_OBJECT (state->gui));
g_free (state);
}
static GnmExprEntry *
init_entry (GnmDialogDataTable *state, char const *name)
{
GtkWidget *w = glade_xml_get_widget (state->gui, name);
g_return_val_if_fail (w != NULL, NULL);
gnm_expr_entry_set_flags (GNM_EXPR_ENTRY (w),
GNM_EE_SINGLE_RANGE, GNM_EE_SINGLE_RANGE);
g_object_set (G_OBJECT (w),
"scg", wbcg_cur_scg (state->wbcg),
"with-icon", TRUE,
NULL);
return GNM_EXPR_ENTRY (w);
}
static void
cb_data_table_response (GtkWidget *dialog, gint response_id, GnmDialogDataTable *state)
{
if (response_id == GTK_RESPONSE_HELP)
return;
if (response_id == GTK_RESPONSE_OK) {
}
gtk_object_destroy (GTK_OBJECT (dialog));
}
static gboolean
data_table_init (GnmDialogDataTable *state, WorkbookControlGUI *wbcg)
{
GtkTable *table;
state->wbcg = wbcg;
state->gui = gnm_glade_xml_new (GO_CMD_CONTEXT (wbcg),
"data-table.glade", NULL, NULL);
if (state->gui == NULL)
return TRUE;
state->dialog = glade_xml_get_widget (state->gui, "DataTable");
table = GTK_TABLE (glade_xml_get_widget (state->gui, "table"));
state->row_entry = init_entry (state, "row-entry");
state->col_entry = init_entry (state, "col-entry");
g_signal_connect (G_OBJECT (state->dialog), "response",
G_CALLBACK (cb_data_table_response), state);
gnumeric_init_help_button (
glade_xml_get_widget (state->gui, "help"),
GNUMERIC_HELP_LINK_DATA_TABLE);
/* a candidate for merging into attach guru */
gnumeric_keyed_dialog (state->wbcg, GTK_WINDOW (state->dialog),
DIALOG_DATA_TABLE_KEY);
g_object_set_data_full (G_OBJECT (state->dialog),
"state", state, (GDestroyNotify)cb_data_table_destroy);
go_gtk_nonmodal_dialog (wbcg_toplevel (state->wbcg),
GTK_WINDOW (state->dialog));
wbcg_edit_attach_guru (state->wbcg, state->dialog);
gtk_widget_show_all (GTK_WIDGET (state->dialog));
return FALSE;
}
void
dialog_data_table (WorkbookControlGUI *wbcg)
{
GnmDialogDataTable *state;
g_return_if_fail (wbcg != NULL);
if (wbcg_edit_get_guru (wbcg) ||
gnumeric_dialog_raise_if_exists (wbcg, DIALOG_DATA_TABLE_KEY))
return;
state = g_new0 (GnmDialogDataTable, 1);
if (data_table_init (state, wbcg)) {
go_gtk_notice_dialog (wbcg_toplevel (wbcg), GTK_MESSAGE_ERROR,
_("Could not create the Data Table definition dialog."));
g_free (state);
}
}
......@@ -533,18 +533,16 @@ name_guru_init (NameGuruState *state, WorkbookControlGUI *wbcg)
GtkTable *definition_table;
GtkTreeViewColumn *column;
state->wbcg = wbcg;
state->wb = wb;
state->sv = wb_control_cur_sheet_view (WORKBOOK_CONTROL (wbcg));
state->sheet = sv_sheet (state->sv);
state->gui = gnm_glade_xml_new (GO_CMD_CONTEXT (wbcg),
"define-name.glade", NULL, NULL);
if (state->gui == NULL)
return TRUE;
parse_pos_init (&state->pp, state->wb, state->sheet,
state->sv->edit_pos.col,
state->sv->edit_pos.row);
state->wbcg = wbcg;
state->wb = wb;
state->sv = wb_control_cur_sheet_view (WORKBOOK_CONTROL (wbcg));
state->sheet = sv_sheet (state->sv);
parse_pos_init_editpos (&state->pp, state->sv);
state->dialog = glade_xml_get_widget (state->gui, "NameGuru");
definition_table = GTK_TABLE (glade_xml_get_widget (state->gui, "definition_table"));
......
/* vim: set sw=8: -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/*
* dialog-so-list.c: A property dialog for lists and combos
*
* Copyright (C) 2006 Jody Goldberg (jody@gnome.org)
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of version 2 of the GNU General Public
* License as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
* USA
*/
#include <gnumeric-config.h>
#include <gnumeric.h>
#include "dialogs.h"
#include "help.h"
#include <expr.h>
#include <selection.h>
#include <sheet.h>
#include <sheet-view.h>
#include <workbook.h>
#include <workbook-control.h>
#include <workbook-edit.h>
#include <gui-util.h>
#include <parse-util.h>
#include <commands.h>
#include <widgets/gnumeric-expr-entry.h>
#include <gtk/gtktable.h>
#include <glib/gi18n.h>
#define DIALOG_SO_LIST_KEY "so-list"
typedef struct {
GladeXML *gui;
GtkWidget *dialog;
GnmExprEntry *content_entry, *link_entry;
WorkbookControlGUI *wbcg;
} GnmDialogSOList;
static void
cb_so_list_destroy (GnmDialogSOList *state)
{
wbcg_edit_detach_guru (state->wbcg);
if (state->gui != NULL)
g_object_unref (G_OBJECT (state->gui));
g_free (state);
}
static GnmExprEntry *
init_entry (GnmDialogSOList *state, char const *name)
{
GtkWidget *w = glade_xml_get_widget (state->gui, name);
g_return_val_if_fail (w != NULL, NULL);
gnm_expr_entry_set_flags (GNM_EXPR_ENTRY (w),
GNM_EE_SINGLE_RANGE, GNM_EE_SINGLE_RANGE);
g_object_set (G_OBJECT (w),
"scg", wbcg_cur_scg (state->wbcg),
"with-icon", TRUE,
NULL);
return GNM_EXPR_ENTRY (w);
}
static void
cb_so_list_response (GtkWidget *dialog, gint response_id, GnmDialogSOList *state)
{
if (response_id == GTK_RESPONSE_HELP)
return;
if (response_id == GTK_RESPONSE_OK) {
}
gtk_object_destroy (GTK_OBJECT (dialog));
}
static gboolean
so_list_init (GnmDialogSOList *state, WorkbookControlGUI *wbcg)
{
GtkTable *table;
state->wbcg = wbcg;
state->gui = gnm_glade_xml_new (GO_CMD_CONTEXT (wbcg),
"so-list.glade", NULL, NULL);
if (state->gui == NULL)
return TRUE;
state->dialog = glade_xml_get_widget (state->gui, "SOList");
table = GTK_TABLE (glade_xml_get_widget (state->gui, "table"));
state->content_entry = init_entry (state, "content-entry");
state->link_entry = init_entry (state, "link-entry");
g_signal_connect (G_OBJECT (state->dialog), "response",
G_CALLBACK (cb_so_list_response), state);
gnumeric_init_help_button (
glade_xml_get_widget (state->gui, "help"),
GNUMERIC_HELP_LINK_SO_LIST);
/* a candidate for merging into attach guru */
gnumeric_keyed_dialog (state->wbcg, GTK_WINDOW (state->dialog),
DIALOG_SO_LIST_KEY);
g_object_set_data_full (G_OBJECT (state->dialog),
"state", state, (GDestroyNotify)cb_so_list_destroy);
go_gtk_nonmodal_dialog (wbcg_toplevel (state->wbcg),
GTK_WINDOW (state->dialog));
wbcg_edit_attach_guru (state->wbcg, state->dialog);
gtk_widget_show_all (GTK_WIDGET (state->dialog));
return FALSE;
}
void
dialog_so_list (WorkbookControlGUI *wbcg, GObject *so)
{
GnmDialogSOList *state;
g_return_if_fail (wbcg != NULL);
if (wbcg_edit_get_guru (wbcg) ||
gnumeric_dialog_raise_if_exists (wbcg, DIALOG_SO_LIST_KEY))
return;
state = g_new0 (GnmDialogSOList, 1);
if (so_list_init (state, wbcg)) {
go_gtk_notice_dialog (wbcg_toplevel (wbcg), GTK_MESSAGE_ERROR,
_("Could not create the List Property dialog."));
g_free (state);
}
}
......@@ -47,6 +47,7 @@ void dialog_advanced_filter (WorkbookControlGUI *wbcg);
void dialog_shuffle (WorkbookControlGUI *wbcg);
void dialog_scenario_add (WorkbookControlGUI *wbcg);
void dialog_scenarios (WorkbookControlGUI *wbcg);
void dialog_data_table (WorkbookControlGUI *wbcg);
void dialog_auto_filter (WorkbookControlGUI *wbcg, GnmFilter *f, int i,
gboolean is_expr, GnmFilterCondition *cur);
void dialog_autosave (WorkbookControlGUI *wbcg);
......@@ -114,6 +115,7 @@ void dialog_new_view (WorkbookControlGUI *wbcg);
void dialog_so_styled (WorkbookControlGUI *wbcg, GObject *so,
GogStyle *orig, GogStyle *default_style,
char const *title);
void dialog_so_list (WorkbookControlGUI *wbcg, GObject *so);
void dialog_doc_metadata_new (WorkbookControlGUI *wbcg);
......
......@@ -18,9 +18,10 @@
#define GNUMERIC_HELP_H
/* ../sheet-object-widget.c */
#define GNUMERIC_HELP_LINK_SO_FRAME "sect-graphics-drawings"
#define GNUMERIC_HELP_LINK_SO_FRAME "sect-graphics-drawings"
#define GNUMERIC_HELP_LINK_SO_ADJUSTMENT "sect-graphics-drawings"
#define GNUMERIC_HELP_LINK_SO_CHECKBOX "sect-graphics-drawings"
#define GNUMERIC_HELP_LINK_SO_CHECKBOX "sect-graphics-drawings"
#define GNUMERIC_HELP_LINK_SO_LIST "sect-graphics-drawings"
/* dialog-autocorrect.c */
#define GNUMERIC_HELP_LINK_AUTOCORRECT "sect-data-entry"
......@@ -52,6 +53,11 @@
/* dialog-define-names.c */
#define GNUMERIC_HELP_LINK_DEFINE_NAMES "sect-workbooks-names"
/* dialog-paste-names.c */
#define GNUMERIC_HELP_LINK_PASTE_NAMES "sect-workbooks-names-paste"
/* dialog-define-table.c */
#define GNUMERIC_HELP_LINK_DATA_TABLE "sect-data-table"
/* dialog-delete-cells.c */
#define GNUMERIC_HELP_LINK_DELETE_CELLS "sect-data-delete"
......
<?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="SOList">
<property name="visible">True</property>
<property name="title" translatable="yes">List Properties</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="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_DIALOG</property>
<property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
<property name="focus_on_map">True</property>
<property name="urgency_hint">False</property>
<property name="has_separator">False</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">
<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="focus_on_click">True</property>
<property name="response_id">-11</property>
</widget>
</child>
<child>
<widget class="GtkButton" id="cancel">
<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="focus_on_click">True</property>
<property name="response_id">-6</property>
</widget>
</child>
<child>
<widget class="GtkButton" id="ok">
<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="focus_on_click">True</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="table">
<property name="border_width">12</property>
<property name="visible">True</property>
<property name="n_rows">2</property>
<property name="n_columns">2</property>
<property name="homogeneous">False</property>
<property name="row_spacing">12</property>
<property name="column_spacing">12</property>
<child>
<widget class="GtkLabel" id="link-label">
<property name="visible">True</property>
<property name="label" translatable="yes">_Link :</property>
<property name="use_underline">True</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>