Lots of fixes for 3rd edition. First test SIS file, 0.90(3) 3rded
authorSebastian Brannstrom <sebastianb@symbian.org>
Sun, 11 Jul 2010 11:36:24 +0100
branch3rded
changeset 177 269e3f3e544a
parent 176 1c8b56cb6409
child 179 a14b0d78eda1
Lots of fixes for 3rd edition. First test SIS file, 0.90(3)
application/data/PodcastClient_common.rls
application/data/PodcastClient_english.rls
application/data/PodcastFeedView.ra
application/data/PodcastQueueView.ra
application/data/PodcastSearchView.ra
application/data/PodcastSettingsView.ra
application/data/PodcastShowsView.ra
application/group/Podcast.mmp
application/inc/Podcast.hrh
application/inc/PodcastFeedView.h
application/inc/buildno.h
application/sis/buildno.txt
application/sis/make_s60_3rd_sis.cmd
application/sis/make_s60_5th_sis.cmd
application/sis/podcatcher_udeb.pkg
application/sis/podcatcher_udeb.sis
application/sis/podcatcher_udeb_signed.sis
application/sis/podcatcher_udeb_template.pkg
application/sis/podcatcher_urel.pkg
application/src/PodcastFeedView.cpp
application/src/PodcastQueueView.cpp
application/src/PodcastSettingsView.cpp
application/src/PodcastShowsView.cpp
engine/group/bld.inf
engine/group/engine.mmp
engine/inc/ConnectionEngine.h
engine/sqlite/sqlite_podcatcher_gcce.lib
engine/src/ConnectionEngine.cpp
engine/src/FeedInfo.cpp
engine/src/HttpClient.cpp
--- a/application/data/PodcastClient_common.rls	Sat Jul 10 13:35:21 2010 +0100
+++ b/application/data/PodcastClient_common.rls	Sun Jul 11 11:36:24 2010 +0100
@@ -23,4 +23,4 @@
 rls_string STRING_r_caption "Podcatcher"
 rls_string STRING_r_short_caption "Podcatcher"
 
-rls_string STRING_r_about_text_s60 "Podcatcher 1.00(%d)\nŠ 2007-2010 Sebastian Brannstrom, Lars Persson, Anders Fridlund, EmbedDev AB"
+rls_string STRING_r_about_text_s60 "Podcatcher 0.90(%d)\nŠ 2007-2010 Sebastian Brannstrom, Lars Persson, Anders Fridlund, EmbedDev AB"
--- a/application/data/PodcastClient_english.rls	Sat Jul 10 13:35:21 2010 +0100
+++ b/application/data/PodcastClient_english.rls	Sun Jul 11 11:36:24 2010 +0100
@@ -35,7 +35,7 @@
 // Tab titles
 rls_string STRING_r_tabgroup_feeds "Feeds"
 rls_string STRING_r_tabgroup_queue "Queue"
-rls_string STRING_r_tabgroup_queue_counter "Queue (%d)"
+rls_string STRING_r_tabgroup_queue_counter "(%d) Queue"
 
 // Question dialogs
 rls_string STRING_r_add_feed_prompt "Enter search terms or feed address"
@@ -127,11 +127,11 @@
 
 // Show view
 
-rls_string STRING_r_view_mark_as_played_cmd_short "Mark old"
-rls_string STRING_r_view_mark_as_unplayed_cmd_short "Mark new"
+rls_string STRING_r_view_mark_as_played_cmd_short "Mark old (*)"
+rls_string STRING_r_view_mark_as_unplayed_cmd_short "Mark new (*)"
 rls_string STRING_r_view_download_show_cmd "Get"
 rls_string STRING_r_view_delete_show_cmd "Delete"
-rls_string STRING_r_view_show_info_cmd "Info"
+rls_string STRING_r_view_show_info_cmd "Info (#)"
 rls_string STRING_r_error_playback_failed "Could not play show"
 rls_string STRING_r_view_filter_shows_cmd "Show"
 rls_string STRING_r_view_filter_all_shows_cmd "All shows"
@@ -157,3 +157,6 @@
 rls_string STRING_r_error_http "Error: HTTP error %d"
 rls_string STRING_r_error_disk_full "Error: Disk full"
 
+rls_string STRING_r_view_feed_feed_menu "Manage feeds"
+rls_string STRING_r_view_shows_show_menu "Show"
+rls_string STRING_r_view_queue_show_menu "Queue"
--- a/application/data/PodcastFeedView.ra	Sat Jul 10 13:35:21 2010 +0100
+++ b/application/data/PodcastFeedView.ra	Sun Jul 11 11:36:24 2010 +0100
@@ -38,19 +38,36 @@
         {
 		MENU_ITEM
 			{
-			command = EPodcastImportExportFeeds;
-			txt = STRING_r_view_import_export_feeds_cmd;
-			cascade = r_importexport_menu;
+			command = EPodcastUpdateAllFeeds;
+			txt= STRING_r_update_all_feeds_cmd;
+			},
+		MENU_ITEM
+			{
+			command = EPodcastCancelUpdateAllFeeds;
+			txt = STRING_r_cancel_update_all_feeds_cmd;
 			},
 		MENU_ITEM
 			{
-			command = EPodcastAbout;
-			txt = STRING_r_view_about_cmd;
-			}, 
+			command = EPodcastFeedFeedMenu;
+			txt = STRING_r_view_feed_feed_menu;
+			cascade = r_feed_feed_menu;
+			},
+//		MENU_ITEM
+//			{
+//			command = EPodcastImportExportFeeds;
+//			txt = STRING_r_view_import_export_feeds_cmd;
+//			cascade = r_importexport_menu;
+//			},
 		MENU_ITEM
 			{
-			command = EPodcastHelp;
+			command = EPodcastSettings;
+			txt = STRING_r_settings_cmd;
+			},
+		MENU_ITEM
+			{
+			command = EPodcastFeedHelpMenu;
 			txt = STRING_r_view_help;
+			cascade = r_feed_help_menu;
 			},
 		MENU_ITEM
 			{
@@ -60,6 +77,23 @@
         };
     }
 
+RESOURCE MENU_PANE r_feed_help_menu
+	{
+	items =	{
+		
+		MENU_ITEM
+		{
+		command = EPodcastAbout;
+		txt = STRING_r_view_about_cmd;
+		}, 
+		MENU_ITEM
+		{
+		command = EPodcastHelp;
+		txt = STRING_r_view_help;
+		}
+	};
+	}
+
 RESOURCE MENU_PANE r_importexport_menu
 	{
 	items =	{
@@ -76,6 +110,43 @@
 	};	
 	}
 
+RESOURCE MENU_PANE r_feed_feed_menu
+	{
+	items =	{
+	MENU_ITEM
+		{
+		command = EPodcastAddFeed;
+		txt = STRING_r_view_add_feed_cmd;
+		},
+	MENU_ITEM
+		{
+			txt = STRING_r_view_edit_feed_cmd;
+			command = EPodcastEditFeed; 
+		},
+	MENU_ITEM
+		{
+			txt = STRING_r_view_delete_feed_cmd;
+			command = EPodcastDeleteFeed;
+		},
+//	MENU_ITEM
+//		{
+//			txt = STRING_r_update_feed_cmd;
+//			command = EPodcastUpdateFeed;
+//		},
+	MENU_ITEM
+		{
+		command = EPodcastImportFeeds;
+		txt = STRING_r_view_import_feeds_cmd;
+		},
+	MENU_ITEM
+		{
+		command = EPodcastExportFeeds;
+		txt = STRING_r_view_export_feeds_cmd;
+		}
+	};	
+	}
+
+
 RESOURCE CBA r_podcast_cba
 	{
 	buttons =
@@ -92,92 +163,8 @@
 	hotkeys = r_podcast_feedview_hotkeys;
 	menubar = r_podcast_feedview_menubar;
 	cba = r_podcast_cba;
-//	toolbar = r_feedview_toolbar;
 }
 
-//RESOURCE AVKON_TOOLBAR r_feedview_toolbar
-//    {
-//    flags = KAknToolbarFixed;
-//    items =
-//        {
-//        TBAR_CTRL
-//            {
-//            type = EAknCtButton;
-//            id = EPodcastUpdateAllFeeds;
-//            control = AVKON_BUTTON
-//                {
-//                states =
-//                    {
-//                    AVKON_BUTTON_STATE
-//                        {
-//                        //bmpfile = AVKON_BITMAP_FILE;
-//                        //bmpid = EMbmAvkonQgn_indi_find_goto;
-//                        txt = STRING_r_update_feed_short_cmd;
-//                        helptxt = STRING_r_update_all_feeds_cmd;
-//                        }  
-//                    };
-//                };
-//            },
-//		TBAR_CTRL
-//			{
-//			type = EAknCtButton;
-//			id = EPodcastCancelUpdateAllFeeds;
-//			control = AVKON_BUTTON
-//				{
-//				states =
-//					{
-//					AVKON_BUTTON_STATE
-//						{
-//						//bmpfile = AVKON_BITMAP_FILE;
-//						//bmpid = EMbmAvkonQgn_indi_find_goto;
-//						txt = STRING_r_cancel_update_all_feeds_short_cmd;
-//						helptxt = STRING_r_cancel_update_all_feeds_cmd;
-//					   }  
-//					};
-//				};
-//		},
-//		TBAR_CTRL
-//			{
-//			type = EAknCtButton;
-//			id = EPodcastAddFeed;
-//			control = AVKON_BUTTON
-//				{
-//				flags = KAknButtonTextInsideFrame;
-//				states =
-//					{
-//					AVKON_BUTTON_STATE
-//						{
-//						//bmpfile = AVKON_BITMAP_FILE;
-//						//bmpid = EMbmAvkonQgn_indi_find_goto;
-//						//press_bmpid = EMbmAvkonQgn_indi_find_goto;
-//						txt = STRING_r_view_add_feed_cmd_short;
-//						helptxt = STRING_r_view_add_feed_cmd;
-//						} 
-//					};
-//				};
-//			},
-//			TBAR_CTRL
-//				{
-//				type = EAknCtButton;
-//				id = EPodcastSettings;
-//				control = AVKON_BUTTON
-//					{
-//					states =
-//						{
-//						AVKON_BUTTON_STATE
-//							{
-//							//bmpfile = AVKON_BITMAP_FILE;
-//							//bmpid = EMbmAvkonQgn_indi_find_goto;
-//							//press_bmpid = EMbmAvkonQgn_indi_find_goto;
-//							txt = STRING_r_settings_cmd;
-//							helptxt = STRING_r_settings_cmd;
-//						   }  
-//						};
-//					};
-//			}
-//			};// items
-//    }
-
 RESOURCE DIALOG r_podcast_add_feed_dlg
 {
 	buttons = R_AVKON_SOFTKEYS_OK_CANCEL;
@@ -249,24 +236,39 @@
 	};
 }
 
