X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fmodest-editor-window.c;h=75be6a91646ae171d9f92a88e21e92542fe9ab18;hb=d32d03a825c18a34f52324b009b2e0d1e13b2da4;hp=7c36918216a904d8fd08b6e6d032f55498aca1d3;hpb=b994ad1c2372d69db685e9220b01980c976e6859;p=modest diff --git a/src/modest-editor-window.c b/src/modest-editor-window.c index 7c36918..75be6a9 100644 --- a/src/modest-editor-window.c +++ b/src/modest-editor-window.c @@ -1,6 +1,34 @@ -/* modest-editor-window.c */ +/* Copyright (c) 2006, Nokia Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the Nokia Corporation nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ -/* insert (c)/licensing information) */ + +/* modest-editor-window.c */ #include "modest-ui.h" #include "modest-editor-window.h" @@ -19,6 +47,7 @@ enum { typedef struct _ModestEditorWindowPrivate ModestEditorWindowPrivate; struct _ModestEditorWindowPrivate { + GtkWidget *window; gpointer user_data; gboolean modified; GList *attachments; @@ -29,7 +58,7 @@ struct _ModestEditorWindowPrivate { MODEST_TYPE_EDITOR_WINDOW, \ ModestEditorWindowPrivate)) /* globals */ -static GtkWindowClass *parent_class = NULL; +static GObjectClass *parent_class = NULL; /* uncomment the following if you have defined any signals */ /* static guint signals[LAST_SIGNAL] = {0}; */ @@ -50,7 +79,7 @@ modest_editor_window_get_type (void) 1, /* n_preallocs */ (GInstanceInitFunc) modest_editor_window_init, }; - my_type = g_type_register_static (GTK_TYPE_WINDOW, + my_type = g_type_register_static (G_TYPE_OBJECT, "ModestEditorWindow", &my_info, 0); } @@ -68,12 +97,6 @@ modest_editor_window_class_init (ModestEditorWindowClass *klass) g_type_class_add_private (gobject_class, sizeof(ModestEditorWindowPrivate)); - /* signal definitions go here, e.g.: */ -/* signals[MY_SIGNAL_1] = */ -/* g_signal_new ("my_signal_1",....); */ -/* signals[MY_SIGNAL_2] = */ -/* g_signal_new ("my_signal_2",....); */ -/* etc. */ } static void @@ -86,6 +109,7 @@ modest_editor_window_init (ModestEditorWindow *obj) priv->attachments = NULL; priv->identity = NULL; priv->transport = NULL; + obj->window = NULL; } static void @@ -101,16 +125,18 @@ modest_editor_window_finalize (GObject *obj) modest_editor_window_set_attachments(MODEST_EDITOR_WINDOW(obj), NULL); g_free(priv->identity); g_free(priv->transport); + g_object_unref (MODEST_EDITOR_WINDOW(obj)->window); + MODEST_EDITOR_WINDOW(obj)->window = NULL; G_OBJECT_CLASS(parent_class)->finalize (obj); } -GtkWidget* +GObject* modest_editor_window_new (ModestUI *ui) { GObject *self; ModestEditorWindowPrivate *priv; - GtkWidget *w; + GObject *edit_win; gpointer data; self = G_OBJECT(g_object_new(MODEST_TYPE_EDITOR_WINDOW, NULL)); @@ -119,18 +145,17 @@ modest_editor_window_new (ModestUI *ui) /* for now create a local test-window */ data = NULL; - w = GTK_WIDGET(modest_ui_new_editor_window(ui, &data)); - // g_message("new data = %p", data); - if (!w) + edit_win = modest_ui_new_editor_window(ui, &data); + + if (!edit_win) return NULL; if (!data) g_message("editor window user data is emtpy"); - gtk_container_add(GTK_CONTAINER(self), w); + MODEST_EDITOR_WINDOW(self)->window = edit_win; priv->user_data = data; - // g_message("new priv->data = %p", priv->user_data); - return GTK_WIDGET(self); + return self; } /* @@ -334,4 +359,4 @@ modest_editor_window_get_transport(ModestEditorWindow *edit_win) priv = MODEST_EDITOR_WINDOW_GET_PRIVATE(edit_win); return priv->transport; -} +}