Changeset 86
- Timestamp:
- 07/09/07 10:02:18 (1 year ago)
- Location:
- Mulberry/branches/v4.1d1/Sources_Common
- Files:
-
- 68 added
- 90 modified
-
Application/Address_Book/CAddressBookViewCommon.cp (modified) (7 diffs)
-
Application/Address_Book_Manager/CAdbkManagerTableCommon.cp (modified) (30 diffs)
-
Application/Calendar/Calendar_View/Calendar_Store_View/CCalendarStoreTableCommon.cp (modified) (6 diffs)
-
Application/Calendar/Calendar_View/Calendar_Window/CCalendarETBaseCommon.cp (modified) (2 diffs)
-
Application/Calendar/Calendar_View/Calendar_Window/CCalendarEventBaseCommon.cp (modified) (3 diffs)
-
Application/Calendar/Calendar_View/Calendar_Window/CCalendarViewCommon.cp (modified) (2 diffs)
-
Application/Calendar/Calendar_View/Calendar_Window/CCalendarViewTypes.h (modified) (1 diff)
-
Application/Calendar/Calendar_View/Calendar_Window/CCalendarWindowCommon.cp (modified) (1 diff)
-
Application/Calendar/Calendar_View/Day_Week_View/CDayWeekTableCommon.cp (modified) (2 diffs)
-
Application/Calendar/Calendar_View/Day_Week_View/CDayWeekViewCommon.cp (modified) (3 diffs)
-
Application/Calendar/Calendar_View/Free_Busy_View (added)
-
Application/Calendar/Calendar_View/Free_Busy_View/CFreeBusyTableCommon.cp (added)
-
Application/Calendar/Calendar_View/Free_Busy_View/CFreeBusyViewCommon.cp (added)
-
Application/Calendar/Calendar_View/Free_Busy_View/CVS (added)
-
Application/Calendar/Calendar_View/Free_Busy_View/CVS/Entries (added)
-
Application/Calendar/Calendar_View/Free_Busy_View/CVS/Repository (added)
-
Application/Calendar/Calendar_View/Free_Busy_View/CVS/Root (added)
-
Application/Calendar/Calendar_View/Free_Busy_View/CVS/Tag (added)
-
Application/Preferences/CAddressAccount.cp (modified) (5 diffs)
-
Application/Preferences/CAddressAccount.h (modified) (2 diffs)
-
Application/Preferences/CINETAccount.cp (modified) (2 diffs)
-
Application/Preferences/CINETAccount.h (modified) (1 diff)
-
Application/Preferences/CIdentity.cp (modified) (8 diffs)
-
Application/Preferences/CIdentity.h (modified) (4 diffs)
-
Application/Preferences/CPreferenceKeys.cp (modified) (1 diff)
-
Application/Preferences/CPreferenceKeys.h (modified) (1 diff)
-
Application/Preferences/CPreferenceVersions.h (modified) (1 diff)
-
Application/Preferences/CPreferences.cp (modified) (1 diff)
-
Application/Preferences/CPreferences.h (modified) (3 diffs)
-
Application/Preferences/CPreferencesBits.cp (modified) (3 diffs)
-
Application/Preferences/CPreferencesRW.cp (modified) (2 diffs)
-
Calendar_Store/CCalendarStoreFreeBusy.cpp (added)
-
Calendar_Store/CCalendarStoreFreeBusy.h (added)
-
Calendar_Store/CCalendarStoreManager.cpp (modified) (7 diffs)
-
Calendar_Store/CCalendarStoreManager.h (modified) (3 diffs)
-
Calendar_Store/CCalendarStoreNode.cpp (modified) (3 diffs)
-
Calendar_Store/CCalendarStoreNode.h (modified) (3 diffs)
-
Calendar_Store/Clients/CCalDAVCalendarClient.cpp (modified) (19 diffs)
-
Calendar_Store/Clients/CCalDAVCalendarClient.h (modified) (3 diffs)
-
Calendar_Store/Clients/CCalendarClient.h (modified) (2 diffs)
-
Calendar_Store/Clients/CLocalCalendarClient.cpp (modified) (2 diffs)
-
Calendar_Store/Clients/CLocalCalendarClient.h (modified) (1 diff)
-
Calendar_Store/Clients/CWebDAVCalendarClient.cpp (modified) (8 diffs)
-
Calendar_Store/Clients/CWebDAVCalendarClient.h (modified) (2 diffs)
-
Calendar_Store/Clients/CWebDAVDefinitions.cpp (modified) (4 diffs)
-
Calendar_Store/Clients/CWebDAVDefinitions.h (modified) (4 diffs)
-
Calendar_Store/Notifications/CCalendarNotifier.cpp (modified) (1 diff)
-
Calendar_Store/Protocols/CCalendarProtocol.cpp (modified) (5 diffs)
-
Calendar_Store/Protocols/CCalendarProtocol.h (modified) (5 diffs)
-
Formatting/CClickElement.cp (modified) (1 diff)
-
HTTP/CalDAVClient/CCalDAVSchedule.cpp (added)
-
HTTP/CalDAVClient/CCalDAVSchedule.h (added)
-
HTTP/CalDAVClient/CCalDAVScheduleParser.cpp (added)
-
HTTP/CalDAVClient/CCalDAVScheduleParser.h (added)
-
HTTP/CardDAVClient (added)
-
HTTP/CardDAVClient/CCardDAVMakeAdbk.cpp (added)
-
HTTP/CardDAVClient/CCardDAVMakeAdbk.h (added)
-
HTTP/CardDAVClient/CCardDAVMultigetReport.cpp (added)
-
HTTP/CardDAVClient/CCardDAVMultigetReport.h (added)
-
HTTP/CardDAVClient/CCardDAVQueryReport.cpp (added)
-
HTTP/CardDAVClient/CCardDAVQueryReport.h (added)
-
HTTP/CardDAVClient/CCardDAVReportParser.cpp (added)
-
HTTP/CardDAVClient/CCardDAVReportParser.h (added)
-
HTTP/CardDAVClient/CVS (added)
-
HTTP/CardDAVClient/CVS/Entries (added)
-
HTTP/CardDAVClient/CVS/Repository (added)
-
HTTP/CardDAVClient/CVS/Root (added)
-
HTTP/CardDAVClient/CVS/Tag (added)
-
HTTP/HTTPClient/CHTTPDefinitions.cpp (modified) (1 diff)
-
HTTP/HTTPClient/CHTTPDefinitions.h (modified) (1 diff)
-
HTTP/HTTPClient/CHTTPRequestResponse.cpp (modified) (2 diffs)
-
HTTP/HTTPClient/CHTTPRequestResponse.h (modified) (1 diff)
-
HTTP/WebDAVClient/CWebDAVACL.cpp (modified) (3 diffs)
-
HTTP/WebDAVClient/CWebDAVACL.h (modified) (2 diffs)
-
HTTP/WebDAVClient/CWebDAVPrincipalMatch.cpp (added)
-
HTTP/WebDAVClient/CWebDAVPrincipalMatch.h (added)
-
HTTP/WebDAVClient/CWebDAVPut.cpp (modified) (2 diffs)
-
HTTP/WebDAVClient/CWebDAVSession.cpp (modified) (3 diffs)
-
HTTP/WebDAVClient/CWebDAVSession.h (modified) (1 diff)
-
Mail/Address/CAdbkAddress.cp (modified) (25 diffs)
-
Mail/Address/CAdbkAddress.h (modified) (9 diffs)
-
Mail/Address/CAddressList.cp (modified) (3 diffs)
-
Mail/Address/CAddressList.h (modified) (1 diff)
-
Mail/Address/CCalendarAddress.cp (added)
-
Mail/Address/CCalendarAddress.h (added)
-
Mail/AddressBook/CAddressBook.cp (modified) (29 diffs)
-
Mail/AddressBook/CAddressBook.h (modified) (9 diffs)
-
Mail/AddressBook/CAddressBookManager.cp (modified) (35 diffs)
-
Mail/AddressBook/CAddressBookManager.h (modified) (8 diffs)
-
Mail/Extensions/CAdbkACL.cp (modified) (3 diffs)
-
Mail/Extensions/CAdbkACL.h (modified) (3 diffs)
-
Mail/Extensions/CCalendarACL.cp (modified) (7 diffs)
-
Mail/Extensions/CCalendarACL.h (modified) (3 diffs)
-
Mail/INET_Clients/ACAP/CACAPClient.cp (modified) (8 diffs)
-
Mail/INET_Clients/ACAP/CACAPClient.h (modified) (1 diff)
-
Mail/INET_Clients/CAdbkClient.h (modified) (1 diff)
-
Mail/INET_Clients/CINETClient.cp (modified) (4 diffs)
-
Mail/INET_Clients/IMSP/CIMSPClient.cp (modified) (14 diffs)
-
Mail/INET_Clients/IMSP/CIMSPClient.h (modified) (1 diff)
-
Mail/INET_Clients/IMSP/CIMSPCommon.cp (modified) (1 diff)
-
Mail/INET_Clients/IMSP/CIMSPCommon.h (modified) (1 diff)
-
Mail/Local_Clients/CLocalAdbkClient.cp (modified) (8 diffs)
-
Mail/Local_Clients/CLocalAdbkClient.h (modified) (2 diffs)
-
Mail/Local_Clients/CMacOSXAdbkClient.cp (modified) (7 diffs)
-
Mail/Local_Clients/CMacOSXAdbkClient.h (modified) (1 diff)
-
Mail/Protocols/CAdbkProtocol.cp (modified) (42 diffs)
-
Mail/Protocols/CAdbkProtocol.h (modified) (10 diffs)
-
Mail/Protocols/CINETProtocol.cp (modified) (5 diffs)
-
Mail/URLs/CURL.cp (modified) (2 diffs)
-
Offline/Recording/CAdbkAction.cp (modified) (5 diffs)
-
Offline/Recording/CAdbkAction.h (modified) (1 diff)
-
Offline/Recording/CAdbkRecord.cp (modified) (11 diffs)
-
Offline/Recording/CAdbkRecord.h (modified) (4 diffs)
-
Offline/Recording/CCalendarRecord.cp (modified) (4 diffs)
-
Resources/ProtocolErrors.xml (modified) (2 diffs)
-
Resources/Status.xml (modified) (1 diff)
-
Resources/Strings.xml (modified) (1 diff)
-
Resources/UI.xml (modified) (1 diff)
-
Support/Toolbars/CToolbarManager.cp (modified) (4 diffs)
-
Tasks/CTaskClasses.cp (modified) (4 diffs)
-
Utilities/cdstring.cp (modified) (1 diff)
-
Utilities/cdstring.h (modified) (1 diff)
-
VCard_Store (added)
-
VCard_Store/CVCardMapper.cpp (added)
-
VCard_Store/CVCardMapper.h (added)
-
VCard_Store/CVCardStoreXML.cpp (added)
-
VCard_Store/CVCardStoreXML.h (added)
-
VCard_Store/CVS (added)
-
VCard_Store/CVS/Entries (added)
-
VCard_Store/CVS/Repository (added)
-
VCard_Store/CVS/Root (added)
-
VCard_Store/CVS/Tag (added)
-
VCard_Store/Clients (added)
-
VCard_Store/Clients/CCardDAVVCardClient.cpp (added)
-
VCard_Store/Clients/CCardDAVVCardClient.h (added)
-
VCard_Store/Clients/CLocalVCardClient.cpp (added)
-
VCard_Store/Clients/CLocalVCardClient.h (added)
-
VCard_Store/Clients/CVS (added)
-
VCard_Store/Clients/CVS/Entries (added)
-
VCard_Store/Clients/CVS/Repository (added)
-
VCard_Store/Clients/CVS/Root (added)
-
VCard_Store/Clients/CVS/Tag (added)
-
VCard_Store/Clients/CWebDAVVCardClient.cpp (added)
-
VCard_Store/Clients/CWebDAVVCardClient.h (added)
-
i18n/Charsets/Converters/TwoByte/CKSC_5601_1992.cp (added)
-
i18n/Charsets/Converters/TwoByte/CKSC_5601_1992.h (added)
-
i18n/Charsets/Converters/Unicode/CIMAPUTF7.cp (added)
-
i18n/Charsets/Converters/Unicode/CIMAPUTF7.h (added)
-
i18n/IDN (added)
-
i18n/IDN/CIDNA.cp (added)
-
i18n/IDN/CIDNA.h (added)
-
i18n/IDN/CPunyCode.cp (added)
-
i18n/IDN/CPunyCode.h (added)
-
i18n/IDN/CVS (added)
-
i18n/IDN/CVS/Entries (added)
-
i18n/IDN/CVS/Repository (added)
-
i18n/IDN/CVS/Root (added)
-
i18n/IDN/CVS/Tag (added)
Legend:
- Unmodified
- Added
- Removed
-
Mulberry/branches/v4.1d1/Sources_Common/Application/Address_Book/CAddressBookViewCommon.cp
r19 r86 22 22 #include "CAdbkManagerTable.h" 23 23 #include "CAdbkProtocol.h" 24 #include "CAddressBook.h" 24 25 #include "CAddressBookToolbar.h" 25 26 #include "CAddressBookWindow.h" … … 29 30 #include "CErrorHandler.h" 30 31 #include "CGroupTable.h" 31 #include "CLocalAddressBook.h"32 32 #include "CLog.h" 33 33 #include "CPreferences.h" 34 #include "CRemoteAddressBook.h"35 34 #include "CTableViewWindow.h" 36 35 #include "CTaskClasses.h" … … 113 112 { 114 113 // See if it matches current address book 115 if (proto && dynamic_cast<CRemoteAddressBook*>(GetAddressBook()) && 116 (dynamic_cast<CRemoteAddressBook*>(GetAddressBook())->GetProtocol() == proto)) 114 if (proto && (GetAddressBook()->GetProtocol() == proto)) 117 115 { 118 116 // Special case 3-pane/1-pane … … 133 131 bool CAddressBookView::TestClose() 134 132 { 135 // Check for local (file-based) address book136 if (dynamic_cast<CLocalAddressBook*>(GetAddressBook()))137 // Ask user whether they really want to do this138 return CErrorHandler::PutCautionAlertRsrc(true, "Alerts::Adbk::CloseDeactivate") == CErrorHandler::Ok;139 else140 133 // Can always close remote 141 134 return true; … … 165 158 // Now close the address book if this is the last view containing it 166 159 GetAddressBook()->Close(); 167 168 // Must delete local address books169 if (dynamic_cast<CLocalAddressBook*>(GetAddressBook()))170 {171 delete mAdbk;172 mAdbk = NULL;173 }174 160 } 175 161 … … 306 292 307 293 // Stop listening to previous address book's protocol 308 if (dynamic_cast<CRemoteAddressBook*>(old_adbk)) 309 dynamic_cast<CRemoteAddressBook*>(old_adbk)->GetProtocol()->Remove_Listener(this); 294 old_adbk->GetProtocol()->Remove_Listener(this); 310 295 } 311 296 … … 314 299 // Open the address book first 315 300 if (adbk) 301 { 316 302 GetAddressBook()->Open(); 317 303 318 304 // Start listening to new address book's protocol 319 if (dynamic_cast<CRemoteAddressBook*>(GetAddressBook()))320 dynamic_cast<CRemoteAddressBook*>(GetAddressBook())->GetProtocol()->Add_Listener(this);305 GetAddressBook()->GetProtocol()->Add_Listener(this); 306 } 321 307 322 308 // Reset table items and initiate sort -
Mulberry/branches/v4.1d1/Sources_Common/Application/Address_Book_Manager/CAdbkManagerTableCommon.cp
r19 r86 24 24 #include "CAdbkProtocol.h" 25 25 #include "CAdbkSearchWindow.h" 26 #include "CAddressBook Doc.h"26 #include "CAddressBook.h" 27 27 #include "CAddressBookManager.h" 28 28 #include "CAddressBookView.h" … … 38 38 #include "CMulberryApp.h" 39 39 #include "CMulberryCommon.h" 40 #include "CRemoteAddressBook.h"41 40 #if __dest_os == __mac_os || __dest_os == __mac_os_x 42 41 #include "CResources.h" … … 44 43 #include "CPreferences.h" 45 44 #include "CTaskClasses.h" 45 #include "CWaitCursor.h" 46 46 47 47 #if __dest_os == __mac_os || __dest_os == __mac_os_x … … 62 62 63 63 // O T H E R M E T H O D S ____________________________________________________________________________ 64 65 // Set the address book manager 66 void CAdbkManagerTable::SetManager(CAddressBookManager* manager) 67 { 68 // Save server 69 mManager = manager; 70 71 if (mManager) 72 { 73 mManager->Add_Listener(this); 74 75 // Make sure its open so items will actually be displayed 76 mTableView->SetOpen(); 77 78 // Calculate number of rows for first time 79 ResetTable(); 80 } 81 } 82 83 // Reset the table 84 void CAdbkManagerTable::ResetTable() 85 { 86 // Start cursor for busy operation 87 CWaitCursor wait; 88 89 // Delete all existing rows 90 Clear(); 91 mHierarchyCol = 1; 92 mData.clear(); 93 94 // Only if we have the manager 95 if (!mManager) 96 return; 97 98 // Get list from manager 99 const CAddressBookList& nodes = mManager->GetNodes(); 100 101 // Add each node 102 TableIndexT row = 0; 103 TableIndexT exp_row = 1; 104 for(CAddressBookList::const_iterator iter = nodes.begin(); iter != nodes.end(); iter++) 105 { 106 AddNode(*iter, row, false); 107 108 // Listen to each protocol 109 CAdbkProtocol* proto = (*iter)->GetProtocol(); 110 if (proto) 111 proto->Add_Listener(this); 112 113 // Bump up exposed row counter 114 exp_row++; 115 } 116 117 // Always expand a single account 118 if (exp_row == 2) 119 ExpandRow(1); 120 121 // Refresh list 122 FRAMEWORK_REFRESH_WINDOW(this) 123 124 // Force toolbar update 125 mTableView->RefreshToolbar(); 126 127 } 128 129 // Reset the table from the mboxList 130 void CAdbkManagerTable::ClearTable() 131 { 132 // Delete all existing rows 133 Clear(); 134 mData.clear(); 135 136 // Refresh list 137 FRAMEWORK_REFRESH_WINDOW(this) 138 139 // Force toolbar update 140 mTableView->RefreshToolbar(); 141 } 64 142 65 143 void CAdbkManagerTable::ListenTo_Message(long msg, void* param) … … 83 161 RefreshProtocol(static_cast<CAdbkProtocol*>(param)); 84 162 break; 163 case CINETProtocol::eBroadcast_Logon: 164 SwitchProtocol(static_cast<CAdbkProtocol*>(param)); 165 break; 85 166 case CINETProtocol::eBroadcast_Logoff: 86 LogoffProtocol(static_cast<CAdbkProtocol*>(param));167 SwitchProtocol(static_cast<CAdbkProtocol*>(param)); 87 168 break; 88 } 89 } 90 91 // Test for selected adbk 92 bool CAdbkManagerTable::TestSelectionAdbk(TableIndexT row) 93 { 94 // This is an adbk 95 return IsCellAdbk(row); 96 } 97 98 // Test for selected adbk 99 bool CAdbkManagerTable::TestSelectionAdbkDisconnected(TableIndexT row) 100 { 101 // This is an adbk 102 if (IsCellAdbk(row)) 103 { 104 CRemoteAddressBook* adbk = dynamic_cast<CRemoteAddressBook*>(GetCellAdbk(row)); 105 106 return adbk && adbk->GetProtocol()->CanDisconnect() && !adbk->GetProtocol()->IsDisconnected(); 107 } 108 109 return false; 110 } 111 112 // Test for selected adbk 113 bool CAdbkManagerTable::TestSelectionAdbkClearDisconnected(TableIndexT row) 114 { 115 // This is an adbk 116 if (IsCellAdbk(row)) 117 { 118 CRemoteAddressBook* adbk = dynamic_cast<CRemoteAddressBook*>(GetCellAdbk(row)); 119 120 return adbk && adbk->GetProtocol()->CanDisconnect(); 121 } 122 123 return false; 124 } 125 126 // Set the address book manager 127 void CAdbkManagerTable::SetManager(CAddressBookManager* manager) 128 { 129 // Save server 130 mManager = manager; 131 132 if (mManager) 133 { 134 mManager->Add_Listener(this); 135 136 // Make sure its open so items will actually be displayed 137 mTableView->SetOpen(); 138 139 // Calculate number of rows for first time 140 ResetTable(); 141 } 169 case CAdbkProtocol::eBroadcast_ClearSubList: 170 ClearSubList(static_cast<CAddressBook*>(param)); 171 break; 172 case CAdbkProtocol::eBroadcast_RefreshSubList: 173 RefreshSubList(static_cast<CAddressBook*>(param)); 174 break; 175 case CAddressBookManager::eBroadcast_InsertNode: 176 InsertNode(static_cast<CAddressBook*>(param)); 177 break; 178 case CAddressBookManager::eBroadcast_RemoveNode: 179 case CAddressBookManager::eBroadcast_DeleteNode: 180 DeleteNode(static_cast<CAddressBook*>(param)); 181 break; 182 case CAdbkProtocol::eBroadcast_RefreshNode: 183 RefreshNode(static_cast<CAddressBook*>(param)); 184 break; 185 } 186 } 187 188 void CAdbkManagerTable::DoSelectionChanged() 189 { 190 CHierarchyTableDrag::DoSelectionChanged(); 191 192 // Determine whether preview is triggered 193 const CUserAction& preview = mTableView->GetPreviewAction(); 194 if (preview.GetSelection()) 195 DoPreview(); 196 197 // Determine whether full view is triggered 198 const CUserAction& fullview = mTableView->GetFullViewAction(); 199 if (fullview.GetSelection()) 200 DoFullView(); 201 } 202 203 // Handle single click 204 void CAdbkManagerTable::DoSingleClick(unsigned long row, const CKeyModifiers& mods) 205 { 206 // Determine whether preview is triggered 207 const CUserAction& preview = mTableView->GetPreviewAction(); 208 if (preview.GetSingleClick() && 209 (preview.GetSingleClickModifiers() == mods)) 210 DoPreview(); 211 212 // Determine whether full view is triggered 213 const CUserAction& fullview = mTableView->GetFullViewAction(); 214 if (fullview.GetSingleClick() && 215 (fullview.GetSingleClickModifiers() == mods)) 216 DoFullView(); 217 } 218 219 // Handle double click 220 void CAdbkManagerTable::DoDoubleClick(unsigned long row, const CKeyModifiers& mods) 221 { 222 // Determine whether preview is triggered 223 const CUserAction& preview = mTableView->GetPreviewAction(); 224 if (preview.GetDoubleClick() && 225 (preview.GetDoubleClickModifiers() == mods)) 226 DoPreview(); 227 228 // Determine whether full view is triggered 229 const CUserAction& fullview = mTableView->GetFullViewAction(); 230 if (fullview.GetDoubleClick() && 231 (fullview.GetDoubleClickModifiers() == mods)) 232 DoFullView(); 233 } 234 235 void CAdbkManagerTable::DoPreview() 236 { 237 PreviewAddressBook(); 238 } 239 240 void CAdbkManagerTable::DoPreview(CAddressBook* adbk) 241 { 242 PreviewAddressBook(adbk); 243 } 244 245 // Just edit the item 246 void CAdbkManagerTable::DoFullView() 247 { 248 OnOpenAddressBook(); 142 249 } 143 250 … … 154 261 { 155 262 // Add selection to list 156 CFlatAdbkList selected; 263 CAddressBookList selected; 264 selected.set_delete_data(false); 157 265 if (DoToSelection1((DoToSelection1PP) &CAdbkManagerTable::AddSelectionToList, &selected) && (selected.size() == 1)) 266 { 158 267 adbk = selected.front(); 268 if (!adbk->IsAdbk()) 269 adbk = NULL; 270 } 159 271 } 160 272 … … 177 289 // Check whether different 178 290 CAddressBook* old_adbk = mTableView->GetPreview()->GetAddressBook(); 179 cdstring old_url = old_adbk ? old_adbk->Get URL(true) : cdstring::null_str;180 if ((adbk ? adbk->Get URL(true) : cdstring::null_str) != old_url)291 cdstring old_url = old_adbk ? old_adbk->GetAccountName() : cdstring::null_str; 292 if ((adbk ? adbk->GetAccountName() :