From 01aeb307cebc1ddb3ed09fa7910d1c8a2538fd84 Mon Sep 17 00:00:00 2001 From: Rom Walton Date: Fri, 26 Jan 2007 16:38:44 +0000 Subject: [PATCH] *** empty log message *** svn path=/trunk/boinc/; revision=11980 --- checkin_notes | 7 +++++- clientgui/AdvancedFrame.cpp | 33 +++++++++++++++++++++++++++++ clientgui/AdvancedFrame.h | 17 ++++++++------- clientgui/Events.h | 1 + win_build/boincmgr_curl_2003.vcproj | 4 ---- 5 files changed, 49 insertions(+), 13 deletions(-) diff --git a/checkin_notes b/checkin_notes index 840997161f..e11f440428 100755 --- a/checkin_notes +++ b/checkin_notes @@ -1230,9 +1230,14 @@ Charlie 26 Jan 2007 Rom 26 Jan 2007 - Remove wxAnimate since it isn't used anywhere. + - MGR: Add a new menu item that'll shutdown the core client that the manager is + connected too. It'll prompt for a new computer afterwords. - clientgui/ + clientgui/common/ wxAnimate.cpp, .h (Removed) + clientgui/ + AdvancedFrame.cpp, .h + Events.h win_build/ boincmgr_curl.vcproj boincmgr_curl_2003.vcproj diff --git a/clientgui/AdvancedFrame.cpp b/clientgui/AdvancedFrame.cpp index da18617e9f..018c4289ff 100644 --- a/clientgui/AdvancedFrame.cpp +++ b/clientgui/AdvancedFrame.cpp @@ -160,6 +160,7 @@ IMPLEMENT_DYNAMIC_CLASS(CAdvancedFrame, CBOINCBaseFrame) BEGIN_EVENT_TABLE (CAdvancedFrame, CBOINCBaseFrame) EVT_MENU(ID_FILERUNBENCHMARKS, CAdvancedFrame::OnRunBenchmarks) EVT_MENU(ID_FILESELECTCOMPUTER, CAdvancedFrame::OnSelectComputer) + EVT_MENU(ID_SHUTDOWNCORECLIENT, CAdvancedFrame::OnClientShutdown) EVT_MENU(ID_FILESWITCHGUI, CAdvancedFrame::OnSwitchGUI) EVT_MENU(ID_READ_PREFS, CAdvancedFrame::Onread_prefs) EVT_MENU(ID_READ_CONFIG, CAdvancedFrame::Onread_config) @@ -431,6 +432,11 @@ bool CAdvancedFrame::CreateMenu() { _("Select computer..."), strMenuDescription ); + menuAdvanced->Append( + ID_SHUTDOWNCORECLIENT, + _("Shutdown connected client..."), + _("Shutdown the currently connected core client") + ); menuAdvanced->Append( ID_FILERUNBENCHMARKS, _("Run CPU &benchmarks"), @@ -1055,16 +1061,43 @@ void CAdvancedFrame::OnSelectComputer(wxCommandEvent& WXUNUSED(event)) { wxLogTrace(wxT("Function Start/End"), wxT("CAdvancedFrame::OnSelectComputer - Function End")); } + +void CAdvancedFrame::OnClientShutdown(wxCommandEvent& WXUNUSED(event)) { + wxLogTrace(wxT("Function Start/End"), wxT("CAdvancedFrame::OnClientShutdown - Function Begin")); + + CMainDocument* pDoc = wxGetApp().GetDocument(); + wxCommandEvent evtSelectNewComputer(wxEVT_COMMAND_MENU_SELECTED, ID_FILESELECTCOMPUTER); + + wxASSERT(pDoc); + wxASSERT(wxDynamicCast(pDoc, CMainDocument)); + + // Stop all timers + StopTimers(); + + pDoc->CoreClientQuit(); + + // Since the core cliet we were connected to just shutdown, prompt for a new one. + ProcessEvent(evtSelectNewComputer); + + // Restart timers + StartTimers(); + + wxLogTrace(wxT("Function Start/End"), wxT("CAdvancedFrame::OnClientShutdown - Function End")); +} + + void CAdvancedFrame::Onread_prefs(wxCommandEvent& WXUNUSED(event)) { CMainDocument* pDoc = wxGetApp().GetDocument(); pDoc->rpc.read_global_prefs_override(); } + void CAdvancedFrame::Onread_config(wxCommandEvent& WXUNUSED(event)) { CMainDocument* pDoc = wxGetApp().GetDocument(); pDoc->rpc.read_cc_config(); } + void CAdvancedFrame::OnSwitchGUI(wxCommandEvent& WXUNUSED(event)) { wxLogTrace(wxT("Function Start/End"), wxT("CAdvancedFrame::OnSwitchGUI - Function Begin")); diff --git a/clientgui/AdvancedFrame.h b/clientgui/AdvancedFrame.h index bb6dc1bcd7..dd889e0492 100644 --- a/clientgui/AdvancedFrame.h +++ b/clientgui/AdvancedFrame.h @@ -56,23 +56,24 @@ public: ~CAdvancedFrame(void); + void OnSwitchGUI( wxCommandEvent& event ); + void OnActivitySelection( wxCommandEvent& event ); void OnNetworkSelection( wxCommandEvent& event ); - void OnRunBenchmarks( wxCommandEvent& event ); - void OnSelectComputer( wxCommandEvent& event ); - void OnSwitchGUI( wxCommandEvent& event ); - void Onread_prefs( wxCommandEvent& event ); - void Onread_config( wxCommandEvent& event ); - - void OnCommandsRetryCommunications( wxCommandEvent& event ); + void OnProjectsAttachToProject( wxCommandEvent& event ); void OnProjectsAttachToAccountManager( wxCommandEvent& event ); void OnAccountManagerUpdate( wxCommandEvent& event ); void OnAccountManagerDetach( wxCommandEvent& event ); - void OnProjectsAttachToProject( wxCommandEvent& event ); void OnOptionsOptions( wxCommandEvent& event ); void OnDlgPreferences( wxCommandEvent& event ); + void OnSelectComputer( wxCommandEvent& event ); + void OnClientShutdown( wxCommandEvent& event ); + void OnRunBenchmarks( wxCommandEvent& event ); + void OnCommandsRetryCommunications( wxCommandEvent& event ); + void Onread_prefs( wxCommandEvent& event ); + void Onread_config( wxCommandEvent& event ); void OnHelp( wxHelpEvent& event ); void OnHelpBOINCManager( wxCommandEvent& event ); diff --git a/clientgui/Events.h b/clientgui/Events.h index 9bd651a068..94b5244664 100644 --- a/clientgui/Events.h +++ b/clientgui/Events.h @@ -55,6 +55,7 @@ #define ID_ACTIVITYMENUSEPARATOR 6031 #define ID_FILECLOSEWINDOW 6032 #define ID_ADVPREFSDLG 6033 +#define ID_SHUTDOWNCORECLIENT 6034 #define ID_SIMPLEFRAME 6100 #define ID_SIMPLEMESSAGECHECKTIMER 6101 #define ID_SIMPLE_ATTACHTOPROJECT 6600 diff --git a/win_build/boincmgr_curl_2003.vcproj b/win_build/boincmgr_curl_2003.vcproj index 8e1a84f8af..75fe3b7e50 100644 --- a/win_build/boincmgr_curl_2003.vcproj +++ b/win_build/boincmgr_curl_2003.vcproj @@ -894,10 +894,6 @@ RelativePath="..\clientgui\common\wxFNBDropTarget.h"> - -