summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Persch <chpe@gnome.org>2009-04-08 19:18:44 +0200
committerChristian Persch <chpe@gnome.org>2009-04-20 14:54:59 +0200
commit45d076fcc2ae6f03a34d9b2018fcd53e9d2bddfe (patch)
treee915ab242d2d520b7e67262e6686fb4e834237f6
parent0e99a5849ee1da052150c50bd641ebb49b9eaa70 (diff)
downloadgdk-pixbuf-45d076fcc2ae6f03a34d9b2018fcd53e9d2bddfe.tar.gz
Display invalid accelerators as "Invalid" in GTK mode.
When in GTK_CELL_RENDERER_ACCEL_MODE_GTK, display accelerator key combinations that don't pass gtk_accelerator_valid() as "Invalid". Bug #572799.
-rw-r--r--gtk/gtkcellrendereraccel.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/gtk/gtkcellrendereraccel.c b/gtk/gtkcellrendereraccel.c
index 306bc5e24..f3e229688 100644
--- a/gtk/gtkcellrendereraccel.c
+++ b/gtk/gtkcellrendereraccel.c
@@ -244,7 +244,16 @@ convert_keysym_state_to_string (GtkCellRendererAccel *accel,
else
{
if (accel->accel_mode == GTK_CELL_RENDERER_ACCEL_MODE_GTK)
- return gtk_accelerator_get_label (keysym, mask);
+ {
+ if (!gtk_accelerator_valid (keysym, mask))
+ /* This label is displayed in a treeview cell displaying
+ * an accelerator key combination that is not valid according
+ * to gtk_accelerator_valid().
+ */
+ return g_strdup (C_("Accelerator", "Invalid"));
+
+ return gtk_accelerator_get_label (keysym, mask);
+ }
else
{
gchar *name;