diff --git a/checkin_notes b/checkin_notes index f22c363c6b..decea9c652 100755 --- a/checkin_notes +++ b/checkin_notes @@ -202,3 +202,41 @@ Bruce 9 Jan 2006 inc/ user.inc +Rom 9 Jan 2006 (HEAD) + - Initial CPDN/BBC branded client + + client/win/ + boinc_cli.rc + boinc_cmd.rc + boinc_dll.rc + boinc_ss.rc + clientgui/ + AccountInfoPage.cpp + BOINCBaseView.cpp, .h + BOINCGUIApp.cpp + BOINCGUIApp.rc + DlgAbout.cpp, .h + MainFrame.cpp + ViewMessages.cpp + ViewProjects.cpp + ViewResources.cpp + ViewStatistics.cpp + ViewTransfers.cpp + ViewWork.cpp, .h + win_build/ + cpdnbbc.sln (added) + cpdnbbc_boinc_cli_curl.vcproj (added) + cpdnbbc_boinc_dll.vcproj (added) + cpdnbbc_boinc_ss.vcproj (added) + cpdnbbc_boinccmd.vcproj (added) + cpdnbbc_boincmgr_curl.vcproj (added) + win_build/installerv2/ + CPDNBBC.ism (added) + win_build/installerv2/redist/CPDNBBC/ + Climate Change Experiment.url (added) + project_init.xml + +Rom 9 Jan 2006 (HEAD) + - Tag for 5.3.9 release, all platforms + boinc_core_release_5_3_9 + diff --git a/client/win/boinc_cli.rc b/client/win/boinc_cli.rc index c7d448c453..449604f59a 100644 --- a/client/win/boinc_cli.rc +++ b/client/win/boinc_cli.rc @@ -62,7 +62,7 @@ END // Version // -#ifdef _GRIDREPUBLIC +#if defined (_GRIDREPUBLIC) VS_VERSION_INFO VERSIONINFO FILEVERSION BOINC_MAJOR_VERSION,BOINC_MINOR_VERSION,BOINC_RELEASE,0 @@ -85,7 +85,7 @@ BEGIN VALUE "FileDescription", "GridRepublic client" VALUE "FileVersion", BOINC_VERSION_STRING "\0" VALUE "InternalName", "boinc_cli" - VALUE "LegalCopyright", "Copyright © 2003-2005 University of California" + VALUE "LegalCopyright", "© 2003-2006 University of California" VALUE "OriginalFilename", "boinc_cli.exe" VALUE "ProductName", "BOINC core client" VALUE "ProductVersion", BOINC_VERSION_STRING "\0" @@ -97,6 +97,41 @@ BEGIN END END +#elif defined(_CPDNBBC) + +VS_VERSION_INFO VERSIONINFO + FILEVERSION BOINC_MAJOR_VERSION,BOINC_MINOR_VERSION,BOINC_RELEASE,0 + PRODUCTVERSION BOINC_MAJOR_VERSION,BOINC_MINOR_VERSION,BOINC_RELEASE,0 + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x40004L + FILETYPE 0x1L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", "ClimatePrediction.net" + VALUE "FileDescription", "ClimatePrediction.net client" + VALUE "FileVersion", BOINC_VERSION_STRING "\0" + VALUE "InternalName", "boinc_cli" + VALUE "LegalCopyright", "© 2003-2006 University of California" + VALUE "OriginalFilename", "boinc_cli.exe" + VALUE "ProductName", "CPDNBBC core client" + VALUE "ProductVersion", BOINC_VERSION_STRING "\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + #else VS_VERSION_INFO VERSIONINFO @@ -120,7 +155,7 @@ BEGIN VALUE "FileDescription", "BOINC client" VALUE "FileVersion", BOINC_VERSION_STRING "\0" VALUE "InternalName", "boinc_cli" - VALUE "LegalCopyright", "Copyright © 2003-2005 University of California" + VALUE "LegalCopyright", "© 2003-2006 University of California" VALUE "OriginalFilename", "boinc_cli.exe" VALUE "ProductName", "BOINC client" VALUE "ProductVersion", BOINC_VERSION_STRING "\0" diff --git a/client/win/boinc_cmd.rc b/client/win/boinc_cmd.rc index 1bc2fc7867..fabbab3cbd 100644 --- a/client/win/boinc_cmd.rc +++ b/client/win/boinc_cmd.rc @@ -62,7 +62,7 @@ END // Version // -#ifdef _GRIDREPUBLIC +#if defined(_GRIDREPUBLIC) VS_VERSION_INFO VERSIONINFO FILEVERSION BOINC_MAJOR_VERSION,BOINC_MINOR_VERSION,BOINC_RELEASE,0 @@ -85,7 +85,7 @@ BEGIN VALUE "FileDescription", "GridRepublic Command Line Interface" VALUE "FileVersion", BOINC_VERSION_STRING "\0" VALUE "InternalName", "boinc_cli" - VALUE "LegalCopyright", "Copyright © 2003-2005 University of California" + VALUE "LegalCopyright", "© 2003-2006 University of California" VALUE "OriginalFilename", "boinc_cli.exe" VALUE "ProductName", "BOINC core client" VALUE "ProductVersion", BOINC_VERSION_STRING "\0" @@ -97,6 +97,41 @@ BEGIN END END +#elif defined(_CPDNBBC) + +VS_VERSION_INFO VERSIONINFO + FILEVERSION BOINC_MAJOR_VERSION,BOINC_MINOR_VERSION,BOINC_RELEASE,0 + PRODUCTVERSION BOINC_MAJOR_VERSION,BOINC_MINOR_VERSION,BOINC_RELEASE,0 + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x40004L + FILETYPE 0x1L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", "ClimatePrediction.net" + VALUE "FileDescription", "CPDNBBC Command Line Interface" + VALUE "FileVersion", BOINC_VERSION_STRING "\0" + VALUE "InternalName", "boinc_cli" + VALUE "LegalCopyright", "© 2003-2006 University of California" + VALUE "OriginalFilename", "boinc_cli.exe" + VALUE "ProductName", "CPDBBBC core client" + VALUE "ProductVersion", BOINC_VERSION_STRING "\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + #else VS_VERSION_INFO VERSIONINFO @@ -120,7 +155,7 @@ BEGIN VALUE "FileDescription", "BOINC Command Line Interface" VALUE "FileVersion", BOINC_VERSION_STRING "\0" VALUE "InternalName", "boinc_cli" - VALUE "LegalCopyright", "Copyright © 2003-2005 University of California" + VALUE "LegalCopyright", "© 2003-2006 University of California" VALUE "OriginalFilename", "boinc_cli.exe" VALUE "ProductName", "BOINC core client" VALUE "ProductVersion", BOINC_VERSION_STRING "\0" diff --git a/client/win/boinc_dll.rc b/client/win/boinc_dll.rc index c80f87860d..be0cf5bb2e 100644 --- a/client/win/boinc_dll.rc +++ b/client/win/boinc_dll.rc @@ -62,7 +62,7 @@ END // Version // -#ifdef _GRIDREPUBLIC +#if defined(_GRIDREPUBLIC) VS_VERSION_INFO VERSIONINFO FILEVERSION BOINC_MAJOR_VERSION,BOINC_MINOR_VERSION,BOINC_RELEASE,0 @@ -85,7 +85,7 @@ BEGIN VALUE "FileDescription", "GridRepublic Input Monitor" VALUE "FileVersion", BOINC_VERSION_STRING "\0" VALUE "InternalName", "boinc_dll" - VALUE "LegalCopyright", "Copyright © 2003-2005 University of California" + VALUE "LegalCopyright", "© 2003-2006 University of California" VALUE "OriginalFilename", "boinc.dll" VALUE "ProductName", "BOINC Core Client" VALUE "ProductVersion", BOINC_VERSION_STRING "\0" @@ -97,6 +97,41 @@ BEGIN END END +#elif defined(_CPDNBBC) + +VS_VERSION_INFO VERSIONINFO + FILEVERSION BOINC_MAJOR_VERSION,BOINC_MINOR_VERSION,BOINC_RELEASE,0 + PRODUCTVERSION BOINC_MAJOR_VERSION,BOINC_MINOR_VERSION,BOINC_RELEASE,0 + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x40004L + FILETYPE 0x1L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", "ClimatePrediction.net" + VALUE "FileDescription", "CPDNBBC Input Monitor" + VALUE "FileVersion", BOINC_VERSION_STRING "\0" + VALUE "InternalName", "boinc_dll" + VALUE "LegalCopyright", "© 2003-2006 University of California" + VALUE "OriginalFilename", "boinc.dll" + VALUE "ProductName", "CPDNBBC Core Client" + VALUE "ProductVersion", BOINC_VERSION_STRING "\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + #else VS_VERSION_INFO VERSIONINFO @@ -120,7 +155,7 @@ BEGIN VALUE "FileDescription", "BOINC Input Monitor" VALUE "FileVersion", BOINC_VERSION_STRING "\0" VALUE "InternalName", "boinc_dll" - VALUE "LegalCopyright", "Copyright © 2003-2005 University of California" + VALUE "LegalCopyright", "© 2003-2006 University of California" VALUE "OriginalFilename", "boinc.dll" VALUE "ProductName", "BOINC Core Client" VALUE "ProductVersion", BOINC_VERSION_STRING "\0" diff --git a/client/win/boinc_ss.rc b/client/win/boinc_ss.rc index 6e69362a8d..9e6ab10f2f 100755 --- a/client/win/boinc_ss.rc +++ b/client/win/boinc_ss.rc @@ -61,7 +61,7 @@ END // // Version // -#ifdef _GRIDREPUBLIC +#if defined(_GRIDREPUBLIC) VS_VERSION_INFO VERSIONINFO FILEVERSION BOINC_MAJOR_VERSION,BOINC_MINOR_VERSION,BOINC_RELEASE,0 @@ -96,6 +96,41 @@ BEGIN END END +#elif defined(_CPDNBBC) + +VS_VERSION_INFO VERSIONINFO + FILEVERSION BOINC_MAJOR_VERSION,BOINC_MINOR_VERSION,BOINC_RELEASE,0 + PRODUCTVERSION BOINC_MAJOR_VERSION,BOINC_MINOR_VERSION,BOINC_RELEASE,0 + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x40004L + FILETYPE 0x1L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", "ClimatePrediction.net" + VALUE "FileDescription", "CPDNBBC Screensaver" + VALUE "FileVersion", BOINC_VERSION_STRING "\0" + VALUE "InternalName", "boinc_ss" + VALUE "LegalCopyright", "© 2003-2006 University of California" + VALUE "OriginalFilename", "boinc.scr" + VALUE "ProductName", "CPDNBBC Core Client" + VALUE "ProductVersion", BOINC_VERSION_STRING "\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + #else VS_VERSION_INFO VERSIONINFO @@ -185,7 +220,7 @@ IDB_BOINCSPLAT BITMAP "res\\boinc.bmp" // String Table // -#ifdef _GRIDREPUBLIC +#if defined(_GRIDREPUBLIC) STRINGTABLE BEGIN @@ -203,7 +238,26 @@ BEGIN "GridRepublic system status:\n\n" IDS_ERR_BOINCSCREENSAVERLOADING "GridRepublic screensaver loading" - IDS_ERR_OUTOFMEMORY "Not enough memory." +END + +#elif defined(_CPDNBBC) + +STRINGTABLE +BEGIN + IDS_ERR_GENERIC "There was an unspecified problem\nwith the Climate Change Experiment screensaver." + IDS_ERR_BOINCNOTDETECTED + "Climate Change Experiment is not running.\n\nPlease launch Climate Change Experiment to display graphics." + IDS_ERR_BOINCNOTDETECTEDSTARTUP + "Climate Change Experiment is not running.\n(Automatic Startup not detected)\n\nWe recommend running Climate Change Experiment at startup;\nplease reinstall Climate Change Experiment and select this option." + IDS_ERR_BOINCSUSPENDED "Climate Change Experiment is currently suspended." + IDS_ERR_BOINCNOAPPSEXECUTING + "Climate Change Experiment is currently idle." + IDS_ERR_BOINCNOAPPSEXECUTINGNOPROJECTSDETECTED + "Climate Change Experiment is not attached to any projects.\nYou can attach to projects using\nthe Climate Change Experiment website." + IDS_ERR_BOINCNOGRAPHICSAPPSEXECUTING + "Climate Change Experiment system status:\n\n" + IDS_ERR_BOINCSCREENSAVERLOADING + "Climate Change Experiment screensaver loading" END #else @@ -224,23 +278,32 @@ BEGIN "BOINC system status:\n\n" IDS_ERR_BOINCSCREENSAVERLOADING "BOINC screensaver loading" - IDS_ERR_OUTOFMEMORY "Not enough memory." END #endif STRINGTABLE BEGIN + IDS_ERR_OUTOFMEMORY "Not enough memory." IDS_ERR_NOPREVIEW "No preview available" END -#ifdef _GRIDREPUBLIC + + +#if defined(_GRIDREPUBLIC) STRINGTABLE BEGIN IDS_DESCRIPTION "GridRepublic" END +#elif defined(_CPDNBBC) + +STRINGTABLE +BEGIN + IDS_DESCRIPTION "Climate Change Experiment" +END + #else STRINGTABLE diff --git a/clientgui/AccountInfoPage.cpp b/clientgui/AccountInfoPage.cpp index 11cb9d8f5c..2008735702 100644 --- a/clientgui/AccountInfoPage.cpp +++ b/clientgui/AccountInfoPage.cpp @@ -76,6 +76,7 @@ bool CAccountInfoPage::Create( CBOINCBaseWizard* parent ) { ////@begin CAccountInfoPage member initialisation + m_AccountManagerInformation = NULL; m_AccountCreateCtrl = NULL; m_AccountUseExistingCtrl = NULL; m_AccountEmailAddressStaticCtrl = NULL; diff --git a/clientgui/BOINCBaseView.cpp b/clientgui/BOINCBaseView.cpp index 38a6cf9054..c0cf7857f8 100644 --- a/clientgui/BOINCBaseView.cpp +++ b/clientgui/BOINCBaseView.cpp @@ -27,6 +27,7 @@ #include "BOINCBaseView.h" #include "BOINCTaskCtrl.h" #include "BOINCListCtrl.h" +#include "Events.h" #include "res/boinc.xpm" @@ -393,13 +394,96 @@ void CBOINCBaseView::EmptyTasks() { } +void CBOINCBaseView::PreUpdateSelection(){ + if (m_pListPane) { + if ((m_pListPane->GetSelectedItemCount() == 0) && + (m_pListPane->GetItemCount() >= 1)) { + + long desiredstate = wxLIST_STATE_FOCUSED | wxLIST_STATE_SELECTED; + m_pListPane->SetItemState(0, desiredstate, desiredstate); + } + } +} + + void CBOINCBaseView::UpdateSelection(){ +} + + +void CBOINCBaseView::PostUpdateSelection(){ wxASSERT(m_pTaskPane); m_pTaskPane->UpdateControls(); Layout(); } +void CBOINCBaseView::UpdateWebsiteSelection(long lControlGroup, PROJECT* project){ + unsigned int i; + CTaskItemGroup* pGroup = NULL; + CTaskItem* pItem = NULL; + CMainDocument* pDoc = wxGetApp().GetDocument(); + + wxASSERT(pDoc); + wxASSERT(wxDynamicCast(pDoc, CMainDocument)); + wxASSERT(m_pTaskPane); + wxASSERT(m_pListPane); + + // Update the websites list + // + if (m_bForceUpdateSelection) { + if (m_TaskGroups.size() > 1) { + + // Delete task group, objects, and controls. + pGroup = m_TaskGroups[lControlGroup]; + + m_pTaskPane->DeleteTaskGroupAndTasks(pGroup); + for (i=0; im_Tasks.size(); i++) { + delete pGroup->m_Tasks[i]; + } + pGroup->m_Tasks.clear(); + delete pGroup; + + pGroup = NULL; + + m_TaskGroups.erase( m_TaskGroups.begin() + 1 ); + } + + // If something is selected create the tasks and controls + if (m_pListPane->GetSelectedItemCount()) { + if (project) { + // Create the web sites task group + pGroup = new CTaskItemGroup( _("Web sites") ); + m_TaskGroups.push_back( pGroup ); + + // Default project url + pItem = new CTaskItem( + project->project_name.c_str(), + wxT(""), + project->master_url.c_str(), + ID_TASK_PROJECT_WEB_PROJDEF_MIN + ); + pGroup->m_Tasks.push_back(pItem); + + + // Project defined urls + for (i=0;(igui_urls.size())&&(i<=ID_TASK_PROJECT_WEB_PROJDEF_MAX);i++) { + pItem = new CTaskItem( + _(project->gui_urls[i].name.c_str()), + _(project->gui_urls[i].description.c_str()), + project->gui_urls[i].url.c_str(), + ID_TASK_PROJECT_WEB_PROJDEF_MIN + 1 + i + ); + pGroup->m_Tasks.push_back(pItem); + } + } + } + + m_bForceUpdateSelection = false; + } + +} + + bool CBOINCBaseView::_EnsureLastItemVisible() { return EnsureLastItemVisible(); } diff --git a/clientgui/BOINCBaseView.h b/clientgui/BOINCBaseView.h index 2f8d0b3bb4..f316c093ae 100644 --- a/clientgui/BOINCBaseView.h +++ b/clientgui/BOINCBaseView.h @@ -31,6 +31,8 @@ class CBOINCTaskCtrl; class CBOINCListCtrl; +class PROJECT; + class CTaskItem : wxObject { public: @@ -130,7 +132,11 @@ protected: virtual void EmptyTasks(); + virtual void PreUpdateSelection(); virtual void UpdateSelection(); + virtual void PostUpdateSelection(); + + virtual void UpdateWebsiteSelection(long lControlGroup, PROJECT* project); bool _EnsureLastItemVisible(); virtual bool EnsureLastItemVisible(); diff --git a/clientgui/BOINCGUIApp.cpp b/clientgui/BOINCGUIApp.cpp index 06b46a353f..0bb57e34f6 100644 --- a/clientgui/BOINCGUIApp.cpp +++ b/clientgui/BOINCGUIApp.cpp @@ -87,6 +87,18 @@ bool CBrandingScheme::OnInit( wxConfigBase *pConfig ) { wxT("Together we are building the most powerful computer in the world;\n" "Together anything is possible!"); break; + case 2: + // Running as a CPDNBBC client. + m_strApplicationName = wxT("Climate Change Experiment Manager"); + m_iconApplicationIcon = wxIcon(boinc_xpm); + m_bitmapApplicationLogo = wxBitmap(boincsm_xpm); + m_strCompanyName = wxT("ClimatePrediction.net"); + m_strCompanyWebsite = wxT("http://climateprediction.net/"); + m_strProjectName = wxT("Climate Change Experiment"); + m_bitmapAPWizardLogo = wxBitmap(attachprojectwizard_xpm); + m_bitmapAMWizardLogo = wxBitmap(attachprojectwizard_xpm); + m_strAMWizardAttachMessage = wxEmptyString; + break; default: // Running in native mode without any branding m_strApplicationName = wxT("BOINC Manager"); diff --git a/clientgui/BOINCGUIApp.rc b/clientgui/BOINCGUIApp.rc index b6d69fd92c..07b10330e6 100644 --- a/clientgui/BOINCGUIApp.rc +++ b/clientgui/BOINCGUIApp.rc @@ -106,7 +106,7 @@ END // Version // -#ifdef _GRIDREPUBLIC +#if defined(_GRIDREPUBLIC) VS_VERSION_INFO VERSIONINFO FILEVERSION BOINC_MAJOR_VERSION,BOINC_MINOR_VERSION,BOINC_RELEASE,0 @@ -129,7 +129,7 @@ BEGIN VALUE "FileDescription", "GridRepublic for Windows" VALUE "FileVersion", BOINC_VERSION_STRING "\0" VALUE "InternalName", "gridrepublic" - VALUE "LegalCopyright", "Copyright © 2003-2005 University of California" + VALUE "LegalCopyright", "© 2003-2006 University of California" VALUE "OriginalFilename", "gridrepublic.exe" VALUE "ProductName", "BOINC core client" VALUE "ProductVersion", BOINC_VERSION_STRING "\0" @@ -141,6 +141,42 @@ BEGIN END END +#elif defined(_CPDNBBC) + + +VS_VERSION_INFO VERSIONINFO + FILEVERSION BOINC_MAJOR_VERSION,BOINC_MINOR_VERSION,BOINC_RELEASE,0 + PRODUCTVERSION BOINC_MAJOR_VERSION,BOINC_MINOR_VERSION,BOINC_RELEASE,0 + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x40004L + FILETYPE 0x1L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", "ClimatePrediction.net" + VALUE "FileDescription", "CPDNBBC Manager for Windows" + VALUE "FileVersion", BOINC_VERSION_STRING "\0" + VALUE "InternalName", "boincmgr" + VALUE "LegalCopyright", "© 2003-2006 University of California" + VALUE "OriginalFilename", "boincmgr.exe" + VALUE "ProductName", "CPDNBBC core client" + VALUE "ProductVersion", BOINC_VERSION_STRING "\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + #else VS_VERSION_INFO VERSIONINFO @@ -160,13 +196,13 @@ BEGIN BEGIN BLOCK "040904b0" BEGIN - VALUE "CompanyName", "Space Sciences Laboratory, U.C. Berkeley" + VALUE "CompanyName", "Space Sciences Laboratory" VALUE "FileDescription", "BOINC Manager for Windows" VALUE "FileVersion", BOINC_VERSION_STRING "\0" VALUE "InternalName", "boincmgr" - VALUE "LegalCopyright", "Copyright © 2003-2005 University of California" + VALUE "LegalCopyright", "© 2003-2006 University of California" VALUE "OriginalFilename", "boincmgr.exe" - VALUE "ProductName", "BOINC core client" + VALUE "ProductName", "CPDNBBC core client" VALUE "ProductVersion", BOINC_VERSION_STRING "\0" END END diff --git a/clientgui/DlgAbout.cpp b/clientgui/DlgAbout.cpp index adc26d0a84..03e92a2f34 100644 --- a/clientgui/DlgAbout.cpp +++ b/clientgui/DlgAbout.cpp @@ -79,15 +79,10 @@ bool CDlgAbout::Create(wxWindow* parent, wxWindowID id, const wxString& caption, m_AboutBOINCURLCtrl = NULL; ////@end CDlgAbout member initialisation -////@begin CDlgAbout creation SetExtraStyle(GetExtraStyle()|wxWS_EX_BLOCK_EVENTS); wxDialog::Create( parent, id, caption, pos, size, style ); CreateControls(); - GetSizer()->Fit(this); - GetSizer()->SetSizeHints(this); - Centre(); -////@end CDlgAbout creation // Change the various dialog items for the branded manager // @@ -115,6 +110,11 @@ bool CDlgAbout::Create(wxWindow* parent, wxWindowID id, const wxString& caption, wxGetApp().GetBrand()->GetCompanyWebsite().c_str() ); } + + GetSizer()->Fit(this); + GetSizer()->SetSizeHints(this); + Centre(); + return TRUE; } @@ -161,7 +161,7 @@ void CDlgAbout::CreateControls() { itemFlexGridSizer7->Add(itemStaticText10, 0, wxALIGN_RIGHT|wxALIGN_TOP|wxLEFT|wxRIGHT, 5); wxStaticText* itemStaticText11 = new wxStaticText; - itemStaticText11->Create( itemDialog1, wxID_STATIC, _("(C) 2005 University of California at Berkeley.\nAll Rights Reserved."), wxDefaultPosition, wxDefaultSize, 0 ); + itemStaticText11->Create( itemDialog1, wxID_STATIC, _("(C) 2003-2006 University of California at Berkeley.\nAll Rights Reserved."), wxDefaultPosition, wxDefaultSize, 0 ); itemFlexGridSizer7->Add(itemStaticText11, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5); m_AboutBOINCSloganCtrl = new wxStaticText; diff --git a/clientgui/DlgAbout.h b/clientgui/DlgAbout.h index c5f330f72b..94db42f436 100644 --- a/clientgui/DlgAbout.h +++ b/clientgui/DlgAbout.h @@ -51,7 +51,7 @@ class wxHyperLink; #define SYMBOL_CDLGABOUT_STYLE wxDEFAULT_DIALOG_STYLE #define SYMBOL_CDLGABOUT_TITLE _("About BOINC Manager") #define SYMBOL_CDLGABOUT_IDNAME ID_DIALOG -#define SYMBOL_CDLGABOUT_SIZE wxSize(400, 300) +#define SYMBOL_CDLGABOUT_SIZE wxSize(-1, -1) #define SYMBOL_CDLGABOUT_POSITION wxDefaultPosition #define ID_ABOUTBOINCLINK 10031 ////@end control identifiers diff --git a/clientgui/MainFrame.cpp b/clientgui/MainFrame.cpp index 09e66f1277..9c98659905 100644 --- a/clientgui/MainFrame.cpp +++ b/clientgui/MainFrame.cpp @@ -1399,6 +1399,7 @@ void CMainFrame::OnConnect(CMainFrameEvent&) { CWizardAccountManager* pAMWizard = NULL; wxString strName = wxEmptyString; wxString strURL = wxEmptyString; + bool bCachedCredentials = false; ACCT_MGR_INFO ami; PROJECT_INIT_STATUS pis; @@ -1417,10 +1418,13 @@ void CMainFrame::OnConnect(CMainFrameEvent&) { pDoc->rpc.get_project_init_status(pis); strName = pis.name.c_str(); strURL = pis.url.c_str(); - if (pis.url.length() && pis.has_account_key) { - pAPWizard->Run(strName, strURL, true); + bCachedCredentials = pis.url.length() && pis.has_account_key; + if (pAPWizard->Run(strName, strURL, bCachedCredentials)) { + // If successful, display the work tab + m_pNotebook->SetSelection(ID_LIST_WORKVIEW - ID_LIST_BASE); } else { - pAPWizard->Run(strName, strURL, false); + // If failure, display the messages tab + m_pNotebook->SetSelection(ID_LIST_MESSAGESVIEW - ID_LIST_BASE); } } diff --git a/clientgui/ViewMessages.cpp b/clientgui/ViewMessages.cpp index d8f93f7b5d..2946abdbea 100644 --- a/clientgui/ViewMessages.cpp +++ b/clientgui/ViewMessages.cpp @@ -279,7 +279,8 @@ bool CViewMessages::EnsureLastItemVisible() { void CViewMessages::UpdateSelection() { - CBOINCBaseView::UpdateSelection(); + CBOINCBaseView::PreUpdateSelection(); + CBOINCBaseView::PostUpdateSelection(); } diff --git a/clientgui/ViewProjects.cpp b/clientgui/ViewProjects.cpp index 9200cd33c8..219856eb47 100644 --- a/clientgui/ViewProjects.cpp +++ b/clientgui/ViewProjects.cpp @@ -533,15 +533,18 @@ wxInt32 CViewProjects::UpdateCache(long item, long column, wxString& strNewData) void CViewProjects::UpdateSelection() { - unsigned int i; CTaskItemGroup* pGroup = NULL; - CTaskItem* pItem = NULL; PROJECT* project = NULL; CMainDocument* pDoc = wxGetApp().GetDocument(); wxASSERT(pDoc); wxASSERT(wxDynamicCast(pDoc, CMainDocument)); wxASSERT(m_pTaskPane); + wxASSERT(m_pListPane); + + + CBOINCBaseView::PreUpdateSelection(); + // Update the tasks static box buttons // @@ -575,65 +578,14 @@ void CViewProjects::UpdateSelection() { } m_pTaskPane->EnableTask(pGroup->m_Tasks[BTN_RESET]); m_pTaskPane->EnableTask(pGroup->m_Tasks[BTN_DETACH]); + + CBOINCBaseView::UpdateWebsiteSelection(GRP_WEBSITES, project); + } else { m_pTaskPane->DisableTaskGroupTasks(pGroup); } - // Update the websites list - // - if (m_bForceUpdateSelection) { - if (m_TaskGroups.size() > 1) { - - // Delete task group, objects, and controls. - pGroup = m_TaskGroups[1]; - - m_pTaskPane->DeleteTaskGroupAndTasks(pGroup); - for (i=0; im_Tasks.size(); i++) { - delete pGroup->m_Tasks[i]; - } - pGroup->m_Tasks.clear(); - delete pGroup; - - pGroup = NULL; - - m_TaskGroups.erase( m_TaskGroups.begin() + 1 ); - } - - // If something is selected create the tasks and controls - if (m_pListPane->GetSelectedItemCount()) { - project = pDoc->project(m_pListPane->GetFirstSelected()); - if (project) { - // Create the web sites task group - pGroup = new CTaskItemGroup( _("Web sites") ); - m_TaskGroups.push_back( pGroup ); - - // Default project url - pItem = new CTaskItem( - project->project_name.c_str(), - wxT(""), - project->master_url.c_str(), - ID_TASK_PROJECT_WEB_PROJDEF_MIN - ); - pGroup->m_Tasks.push_back(pItem); - - - // Project defined urls - for (i=0;(igui_urls.size())&&(i<=ID_TASK_PROJECT_WEB_PROJDEF_MAX);i++) { - pItem = new CTaskItem( - _(project->gui_urls[i].name.c_str()), - _(project->gui_urls[i].description.c_str()), - project->gui_urls[i].url.c_str(), - ID_TASK_PROJECT_WEB_PROJDEF_MIN + 1 + i - ); - pGroup->m_Tasks.push_back(pItem); - } - } - } - - m_bForceUpdateSelection = false; - } - - CBOINCBaseView::UpdateSelection(); + CBOINCBaseView::PostUpdateSelection(); } diff --git a/clientgui/ViewResources.cpp b/clientgui/ViewResources.cpp index 5be7e08dd6..65a200cbfe 100644 --- a/clientgui/ViewResources.cpp +++ b/clientgui/ViewResources.cpp @@ -198,7 +198,8 @@ wxInt32 CViewResources::UpdateCache(long item, long column, wxString& strNewData void CViewResources::UpdateSelection() { - CBOINCBaseView::UpdateSelection(); + CBOINCBaseView::PreUpdateSelection(); + CBOINCBaseView::PostUpdateSelection(); } diff --git a/clientgui/ViewStatistics.cpp b/clientgui/ViewStatistics.cpp index 76a8bc426b..1725b0f797 100644 --- a/clientgui/ViewStatistics.cpp +++ b/clientgui/ViewStatistics.cpp @@ -922,7 +922,8 @@ void CViewStatistics::OnListRender( wxTimerEvent& WXUNUSED(event) ) { void CViewStatistics::UpdateSelection() { - CBOINCBaseView::UpdateSelection(); + CBOINCBaseView::PreUpdateSelection(); + CBOINCBaseView::PostUpdateSelection(); } diff --git a/clientgui/ViewTransfers.cpp b/clientgui/ViewTransfers.cpp index ca1eddc2f0..bba257cf81 100644 --- a/clientgui/ViewTransfers.cpp +++ b/clientgui/ViewTransfers.cpp @@ -354,13 +354,16 @@ wxInt32 CViewTransfers::UpdateCache(long item, long column, wxString& strNewData void CViewTransfers::UpdateSelection() { CTaskItemGroup* pGroup = m_TaskGroups[0]; + + CBOINCBaseView::PreUpdateSelection(); + if (m_pListPane->GetSelectedItemCount()) { m_pTaskPane->EnableTaskGroupTasks(pGroup); } else { m_pTaskPane->DisableTaskGroupTasks(pGroup); } - CBOINCBaseView::UpdateSelection(); + CBOINCBaseView::PostUpdateSelection(); } diff --git a/clientgui/ViewWork.cpp b/clientgui/ViewWork.cpp index 34fa9566c0..686c0fe7c7 100644 --- a/clientgui/ViewWork.cpp +++ b/clientgui/ViewWork.cpp @@ -42,10 +42,14 @@ #define COLUMN_REPORTDEADLINE 6 #define COLUMN_STATUS 7 +// groups that contain buttons +#define GRP_TASKS 0 +#define GRP_WEBSITES 1 + // buttons in the "tasks" area -#define BTN_SUSPEND 0 -#define BTN_GRAPHICS 1 -#define BTN_ABORT 2 +#define BTN_GRAPHICS 0 +#define BTN_SUSPEND 1 +#define BTN_ABORT 2 CWork::CWork() { @@ -70,6 +74,7 @@ BEGIN_EVENT_TABLE (CViewWork, CBOINCBaseView) EVT_BUTTON(ID_TASK_WORK_SUSPEND, CViewWork::OnWorkSuspend) EVT_BUTTON(ID_TASK_WORK_SHOWGRAPHICS, CViewWork::OnWorkShowGraphics) EVT_BUTTON(ID_TASK_WORK_ABORT, CViewWork::OnWorkAbort) + EVT_CUSTOM_RANGE(wxEVT_COMMAND_BUTTON_CLICKED, ID_TASK_PROJECT_WEB_PROJDEF_MIN, ID_TASK_PROJECT_WEB_PROJDEF_MAX, CViewWork::OnProjectWebsiteClicked) EVT_LIST_ITEM_SELECTED(ID_LIST_WORKVIEW, CViewWork::OnListSelected) EVT_LIST_ITEM_DESELECTED(ID_LIST_WORKVIEW, CViewWork::OnListDeselected) END_EVENT_TABLE () @@ -96,16 +101,16 @@ CViewWork::CViewWork(wxNotebook* pNotebook) : m_TaskGroups.push_back( pGroup ); pItem = new CTaskItem( - _("Suspend"), - _("Suspend work for this result."), - ID_TASK_WORK_SUSPEND + _("Show graphics"), + _("Show application graphics in a window."), + ID_TASK_WORK_SHOWGRAPHICS ); pGroup->m_Tasks.push_back( pItem ); pItem = new CTaskItem( - _("Show graphics"), - _("Show application graphics in a window."), - ID_TASK_WORK_SHOWGRAPHICS + _("Suspend"), + _("Suspend work for this result."), + ID_TASK_WORK_SUSPEND ); pGroup->m_Tasks.push_back( pItem ); @@ -277,6 +282,32 @@ void CViewWork::OnWorkAbort( wxCommandEvent& WXUNUSED(event) ) { } +void CViewWork::OnProjectWebsiteClicked( wxEvent& event ) { + wxLogTrace(wxT("Function Start/End"), wxT("CViewWork::OnProjectWebsiteClicked - Function Begin")); + + CMainFrame* pFrame = wxGetApp().GetFrame(); + + wxASSERT(pFrame); + wxASSERT(wxDynamicCast(pFrame, CMainFrame)); + wxASSERT(m_pTaskPane); + wxASSERT(m_pListPane); + + pFrame->UpdateStatusText(_("Launching browser...")); + + int website_task_index = event.GetId() - ID_TASK_PROJECT_WEB_PROJDEF_MIN; + pFrame->ExecuteBrowserLink( + m_TaskGroups[1]->m_Tasks[website_task_index]->m_strWebSiteLink + ); + + pFrame->UpdateStatusText(wxT("")); + + UpdateSelection(); + pFrame->FireRefreshView(); + + wxLogTrace(wxT("Function Start/End"), wxT("CViewWork::OnProjectWebsiteClicked - Function End")); +} + + wxInt32 CViewWork::GetDocCount() { CMainDocument* pDoc = wxGetApp().GetDocument(); @@ -433,15 +464,21 @@ wxInt32 CViewWork::UpdateCache(long item, long column, wxString& strNewData) { void CViewWork::UpdateSelection() { CTaskItemGroup* pGroup = NULL; + RESULT* result = NULL; + PROJECT* project = NULL; CMainDocument* pDoc = wxGetApp().GetDocument(); wxASSERT(NULL != pDoc); wxASSERT(wxDynamicCast(pDoc, CMainDocument)); wxASSERT(NULL != m_pTaskPane); + + CBOINCBaseView::PreUpdateSelection(); + + pGroup = m_TaskGroups[0]; if (m_pListPane->GetSelectedItemCount()) { - RESULT* result = pDoc->result(m_pListPane->GetFirstSelected()); + result = pDoc->result(m_pListPane->GetFirstSelected()); m_pTaskPane->EnableTask(pGroup->m_Tasks[BTN_SUSPEND]); if (result) { if (result->suspended_via_gui) { @@ -460,9 +497,15 @@ void CViewWork::UpdateSelection() { } } m_pTaskPane->EnableTask(pGroup->m_Tasks[BTN_ABORT]); + + project = pDoc->state.lookup_project(result->project_url); + CBOINCBaseView::UpdateWebsiteSelection(GRP_WEBSITES, project); + } else { m_pTaskPane->DisableTaskGroupTasks(pGroup); } + + CBOINCBaseView::PostUpdateSelection(); } diff --git a/clientgui/ViewWork.h b/clientgui/ViewWork.h index b4eac60827..9936ea8b7d 100644 --- a/clientgui/ViewWork.h +++ b/clientgui/ViewWork.h @@ -62,6 +62,8 @@ public: void OnWorkShowGraphics( wxCommandEvent& event ); void OnWorkAbort( wxCommandEvent& event ); + void OnProjectWebsiteClicked( wxEvent& event ); + protected: std::vector m_WorkCache; diff --git a/win_build/cpdnbbc.sln b/win_build/cpdnbbc.sln new file mode 100644 index 0000000000..9b30095d11 --- /dev/null +++ b/win_build/cpdnbbc.sln @@ -0,0 +1,63 @@ +Microsoft Visual Studio Solution File, Format Version 8.00 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libboinc", "libboinc.vcproj", "{E8F6BD7E-461A-4733-B7D8-37B09A099ED8}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "boincmgr", "cpdnbbc_boincmgr_curl.vcproj", "{06113715-AC51-4E91-8B9D-C987CABE0920}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "boinc", "cpdnbbc_boinc_cli_curl.vcproj", "{C04F0FCC-BB5D-4627-8656-6173B28BD69E}" + ProjectSection(ProjectDependencies) = postProject + {E8F6BD7E-461A-4733-B7D8-37B09A099ED8} = {E8F6BD7E-461A-4733-B7D8-37B09A099ED8} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "boinc_dll", "cpdnbbc_boinc_dll.vcproj", "{B06280CB-82A4-46DE-8956-602643078BDF}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "boinc_ss", "cpdnbbc_boinc_ss.vcproj", "{4A2C5963-6A8D-4CA1-A312-C3D749B2EA81}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "boinc_cmd", "cpdnbbc_boinccmd.vcproj", "{8F37E1F3-3A68-4A1D-9579-A1210BDD055E}" + ProjectSection(ProjectDependencies) = postProject + {E8F6BD7E-461A-4733-B7D8-37B09A099ED8} = {E8F6BD7E-461A-4733-B7D8-37B09A099ED8} + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfiguration) = preSolution + Debug = Debug + Release = Release + EndGlobalSection + GlobalSection(ProjectConfiguration) = postSolution + {E8F6BD7E-461A-4733-B7D8-37B09A099ED8}.Debug.ActiveCfg = Debug|Win32 + {E8F6BD7E-461A-4733-B7D8-37B09A099ED8}.Debug.Build.0 = Debug|Win32 + {E8F6BD7E-461A-4733-B7D8-37B09A099ED8}.Release.ActiveCfg = Release|Win32 + {E8F6BD7E-461A-4733-B7D8-37B09A099ED8}.Release.Build.0 = Release|Win32 + {06113715-AC51-4E91-8B9D-C987CABE0920}.Debug.ActiveCfg = Debug|Win32 + {06113715-AC51-4E91-8B9D-C987CABE0920}.Debug.Build.0 = Debug|Win32 + {06113715-AC51-4E91-8B9D-C987CABE0920}.Release.ActiveCfg = Release|Win32 + {06113715-AC51-4E91-8B9D-C987CABE0920}.Release.Build.0 = Release|Win32 + {C04F0FCC-BB5D-4627-8656-6173B28BD69E}.Debug.ActiveCfg = Debug|Win32 + {C04F0FCC-BB5D-4627-8656-6173B28BD69E}.Debug.Build.0 = Debug|Win32 + {C04F0FCC-BB5D-4627-8656-6173B28BD69E}.Release.ActiveCfg = Release|Win32 + {C04F0FCC-BB5D-4627-8656-6173B28BD69E}.Release.Build.0 = Release|Win32 + {B06280CB-82A4-46DE-8956-602643078BDF}.Debug.ActiveCfg = Debug|Win32 + {B06280CB-82A4-46DE-8956-602643078BDF}.Debug.Build.0 = Debug|Win32 + {B06280CB-82A4-46DE-8956-602643078BDF}.Release.ActiveCfg = Release|Win32 + {B06280CB-82A4-46DE-8956-602643078BDF}.Release.Build.0 = Release|Win32 + {4A2C5963-6A8D-4CA1-A312-C3D749B2EA81}.Debug.ActiveCfg = Debug|Win32 + {4A2C5963-6A8D-4CA1-A312-C3D749B2EA81}.Debug.Build.0 = Debug|Win32 + {4A2C5963-6A8D-4CA1-A312-C3D749B2EA81}.Release.ActiveCfg = Release|Win32 + {4A2C5963-6A8D-4CA1-A312-C3D749B2EA81}.Release.Build.0 = Release|Win32 + {8F37E1F3-3A68-4A1D-9579-A1210BDD055E}.Debug.ActiveCfg = Debug|Win32 + {8F37E1F3-3A68-4A1D-9579-A1210BDD055E}.Debug.Build.0 = Debug|Win32 + {8F37E1F3-3A68-4A1D-9579-A1210BDD055E}.Release.ActiveCfg = Release|Win32 + {8F37E1F3-3A68-4A1D-9579-A1210BDD055E}.Release.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + EndGlobalSection + GlobalSection(ExtensibilityAddIns) = postSolution + EndGlobalSection +EndGlobal diff --git a/win_build/cpdnbbc_boinc_cli_curl.vcproj b/win_build/cpdnbbc_boinc_cli_curl.vcproj new file mode 100644 index 0000000000..c6fd3b75ad --- /dev/null +++ b/win_build/cpdnbbc_boinc_cli_curl.vcproj @@ -0,0 +1,907 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/win_build/cpdnbbc_boinc_dll.vcproj b/win_build/cpdnbbc_boinc_dll.vcproj new file mode 100644 index 0000000000..20375fb3a0 --- /dev/null +++ b/win_build/cpdnbbc_boinc_dll.vcproj @@ -0,0 +1,226 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/win_build/cpdnbbc_boinc_ss.vcproj b/win_build/cpdnbbc_boinc_ss.vcproj new file mode 100644 index 0000000000..a02a11c09a --- /dev/null +++ b/win_build/cpdnbbc_boinc_ss.vcproj @@ -0,0 +1,329 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/win_build/cpdnbbc_boinccmd.vcproj b/win_build/cpdnbbc_boinccmd.vcproj new file mode 100644 index 0000000000..a6e471f8bd --- /dev/null +++ b/win_build/cpdnbbc_boinccmd.vcproj @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/win_build/cpdnbbc_boincmgr_curl.vcproj b/win_build/cpdnbbc_boincmgr_curl.vcproj new file mode 100644 index 0000000000..af746f580d --- /dev/null +++ b/win_build/cpdnbbc_boincmgr_curl.vcproj @@ -0,0 +1,760 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/win_build/installerv2/.cvsignore b/win_build/installerv2/.cvsignore index feae9ec361..bfd5b35c43 100644 --- a/win_build/installerv2/.cvsignore +++ b/win_build/installerv2/.cvsignore @@ -3,4 +3,5 @@ BOINCService BOINCRM GridRepublic boinc.pvk -boinc.spc \ No newline at end of file +boinc.spc +CPDNBBC \ No newline at end of file diff --git a/win_build/installerv2/CPDNBBC.ism b/win_build/installerv2/CPDNBBC.ism new file mode 100644 index 0000000000..103a250c72 Binary files /dev/null and b/win_build/installerv2/CPDNBBC.ism differ diff --git a/win_build/installerv2/redist/CPDNBBC/Climate Change Experiment.url b/win_build/installerv2/redist/CPDNBBC/Climate Change Experiment.url new file mode 100644 index 0000000000..981a272d37 --- /dev/null +++ b/win_build/installerv2/redist/CPDNBBC/Climate Change Experiment.url @@ -0,0 +1,5 @@ +[InternetShortcut] +URL=http://www.climateprediction.net/ +Modified=70048B5B1D15C60153 +IconIndex=0 +IconFile=C:\Program Files\Climate Change Experiment\cpdnbbcmgr.exe diff --git a/win_build/installerv2/redist/CPDNBBC/project_init.xml b/win_build/installerv2/redist/CPDNBBC/project_init.xml new file mode 100644 index 0000000000..6c74a6f98f --- /dev/null +++ b/win_build/installerv2/redist/CPDNBBC/project_init.xml @@ -0,0 +1,4 @@ + + http://www.climateprediction.net/ + Climate Change Experiment +