X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Fwidgets%2FXABContactMenu.cpp;h=c29149b99b33a3d2a29a223e1f88c49456316862;hb=54be8bb71d416128c3e89471174d1897af736dd4;hp=b4688339082ae04dabb4345caccee5c49a488b6e;hpb=781846ba3acc53f5e6f47e736c7d18544895b39c;p=xestiaab%2F.git diff --git a/source/widgets/XABContactMenu.cpp b/source/widgets/XABContactMenu.cpp index b468833..c29149b 100644 --- a/source/widgets/XABContactMenu.cpp +++ b/source/widgets/XABContactMenu.cpp @@ -20,39 +20,32 @@ #include "../frmMain.h" #include "../search/frmSearch.h" -enum { - ID_CONTACTMENU_OPEN, - ID_CONTACTMENU_NEW, - ID_CONTACTMENU_EDIT, - ID_CONTACTMENU_DELETE, - ID_CONTACTMENU_REFRESHAB, - ID_CONTACTMENU_REVEAL -}; - -XABContactMenu::XABContactMenu(int MenuTypeIn){ +XABContactMenu::XABContactMenu(XABContactMenuType MenuTypeIn){ + // Setup the XABContactMenu control. + MenuType = MenuTypeIn; // Setup the menu items. - AppendMenuItem(wxT("opencontact"), _("Open Contact..."), _(""), ID_CONTACTMENU_OPEN, wxITEM_NORMAL); - AppendMenuItem(wxT("sep1"), _(""), _(""), wxID_ANY, wxITEM_SEPARATOR); + AppendMenuItem(wxT("opencontact"), _("Open Contact..."), wxT(""), ID_CONTACTMENU_OPEN, wxITEM_NORMAL); + AppendMenuItem(wxT("sep1"), wxT(""), wxT(""), ID_CONTACTMENU_SEPARATOR, wxITEM_SEPARATOR); if (MenuType == XABCONTACTMENU_MAIN){ // Setup up the add contact option if in the main window. - AppendMenuItem(wxT("newcontact"), _("New Contact..."), _(""), ID_CONTACTMENU_NEW, wxITEM_NORMAL); + AppendMenuItem(wxT("newcontact"), _("New Contact..."), wxT(""), ID_CONTACTMENU_NEW, wxITEM_NORMAL); } - AppendMenuItem(wxT("editcontact"), _("Edit Contact..."), _(""), ID_CONTACTMENU_EDIT, wxITEM_NORMAL); + AppendMenuItem(wxT("editcontact"), _("Edit Contact..."), wxT(""), ID_CONTACTMENU_EDIT, wxITEM_NORMAL); if (MenuType == XABCONTACTMENU_SEARCH){ // Setup up the reveal contact option if in the search window. - AppendMenuItem(wxT("revealcontact"), _("Reveal Contact..."), _(""), ID_CONTACTMENU_REVEAL, wxITEM_NORMAL); + AppendMenuItem(wxT("revealcontact"), _("Reveal Contact..."), wxT(""), ID_CONTACTMENU_REVEAL, wxITEM_NORMAL); } @@ -60,9 +53,9 @@ XABContactMenu::XABContactMenu(int MenuTypeIn){ // Setup the delete and refresh contact options if in the main window. - AppendMenuItem(wxT("deletecontact"), _("Delete Contact..."), _(""), ID_CONTACTMENU_DELETE, wxITEM_NORMAL); - AppendMenuItem(wxT("sep2"), _(""), _(""), wxID_ANY, wxITEM_SEPARATOR); - AppendMenuItem(wxT("refreshab"), _("Refresh Address Book"), _(""), ID_CONTACTMENU_REFRESHAB, wxITEM_NORMAL); + AppendMenuItem(wxT("deletecontact"), _("Delete Contact..."), wxT(""), ID_CONTACTMENU_DELETE, wxITEM_NORMAL); + AppendMenuItem(wxT("sep2"), wxT(""), wxT(""), ID_CONTACTMENU_SEPARATOR, wxITEM_SEPARATOR); + AppendMenuItem(wxT("refreshab"), _("Refresh Address Book"), wxT(""), ID_CONTACTMENU_REFRESHAB, wxITEM_NORMAL); } @@ -70,6 +63,8 @@ XABContactMenu::XABContactMenu(int MenuTypeIn){ XABContactMenu::~XABContactMenu(){ + // Destory the XABContactMenu object. + // Delete the menu items. for (std::map::iterator MenuItemIter = MenuItems.begin(); @@ -91,20 +86,18 @@ XABContactMenu::~XABContactMenu(){ void XABContactMenu::AppendMenuItem(wxString ObjectName, wxString MenuName, wxString MenuDescription, - int ItemID, + XABContactMenuID ItemID, wxItemKind ItemType){ - wxMenuItem *menuitem = new wxMenuItem( - NULL, - ItemID, - MenuName, - MenuDescription, - ItemType, - NULL - ); + if (ItemType == wxITEM_SEPARATOR){ + this->AppendSeparator(); + return; + } + // Append a menu item to the XABContactMenu control. + + wxMenuItem *menuitem = this->Append(ItemID, MenuName, MenuDescription); this->Connect(menuitem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(XABContactMenu::ProcessMenuItemClick)); - this->Append(menuitem); MenuItems.insert(std::make_pair(ObjectName.ToStdString(), menuitem)); } @@ -113,6 +106,8 @@ void XABContactMenu::SetupPointersSearch(wxWindow* WindowPtrIn, wxListCtrl* ContactListCtrlIn, bool SearchModeOnlyIn){ + // Setup the pointers when being used in the search window. + WindowPtr = WindowPtrIn; ContactListCtrl = ContactListCtrlIn; SearchModeOnly = SearchModeOnlyIn; @@ -123,6 +118,8 @@ void XABContactMenu::SetupPointers(wxWindow* WindowPtrIn, wxListCtrl* ContactListCtrlIn, bool EnableAccountSettingsIn){ + // Setup the pointers. + WindowPtr = WindowPtrIn; ContactListCtrl = ContactListCtrlIn; EnableAccountSettings = EnableAccountSettingsIn; @@ -131,6 +128,8 @@ void XABContactMenu::SetupPointers(wxWindow* WindowPtrIn, wxMenu* XABContactMenu::MenuPointer(){ + // Process the menu pointer. + // Check for the following before passing the pointer: // If an account has been selected. // - Disable Refresh Address Book if not. @@ -204,6 +203,9 @@ wxMenu* XABContactMenu::MenuPointer(){ void XABContactMenu::ProcessMenuItemClick( wxCommandEvent& event){ + // Process an action when a menu item in the XABContactMenu + // control is selected. + int ItemID = event.GetId(); if (MenuType == XABCONTACTMENU_MAIN){