[maemo-commits] [maemo-commits] r10356 - in projects/haf/trunk/hildon-desktop: . libhildondesktop src
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Mon Mar 5 11:41:41 EET 2007
- Previous message: [maemo-commits] r10355 - projects/haf/hafbuildbot
- Next message: [maemo-commits] r10357 - projects/haf/branches/hildon-libs/hildon-1/debian
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: jobi Date: 2007-03-05 11:41:37 +0200 (Mon, 05 Mar 2007) New Revision: 10356 Modified: projects/haf/trunk/hildon-desktop/ChangeLog projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-home-applet.c projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-home-window.c projects/haf/trunk/hildon-desktop/src/hd-home-window.c Log: 2007-03-05 Johan Bilien <johan.bilien at nokia.com> * libhildondesktop/hildon-home-applet.c: - Made the drag handle have its own icon * libhildondesktop/hildon-home-window.c: - Do not go to layout mode if it sucks * src/hd-home-window.c: - Added "layout-mode-sucks" property - adapt menus to this property Modified: projects/haf/trunk/hildon-desktop/ChangeLog =================================================================== --- projects/haf/trunk/hildon-desktop/ChangeLog 2007-03-05 09:09:29 UTC (rev 10355) +++ projects/haf/trunk/hildon-desktop/ChangeLog 2007-03-05 09:41:37 UTC (rev 10356) @@ -1,5 +1,15 @@ -2007-03-01 Johan Bilien <johan.bilien at nokia.com> +2007-03-05 Johan Bilien <johan.bilien at nokia.com> + * libhildondesktop/hildon-home-applet.c: + - Made the drag handle have its own icon + * libhildondesktop/hildon-home-window.c: + - Do not go to layout mode if it sucks + * src/hd-home-window.c: + - Added "layout-mode-sucks" property + - adapt menus to this property + +2007-03-05 Johan Bilien <johan.bilien at nokia.com> + * libhildondesktop/hildon-home-titlebar.c: - add image as child rather than button icon for the accept and cancel buttons (hildon themes don't support button icons) Modified: projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-home-applet.c =================================================================== --- projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-home-applet.c 2007-03-05 09:09:29 UTC (rev 10355) +++ projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-home-applet.c 2007-03-05 09:41:37 UTC (rev 10356) @@ -45,6 +45,9 @@ #define APPLET_CLOSE_BUTTON_ICON "qgn_home_layoutmode_close" #define APPLET_CLOSE_BUTTON_WIDTH 26 #define APPLET_CLOSE_BUTTON_HEIGHT 26 +#define APPLET_DRAG_HANDLE_ICON "qgn_list_presence_invisible" +#define APPLET_DRAG_HANDLE_WIDTH 26 +#define APPLET_DRAG_HANDLE_HEIGHT 26 #define GRID_SIZE 10 @@ -82,6 +85,7 @@ GdkWindow *close_button_window; GdkPixbuf *resize_handle; GdkWindow *resize_handle_window; + GdkPixbuf *drag_handle; GdkWindow *drag_handle_window; GdkWindow *event_window; @@ -359,7 +363,7 @@ "Layout mode sucks", "Whether or not the layout mode " "is considered to suck", - /*TRUE well really it should*/ FALSE, + TRUE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT); g_object_class_install_property (object_class, @@ -417,6 +421,20 @@ g_error_free (error); error = NULL; } + + applet_class->drag_handle = + gtk_icon_theme_load_icon (icon_theme, + APPLET_DRAG_HANDLE_ICON, + APPLET_DRAG_HANDLE_WIDTH, + GTK_ICON_LOOKUP_NO_SVG, + &error); + if (error) + { + g_warning ("Could not load drag handle icon: %s", error->message); + applet_class->drag_handle = NULL; + g_error_free (error); + error = NULL; + } } static void @@ -445,14 +463,17 @@ priv->resize_handle = klass->resize_handle; } + if (klass->drag_handle) + { + g_object_ref (klass->drag_handle); + priv->drag_handle = klass->drag_handle; + } + gtk_widget_add_events (GTK_WIDGET (self), GDK_VISIBILITY_NOTIFY_MASK); /* FIXME remove this from the theme */ gtk_widget_set_name (GTK_WIDGET (self), "osso-home-layoutmode-applet"); - fprintf (stderr, "Layout mode sucks: %i\n", priv->layout_mode_sucks); - - } static void @@ -632,7 +653,7 @@ { priv->drag_handle_window = hildon_home_applet_create_icon_window (HILDON_HOME_APPLET (widget), - priv->resize_handle, + priv->drag_handle, 0, 0); Modified: projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-home-window.c =================================================================== --- projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-home-window.c 2007-03-05 09:09:29 UTC (rev 10355) +++ projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-home-window.c 2007-03-05 09:41:37 UTC (rev 10356) @@ -122,8 +122,13 @@ HildonHomeWindow *window) { HildonHomeWindowPrivate *priv = window->priv; + gboolean layout_mode_sucks; - if (HILDON_IS_HOME_AREA (priv->applet_area)) + g_object_get (applet, + "layout-mode-sucks", &layout_mode_sucks, + NULL); + + if (HILDON_IS_HOME_AREA (priv->applet_area) && !layout_mode_sucks) { HildonHomeArea *area = HILDON_HOME_AREA (priv->applet_area); Modified: projects/haf/trunk/hildon-desktop/src/hd-home-window.c =================================================================== --- projects/haf/trunk/hildon-desktop/src/hd-home-window.c 2007-03-05 09:09:29 UTC (rev 10355) +++ projects/haf/trunk/hildon-desktop/src/hd-home-window.c 2007-03-05 09:41:37 UTC (rev 10356) @@ -80,6 +80,8 @@ osso_context_t *osso_context; #endif + gboolean layout_mode_sucks; + GtkWidget *settings_item; GtkWidget *settings_menu; GtkWidget *layout_mode_item; @@ -99,6 +101,7 @@ { PROP_0, PROP_OSSO_CONTEXT, + PROP_LAYOUT_MODE_SUCKS, PROP_BACKGROUND }; @@ -241,6 +244,15 @@ g_object_class_install_property (object_class, PROP_BACKGROUND, pspec); + + pspec = g_param_spec_boolean ("layout-mode-sucks", + "Layout mode sucks", + "Whether or not the layout mode sucks", + TRUE, + (G_PARAM_READWRITE | G_PARAM_CONSTRUCT)); + g_object_class_install_property (object_class, + PROP_LAYOUT_MODE_SUCKS, + pspec); g_type_class_add_private (window_class, sizeof (HDHomeWindowPrivate)); @@ -357,6 +369,7 @@ GParamSpec *pspec) { HDHomeWindow *window = HD_HOME_WINDOW (gobject); + HDHomeWindowPrivate *priv = HD_HOME_WINDOW_GET_PRIVATE (gobject); switch (prop_id) { @@ -374,6 +387,10 @@ g_value_get_object (value)); break; + case PROP_LAYOUT_MODE_SUCKS: + priv->layout_mode_sucks = g_value_get_boolean (value); + break; + default: G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec); break; @@ -395,6 +412,10 @@ g_value_set_pointer (value, priv->osso_context); break; #endif + + case PROP_LAYOUT_MODE_SUCKS: + g_value_set_boolean (value, priv->layout_mode_sucks); + break; case PROP_BACKGROUND: g_value_set_object (value, priv->background); @@ -674,22 +695,45 @@ priv->settings_item = menu_item; priv->settings_menu = settings_menu; - /* layout mode */ - menu_item = gtk_menu_item_new_with_label (HH_MENU_EDIT_LAYOUT); - g_signal_connect_swapped (menu_item, "activate", - G_CALLBACK (hildon_home_window_layout_mode_activate), - window); + if (!priv->layout_mode_sucks) + { + /* layout mode */ + menu_item = gtk_menu_item_new_with_label (HH_MENU_EDIT_LAYOUT); + g_signal_connect_swapped (menu_item, "activate", + G_CALLBACK (hildon_home_window_layout_mode_activate), + window); #ifdef HAVE_LIBHILDON - hildon_helper_set_insensitive_message (menu_item, HH_LAYOUT_UNAVAIL_BANNER); + hildon_helper_set_insensitive_message (menu_item, HH_LAYOUT_UNAVAIL_BANNER); #else - g_signal_connect_swapped (menu_item, "insensitive-press", - G_CALLBACK (hd_home_window_layout_insensitive_press_cb), - window); + g_signal_connect_swapped (menu_item, "insensitive-press", + G_CALLBACK (hd_home_window_layout_insensitive_press_cb), + window); #endif - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); - gtk_widget_set_sensitive (menu_item, FALSE); - gtk_widget_show (menu_item); - priv->layout_mode_item = menu_item; + gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); + gtk_widget_set_sensitive (menu_item, FALSE); + gtk_widget_show (menu_item); + priv->layout_mode_item = menu_item; + } + + else + { + GtkWidget *area; + + menu_item = gtk_check_menu_item_new_with_label (HH_MENU_LAYOUT_SNAP_TO_GRID); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); + g_signal_connect_swapped (menu_item, "toggled", + G_CALLBACK (hd_home_window_snap_toggled), + window); + area = hildon_home_window_get_area (HILDON_HOME_WINDOW (window)); + if (area) + { + gboolean snap_to_grid; + g_object_get (G_OBJECT (area), "snap-to-grid", &snap_to_grid, NULL); + gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (menu_item), + snap_to_grid); + } + gtk_widget_show (menu_item); + } /* tools sub-menu */ tools_menu = gtk_menu_new ();
- Previous message: [maemo-commits] r10355 - projects/haf/hafbuildbot
- Next message: [maemo-commits] r10357 - projects/haf/branches/hildon-libs/hildon-1/debian
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]