[maemo-commits] [maemo-commits] r9938 - in projects/haf/branches/hildon-libs/hildon-1: . doc examples src
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Fri Feb 16 13:57:06 EET 2007
- Previous message: [maemo-commits] r9937 - in projects/haf/trunk/hildon-theme-layout-4: . rc
- Next message: [maemo-commits] r9940 - in projects/haf/branches/gtk+/maemo-gtk-2-10: . gtk
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: mdk Date: 2007-02-16 13:57:04 +0200 (Fri, 16 Feb 2007) New Revision: 9938 Modified: projects/haf/branches/hildon-libs/hildon-1/ChangeLog.2 projects/haf/branches/hildon-libs/hildon-1/doc/Makefile.am projects/haf/branches/hildon-libs/hildon-1/doc/hildon-docs.sgml projects/haf/branches/hildon-libs/hildon-1/doc/visual_index.xml projects/haf/branches/hildon-libs/hildon-1/examples/hildon-banner-example.c projects/haf/branches/hildon-libs/hildon-1/src/hildon-banner-private.h projects/haf/branches/hildon-libs/hildon-1/src/hildon-banner.c projects/haf/branches/hildon-libs/hildon-1/src/hildon-banner.h Log: Adding Lucas patch to enable settable timeout on the banners and settable icon. Modified: projects/haf/branches/hildon-libs/hildon-1/ChangeLog.2 =================================================================== --- projects/haf/branches/hildon-libs/hildon-1/ChangeLog.2 2007-02-16 10:18:40 UTC (rev 9937) +++ projects/haf/branches/hildon-libs/hildon-1/ChangeLog.2 2007-02-16 11:57:04 UTC (rev 9938) @@ -1,3 +1,16 @@ +2007-02-16 Michael Dominic Kostrzewa <michael.kostrzewa at nokia.com> + + * doc/Makefile.am: + * doc/hildon-docs.sgml: + * doc/visual_index.xml: Documentation fixes. + + * src/hildon-banner-private.h: + * src/hildon-banner.c: + * src/hildon-banner.h: Adding Lucas patch to enable settable timeout + on the banners and settable icon. + + * examples/hildon-banner-example.c: Set timeout manually. + 2007-02-15 Michael Dominic Kostrzewa <michael.kostrzewa at nokia.com> * src/hildon-color-chooser-dialog.h: Modified: projects/haf/branches/hildon-libs/hildon-1/doc/Makefile.am =================================================================== --- projects/haf/branches/hildon-libs/hildon-1/doc/Makefile.am 2007-02-16 10:18:40 UTC (rev 9937) +++ projects/haf/branches/hildon-libs/hildon-1/doc/Makefile.am 2007-02-16 11:57:04 UTC (rev 9938) @@ -11,12 +11,14 @@ SCANOBJ_OPTIONS =--type-init-func="gtk_type_init(0)" -DOC_SOURCE_DIR =../src +DOC_SOURCE_DIR = $(top_srcdir)/src +DOC_BUILD_DIR = $(top_builddir)/src -HFILE_GLOB =$(top_srcdir)/src/*.h -CFILE_GLOB =$(top_srcdir)/src/*.c +HFILE_GLOB = $(top_srcdir)/src/*.h +CFILE_GLOB = $(top_srcdir)/src/*.c + IGNORE_HFILES = hildon-banner-private.h \ hildon-calendar-popup-private.h \ hildon-caption-private.h \ @@ -48,19 +50,23 @@ INCLUDES = $(GTK_CFLAGS) -I$(top_srcdir) -GTKDOC_LIBS = $(GTK_LIBS) ../src/libhildon_ at PACKAGE_VERSION_MAJOR@.la +MKDB_OPTIONS =--sgml-mode --output-format=xml -MKDB_OPTIONS =--sgml-mode - content_files = version.xml \ visual_index.xml +GTKDOC_CFLAGS = $(HILDON_OBJ_CFLAGS) + +GTKDOC_LIBS = $(HILDON_OBJ_LIBS) + version.xml: ../configure.ac @echo $(VERSION) > version.xml html: html-build.stamp -HTML_IMAGES = $(srcdir)/images/calendar-popup.png +HTML_IMAGES = $(srcdir)/images/calendar-popup.png \ + $(srcdir)/images/caption.png \ + $(srcdir)/images/code-dialog.png FIXXREF_OPTIONS = Modified: projects/haf/branches/hildon-libs/hildon-1/doc/hildon-docs.sgml =================================================================== --- projects/haf/branches/hildon-libs/hildon-1/doc/hildon-docs.sgml 2007-02-16 10:18:40 UTC (rev 9937) +++ projects/haf/branches/hildon-libs/hildon-1/doc/hildon-docs.sgml 2007-02-16 11:57:04 UTC (rev 9938) @@ -12,7 +12,6 @@ <chapter> <title>Object Hierarchy</title> <xi:include href="xml/tree_index.sgml"/> - <xi:include href="visual_index.xml"/> </chapter> <chapter> Modified: projects/haf/branches/hildon-libs/hildon-1/doc/visual_index.xml =================================================================== --- projects/haf/branches/hildon-libs/hildon-1/doc/visual_index.xml 2007-02-16 10:18:40 UTC (rev 9937) +++ projects/haf/branches/hildon-libs/hildon-1/doc/visual_index.xml 2007-02-16 11:57:04 UTC (rev 9938) @@ -1,68 +1,68 @@ <para role="gallery"> <link linkend="HildonCalendarPopup"> - <inlinegraphic fileref="images/calendar-popup.png" format="PNG"></inlinegraphic> + <inlinegraphic fileref="html/calendar-popup.png" format="PNG"></inlinegraphic> </link> <link linkend="HildonCaption"> - <inlinegraphic fileref="images/caption.png" format="PNG"></inlinegraphic> + <inlinegraphic fileref="html/caption.png" format="PNG"></inlinegraphic> </link> <link linkend="HildonCodeDialog"> - <inlinegraphic fileref="images/code-dialog.png" format="PNG"></inlinegraphic> + <inlinegraphic fileref="html/code-dialog.png" format="PNG"></inlinegraphic> </link> <link linkend="HildonColorButton"> - <inlinegraphic fileref="images/color-button.png" format="PNG"></inlinegraphic> + <inlinegraphic fileref="html/color-button.png" format="PNG"></inlinegraphic> </link> <link linkend="HildonColorChooserDialog"> - <inlinegraphic fileref="images/color-chooser-dialog.png" format="PNG"></inlinegraphic> + <inlinegraphic fileref="html/color-chooser-dialog.png" format="PNG"></inlinegraphic> </link> <link linkend="HildonCalorChooser"> - <inlinegraphic fileref="images/color-chooser.png" format="PNG"></inlinegraphic> + <inlinegraphic fileref="html/color-chooser.png" format="PNG"></inlinegraphic> </link> <link linkend="HildonCantrolbar"> - <inlinegraphic fileref="images/controlbar.png" format="PNG"></inlinegraphic> + <inlinegraphic fileref="html/controlbar.png" format="PNG"></inlinegraphic> </link> <link linkend="HildonDateEditor"> - <inlinegraphic fileref="images/date-editor.png" format="PNG"></inlinegraphic> + <inlinegraphic fileref="html/date-editor.png" format="PNG"></inlinegraphic> </link> <link linkend="HildonFontSelectionDialog"> - <inlinegraphic fileref="images/font-selection-dialog.png" format="PNG"></inlinegraphic> + <inlinegraphic fileref="html/font-selection-dialog.png" format="PNG"></inlinegraphic> </link> <link linkend="HildonGetPasswordDialog"> - <inlinegraphic fileref="images/get-password-dialog.png" format="PNG"></inlinegraphic> + <inlinegraphic fileref="html/get-password-dialog.png" format="PNG"></inlinegraphic> </link> <link linkend="HildonHVolumebar"> - <inlinegraphic fileref="images/hvolumebar.png" format="PNG"></inlinegraphic> + <inlinegraphic fileref="html/hvolumebar.png" format="PNG"></inlinegraphic> </link> <link linkend="HildonDialog"> - <inlinegraphic fileref="images/login-dialog.png" format="PNG"></inlinegraphic> + <inlinegraphic fileref="html/login-dialog.png" format="PNG"></inlinegraphic> </link> <link linkend="HildonNote"> - <inlinegraphic fileref="images/note.png" format="PNG"></inlinegraphic> + <inlinegraphic fileref="html/note.png" format="PNG"></inlinegraphic> </link> <link linkend="HildonNumberEditor"> - <inlinegraphic fileref="images/number-editor.png" format="PNG"></inlinegraphic> + <inlinegraphic fileref="html/number-editor.png" format="PNG"></inlinegraphic> </link> <link linkend="HildonRangeEditor"> - <inlinegraphic fileref="images/range-editor.png" format="PNG"></inlinegraphic> + <inlinegraphic fileref="html/range-editor.png" format="PNG"></inlinegraphic> </link> <link linkend="HildonSeekbar"> - <inlinegraphic fileref="images/seekbar.png" format="PNG"></inlinegraphic> + <inlinegraphic fileref="html/seekbar.png" format="PNG"></inlinegraphic> </link> <link linkend="HildonSetPasswordDialog"> - <inlinegraphic fileref="images/set-password-dialog.png" format="PNG"></inlinegraphic> + <inlinegraphic fileref="html/set-password-dialog.png" format="PNG"></inlinegraphic> </link> <link linkend="HildonSortDialog"> - <inlinegraphic fileref="images/sort-dialog.png" format="PNG"></inlinegraphic> + <inlinegraphic fileref="html/sort-dialog.png" format="PNG"></inlinegraphic> </link> <link linkend="HildonTimeEditor"> - <inlinegraphic fileref="images/time-editor.png" format="PNG"></inlinegraphic> + <inlinegraphic fileref="html/time-editor.png" format="PNG"></inlinegraphic> </link> <link linkend="HildonTimePicker"> - <inlinegraphic fileref="images/time-picker.png" format="PNG"></inlinegraphic> + <inlinegraphic fileref="html/time-picker.png" format="PNG"></inlinegraphic> </link> <link linkend="HildonVVolumebar"> - <inlinegraphic fileref="images/vvolumebar.png" format="PNG"></inlinegraphic> + <inlinegraphic fileref="html/vvolumebar.png" format="PNG"></inlinegraphic> </link> <link linkend="HildonWeekdayPicker"> - <inlinegraphic fileref="images/weekday-picker.png" format="PNG"></inlinegraphic> + <inlinegraphic fileref="html/weekday-picker.png" format="PNG"></inlinegraphic> </link> </para> Modified: projects/haf/branches/hildon-libs/hildon-1/examples/hildon-banner-example.c =================================================================== --- projects/haf/branches/hildon-libs/hildon-1/examples/hildon-banner-example.c 2007-02-16 10:18:40 UTC (rev 9937) +++ projects/haf/branches/hildon-libs/hildon-1/examples/hildon-banner-example.c 2007-02-16 11:57:04 UTC (rev 9938) @@ -45,7 +45,8 @@ static gboolean on_information_clicked (GtkWidget *widget) { - hildon_banner_show_information (widget, NULL, "Information banner"); + GtkWidget* banner = hildon_banner_show_information (widget, NULL, "Information banner"); + hildon_banner_set_timeout (HILDON_BANNER (banner), 9000); return TRUE; } Modified: projects/haf/branches/hildon-libs/hildon-1/src/hildon-banner-private.h =================================================================== --- projects/haf/branches/hildon-libs/hildon-1/src/hildon-banner-private.h 2007-02-16 10:18:40 UTC (rev 9937) +++ projects/haf/branches/hildon-libs/hildon-1/src/hildon-banner-private.h 2007-02-16 11:57:04 UTC (rev 9938) @@ -40,6 +40,7 @@ GtkWidget *layout; guint timeout_id; gboolean is_timed; + guint timeout; GtkWindow *parent; }; Modified: projects/haf/branches/hildon-libs/hildon-1/src/hildon-banner.c =================================================================== --- projects/haf/branches/hildon-libs/hildon-1/src/hildon-banner.c 2007-02-16 10:18:40 UTC (rev 9937) +++ projects/haf/branches/hildon-libs/hildon-1/src/hildon-banner.c 2007-02-16 11:57:04 UTC (rev 9938) @@ -66,7 +66,7 @@ /* default timeout */ -#define HILDON_BANNER_TIMEOUT 3000 +#define HILDON_BANNER_DEFAULT_TIMEOUT 3000 /* default icons */ @@ -78,7 +78,8 @@ { PROP_0, PROP_PARENT_WINDOW, - PROP_IS_TIMED + PROP_IS_TIMED, + PROP_TIMEOUT }; static GtkWidget* global_timed_banner = NULL; @@ -356,8 +357,8 @@ HildonBannerPrivate *priv = HILDON_BANNER_GET_PRIVATE (self); g_assert (priv); - if (priv->timeout_id == 0 && priv->is_timed) - priv->timeout_id = g_timeout_add (HILDON_BANNER_TIMEOUT, + if (priv->timeout_id == 0 && priv->is_timed && priv->timeout > 0) + priv->timeout_id = g_timeout_add (priv->timeout, hildon_banner_timeout, self); } @@ -374,6 +375,10 @@ switch (prop_id) { + case PROP_TIMEOUT: + priv->timeout = g_value_get_uint (value); + break; + case PROP_IS_TIMED: priv->is_timed = g_value_get_boolean (value); @@ -417,6 +422,10 @@ switch (prop_id) { + case PROP_TIMEOUT: + g_value_set_uint (value, priv->timeout); + break; + case PROP_IS_TIMED: g_value_set_boolean (value, priv->is_timed); break; @@ -674,6 +683,22 @@ "Whether or not the notification goes away automatically " "after the specified time has passed", FALSE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + + /** + * HildonBanner:timeout: + * + * The time before making the banner banner go away. This needs + * to be adjusted before the banner is mapped to the screen. + * + */ + g_object_class_install_property (object_class, PROP_TIMEOUT, + g_param_spec_uint ("timeout", + "Timeout", + "The time before making the banner banner go away", + 0, + 10000, + HILDON_BANNER_DEFAULT_TIMEOUT, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); } static void @@ -763,16 +788,18 @@ * spawn a new banner before the earlier one has timed out, the * previous one will be replaced. * + * Returns: The newly created banner + * */ -void +GtkWidget* hildon_banner_show_information (GtkWidget *widget, const gchar *icon_name, const gchar *text) { HildonBanner *banner; - g_return_if_fail (icon_name == NULL || icon_name[0] != 0); - g_return_if_fail (text != NULL); + g_return_val_if_fail (icon_name == NULL || icon_name[0] != 0, NULL); + g_return_val_if_fail (text != NULL, NULL); /* Prepare banner */ banner = hildon_banner_get_instance_for_widget (widget, TRUE); @@ -787,6 +814,8 @@ /* Show the banner, since caller cannot do that */ gtk_widget_show_all (GTK_WIDGET (banner)); + + return (GtkWidget *) banner; } /** @@ -799,25 +828,29 @@ * A helper function for #hildon_banner_show_information with * string formatting. * + * Returns: the newly created banner */ -void +GtkWidget* hildon_banner_show_informationf (GtkWidget *widget, const gchar *icon_name, const gchar *format, ...) { - g_return_if_fail (format != NULL); + g_return_val_if_fail (format != NULL, NULL); gchar *message; va_list args; + GtkWidget *banner; va_start (args, format); message = g_strdup_vprintf (format, args); va_end (args); - hildon_banner_show_information (widget, icon_name, message); + banner = hildon_banner_show_information (widget, icon_name, message); g_free (message); + + return banner; } /** @@ -832,16 +865,18 @@ * spawn a new banner before the earlier one has timed out, the * previous one will be replaced. * + * Returns: the newly created banner + * */ -void +GtkWidget* hildon_banner_show_information_with_markup (GtkWidget *widget, const gchar *icon_name, const gchar *markup) { HildonBanner *banner; - g_return_if_fail (icon_name == NULL || icon_name[0] != 0); - g_return_if_fail (markup != NULL); + g_return_val_if_fail (icon_name == NULL || icon_name[0] != 0, NULL); + g_return_val_if_fail (markup != NULL, NULL); /* Prepare banner */ banner = hildon_banner_get_instance_for_widget (widget, TRUE); @@ -857,6 +892,8 @@ /* Show the banner, since caller cannot do that */ gtk_widget_show_all (GTK_WIDGET (banner)); + + return (GtkWidget *) banner; } /** @@ -1051,3 +1088,84 @@ gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (priv->main_item), fraction); } +/** + * hildon_banner_set_timeout: + * @self: a #HildonBanner widget + * @timeout: timeout to set in miliseconds. + * + * Sets the timeout on the banner. After the given amount of miliseconds + * has elapsed the banner will go away. Note that settings this only makes + * sense on the banners that are timed and that have not been yet displayed + * on the screen. + * + */ +void +hildon_banner_set_timeout (HildonBanner *self, + guint timeout) +{ + HildonBannerPrivate *priv; + + g_return_if_fail (HILDON_IS_BANNER (self)); + priv = HILDON_BANNER_GET_PRIVATE (self); + g_assert (priv); + + priv->timeout = timeout; +} + +/** + * hildon_banner_set_icon: + * @self: a #HildonBanner widget + * @icon_name: the name of icon to use. Can be %NULL for default icon + * + * Sets the icon to be used in the banner. + * + */ +void +hildon_banner_set_icon (HildonBanner *self, + const gchar *icon_name) +{ + HildonBannerPrivate *priv; + + g_return_if_fail (HILDON_IS_BANNER (self)); + priv = HILDON_BANNER_GET_PRIVATE (self); + g_assert (priv); + + hildon_banner_ensure_child (self, NULL, 0, GTK_TYPE_IMAGE, + "pixel-size", HILDON_ICON_PIXEL_SIZE_NOTE, + "icon-name", icon_name ? icon_name : HILDON_BANNER_DEFAULT_ICON, + "yalign", 0.0, + NULL); +} + +/** + * hildon_banner_set_icon_from_file: + * @self: a #HildonBanner widget + * @icon_file: the filename of icon to use. Can be %NULL for default icon + * + * Sets the icon from its filename to be used in the banner. + * + */ +void +hildon_banner_set_icon_from_file (HildonBanner *self, + const gchar *icon_file) +{ + HildonBannerPrivate *priv; + + g_return_if_fail (HILDON_IS_BANNER (self)); + priv = HILDON_BANNER_GET_PRIVATE (self); + g_assert (priv); + + if (icon_file != NULL) { + hildon_banner_ensure_child (self, NULL, 0, GTK_TYPE_IMAGE, + "pixel-size", HILDON_ICON_PIXEL_SIZE_NOTE, + "file", icon_file, + "yalign", 0.0, + NULL); + } else { + hildon_banner_ensure_child (self, NULL, 0, GTK_TYPE_IMAGE, + "pixel-size", HILDON_ICON_PIXEL_SIZE_NOTE, + "icon-name", HILDON_BANNER_DEFAULT_ICON, + "yalign", 0.0, + NULL); + } +} Modified: projects/haf/branches/hildon-libs/hildon-1/src/hildon-banner.h =================================================================== --- projects/haf/branches/hildon-libs/hildon-1/src/hildon-banner.h 2007-02-16 10:18:40 UTC (rev 9937) +++ projects/haf/branches/hildon-libs/hildon-1/src/hildon-banner.h 2007-02-16 11:57:04 UTC (rev 9938) @@ -60,18 +60,18 @@ GType G_GNUC_CONST hildon_banner_get_type (void); -void +GtkWidget* hildon_banner_show_information (GtkWidget *widget, const gchar *icon_name, const gchar *text); -void +GtkWidget* hildon_banner_show_informationf (GtkWidget *widget, const gchar *icon_name, const gchar *format, ...); -void +GtkWidget* hildon_banner_show_information_with_markup (GtkWidget *widget, const gchar *icon_name, const gchar *markup); @@ -98,6 +98,18 @@ hildon_banner_set_fraction (HildonBanner *self, gdouble fraction); +void +hildon_banner_set_icon (HildonBanner *self, + const gchar *icon_name); + +void +hildon_banner_set_icon_from_file (HildonBanner *self, + const gchar *icon_file); + +void +hildon_banner_set_timeout (HildonBanner *self, + guint timeout); + G_END_DECLS #endif /* __HILDON_BANNER_H__ */
- Previous message: [maemo-commits] r9937 - in projects/haf/trunk/hildon-theme-layout-4: . rc
- Next message: [maemo-commits] r9940 - in projects/haf/branches/gtk+/maemo-gtk-2-10: . gtk
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]