X-Git-Url: http://Server1/repobrowser/?p=xestiaab%2F.git;a=blobdiff_plain;f=source%2FfrmMain.h;h=dcc18bbda9f84b87349ad3ac9493d214abb366a2;hp=ff8ff74b883f61ae998f1dd1c6d75d35286485b7;hb=32b56fabfeac4fea69986ebf183d5e9564bec040;hpb=54daedb29e38f1a51ab9c0fc8b075375d10f73f9 diff --git a/source/frmMain.h b/source/frmMain.h index ff8ff74..dcc18bb 100644 --- a/source/frmMain.h +++ b/source/frmMain.h @@ -1,3 +1,21 @@ +// frmMain.h - Main window header 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 + #ifndef __frmMain__ #define __frmMain__ @@ -19,20 +37,31 @@ Subclass of frmMainADT, which is generated by wxFormBuilder. #include #include +#if defined(__APPLE__) +#import +#import +#elif defined(__WIN32__) +#include "common/win32ssl.h" +#endif + #include "common/timers.h" #include "common/events.h" #include "common/etag.h" -#include "widgets/XABAccountView.h" +#include "common/structs.h" #include "bitmaps.h" #include "common/sslcertstructs.h" +#include "widgets/XABContactMenu.h" +#include "widgets/XABAccountView.h" //// end generated include DECLARE_EVENT_TYPE(CE_UPDATECONTACTLIST, wxID_ANY) -DECLARE_EVENT_TYPE(CE_UPDATEACCOUNTLIST, wxID_ANY) DECLARE_EVENT_TYPE(SE_UPDATECONTACTNOTIF, wxID_ANY) DECLARE_EVENT_TYPE(CE_OPENCONTACT, wxID_ANY) +DECLARE_EVENT_TYPE(CE_OPENCONTACTLIST, wxID_ANY) +DECLARE_EVENT_TYPE(CE_NEWCONTACT, wxID_ANY) DECLARE_EVENT_TYPE(CE_EDITCONTACT, wxID_ANY) +DECLARE_EVENT_TYPE(CE_DELETECONTACT, wxID_ANY) DECLARE_EVENT_TYPE(CE_REVEALCONTACT, wxID_ANY) DECLARE_EVENT_TYPE(CE_REMOVESEARCH, wxID_ANY) DECLARE_EVENT_TYPE(CE_REMOVECONTACT, wxID_ANY) @@ -46,10 +75,16 @@ DECLARE_EVENT_TYPE(WINDOW_EDIT, wxID_ANY); DECLARE_EVENT_TYPE(WINDOW_CLOSE, wxID_ANY); DECLARE_EVENT_TYPE(CONNSTAT_UPDATE, wxID_ANY); DECLARE_EVENT_TYPE(INVALIDSSLCERT, wxID_ANY); +DECLARE_EVENT_TYPE(INVALIDSSLCERTSTRING, wxID_ANY); DECLARE_EVENT_TYPE(GETSELECTEDLIST, wxID_ANY); DECLARE_EVENT_TYPE(SYNCACCOUNT, wxID_ANY); DECLARE_EVENT_TYPE(IMPORT_RESULTSSHOW, wxID_ANY); DECLARE_EVENT_TYPE(RELOADCONTACTLIST, wxID_ANY); +DECLARE_EVENT_TYPE(REFRESHADDRESSBOOK, wxID_ANY); + +#if defined(__APPLE__) +DECLARE_EVENT_TYPE(INVALIDSSLTRUST, wxID_ANY); +#endif struct UCNotif{ wxString ContactAccount; @@ -64,11 +99,6 @@ struct SWCloseNotif{ void *SCHWinPtr; }; -struct QRNotif{ - int *QResponse; - bool *PausePtr; -}; - struct XABViewMode{ int SortMode; @@ -93,7 +123,14 @@ class frmMain : public frmMainADT std::map WindowList; std::map AccountRefreshList; std::map AccountAccDirList; - std::map AccountSSLData; +#if defined(__APPLE__) + std::map AccountTrustData; + NSRunningApplication *helpBrowserProcess; +#elif defined(__WIN32__) + std::map AccountCertificateData; +#else + std::map AccountSSLData; +#endif std::map AccountSSLResult; std::multimap AccountGroupList; std::multimap AccountGroupFilename; @@ -111,7 +148,6 @@ class frmMain : public frmMainADT std::map WindowListPointersMenu; std::map WindowListPointers; std::map WindowListType; - //std::map WindowListType; wxMenuItem *mnuContactWindows; wxMenuItem *mnuContactEditorWindows; wxMenuItem *mnuSearchWindows; @@ -119,18 +155,15 @@ class frmMain : public frmMainADT bool RevealWait = FALSE; wxString SessionID; wxString OldSessionID; + wxColour ContactBackgroundColour; wxIcon IconEmp; - //wxIcon Emp; - //wxComboCtrl* AccControl = new wxGenericComboCtrl(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize); - //wxComboCtrl* AccControl = new wxComboCtrl(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxCB_READONLY|wxEXPAND|wxCC_STD_BUTTON); - //wxStaticBitmap* AccIcon = new wxStaticBitmap(this, wxID_ANY, IconEmp, wxDefaultPosition, wxSize(16,16), wxALL|wxEXPAND, wxStaticBitmapNameStr); XABAccountView* treAccounts = new XABAccountView(); wxImageList *AccImgList = new wxImageList(16,16,true); wxImageList *ActMgrImgList = new wxImageList(16,16,true); - //wxIcon wxIAccInet; int AccountID; int AccountNetID; int AccountGrpID; + int AccountUnsupportedID; int AccountNoneID; bool ReloadAccounts = FALSE; bool AscendingMode = FALSE; @@ -148,22 +181,38 @@ class frmMain : public frmMainADT wxBitmap *imgSSLWarning = NULL; wxBitmap *imgOnline = NULL; wxBitmap *imgOffline = NULL; + wxBitmap *imgAddAddressBook = NULL; + wxBitmap *imgPreferences = NULL; + wxBitmap *imgSearchContacts = NULL; + wxBitmap *imgAddContact = NULL; + wxBitmap *imgEditContact = NULL; + wxBitmap *imgDeleteContact = NULL; int ActivityIconStatus = 0; int SearchUID = 0; int ContactUID = 0; int ContactEditorUID = 0; int WindowMenuItemID = 0; + XABContactMenu *ContactMenu = new XABContactMenu(XABCONTACTMENU_MAIN); + void ResetContactInfo(); +#if defined(__APPLE__) + void DisplayCertificate(SecTrustRef SecurityTrustObject); + void DisplayTrustPanel( wxCommandEvent& event ); + void DisplayHelpBrowser(); + void TerminateHelpBrowserProcess(); +#endif protected: // Handlers for frmMainADT events. + void QuitApp( wxCloseEvent& event ); void QuitApp( wxCommandEvent& event ); void QuitApp(); void ShowAboutWindow( wxCommandEvent& event ); void OpenPreferences( wxCommandEvent& event ); void OpenNewABDialog( wxCommandEvent& event ); void LoadPreferences( wxActivateEvent& event ); - void LoadPreferences(); + void LoadPreferences(bool skipWindowSizeReload); void ShowContactInfo( wxListEvent& event ); - void OpenContactInfo( wxListEvent& event ); + void OpenContactInfoList( wxListEvent& event ); + void OpenContactInfoList( wxCommandEvent& event ); void OpenContactInfo( wxCommandEvent& event ); void ShowContactEditorNew( wxCommandEvent& event ); void ShowContactEditorEdit( wxCommandEvent& event ); @@ -174,13 +223,11 @@ class frmMain : public frmMainADT const std::wstring &name); void ConflictResolution( wxCommandEvent& event ); void UpdateContactList( wxCommandEvent& event ); - void UpdateAccountList( wxCommandEvent& event ); void UpdateSearchContactLists( wxCommandEvent& event ); void OpenFindContactsWindow(wxCommandEvent& event); void RevealContact( wxCommandEvent& event ); void RemoveContactsWindowPointer(wxCommandEvent& event); void RemoveContactEditorWindowPointer(wxCommandEvent& event); - void UpdateWindowList(wxCommandEvent& event); void RemoveContactSearchWindows(wxCommandEvent& event); void DeleteContact(wxCommandEvent& event); void EmptyServerDialog(wxCommandEvent& event); @@ -206,12 +253,15 @@ class frmMain : public frmMainADT void UpdateConnectionStatus( wxCommandEvent& event ); void SetupSSLStatus( int AccountID ); void InvalidSSLCertificate( wxCommandEvent& event ); + void InvalidSSLCertificateString( wxCommandEvent& event ); void CheckUpdates( wxCommandEvent& event ); void OpenImportDialog( wxCommandEvent& event ); void OpenExportDialog( wxCommandEvent& event ); void GetSelectedList( wxCommandEvent& event ); void SyncAccount( wxCommandEvent& event ); void ShowHelp( wxCommandEvent& event ); + void ShowContactMenu( wxMouseEvent& event ); + void ProcessMenuItemClick( wxCommandEvent &event ); public: /** Constructor */ frmMain( wxWindow* parent ); @@ -223,11 +273,18 @@ class frmMain : public frmMainADT void ActivityIconStop( wxCommandEvent& event ); void PauseAllTimers(); void ResumeAllTimers(); - void UpdateSSLAccountStatus(int AccountID, int SSLStatus, SSLCertCollection SSLCertInc); void GetListControl(wxListCtrl *lstContactsPtr, wxArrayString *ContactsFileIndexPtr); void ShowImportResults( wxCommandEvent& event ); void ReloadContactList( wxCommandEvent& event ); XABViewMode GetViewMode(); +#if defined(__APPLE__) + void UpdateSSLAccountStatus(int AccountID, int SSLStatus, SecTrustRef SecurityTrustObject); +#elif defined(__WIN32__) + void UpdateSSLAccountStatus(int AccountID, int SSLStatus, PCCERT_CONTEXT CertificateContext); +#else + void UpdateSSLAccountStatus(int AccountID, int SSLStatus, SSLCertCollectionString SSLCertInc); +#endif + bool CloseAllWindows(); DECLARE_EVENT_TABLE() //// end generated class members