-RESOURCE STYLUS_POPUP_MENU r_feedview_popup_menu
-	{
-		items =
-		{
-			STYLUS_POPUP_MENU_ITEM
-				{
-					txt = STRING_r_view_edit_feed_cmd_short;
-					command = EPodcastEditFeed; 
-				},
-			STYLUS_POPUP_MENU_ITEM
-				{
-					txt = STRING_r_view_delete_feed_cmd_short;
-					command = EPodcastDeleteFeed;
-				},
-			STYLUS_POPUP_MENU_ITEM
-				{
-					txt = STRING_r_update_feed_short_cmd;
-					command = EPodcastUpdateFeed;
-				}
-		};
-	}
+RESOURCE FILESELECTIONDIALOG r_podcast_import_podcast
+{
+ title = STRING_r_view_import_feeds_title;
+ root_path = "";
+ filters =
+ {
+  FILTER
+  {
+  filter_type = EFilenameFilter;
+  filter_style = EInclusiveFilter;
+  filter_data = { "*.*" };
+  }
+ };
+}
+
+RESOURCE FILESELECTIONDIALOG r_podcast_export_feeds
+{
+ title = STRING_r_view_export_feeds_title;
+ root_path = "";
+ filters =
+ {
+  FILTER
+  {
+  filter_type = EFilenameFilter;
+  filter_style = EInclusiveFilter;
+  filter_data = { "*.*" };
+  }
+ };
+}
+
+RESOURCE FILENAMEPROMPTDIALOG r_podcast_filename_prompt_dialog
+{
+  filename_prompt = STRING_r_enter_filename;
+  default_filename = "feeds.xml";
+  path = "";
+}
--- a/application/data/PodcastQueueView.ra	Sat Jul 10 13:35:21 2010 +0100
+++ b/application/data/PodcastQueueView.ra	Sun Jul 11 11:36:24 2010 +0100
@@ -36,121 +36,51 @@
         {
  		MENU_ITEM
 			{
-			command = EPodcastAbout;
-			txt = STRING_r_view_about_cmd;
+			command = EPodcastSuspendDownloads;
+			txt = STRING_r_view_stop_downloads_cmd;
 			}, 
 		MENU_ITEM
 			{
+			command = EPodcastResumeDownloads;
+			txt = STRING_r_view_resume_downloads_cmd;
+			},
+		MENU_ITEM
+			{
+			command = EPodcastQueueShowMenu;
+			txt = STRING_r_view_queue_show_menu;
+			cascade = r_queue_show_menu;
+			},
+		MENU_ITEM
+			{
+			command = EPodcastRemoveAllDownloads;
+			txt = STRING_r_view_remove_all_downloads_cmd;
+			},
+		MENU_ITEM
+			{
 			command = EPodcastHelp;
 			txt = STRING_r_view_help;
-			},
-		MENU_ITEM
-			{
-			command = EAknSoftkeyExit;
-			txt = STRING_r_exit_cmd;
 			}
         };
     }
 
-//RESOURCE AVKON_TOOLBAR r_queueview_toolbar
-//    {
-//    flags = KAknToolbarFixed;
-//    items =
-//        {
-//
-//		TBAR_CTRL
-//			{
-//			type = EAknCtButton;
-//			id =EPodcastSuspendDownloads;
-//			control = AVKON_BUTTON
-//				{
-//				states =
-//					{
-//					AVKON_BUTTON_STATE
-//						{
-//						//bmpfile = AVKON_BITMAP_FILE;
-//						//bmpid = EMbmAvkonQgn_indi_find_goto;
-//						txt = STRING_r_suspend_download_cmd;
-//						helptxt = STRING_r_view_stop_downloads_cmd;
-//						}  
-//					};
-//				};
-//			},
-//		TBAR_CTRL
-//			{
-//			type = EAknCtButton;
-//			id =EPodcastResumeDownloads;
-//			control = AVKON_BUTTON
-//				{
-//				states =
-//					{
-//					AVKON_BUTTON_STATE
-//						{
-//						//bmpfile = AVKON_BITMAP_FILE;
-//						//bmpid = EMbmAvkonQgn_indi_find_goto;
-//						txt = STRING_r_view_resume_short_dls_cmd;
-//						helptxt = STRING_r_view_resume_downloads_cmd;
-//						}  
-//					};
-//				};
-//			},
-//		TBAR_CTRL
-//			{
-//			type = EAknCtButton;
-//			id = EPodcastRemoveDownload;
-//			control = AVKON_BUTTON
-//				{
-//				states =
-//					{
-//					AVKON_BUTTON_STATE
-//						{
-//						//bmpfile = AVKON_BITMAP_FILE;
-//						//bmpid = EMbmAvkonQgn_indi_find_goto;
-//						txt = STRING_r_view_remove_download_short_cmd;
-//						helptxt = STRING_r_view_remove_download_cmd;
-//						}  
-//					};
-//				};
-//			},
-//		TBAR_CTRL
-//			{
-//			type = EAknCtButton;
-//			id =EPodcastRemoveAllDownloads;
-//			control = AVKON_BUTTON
-//				{
-//				states =
-//					{
-//					AVKON_BUTTON_STATE
-//						{
-//						//bmpfile = AVKON_BITMAP_FILE;
-//						//bmpid = EMbmAvkonQgn_indi_find_goto;
-//						txt = STRING_r_view_remove_all_downloads_cmd_short;
-//						helptxt = STRING_r_view_remove_all_downloads_cmd;
-//						}  
-//					};
-//				};
-//			}
-//        };
-//    }
+RESOURCE MENU_PANE r_queue_show_menu
+	{
+	items =	{
+		MENU_ITEM
+			{
+				txt = STRING_r_view_remove_download_short_cmd;
+				command = EPodcastRemoveDownload;
+			},
+		MENU_ITEM
+			{
+				txt = STRING_r_view_move_up_short_cmd;
+				command = EPodcastMoveDownloadUp;
+			},
+		MENU_ITEM
+			{
+				txt = STRING_r_view_move_down_short_cmd;
+				command = EPodcastMoveDownloadDown;
+			}
+	};
+	}
 
-RESOURCE STYLUS_POPUP_MENU r_queueview_popup_menu
-	{
-		items =
-		{
-			STYLUS_POPUP_MENU_ITEM
-				{
-					txt = STRING_r_view_remove_download_short_cmd;
-					command = EPodcastRemoveDownload;
-				},
-			STYLUS_POPUP_MENU_ITEM
-				{
-					txt = STRING_r_view_move_up_short_cmd;
-					command = EPodcastMoveDownloadUp;
-				},
-			STYLUS_POPUP_MENU_ITEM
-				{
-					txt = STRING_r_view_move_down_short_cmd;
-					command = EPodcastMoveDownloadDown;
-				}
-		};
-	}
--- a/application/data/PodcastSearchView.ra	Sat Jul 10 13:35:21 2010 +0100
+++ b/application/data/PodcastSearchView.ra	Sun Jul 11 11:36:24 2010 +0100
@@ -20,7 +20,6 @@
 {
 	menubar = r_podcast_searchview_menubar;
 	cba = R_AVKON_SOFTKEYS_OPTIONS_BACK;
-//	toolbar = r_searchview_toolbar;
 }
 
 
@@ -54,70 +53,6 @@
         };
     }
 
-
-//RESOURCE AVKON_TOOLBAR r_searchview_toolbar
-//    {
-//    flags = KAknToolbarFixed;
-//    items =
-//        {
-//        TBAR_CTRL
-//            {
-//            type = EAknCtButton;
-//            id = EPodcastSearch;
-//            control = AVKON_BUTTON
-//                {
-//                states =
-//                    {
-//                    AVKON_BUTTON_STATE
-//                        {
-//                        //bmpfile = AVKON_BITMAP_FILE;
-//                        //bmpid = EMbmAvkonQgn_indi_find_goto;
-//                        txt = STRING_r_search;
-//                        helptxt = STRING_r_update_all_feeds_cmd;
-//                        }  
-//                    };
-//                };
-//            },
-//		TBAR_CTRL
-//			  {
-//			  type = EAknCtButton;
-//			  id = EPodcastCancelUpdateAllFeeds;
-//			  control = AVKON_BUTTON
-//				  {
-//				  states =
-//					  {
-//					  AVKON_BUTTON_STATE
-//						  {
-//						  //bmpfile = AVKON_BITMAP_FILE;
-//						  //bmpid = EMbmAvkonQgn_indi_find_goto;
-//						  txt = STRING_r_cancel_update_all_feeds_short_cmd;
-//						  helptxt = STRING_r_cancel_update_all_feeds_cmd;
-//						  }  
-//					  };
-//				  };
-//			  }/*,
-//		TBAR_CTRL
-//			{
-//			type = EAknCtButton;
-//			id = EPodcastAddSearchResult;
-//			control = AVKON_BUTTON
-//				{
-//				states =
-//					{
-//					AVKON_BUTTON_STATE
-//						{
-//						//bmpfile = AVKON_BITMAP_FILE;
-//						//bmpid = EMbmAvkonQgn_indi_find_goto;
-//						txt = STRING_r_view_add_feed_cmd_short;
-//						helptxt = STRING_r_view_add_feed_cmd;
-//					   }  
-//					};
-//				};
-//			}*/
-//			};// items
-//    }
-
-
 RESOURCE CBA r_podcast_search_cba
 	{
 	buttons =
@@ -155,7 +90,6 @@
 	};
 }
 
