M!151 - e-datetime-format: Port from GtkTable to GtkGrid

e_datetime_format_add_setup_widget now takes a GtkGrid.

Closes https://gitlab.gnome.org/GNOME/evolution/-/merge_requests/151
This commit is contained in:
Corentin Noël
2024-12-12 00:01:11 +01:00
parent 7e6275f0a3
commit 25ea5855da
7 changed files with 29 additions and 90 deletions

View File

@ -607,7 +607,7 @@ unref_setup_keyfile (gpointer ptr)
/**
* e_datetime_format_add_setup_widget:
* @table: Where to attach widgets. Requires 3 columns.
* @grid: Where to attach widgets. Requires 3 columns.
* @row: On which row to attach.
* @component: Component identifier for the format. Cannot be empty nor NULL.
* @part: Part in the component, can be NULL or empty string.
@ -619,7 +619,7 @@ unref_setup_keyfile (gpointer ptr)
* on user's changes.
**/
void
e_datetime_format_add_setup_widget (GtkWidget *table,
e_datetime_format_add_setup_widget (GtkGrid *grid,
gint row,
const gchar *component,
const gchar *part,
@ -627,10 +627,10 @@ e_datetime_format_add_setup_widget (GtkWidget *table,
const gchar *caption)
{
GtkListStore *store;
GtkWidget *label, *combo, *preview, *align;
GtkWidget *label, *combo, *preview;
gchar *key;
g_return_if_fail (table != NULL);
g_return_if_fail (GTK_IS_GRID (grid));
g_return_if_fail (row >= 0);
g_return_if_fail (component != NULL);
g_return_if_fail (*component != 0);
@ -638,6 +638,7 @@ e_datetime_format_add_setup_widget (GtkWidget *table,
key = gen_key (component, part, kind);
label = gtk_label_new_with_mnemonic (caption ? caption : _("Format:"));
gtk_label_set_xalign (GTK_LABEL (label), 1.0);
store = gtk_list_store_new (1, G_TYPE_STRING);
combo = g_object_new (
@ -651,16 +652,13 @@ e_datetime_format_add_setup_widget (GtkWidget *table,
fill_combo_formats (combo, key, kind);
gtk_label_set_mnemonic_widget ((GtkLabel *) label, combo);
align = gtk_alignment_new (0.0, 0.5, 0.0, 0.0);
gtk_container_add (GTK_CONTAINER (align), combo);
gtk_table_attach ((GtkTable *) table, label, 0, 1, row, row + 1, 0, 0, 2, 0);
gtk_table_attach ((GtkTable *) table, align, 1, 2, row, row + 1, 0, 0, 2, 0);
gtk_grid_attach (grid, label, 0, row, 1, 1);
gtk_grid_attach (grid, combo, 1, row, 1, 1);
preview = gtk_label_new ("");
gtk_label_set_xalign (GTK_LABEL (preview), 0);
gtk_label_set_ellipsize (GTK_LABEL (preview), PANGO_ELLIPSIZE_END);
gtk_table_attach ((GtkTable *) table, preview, 2, 3, row, row + 1, GTK_EXPAND | GTK_FILL, 0, 2, 0);
gtk_grid_attach (grid, preview, 2, row, 1, 1);
if (!setup_keyfile) {
gchar *filename;
@ -685,7 +683,7 @@ e_datetime_format_add_setup_widget (GtkWidget *table,
update_preview_widget (combo);
gtk_widget_show_all (table);
gtk_widget_show_all (GTK_WIDGET (grid));
}
gchar *

View File

@ -42,7 +42,7 @@ gchar * e_datetime_format_dup_config_filename
(void);
void e_datetime_format_free_memory (void);
void e_datetime_format_add_setup_widget
(GtkWidget *table,
(GtkGrid *grid,
gint row,
const gchar *component,
const gchar *part,

View File

@ -3475,54 +3475,12 @@
</packing>
</child>
<child>
<object class="GtkAlignment" id="datetime-format-alignment">
<object class="GtkGrid" id="datetime-format-grid">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="left_padding">12</property>
<child>
<object class="GtkTable" id="datetime-format-table">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="n_columns">3</property>
<property name="row_spacing">6</property>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
</object>
</child>
<property name="row_spacing">6</property>
<property name="column_spacing">6</property>
<property name="margin-start">12</property>
</object>
<packing>
<property name="expand">False</property>

View File

@ -117,10 +117,11 @@ get_general_page (EConfig *config,
itembox = add_section (vbox, _("Date/Time Format"), FALSE);
widget = gtk_table_new (1, 3, FALSE);
widget = gtk_grid_new ();
gtk_grid_set_column_spacing (GTK_GRID (widget), 6);
gtk_box_pack_start (GTK_BOX (itembox), widget, FALSE, FALSE, 0);
e_datetime_format_add_setup_widget (
widget, 0, "addressbook", "table",
GTK_GRID (widget), 0, "addressbook", "table",
DTFormatKindDateTime, _("_Table column:"));
gtk_widget_show (widget);

View File

@ -758,7 +758,7 @@ calendar_preferences_construct (ECalendarPreferences *prefs,
GObject *object;
GtkWidget *toplevel;
GtkWidget *widget;
GtkWidget *table;
GtkGrid *grid;
GSList *l;
settings = e_util_ref_settings ("org.gnome.evolution.calendar");
@ -1242,9 +1242,9 @@ calendar_preferences_construct (ECalendarPreferences *prefs,
G_SETTINGS_BIND_DEFAULT);
/* date/time format */
table = e_builder_get_widget (prefs->priv->builder, "datetime_format_table");
e_datetime_format_add_setup_widget (table, 0, "calendar", "table", DTFormatKindDateTime, _("Ti_me and date:"));
e_datetime_format_add_setup_widget (table, 1, "calendar", "table", DTFormatKindDate, _("_Date only:"));
grid = GTK_GRID (e_builder_get_widget (prefs->priv->builder, "datetime_format_grid"));
e_datetime_format_add_setup_widget (grid, 0, "calendar", "table", DTFormatKindDateTime, _("Ti_me and date:"));
e_datetime_format_add_setup_widget (grid, 1, "calendar", "table", DTFormatKindDate, _("_Date only:"));
/* Hook up and add the toplevel widget */

View File

@ -780,29 +780,11 @@
</packing>
</child>
<child>
<object class="GtkTable" id="datetime_format_table">
<object class="GtkGrid" id="datetime_format_grid">
<property name="row_spacing">6</property>
<property name="column_spacing">6</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="n_columns">3</property>
<property name="row_spacing">6</property>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="expand">True</property>

View File

@ -1825,7 +1825,7 @@ em_mailer_prefs_construct (EMMailerPrefs *prefs,
GHashTable *default_header_hash;
GtkWidget *toplevel;
GtkWidget *container;
GtkWidget *table;
GtkGrid *grid;
GtkWidget *widget;
GtkTreeModel *tree_model;
GtkTreeSelection *selection;
@ -2256,14 +2256,14 @@ em_mailer_prefs_construct (EMMailerPrefs *prefs,
emmp_user_headers_changed_cb (prefs->priv->eds_settings, NULL, prefs);
/* date/time format */
table = e_builder_get_widget (prefs->priv->builder, "datetime-format-table");
grid = GTK_GRID (e_builder_get_widget (prefs->priv->builder, "datetime-format-grid"));
/* To Translators: 'Table column' is a label for configurable date/time format for table columns showing a date in message list */
e_datetime_format_add_setup_widget (table, 0, "mail", "table", DTFormatKindDateTime, _("_Table column:"));
e_datetime_format_add_setup_widget (grid, 0, "mail", "table", DTFormatKindDateTime, _("_Table column:"));
/* To Translators: 'Date header' is a label for configurable date/time format for 'Date' header in mail message window/preview */
e_datetime_format_add_setup_widget (table, 1, "mail", "header", DTFormatKindDateTime, _("_Date header:"));
e_datetime_format_add_setup_widget (grid, 1, "mail", "header", DTFormatKindDateTime, _("_Date header:"));
widget = gtk_check_button_new_with_mnemonic (_("Show _original header value"));
gtk_widget_show (widget);
gtk_table_attach ((GtkTable *) table, widget, 0, 3, 2, 3, GTK_EXPAND | GTK_FILL, 0, 12, 0);
gtk_grid_attach (grid, widget, 0, 2, 3, 1);
g_settings_bind (
settings, "show-real-date",
widget, "active",