diff --git a/clientgui/sg_BoincSimpleFrame.cpp b/clientgui/sg_BoincSimpleFrame.cpp index b4f7260b78..f7ca505a94 100644 --- a/clientgui/sg_BoincSimpleFrame.cpp +++ b/clientgui/sg_BoincSimpleFrame.cpp @@ -536,7 +536,12 @@ void CSimpleFrame::OnHelp(wxHelpEvent& event) { void CSimpleFrame::OnReloadSkin(CFrameEvent& WXUNUSED(event)) { wxLogTrace(wxT("Function Start/End"), wxT("CSimpleFrame::OnReloadSkin - Function Start")); + CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); + wxASSERT(pSkinAdvanced); + m_pBackgroundPanel->ReskinInterface(); + SetTitle(pSkinAdvanced->GetApplicationName()); + SetIcon(*pSkinAdvanced->GetApplicationIcon()); wxLogTrace(wxT("Function Start/End"), wxT("CSimpleFrame::OnReloadSkin - Function End")); } diff --git a/clientgui/sg_ProjectPanel.cpp b/clientgui/sg_ProjectPanel.cpp index bb8a0740e3..65b0fd8496 100644 --- a/clientgui/sg_ProjectPanel.cpp +++ b/clientgui/sg_ProjectPanel.cpp @@ -281,6 +281,30 @@ void CSimpleProjectPanel::UpdateInterface() { } +void CSimpleProjectPanel::ReskinInterface() { + wxLogTrace(wxT("Function Start/End"), wxT("CSimpleProjectPanel::ReskinInterface - Function Begin")); + + CMainDocument* pDoc = wxGetApp().GetDocument(); + ProjectSelectionData* selData; + PROJECT* project; + char* ctrl_url; + + CSimplePanelBase::ReskinInterface(); + + // Check to see if we need to reload the project icon + int ctrlCount = m_ProjectSelectionCtrl->GetCount(); + for(int j=0; jGetClientData(j); + ctrl_url = selData->project_url; + project = pDoc->state.lookup_project(ctrl_url); + wxBitmap* projectBM = GetProjectSpecificBitmap(ctrl_url); + m_ProjectSelectionCtrl->SetItemBitmap(j, *projectBM); + } + + wxLogTrace(wxT("Function Start/End"), wxT("CSimpleProjectPanel::ReskinInterface - Function Begin")); +} + + void CSimpleProjectPanel::OnAddProject(wxCommandEvent& /*event*/) { if (m_UsingAccountManager) { OnWizardUpdate(); @@ -504,7 +528,7 @@ wxBitmap* CSimpleProjectPanel::GetProjectSpecificBitmap(char* project_url) { wxASSERT(pSkinSimple); - // Only update if it is project specific is found + // Only update it if project specific is found if(boinc_resolve_filename(GetProjectIconLoc(project_url).c_str(), defaultIcnPath, sizeof(defaultIcnPath)) == 0) { wxBitmap* projectBM = new wxBitmap(); wxString strIconPath = wxString(defaultIcnPath,wxConvUTF8); diff --git a/clientgui/sg_ProjectPanel.h b/clientgui/sg_ProjectPanel.h index 876bd360e8..c0ac62a67b 100644 --- a/clientgui/sg_ProjectPanel.h +++ b/clientgui/sg_ProjectPanel.h @@ -44,7 +44,8 @@ class CSimpleProjectPanel : public CSimplePanelBase ProjectSelectionData* GetProjectSelectionData(); void UpdateInterface(); - + void ReskinInterface(); + private: void OnProjectSelection(wxCommandEvent &event); void OnProjectCommandButton(wxCommandEvent& /*event*/);