Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Added event to allow the contact list to be reloaded.
[xestiaab/.git] / source / frmMain.cpp
index b9ae291..025022e 100644 (file)
@@ -28,6 +28,7 @@
 #include "frmSearch.h"
 #include "frmSSLCertificate.h"
 #include "frmUpdate.h"
+#include "import/frmImportResults.h"
 #include "bitmaps.h"
 
 #include "common/preferences.h"
@@ -68,6 +69,8 @@ DEFINE_EVENT_TYPE(CONNSTAT_UPDATE);
 DEFINE_EVENT_TYPE(INVALIDSSLCERT);
 DEFINE_EVENT_TYPE(GETSELECTEDLIST);
 DEFINE_EVENT_TYPE(SYNCACCOUNT);
+DEFINE_EVENT_TYPE(IMPORT_RESULTSSHOW);
+DEFINE_EVENT_TYPE(RELOADCONTACTLIST);
 
 BEGIN_EVENT_TABLE(frmMain, wxFrame)
 EVT_COMMAND(wxID_ANY, wxEVT_COMMAND_BUTTON_CLICKED, frmMain::ConflictResolution)
@@ -89,6 +92,8 @@ EVT_COMMAND(wxID_ANY, CONNSTAT_UPDATE, frmMain::UpdateConnectionStatus)
 EVT_COMMAND(wxID_ANY, INVALIDSSLCERT, frmMain::InvalidSSLCertificate)
 EVT_COMMAND(wxID_ANY, GETSELECTEDLIST, frmMain::GetSelectedList)
 EVT_COMMAND(wxID_ANY, SYNCACCOUNT, frmMain::SyncAccount)
+EVT_COMMAND(wxID_ANY, IMPORT_RESULTSSHOW, frmMain::ShowImportResults)
+EVT_COMMAND(wxID_ANY, RELOADCONTACTLIST, frmMain::ReloadContactList)
 END_EVENT_TABLE()
 
 frmMain::frmMain( wxWindow* parent )
@@ -196,7 +201,6 @@ frmMainADT( parent )
     AccCtrl->SetPopupMinWidth(250);
     treAccounts->AssignImageList(AccImgList);
     //bmpIcon->Hide();
