[evolution] Bug 786447 - Calculate width for Date/Time Format combo box
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution] Bug 786447 - Calculate width for Date/Time Format combo box
- Date: Wed, 23 Aug 2017 16:52:58 +0000 (UTC)
commit a2d1a235ff61398c0ecda1d3f2f48593436414e8
Author: Milan Crha <mcrha redhat com>
Date: Wed Aug 23 18:51:59 2017 +0200
Bug 786447 - Calculate width for Date/Time Format combo box
src/e-util/e-datetime-format.c | 33 ++++++++++++++++++++++++++-------
1 files changed, 26 insertions(+), 7 deletions(-)
---
diff --git a/src/e-util/e-datetime-format.c b/src/e-util/e-datetime-format.c
index fd3def6..185c37a 100644
--- a/src/e-util/e-datetime-format.c
+++ b/src/e-util/e-datetime-format.c
@@ -390,7 +390,7 @@ fill_combo_formats (GtkWidget *combo,
};
const gchar **items = NULL;
- gint i, idx = 0;
+ gint i, idx = 0, max_len = 0;
const gchar *fmt;
g_return_if_fail (GTK_IS_COMBO_BOX (combo));
@@ -415,24 +415,43 @@ fill_combo_formats (GtkWidget *combo,
fmt = get_format_internal (key, kind);
for (i = 0; items[i]; i++) {
+ gint len;
+
if (i == 0) {
- gtk_combo_box_text_append_text (
- GTK_COMBO_BOX_TEXT (combo), _(items[i]));
+ gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo), _(items[i]));
+ len = g_utf8_strlen (_(items[i]), -1);
} else {
- gtk_combo_box_text_append_text (
- GTK_COMBO_BOX_TEXT (combo), items[i]);
+ gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo), items[i]);
+ len = g_utf8_strlen (items[i], -1);
+
if (!idx && fmt && g_str_equal (fmt, items[i]))
idx = i;
}
+
+ if (len > max_len)
+ max_len = len;
}
if (idx == 0 && fmt && !g_str_equal (fmt, get_default_format (kind, key))) {
- gtk_combo_box_text_append_text (
- GTK_COMBO_BOX_TEXT (combo), fmt);
+ gint len;
+
+ gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo), fmt);
idx = i;
+
+ len = g_utf8_strlen (fmt, -1);
+ if (len > max_len)
+ max_len = len;
}
gtk_combo_box_set_active ((GtkComboBox *) combo, idx);
+
+ if (max_len > 10) {
+ GtkWidget *widget;
+
+ widget = gtk_bin_get_child (GTK_BIN (combo));
+ if (GTK_IS_ENTRY (widget))
+ gtk_entry_set_width_chars (GTK_ENTRY (widget), max_len + 1);
+ }
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]