X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=hildon%2Fhildon-note.c;h=8401c55f8bf301a893c6db8649b632cdd62cb9b1;hb=e7ee40166cd2f77507326ef258b84c65d52c32f3;hp=5403d3923dad892764af29f59bd832a0089f2e43;hpb=9b4d89fae9b11b59e3652fb69c468951f2bcb4ca;p=hildon diff --git a/hildon/hildon-note.c b/hildon/hildon-note.c index 5403d39..8401c55 100644 --- a/hildon/hildon-note.c +++ b/hildon/hildon-note.c @@ -114,6 +114,9 @@ static void hildon_note_rebuild (HildonNote *note); static void +hildon_note_set_padding (HildonNote *note); + +static void hildon_note_rename (HildonNote *note); static void @@ -292,6 +295,21 @@ hildon_note_get_property (GObject *object, } } +#ifdef MAEMO_GTK +static GObject * +hildon_note_constructor (GType type, + guint n_construct_properties, + GObjectConstructParam *construct_params) +{ + GObject *object; + object = (* G_OBJECT_CLASS (parent_class)->constructor) + (type, n_construct_properties, construct_params); + hildon_note_set_padding (HILDON_NOTE (object)); + + return object; +} +#endif /* MAEMO_GTK */ + /** * hildon_note_get_type: * @@ -337,6 +355,9 @@ hildon_note_class_init (HildonNoteClass *class) object_class->finalize = hildon_note_finalize; object_class->set_property = hildon_note_set_property; object_class->get_property = hildon_note_get_property; +#ifdef MAEMO_GTK + object_class->constructor = hildon_note_constructor; +#endif /* MAEMO_GTK */ widget_class->realize = hildon_note_realize; widget_class->unrealize = hildon_note_unrealize; widget_class->size_request = hildon_note_size_request; @@ -494,7 +515,7 @@ label_size_request (GtkWidget *label, GtkRequisition *req, GtkWidget *note) { - gint note_height = MAX (HILDON_INFORMATION_NOTE_MIN_HEIGHT, req->height); + gint note_height = MAX (HILDON_INFORMATION_NOTE_MIN_HEIGHT, req->height + 2*HILDON_MARGIN_DOUBLE); g_object_set (note, "height-request", note_height, NULL); } @@ -664,6 +685,39 @@ hildon_note_rename (HildonNote *note) g_type_class_unref (enum_class); } +#ifdef MAEMO_GTK +static void +hildon_note_set_padding (HildonNote *note) +{ + HildonNotePrivate *priv; + + priv = HILDON_NOTE_GET_PRIVATE (note); + + switch (priv->note_n) { + case HILDON_NOTE_TYPE_INFORMATION: + case HILDON_NOTE_TYPE_INFORMATION_THEME: + gtk_dialog_set_padding (GTK_DIALOG (note), + HILDON_MARGIN_DOUBLE, + HILDON_MARGIN_DOUBLE, + 0, + 0); + break; + + case HILDON_NOTE_TYPE_CONFIRMATION: + case HILDON_NOTE_TYPE_CONFIRMATION_BUTTON: + gtk_dialog_set_padding (GTK_DIALOG (note), + HILDON_MARGIN_DOUBLE, + HILDON_MARGIN_DEFAULT, + HILDON_MARGIN_DOUBLE, + HILDON_MARGIN_DOUBLE); + break; + + default: + break; + } +} +#endif /* MAEMO_GTK */ + static void hildon_note_rebuild (HildonNote *note) { @@ -709,6 +763,13 @@ hildon_note_rebuild (HildonNote *note) g_object_get (priv->okButton, "width-request", &priv->button_width, NULL); gtk_widget_set_no_show_all (priv->cancelButton, FALSE); +#ifdef MAEMO_GTK + gtk_dialog_set_padding (dialog, + HILDON_MARGIN_DOUBLE, + HILDON_MARGIN_DEFAULT, + HILDON_MARGIN_DOUBLE, + HILDON_MARGIN_DOUBLE); +#endif /* MAEMO_GTK */ break; case HILDON_NOTE_TYPE_PROGRESSBAR: @@ -720,6 +781,13 @@ hildon_note_rebuild (HildonNote *note) case HILDON_NOTE_TYPE_INFORMATION_THEME: case HILDON_NOTE_TYPE_INFORMATION: +#ifdef MAEMO_GTK + gtk_dialog_set_padding (dialog, + HILDON_MARGIN_DOUBLE, + HILDON_MARGIN_DOUBLE, + 0, + 0); +#endif /* MAEMO_GTK */ is_info_note = TRUE; break; @@ -747,6 +815,10 @@ hildon_note_rebuild (HildonNote *note) if (priv->progressbar) gtk_box_pack_start (GTK_BOX (priv->box), priv->progressbar, FALSE, FALSE, 0); +#ifdef MAEMO_GTK + hildon_note_set_padding (note); +#endif /* MAEMO_GTK */ + gtk_container_add (GTK_CONTAINER (dialog->vbox), priv->event_box); gtk_widget_show_all (priv->event_box); @@ -1059,7 +1131,7 @@ on_show_cb (GtkWidget *widget, HildonNotePrivate *priv; priv = HILDON_NOTE_GET_PRIVATE (widget); - priv->idle_handler = g_idle_add (sound_handling, widget); + priv->idle_handler = gdk_threads_add_idle (sound_handling, widget); } /* We play a system sound when the note comes visible */