-
 RESOURCE DIALOG r_waitdlg
 {
     flags = EAknWaitNoteFlags;
@@ -179,4 +113,3 @@
             }
         };
 }
-
--- a/application/data/PodcastSettingsView.ra	Sat Jul 10 13:35:21 2010 +0100
+++ b/application/data/PodcastSettingsView.ra	Sun Jul 11 11:36:24 2010 +0100
@@ -73,19 +73,19 @@
 				associated_resource = r_on_off_texts;
 				name = STRING_r_podcast_setting_autodownload;
 				},
-			AVKON_SETTING_ITEM
-			{
-				identifier = EPodcastSettingConnection;
-				setting_page_resource = r_podcast_connection_page_resource;
-				associated_resource = r_podcast_connection_texts;
-				name = STRING_r_podcast_setting_connection;
-			},
+//			AVKON_SETTING_ITEM
+//			{
+//				identifier = EPodcastSettingConnection;
+//				setting_page_resource = r_podcast_connection_page_resource;
+//				associated_resource = r_podcast_connection_texts;
+//				name = STRING_r_podcast_setting_connection;
+//			},
 			AVKON_SETTING_ITEM
 			{
 				identifier = EPodcastSettingIAPList;
 				setting_page_resource = r_setting_iap_page_resource;
 				associated_resource = r_setting_iap_texts;
-				name = STRING_r_podcast_setting_iaplist;
+				name = STRING_r_podcast_setting_connection;
 			}		
 	};
 }
@@ -104,42 +104,42 @@
 	default_input_mode = EAknEditorTextInputMode;
 }
 
-RESOURCE AVKON_SETTING_PAGE r_podcast_connection_page_resource
-{
-    label= STRING_r_podcast_setting_connection;
-    type = EAknCtPopupSettingList;
-    editor_resource_id = r_setting_connection_popup_list_entry;
-}
-
-RESOURCE POPUP_SETTING_LIST r_setting_connection_popup_list_entry
-{
-}
-
-RESOURCE AVKON_POPUP_SETTING_TEXTS r_podcast_connection_texts
-{
-    setting_texts_resource = r_podcast_connection_closed;
-    popped_up_texts_resource = r_podcast_connection_opened;
-}
-
-RESOURCE ARRAY r_podcast_connection_closed
-{
-    items = 
-    {
-    AVKON_ENUMERATED_TEXT{value=EConnectionDefault; text = STRING_r_podcast_setting_default;},
-    AVKON_ENUMERATED_TEXT{value=EConnectionAlwaysAsk; text = STRING_r_podcast_setting_alwaysask;},    
-    AVKON_ENUMERATED_TEXT{value=EConnectionUseIap; text = STRING_r_podcast_setting_useiap;}
-    };
-}
-
-RESOURCE ARRAY r_podcast_connection_opened
-{
-    items = 
-    {
-    LBUF { txt=STRING_r_podcast_setting_default; },
-    LBUF { txt=STRING_r_podcast_setting_alwaysask; },	   
-    LBUF { txt=STRING_r_podcast_setting_useiap; }
-    };
-}
+//RESOURCE AVKON_SETTING_PAGE r_podcast_connection_page_resource
+//{
+//    label= STRING_r_podcast_setting_connection;
+//    type = EAknCtPopupSettingList;
+//    editor_resource_id = r_setting_connection_popup_list_entry;
+//}
+//
+//RESOURCE POPUP_SETTING_LIST r_setting_connection_popup_list_entry
+//{
+//}
+//
+//RESOURCE AVKON_POPUP_SETTING_TEXTS r_podcast_connection_texts
+//{
+//    setting_texts_resource = r_podcast_connection_closed;
+//    popped_up_texts_resource = r_podcast_connection_opened;
+//}
+//
+//RESOURCE ARRAY r_podcast_connection_closed
+//{
+//    items = 
+//    {
+//    AVKON_ENUMERATED_TEXT{value=EConnectionDefault; text = STRING_r_podcast_setting_default;},
+//    AVKON_ENUMERATED_TEXT{value=EConnectionAlwaysAsk; text = STRING_r_podcast_setting_alwaysask;},    
+////    AVKON_ENUMERATED_TEXT{value=EConnectionUseIap; text = STRING_r_podcast_setting_useiap;}
+//    };
+//}
+//
+//RESOURCE ARRAY r_podcast_connection_opened
+//{
+//    items = 
+//    {
+//    LBUF { txt=STRING_r_podcast_setting_default; },
+//    LBUF { txt=STRING_r_podcast_setting_alwaysask; },	   
+//    LBUF { txt=STRING_r_podcast_setting_useiap; }
+//    };
+//}
 
 RESOURCE AVKON_SETTING_PAGE r_podcast_autodownload_page_resource
 {
@@ -266,7 +266,8 @@
 {
     items = 
     {
-    AVKON_ENUMERATED_TEXT{value=0; text = "";}
+    AVKON_ENUMERATED_TEXT{value=EConnectionDefault; text = STRING_r_podcast_setting_default;},
+    AVKON_ENUMERATED_TEXT{value=EConnectionAlwaysAsk; text = STRING_r_podcast_setting_alwaysask;}
     };
 }
 
@@ -274,6 +275,7 @@
 {
     items = 
     {
-    LBUF { txt=""; }
+    	    LBUF { txt=STRING_r_podcast_setting_default; },
+    	    LBUF { txt=STRING_r_podcast_setting_alwaysask; }
     };
 }
--- a/application/data/PodcastShowsView.ra	Sat Jul 10 13:35:21 2010 +0100
+++ b/application/data/PodcastShowsView.ra	Sun Jul 11 11:36:24 2010 +0100
@@ -20,7 +20,6 @@
 {
 	menubar = r_podcast_showsview_menubar;
 	cba = R_AVKON_SOFTKEYS_OPTIONS_BACK;
-//	toolbar = r_showsview_toolbar;
 }
 
 RESOURCE MENU_BAR r_podcast_showsview_menubar
@@ -35,191 +34,61 @@
     {
     items =
         {
-        MENU_ITEM
+		MENU_ITEM
+			{
+			command = EPodcastUpdateFeed;
+			txt = STRING_r_update_feed_cmd;
+			},
+		MENU_ITEM
+			{
+			command = EPodcastCancelUpdateAllFeeds;
+			txt = STRING_r_cancel_update_all_feeds_cmd;
+			},
+		MENU_ITEM
+			{
+			command = EPodcastShowsShowMenu;
+			txt = STRING_r_view_shows_show_menu;
+			cascade = r_shows_show_menu;
+			},
+		MENU_ITEM
 			{
 			command = EPodcastMarkAllPlayed;
 			txt = STRING_r_view_mark_all_played_cmd;
 			},
-//		MENU_ITEM
-//			{
-//			command = EPodcastFilterShows;
-//			txt = STRING_r_view_filter_shows_cmd;
-//			cascade = r_filtershows_menu;
-//			},
-		MENU_ITEM
-			{
-			command = EPodcastAbout;
-			txt = STRING_r_view_about_cmd;
-			}, 
 		MENU_ITEM
 			{
 			command = EPodcastHelp;
 			txt = STRING_r_view_help;
-			},
-		MENU_ITEM
-			{
-			command = EAknSoftkeyExit;
-			txt = STRING_r_exit_cmd;
 			}
         };
     }
 
-RESOURCE MENU_PANE r_filtershows_menu
+RESOURCE MENU_PANE r_shows_show_menu
 	{
 	items =	{
-		MENU_ITEM
-			{
-			command = EPodcastFilterShowsAll;
-			txt = STRING_r_view_filter_all_shows_cmd;
-			},
-/*		MENU_ITEM
-			{
-			command = EPodcastFilterShowsNew;
-			txt = STRING_r_view_filter_new_shows_cmd;
-			},
-		MENU_ITEM
-			{
-			command = EPodcastFilterShowsDownloaded;
-			txt = STRING_r_view_filter_downloaded_shows_cmd;
-			},*/
-		MENU_ITEM
-			{
-			command = EPodcastFilterShowsNewAndDownloaded;
-			txt = STRING_r_view_filter_downloaded_new_shows_cmd;
-			}
-	};	
+	MENU_ITEM
+		{
+		command = EPodcastMarkAsPlayed;
+		txt = STRING_r_view_mark_as_played_cmd_short;
+		},
+	MENU_ITEM
+		{
+		command = EPodcastMarkAsUnplayed;
+		txt = STRING_r_view_mark_as_unplayed_cmd_short;
+		},
+	MENU_ITEM
+		{
+		command = EPodcastDeleteShow;
+		txt = STRING_r_view_delete_show_cmd;
+		},
+	MENU_ITEM
+		{
+			txt = STRING_r_view_show_info_cmd;
+			command = EPodcastShowInfo;
+		}
+	};
 	}
 
