X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2FfrmMain.cpp;h=14fc084b933928158deb0ff3928b7c6693f8a2bf;hb=a73019906500e3a0fc306a61e4b7975f79725866;hp=c062c153d3262218244a8e36471c5cb55dabef43;hpb=899eb279e0d6219ff58df7cd91ad2be164c5d76f;p=xestiaab%2F.git diff --git a/source/frmMain.cpp b/source/frmMain.cpp index c062c15..14fc084 100644 --- a/source/frmMain.cpp +++ b/source/frmMain.cpp @@ -1,3 +1,21 @@ +// frmMain.cpp - Main window 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 #include #include @@ -13,6 +31,7 @@ #include #include #include +#include //#include // Include the forms. @@ -28,6 +47,7 @@ #include "frmSearch.h" #include "frmSSLCertificate.h" #include "frmUpdate.h" +#include "import/frmImportResults.h" #include "bitmaps.h" #include "common/preferences.h" @@ -39,6 +59,7 @@ #include "contacteditor/frmContactEditor.h" #include "import/import.h" #include "export/export.h" +#include "widgets/XABContactMenu.h" #include "widgets/XABAccountView.h" #include "version.h" @@ -52,7 +73,10 @@ DEFINE_EVENT_TYPE(CE_UPDATECONTACTLIST); DEFINE_EVENT_TYPE(CE_UPDATEACCOUNTLIST); DEFINE_EVENT_TYPE(SE_UPDATECONTACTNOTIF); DEFINE_EVENT_TYPE(CE_OPENCONTACT); +DEFINE_EVENT_TYPE(CE_OPENCONTACTLIST); +DEFINE_EVENT_TYPE(CE_NEWCONTACT); DEFINE_EVENT_TYPE(CE_EDITCONTACT); +DEFINE_EVENT_TYPE(CE_DELETECONTACT); DEFINE_EVENT_TYPE(CE_REVEALCONTACT); DEFINE_EVENT_TYPE(CE_REMOVECONTACT); DEFINE_EVENT_TYPE(CE_REMOVESEARCH); @@ -62,12 +86,14 @@ DEFINE_EVENT_TYPE(ACTMGR_SHUFFLE); DEFINE_EVENT_TYPE(ACTMGR_STOP); DEFINE_EVENT_TYPE(WINDOW_ADD); DEFINE_EVENT_TYPE(WINDOW_EDIT); -//DEFINE_EVENT_TYPE(WINDOW_DELETE); DEFINE_EVENT_TYPE(WINDOW_CLOSE); 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); +DEFINE_EVENT_TYPE(REFRESHADDRESSBOOK); BEGIN_EVENT_TABLE(frmMain, wxFrame) EVT_COMMAND(wxID_ANY, wxEVT_COMMAND_BUTTON_CLICKED, frmMain::ConflictResolution) @@ -75,7 +101,10 @@ EVT_COMMAND(wxID_ANY, CE_UPDATECONTACTLIST, frmMain::UpdateContactList) EVT_COMMAND(wxID_ANY, CE_UPDATEACCOUNTLIST, frmMain::UpdateAccountList) EVT_COMMAND(wxID_ANY, SE_UPDATECONTACTNOTIF, frmMain::UpdateSearchContactLists) EVT_COMMAND(wxID_ANY, CE_OPENCONTACT, frmMain::OpenContactInfo) +EVT_COMMAND(wxID_ANY, CE_OPENCONTACTLIST, frmMain::OpenContactInfoList) +EVT_COMMAND(wxID_ANY, CE_NEWCONTACT, frmMain::ShowContactEditorNew) EVT_COMMAND(wxID_ANY, CE_EDITCONTACT, frmMain::ShowContactEditorEdit) +EVT_COMMAND(wxID_ANY, CE_DELETECONTACT, frmMain::DeleteContact) EVT_COMMAND(wxID_ANY, CE_REVEALCONTACT, frmMain::RevealContact) EVT_COMMAND(wxID_ANY, CE_REMOVESEARCH, frmMain::RemoveContactsWindowPointer) EVT_COMMAND(wxID_ANY, SYNC_EMPTYSERVER, frmMain::EmptyServerDialog) @@ -89,6 +118,9 @@ 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) +EVT_COMMAND(wxID_ANY, REFRESHADDRESSBOOK, frmMain::RefreshAddressBook) END_EVENT_TABLE() frmMain::frmMain( wxWindow* parent ) @@ -322,9 +354,30 @@ frmMainADT( parent ) } +void frmMain::QuitApp( wxCloseEvent& event ) +{ + + QuitApp(); + +} + void frmMain::QuitApp( wxCommandEvent& event ) { + + QuitApp(); + +} + +void frmMain::QuitApp() +{ + //------------------------------------------------------------------- + // frmMain::QuitApp: Quits the application by simply closing this + // window which causes the exit as frmMain is the main window. + // + // wxCommandEvent Accepts a referenced event command. //------------------------------------------------------------------- + + //------------------------------------------------------------------- // frmMain::QuitApp: Quits the application by simply closing this // window which causes the exit as frmMain is the main window. // @@ -393,17 +446,6 @@ void frmMain::QuitApp( wxCommandEvent& event ) std::exit(0); -} - -void frmMain::QuitApp() -{ - //------------------------------------------------------------------- - // frmMain::QuitApp: Quits the application by simply closing this - // window which causes the exit as frmMain is the main window. - // - // wxCommandEvent Accepts a referenced event command. - //------------------------------------------------------------------- - Close(); } @@ -757,7 +799,6 @@ void frmMain::LoadContactList( wxTreeEvent& event ) vCard Person; vCardFilenameFull.Append(AccountDirFinal); - vCardFilenameFull.Append(wxT("/")); vCardFilenameFull.Append(vCardFilename); Person.LoadFile(vCardFilenameFull); @@ -1234,7 +1275,7 @@ void frmMain::RefreshAddressBook( wxCommandEvent& event ){ } -void frmMain::OpenContactInfo( wxListEvent& event ) +void frmMain::OpenContactInfoList( wxListEvent& event ) { wxStringTokenizer vcardfileline; @@ -1291,6 +1332,13 @@ void frmMain::OpenContactInfo( wxListEvent& event ) } +void frmMain::OpenContactInfoList( wxCommandEvent& event ){ + + wxListEvent pevent; + OpenContactInfoList(pevent); + +} + void frmMain::OpenContactInfo( wxCommandEvent& event ) { @@ -1881,15 +1929,17 @@ void frmMain::RevealContact(wxCommandEvent& event){ // 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); + + } } @@ -2757,10 +2807,10 @@ void frmMain::GetSelectedList( wxCommandEvent& event ){ void frmMain::SyncAccount( wxCommandEvent& event ){ - wxString *AccNameInc = (wxString*)event.GetClientData(); + wxString AccNameInc = event.GetString(); frmActivityMgr *frameActMgr = static_cast(ActMgrPtr); - frameActMgr->AddTask(3, wxT(""), *AccNameInc, + frameActMgr->AddTask(3, wxT(""), AccNameInc, wxT(""), wxT(""), wxT(""), wxT("")); } @@ -2808,4 +2858,50 @@ void frmMain::ShowHelp( wxCommandEvent& event ){ #endif +} + +void frmMain::ShowImportResults( wxCommandEvent &event ){ + + std::map *ResultData = (std::map*)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); + + } + +} + +void frmMain::ShowContactMenu( wxMouseEvent& event ){ + + bool EnableRefresh = FALSE; + + if (!ActiveAccount.IsEmpty()){ + + EnableRefresh = TRUE; + + } + + ContactMenu->SetupPointers(this, lstContacts, EnableRefresh); + + this->PopupMenu(ContactMenu->MenuPointer(), wxDefaultPosition); + } \ No newline at end of file