[maemo-commits] [maemo-commits] r10296 - in projects/haf/trunk/hildon-desktop: . libhildondesktop src
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Thu Mar 1 17:36:21 EET 2007
- Previous message: [maemo-commits] r10295 - projects/haf/hafbuildbot
- Next message: [maemo-commits] r10297 - projects/haf/trunk/hildon-desktop/debian
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: jobi Date: 2007-03-01 17:36:18 +0200 (Thu, 01 Mar 2007) New Revision: 10296 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-area.c projects/haf/trunk/hildon-desktop/src/hd-home-l10n.h projects/haf/trunk/hildon-desktop/src/hd-home-window.c Log: 2007-03-01 Johan Bilien <johan.bilien at nokia.com> * libhildondesktop/hildon-home-area.c: - added snap-to-grid boolean property * libhildondesktop/hildon-home-applet.c: - check the parent property to know whether to snap to grid * src/hd-home-window.c: - Added check menu item connected to this property Modified: projects/haf/trunk/hildon-desktop/ChangeLog =================================================================== --- projects/haf/trunk/hildon-desktop/ChangeLog 2007-03-01 15:16:29 UTC (rev 10295) +++ projects/haf/trunk/hildon-desktop/ChangeLog 2007-03-01 15:36:18 UTC (rev 10296) @@ -1,6 +1,15 @@ 2007-03-01 Johan Bilien <johan.bilien at nokia.com> + * libhildondesktop/hildon-home-area.c: + - added snap-to-grid boolean property * libhildondesktop/hildon-home-applet.c: + - check the parent property to know whether to snap to grid + * src/hd-home-window.c: + - Added check menu item connected to this property + +2007-03-01 Johan Bilien <johan.bilien at nokia.com> + + * libhildondesktop/hildon-home-applet.c: - added hildon_home_snap_to_grid - call the latter when releasing the drag Modified: projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-home-applet.c =================================================================== --- projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-home-applet.c 2007-03-01 15:16:29 UTC (rev 10295) +++ projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-home-applet.c 2007-03-01 15:36:18 UTC (rev 10296) @@ -78,8 +78,6 @@ gboolean layout_mode; HildonHomeAppletResizeType resize_type; - gboolean snap_to_grid; - GdkPixbuf *close_button; GdkWindow *close_button_window; GdkPixbuf *resize_handle; @@ -434,7 +432,6 @@ priv = HILDON_HOME_APPLET_GET_PRIVATE (self); priv->layout_mode = FALSE; - priv->snap_to_grid = TRUE; if (klass->close_button) { @@ -1402,8 +1399,14 @@ if (priv->timeout) { + gboolean snap_to_grid = FALSE; - if (priv->snap_to_grid) + if (applet->parent) + g_object_get (G_OBJECT (applet->parent), + "snap-to-grid", &snap_to_grid, + NULL); + + if (snap_to_grid) hildon_home_applet_snap_to_grid (HILDON_HOME_APPLET (applet)); g_source_remove (priv->timeout); Modified: projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-home-area.c =================================================================== --- projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-home-area.c 2007-03-01 15:16:29 UTC (rev 10295) +++ projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-home-area.c 2007-03-01 15:36:18 UTC (rev 10296) @@ -35,7 +35,8 @@ enum { - HILDON_HOME_AREA_PROPERTY_LAYOUT_MODE = 1 + HILDON_HOME_AREA_PROPERTY_LAYOUT_MODE = 1, + HILDON_HOME_AREA_PROPERTY_SNAP_TO_GRID }; typedef struct HildonHomeAreaPriv_ @@ -43,6 +44,8 @@ gboolean layout_mode; gboolean layout_changed; + gboolean snap_to_grid; + GHashTable *layout; GList *to_add; @@ -250,11 +253,21 @@ "Whether the home area is in layout " "mode", FALSE, - G_PARAM_READABLE | G_PARAM_WRITABLE); + G_PARAM_READWRITE | G_PARAM_CONSTRUCT); g_object_class_install_property (object_class, HILDON_HOME_AREA_PROPERTY_LAYOUT_MODE, pspec); + + pspec = g_param_spec_boolean ("snap-to-grid", + "Snap to grid", + "Whether applets should snap to grid", + TRUE, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT); + + g_object_class_install_property (object_class, + HILDON_HOME_AREA_PROPERTY_SNAP_TO_GRID, + pspec); } @@ -286,6 +299,9 @@ const GValue *value, GParamSpec *pspec) { + HildonHomeAreaPriv *priv; + priv = HILDON_HOME_AREA_GET_PRIVATE (HILDON_HOME_AREA (object)); + switch (property_id) { case HILDON_HOME_AREA_PROPERTY_LAYOUT_MODE: @@ -293,6 +309,10 @@ g_value_get_boolean (value)); break; + case HILDON_HOME_AREA_PROPERTY_SNAP_TO_GRID: + priv->snap_to_grid = g_value_get_boolean (value); + break; + default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); break; @@ -313,6 +333,10 @@ case HILDON_HOME_AREA_PROPERTY_LAYOUT_MODE: g_value_set_boolean (value, priv->layout_mode); break; + + case HILDON_HOME_AREA_PROPERTY_SNAP_TO_GRID: + g_value_set_boolean (value, priv->snap_to_grid); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); Modified: projects/haf/trunk/hildon-desktop/src/hd-home-l10n.h =================================================================== --- projects/haf/trunk/hildon-desktop/src/hd-home-l10n.h 2007-03-01 15:16:29 UTC (rev 10295) +++ projects/haf/trunk/hildon-desktop/src/hd-home-l10n.h 2007-03-01 15:36:18 UTC (rev 10296) @@ -54,6 +54,7 @@ #define HH_MENU_LAYOUT_SELECT _MAD("home_me_layout_select_applets") #define HH_MENU_LAYOUT_ACCEPT _MAD("home_me_layout_accept_layout") #define HH_MENU_LAYOUT_CANCEL _MAD("home_me_layout_cancel") +#define HH_MENU_LAYOUT_SNAP_TO_GRID "Snap to grid" #define HH_MENU_LAYOUT_HELP _MAD("home_me_layout_help") /* applet settings unavailable banner */ Modified: projects/haf/trunk/hildon-desktop/src/hd-home-window.c =================================================================== --- projects/haf/trunk/hildon-desktop/src/hd-home-window.c 2007-03-01 15:16:29 UTC (rev 10295) +++ projects/haf/trunk/hildon-desktop/src/hd-home-window.c 2007-03-01 15:36:18 UTC (rev 10296) @@ -37,6 +37,8 @@ #include <libhildondesktop/hildon-home-area.h> #include <libhildondesktop/hildon-home-titlebar.h> +#include <gtk/gtkcheckmenuitem.h> + #ifdef HAVE_LIBHILDON #include <hildon/hildon-banner.h> #include <hildon/hildon-note.h> @@ -165,6 +167,9 @@ hd_home_window_layout_mode_cancel (HildonHomeWindow *window); static void +hd_home_window_snap_toggled (HDHomeWindow *window, GtkCheckMenuItem *item); + +static void hd_home_window_show_layout_mode_banner (HDHomeWindow *window); static gboolean @@ -736,8 +741,9 @@ static GtkWidget * hd_home_window_build_layout_menu (HDHomeWindow *window) { - GtkWidget *menu; - GtkWidget *mi; + GtkWidget *menu; + GtkWidget *mi; + GtkWidget *area; menu = gtk_menu_new (); @@ -762,6 +768,20 @@ window); gtk_widget_show (mi); + mi = gtk_check_menu_item_new_with_label (HH_MENU_LAYOUT_SNAP_TO_GRID); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi); + g_signal_connect_swapped (mi, "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 (mi), snap_to_grid); + } + gtk_widget_show (mi); + #ifdef HAVE_LIBOSSOHELP mi = gtk_menu_item_new_with_label (HH_MENU_LAYOUT_HELP); gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi); @@ -904,6 +924,20 @@ #endif static void +hd_home_window_snap_toggled (HDHomeWindow *window, GtkCheckMenuItem *item) +{ + GtkWidget *area; + + area = hildon_home_window_get_area (HILDON_HOME_WINDOW (window)); + + if (area) + g_object_set (area, + "snap-to-grid", gtk_check_menu_item_get_active (item), + NULL); + +} + +static void hd_home_window_ensure_menu_status (HDHomeWindow *window) { HDHomeWindowPrivate *priv;
- Previous message: [maemo-commits] r10295 - projects/haf/hafbuildbot
- Next message: [maemo-commits] r10297 - projects/haf/trunk/hildon-desktop/debian
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]