-//RESOURCE AVKON_TOOLBAR r_showsview_toolbar
-//    {
-//    flags = KAknToolbarFixed;
-//    items =
-//        {
-//        TBAR_CTRL
-//            {
-//            type = EAknCtButton;
-//            id = EPodcastUpdateFeed;
-//            control = AVKON_BUTTON
-//                {
-//                states =
-//                    {
-//                    AVKON_BUTTON_STATE
-//                        {
-//                        //bmpfile = AVKON_BITMAP_FILE;
-//                        //bmpid = EMbmAvkonQgn_indi_find_goto;
-//                        txt = STRING_r_update_feed_short_cmd;
-//                        helptxt = STRING_r_update_feed_cmd;
-//                        }  
-//                    };
-//                };
-//            },
-//            TBAR_CTRL
-//                {
-//                type = EAknCtButton;
-//                id = EPodcastCancelUpdateAllFeeds;
-//                control = AVKON_BUTTON
-//                    {
-//                    states =
-//                        {
-//                        AVKON_BUTTON_STATE
-//                            {
-//                            //bmpfile = AVKON_BITMAP_FILE;
-//                            //bmpid = EMbmAvkonQgn_indi_find_goto;
-//                            txt = STRING_r_cancel_update_all_feeds_short_cmd;
-//                            helptxt = STRING_r_cancel_update_all_feeds_cmd;
-//                           }  
-//                        };
-//                    };
-//                },
-//// we keep the download toolbar button in S^3, but always disable it
-//// because there are drawing issues with only one item in the toolbar
-//            TBAR_CTRL
-//			{
-//			type = EAknCtButton;
-//			id = EPodcastDownloadShow;
-//			control = AVKON_BUTTON
-//				{
-//				states =
-//					{
-//					AVKON_BUTTON_STATE
-//						{
-//						//bmpfile = AVKON_BITMAP_FILE;
-//						//bmpid = EMbmAvkonQgn_indi_find_goto;
-//						txt = STRING_r_view_download_show_cmd;
-//						helptxt = STRING_r_view_download_show_cmd;
-//						}  
-//					};
-//				};
-//			}
-//        ,		
-//		TBAR_CTRL
-//			{
-//			type = EAknCtButton;
-//			id =EPodcastDeleteShow;
-//			control = AVKON_BUTTON
-//				{
-//				states =
-//					{
-//					AVKON_BUTTON_STATE
-//						{
-//						//bmpfile = AVKON_BITMAP_FILE;
-//						//bmpid = EMbmAvkonQgn_indi_find_goto;
-//						txt = STRING_r_view_delete_show_cmd;
-//						helptxt = STRING_r_view_delete_show_cmd;
-//						}  
-//					};
-//				};
-//			},
-//		TBAR_CTRL
-//			{
-//			type = EAknCtButton;
-//			id = EPodcastMarkAsPlayed;
-//			control = AVKON_BUTTON
-//				{
-//				states =
-//					{
-//					AVKON_BUTTON_STATE
-//						{
-//						//bmpfile = AVKON_BITMAP_FILE;
-//						//bmpid = EMbmAvkonQgn_indi_find_goto;
-//						txt = STRING_r_view_mark_as_played_cmd_short;
-//						helptxt = STRING_r_view_mark_as_played_cmd_short;
-//						}  
-//					};
-//				};
-//			},
-//			TBAR_CTRL
-//				{
-//				type = EAknCtButton;
-//				id =EPodcastMarkAsUnplayed;
-//				control = AVKON_BUTTON
-//					{
-//					states =
-//						{
-//						AVKON_BUTTON_STATE
-//							{
-//							//bmpfile = AVKON_BITMAP_FILE;
-//							//bmpid = EMbmAvkonQgn_indi_find_goto;
-//							txt = STRING_r_view_mark_as_unplayed_cmd_short;
-//							helptxt = STRING_r_view_mark_as_unplayed_cmd_short;
-//							}  
-//						};
-//					};
-//				}
-//        };
-//    }
-
-RESOURCE STYLUS_POPUP_MENU r_showview_popup_menu
-	{
-		items =
-		{
-			STYLUS_POPUP_MENU_ITEM
-				{
-					txt = STRING_r_view_show_info_cmd;
-					command = EPodcastShowInfo;
-				}
-		};
-	}
 
 RESOURCE DIALOG r_show_info_note
 {
--- a/application/group/Podcast.mmp	Sat Jul 10 13:35:21 2010 +0100
+++ b/application/group/Podcast.mmp	Sun Jul 11 11:36:24 2010 +0100
@@ -106,3 +106,5 @@
 LIBRARY hlplch.lib
 LIBRARY bitgdi.lib 
 LIBRARY  commonui.lib  // CDocumentHandler
+LIBRARY estlib.lib
+//LIBRARY libc.lib
--- a/application/inc/Podcast.hrh	Sat Jul 10 13:35:21 2010 +0100
+++ b/application/inc/Podcast.hrh	Sun Jul 11 11:36:24 2010 +0100
@@ -67,7 +67,11 @@
 	EPodcastFilterShowsAll,
 	EPodcastFilterShowsNew,
 	EPodcastFilterShowsDownloaded,
-	EPodcastFilterShowsNewAndDownloaded
+	EPodcastFilterShowsNewAndDownloaded,
+	EPodcastFeedFeedMenu,
+	EPodcastShowsShowMenu,
+	EPodcastQueueShowMenu,
+	EPodcastFeedHelpMenu
 	};
 
 enum TPodcastControl
@@ -80,7 +84,6 @@
 	EPodcastSettingConnection,
 	EPodcastSettingIAPList,
 	EPodcastAboutDlg,
-	EPodcastFeedsToolbarExtension,
 	EQueryControl,
 	EPodcastShowInfoImage,
 	EWaitDlg
@@ -100,9 +103,9 @@
 
 enum TConnectionSetting {
 	EConnectionDefault = 0,
-	EConnectionAlwaysAsk = 1,
-	EConnectionUseNetwork = 2,
-	EConnectionUseIap = 0x7FFF
+	EConnectionAlwaysAsk = -1
+//	EConnectionUseNetwork = 2,
+//	EConnectionUseIap = 0x7FFF
 };
 
 #endif
--- a/application/inc/PodcastFeedView.h	Sat Jul 10 13:35:21 2010 +0100
+++ b/application/inc/PodcastFeedView.h	Sun Jul 11 11:36:24 2010 +0100
@@ -97,6 +97,9 @@
 		// from MImageHandlerCallback
 		void ImageOperationCompleteL(TInt aError, TUint aHandle, CPodcastModel& aPodcastModel);
 		
+		void DynInitMenuPaneL(TInt aResourceId,CEikMenuPane* aMenuPane);
+		TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
+
 	private:
 		void FormatFeedInfoListBoxItemL(CFeedInfo& aFeedInfo, TBool aIsUpdating = EFalse);
 		void HandleAddFeedL();
--- a/application/inc/buildno.h	Sat Jul 10 13:35:21 2010 +0100
+++ b/application/inc/buildno.h	Sun Jul 11 11:36:24 2010 +0100
@@ -1,2 +1,2 @@
 // Build number generated by increment_buildno.py, do not edit manually
-#define BUILD_NO 28
\ No newline at end of file
+#define BUILD_NO 3
\ No newline at end of file
--- a/application/sis/buildno.txt	Sat Jul 10 13:35:21 2010 +0100
+++ b/application/sis/buildno.txt	Sun Jul 11 11:36:24 2010 +0100
@@ -1,1 +1,1 @@
-28
\ No newline at end of file
+3
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/application/sis/make_s60_3rd_sis.cmd	Sun Jul 11 11:36:24 2010 +0100
@@ -0,0 +1,6 @@
+del *.sis
+makesis -dc:\symbian\S60_3rd_FP1 podcatcher_udeb.pkg
+signsis podcatcher_udeb.sis podcatcher_udeb_signed.sis podcast.cer podcast.key
+
+makesis -dc:\symbian\S60_3rd_FP1 podcatcher_urel.pkg
+signsis podcatcher_urel.sis podcatcher_urel_signed.sis podcast.cer podcast.key
\ No newline at end of file
--- a/application/sis/make_s60_5th_sis.cmd	Sat Jul 10 13:35:21 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-del *.sis
-makesis -dc:\symbian\S60_5th_Edition_SDK_v1.0 podcatcher_udeb.pkg
-signsis podcatcher_udeb.sis podcatcher_udeb_signed.sis podcast.cer podcast.key
-
-makesis -dc:\symbian\S60_5th_Edition_SDK_v1.0 podcatcher_urel.pkg
-signsis podcatcher_urel.sis podcatcher_urel_signed.sis podcast.cer podcast.key
\ No newline at end of file
--- a/application/sis/podcatcher_udeb.pkg	Sat Jul 10 13:35:21 2010 +0100
+++ b/application/sis/podcatcher_udeb.pkg	Sun Jul 11 11:36:24 2010 +0100
@@ -1,7 +1,7 @@
 &EN
 :"Symbian Foundation"
 %{"Podcatcher"}
-#{"Podcatcher"},(0xA0009D00), 1, 00, 28, TYPE=SA
+#{"Podcatcher"},(0xA0009D00), 0, 90, 3, TYPE=SA
 
 ;Supports S60 3rd edition
 [0x101F7961], 0, 0, 0, {"Series60ProductID"}
Binary file application/sis/podcatcher_udeb.sis has changed
Binary file application/sis/podcatcher_udeb_signed.sis has changed
--- a/application/sis/podcatcher_udeb_template.pkg	Sat Jul 10 13:35:21 2010 +0100
+++ b/application/sis/podcatcher_udeb_template.pkg	Sun Jul 11 11:36:24 2010 +0100
@@ -1,7 +1,7 @@
 &EN
 :"Symbian Foundation"
 %{"Podcatcher"}
-#{"Podcatcher"},(0xA0009D00), 1, 00, BUILDNO, TYPE=SA
+#{"Podcatcher"},(0xA0009D00), 0, 90, BUILDNO, TYPE=SA
 
 ;Supports S60 3rd edition
 [0x101F7961], 0, 0, 0, {"Series60ProductID"}
--- a/application/sis/podcatcher_urel.pkg	Sat Jul 10 13:35:21 2010 +0100
+++ b/application/sis/podcatcher_urel.pkg	Sun Jul 11 11:36:24 2010 +0100
@@ -1,7 +1,7 @@
 &EN
 :"Symbian Foundation"
 %{"Podcatcher"}
-#{"Podcatcher"},(0xA0009D00), 1, 00, 28, TYPE=SA
+#{"Podcatcher"},(0xA0009D00), 1, 00, 3, TYPE=SA
 
 ;Supports S60 3rd edition
 [0x101F7961], 0, 0, 0, {"Series60ProductID"}
--- a/application/src/PodcastFeedView.cpp	Sat Jul 10 13:35:21 2010 +0100
+++ b/application/src/PodcastFeedView.cpp	Sun Jul 11 11:36:24 2010 +0100
@@ -31,7 +31,9 @@
 #include <aknquerydialog.h>
 #include <BAUTILS.H> 
 #include <pathinfo.h> 
-//#include <akncommondialogsdynmem.h> 
+#include <caknmemoryselectiondialog.h> 
+#include <caknmemoryselectiondialog.h> 
+#include <caknfilenamepromptdialog.h> 
 #include "Podcatcher.pan"
 
 const TInt KMaxFeedNameLength = 100;
