Changeset 13

Show
Ignore:
Timestamp:
10/29/07 23:29:25
Author:
pvanhoof
Message:
        • Scrolled-window msg-view
        • Scretching the childs to full size of the shell
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/ChangeLog

    r12 r13  
    44        * Introduced TMutShellWindow, TMutShellChild 
    55        * Refactored all types to GtkWidgets in stead of GtkWindows 
     6        * Scrolled-window msg-view 
     7        * Scretching the childs to full size of the shell 
    68 
    792007-10-28  Philip Van Hoof  <pvanhoof@gnome.org> 
  • trunk/src/tmut-folder-view.c

    r12 r13  
    193193 
    194194        gtk_box_pack_start (GTK_BOX (self), GTK_WIDGET (sw),  
    195                 FALSE, TRUE, 0); 
     195                TRUE, TRUE, 0); 
    196196 
    197197        gtk_widget_show (sw); 
  • trunk/src/tmut-msg-view.c

    r12 r13  
    3333struct _TMutMsgViewPriv { 
    3434        TMutShellWindow *shell; 
     35        TnyMsgView *msg_view; 
     36        GtkScrolledWindow *widget; 
     37 
    3538}; 
    3639 
     
    4043 
    4144 
     45static void 
     46tmut_msg_view_set_unavailable (TnyMsgView *self) 
     47{ 
     48        TMutMsgViewPriv *priv = TMUT_MSG_VIEW_GET_PRIVATE (self); 
     49        tny_msg_view_set_unavailable (priv->msg_view); 
     50        return; 
     51} 
     52 
     53static TnyMsg*  
     54tmut_msg_view_get_msg (TnyMsgView *self) 
     55{ 
     56        TMutMsgViewPriv *priv = TMUT_MSG_VIEW_GET_PRIVATE (self); 
     57        return tny_msg_view_get_msg (priv->msg_view); 
     58} 
     59 
     60static void  
     61tmut_msg_view_set_msg (TnyMsgView *self, TnyMsg *msg) 
     62{ 
     63        TMutMsgViewPriv *priv = TMUT_MSG_VIEW_GET_PRIVATE (self); 
     64 
     65        tny_msg_view_set_msg (priv->msg_view, msg); 
     66 
     67        return; 
     68} 
     69 
     70 
     71 
     72 
     73static void  
     74tmut_msg_view_clear (TnyMsgView *self) 
     75{ 
     76        TMutMsgViewPriv *priv = TMUT_MSG_VIEW_GET_PRIVATE (self); 
     77 
     78        tny_msg_view_clear (priv->msg_view); 
     79 
     80        return; 
     81} 
     82 
     83static TnyMsgView*  
     84tmut_msg_view_create_new_inline_viewer (TnyMsgView *self) 
     85{ 
     86        TMutMsgViewPriv *priv = TMUT_MSG_VIEW_GET_PRIVATE (self); 
     87 
     88        /* This should not be a window, but the decorated one, as it has to be  
     89           embeddable within a window. So we even decorate this one as usual. */ 
     90 
     91        return tny_msg_view_create_new_inline_viewer (priv->msg_view); 
     92} 
     93 
     94static TnyMimePartView*  
     95tmut_msg_view_create_mime_part_view_for (TnyMsgView *self, TnyMimePart *part) 
     96{ 
     97        TMutMsgViewPriv *priv = TMUT_MSG_VIEW_GET_PRIVATE (self); 
     98 
     99        return tny_msg_view_create_mime_part_view_for (priv->msg_view, part); 
     100} 
     101 
     102 
     103 
     104static void  
     105tmut_msg_view_mp_clear (TnyMimePartView *self) 
     106{ 
     107        tny_msg_view_clear (TNY_MSG_VIEW (self)); 
     108 
     109        return; 
     110} 
     111 
     112 
     113static void  
     114tmut_msg_view_mp_set_part (TnyMimePartView *self, TnyMimePart *part) 
     115{ 
     116        TMutMsgViewPriv *priv = TMUT_MSG_VIEW_GET_PRIVATE (self); 
     117 
     118        tny_mime_part_view_set_part (TNY_MIME_PART_VIEW (priv->msg_view), part); 
     119 
     120        return; 
     121} 
     122 
     123 
     124static TnyMimePart*  
     125tmut_msg_view_mp_get_part (TnyMimePartView *self) 
     126{ 
     127        TMutMsgViewPriv *priv = TMUT_MSG_VIEW_GET_PRIVATE (self); 
     128 
     129        return tny_mime_part_view_get_part (TNY_MIME_PART_VIEW (priv->msg_view)); 
     130} 
     131 
     132/** 
     133 * tmut_msg_view_set_view: 
     134 * @self: a #TnyGtkMsgView instance 
     135 * @view: a #TnyMsgView to decorate 
     136 * 
     137 * Set the @view to decorate with @self 
     138 **/ 
     139void  
     140tmut_msg_view_set_view (TMutMsgView *self, TnyMsgView *view) 
     141{ 
     142        TMutMsgViewPriv *priv = TMUT_MSG_VIEW_GET_PRIVATE (self); 
     143 
     144        if (G_UNLIKELY (priv->msg_view)) 
     145                gtk_container_remove (GTK_CONTAINER (self), GTK_WIDGET (priv->msg_view)); 
     146 
     147        priv->msg_view = view; 
     148 
     149        /* This adds a reference to msgview (it's a gtkwidget) */ 
     150        gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (self),  
     151                                GTK_WIDGET (view)); 
     152 
     153        gtk_widget_show (GTK_WIDGET (priv->msg_view)); 
     154 
     155        return; 
     156} 
    42157 
    43158/** 
     
    59174tmut_msg_view_instance_init (GTypeInstance *instance, gpointer g_class) 
    60175{ 
     176 
     177        tmut_msg_view_set_view (TMUT_MSG_VIEW (instance), 
     178                tny_gtk_msg_view_new ()); 
     179 
    61180        return; 
    62181} 
     
    107226 
    108227        g_type_class_add_private (object_class, sizeof (TMutMsgViewPriv)); 
     228 
     229        return; 
     230} 
     231 
     232 
     233static void 
     234tny_msg_view_init (gpointer g, gpointer iface_data) 
     235{ 
     236        TnyMsgViewIface *klass = (TnyMsgViewIface *)g; 
     237 
     238        klass->get_msg_func = tmut_msg_view_get_msg; 
     239        klass->set_msg_func = tmut_msg_view_set_msg; 
     240        klass->set_unavailable_func = tmut_msg_view_set_unavailable; 
     241        klass->clear_func = tmut_msg_view_clear; 
     242        klass->create_mime_part_view_for_func = tmut_msg_view_create_mime_part_view_for; 
     243        klass->create_new_inline_viewer_func = tmut_msg_view_create_new_inline_viewer; 
     244 
     245        return; 
     246} 
     247 
     248static void 
     249tny_mime_part_view_init (gpointer g, gpointer iface_data) 
     250{ 
     251        TnyMimePartViewIface *klass = (TnyMimePartViewIface *)g; 
     252 
     253        klass->get_part_func = tmut_msg_view_mp_get_part; 
     254        klass->set_part_func = tmut_msg_view_mp_set_part; 
     255        klass->clear_func = tmut_msg_view_mp_clear; 
    109256 
    110257        return; 
     
    139286                }; 
    140287 
    141                 type = g_type_register_static (TNY_TYPE_GTK_MSG_VIEW, 
     288                static const GInterfaceInfo tny_msg_view_info =  
     289                { 
     290                  (GInterfaceInitFunc) tny_msg_view_init, /* interface_init */ 
     291                  NULL,         /* interface_finalize */ 
     292                  NULL          /* interface_data */ 
     293                }; 
     294 
     295                static const GInterfaceInfo tny_mime_part_view_info =  
     296                { 
     297                  (GInterfaceInitFunc) tny_mime_part_view_init, /* interface_init */ 
     298                  NULL,         /* interface_finalize */ 
     299                  NULL          /* interface_data */ 
     300                }; 
     301 
     302                type = g_type_register_static (GTK_TYPE_SCROLLED_WINDOW, 
    142303                        "TMutMsgView", 
    143304                        &info, 0); 
    144305 
     306                g_type_add_interface_static (type, TNY_TYPE_MIME_PART_VIEW,  
     307                        &tny_mime_part_view_info); 
     308 
     309                g_type_add_interface_static (type, TNY_TYPE_MSG_VIEW,  
     310                        &tny_msg_view_info); 
     311 
    145312                g_type_add_interface_static (type, TMUT_TYPE_SHELL_CHILD,  
    146313                        &tmut_shell_child_info); 
  • trunk/src/tmut-msg-view.h

    r12 r13  
    4141struct _TMutMsgView 
    4242{ 
    43         TnyGtkMsgView parent; 
     43        GtkScrolledWindow parent; 
    4444}; 
    4545 
    4646struct _TMutMsgViewClass 
    4747{ 
    48         TnyGtkMsgViewClass parent_class; 
     48        GtkScrolledWindowClass parent_class; 
    4949}; 
    5050 
     
    5252TnyMsgView* tmut_msg_view_new (void); 
    5353 
     54void tmut_msg_view_set_view (TMutMsgView *self, TnyMsgView *view); 
     55 
    5456G_END_DECLS 
    5557 
  • trunk/src/tmut-shell-window.c

    r12 r13  
    4848        priv->current = child;  
    4949        gtk_box_pack_start (GTK_BOX (priv->vbox), GTK_WIDGET (priv->current),  
    50                 FALSE, TRUE, 0); 
     50                TRUE, TRUE, 0); 
    5151 
    5252        tmut_shell_child_set_window (child, self); 
     
    6969 
    7070        gtk_box_pack_start (GTK_BOX (priv->vbox), GTK_WIDGET (priv->current),  
    71                 FALSE, TRUE, 0); 
     71                TRUE, TRUE, 0); 
    7272 
    7373        return;