-    wxRect AccTextCtrlSize = AccCtrl->GetTextRect();
     
     /*wxStaticBitmap* BeepBoop = new wxStaticBitmap(AccCtrl, wxID_ANY, wxNullBitmap, wxPoint(AccTextCtrlSize.GetX() + 3, AccTextCtrlSize.GetY() + 2), wxDefaultSize, 0);
      
@@ -405,7 +409,7 @@ void frmMain::QuitApp()
     // wxCommandEvent  Accepts a referenced event command.
     //-------------------------------------------------------------------
     
-    Close(this);
+    Close();
     
 }
 
@@ -523,7 +527,6 @@ void frmMain::LoadContactList( wxTreeEvent& event )
         if (ActiveItemIcon == 2){
             
             std::multimap<wxTreeItemId, int>::iterator AGTiter = AccountGroupTreeId.find(ActiveItemId);
-            std::multimap<int, wxString>::iterator AGFiter = AccountGroupFilename.find(AGTiter->second);
             std::multimap<int, int>::iterator AGLiter = AccountGroupList.find(AGTiter->second);
             int ActiveAccountG = AGLiter->second;
             
@@ -759,7 +762,6 @@ void frmMain::LoadContactList( wxTreeEvent& event )
                 vCard Person;
                 
                 vCardFilenameFull.Append(AccountDirFinal);
-                vCardFilenameFull.Append(wxT("/"));
                 vCardFilenameFull.Append(vCardFilename);
                 
                 Person.LoadFile(vCardFilenameFull);
@@ -869,7 +871,6 @@ void frmMain::ShowContactInfo( wxListEvent& event )
 {
     
     long intSelected = -1;
-    int intSelectedData = 0;
     long ContactSeekNum = -1;
     
     //    intSelected = lstContacts->GetSelection();
@@ -918,9 +919,9 @@ void frmMain::ShowContactInfo( wxListEvent& event )
     wxString ContactLine;
     vCard Person;
     
-    int ContactLineLen;
+    size_t ContactLineLen;
     bool ExtraLineSeek = FALSE;
-    int QuoteBreakPoint;
+    int QuoteBreakPoint = 0;
     
     bool PropertyFind = FALSE;
     bool QuoteMode = FALSE;
@@ -1142,7 +1143,6 @@ void frmMain::ShowContactEditorEdit( wxCommandEvent& event )
     // Check if a contact has been selected.
     
     long intSelected = -1;
-    int intSelectedData = 0;
     long intContactSeekNum = -1;
     
     //    intSelected = lstContacts->GetSelection();
@@ -1214,15 +1214,26 @@ void frmMain::ShowContactEditorEdit( wxCommandEvent& event )
 }
 
 void frmMain::RefreshAddressBook( wxCommandEvent& event ){
-    
-    // TODO: Check Account Type.
+   
+    // Check if ActiveAccount is empty. If not then check if
+    // account type is not local otherwise continue.
     
     if (!ActiveAccount.IsEmpty()){
-        
-        frmActivityMgr *frameActMgr = static_cast<frmActivityMgr*>(ActMgrPtr);
-        frameActMgr->AddTask(3, wxT(""), ActiveAccount,
-                             wxT(""), wxT(""), wxT(""), wxT(""));
-        
+   
+       if (ActiveAccountType != wxT("Local")){
+        
+               // Account type is not local.
+       
+               frmActivityMgr *frameActMgr = static_cast<frmActivityMgr*>(ActMgrPtr);
+               frameActMgr->AddTask(3, wxT(""), ActiveAccount,
+                                    wxT(""), wxT(""), wxT(""), wxT(""));
+        
+       } else {
+       
+               wxMessageBox(_("The refresh address book command is not supported with this type of account."), wxT("Not supported for this type of account"));
+       
+       }
+       
     }
     
 }
@@ -1238,7 +1249,6 @@ void frmMain::OpenContactInfo( wxListEvent& event )
     wxString nextchar;
     
     long intSelected = -1;
-    int intSelectedData = 0;
     long intContactSeekNum = -1;
     
     intSelected = lstContacts->GetNextItem(intSelected,
@@ -1298,10 +1308,6 @@ void frmMain::OpenContactInfo( wxCommandEvent& event )
     wxString nextchar;
     //std::fstream vcardfile;
     
-    long intSelected = -1;
-    int intSelectedData = 0;
-    long intContactSeekNum = -1;
-    
     Person.LoadFile(uc->ContactFilename);
     
     wxMemoryInputStream istream(bigimgs_contactpersonicon48_png, sizeof(bigimgs_contactpersonicon48_png));
@@ -1439,7 +1445,7 @@ void frmMain::LoadPreferences(){
             
             ActTmrPtr->SetupData(AccDirFull, AccName);
             ActTmrPtr->SetupPointers(this, ActMgrPtr, ETagProcTimer.GetPointer(AccDirFull));
-            ActTmrPtr->Start(preferences.accounts.GetAccountRefresh(i) * 1000);
+            ActTmrPtr->Start((int)(preferences.accounts.GetAccountRefresh(i) * 1000));
             ActTmrPtr->SetOwner(this);
             ActTmrPtr->Notify();
             
@@ -1585,7 +1591,7 @@ void frmMain::UpdateContactList(wxCommandEvent& event){
                 
             }
             
-            intSelectedData = lstContacts->GetItemData(longSelected);
+            intSelectedData = (int)lstContacts->GetItemData(longSelected);
             
             if (ucd->ContactFilename == ContactsFileIndex[intSelectedData]){
                 
@@ -1873,21 +1879,23 @@ void frmMain::RevealContact(wxCommandEvent& event){
             
         }
         
-        intSelectedData = lstContacts->GetItemData(longSelected);
+        intSelectedData = (int)lstContacts->GetItemData(longSelected);
         
         // Compare the filename with the one received.
         // If they match then select it.
         
         if (ContactsFileIndex[intSelectedData] == uc->ContactFilename){
-            
+           
             // Select.
             
             lstContacts->SetItemState(longSelected, wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED);
             lstContacts->EnsureVisible(longSelected);
             
-            break;
-            
-        }
+       } else {
+       
+           lstContacts->SetItemState(longSelected, 0, wxLIST_STATE_SELECTED);
+       
+       }
         
     }
     
@@ -1898,7 +1906,6 @@ void frmMain::DeleteContact(wxCommandEvent& event){
     // Check if a contact is selected.
     
     long intSelected = -1;
-    int intSelectedData = 0;
     long intContactSeekNum = -1;
     wxString wxSContactName;
     
@@ -2050,6 +2057,12 @@ void frmMain::EmptyServerDialog(wxCommandEvent& event){
     
     int QResponse = wxMessageBox(_("The list of contacts on the server is empty. Upload all locally stored contacts for this account now?"), _("No contacts on server"), wxYES_NO, this);
     
+    if (QResponse == wxNO){
+        
+        return;
+    
+    }
+    
     wxCommandEvent event2(ACTMGR_RESUMEPROC);
     event2.SetInt(*qrn->QResponse);
     event2.SetClientData(qrn->PausePtr);
@@ -2087,7 +2100,7 @@ void frmMain::DeleteContactSync(wxString &Account, wxString &Filename){
             
         }
         
-        intSelectedData = lstContacts->GetItemData(longSelected);
+        intSelectedData = (int)lstContacts->GetItemData(longSelected);
         
         // Compare the filename with the one received.
         // If they match then select it.
@@ -2322,10 +2335,6 @@ void frmMain::WindowEdit( wxCommandEvent &event ){
     
     if (WData->DataType == 0){
         
-        // Contact Window
-        
-        int intID = mnuContactWindows->GetId();
-        
         // Get the window title and use that.
         
         frmContact *frmContactPtr = static_cast<frmContact*>(WData->WindowPointer);
@@ -2346,10 +2355,6 @@ void frmMain::WindowEdit( wxCommandEvent &event ){
         
     } else if (WData->DataType == 1){
         
-        // Contact Editor Window
-        
-        int intID = mnuContactEditorWindows->GetId();
-        
         // Get the window title and use that.
         
         frmContactEditor *frmCEPtr = static_cast<frmContactEditor*>(WData->WindowPointer);
@@ -2687,7 +2692,7 @@ void frmMain::OpenExportDialog( wxCommandEvent& event ){
             
         }
         
-        int FileID = lstContacts->GetItemData(longSelected);
+        int FileID = (int)lstContacts->GetItemData(longSelected);
         
         ArrData.Insert(ContactsFileIndex[FileID],
                        ContactsCollected, 1);
@@ -2742,7 +2747,7 @@ void frmMain::GetSelectedList( wxCommandEvent& event ){
         
         // Get the file information and add to the list.
         
-        int FileID = lstContacts->GetItemData(longSelected);
+        int FileID = (int)lstContacts->GetItemData(longSelected);
         
         ArrData->Insert(ContactsFileIndex[FileID],
                         ContactsCollected, 1);
@@ -2758,10 +2763,10 @@ void frmMain::GetSelectedList( wxCommandEvent& event ){
 
 void frmMain::SyncAccount( wxCommandEvent& event ){
     
-    wxString *AccNameInc = (wxString*)event.GetClientData();
+    wxString AccNameInc = event.GetString();
     
     frmActivityMgr *frameActMgr = static_cast<frmActivityMgr*>(ActMgrPtr);
-    frameActMgr->AddTask(3, wxT(""), *AccNameInc, 
+    frameActMgr->AddTask(3, wxT(""), AccNameInc, 
                          wxT(""), wxT(""), wxT(""), wxT(""));
     
 }
@@ -2809,4 +2814,34 @@ void frmMain::ShowHelp( wxCommandEvent& event ){
     
 #endif
     
+}
+
+void frmMain::ShowImportResults( wxCommandEvent &event ){
+
+       std::map<int,wxString> *ResultData = (std::map<int,wxString>*)event.GetClientData();
+
+       frmImportResults *frmIR = new frmImportResults(this);
+       frmIR->LoadData(ResultData, event.GetInt(), (int)event.GetExtraLong());
+       frmIR->ShowModal();
+               
+       delete frmIR;
+       frmIR = NULL;
+       
+       delete ResultData;
+       ResultData = NULL;
+
+}
+
+void frmMain::ReloadContactList( wxCommandEvent &event ){
+
+       // Check if the account name given is the current
+       // account selected.
+
+       if (ActiveAccount == event.GetString()){
+       
+               wxTreeEvent NullEvent;
+               LoadContactList(NullEvent);
+       
+       }
+
 }
\ No newline at end of file
Xestia Software Development
Yn Maystri
© 2006 - 2019 Xestia Software Development
Software

Xestia Address Book
Xestia Calendar
Development

Xestia Gelforn
Everything else

About
News
Privacy Policy