@@ -710,72 +712,89 @@
 
 void CPodcastFeedView::HandleImportFeedsL()
 	{
-//	TFileName fileName;
-//	fileName.Zero();
-//	TFileName startFolder;
-//	startFolder.Zero();
-//	TInt types = AknCommonDialogsDynMem::EMemoryTypePhone | AknCommonDialogsDynMem::EMemoryTypeMMC |AknCommonDialogsDynMem::EMemoryTypeInternalMassStorage| AknCommonDialogsDynMem::EMemoryTypeRemote;
-//	
-//	HBufC *title = iCoeEnv->AllocReadResourceLC(R_PODCAST_SELECT_OPML);
-//	if (AknCommonDialogsDynMem::RunSelectDlgLD (types, fileName,
-//			startFolder, NULL, NULL, *title))
-//		{
-//		
-//		if(fileName.Length()>0)
-//			{
-//			HBufC *waitText = iEikonEnv->AllocReadResourceLC(R_IMPORTING);
-//			iOpmlState = EOpmlImporting;
-//			ShowWaitDialogL(*waitText);
-//			CleanupStack::PopAndDestroy(waitText);	
-//
-//			TRAPD(err, iPodcastModel.FeedEngine().ImportFeedsL(fileName));
-//								
-//			if (err != KErrNone) {
-//				TBuf<KMaxMessageLength> message;
-//				iEikonEnv->ReadResourceL(message, R_IMPORT_FEED_FAILURE);
-//				ShowErrorMessageL(message);
-//				}
-//			}
-//
-//		}
-//	CleanupStack::PopAndDestroy(title);
+	CAknMemorySelectionDialog* memDlg = 
+		CAknMemorySelectionDialog::NewL(ECFDDialogTypeNormal, ETrue);
+	CleanupStack::PushL(memDlg);
+	CAknMemorySelectionDialog::TMemory memory = 
+		CAknMemorySelectionDialog::EPhoneMemory;
+
+	if (memDlg->ExecuteL(memory))
+		{
+		TFileName importName;
+	
+		if (memory==CAknMemorySelectionDialog::EMemoryCard)
+		{
+			importName = PathInfo:: MemoryCardRootPath();
+		}
+		else
+		{
+			importName = PathInfo:: PhoneMemoryRootPath();
+		}
+
+		CAknFileSelectionDialog* dlg = CAknFileSelectionDialog::NewL(ECFDDialogTypeNormal, R_PODCAST_IMPORT_PODCAST);
+		CleanupStack::PushL(dlg);
+
+		dlg->SetDefaultFolderL(importName);
+		
+		if(dlg->ExecuteL(importName))
+			{
+			if(importName.Length()>0)
+				{
+				iPodcastModel.FeedEngine().ImportFeedsL(importName);
+				UpdateListboxItemsL();
+				}
+			}
+		CleanupStack::PopAndDestroy(dlg);
+		}
+	CleanupStack::PopAndDestroy(memDlg);								
 	}
 
 void CPodcastFeedView::HandleExportFeedsL()
 	{
-//	TFileName fileName;
-//	fileName.Copy(_L("feeds.opml"));
-//	TFileName startFolder;
-//	startFolder.Zero();
-//	TInt types = AknCommonDialogsDynMem::EMemoryTypePhone | AknCommonDialogsDynMem::EMemoryTypeMMC |AknCommonDialogsDynMem::EMemoryTypeInternalMassStorage| AknCommonDialogsDynMem::EMemoryTypeRemote;
-//	
-//	HBufC *title = iCoeEnv->AllocReadResourceLC(R_PODCAST_SELECT_FOLDER);
-//	if (AknCommonDialogsDynMem::RunSaveDlgLD (types, fileName,
-//			startFolder, NULL, NULL, *title))
-//		{
-//			TFileName temp;
-//			TRAPD(err, iPodcastModel.FeedEngine().ExportFeedsL(temp));						
-//			BaflUtils::CopyFile(iEikonEnv->FsSession(), temp, fileName);
-//			BaflUtils::DeleteFile(iEikonEnv->FsSession(),temp);	
-//			if (err == KErrNone) 
-//				{
-//				UpdateListboxItemsL();
-//				TInt numFeeds = iPodcastModel.FeedEngine().GetSortedFeeds().Count();
-//								
-//				TBuf<KMaxMessageLength> message;
-//				TBuf<KMaxMessageLength> templ;
-//				iEikonEnv->ReadResourceL(templ, R_EXPORT_FEED_SUCCESS);
-//				message.Format(templ, numFeeds);
-//				ShowOkMessageL(message);
-//				} 
-//			else 
-//				{
-//				TBuf<KMaxMessageLength> message;
-//				iEikonEnv->ReadResourceL(message, R_EXPORT_FEED_FAILURE);
-//				ShowErrorMessageL(message);
-//				}
-//		}
-//	CleanupStack::PopAndDestroy(title);
+	CAknMemorySelectionDialog* memDlg = 
+		CAknMemorySelectionDialog::NewL(ECFDDialogTypeSave, ETrue);
+	CleanupStack::PushL(memDlg);
+	CAknMemorySelectionDialog::TMemory memory = 
+		CAknMemorySelectionDialog::EPhoneMemory;
+
+	if (memDlg->ExecuteL(memory))
+		{
+		TFileName pathName;
+		
+		if (memory==CAknMemorySelectionDialog::EMemoryCard)
+		{
+			pathName = PathInfo::MemoryCardRootPath();
+		}
+		else
+		{
+			pathName = PathInfo::PhoneMemoryRootPath();
+		}
+
+		CAknFileSelectionDialog* dlg = CAknFileSelectionDialog::NewL(ECFDDialogTypeSave, R_PODCAST_EXPORT_FEEDS);
+		CleanupStack::PushL(dlg);
+								
+		if(dlg->ExecuteL(pathName))
+			{
+			CAknFileNamePromptDialog *fileDlg = CAknFileNamePromptDialog::NewL(R_PODCAST_FILENAME_PROMPT_DIALOG);
+			CleanupStack::PushL(fileDlg);
+			fileDlg->SetPathL(pathName);
+			TFileName fileName;
+			if (fileDlg->ExecuteL(fileName) && fileName.Length() > 0)
+				{
+				pathName.Append(fileName);
+				TFileName temp;
+				iPodcastModel.FeedEngine().ExportFeedsL(temp);
+				RFs fs;
+				fs.Connect();
+				BaflUtils::CopyFile(fs, temp, pathName);
+				BaflUtils::DeleteFile(fs,temp);
+				fs.Close();
+				}
+			CleanupStack::PopAndDestroy(fileDlg);
+			}
+		CleanupStack::PopAndDestroy(dlg);
+	}
+	CleanupStack::PopAndDestroy(memDlg);									
 	}
 
 void CPodcastFeedView::CheckResumeDownloadL()
@@ -887,3 +906,32 @@
 	{
 	return iViewingShows;
 	}
+
+void CPodcastFeedView::DynInitMenuPaneL(TInt aResourceId,CEikMenuPane* aMenuPane)
+	{
+	if(aResourceId == R_PODCAST_FEEDVIEW_MENU)
+		{
+		aMenuPane->SetItemDimmed(EPodcastUpdateAllFeeds, iUpdatingRunning);
+		aMenuPane->SetItemDimmed(EPodcastCancelUpdateAllFeeds, !iUpdatingRunning);
+		aMenuPane->SetItemDimmed(EPodcastSettings, iUpdatingRunning);
+		aMenuPane->SetItemDimmed(EPodcastFeedFeedMenu, iUpdatingRunning);
+//		aMenuPane->SetItemDimmed(EPodcastImportExportFeeds, iUpdatingRunning);
+		}
+	}
+
+TKeyResponse CPodcastFeedView::OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType)
+	{
+	if (aType == EEventKey)
+		{
+			switch (aKeyEvent.iCode) {
+			case EKeyBackspace:
+			case EKeyDelete:
+				HandleCommandL(EPodcastDeleteFeedHardware);
+				break;
+			default:
+				break;
+			}
+		}
+		return CPodcastListView::OfferKeyEventL(aKeyEvent, aType);
+	}
+
--- a/application/src/PodcastQueueView.cpp	Sat Jul 10 13:35:21 2010 +0100
+++ b/application/src/PodcastQueueView.cpp	Sun Jul 11 11:36:24 2010 +0100
@@ -67,8 +67,6 @@
 	iPodcastModel.FeedEngine().AddObserver(this);
 	iPodcastModel.ShowEngine().AddObserver(this);
 	
-	CleanupStack::PopAndDestroy();
-
 	SetEmptyTextL(R_PODCAST_EMPTY_QUEUE);
 	}
 
@@ -310,8 +308,21 @@
 	
 void CPodcastQueueView::DynInitMenuPaneL(TInt aResourceId,CEikMenuPane* aMenuPane)
 	{
-	if(aResourceId == R_PODCAST_SHOWSVIEW_MENU)
+	if(aResourceId == R_QUEUE_SHOW_MENU)
 		{
-		aMenuPane->SetItemDimmed(EPodcastMarkAllPlayed, ETrue);
+		TBool dimDown = (iListContainer->Listbox()->CurrentItemIndex() >= iPodcastModel.ActiveShowList().Count() - 1 ?
+				ETrue : EFalse);
+		TBool dimUp = (iListContainer->Listbox()->CurrentItemIndex() <= 0 ?
+				ETrue : EFalse);
+		
+		aMenuPane->SetItemDimmed(EPodcastMoveDownloadDown, dimDown);
+		aMenuPane->SetItemDimmed(EPodcastMoveDownloadUp, dimUp);
+		}
+	else if (aResourceId == R_PODCAST_QUEUEVIEW_MENU)
+		{
+		aMenuPane->SetItemDimmed(EPodcastQueueShowMenu, iPodcastModel.ActiveShowList().Count() == 0);
+		aMenuPane->SetItemDimmed(EPodcastRemoveAllDownloads, iPodcastModel.ActiveShowList().Count() == 0);
+		aMenuPane->SetItemDimmed(EPodcastSuspendDownloads, iPodcastModel.SettingsEngine().DownloadSuspended());
+		aMenuPane->SetItemDimmed(EPodcastResumeDownloads, !iPodcastModel.SettingsEngine().DownloadSuspended());				
 		}
 	}
