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