diff --git a/checkin_notes b/checkin_notes index f7ea3badee..706aae185f 100755 --- a/checkin_notes +++ b/checkin_notes @@ -9394,4 +9394,10 @@ Janus 27 Aug 2006 html/user/ show_user.php - \ No newline at end of file +Charlie 28 Aug 2006 + -Mac: Implement standard Mac shortcut command-W for closing main + Manager window (requires adding "Close Window" to File menu.) + + clientgui/ + AdvancedFrame.cpp,h + Events.h diff --git a/clientgui/AdvancedFrame.cpp b/clientgui/AdvancedFrame.cpp index a7e1cd2ea0..404b6739e8 100644 --- a/clientgui/AdvancedFrame.cpp +++ b/clientgui/AdvancedFrame.cpp @@ -152,6 +152,9 @@ BEGIN_EVENT_TABLE (CAdvancedFrame, CBOINCBaseFrame) EVT_MENU(ID_FILERUNBENCHMARKS, CAdvancedFrame::OnRunBenchmarks) EVT_MENU(ID_FILESELECTCOMPUTER, CAdvancedFrame::OnSelectComputer) EVT_MENU(ID_FILESWITCHGUI, CAdvancedFrame::OnSwitchGUI) +#ifdef __WXMAC__ + EVT_MENU(ID_FILECLOSEWINDOW, CAdvancedFrame::OnCloseWindow) +#endif EVT_MENU(wxID_EXIT, CAdvancedFrame::OnExit) EVT_MENU_RANGE(ID_FILEACTIVITYRUNALWAYS, ID_FILEACTIVITYSUSPEND, CAdvancedFrame::OnActivitySelection) EVT_MENU_RANGE(ID_FILENETWORKRUNALWAYS, ID_FILENETWORKSUSPEND, CAdvancedFrame::OnNetworkSelection) @@ -304,6 +307,14 @@ bool CAdvancedFrame::CreateMenu() { ); #endif +#ifdef __WXMAC__ + menuFile->Append( + ID_FILECLOSEWINDOW, + _("&Close\tCTRL+W"), // Enable the standard Command-W Mac shortcut to close window + _("Close BOINC Manager Window.") + ); +#endif + // %s is the application name // i.e. 'BOINC Manager', 'GridRepublic Manager' strMenuDescription.Printf( @@ -1017,6 +1028,14 @@ void CAdvancedFrame::OnSwitchGUI(wxCommandEvent& WXUNUSED(event)) { } +#ifdef __WXMAC__ +// Accept the standard Command-W Mac shortcut to close window +void CAdvancedFrame::OnCloseWindow(wxCommandEvent& WXUNUSED(event)) { + Hide(); +} +#endif + + void CAdvancedFrame::OnExit(wxCommandEvent& WXUNUSED(event)) { wxLogTrace(wxT("Function Start/End"), wxT("CAdvancedFrame::OnExit - Function Begin")); diff --git a/clientgui/AdvancedFrame.h b/clientgui/AdvancedFrame.h index bceeb62641..c34a512ecd 100644 --- a/clientgui/AdvancedFrame.h +++ b/clientgui/AdvancedFrame.h @@ -61,6 +61,9 @@ public: void OnRunBenchmarks( wxCommandEvent& event ); void OnSelectComputer( wxCommandEvent& event ); void OnSwitchGUI( wxCommandEvent& event ); +#ifdef __WXMAC__ + void OnCloseWindow( wxCommandEvent& event ); +#endif void OnExit( wxCommandEvent& event ); void OnCommandsRetryCommunications( wxCommandEvent& event ); diff --git a/clientgui/Events.h b/clientgui/Events.h index 62daf7a409..ba7707099c 100644 --- a/clientgui/Events.h +++ b/clientgui/Events.h @@ -51,6 +51,7 @@ #define ID_ALERTPOLLTIMER 6033 #define ID_REFRESHMESSAGESTIMER 6034 #define ID_ACTIVITYMENUSEPARATOR 6035 +#define ID_FILECLOSEWINDOW 6036 #define ID_SIMPLEFRAME 6100 #define ID_TB_TIMER 6800 #define ID_TB_SUSPEND 6801