--- a/application/src/PodcastSettingsView.cpp	Sat Jul 10 13:35:21 2010 +0100
+++ b/application/src/PodcastSettingsView.cpp	Sun Jul 11 11:36:24 2010 +0100
@@ -24,8 +24,8 @@
 #include <aknnavide.h> 
 #include <podcast.rsg>
 #include "SettingsEngine.h"
-
-//#include <akncommondialogsdynmem.h> 
+#include <caknfileselectiondialog.h> 
+#include <caknmemoryselectiondialog.h> 
 #include <pathinfo.h>
 #include <aknquerydialog.h>
 
@@ -46,36 +46,36 @@
 		{	
 		CArrayPtr< CAknEnumeratedText > * enumeratedArr = EnumeratedTextArray();
 		CArrayPtr< HBufC > * poppedUpTextArray = PoppedUpTextArray();
-		enumeratedArr->ResetAndDestroy();
-		poppedUpTextArray->ResetAndDestroy();		
 			
 		CDesCArrayFlat *iapArray = iPodcastModel.IAPNames();
 
 		TBool valueExists = EFalse;
 		DP2("InternalValue=%d, ExternalValue=%d", InternalValue(), ExternalValue());
 		for (int i=0;i<iapArray->Count();i++) {
-		HBufC *buf = (*iapArray)[i].AllocL();
-		poppedUpTextArray->AppendL(buf);
-
-		TInt iapId = iPodcastModel.IAPIds()[i].iIapId;
-		DP2("IAP name='%S', id=%d", buf, iapId);
-
-		if (iapId == ExternalValue()) {
-		valueExists = ETrue;
-		}
-		// both arrays destroy themselves, so we need two copies to prevent USER 44
-		HBufC *buf2 = (*iapArray)[i].AllocL();
-
-		CAknEnumeratedText *enumerated = new CAknEnumeratedText(iapId, buf2);
-		enumeratedArr->AppendL(enumerated);
+			HBufC *buf = (*iapArray)[i].AllocL();
+			poppedUpTextArray->AppendL(buf);
+	
+			TInt iapId = iPodcastModel.IAPIds()[i].iIapId;
+			DP2("IAP name='%S', id=%d", buf, iapId);
+	
+			if (iapId == ExternalValue() || ExternalValue() == 0 || ExternalValue() == -1)
+				{
+				valueExists = ETrue;
+				}
+			
+			// both arrays destroy themselves, so we need two copies to prevent USER 44
+			HBufC *buf2 = (*iapArray)[i].AllocL();
+	
+			CAknEnumeratedText *enumerated = new CAknEnumeratedText(iapId, buf2);
+			enumeratedArr->AppendL(enumerated);
 		}
 
 		DP1("valueExists=%d", valueExists);
 		if (!valueExists && iPodcastModel.IAPIds().Count() > 0 ) {
-		DP1("Setting iIap=%d", iPodcastModel.IAPIds()[0].iIapId);
-		iIap = iPodcastModel.IAPIds()[0].iIapId;
-		LoadL();
-		DP2("InternalValue=%d, ExternalValue=%d", InternalValue(), ExternalValue());
+			DP1("Setting iIap=%d", iPodcastModel.IAPIds()[0].iIapId);
+			iIap = iPodcastModel.IAPIds()[0].iIapId;
+			LoadL();
+			DP2("InternalValue=%d, ExternalValue=%d", InternalValue(), ExternalValue());
 		}
 
 		TRAPD(err, HandleTextArrayUpdateL());
@@ -121,91 +121,91 @@
 };
 
 
