X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2FfrmActivityMgr.cpp;h=f26e00f2fc286245d202b42f3193f397f77b3fdc;hb=a73019906500e3a0fc306a61e4b7975f79725866;hp=39274fdfd3891db4e42be30587a4468bda5b2cc2;hpb=45729fca56479bd9158486e0cda0c4a94b4dd1dc;p=xestiaab%2F.git diff --git a/source/frmActivityMgr.cpp b/source/frmActivityMgr.cpp index 39274fd..f26e00f 100644 --- a/source/frmActivityMgr.cpp +++ b/source/frmActivityMgr.cpp @@ -1,3 +1,21 @@ +// frmActivityMgr.cpp - Activity Manager form. +// +// (c) 2012-2015 Xestia Software Development. +// +// This file is part of Xestia Address Book. +// +// Xestia Address Book is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by the +// Free Software Foundation, version 3 of the license. +// +// Xestia Address Book is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License along +// with Xestia Address Book. If not, see + #include "frmActivityMgr.h" #include #include @@ -30,6 +48,7 @@ DEFINE_EVENT_TYPE(ACTMGR_STARTTIMER); DEFINE_EVENT_TYPE(ACTMGR_STOPTIMER); DEFINE_EVENT_TYPE(ACTMGR_STARTPROCESSTIMER); DEFINE_EVENT_TYPE(ACTMGR_STOPPROCESSTIMER); +DEFINE_EVENT_TYPE(ACTMGR_UPDATESTATUSLABEL); BEGIN_EVENT_TABLE(frmActivityMgr, wxWindow) EVT_COMMAND(wxID_ANY, ACTMGR_RESUMEPROC, frmActivityMgr::ResumeProcessing) @@ -38,6 +57,7 @@ BEGIN_EVENT_TABLE(frmActivityMgr, wxWindow) EVT_COMMAND(wxID_ANY, ACTMGR_STOPTIMER, frmActivityMgr::StopTimer) EVT_COMMAND(wxID_ANY, ACTMGR_STARTPROCESSTIMER, frmActivityMgr::StartProcessTimer) EVT_COMMAND(wxID_ANY, ACTMGR_STOPPROCESSTIMER, frmActivityMgr::StopProcessTimer) + EVT_COMMAND(wxID_ANY, ACTMGR_UPDATESTATUSLABEL, frmActivityMgr::UpdateStatusLabel) END_EVENT_TABLE() frmActivityMgr::frmActivityMgr( wxWindow* parent ) @@ -45,8 +65,6 @@ frmActivityMgr::frmActivityMgr( wxWindow* parent ) frmActivityMgrADT( parent ) { - frmMain *frmMainPtrGet = static_cast(frmMainPtr); - wxMemoryInputStream istream(icons_activitywindow_png, sizeof(icons_activitywindow_png)); wxImage icons_activitywindow_pngi(istream, wxBITMAP_TYPE_PNG); wxBitmap activityiconbmp(icons_activitywindow_pngi, -1); @@ -288,7 +306,7 @@ int frmActivityMgr::AddTask(int TaskType, wxString TaskDetail, wxString TaskAcco lstActivity->SetItem(itemindex, 1, AccountName); lstActivity->SetItem(itemindex, 2, _("Queued")); - // TODO: Pass the ETagDB for the account to the connection. + ETagDB *ETagDBPtr = ETagTmrPtr->GetPointer(AccountDir); ActivityList.insert(std::make_pair(ActivityTaskID, 0)); ActivityListType.insert(std::make_pair(ActivityTaskID, 2)); @@ -354,7 +372,7 @@ void frmActivityMgr::StopTask( wxCommandEvent& event ){ wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED); - intSelectedData = lstActivity->GetItemData(longSelected); + intSelectedData = (int)lstActivity->GetItemData(longSelected); if (longSelected == -1){ return; @@ -383,7 +401,7 @@ void frmActivityMgr::StopAllTasks( wxCommandEvent& event ){ wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED); - intSelectedData = lstActivity->GetItemData(longSelected); + intSelectedData = (int)lstActivity->GetItemData(longSelected); if (longSelected == -1){ return; @@ -413,7 +431,7 @@ void frmActivityMgr::RetryTask( wxCommandEvent& event ){ wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED); - intSelectedData = lstActivity->GetItemData(longSelected); + intSelectedData = (int)lstActivity->GetItemData(longSelected); if (longSelected == -1){ return; @@ -456,6 +474,12 @@ void frmActivityMgr::CloseWindow( wxCommandEvent& event ) this->Hide(); } +void frmActivityMgr::CloseWindow( wxCloseEvent& event ) +{ + WindowOpen = FALSE; + this->Hide(); +} + void frmActivityMgr::ProcessTasksThread() { @@ -553,7 +577,6 @@ void frmActivityMgr::ProcessTasksThread() vCard Moo1; vCard Moo2; - int intResult; frmMain *frmMainPtrGet = static_cast(frmMainPtr); @@ -639,7 +662,6 @@ void frmActivityMgr::ProcessTasksThread() ConvertedV4Data.WriteFile(FullFilename); - iter->second = 4; } @@ -660,10 +682,6 @@ void frmActivityMgr::ProcessTasksThread() // This is a conflict which the user will now // need to resolve. - vCard Moo1; - vCard Moo2; - int intResult; - frmMain *frmMainPtrGet = (frmMain *)frmMainPtr; //ContactConflictEvent event(ContactConflictCmdEnv); @@ -886,6 +904,7 @@ void frmActivityMgr::ProcessTasksThread() //ServerContactList = CardDAVInstance.GetContactList(SyncTokenLoad.ToUTF8()); ServerContactList = CardDAVIter->second.GetContactList(SyncTokenLoad.ToUTF8()); + SSLCertCollection certcol = CardDAVIter->second.GetCertificateData(); // Create a pointer for the std::map. @@ -918,7 +937,7 @@ void frmActivityMgr::ProcessTasksThread() qrn.QResponse = &SSLResult; qrn.PausePtr = PauseMode; - SSLICNProcData.CertCollection = CardDAVIter->second.GetCertificateData(); + SSLICNProcData.CertCollection = certcol; SSLICNProcData.QRNotifData = &qrn; SSLICNProcData.AccountName = AccountNameFriendly; @@ -1209,7 +1228,6 @@ void frmActivityMgr::ProcessTasksThread() wxString vCardInputData; wxString ETagFileData; wxFFile vCardFile; - bool vCardProcessError; for (std::map::iterator additer = vCardDownloadData.begin(); additer != vCardDownloadData.end(); additer++){ @@ -1334,24 +1352,25 @@ void frmActivityMgr::ProcessTasksThread() ETagDB *ETagDBPtr = ETagTmrPtr->GetPointer(AccountDir); ETag = ETagDBPtr->GetETag(vCardAdd[vi]); ETagOriginal = ETagDBPtr->GetETagOriginal(vCardAdd[vi]); + ContactFilename = vCardAdd[vi]; FullFilename = CreateFilenamePath(AccountDirFinal, vCardAdd[vi]); ContactFilename.Trim(); - if (ETag == ETagOriginal){ + if (ETag == ETagOriginal && ETagDBPtr->ETagExists(vCardAdd[vi])){ // Compare the ETag with the Server ETag. + + CardDAVIter->second.SetServerFilename(vCardAdd[vi]); + CardDAVIter->second.GetServerETagValueThread(); + ETagServer = CardDAVIter->second.ETagValueResult(); if (ETagOriginal != ETagServer){ // Server ETag is different from original ETag. // This is a conflict which the user will now // need to resolve. - - vCard Moo1; - vCard Moo2; - int intResult; frmMain *frmMainPtrGet = static_cast(frmMainPtr); @@ -1495,10 +1514,6 @@ void frmActivityMgr::ProcessTasksThread() // Server ETag is different from original ETag. // This is a conflict which the user will now // need to resolve. - - vCard Moo1; - vCard Moo2; - int intResult; frmMain *frmMainPtrGet = (frmMain *)frmMainPtr; @@ -1647,8 +1662,6 @@ void frmActivityMgr::ProcessTasksThread() ETagDBPtr->RemoveETag(vCardDelete[vi]); } - - frmMain *frmMainPtrGet = static_cast(frmMainPtr); } @@ -1708,6 +1721,14 @@ void frmActivityMgr::ProcessTasksThread() } // Mark as completed. + + wxString AccountNameFinal; + AccountNameFinal = PrefData.accounts.GetAccountDirectory(AccountID); + AccountNameFinal.Append(wxT(".carddav")); + + wxCommandEvent reloadevent(RELOADCONTACTLIST); + reloadevent.SetString(AccountNameFinal); + wxPostEvent(this->GetParent(), reloadevent); iter->second = 4; continue; @@ -1717,6 +1738,8 @@ void frmActivityMgr::ProcessTasksThread() // Update the data to the server. CardDAVIter->second.ProcessData(); + iter->second = 4; + continue; } @@ -1894,4 +1917,23 @@ void frmActivityMgr::StopProcessTimer(wxCommandEvent& event){ } +void frmActivityMgr::UpdateStatusLabel(wxCommandEvent& event){ + + ActivityMgrLabelUpdate *actmgrudata = (ActivityMgrLabelUpdate*)event.GetClientData(); + + if (actmgrudata != NULL){ + + lstActivity->SetItem(actmgrudata->ItemIndex, 2, actmgrudata->ItemLabel); + + /*if (!actmgrudata->ItemDes.IsEmpty()){ + lstActivity->SetItem(actmgrudata->ItemIndex, 0, actmgrudata->ItemDes); + }*/ + + delete actmgrudata; + actmgrudata = NULL; + + } + +} + #endif \ No newline at end of file