X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;ds=sidebyside;f=source%2FfrmMain.h;h=657cfc98ea9653d3b7a9e38251f323e2c3fcf84a;hb=6b58952dd564656cb93211f78748bb4d03bca0e7;hp=1838300cd34e1def33c35ca534eb591003ccd6e5;hpb=45729fca56479bd9158486e0cda0c4a94b4dd1dc;p=xestiaab%2F.git
diff --git a/source/frmMain.h b/source/frmMain.h
index 1838300..657cfc9 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,8 +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;
@@ -62,11 +99,6 @@ struct SWCloseNotif{
void *SCHWinPtr;
};
-struct QRNotif{
- int *QResponse;
- bool *PausePtr;
-};
-
struct XABViewMode{
int SortMode;
@@ -91,7 +123,13 @@ class frmMain : public frmMainADT
std::map WindowList;
std::map AccountRefreshList;
std::map AccountAccDirList;
- std::map AccountSSLData;
+#if defined(__APPLE__)
+ std::map AccountTrustData;
+#elif defined(__WIN32__)
+ std::map AccountCertificateData;
+#else
+ std::map AccountSSLData;
+#endif
std::map AccountSSLResult;
std::multimap AccountGroupList;
std::multimap AccountGroupFilename;
@@ -109,7 +147,6 @@ class frmMain : public frmMainADT
std::map WindowListPointersMenu;
std::map WindowListPointers;
std::map WindowListType;
- //std::map WindowListType;
wxMenuItem *mnuContactWindows;
wxMenuItem *mnuContactEditorWindows;
wxMenuItem *mnuSearchWindows;
@@ -117,18 +154,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;
@@ -146,39 +180,51 @@ 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 );
+#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 LoadContactList( wxTreeEvent& event );
+ 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 );
void RefreshAddressBook( wxCommandEvent& event );
- void ShowActivityWindow( wxCommandEvent& event );
+ void ShowActivityWindow( wxCommandEvent& event );
+ void LoadContactList( wxTreeEvent& event );
wxTreeItemId FindItemNamed(wxTreeCtrl &tree,
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);
@@ -204,12 +250,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 );
@@ -221,9 +270,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