-class CConnectionSetting: public CAknEnumeratedTextPopupSettingItem 
-{ 
-public:
-	CConnectionSetting(TInt aResourceId, TInt& aValue, CPodcastModel &aPodcastModel) :
-		CAknEnumeratedTextPopupSettingItem(aResourceId, aValue), iPodcastModel(aPodcastModel)
-		{
-		}
-
-	~CConnectionSetting()
-		{
-		}
-
-	void RefreshConnectionListL()
-		{	
-		CArrayPtr< CAknEnumeratedText > * enumeratedArr = EnumeratedTextArray();
-		CArrayPtr< HBufC > * poppedUpTextArray = PoppedUpTextArray();						
-			
-		CDesCArrayFlat *snapArray = iPodcastModel.SNAPNames();
-
-		TBool valueExists = EFalse;
-		DP2("InternalValue=%d, ExternalValue=%d", InternalValue(), ExternalValue());
-		for (int i=0;i<snapArray->Count();i++) {
-			HBufC *buf = (*snapArray)[i].AllocL();
-			poppedUpTextArray->InsertL(EConnectionUseNetwork+i,buf);
-
-			TInt snapId = iPodcastModel.SNAPIds()[i].iIapId;
-			DP2("SNAP name='%S', id=%d", buf, snapId);
-	
-			if (snapId == ExternalValue()) {
-			valueExists = ETrue;
-		}
-		// both arrays destroy themselves, so we need two copies to prevent USER 44
-		HBufC *buf2 = (*snapArray)[i].AllocL();
-
-		CAknEnumeratedText *enumerated = new CAknEnumeratedText(EConnectionUseNetwork+i, buf2);
-		enumeratedArr->InsertL(EConnectionUseNetwork+i, enumerated);
-		}
-
-		DP1("valueExists=%d", valueExists);
-		if (!valueExists && iPodcastModel.SNAPIds().Count() > 0 ) {
-		DP1("Setting i=%d", iPodcastModel.SNAPIds()[0].iIapId);	
-		LoadL();
-		DP2("InternalValue=%d, ExternalValue=%d", InternalValue(), ExternalValue());
-		}
-
-		TRAPD(err, HandleTextArrayUpdateL());
-
-		if (err != KErrNone) {
-		DP1("Leave in HandleTextArrayUpdateL, err=%d", err);
-		}
-		}
-
-	void CompleteConstructionL()
-		{
-		DP("CIapSetting::CompleteConstructionL BEGIN");
-		CAknEnumeratedTextPopupSettingItem::CompleteConstructionL();
-		RefreshConnectionListL();
-		DP("CIapSetting::CompleteConstructionL END");
-		}
-
-	void EditItemL(TBool aCalledFromMenu)
-		{
-		DP("CIapSetting::EditItemL BEGIN");
-		LoadL();
-		CAknEnumeratedTextPopupSettingItem::EditItemL(aCalledFromMenu);
-		StoreL();		
-		DP2("InternalValue=%d, ExternalValue=%d", InternalValue(), ExternalValue());
-		DP("CIapSetting::EditItemL END");
-		}
-
-	void HandleSettingPageEventL(CAknSettingPage* aSettingPage, TAknSettingPageEvent aEventType)
-		{
-		DP("CIapSetting::HandleSettingPageEventL BEGIN");
-		CAknSettingItem::HandleSettingPageEventL(aSettingPage, aEventType);
-		/*if (aEventType == EEventSettingOked) 
-			{
-			DP2("InternalValue=%d, ExternalValue=%d", InternalValue(), ExternalValue());
-			StoreL();
-			}*/
-		DP("CIapSetting::HandleSettingPageEventL END");
-		}
-
-protected:
-  	CPodcastModel& iPodcastModel;  
-};
+//class CConnectionSetting: public CAknEnumeratedTextPopupSettingItem 
+//{ 
+//public:
+//	CConnectionSetting(TInt aResourceId, TInt& aValue, CPodcastModel &aPodcastModel) :
+//		CAknEnumeratedTextPopupSettingItem(aResourceId, aValue), iPodcastModel(aPodcastModel)
+//		{
+//		}
+//
+//	~CConnectionSetting()
+//		{
+//		}
+//
+//	void RefreshConnectionListL()
+//		{	
+//		CArrayPtr< CAknEnumeratedText > * enumeratedArr = EnumeratedTextArray();
+//		CArrayPtr< HBufC > * poppedUpTextArray = PoppedUpTextArray();						
+//			
+//		CDesCArrayFlat *snapArray = iPodcastModel.SNAPNames();
+//
+//		TBool valueExists = EFalse;
+//		DP2("InternalValue=%d, ExternalValue=%d", InternalValue(), ExternalValue());
+//		for (int i=0;i<snapArray->Count();i++) {
+//			HBufC *buf = (*snapArray)[i].AllocL();
+//			poppedUpTextArray->InsertL(EConnectionUseNetwork+i,buf);
+//
+//			TInt snapId = iPodcastModel.SNAPIds()[i].iIapId;
+//			DP2("SNAP name='%S', id=%d", buf, snapId);
+//	
+//			if (snapId == ExternalValue()) {
+//			valueExists = ETrue;
+//		}
+//		// both arrays destroy themselves, so we need two copies to prevent USER 44
+//		HBufC *buf2 = (*snapArray)[i].AllocL();
+//
+//		CAknEnumeratedText *enumerated = new CAknEnumeratedText(EConnectionUseNetwork+i, buf2);
+//		enumeratedArr->InsertL(EConnectionUseNetwork+i, enumerated);
+//		}
+//
+//		DP1("valueExists=%d", valueExists);
+//		if (!valueExists && iPodcastModel.SNAPIds().Count() > 0 ) {
+//		DP1("Setting i=%d", iPodcastModel.SNAPIds()[0].iIapId);	
+//		LoadL();
+//		DP2("InternalValue=%d, ExternalValue=%d", InternalValue(), ExternalValue());
+//		}
+//
+//		TRAPD(err, HandleTextArrayUpdateL());
+//
+//		if (err != KErrNone) {
+//		DP1("Leave in HandleTextArrayUpdateL, err=%d", err);
+//		}
+//		}
+//
+//	void CompleteConstructionL()
+//		{
+//		DP("CIapSetting::CompleteConstructionL BEGIN");
+//		CAknEnumeratedTextPopupSettingItem::CompleteConstructionL();
+//		RefreshConnectionListL();
+//		DP("CIapSetting::CompleteConstructionL END");
+//		}
+//
+//	void EditItemL(TBool aCalledFromMenu)
+//		{
+//		DP("CIapSetting::EditItemL BEGIN");
+//		LoadL();
+//		CAknEnumeratedTextPopupSettingItem::EditItemL(aCalledFromMenu);
+//		StoreL();		
+//		DP2("InternalValue=%d, ExternalValue=%d", InternalValue(), ExternalValue());
+//		DP("CIapSetting::EditItemL END");
+//		}
+//
+//	void HandleSettingPageEventL(CAknSettingPage* aSettingPage, TAknSettingPageEvent aEventType)
+//		{
+//		DP("CIapSetting::HandleSettingPageEventL BEGIN");
+//		CAknSettingItem::HandleSettingPageEventL(aSettingPage, aEventType);
+//		/*if (aEventType == EEventSettingOked) 
+//			{
+//			DP2("InternalValue=%d, ExternalValue=%d", InternalValue(), ExternalValue());
+//			StoreL();
+//			}*/
+//		DP("CIapSetting::HandleSettingPageEventL END");
+//		}
+//
+//protected:
+//  	CPodcastModel& iPodcastModel;  
+//};
 
 class CPodcastSettingItemList:public CAknSettingItemList
 	{
@@ -226,33 +226,8 @@
 		se.SetBaseDir(iShowDir);
 		DP1("Base Dir: %S", &iShowDir);
 		se.SetUpdateAutomatically((TAutoUpdateSetting)iAutoUpdate);
-		DP1("Update automatically: %d", iAutoUpdate);		
-		switch(iConnection)
-			{
-			case EConnectionDefault:
-				{
-				DP("Specific IAP: 0 Ask user");
-				se.SetSpecificIAP(0);	
-				}break;
-			case EConnectionAlwaysAsk:
-				{
-				DP("Specific IAP: -1 Ask user");
-				se.SetSpecificIAP(-1);		
-				}break;
-			
-			case EConnectionUseIap:
-				{		
-				DP1("Specific NETWORK: %d", iIap);		
-				se.SetSpecificIAP((iIap|KUseIAPFlag));	
-				}break;
-			default:
-			case EConnectionUseNetwork:
-				{
-				DP1("Specific IAP: %d", iIap);		
-				TInt snapIndex = iConnection-EConnectionUseNetwork;
-				se.SetSpecificIAP(iPodcastModel.SNAPIds()[snapIndex].iIapId);	
-				}break;
-			}		
+		DP1("Update automatically: %d", iAutoUpdate);
+		se.SetSpecificIAP(iIap);	
 		
 		DP1("Download automatically: %d", iAutoDownload);
 		se.SetDownloadAutomatically(iAutoDownload);
@@ -270,15 +245,15 @@
 		{
 		DP("UpdateSettingVisibility BEGIN");
 		LoadSettingsL();
-		TBool dimAutoUpdate = iConnection == EConnectionAlwaysAsk;
-		TBool dimIAP = iConnection < EConnectionUseIap;
+		TBool dimAutoUpdate = iIap == EConnectionAlwaysAsk;
+//		TBool dimIAP = EFalse; //iConnection < EConnectionUseIap;
 	
 		iSettingAutoUpdate->SetHidden(dimAutoUpdate);
-		iSettingIAP->SetHidden(dimIAP);
-		if(!dimIAP)
-			{
-			iSettingIAP->RefreshConnectionListL();
-			}
+//		iSettingIAP->SetHidden(dimIAP);
+//		if(!dimIAP)
+//			{
+//			iSettingIAP->RefreshConnectionListL();
+//			}
 		ListBox()->ScrollToMakeItemVisible(0);
 		
 		TRAP_IGNORE(HandleChangeInItemArrayOrVisibilityL());
@@ -287,41 +262,49 @@
 
 	void  EditItemL (TInt aIndex, TBool aCalledFromMenu)
 		{
-		DP("EditItemL BEGIN");
-//		if (aIndex == 0) {
-//			TFileName selectedFolder;
-//			selectedFolder.Copy(iShowDir);
-//			TFileName startFolder;
-//			startFolder.Zero();
-//			TInt types = AknCommonDialogsDynMem::EMemoryTypePhone | AknCommonDialogsDynMem::EMemoryTypeMMC |AknCommonDialogsDynMem::EMemoryTypeInternalMassStorage| AknCommonDialogsDynMem::EMemoryTypeRemote;
-//			
-//			HBufC *title = iCoeEnv->AllocReadResourceLC(R_PODCAST_SELECT_FOLDER);
-//			if (AknCommonDialogsDynMem::RunFolderSelectDlgLD (types, selectedFolder,
-//					startFolder, NULL, NULL, *title))
-//				{
-//				_LIT(KPodcastsDir, "Podcasts");
-//				TInt pos = selectedFolder.Find(KPodcastsDir);
-//				if (pos == KErrNotFound || pos != selectedFolder.Length()-9)
-//					{
-//					// append "Podcasts" if the folder isn't already called this
-//					selectedFolder.Append(KPodcastsDir);
-//					}
-//				
-//				if (selectedFolder[selectedFolder.Length()-1] != '\\')
-//					{
-//					selectedFolder.Append(_L("\\"));
-//					}
-//				
-//				iShowDir.Copy(selectedFolder);
-//				LoadSettingsL();
-//				}
-//			CleanupStack::PopAndDestroy(title);
-//			}
-//		else {
-//			CAknSettingItemList::EditItemL(aIndex,aCalledFromMenu);
-//		}
-//			StoreSettingsL();
-//			UpdateSettingVisibility();
+		if (aIndex == 0) {
+			CAknMemorySelectionDialog* memDlg = 
+				CAknMemorySelectionDialog::NewL(ECFDDialogTypeNormal, ETrue);
+			CleanupStack::PushL(memDlg);
+			CAknMemorySelectionDialog::TMemory memory = 
+				CAknMemorySelectionDialog::EPhoneMemory;
+	
+			if (memDlg->ExecuteL(memory))
+				{
+				TFileName importName;
+			
+				if (memory==CAknMemorySelectionDialog::EMemoryCard)
+				{
+					importName = PathInfo:: MemoryCardRootPath();
+				}
+				else
+				{
+					importName = PathInfo:: PhoneMemoryRootPath();
+				}
+	
+				CAknFileSelectionDialog* dlg = CAknFileSelectionDialog::NewL(ECFDDialogTypeSave, R_PODCAST_SHOWDIR_SELECTOR);
+				HBufC* select = iEikonEnv->AllocReadResourceLC(R_PODCAST_SOFTKEY_SELECT);
+				dlg->SetLeftSoftkeyFileL(*select);
+				CleanupStack::PopAndDestroy(select);
+				CleanupStack::PushL(dlg);
+	
+				dlg->SetDefaultFolderL(importName);
+				
+				if(dlg->ExecuteL(importName))
+					{
+					importName.Append(_L("Podcasts"));
+					iShowDir.Copy(importName);
+					LoadSettingsL();
+					}
+				CleanupStack::PopAndDestroy(dlg);
+				}
+			CleanupStack::PopAndDestroy(memDlg);								
+			}
+		else {
+			CAknSettingItemList::EditItemL(aIndex,aCalledFromMenu);
+		}
+				StoreSettingsL();
+			UpdateSettingVisibility();
 		DP("EditItemL END");
 		}
 	
@@ -342,37 +325,37 @@
 		iAutoUpdate = se.UpdateAutomatically();
 		iIap = se.SpecificIAP();
 		
-		if( iIap == 0)
-			{
-			iConnection = EConnectionDefault;
-			}
-		else if ( iIap == -1)
-			{
-			iConnection = EConnectionAlwaysAsk;	
-			}
-		else if ( (iIap & KUseIAPFlag))
-			{
-			iConnection = EConnectionUseIap;
-			iIap = iIap& KUseIAPMask;
-			}
-		else
-			{
-			TInt snapIndex = 0;
-			TInt cnt = iPodcastModel.SNAPIds().Count();
-			while(snapIndex < cnt && ((TInt)iPodcastModel.SNAPIds()[snapIndex].iIapId) != iIap)
-				{
-				snapIndex++;
-				}
-			
-			if(snapIndex != cnt)
-				{
-				iConnection = EConnectionUseNetwork+snapIndex;
-				}
-			else
-				{
-				iConnection = EConnectionAlwaysAsk;
-				}
-			}
+//		if( iIap == 0)
+//			{
+//			iConnection = EConnectionDefault;
+//			}
+//		else if ( iIap == -1)
+//			{
+//			iConnection = EConnectionAlwaysAsk;	
+//			}
+//		else if ( (iIap & KUseIAPFlag))
+//			{
+//			iConnection = EConnectionUseIap;
+//			iIap = iIap& KUseIAPMask;
+//			}
+//		else
+//			{
+//			TInt snapIndex = 0;
+//			TInt cnt = iPodcastModel.SNAPIds().Count();
+//			while(snapIndex < cnt && ((TInt)iPodcastModel.SNAPIds()[snapIndex].iIapId) != iIap)
+//				{
+//				snapIndex++;
+//				}
+//			
+//			if(snapIndex != cnt)
+//				{
+//				iConnection = EConnectionUseI+snapIndex;
+//				}
+//			else
+//				{
+//				iConnection = EConnectionAlwaysAsk;
+//				}
+//			}
 									
 		iAutoDownload = se.DownloadAutomatically();
 			
@@ -387,10 +370,10 @@
 				iSettingAutoUpdate = new (ELeave) CAknEnumeratedTextPopupSettingItem(aSettingId, iAutoUpdate);
 				return iSettingAutoUpdate;
 				break;
-			case EPodcastSettingConnection:
-				DP("EPodcastSettingConnection");
-				return new (ELeave) CConnectionSetting (aSettingId, iConnection, iPodcastModel);
-				break;
+//			case EPodcastSettingConnection:
+//				DP("EPodcastSettingConnection");
+//				return new (ELeave) CConnectionSetting (aSettingId, iConnection, iPodcastModel);
+//				break;
 			case EPodcastSettingIAPList:
 				DP("EPodcastSettingIAPList");
 				iSettingIAP = new (ELeave) CIapSetting (aSettingId, iIap, iPodcastModel);
@@ -417,7 +400,7 @@
 	TInt iAutoDownload;
 	CAknSettingItem *iSettingAutoDownload; 
 
-	TInt iConnection;
+//	TInt iConnection;
 	
 	TInt iIap;
 	CIapSetting *iSettingIAP; 
--- a/application/src/PodcastShowsView.cpp	Sat Jul 10 13:35:21 2010 +0100
+++ b/application/src/PodcastShowsView.cpp	Sun Jul 11 11:36:24 2010 +0100
@@ -105,6 +105,7 @@
 
 void CPodcastShowsView::ConstructL()
 	{
+	DP("CPodcastShowsView::ConstructL BEGIN");
 	BaseConstructL(R_PODCAST_SHOWSVIEW);
 	CPodcastListView::ConstructL();
 	
@@ -115,7 +116,7 @@
 	iPodcastModel.FeedEngine().AddObserver(this);
 	iPodcastModel.ShowEngine().AddObserver(this);
 	
-	CleanupStack::PopAndDestroy();	
+	DP("CPodcastShowsView::ConstructL END");
 	}
 
 void CPodcastShowsView::CreateIconsL()
@@ -172,9 +173,7 @@
 				break;
 			case 106:
 			case '#':
-				if (activeShow->DownloadState() == ENotDownloaded) {
-					HandleCommandL(EPodcastDownloadShow);
-				}
+				HandleCommandL(EPodcastShowInfo);
 				break;
 			case EKeyBackspace:
 			case EKeyDelete:
@@ -636,10 +635,29 @@
 	
 void CPodcastShowsView::DynInitMenuPaneL(TInt aResourceId,CEikMenuPane* aMenuPane)
 {
+	TBool updatingState = iPodcastModel.FeedEngine().ClientState() != EIdle && iPodcastModel.ActiveFeedInfo() && 
+				iPodcastModel.FeedEngine().ActiveClientUid() == iPodcastModel.ActiveFeedInfo()->Uid();
+
 	if(aResourceId == R_PODCAST_SHOWSVIEW_MENU)
+		{	
+		aMenuPane->SetItemDimmed(EPodcastMarkAllPlayed, updatingState || iPodcastModel.ActiveShowList().Count() == 0);
+		aMenuPane->SetItemDimmed(EPodcastUpdateFeed, updatingState); 
+		aMenuPane->SetItemDimmed(EPodcastCancelUpdateAllFeeds, !updatingState);
+		aMenuPane->SetItemDimmed(EPodcastShowsShowMenu, updatingState || iPodcastModel.ActiveShowList().Count() == 0);
+		}
+	else if (aResourceId == R_SHOWS_SHOW_MENU)
 		{
-		TBool updatingState = iPodcastModel.FeedEngine().ClientState() != EIdle && iPodcastModel.FeedEngine().ActiveClientUid() == iPodcastModel.ActiveFeedInfo()->Uid();
-		aMenuPane->SetItemDimmed(EPodcastMarkAllPlayed, updatingState);
+		TInt index = iListContainer->Listbox()->CurrentItemIndex();
+		if (index >= 0 && index < iPodcastModel.ActiveShowList().Count())
+			{
+			CShowInfo *info = iPodcastModel.ActiveShowList()[index];
+			TBool hideDeleteShowCmd = info->DownloadState() != EDownloaded;
+			TBool hideMarkOld = info->PlayState() == EPlayed;
+			
+			aMenuPane->SetItemDimmed(EPodcastMarkAsPlayed, hideMarkOld);
+			aMenuPane->SetItemDimmed(EPodcastMarkAsUnplayed, !hideMarkOld);			
+			aMenuPane->SetItemDimmed(EPodcastDeleteShow, hideDeleteShowCmd);
+			}
 		}
 }
 	
--- a/engine/group/bld.inf	Sat Jul 10 13:35:21 2010 +0100
+++ b/engine/group/bld.inf	Sun Jul 11 11:36:24 2010 +0100
@@ -28,8 +28,8 @@
 PRJ_EXPORTS
 // export pre-build sqlite
 ..\sqlite\sqlite_podcatcher_winscw.lib \epoc32\release\winscw\udeb\sqlite_podcatcher.lib
-//..\sqlite\sqlite_podcatcher_gcce.lib \epoc32\release\armv5\udeb\sqlite_podcatcher.lib
-//..\sqlite\sqlite_podcatcher_gcce.lib \epoc32\release\armv5\urel\sqlite_podcatcher.lib
+..\sqlite\sqlite_podcatcher_gcce.lib \epoc32\release\armv5\udeb\sqlite_podcatcher.lib
+..\sqlite\sqlite_podcatcher_gcce.lib \epoc32\release\armv5\urel\sqlite_podcatcher.lib
 
 ..\config\podcatcher.sqlite \epoc32\winscw\c\private\A0009D00\podcatcher.sqlite.template
 ..\config\defaultfeeds.xml \epoc32\winscw\c\private\A0009D00\defaultfeeds.xml
--- a/engine/group/engine.mmp	Sat Jul 10 13:35:21 2010 +0100
+++ b/engine/group/engine.mmp	Sun Jul 11 11:36:24 2010 +0100
@@ -23,7 +23,7 @@
 SOURCEPATH ..\src
 USERINCLUDE ..\inc
 SYSTEMINCLUDE \epoc32\include 
-INCLUDE ..\..\engine\sqlite\inc
+USERINCLUDE ..\..\engine\sqlite\inc
 
 // Engine
 SOURCE			HttpClient.cpp
--- a/engine/inc/ConnectionEngine.h	Sat Jul 10 13:35:21 2010 +0100
+++ b/engine/inc/ConnectionEngine.h	Sun Jul 11 11:36:24 2010 +0100
@@ -49,8 +49,8 @@
 	enum TConnectionType
 		{
 		EUserSelectConnection,		
-		ESNAPConnection,		
-		EMobilityConnection,
+//		ESNAPConnection,		
+//		EMobilityConnection,
 		EDefaultConnection,
 		EIAPConnection
 		};
Binary file engine/sqlite/sqlite_podcatcher_gcce.lib has changed
--- a/engine/src/ConnectionEngine.cpp	Sat Jul 10 13:35:21 2010 +0100
+++ b/engine/src/ConnectionEngine.cpp	Sun Jul 11 11:36:24 2010 +0100
@@ -61,8 +61,8 @@
 //		iMobility = CActiveCommsMobilityApiExt::NewL( iConnection, *this );
 //		}
 //	
-//	iConnectionState = iStatus.Int() == KErrNone?CConnectionEngine::EConnected:CConnectionEngine::ENotConnected;
-//	ReportConnectionL( iStatus.Int() );
+	iConnectionState = iStatus.Int() == KErrNone?CConnectionEngine::EConnected:CConnectionEngine::ENotConnected;
+	ReportConnectionL( iStatus.Int() );
 	}
 
 void CConnectionEngine::DoCancel()
@@ -149,12 +149,13 @@
 	
 	iConnection.Close();
 	User::LeaveIfError( iConnection.Open( iSocketServer ) );
-//	// Connect using UI Setting
-//	if(aConnectionType == EDefaultConnection)
-//		{
-//		iConnection.Start( iStatus );
-//		SetActive();
-//		}
+
+	// Connect using UI Setting
+	if(aConnectionType == EDefaultConnection || EUserSelectConnection)
+		{
+		iConnection.Start( iStatus );
+		SetActive();
+		}
 //	else if(aConnectionType == EUserSelectConnection)
 //		{				
 //		TBool selected = ConnectionSettingL();
@@ -186,14 +187,14 @@
 //		
 //			SetActive();
 //		}	
-//	else if (aConnectionType == EIAPConnection)
-//		{
-//		iCommdbPreference.SetIapId((iPodcastModel.SettingsEngine().SpecificIAP()& KUseIAPMask));
-//		iCommdbPreference.SetDialogPreference(ECommDbDialogPrefDoNotPrompt);
-//		iCommdbPreference.SetDirection(ECommDbConnectionDirectionOutgoing);
-//		iConnection.Start( iCommdbPreference, iStatus );
-//		SetActive();
-//		}
+	else if (aConnectionType == EIAPConnection)
+		{
+		iCommdbPreference.SetIapId((iPodcastModel.SettingsEngine().SpecificIAP()& KUseIAPMask));
+		iCommdbPreference.SetDialogPreference(ECommDbDialogPrefDoNotPrompt);
+		iCommdbPreference.SetDirection(ECommDbConnectionDirectionOutgoing);
+		iConnection.Start( iCommdbPreference, iStatus );
+		SetActive();
+		}
 //	// Connect using SNAP 
 //	else
 //		{
--- a/engine/src/FeedInfo.cpp	Sat Jul 10 13:35:21 2010 +0100
+++ b/engine/src/FeedInfo.cpp	Sun Jul 11 11:36:24 2010 +0100
@@ -225,7 +225,7 @@
 		{
 		// If this fails, no reason to worry
 		iFeedIcon = new CFbsBitmap();
-		TRAP_IGNORE(aPodcastModel->ImageHandler().LoadFileAndScaleL(FeedIcon(), ImageFileName(), TSize(64,56), *this, Uid()));
+		TRAP_IGNORE(aPodcastModel->ImageHandler().LoadFileAndScaleL(FeedIcon(), ImageFileName(), TSize(44,44), *this, Uid()));
 		}	
 	DP("CFeedInfo::SetImageFileNameL END");
 	} 
--- a/engine/src/HttpClient.cpp	Sat Jul 10 13:35:21 2010 +0100
+++ b/engine/src/HttpClient.cpp	Sun Jul 11 11:36:24 2010 +0100
@@ -97,14 +97,14 @@
 			{
 			iPodcastModel.ConnectionEngine().StartL(CConnectionEngine::EDefaultConnection);	
 			}
-		else if( (iPodcastModel.SettingsEngine().SpecificIAP()&KUseIAPFlag))
+		else if( (iPodcastModel.SettingsEngine().SpecificIAP()))
 			{
 			iPodcastModel.ConnectionEngine().StartL(CConnectionEngine::EIAPConnection);
 			}
-		else
-			{
-			iPodcastModel.ConnectionEngine().StartL(CConnectionEngine::EMobilityConnection);
-			}
+//		else
+//			{
+//			iPodcastModel.ConnectionEngine().StartL(CConnectionEngine::EMobilityConnection);
+//			}
 		}
 	DP("ConnectHttpSessionL END");	
 }