mirror of https://github.com/BOINC/boinc.git
Merge pull request #3062 from BOINC/dpa_simple_am
Manager: add account manager functions to simple view
This commit is contained in:
commit
c8719a4fc8
|
@ -171,10 +171,10 @@ BEGIN_EVENT_TABLE (CAdvancedFrame, CBOINCBaseFrame)
|
|||
EVT_MENU_RANGE(ID_ADVNOTICESVIEW, ID_ADVRESOURCEUSAGEVIEW, CAdvancedFrame::OnChangeView)
|
||||
EVT_MENU(ID_CHANGEGUI, CAdvancedFrame::OnChangeGUI)
|
||||
// Tools
|
||||
EVT_MENU(ID_WIZARDATTACHPROJECT, CAdvancedFrame::OnWizardAttachProject)
|
||||
EVT_MENU(ID_WIZARDATTACHACCOUNTMANAGER, CAdvancedFrame::OnWizardUpdate)
|
||||
EVT_MENU(ID_WIZARDUPDATE, CAdvancedFrame::OnWizardUpdate)
|
||||
EVT_MENU(ID_WIZARDDETACH, CAdvancedFrame::OnWizardDetach)
|
||||
EVT_MENU(ID_WIZARDATTACHPROJECT, CBOINCBaseFrame::OnWizardAttachProject)
|
||||
EVT_MENU(ID_WIZARDATTACHACCOUNTMANAGER, CBOINCBaseFrame::OnWizardUpdate)
|
||||
EVT_MENU(ID_WIZARDUPDATE, CBOINCBaseFrame::OnWizardUpdate)
|
||||
EVT_MENU(ID_WIZARDDETACH, CBOINCBaseFrame::OnWizardDetach)
|
||||
// Activity
|
||||
EVT_MENU_RANGE(ID_ADVACTIVITYRUNALWAYS, ID_ADVACTIVITYSUSPEND, CAdvancedFrame::OnActivitySelection)
|
||||
EVT_MENU_RANGE(ID_ADVACTIVITYGPUALWAYS, ID_ADVACTIVITYGPUSUSPEND, CAdvancedFrame::OnGPUSelection)
|
||||
|
@ -238,7 +238,7 @@ CAdvancedFrame::CAdvancedFrame(wxString title, wxIconBundle* icons, wxPoint posi
|
|||
SetIcons(*icons);
|
||||
|
||||
// Create UI elements
|
||||
wxCHECK_RET(CreateMenu(), _T("Failed to create menu bar."));
|
||||
wxCHECK_RET(CreateMenus(), _T("Failed to create menu bar."));
|
||||
wxCHECK_RET(CreateNotebook(), _T("Failed to create notebook."));
|
||||
wxCHECK_RET(CreateStatusbar(), _T("Failed to create status bar."));
|
||||
|
||||
|
@ -291,15 +291,11 @@ CAdvancedFrame::~CAdvancedFrame() {
|
|||
wxCHECK_RET(DeleteNotebook(), _T("Failed to delete notebook."));
|
||||
}
|
||||
|
||||
if (m_pMenubar) {
|
||||
wxCHECK_RET(DeleteMenu(), _T("Failed to delete menu bar."));
|
||||
}
|
||||
|
||||
wxLogTrace(wxT("Function Start/End"), wxT("CAdvancedFrame::~CAdvancedFrame - Function End"));
|
||||
}
|
||||
|
||||
|
||||
bool CAdvancedFrame::CreateMenu() {
|
||||
bool CAdvancedFrame::CreateMenus() {
|
||||
wxLogTrace(wxT("Function Start/End"), wxT("CAdvancedFrame::CreateMenu - Function Begin"));
|
||||
|
||||
CMainDocument* pDoc = wxGetApp().GetDocument();
|
||||
|
@ -873,14 +869,6 @@ bool CAdvancedFrame::CreateStatusbar() {
|
|||
return true;
|
||||
}
|
||||
|
||||
|
||||
bool CAdvancedFrame::DeleteMenu() {
|
||||
wxLogTrace(wxT("Function Start/End"), wxT("CAdvancedFrame::DeleteMenu - Function Begin"));
|
||||
wxLogTrace(wxT("Function Start/End"), wxT("CAdvancedFrame::DeleteMenu - Function End"));
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
bool CAdvancedFrame::DeleteNotebook() {
|
||||
wxLogTrace(wxT("Function Start/End"), wxT("CAdvancedFrame::DeleteNotebook - Function Begin"));
|
||||
|
||||
|
@ -1156,152 +1144,6 @@ void CAdvancedFrame::OnChangeGUI(wxCommandEvent& WXUNUSED(event)) {
|
|||
}
|
||||
|
||||
|
||||
void CAdvancedFrame::OnWizardAttachProject( wxCommandEvent& WXUNUSED(event) ) {
|
||||
wxLogTrace(wxT("Function Start/End"), wxT("CAdvancedFrame::OnWizardAttachProject - Function Begin"));
|
||||
|
||||
CMainDocument* pDoc = wxGetApp().GetDocument();
|
||||
|
||||
wxASSERT(pDoc);
|
||||
wxASSERT(wxDynamicCast(pDoc, CMainDocument));
|
||||
|
||||
if (!pDoc->IsUserAuthorized()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (pDoc->IsConnected()) {
|
||||
|
||||
// Stop all timers so that the wizard is the only thing doing anything
|
||||
StopTimers();
|
||||
|
||||
CWizardAttach* pWizard = new CWizardAttach(this);
|
||||
|
||||
pWizard->Run(
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
false,
|
||||
false
|
||||
);
|
||||
|
||||
if (pWizard) {
|
||||
pWizard->Destroy();
|
||||
}
|
||||
|
||||
DeleteMenu();
|
||||
CreateMenu();
|
||||
|
||||
// Restart timers to continue normal operations.
|
||||
StartTimers();
|
||||
|
||||
pDoc->ForceCacheUpdate();
|
||||
FireRefreshView();
|
||||
} else {
|
||||
ShowNotCurrentlyConnectedAlert();
|
||||
}
|
||||
|
||||
wxLogTrace(wxT("Function Start/End"), wxT("CAdvancedFrame::OnWizardAttachProject - Function End"));
|
||||
}
|
||||
|
||||
|
||||
void CAdvancedFrame::OnWizardUpdate(wxCommandEvent& WXUNUSED(event)) {
|
||||
wxLogTrace(wxT("Function Start/End"), wxT("CAdvancedFrame::OnWizardUpdate - Function Begin"));
|
||||
|
||||
CMainDocument* pDoc = wxGetApp().GetDocument();
|
||||
|
||||
wxASSERT(pDoc);
|
||||
wxASSERT(wxDynamicCast(pDoc, CMainDocument));
|
||||
|
||||
if (!pDoc->IsUserAuthorized())
|
||||
return;
|
||||
|
||||
if (pDoc->IsConnected()) {
|
||||
// Stop all timers so that the wizard is the only thing doing anything
|
||||
StopTimers();
|
||||
|
||||
CWizardAttach* pWizard = new CWizardAttach(this);
|
||||
|
||||
pWizard->SyncToAccountManager();
|
||||
|
||||
if (pWizard)
|
||||
pWizard->Destroy();
|
||||
|
||||
DeleteMenu();
|
||||
CreateMenu();
|
||||
pDoc->ForceCacheUpdate();
|
||||
FireRefreshView();
|
||||
ResetReminderTimers();
|
||||
|
||||
// Restart timers to continue normal operations.
|
||||
StartTimers();
|
||||
} else {
|
||||
ShowNotCurrentlyConnectedAlert();
|
||||
}
|
||||
|
||||
wxLogTrace(wxT("Function Start/End"), wxT("CAdvancedFrame::OnWizardUpdate - Function End"));
|
||||
}
|
||||
|
||||
|
||||
void CAdvancedFrame::OnWizardDetach(wxCommandEvent& WXUNUSED(event)) {
|
||||
wxLogTrace(wxT("Function Start/End"), wxT("CAdvancedFrame::OnWizardDetach - Function Begin"));
|
||||
|
||||
CMainDocument* pDoc = wxGetApp().GetDocument();
|
||||
CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced();
|
||||
wxInt32 iAnswer = 0;
|
||||
wxString strTitle = wxEmptyString;
|
||||
wxString strMessage = wxEmptyString;
|
||||
ACCT_MGR_INFO ami;
|
||||
|
||||
wxASSERT(pDoc);
|
||||
wxASSERT(wxDynamicCast(pDoc, CMainDocument));
|
||||
wxASSERT(pSkinAdvanced);
|
||||
wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced));
|
||||
|
||||
if (!pDoc->IsUserAuthorized())
|
||||
return;
|
||||
|
||||
if (pDoc->IsConnected()) {
|
||||
|
||||
pDoc->rpc.acct_mgr_info(ami);
|
||||
|
||||
strTitle.Printf(
|
||||
_("%s - Stop using %s"),
|
||||
pSkinAdvanced->GetApplicationName().c_str(),
|
||||
wxString(ami.acct_mgr_name.c_str(), wxConvUTF8).c_str()
|
||||
);
|
||||
strMessage.Printf(
|
||||
_("If you stop using %s,\nyou'll keep all your current projects,\nbut you'll have to manage projects manually.\n\nDo you want to stop using %s?"),
|
||||
wxString(ami.acct_mgr_name.c_str(), wxConvUTF8).c_str(),
|
||||
wxString(ami.acct_mgr_name.c_str(), wxConvUTF8).c_str()
|
||||
);
|
||||
|
||||
iAnswer = wxGetApp().SafeMessageBox(
|
||||
strMessage,
|
||||
strTitle,
|
||||
wxYES_NO | wxICON_QUESTION,
|
||||
this
|
||||
);
|
||||
|
||||
if (wxYES == iAnswer) {
|
||||
pDoc->rpc.acct_mgr_rpc("", "", "", false);
|
||||
}
|
||||
|
||||
DeleteMenu();
|
||||
CreateMenu();
|
||||
pDoc->ForceCacheUpdate();
|
||||
FireRefreshView();
|
||||
|
||||
} else {
|
||||
ShowNotCurrentlyConnectedAlert();
|
||||
}
|
||||
|
||||
wxLogTrace(wxT("Function Start/End"), wxT("CAdvancedFrame::OnWizardDetach - Function End"));
|
||||
}
|
||||
|
||||
|
||||
void CAdvancedFrame::OnActivitySelection(wxCommandEvent& event) {
|
||||
wxLogTrace(wxT("Function Start/End"), wxT("CAdvancedFrame::OnActivitySelection - Function Begin"));
|
||||
|
||||
|
@ -1965,8 +1807,7 @@ void CAdvancedFrame::OnConnect(CFrameEvent& WXUNUSED(event)) {
|
|||
|
||||
// Update the menus
|
||||
//
|
||||
DeleteMenu();
|
||||
CreateMenu();
|
||||
CreateMenus();
|
||||
|
||||
// Restart timers to continue normal operations.
|
||||
//
|
||||
|
@ -2125,17 +1966,6 @@ void CAdvancedFrame::OnNotebookSelectionChanged(wxNotebookEvent& event) {
|
|||
wxLogTrace(wxT("Function Start/End"), wxT("CAdvancedFrame::OnNotebookSelectionChanged - Function End"));
|
||||
}
|
||||
|
||||
|
||||
void CAdvancedFrame::ResetReminderTimers() {
|
||||
#ifdef __WXMSW__
|
||||
wxASSERT(m_pDialupManager);
|
||||
wxASSERT(wxDynamicCast(m_pDialupManager, CBOINCDialUpManager));
|
||||
|
||||
m_pDialupManager->ResetReminderTimers();
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
void CAdvancedFrame::UpdateActivityModeControls( CC_STATUS& status ) {
|
||||
wxMenuBar* pMenuBar = GetMenuBar();
|
||||
wxASSERT(pMenuBar);
|
||||
|
@ -2333,7 +2163,7 @@ void CAdvancedFrame::UpdateRefreshTimerInterval() {
|
|||
void CAdvancedFrame::StartTimers() {
|
||||
wxASSERT(m_pRefreshStateTimer);
|
||||
wxASSERT(m_pFrameRenderTimer);
|
||||
CBOINCBaseFrame::StartTimers();
|
||||
CBOINCBaseFrame::StartTimersBase();
|
||||
m_pRefreshStateTimer->Start();
|
||||
m_pFrameRenderTimer->Start();
|
||||
}
|
||||
|
@ -2342,7 +2172,7 @@ void CAdvancedFrame::StartTimers() {
|
|||
void CAdvancedFrame::StopTimers() {
|
||||
wxASSERT(m_pRefreshStateTimer);
|
||||
wxASSERT(m_pFrameRenderTimer);
|
||||
CBOINCBaseFrame::StopTimers();
|
||||
CBOINCBaseFrame::StopTimersBase();
|
||||
m_pRefreshStateTimer->Stop();
|
||||
m_pFrameRenderTimer->Stop();
|
||||
}
|
||||
|
|
|
@ -62,10 +62,6 @@ public:
|
|||
void OnChangeView( wxCommandEvent& event );
|
||||
void OnChangeGUI( wxCommandEvent& event );
|
||||
|
||||
void OnWizardAttachProject( wxCommandEvent& event );
|
||||
void OnWizardUpdate( wxCommandEvent& event );
|
||||
void OnWizardDetach( wxCommandEvent& event );
|
||||
|
||||
void OnActivitySelection( wxCommandEvent& event );
|
||||
void OnGPUSelection( wxCommandEvent& event );
|
||||
void OnNetworkSelection( wxCommandEvent& event );
|
||||
|
@ -100,8 +96,6 @@ public:
|
|||
void OnConnect( CFrameEvent& event );
|
||||
void OnNotification( CFrameEvent& event );
|
||||
|
||||
void ResetReminderTimers();
|
||||
|
||||
bool RestoreState();
|
||||
bool SaveState();
|
||||
wxNotebook* GetNotebook();
|
||||
|
@ -127,8 +121,7 @@ private:
|
|||
|
||||
wxString m_strBaseTitle;
|
||||
|
||||
bool CreateMenu();
|
||||
bool DeleteMenu();
|
||||
bool CreateMenus();
|
||||
|
||||
bool CreateNotebook();
|
||||
bool RepopulateNotebook();
|
||||
|
|
|
@ -36,7 +36,9 @@
|
|||
#include "Events.h"
|
||||
#include "DlgEventLog.h"
|
||||
#include "DlgSelectComputer.h"
|
||||
|
||||
#include "wizardex.h"
|
||||
#include "BOINCBaseWizard.h"
|
||||
#include "WizardAttach.h"
|
||||
|
||||
DEFINE_EVENT_TYPE(wxEVT_FRAME_ALERT)
|
||||
DEFINE_EVENT_TYPE(wxEVT_FRAME_CONNECT)
|
||||
|
@ -702,7 +704,7 @@ void CBOINCBaseFrame::ShowNotCurrentlyConnectedAlert() {
|
|||
}
|
||||
|
||||
|
||||
void CBOINCBaseFrame::StartTimers() {
|
||||
void CBOINCBaseFrame::StartTimersBase() {
|
||||
wxASSERT(m_pAlertPollTimer);
|
||||
wxASSERT(m_pPeriodicRPCTimer);
|
||||
wxASSERT(m_pDocumentPollTimer);
|
||||
|
@ -712,7 +714,7 @@ void CBOINCBaseFrame::StartTimers() {
|
|||
}
|
||||
|
||||
|
||||
void CBOINCBaseFrame::StopTimers() {
|
||||
void CBOINCBaseFrame::StopTimersBase() {
|
||||
wxASSERT(m_pAlertPollTimer);
|
||||
wxASSERT(m_pPeriodicRPCTimer);
|
||||
wxASSERT(m_pDocumentPollTimer);
|
||||
|
@ -901,3 +903,150 @@ void CFrameAlertEvent::ProcessResponse(const int response) const {
|
|||
}
|
||||
}
|
||||
|
||||
// bring up the attach-project dialog
|
||||
//
|
||||
void CBOINCBaseFrame::OnWizardAttachProject( wxCommandEvent& WXUNUSED(event) ) {
|
||||
wxLogTrace(wxT("Function Start/End"), wxT("CBOINCBaseFrame::OnWizardAttachProject - Function Begin"));
|
||||
|
||||
CMainDocument* pDoc = wxGetApp().GetDocument();
|
||||
|
||||
wxASSERT(pDoc);
|
||||
wxASSERT(wxDynamicCast(pDoc, CMainDocument));
|
||||
|
||||
if (!pDoc->IsUserAuthorized()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (pDoc->IsConnected()) {
|
||||
|
||||
// Stop all timers so that the wizard is the only thing doing anything
|
||||
StopTimers();
|
||||
|
||||
CWizardAttach* pWizard = new CWizardAttach(this);
|
||||
|
||||
pWizard->Run(
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
false,
|
||||
false
|
||||
);
|
||||
|
||||
pWizard->Destroy();
|
||||
|
||||
// Restart timers to continue normal operations.
|
||||
StartTimers();
|
||||
|
||||
pDoc->ForceCacheUpdate();
|
||||
FireRefreshView();
|
||||
} else {
|
||||
ShowNotCurrentlyConnectedAlert();
|
||||
}
|
||||
|
||||
wxLogTrace(wxT("Function Start/End"), wxT("CBOINCBaseFrame::OnWizardAttachProject - Function End"));
|
||||
}
|
||||
|
||||
|
||||
void CBOINCBaseFrame::OnWizardUpdate(wxCommandEvent& WXUNUSED(event)) {
|
||||
wxLogTrace(wxT("Function Start/End"), wxT("CBOINCBaseFrame::OnWizardUpdate - Function Begin"));
|
||||
|
||||
CMainDocument* pDoc = wxGetApp().GetDocument();
|
||||
|
||||
wxASSERT(pDoc);
|
||||
wxASSERT(wxDynamicCast(pDoc, CMainDocument));
|
||||
|
||||
if (!pDoc->IsUserAuthorized())
|
||||
return;
|
||||
|
||||
if (pDoc->IsConnected()) {
|
||||
// Stop all timers so that the wizard is the only thing doing anything
|
||||
StopTimers();
|
||||
|
||||
CWizardAttach* pWizard = new CWizardAttach(this);
|
||||
|
||||
pWizard->SyncToAccountManager();
|
||||
pWizard->Destroy();
|
||||
|
||||
CreateMenus();
|
||||
pDoc->ForceCacheUpdate();
|
||||
FireRefreshView();
|
||||
ResetReminderTimers();
|
||||
|
||||
// Restart timers to continue normal operations.
|
||||
StartTimers();
|
||||
} else {
|
||||
ShowNotCurrentlyConnectedAlert();
|
||||
}
|
||||
|
||||
wxLogTrace(wxT("Function Start/End"), wxT("CBOINCBaseFrame::OnWizardUpdate - Function End"));
|
||||
}
|
||||
|
||||
// detach from account manager
|
||||
//
|
||||
void CBOINCBaseFrame::OnWizardDetach(wxCommandEvent& WXUNUSED(event)) {
|
||||
wxLogTrace(wxT("Function Start/End"), wxT("CBOINCBaseFrame::OnWizardDetach - Function Begin"));
|
||||
|
||||
CMainDocument* pDoc = wxGetApp().GetDocument();
|
||||
CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced();
|
||||
wxInt32 iAnswer = 0;
|
||||
wxString strTitle = wxEmptyString;
|
||||
wxString strMessage = wxEmptyString;
|
||||
ACCT_MGR_INFO ami;
|
||||
|
||||
wxASSERT(pDoc);
|
||||
wxASSERT(wxDynamicCast(pDoc, CMainDocument));
|
||||
wxASSERT(pSkinAdvanced);
|
||||
wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced));
|
||||
|
||||
if (!pDoc->IsUserAuthorized()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (pDoc->IsConnected()) {
|
||||
pDoc->rpc.acct_mgr_info(ami);
|
||||
|
||||
strTitle.Printf(
|
||||
_("%s - Stop using %s"),
|
||||
pSkinAdvanced->GetApplicationName().c_str(),
|
||||
wxString(ami.acct_mgr_name.c_str(), wxConvUTF8).c_str()
|
||||
);
|
||||
strMessage.Printf(
|
||||
_("If you stop using %s,\nyou'll keep all your current projects,\nbut you'll have to manage projects manually.\n\nDo you want to stop using %s?"),
|
||||
wxString(ami.acct_mgr_name.c_str(), wxConvUTF8).c_str(),
|
||||
wxString(ami.acct_mgr_name.c_str(), wxConvUTF8).c_str()
|
||||
);
|
||||
|
||||
iAnswer = wxGetApp().SafeMessageBox(
|
||||
strMessage,
|
||||
strTitle,
|
||||
wxYES_NO | wxICON_QUESTION,
|
||||
this
|
||||
);
|
||||
|
||||
if (wxYES == iAnswer) {
|
||||
pDoc->rpc.acct_mgr_rpc("", "", "", false);
|
||||
}
|
||||
|
||||
CreateMenus();
|
||||
pDoc->ForceCacheUpdate();
|
||||
FireRefreshView();
|
||||
|
||||
} else {
|
||||
ShowNotCurrentlyConnectedAlert();
|
||||
}
|
||||
|
||||
wxLogTrace(wxT("Function Start/End"), wxT("CBOINCBaseFrame::OnWizardDetach - Function End"));
|
||||
}
|
||||
|
||||
void CBOINCBaseFrame::ResetReminderTimers() {
|
||||
#ifdef __WXMSW__
|
||||
wxASSERT(m_pDialupManager);
|
||||
wxASSERT(wxDynamicCast(m_pDialupManager, CBOINCDialUpManager));
|
||||
|
||||
m_pDialupManager->ResetReminderTimers();
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -15,6 +15,9 @@
|
|||
// You should have received a copy of the GNU Lesser General Public License
|
||||
// along with BOINC. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
// CBOINCBaseFrame: Base class for the 2 variants of the main window,
|
||||
// CBOINCAdvancedFrame and CBOINCSimpleFrame
|
||||
|
||||
#ifndef BOINC_BOINCBASEFRAME_H
|
||||
#define BOINC_BOINCBASEFRAME_H
|
||||
|
||||
|
@ -22,7 +25,6 @@
|
|||
#pragma interface "BOINCBaseFrame.cpp"
|
||||
#endif
|
||||
|
||||
|
||||
class CFrameEvent;
|
||||
class CFrameAlertEvent;
|
||||
class CBOINCDialUpManager;
|
||||
|
@ -32,7 +34,6 @@ enum FrameAlertEventType {
|
|||
AlertProcessResponse
|
||||
};
|
||||
|
||||
|
||||
class CBOINCBaseFrame : public wxFrame {
|
||||
|
||||
DECLARE_DYNAMIC_CLASS( CBOINCBaseFrame )
|
||||
|
@ -64,6 +65,10 @@ public:
|
|||
virtual void OnCloseWindow( wxCommandEvent& event );
|
||||
virtual void OnExit( wxCommandEvent& event );
|
||||
|
||||
void OnWizardAttachProject( wxCommandEvent& event );
|
||||
void OnWizardUpdate( wxCommandEvent& event );
|
||||
void OnWizardDetach( wxCommandEvent& event );
|
||||
|
||||
int GetCurrentViewPage();
|
||||
wxString GetDialupConnectionName() { return m_strNetworkDialupConnectionName; }
|
||||
void SetDialupConnectionName(wxString val) { m_strNetworkDialupConnectionName = val; }
|
||||
|
@ -83,8 +88,10 @@ public:
|
|||
void ShowDaemonStartFailedAlert();
|
||||
void ShowNotCurrentlyConnectedAlert();
|
||||
|
||||
virtual void StartTimers();
|
||||
virtual void StopTimers();
|
||||
void StartTimersBase();
|
||||
void StopTimersBase();
|
||||
virtual void StartTimers() {}
|
||||
virtual void StopTimers() {}
|
||||
virtual void UpdateRefreshTimerInterval();
|
||||
|
||||
void ShowAlert(
|
||||
|
@ -99,6 +106,8 @@ public:
|
|||
|
||||
virtual bool RestoreState();
|
||||
virtual bool SaveState();
|
||||
virtual bool CreateMenus(){return true;}
|
||||
void ResetReminderTimers();
|
||||
|
||||
protected:
|
||||
|
||||
|
|
|
@ -48,6 +48,7 @@
|
|||
#include "DlgAbout.h"
|
||||
#include "DlgOptions.h"
|
||||
#include "DlgDiagnosticLogFlags.h"
|
||||
#include "AdvancedFrame.h"
|
||||
|
||||
|
||||
#ifdef __WXMAC__
|
||||
|
@ -70,6 +71,7 @@ IMPLEMENT_DYNAMIC_CLASS(CSimpleFrame, CBOINCBaseFrame)
|
|||
BEGIN_EVENT_TABLE(CSimpleFrame, CBOINCBaseFrame)
|
||||
EVT_SIZE(CSimpleFrame::OnSize)
|
||||
EVT_MENU_OPEN(CSimpleFrame::OnMenuOpening)
|
||||
// View
|
||||
EVT_MENU(ID_CHANGEGUI, CSimpleFrame::OnChangeGUI)
|
||||
EVT_MENU(ID_SGDEFAULTSKINSELECTOR, CSimpleFrame::OnSelectDefaultSkin)
|
||||
EVT_MENU_RANGE(ID_SGFIRSTSKINSELECTOR, ID_LASTSGSKINSELECTOR, CSimpleFrame::OnSelectSkin)
|
||||
|
@ -80,7 +82,12 @@ BEGIN_EVENT_TABLE(CSimpleFrame, CBOINCBaseFrame)
|
|||
EVT_MENU(ID_PREFERENCES, CSimpleFrame::OnPreferences)
|
||||
EVT_MENU(ID_SGOPTIONS, CSimpleFrame::OnOptions)
|
||||
EVT_MENU(ID_SGDIAGNOSTICLOGFLAGS, CSimpleFrame::OnDiagnosticLogFlags)
|
||||
EVT_MENU(ID_WIZARDATTACHPROJECT, CSimpleFrame::OnProjectsAttachToProject)
|
||||
// Tools
|
||||
EVT_MENU(ID_WIZARDATTACHPROJECT, CBOINCBaseFrame::OnWizardAttachProject)
|
||||
EVT_MENU(ID_WIZARDATTACHACCOUNTMANAGER, CBOINCBaseFrame::OnWizardUpdate)
|
||||
EVT_MENU(ID_WIZARDUPDATE, CBOINCBaseFrame::OnWizardUpdate)
|
||||
EVT_MENU(ID_WIZARDDETACH, CBOINCBaseFrame::OnWizardDetach)
|
||||
// Help
|
||||
EVT_MENU(ID_HELPBOINC, CSimpleFrame::OnHelpBOINC)
|
||||
EVT_MENU(ID_HELPBOINCMANAGER, CSimpleFrame::OnHelpBOINC)
|
||||
EVT_MENU(ID_HELPBOINCWEBSITE, CSimpleFrame::OnHelpBOINC)
|
||||
|
@ -103,19 +110,35 @@ CSimpleFrame::CSimpleFrame() {
|
|||
|
||||
CSimpleFrame::CSimpleFrame(wxString title, wxIconBundle* icons, wxPoint position, wxSize size) :
|
||||
CBOINCBaseFrame((wxFrame *)NULL, ID_SIMPLEFRAME, title, position, size,
|
||||
wxMINIMIZE_BOX | wxSYSTEM_MENU | wxCAPTION | wxCLOSE_BOX | wxCLIP_CHILDREN)
|
||||
wxMINIMIZE_BOX | wxSYSTEM_MENU | wxCAPTION | wxCLOSE_BOX | wxCLIP_CHILDREN
|
||||
)
|
||||
{
|
||||
wxLogTrace(wxT("Function Start/End"), wxT("CSimpleFrame:: - Overloaded Constructor Function Begin"));
|
||||
|
||||
// Initialize Application
|
||||
SetIcons(*icons);
|
||||
|
||||
CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced();
|
||||
CreateMenus();
|
||||
dlgMsgsPtr = NULL;
|
||||
m_pBackgroundPanel = new CSimpleGUIPanel(this);
|
||||
RestoreState();
|
||||
}
|
||||
|
||||
bool CSimpleFrame::CreateMenus() {
|
||||
ACCT_MGR_INFO ami;
|
||||
wxString strMenuName;
|
||||
wxString strMenuDescription;
|
||||
bool is_acct_mgr_detected = false;
|
||||
CMainDocument* pDoc = wxGetApp().GetDocument();
|
||||
|
||||
CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced();
|
||||
|
||||
wxASSERT(pDoc);
|
||||
wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced));
|
||||
|
||||
if (pDoc->IsConnected()) {
|
||||
pDoc->rpc.acct_mgr_info(ami);
|
||||
is_acct_mgr_detected = ami.acct_mgr_url.size() ? true : false;
|
||||
}
|
||||
|
||||
// File menu
|
||||
wxMenu *menuFile = new wxMenu;
|
||||
|
||||
|
@ -206,11 +229,46 @@ CSimpleFrame::CSimpleFrame(wxString title, wxIconBundle* icons, wxPoint position
|
|||
|
||||
// Tools menu
|
||||
wxMenu *menuTools = new wxMenu;
|
||||
menuTools->Append(
|
||||
ID_WIZARDATTACHPROJECT,
|
||||
_("&Add project..."),
|
||||
_("Add a project")
|
||||
);
|
||||
if (!is_acct_mgr_detected) {
|
||||
menuTools->Append(
|
||||
ID_WIZARDATTACHPROJECT,
|
||||
_("&Add project..."),
|
||||
_("Add a project")
|
||||
);
|
||||
menuTools->Append(
|
||||
ID_WIZARDATTACHACCOUNTMANAGER,
|
||||
_("&Use account manager..."),
|
||||
_("Use an account manager to control this computer.")
|
||||
);
|
||||
} else {
|
||||
strMenuName.Printf(
|
||||
_("&Synchronize with %s"),
|
||||
wxString(ami.acct_mgr_name.c_str(), wxConvUTF8).c_str()
|
||||
);
|
||||
strMenuDescription.Printf(
|
||||
_("Get current settings from %s"),
|
||||
wxString(ami.acct_mgr_name.c_str(), wxConvUTF8).c_str()
|
||||
);
|
||||
menuTools->Append(
|
||||
ID_WIZARDUPDATE,
|
||||
strMenuName,
|
||||
strMenuDescription
|
||||
);
|
||||
menuTools->Append(
|
||||
ID_WIZARDATTACHPROJECT,
|
||||
_("&Add project..."),
|
||||
_("Add a project")
|
||||
);
|
||||
strMenuName.Printf(
|
||||
_("S&top using %s..."),
|
||||
wxString(ami.acct_mgr_name.c_str(), wxConvUTF8).c_str()
|
||||
);
|
||||
menuTools->Append(
|
||||
ID_WIZARDDETACH,
|
||||
strMenuName,
|
||||
_("Remove this computer from account manager control.")
|
||||
);
|
||||
}
|
||||
menuTools->AppendSeparator();
|
||||
menuTools->Append(
|
||||
ID_EVENTLOG,
|
||||
|
@ -342,12 +400,7 @@ CSimpleFrame::CSimpleFrame(wxString title, wxIconBundle* icons, wxPoint position
|
|||
m_pAccelTable = new wxAcceleratorTable(3, m_Shortcuts);
|
||||
|
||||
SetAcceleratorTable(*m_pAccelTable);
|
||||
|
||||
dlgMsgsPtr = NULL;
|
||||
|
||||
m_pBackgroundPanel = new CSimpleGUIPanel(this);
|
||||
|
||||
RestoreState();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
@ -729,45 +782,6 @@ void CSimpleFrame::OnRefreshView(CFrameEvent& WXUNUSED(event)) {
|
|||
wxLogTrace(wxT("Function Start/End"), wxT("CSimpleFrame::OnRefreshView - Function End"));
|
||||
}
|
||||
|
||||
|
||||
void CSimpleFrame::OnProjectsAttachToProject(wxCommandEvent& WXUNUSED(event)) {
|
||||
wxLogTrace(wxT("Function Start/End"), wxT("CSimpleFrame::OnProjectsAttachToProject - Function Begin"));
|
||||
|
||||
CMainDocument* pDoc = wxGetApp().GetDocument();
|
||||
|
||||
wxASSERT(pDoc);
|
||||
wxASSERT(wxDynamicCast(pDoc, CMainDocument));
|
||||
|
||||
if (!pDoc->IsUserAuthorized())
|
||||
return;
|
||||
|
||||
if (pDoc->IsConnected()) {
|
||||
|
||||
CWizardAttach* pWizard = new CWizardAttach(this);
|
||||
|
||||
pWizard->Run(
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
false,
|
||||
false
|
||||
);
|
||||
|
||||
if (pWizard)
|
||||
pWizard->Destroy();
|
||||
|
||||
} else {
|
||||
ShowNotCurrentlyConnectedAlert();
|
||||
}
|
||||
|
||||
wxLogTrace(wxT("Function Start/End"), wxT("CSimpleFrame::OnProjectsAttachToProject - Function End"));
|
||||
}
|
||||
|
||||
|
||||
void CSimpleFrame::OnConnect(CFrameEvent& WXUNUSED(event)) {
|
||||
wxLogTrace(wxT("Function Start/End"), wxT("CSimpleFrame::OnConnect - Function Begin"));
|
||||
|
||||
|
@ -897,6 +911,10 @@ void CSimpleFrame::OnConnect(CFrameEvent& WXUNUSED(event)) {
|
|||
m_pBackgroundPanel->UpdateProjectView();
|
||||
}
|
||||
|
||||
// Update the menus
|
||||
//
|
||||
CreateMenus();
|
||||
|
||||
wxLogTrace(wxT("Function Start/End"), wxT("CSimpleFrame::OnConnect - Function End"));
|
||||
}
|
||||
|
||||
|
@ -1138,19 +1156,17 @@ void CSimpleGUIPanel::ReskinInterface() {
|
|||
wxLogTrace(wxT("Function Start/End"), wxT("CSimpleGUIPanel::ReskinInterface - Function End"));
|
||||
}
|
||||
|
||||
|
||||
void CSimpleGUIPanel::OnProjectsAttachToProject(wxCommandEvent& event) {
|
||||
wxLogTrace(wxT("Function Start/End"), wxT("CSimpleGUIPanel::OnProjectsAttachToProject - Function Begin"));
|
||||
|
||||
CSimpleFrame* pFrame = wxDynamicCast(GetParent(), CSimpleFrame);
|
||||
wxASSERT(pFrame);
|
||||
|
||||
pFrame->OnProjectsAttachToProject(event);
|
||||
pFrame->OnWizardAttachProject(event);
|
||||
|
||||
wxLogTrace(wxT("Function Start/End"), wxT("CSimpleFrame::OnProjectsAttachToProject - Function End"));
|
||||
wxLogTrace(wxT("Function Start/End"), wxT("CSimpleGUIPanel::OnProjectsAttachToProject - Function End"));
|
||||
}
|
||||
|
||||
|
||||
// called from CSimpleFrame::OnRefreshView()
|
||||
void CSimpleGUIPanel::OnFrameRender() {
|
||||
CMainDocument* pDoc = wxGetApp().GetDocument();
|
||||
|
|
|
@ -91,7 +91,8 @@ private:
|
|||
};
|
||||
|
||||
|
||||
// Define a new frame
|
||||
// Simple view frame
|
||||
//
|
||||
class CSimpleFrame : public CBOINCBaseFrame
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS(CSimpleFrame)
|
||||
|
@ -117,8 +118,6 @@ public:
|
|||
void OnCheckVersion( wxCommandEvent& event );
|
||||
void OnReportBug( wxCommandEvent& event );
|
||||
|
||||
void OnProjectsAttachToProject(wxCommandEvent& event);
|
||||
|
||||
void OnConnect(CFrameEvent& event );
|
||||
void OnReloadSkin( CFrameEvent& event );
|
||||
void OnRefreshView( CFrameEvent& event );
|
||||
|
@ -133,6 +132,14 @@ public:
|
|||
bool RestoreState();
|
||||
void OnMove(wxMoveEvent& event);
|
||||
|
||||
void StartTimers() {
|
||||
StartTimersBase();
|
||||
}
|
||||
void StopTimers() {
|
||||
StopTimersBase();
|
||||
}
|
||||
bool CreateMenus();
|
||||
|
||||
protected:
|
||||
virtual int _GetCurrentViewPage();
|
||||
|
||||
|
|
Loading…
Reference in New Issue