[maemo-commits] [maemo-commits] r9372 - in projects/haf/branches/gtk+/maemo-gtk-2-10: . gtk
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Fri Jan 26 16:37:36 EET 2007
- Previous message: [maemo-commits] r9371 - projects/haf/trunk/hildon-fm/debian
- Next message: [maemo-commits] r9373 - projects/haf/tags/hildon-fm
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: timj Date: 2007-01-26 16:37:34 +0200 (Fri, 26 Jan 2007) New Revision: 9372 Modified: projects/haf/branches/gtk+/maemo-gtk-2-10/ChangeLog projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtkcombobox.c projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtkentrycompletion.c projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtkmenu.c Log: Fri Jan 26 15:31:35 2007 Tim Janik <timj at imendio.com> * Backports: * gtk/gtkentrycompletion.c: * gtk/gtkcombobox.c: * gtk/gtkmenu.c: set various widget names to allow style and theme alterations via rc-file definitions. * gtk/gtkcombobox.c (gtk_combo_box_set_popup_widget): explicitely set frame border width to 0, since the default frame border width might be altered by other maemo patches. Modified: projects/haf/branches/gtk+/maemo-gtk-2-10/ChangeLog =================================================================== --- projects/haf/branches/gtk+/maemo-gtk-2-10/ChangeLog 2007-01-26 14:32:59 UTC (rev 9371) +++ projects/haf/branches/gtk+/maemo-gtk-2-10/ChangeLog 2007-01-26 14:37:34 UTC (rev 9372) @@ -1,3 +1,16 @@ +Fri Jan 26 15:31:35 2007 Tim Janik <timj at imendio.com> + + * Backports: + + * gtk/gtkentrycompletion.c: + * gtk/gtkcombobox.c: + * gtk/gtkmenu.c: set various widget names to allow style and theme + alterations via rc-file definitions. + + * gtk/gtkcombobox.c (gtk_combo_box_set_popup_widget): explicitely set + frame border width to 0, since the default frame border width might be + altered by other maemo patches. + 2007-01-26 Michael Natterer <mitch at imendio.com> * modules/input/gtkimcontextxim.c (gtk_im_context_xim_finalize): Modified: projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtkcombobox.c =================================================================== --- projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtkcombobox.c 2007-01-26 14:32:59 UTC (rev 9371) +++ projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtkcombobox.c 2007-01-26 14:37:34 UTC (rev 9372) @@ -1274,6 +1274,9 @@ GtkWidget *toplevel; combo_box->priv->popup_window = gtk_window_new (GTK_WINDOW_POPUP); +#ifdef MAEMO_CHANGES + gtk_widget_set_name (combo_box->priv->popup_window, "hildon-combobox-window"); +#endif /* MAEMO_CHANGES */ gtk_window_set_type_hint (GTK_WINDOW (combo_box->priv->popup_window), GDK_WINDOW_TYPE_HINT_COMBO); @@ -1299,6 +1302,12 @@ gtk_widget_get_screen (GTK_WIDGET (combo_box))); combo_box->priv->popup_frame = gtk_frame_new (NULL); + +#ifdef MAEMO_CHANGES + /* Hildon: undo the changes made to GtkFrame defaults */ + gtk_container_set_border_width (GTK_CONTAINER (combo_box->priv->popup_frame), 0); +#endif /* MAEMO_CHANGES */ + gtk_frame_set_shadow_type (GTK_FRAME (combo_box->priv->popup_frame), GTK_SHADOW_ETCHED_IN); gtk_container_add (GTK_CONTAINER (combo_box->priv->popup_window), Modified: projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtkentrycompletion.c =================================================================== --- projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtkentrycompletion.c 2007-01-26 14:32:59 UTC (rev 9371) +++ projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtkentrycompletion.c 2007-01-26 14:37:34 UTC (rev 9372) @@ -455,6 +455,10 @@ gtk_box_pack_start (GTK_BOX (priv->vbox), priv->scrolled_window, TRUE, TRUE, 0); +#ifdef MAEMO_CHANGES + gtk_widget_set_name (priv->popup_window, "hildon-completion-window"); +#endif /* MAEMO_CHANGES */ + /* we don't want to see the action treeview when no actions have * been inserted, so we pack the action treeview after the first * action has been added Modified: projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtkmenu.c =================================================================== --- projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtkmenu.c 2007-01-26 14:32:59 UTC (rev 9371) +++ projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtkmenu.c 2007-01-26 14:37:34 UTC (rev 9372) @@ -43,6 +43,9 @@ #include "gtksettings.h" #include "gtkprivate.h" #include "gtkintl.h" +#ifdef MAEMO_CHANGES +#include "gtkmenubar.h" +#endif /* MAEMO_CHANGES */ #include "gtkalias.h" @@ -1243,6 +1246,49 @@ return FALSE; } +#ifdef MAEMO_CHANGES +#define HILDON_MENU_NAME_SHARP "menu_with_corners" +/* needed to allow different themeing for first level menus */ +#define HILDON_MENU_NAME_ROUND_FIRST_LEVEL "menu_without_corners_first_level" +#define HILDON_MENU_NAME_ROUND "menu_without_corners" +#define HILDON_MENU_NAME_FORCE_SHARP "menu_force_with_corners" +#define HILDON_MENU_NAME_FORCE_ROUND "menu_force_without_corners" + +/* Little help function for making some sanity tests on this menu. + * Checks that given widget really is a menu and that it has no name + * assigned to it yet. + * Names used to do hildon theming: + * HILDON_MENU_NAME_SHARP for menu with sharp upper corners + * HILDON_MENU_NAME_ROUND for menu with round corners + */ +static gboolean +maemo_menu_check_name (GtkWidget *widget) +{ + gboolean legal_name = FALSE; + gchar **tmp = NULL; + const gchar *name = NULL; + static gchar *menu_names[] = { "GtkMenu", + HILDON_MENU_NAME_SHARP, + HILDON_MENU_NAME_ROUND, + HILDON_MENU_NAME_ROUND_FIRST_LEVEL, + NULL }; + if (GTK_IS_MENU (widget) && + (name = gtk_widget_get_name (widget))) + { + if (!g_ascii_strcasecmp (name, HILDON_MENU_NAME_FORCE_SHARP) || !g_ascii_strcasecmp (name, HILDON_MENU_NAME_FORCE_ROUND)) + return FALSE; + for (tmp = menu_names; *tmp; tmp++) + if (!g_ascii_strcasecmp (name, *tmp )) + { + legal_name = TRUE; + break; + } + } + + return legal_name; +} +#endif /* MAEMO_CHANGES */ + /** * gtk_menu_popup: * @menu: a #GtkMenu. @@ -1344,6 +1390,19 @@ { if (popup_grab_on_window (xgrab_shell->window, activate_time, grab_keyboard)) GTK_MENU_SHELL (xgrab_shell)->have_xgrab = TRUE; + +#ifdef MAEMO_CHANGES + /* Maemo: enable rc-file theming */ + if (maemo_menu_check_name (widget)) + { + if (GTK_IS_MENU_BAR (parent_menu_shell)) + gtk_widget_set_name (widget, HILDON_MENU_NAME_SHARP); + else if (GTK_IS_MENU (parent_menu_shell)) + gtk_widget_set_name( widget, HILDON_MENU_NAME_ROUND); + else + gtk_widget_set_name (widget, HILDON_MENU_NAME_ROUND_FIRST_LEVEL); + } +#endif /* MAEMO_CHANGES */ } else { @@ -1353,6 +1412,12 @@ transfer_window = menu_grab_transfer_window_get (menu); if (popup_grab_on_window (transfer_window, activate_time, grab_keyboard)) GTK_MENU_SHELL (xgrab_shell)->have_xgrab = TRUE; + +#ifdef MAEMO_CHANGES + /* Maemo: enable rc-file theming */ + if (maemo_menu_check_name (widget)) + gtk_widget_set_name (widget, HILDON_MENU_NAME_ROUND_FIRST_LEVEL); +#endif /* MAEMO_CHANGES */ } if (!GTK_MENU_SHELL (xgrab_shell)->have_xgrab)
- Previous message: [maemo-commits] r9371 - projects/haf/trunk/hildon-fm/debian
- Next message: [maemo-commits] r9373 - projects/haf/tags/hildon-fm
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]