Changeset 10

Show
Ignore:
Timestamp:
10/28/07 03:27:07
Author:
pvanhoof
Message:
        • Added TMutRingtonePlayer
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/ChangeLog

    r6 r10  
    88        * Implemented a first TMutFolderView 
    99        * Implemented a first TMutMsgView 
     10        * Added TMutRingtonePlayer 
    1011 
    11122007-03-28  Philip Van Hoof  <pvanhoof@gnome.org> 
  • trunk/src/Makefile.am

    r3 r10  
    1111        tmut-folder-view.h \ 
    1212        tmut-msg-view.c \ 
    13         tmut-msg-view.h  
     13        tmut-msg-view.h \ 
     14        tmut-ringtone-player.c \ 
     15        tmut-ringtone-player.h  
    1416          
    1517 
  • trunk/src/tmut-folder-view.c

    r9 r10  
    2020#include "tmut-folder-view.h" 
    2121#include "tmut-msg-view.h" 
     22#include "tmut-ringtone-player.h" 
    2223 
    2324#include <tny-folder-monitor.h> 
     
    3435        TnyFolderMonitor *monitor; 
    3536        TnyFolder *folder; 
     37        TnyFolderObserver *ringtone_player; 
    3638}; 
    3739 
     
    5961} 
    6062 
     63static void 
     64tmut_folder_view_deactivate_folder (TMutFolderViewPriv *priv) 
     65{ 
     66        if (priv->folder) { 
     67                if (priv->ringtone_player) 
     68                        tny_folder_remove_observer (priv->folder, priv->ringtone_player); 
     69 
     70                if (priv->monitor) { 
     71                        tny_folder_monitor_stop (priv->monitor); 
     72                        g_object_unref (priv->monitor); 
     73                } 
     74 
     75                g_object_unref (priv->folder); 
     76        } 
     77} 
     78 
    6179void  
    6280tmut_folder_view_set_active_folder (TMutFolderView *self, TnyFolder *folder) 
     
    6583        GtkTreeModel *model = NULL; 
    6684 
    67         if (priv->folder) 
    68                 g_object_unref (priv->folder); 
     85        tmut_folder_view_deactivate_folder (priv); 
     86 
    6987        priv->folder = TNY_FOLDER (g_object_ref (folder)); 
     88 
     89        if (!priv->ringtone_player) 
     90                priv->ringtone_player = tmut_ringtone_player_new (); 
     91        tny_folder_add_observer (priv->folder, priv->ringtone_player); 
    7092 
    7193        model = tny_gtk_header_list_model_new (); 
     
    7496                folder, FALSE, NULL, status_update, self); 
    7597 
    76         if (priv->monitor) { 
    77                 tny_folder_monitor_stop (priv->monitor); 
    78                 g_object_unref (priv->monitor); 
    79         } 
    80  
     98 
     99        /* The folder monitor makes Push E-mail work */ 
    81100        priv->monitor = TNY_FOLDER_MONITOR (tny_folder_monitor_new (folder)); 
    82101        tny_folder_monitor_add_list (priv->monitor, TNY_LIST (model)); 
     
    150169        priv->progress = NULL; 
    151170        priv->monitor = NULL; 
     171        priv->ringtone_player = NULL; 
    152172 
    153173        sw = gtk_scrolled_window_new (NULL, NULL); 
     
    186206        TMutFolderViewPriv *priv = TMUT_FOLDER_VIEW_GET_PRIVATE (object); 
    187207 
    188         if (priv->monitor) { 
    189                 tny_folder_monitor_stop (priv->monitor); 
    190                g_object_unref (priv->monitor); 
    191         } 
     208        tmut_folder_view_deactivate_folder (priv); 
     209 
     210        if (priv->ringtone_player) 
     211               g_object_unref (priv->ringtone_player); 
    192212 
    193213        if (priv->progress)