diff --git a/checkin_notes b/checkin_notes index cfc495187b..d85c11ca11 100755 --- a/checkin_notes +++ b/checkin_notes @@ -25841,3 +25841,25 @@ David 10 Mar 2005 lib/ boinc_cmd.C gui_rpc_client.C + +Rom 11 Mar 2005 + - Add Account Management support into the BOINC Manager. + + NOTE: Some problems remain with the current design, such as + pointing out when a username and password combination is + invalid. Currently the only way for somebody to know + something is up is by looking into the messages tab, but + by then the username and password have been recorded in + the acct_mgr_login.xml file because there is no way for + the manager to know something is wrong. + + clientgui/ + BOINCGUI.pjd + DlgAccountManager.cpp, .h (added) + Events.h + MainDocument.cpp, .h + MainFrame.cpp, .h + lib/ + acct_mgr_client.C, .h (added) + gui_rpc_client.C, .h + diff --git a/clientgui/BOINCGUI.pjd b/clientgui/BOINCGUI.pjd index 7da402aa51..3fbf18f678 100644 --- a/clientgui/BOINCGUI.pjd +++ b/clientgui/BOINCGUI.pjd @@ -7,12 +7,12 @@ Project File - 2 + 3 - 84 + 98 TRUE FALSE @@ -75,35 +75,65 @@ Application FALSE + <None> + FALSE + + 14273728 + data-document + + + 0 + 1 + 0 + 0 + 0 + + Configurations + 47458032 + config-data-document + + + 0 + 1 + 0 + 14273728 + 0 + + + + Projects - 12516392 + 14273840 root-document project 1 1 + 0 0 0 - + Windows - 12844952 + 46610800 html-document dialogsfolder 1 1 - 12516392 + 0 + 14273840 1 - + Options - 12840416 + 46614096 dialog-document dialog 0 1 - 12844952 + 0 + 46610800 0 8/3/2004 wbDialogProxy @@ -129,6 +159,7 @@ FALSE <Any platform> + FALSE TRUE TRUE FALSE @@ -146,8 +177,6 @@ FALSE FALSE FALSE - FALSE - FALSE FALSE FALSE FALSE @@ -161,32 +190,44 @@ -1 -1 - + FALSE + FALSE + wxBoxSizer V - 12882432 + 14279248 dialog-control-document sizer 0 1 - 12840416 + 0 + 46614096 0 wbBoxSizerProxy Vertical + Centre + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE FALSE FALSE FALSE <Any platform> - + wxNotebook: ID_NOTEBOOK - 12979288 + 14309840 dialog-control-document notebook 0 1 - 12882432 + 0 + 14279248 0 wbNotebookProxy wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED|OnNotebookPageChanged @@ -218,8 +259,6 @@ FALSE FALSE FALSE - FALSE - FALSE FALSE FALSE @@ -238,22 +277,25 @@ FALSE FALSE FALSE - + + + FALSE + FALSE + wxPanel: ID_GENERAL - 12818224 + 14384368 dialog-control-document panel 0 1 - 12979288 + 0 + 14309840 0 wbPanelProxy ID_GENERAL 10002 wxPanel - General - wxPanel FALSE @@ -271,8 +313,6 @@ FALSE FALSE FALSE - FALSE - FALSE FALSE FALSE FALSE @@ -296,16 +336,23 @@ FALSE FALSE FALSE + + - + General + + FALSE + FALSE + wxBoxSizer V - 12768752 + 14366432 dialog-control-document sizer 0 1 - 12818224 + 0 + 14384368 0 24/9/2004 wbBoxSizerProxy @@ -323,15 +370,16 @@ FALSE FALSE <Any platform> - + wxGridSizer - 12830224 + 14353072 dialog-control-document sizer 0 1 - 12768752 + 0 + 14366432 0 6/1/2005 wbGridSizerProxy @@ -352,15 +400,16 @@ FALSE FALSE FALSE - + wxStaticText: wxID_STATIC - 12839368 + 14407088 dialog-control-document statictext 0 1 - 12830224 + 0 + 14353072 0 6/1/2005 wbStaticTextProxy @@ -369,11 +418,15 @@ wxStaticText Language Selection: + + FALSE <Any platform> + + FALSE FALSE FALSE @@ -385,8 +438,6 @@ FALSE FALSE FALSE - FALSE - FALSE -1 -1 @@ -403,16 +454,21 @@ FALSE TRUE FALSE + + + FALSE + FALSE - + wxComboBox: ID_COMBOBOX - 12644360 + 14392608 dialog-control-document combobox 0 1 - 12830224 + 0 + 14353072 0 6/1/2005 wbComboBoxProxy @@ -436,8 +492,6 @@ TRUE TRUE FALSE - FALSE - FALSE -1 -1 @@ -454,26 +508,29 @@ FALSE FALSE FALSE + + + FALSE + FALSE - + wxPanel: ID_HTTPPROXY - 12768168 + 14432912 dialog-control-document panel 0 1 - 12979288 + 0 + 14309840 0 wbPanelProxy ID_HTTPPROXY 10003 wxPanel - HTTP Proxy - wxPanel FALSE @@ -491,8 +548,6 @@ FALSE FALSE FALSE - FALSE - FALSE FALSE FALSE FALSE @@ -516,16 +571,23 @@ FALSE FALSE FALSE + + - + HTTP Proxy + + FALSE + FALSE + wxBoxSizer V - 12974208 + 14409504 dialog-control-document sizer 0 1 - 12768168 + 0 + 14432912 0 wbBoxSizerProxy Vertical @@ -542,15 +604,16 @@ FALSE FALSE <Any platform> - + wxCheckBox: ID_ENABLEHTTPPROXYCTRL - 12689104 + 14573088 dialog-control-document checkbox 0 1 - 12974208 + 0 + 14409504 0 wbCheckBoxProxy wxEVT_COMMAND_CHECKBOX_CLICKED|OnEnablehttpproxyctrlClick @@ -571,8 +634,6 @@ FALSE <Any platform> FALSE - FALSE - FALSE -1 -1 @@ -589,16 +650,21 @@ FALSE FALSE FALSE + + + FALSE + FALSE - + wxStaticBoxSizer V - 12658576 + 14574688 dialog-control-document sizer 0 1 - 12974208 + 0 + 14409504 0 wbStaticBoxSizerProxy wxID_ANY @@ -619,15 +685,16 @@ FALSE FALSE <Any platform> - + wxGridSizer - 12773520 + 14647072 dialog-control-document sizer 0 1 - 12658576 + 0 + 14574688 0 wbGridSizerProxy 1 @@ -647,15 +714,16 @@ FALSE FALSE FALSE - + wxFlexGridSizer - 12813584 + 14636768 dialog-control-document sizer 0 1 - 12773520 + 0 + 14647072 0 wbFlexGridSizerProxy @@ -677,15 +745,16 @@ FALSE FALSE FALSE - + wxStaticText: wxID_STATIC - 12806488 + 14628864 dialog-control-document statictext 0 1 - 12813584 + 0 + 14636768 0 wbStaticTextProxy wxID_STATIC @@ -693,11 +762,15 @@ wxStaticText Address: + + FALSE <Any platform> + + FALSE FALSE FALSE @@ -709,8 +782,6 @@ FALSE FALSE FALSE - FALSE - FALSE -1 -1 @@ -727,16 +798,21 @@ FALSE TRUE FALSE + + + FALSE + FALSE - + wxTextCtrl: ID_HTTPADDRESSCTRL - 12634984 + 14654800 dialog-control-document textctrl 0 1 - 12813584 + 0 + 14636768 0 wbTextCtrlProxy ID_HTTPADDRESSCTRL @@ -775,8 +851,6 @@ FALSE FALSE FALSE - FALSE - FALSE -1 -1 @@ -793,16 +867,21 @@ FALSE FALSE FALSE + + + FALSE + FALSE - + wxStaticText: wxID_STATIC - 12706240 + 46643552 dialog-control-document statictext 0 1 - 12813584 + 0 + 14636768 0 wbStaticTextProxy wxID_STATIC @@ -810,11 +889,15 @@ wxStaticText Port: + + FALSE <Any platform> + + FALSE FALSE FALSE @@ -826,8 +909,6 @@ FALSE FALSE FALSE - FALSE - FALSE -1 -1 @@ -844,16 +925,21 @@ FALSE TRUE FALSE + + + FALSE + FALSE - + wxTextCtrl: ID_HTTPPORTCTRL - 12642048 + 14659360 dialog-control-document textctrl 0 1 - 12813584 + 0 + 14636768 0 wbTextCtrlProxy ID_HTTPPORTCTRL @@ -892,8 +978,6 @@ FALSE FALSE FALSE - FALSE - FALSE -1 -1 @@ -910,18 +994,23 @@ FALSE FALSE FALSE + + + FALSE + FALSE - + wxStaticBoxSizer V - 12772656 + 14343056 dialog-control-document sizer 0 1 - 12658576 + 0 + 14574688 0 wbStaticBoxSizerProxy wxID_ANY @@ -942,15 +1031,16 @@ FALSE FALSE <Any platform> - + wxFlexGridSizer - 12741856 + 14348816 dialog-control-document sizer 0 1 - 12772656 + 0 + 14343056 0 wbFlexGridSizerProxy @@ -972,15 +1062,16 @@ FALSE FALSE FALSE - + wxStaticText: wxID_STATIC - 12824728 + 46663712 dialog-control-document statictext 0 1 - 12741856 + 0 + 14348816 0 wbStaticTextProxy wxID_STATIC @@ -988,11 +1079,15 @@ wxStaticText User Name: + + FALSE <Any platform> + + FALSE FALSE FALSE @@ -1004,8 +1099,6 @@ FALSE FALSE FALSE - FALSE - FALSE -1 -1 @@ -1022,16 +1115,21 @@ FALSE TRUE FALSE + + + FALSE + FALSE - + wxTextCtrl: ID_HTTPUSERNAMECTRL - 12856752 + 46683312 dialog-control-document textctrl 0 1 - 12741856 + 0 + 14348816 0 wbTextCtrlProxy ID_HTTPUSERNAMECTRL @@ -1070,8 +1168,6 @@ FALSE FALSE FALSE - FALSE - FALSE -1 -1 @@ -1088,16 +1184,21 @@ FALSE FALSE FALSE + + + FALSE + FALSE - + wxStaticText: wxID_STATIC - 12880792 + 14470880 dialog-control-document statictext 0 1 - 12741856 + 0 + 14348816 0 wbStaticTextProxy wxID_STATIC @@ -1105,11 +1206,15 @@ wxStaticText Password: + + FALSE <Any platform> + + FALSE FALSE FALSE @@ -1121,8 +1226,6 @@ FALSE FALSE FALSE - FALSE - FALSE -1 -1 @@ -1139,16 +1242,21 @@ FALSE TRUE FALSE + + + FALSE + FALSE - + wxTextCtrl: ID_HTTPPASSWORDCTRL - 12903848 + 14464736 dialog-control-document textctrl 0 1 - 12741856 + 0 + 14348816 0 wbTextCtrlProxy ID_HTTPPASSWORDCTRL @@ -1187,8 +1295,6 @@ FALSE FALSE FALSE - FALSE - FALSE -1 -1 @@ -1205,28 +1311,31 @@ FALSE FALSE FALSE + + + FALSE + FALSE - + wxPanel: ID_SOCKSPROXY - 12836872 + 46721872 dialog-control-document panel 0 1 - 12979288 + 0 + 14309840 0 wbPanelProxy ID_SOCKSPROXY 10006 wxPanel - SOCKS Proxy - wxPanel FALSE @@ -1244,8 +1353,6 @@ FALSE FALSE FALSE - FALSE - FALSE FALSE FALSE FALSE @@ -1269,16 +1376,23 @@ FALSE FALSE FALSE + + - + SOCKS Proxy + + FALSE + FALSE + wxBoxSizer V - 12934192 + 14576336 dialog-control-document sizer 0 1 - 12836872 + 0 + 46721872 0 wbBoxSizerProxy Vertical @@ -1295,15 +1409,16 @@ FALSE FALSE <Any platform> - + wxCheckBox: ID_ENABLESOCKSPROXYCTRL - 12955896 + 46739008 dialog-control-document checkbox 0 1 - 12934192 + 0 + 14576336 0 wbCheckBoxProxy wxEVT_COMMAND_CHECKBOX_CLICKED|OnEnablesocksproxyctrlClick @@ -1324,8 +1439,6 @@ FALSE <Any platform> FALSE - FALSE - FALSE -1 -1 @@ -1342,16 +1455,21 @@ FALSE FALSE FALSE + + + FALSE + FALSE - + wxStaticBoxSizer V - 25839264 + 46732320 dialog-control-document sizer 0 1 - 12934192 + 0 + 14576336 0 wbStaticBoxSizerProxy wxID_ANY @@ -1372,15 +1490,16 @@ FALSE FALSE <Any platform> - + wxGridSizer - 25847928 + 46763808 dialog-control-document sizer 0 1 - 25839264 + 0 + 46732320 0 wbGridSizerProxy 1 @@ -1400,15 +1519,16 @@ FALSE FALSE FALSE - + wxFlexGridSizer - 25857024 + 46769888 dialog-control-document sizer 0 1 - 25847928 + 0 + 46763808 0 wbFlexGridSizerProxy @@ -1430,15 +1550,16 @@ FALSE FALSE FALSE - + wxStaticText: wxID_STATIC - 25867648 + 46782464 dialog-control-document statictext 0 1 - 25857024 + 0 + 46769888 0 wbStaticTextProxy wxID_STATIC @@ -1446,11 +1567,15 @@ wxStaticText Address: + + FALSE <Any platform> + + FALSE FALSE FALSE @@ -1462,8 +1587,6 @@ FALSE FALSE FALSE - FALSE - FALSE -1 -1 @@ -1480,16 +1603,21 @@ FALSE TRUE FALSE + + + FALSE + FALSE - + wxTextCtrl: ID_SOCKSADDRESSCTRL - 25883864 + 14498128 dialog-control-document textctrl 0 1 - 25857024 + 0 + 46769888 0 wbTextCtrlProxy ID_SOCKSADDRESSCTRL @@ -1528,8 +1656,6 @@ FALSE FALSE FALSE - FALSE - FALSE -1 -1 @@ -1546,16 +1672,21 @@ FALSE FALSE FALSE + + + FALSE + FALSE - + wxStaticText: wxID_STATIC - 25904712 + 14493728 dialog-control-document statictext 0 1 - 25857024 + 0 + 46769888 0 wbStaticTextProxy wxID_STATIC @@ -1563,11 +1694,15 @@ wxStaticText Port: + + FALSE <Any platform> + + FALSE FALSE FALSE @@ -1579,8 +1714,6 @@ FALSE FALSE FALSE - FALSE - FALSE -1 -1 @@ -1597,16 +1730,21 @@ FALSE TRUE FALSE + + + FALSE + FALSE - + wxTextCtrl: ID_SOCKSPORTCTRL - 25920144 + 14539792 dialog-control-document textctrl 0 1 - 25857024 + 0 + 46769888 0 wbTextCtrlProxy ID_SOCKSPORTCTRL @@ -1645,8 +1783,6 @@ FALSE FALSE FALSE - FALSE - FALSE -1 -1 @@ -1663,18 +1799,23 @@ FALSE FALSE FALSE + + + FALSE + FALSE - + wxStaticBoxSizer V - 25847064 + 14590528 dialog-control-document sizer 0 1 - 25839264 + 0 + 46732320 0 wbStaticBoxSizerProxy wxID_ANY @@ -1695,15 +1836,16 @@ FALSE FALSE <Any platform> - + wxFlexGridSizer - 25947080 + 14604464 dialog-control-document sizer 0 1 - 25847064 + 0 + 14590528 0 wbFlexGridSizerProxy @@ -1725,15 +1867,16 @@ FALSE FALSE FALSE - + wxStaticText: wxID_STATIC - 25956240 + 14540352 dialog-control-document statictext 0 1 - 25947080 + 0 + 14604464 0 wbStaticTextProxy wxID_STATIC @@ -1741,11 +1884,15 @@ wxStaticText User Name: + + FALSE <Any platform> + + FALSE FALSE FALSE @@ -1757,8 +1904,6 @@ FALSE FALSE FALSE - FALSE - FALSE -1 -1 @@ -1775,16 +1920,21 @@ FALSE TRUE FALSE + + + FALSE + FALSE - + wxTextCtrl: ID_SOCKSUSERNAMECTRL - 25972440 + 46806864 dialog-control-document textctrl 0 1 - 25947080 + 0 + 14604464 0 wbTextCtrlProxy ID_SOCKSUSERNAMECTRL @@ -1823,8 +1973,6 @@ FALSE FALSE FALSE - FALSE - FALSE -1 -1 @@ -1841,16 +1989,21 @@ FALSE FALSE FALSE + + + FALSE + FALSE - + wxStaticText: wxID_STATIC - 25993328 + 46836832 dialog-control-document statictext 0 1 - 25947080 + 0 + 14604464 0 wbStaticTextProxy wxID_STATIC @@ -1858,11 +2011,15 @@ wxStaticText Password: + + FALSE <Any platform> + + FALSE FALSE FALSE @@ -1874,8 +2031,6 @@ FALSE FALSE FALSE - FALSE - FALSE -1 -1 @@ -1892,16 +2047,21 @@ FALSE TRUE FALSE + + + FALSE + FALSE - + wxTextCtrl: ID_SOCKSPASSWORDCTRL - 26008752 + 46858016 dialog-control-document textctrl 0 1 - 25947080 + 0 + 14604464 0 wbTextCtrlProxy ID_SOCKSPASSWORDCTRL @@ -1940,8 +2100,6 @@ FALSE FALSE FALSE - FALSE - FALSE -1 -1 @@ -1958,6 +2116,10 @@ FALSE FALSE FALSE + + + FALSE + FALSE @@ -1965,15 +2127,16 @@ - + wxBoxSizer H - 12641328 + 46872368 dialog-control-document sizer 0 1 - 12882432 + 0 + 14279248 0 wbBoxSizerProxy Horizontal @@ -1990,15 +2153,16 @@ FALSE FALSE <Any platform> - + wxButton: wxID_OK - 12977928 + 46886368 dialog-control-document dialogcontrol 0 1 - 12641328 + 0 + 46872368 0 wbButtonProxy wxID_OK @@ -2019,9 +2183,8 @@ FALSE FALSE FALSE + FALSE FALSE - FALSE - FALSE -1 -1 @@ -2038,16 +2201,21 @@ FALSE FALSE FALSE + + + FALSE + FALSE - + wxButton: wxID_CANCEL - 26040600 + 14434880 dialog-control-document dialogcontrol 0 1 - 12641328 + 0 + 46872368 0 wbButtonProxy wxID_CANCEL @@ -2068,9 +2236,8 @@ FALSE FALSE FALSE + FALSE FALSE - FALSE - FALSE -1 -1 @@ -2087,19 +2254,24 @@ FALSE FALSE FALSE + + + FALSE + FALSE - + About BOINC - 12626984 + 46901200 dialog-document dialog 0 1 - 12844952 + 0 + 46610800 0 9/3/2004 wbDialogProxy @@ -2125,6 +2297,7 @@ FALSE <Any platform> + FALSE TRUE TRUE FALSE @@ -2142,8 +2315,6 @@ FALSE FALSE FALSE - FALSE - FALSE FALSE FALSE FALSE @@ -2157,15 +2328,18 @@ 400 300 - + FALSE + FALSE + wxBoxSizer V - 26068600 + 46919760 dialog-control-document sizer 0 1 - 12626984 + 0 + 46901200 0 wbBoxSizerProxy Vertical @@ -2182,15 +2356,16 @@ FALSE FALSE <Any platform> - + wxStaticText: wxID_STATIC - 26078168 + 46609344 dialog-control-document statictext 0 1 - 26068600 + 0 + 46919760 0 wbStaticTextProxy wxID_STATIC @@ -2198,11 +2373,15 @@ wxStaticText BOINC Core Client + + 24, wxDEFAULT, wxNORMAL, wxBOLD FALSE <Any platform> + + FALSE FALSE TRUE @@ -2214,8 +2393,6 @@ FALSE FALSE FALSE - FALSE - FALSE -1 -1 @@ -2232,16 +2409,21 @@ FALSE TRUE FALSE + + + FALSE + FALSE - + wxBoxSizer H - 26093440 + 46941136 dialog-control-document sizer 0 1 - 26068600 + 0 + 46919760 0 wbBoxSizerProxy Horizontal @@ -2258,15 +2440,16 @@ FALSE FALSE <Any platform> - + wxBoxSizer V - 26100096 + 46948544 dialog-control-document sizer 0 1 - 26093440 + 0 + 46941136 0 wbBoxSizerProxy Vertical @@ -2283,15 +2466,16 @@ FALSE FALSE <Any platform> - + wxStaticBitmap: wxID_STATIC - 26109408 + 46958880 dialog-control-document staticbitmap 0 1 - 26100096 + 0 + 46948544 0 wbStaticBitmapProxy wxID_STATIC @@ -2299,6 +2483,8 @@ wxStaticBitmap boincsm.xpm + + @@ -2311,8 +2497,6 @@ FALSE FALSE FALSE - FALSE - FALSE -1 -1 @@ -2329,17 +2513,22 @@ FALSE FALSE FALSE + + + FALSE + FALSE - + wxFlexGridSizer - 26123272 + 46975072 dialog-control-document sizer 0 1 - 26093440 + 0 + 46941136 0 wbFlexGridSizerProxy @@ -2361,15 +2550,16 @@ FALSE FALSE FALSE - + wxStaticText: wxID_STATIC - 26131760 + 46987648 dialog-control-document statictext 0 1 - 26123272 + 0 + 46975072 0 wbStaticTextProxy wxID_STATIC @@ -2377,11 +2567,15 @@ wxStaticText Version: + + FALSE <Any platform> + + FALSE FALSE FALSE @@ -2393,8 +2587,6 @@ FALSE FALSE FALSE - FALSE - FALSE -1 -1 @@ -2411,16 +2603,21 @@ FALSE TRUE FALSE + + + FALSE + FALSE - + wxStaticText: wxID_STATIC - 26147136 + 47001680 dialog-control-document statictext 0 1 - 26123272 + 0 + 46975072 0 wbStaticTextProxy wxID_STATIC @@ -2428,11 +2625,15 @@ wxStaticText 2.28 + + FALSE <Any platform> + + FALSE FALSE FALSE @@ -2444,8 +2645,6 @@ FALSE FALSE FALSE - FALSE - FALSE -1 -1 @@ -2462,16 +2661,21 @@ FALSE TRUE FALSE + + + FALSE + FALSE - + wxStaticText: wxID_STATIC - 26162560 + 47003456 dialog-control-document statictext 0 1 - 26123272 + 0 + 46975072 0 wbStaticTextProxy wxID_STATIC @@ -2479,11 +2683,15 @@ wxStaticText Licence type: + + FALSE <Any platform> + + FALSE FALSE FALSE @@ -2495,8 +2703,6 @@ FALSE FALSE FALSE - FALSE - FALSE -1 -1 @@ -2513,16 +2719,21 @@ FALSE TRUE FALSE + + + FALSE + FALSE - + wxStaticText: wxID_STATIC - 26178008 + 47046112 dialog-control-document statictext 0 1 - 26123272 + 0 + 46975072 0 wbStaticTextProxy wxID_STATIC @@ -2530,11 +2741,15 @@ wxStaticText BOINC Public License + + FALSE <Any platform> + + FALSE FALSE FALSE @@ -2546,8 +2761,6 @@ FALSE FALSE FALSE - FALSE - FALSE -1 -1 @@ -2564,16 +2777,21 @@ FALSE TRUE FALSE + + + FALSE + FALSE - + wxStaticText: wxID_STATIC - 26193400 + 47066912 dialog-control-document statictext 0 1 - 26123272 + 0 + 46975072 0 wbStaticTextProxy wxID_STATIC @@ -2581,11 +2799,15 @@ wxStaticText Copyright: + + FALSE <Any platform> + + FALSE FALSE FALSE @@ -2597,8 +2819,6 @@ FALSE FALSE FALSE - FALSE - FALSE -1 -1 @@ -2615,16 +2835,21 @@ FALSE TRUE FALSE + + + FALSE + FALSE - + wxStaticText: wxID_STATIC - 26208792 + 47081184 dialog-control-document statictext 0 1 - 26123272 + 0 + 46975072 0 wbStaticTextProxy wxID_STATIC @@ -2633,11 +2858,15 @@ (C) 2004 University of California at Berkeley. All Rights Reserved. + + FALSE <Any platform> + + FALSE FALSE FALSE @@ -2649,8 +2878,6 @@ All Rights Reserved. FALSE FALSE FALSE - FALSE - FALSE -1 -1 @@ -2667,18 +2894,23 @@ All Rights Reserved. FALSE TRUE FALSE + + + FALSE + FALSE - + wxStaticText: wxID_STATIC - 26077152 + 47096288 dialog-control-document statictext 0 1 - 26068600 + 0 + 46919760 0 wbStaticTextProxy wxID_STATIC @@ -2686,11 +2918,15 @@ All Rights Reserved. wxStaticText Berkeley Open Infrastructure for Network Computing + + FALSE <Any platform> + + FALSE FALSE FALSE @@ -2702,8 +2938,6 @@ All Rights Reserved. FALSE FALSE FALSE - FALSE - FALSE -1 -1 @@ -2720,16 +2954,21 @@ All Rights Reserved. FALSE TRUE FALSE + + + FALSE + FALSE - + wxStaticText: wxID_STATIC - 26238328 + 47118640 dialog-control-document statictext 0 1 - 26068600 + 0 + 46919760 0 wbStaticTextProxy wxID_STATIC @@ -2737,11 +2976,15 @@ All Rights Reserved. wxStaticText A software platform for distributed computing using volunteered computer resources + + FALSE <Any platform> + + FALSE FALSE FALSE @@ -2753,8 +2996,6 @@ All Rights Reserved. FALSE FALSE FALSE - FALSE - FALSE -1 -1 @@ -2771,16 +3012,21 @@ All Rights Reserved. FALSE TRUE FALSE + + + FALSE + FALSE - + wxStaticText: wxID_STATIC - 26252808 + 47128864 dialog-control-document statictext 0 1 - 26068600 + 0 + 46919760 0 wbStaticTextProxy wxID_STATIC @@ -2788,11 +3034,15 @@ All Rights Reserved. wxStaticText http://boinc.berkeley.edu/ + + FALSE <Any platform> + + FALSE FALSE FALSE @@ -2804,8 +3054,6 @@ All Rights Reserved. FALSE FALSE FALSE - FALSE - FALSE -1 -1 @@ -2822,16 +3070,21 @@ All Rights Reserved. FALSE TRUE FALSE + + + FALSE + FALSE - + wxStaticLine: wxID_STATIC - 26267952 + 47129200 dialog-control-document staticline 0 1 - 26068600 + 0 + 46919760 0 wbStaticLineProxy wxID_STATIC @@ -2852,8 +3105,6 @@ All Rights Reserved. FALSE FALSE FALSE - FALSE - FALSE -1 -1 @@ -2870,16 +3121,19 @@ All Rights Reserved. FALSE FALSE FALSE + FALSE + FALSE - + wxButton: wxID_OK - 26282008 + 47169312 dialog-control-document dialogcontrol 0 1 - 26068600 + 0 + 46919760 0 wbButtonProxy wxID_OK @@ -2900,9 +3154,8 @@ All Rights Reserved. FALSE FALSE FALSE + FALSE FALSE - FALSE - FALSE -1 -1 @@ -2919,18 +3172,23 @@ All Rights Reserved. FALSE FALSE FALSE + + + FALSE + FALSE - + Connection - 26008032 + 47184976 dialog-document dialog 0 1 - 12844952 + 0 + 46610800 0 9/3/2004 wbDialogProxy @@ -2956,6 +3214,7 @@ All Rights Reserved. FALSE <Any platform> + FALSE TRUE TRUE FALSE @@ -2973,8 +3232,6 @@ All Rights Reserved. FALSE FALSE FALSE - FALSE - FALSE FALSE FALSE FALSE @@ -2988,15 +3245,18 @@ All Rights Reserved. 400 300 - + FALSE + FALSE + wxBoxSizer V - 26312760 + 47195184 dialog-control-document sizer 0 1 - 26008032 + 0 + 47184976 0 wbBoxSizerProxy Vertical @@ -3013,15 +3273,16 @@ All Rights Reserved. FALSE FALSE <Any platform> - + wxBoxSizer H - 26320792 + 47202560 dialog-control-document sizer 0 1 - 26312760 + 0 + 47195184 0 wbBoxSizerProxy Horizontal @@ -3038,93 +3299,16 @@ All Rights Reserved. FALSE FALSE <Any platform> - - wxBoxSizer V - 26328776 - dialog-control-document - - sizer - 0 - 1 - 26320792 - 0 - wbBoxSizerProxy - Vertical - - Centre - Top - 0 - 5 - TRUE - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - <Any platform> - - wxStaticText: wxID_STATIC - 26338328 - dialog-control-document - - statictext - 0 - 1 - 26328776 - 0 - wbStaticTextProxy - wxID_STATIC - 5105 - wxStaticText - - BOINC needs to connect to the network. -May it do so now? - - - - FALSE - <Any platform> - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - TRUE - FALSE - TRUE - FALSE - - wxBoxSizer V - 26353632 + 47218112 dialog-control-document sizer 0 1 - 26320792 + 0 + 47202560 0 wbBoxSizerProxy Vertical @@ -3142,14 +3326,101 @@ May it do so now? FALSE <Any platform> + wxStaticText: wxID_STATIC + 47223632 + dialog-control-document + + statictext + 0 + 1 + 0 + 47218112 + 0 + wbStaticTextProxy + wxID_STATIC + 5105 + wxStaticText + + BOINC needs to connect to the network. +May it do so now? + + + + + + FALSE + <Any platform> + + + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + TRUE + FALSE + + + FALSE + FALSE + + + + wxBoxSizer V + 47225584 + dialog-control-document + + sizer + 0 + 1 + 0 + 47202560 + 0 + wbBoxSizerProxy + Vertical + + Centre + Top + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + <Any platform> + wxButton: wxID_OK - 26360400 + 47211040 dialog-control-document dialogcontrol 0 1 - 26353632 + 0 + 47225584 0 wbButtonProxy wxID_OK @@ -3170,9 +3441,8 @@ May it do so now? FALSE FALSE FALSE + FALSE FALSE - FALSE - FALSE -1 -1 @@ -3189,16 +3459,21 @@ May it do so now? FALSE FALSE FALSE + + + FALSE + FALSE - + wxButton: wxID_CANCEL - 26374672 + 47269232 dialog-control-document dialogcontrol 0 1 - 26353632 + 0 + 47225584 0 wbButtonProxy wxID_CANCEL @@ -3219,9 +3494,8 @@ May it do so now? FALSE FALSE FALSE + FALSE FALSE - FALSE - FALSE -1 -1 @@ -3238,20 +3512,25 @@ May it do so now? FALSE FALSE FALSE + + + FALSE + FALSE - + Attach to Project - 26099808 + 47269872 dialog-document dialog 0 1 - 12844952 + 0 + 46610800 0 9/3/2004 wbDialogProxy @@ -3277,6 +3556,7 @@ May it do so now? FALSE <Any platform> + FALSE TRUE TRUE FALSE @@ -3294,8 +3574,6 @@ May it do so now? FALSE FALSE FALSE - FALSE - FALSE FALSE FALSE FALSE @@ -3309,40 +3587,34 @@ May it do so now? 400 300 - + wxBoxSizer V - 26403976 + 47299088 dialog-control-document sizer 0 1 - 26099808 + 0 + 47269872 0 wbBoxSizerProxy Vertical - Centre - Centre - 0 - 5 - TRUE - TRUE - TRUE - TRUE FALSE FALSE FALSE <Any platform> - + wxBoxSizer H - 26411120 + 47306432 dialog-control-document sizer 0 1 - 26403976 + 0 + 47299088 0 wbBoxSizerProxy Horizontal @@ -3359,15 +3631,16 @@ May it do so now? FALSE FALSE <Any platform> - + wxFlexGridSizer - 26419552 + 47313424 dialog-control-document sizer 0 1 - 26411120 + 0 + 47306432 0 wbFlexGridSizerProxy @@ -3389,15 +3662,16 @@ May it do so now? FALSE FALSE FALSE - + wxStaticText: wxID_STATIC - 26430048 + 47326096 dialog-control-document statictext 0 1 - 26419552 + 0 + 47313424 0 wbStaticTextProxy wxID_STATIC @@ -3405,11 +3679,15 @@ May it do so now? wxStaticText URL: + + FALSE <Any platform> + + FALSE FALSE FALSE @@ -3421,8 +3699,6 @@ May it do so now? FALSE FALSE FALSE - FALSE - FALSE -1 -1 @@ -3439,16 +3715,21 @@ May it do so now? FALSE TRUE FALSE + + + FALSE + FALSE - + wxTextCtrl: ID_PROJECTADDRESS - 26446248 + 47347472 dialog-control-document textctrl 0 1 - 26419552 + 0 + 47313424 0 wbTextCtrlProxy ID_PROJECTADDRESS @@ -3487,8 +3768,6 @@ May it do so now? FALSE FALSE FALSE - FALSE - FALSE -1 -1 @@ -3505,16 +3784,21 @@ May it do so now? FALSE FALSE FALSE + + + FALSE + FALSE - + wxStaticText: wxID_STATIC - 26467056 + 47378208 dialog-control-document statictext 0 1 - 26419552 + 0 + 47313424 0 wbStaticTextProxy wxID_STATIC @@ -3522,11 +3806,15 @@ May it do so now? wxStaticText Account Key: + + FALSE <Any platform> + + FALSE FALSE FALSE @@ -3538,8 +3826,6 @@ May it do so now? FALSE FALSE FALSE - FALSE - FALSE -1 -1 @@ -3556,16 +3842,21 @@ May it do so now? FALSE TRUE FALSE + + + FALSE + FALSE - + wxTextCtrl: ID_PROJECTACCOUNTKEY - 26482488 + 47391392 dialog-control-document textctrl 0 1 - 26419552 + 0 + 47313424 0 wbTextCtrlProxy ID_PROJECTACCOUNTKEY @@ -3604,8 +3895,6 @@ May it do so now? FALSE FALSE FALSE - FALSE - FALSE -1 -1 @@ -3622,17 +3911,22 @@ May it do so now? FALSE FALSE FALSE + + + FALSE + FALSE - + wxBoxSizer V - 26503192 + 47394384 dialog-control-document sizer 0 1 - 26411120 + 0 + 47306432 0 wbBoxSizerProxy Vertical @@ -3649,15 +3943,16 @@ May it do so now? FALSE FALSE <Any platform> - + wxButton: wxID_OK - 26509568 + 47415760 dialog-control-document dialogcontrol 0 1 - 26503192 + 0 + 47394384 0 wbButtonProxy wxID_OK @@ -3678,9 +3973,8 @@ May it do so now? FALSE FALSE FALSE + FALSE FALSE - FALSE - FALSE -1 -1 @@ -3697,16 +3991,21 @@ May it do so now? FALSE FALSE FALSE + + + FALSE + FALSE - + wxButton: wxID_CANCEL - 26523112 + 47416816 dialog-control-document dialogcontrol 0 1 - 26503192 + 0 + 47394384 0 wbButtonProxy wxID_CANCEL @@ -3727,9 +4026,8 @@ May it do so now? FALSE FALSE FALSE + FALSE FALSE - FALSE - FALSE -1 -1 @@ -3746,35 +4044,588 @@ May it do so now? FALSE FALSE FALSE + + + FALSE + FALSE + + + + + + + Account Manager Credentials + 45979872 + dialog-document + + dialog + 0 + 1 + 0 + 46610800 + 0 + 10/2/2005 + wbDialogProxy + 10000 + FALSE + + ID_DIALOG + 10000 + CDlgAccountManager + wxDialog + wxDialog + DlgAccountManager + DlgAccountManager + + Account Manager Credentials + TRUE + + FALSE + + + + + + FALSE + <Any platform> + FALSE + TRUE + TRUE + FALSE + TRUE + FALSE + FALSE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + TRUE + FALSE + + FALSE + TRUE + -1 + -1 + 400 + 300 + + + wxBoxSizer V + 46000672 + dialog-control-document + + sizer + 0 + 1 + 0 + 45979872 + 0 + 10/2/2005 + wbBoxSizerProxy + Vertical + + FALSE + FALSE + FALSE + <Any platform> + + wxBoxSizer H + 45999296 + dialog-control-document + + sizer + 0 + 1 + 0 + 46000672 + 0 + 10/2/2005 + wbBoxSizerProxy + Horizontal + + Centre + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + <Any platform> + + wxFlexGridSizer + 45983008 + dialog-control-document + + sizer + 0 + 1 + 0 + 45999296 + 0 + 10/2/2005 + wbFlexGridSizerProxy + + + 2 + 2 + 0 + 0 + + <Any platform> + Centre + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + + wxStaticText: wxID_STATIC + 45987840 + dialog-control-document + + statictext + 0 + 1 + 0 + 45983008 + 0 + 10/2/2005 + wbStaticTextProxy + wxID_STATIC + 5105 + wxStaticText + + Username: + + + + + + FALSE + <Any platform> + + + FALSE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Right + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + TRUE + FALSE + + + + + wxTextCtrl: ID_ACCTMANAGERUSERNAME + 45996320 + dialog-control-document + + textctrl + 0 + 1 + 0 + 45983008 + 0 + 10/2/2005 + wbTextCtrlProxy + ID_ACCTMANAGERUSERNAME + 10001 + wxTextCtrl + m_AcctManagerUsernameCtrl + + + + + + + FALSE + <Any platform> + + + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + + -1 + -1 + 200 + -1 + Centre + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + + + + + wxStaticText: wxID_STATIC + 45767872 + dialog-control-document + + statictext + 0 + 1 + 0 + 45983008 + 0 + 10/2/2005 + wbStaticTextProxy + wxID_STATIC + 5105 + wxStaticText + + Password: + + + + + + FALSE + <Any platform> + + + FALSE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Right + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + TRUE + FALSE + + + + + wxTextCtrl: ID_ACCTMANAGERPASSWORD + 45771280 + dialog-control-document + + textctrl + 0 + 1 + 0 + 45983008 + 0 + 10/2/2005 + wbTextCtrlProxy + ID_ACCTMANAGERPASSWORD + 10002 + wxTextCtrl + m_AcctManagerPasswordCtrl + + + + + + + FALSE + <Any platform> + + + FALSE + FALSE + FALSE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + + -1 + -1 + 200 + -1 + Centre + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + + + + + + wxBoxSizer V + 45755888 + dialog-control-document + + sizer + 0 + 1 + 0 + 45999296 + 0 + 10/2/2005 + wbBoxSizerProxy + Vertical + + Centre + Top + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + <Any platform> + + wxButton: wxID_OK + 45770336 + dialog-control-document + + dialogcontrol + 0 + 1 + 0 + 45755888 + 0 + 10/2/2005 + wbButtonProxy + wxID_OK + 5100 + wxButton + + &OK + TRUE + + + + + + FALSE + <Any platform> + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Centre + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + + + FALSE + FALSE + + + wxButton: wxID_CANCEL + 45765312 + dialog-control-document + + dialogcontrol + 0 + 1 + 0 + 45755888 + 0 + 10/2/2005 + wbButtonProxy + wxID_CANCEL + 5101 + wxButton + + &Cancel + FALSE + + + + + + FALSE + <Any platform> + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Centre + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + + + FALSE + FALSE - + Images - 12790696 + 47455040 html-document bitmapsfolder 1 1 - 12516392 + 0 + 14273840 1 - + Untitled - 12742664 + 47454000 image-document boincsm.xpm image 0 1 - 12790696 + 0 + 47455040 0 9/3/2004 100 + + Sources + 14728032 + html-document + + sourcesfolder + 1 + 1 + 0 + 14273840 + 1 + 10/2/2005 + diff --git a/clientgui/DlgAccountManager.cpp b/clientgui/DlgAccountManager.cpp new file mode 100644 index 0000000000..b2c2552af9 --- /dev/null +++ b/clientgui/DlgAccountManager.cpp @@ -0,0 +1,129 @@ +// Berkeley Open Infrastructure for Network Computing +// http://boinc.berkeley.edu +// Copyright (C) 2005 University of California +// +// This is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; +// either version 2.1 of the License, or (at your option) any later version. +// +// This software is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +// See the GNU Lesser General Public License for more details. +// +// To view the GNU Lesser General Public License visit +// http://www.gnu.org/copyleft/lesser.html +// or write to the Free Software Foundation, Inc., +// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +#if defined(__GNUG__) && !defined(__APPLE__) +#pragma implementation "DlgAccountManager.h" +#endif + +#include "stdwx.h" +#include "BOINCGUIApp.h" +#include "DlgAccountManager.h" + +#include "res/boincsm.xpm" + +IMPLEMENT_DYNAMIC_CLASS( CDlgAccountManager, wxDialog ) + +BEGIN_EVENT_TABLE( CDlgAccountManager, wxDialog ) +END_EVENT_TABLE() + +CDlgAccountManager::CDlgAccountManager() +{ +} + +CDlgAccountManager::CDlgAccountManager( wxWindow* parent, wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style ) +{ + Create(parent, id, caption, pos, size, style); +} + +bool CDlgAccountManager::Create( wxWindow* parent, wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style ) +{ +////@begin CDlgAccountManager member initialisation + m_AcctManagerUsernameCtrl = NULL; + m_AcctManagerPasswordCtrl = NULL; +////@end CDlgAccountManager member initialisation + +////@begin CDlgAccountManager creation + SetExtraStyle(GetExtraStyle()|wxWS_EX_BLOCK_EVENTS); + wxDialog::Create( parent, id, caption, pos, size, style ); + + CreateControls(); + GetSizer()->Fit(this); + GetSizer()->SetSizeHints(this); + Centre(); +////@end CDlgAccountManager creation + return TRUE; +} + +void CDlgAccountManager::CreateControls() +{ +////@begin CDlgAccountManager content construction + + CDlgAccountManager* itemDialog1 = this; + + wxBoxSizer* itemBoxSizer2 = new wxBoxSizer(wxVERTICAL); + itemDialog1->SetSizer(itemBoxSizer2); + + wxBoxSizer* itemBoxSizer3 = new wxBoxSizer(wxHORIZONTAL); + itemBoxSizer2->Add(itemBoxSizer3, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5); + + wxFlexGridSizer* itemFlexGridSizer4 = new wxFlexGridSizer(2, 2, 0, 0); + itemBoxSizer3->Add(itemFlexGridSizer4, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + + wxStaticText* itemStaticText5 = new wxStaticText; + itemStaticText5->Create( itemDialog1, wxID_STATIC, _("Username:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT ); + itemFlexGridSizer4->Add(itemStaticText5, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL|wxADJUST_MINSIZE, 5); + + m_AcctManagerUsernameCtrl = new wxTextCtrl; + m_AcctManagerUsernameCtrl->Create( itemDialog1, ID_ACCTMANAGERUSERNAME, _T(""), wxDefaultPosition, wxSize(200, -1), 0 ); + itemFlexGridSizer4->Add(m_AcctManagerUsernameCtrl, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5); + + wxStaticText* itemStaticText7 = new wxStaticText; + itemStaticText7->Create( itemDialog1, wxID_STATIC, _("Password:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT ); + itemFlexGridSizer4->Add(itemStaticText7, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL|wxADJUST_MINSIZE, 5); + + m_AcctManagerPasswordCtrl = new wxTextCtrl; + m_AcctManagerPasswordCtrl->Create( itemDialog1, ID_ACCTMANAGERPASSWORD, _T(""), wxDefaultPosition, wxSize(200, -1), wxTE_PASSWORD ); + itemFlexGridSizer4->Add(m_AcctManagerPasswordCtrl, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5); + + wxBoxSizer* itemBoxSizer9 = new wxBoxSizer(wxVERTICAL); + itemBoxSizer3->Add(itemBoxSizer9, 0, wxALIGN_TOP|wxALL, 5); + + wxButton* itemButton10 = new wxButton; + itemButton10->Create( itemDialog1, wxID_OK, _("&OK"), wxDefaultPosition, wxDefaultSize, 0 ); + itemButton10->SetDefault(); + itemBoxSizer9->Add(itemButton10, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5); + + wxButton* itemButton11 = new wxButton; + itemButton11->Create( itemDialog1, wxID_CANCEL, _("&Cancel"), wxDefaultPosition, wxDefaultSize, 0 ); + itemBoxSizer9->Add(itemButton11, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5); + +////@end CDlgAccountManager content construction +} + +bool CDlgAccountManager::ShowToolTips() +{ + return TRUE; +} + +wxBitmap CDlgAccountManager::GetBitmapResource( const wxString& name ) +{ + // Bitmap retrieval +////@begin CDlgAccountManager bitmap retrieval + return wxNullBitmap; +////@end CDlgAccountManager bitmap retrieval +} + +wxIcon CDlgAccountManager::GetIconResource( const wxString& name ) +{ + // Icon retrieval +////@begin CDlgAccountManager icon retrieval + return wxNullIcon; +////@end CDlgAccountManager icon retrieval +} diff --git a/clientgui/DlgAccountManager.h b/clientgui/DlgAccountManager.h new file mode 100644 index 0000000000..9c5384051b --- /dev/null +++ b/clientgui/DlgAccountManager.h @@ -0,0 +1,108 @@ +// Berkeley Open Infrastructure for Network Computing +// http://boinc.berkeley.edu +// Copyright (C) 2005 University of California +// +// This is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; +// either version 2.1 of the License, or (at your option) any later version. +// +// This software is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +// See the GNU Lesser General Public License for more details. +// +// To view the GNU Lesser General Public License visit +// http://www.gnu.org/copyleft/lesser.html +// or write to the Free Software Foundation, Inc., +// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +#ifndef _DLGACCOUNTMANAGER_H_ +#define _DLGACCOUNTMANAGER_H_ + +#if defined(__GNUG__) && !defined(__APPLE__) +#pragma interface "DlgAccountManager.cpp" +#endif + +/*! + * Includes + */ + +////@begin includes +////@end includes + +/*! + * Forward declarations + */ + +////@begin forward declarations +////@end forward declarations + +/*! + * Control identifiers + */ + +////@begin control identifiers +#define ID_DIALOG 10000 +#define SYMBOL_CDLGACCOUNTMANAGER_STYLE wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX +#define SYMBOL_CDLGACCOUNTMANAGER_TITLE _("Account Manager Credentials") +#define SYMBOL_CDLGACCOUNTMANAGER_IDNAME ID_DIALOG +#define SYMBOL_CDLGACCOUNTMANAGER_SIZE wxSize(400, 300) +#define SYMBOL_CDLGACCOUNTMANAGER_POSITION wxDefaultPosition +#define ID_ACCTMANAGERUSERNAME 10001 +#define ID_ACCTMANAGERPASSWORD 10002 +////@end control identifiers + +/*! + * Compatibility + */ + +#ifndef wxCLOSE_BOX +#define wxCLOSE_BOX 0x1000 +#endif +#ifndef wxFIXED_MINSIZE +#define wxFIXED_MINSIZE 0 +#endif + +/*! + * CDlgAccountManager class declaration + */ + +class CDlgAccountManager: public wxDialog +{ + DECLARE_DYNAMIC_CLASS( CDlgAccountManager ) + DECLARE_EVENT_TABLE() + +public: + /// Constructors + CDlgAccountManager( ); + CDlgAccountManager( wxWindow* parent, wxWindowID id = SYMBOL_CDLGACCOUNTMANAGER_IDNAME, const wxString& caption = SYMBOL_CDLGACCOUNTMANAGER_TITLE, const wxPoint& pos = SYMBOL_CDLGACCOUNTMANAGER_POSITION, const wxSize& size = SYMBOL_CDLGACCOUNTMANAGER_SIZE, long style = SYMBOL_CDLGACCOUNTMANAGER_STYLE ); + + /// Creation + bool Create( wxWindow* parent, wxWindowID id = SYMBOL_CDLGACCOUNTMANAGER_IDNAME, const wxString& caption = SYMBOL_CDLGACCOUNTMANAGER_TITLE, const wxPoint& pos = SYMBOL_CDLGACCOUNTMANAGER_POSITION, const wxSize& size = SYMBOL_CDLGACCOUNTMANAGER_SIZE, long style = SYMBOL_CDLGACCOUNTMANAGER_STYLE ); + + /// Creates the controls and sizers + void CreateControls(); + +////@begin CDlgAccountManager event handler declarations +////@end CDlgAccountManager event handler declarations + +////@begin CDlgAccountManager member function declarations + /// Retrieves bitmap resources + wxBitmap GetBitmapResource( const wxString& name ); + + /// Retrieves icon resources + wxIcon GetIconResource( const wxString& name ); +////@end CDlgAccountManager member function declarations + + /// Should we show tooltips? + static bool ShowToolTips(); + +////@begin CDlgAccountManager member variables + wxTextCtrl* m_AcctManagerUsernameCtrl; + wxTextCtrl* m_AcctManagerPasswordCtrl; +////@end CDlgAccountManager member variables +}; + +#endif + // _DLGACCOUNTMANAGER_H_ diff --git a/clientgui/Events.h b/clientgui/Events.h index 098ff63c2b..66c72db626 100644 --- a/clientgui/Events.h +++ b/clientgui/Events.h @@ -23,27 +23,28 @@ #define ID_STATUSBAR 6000 -#define ID_TOOLSOPTIONS 6001 -#define ID_FRAMENOTEBOOK 6002 -#define ID_REFRESHSTATETIMER 6003 -#define ID_FRAMERENDERTIMER 6004 -#define ID_FRAMETASKRENDERTIMER 6005 -#define ID_FRAMELISTRENDERTIMER 6006 -#define ID_HIDE 6007 -#define ID_ACTIVITYRUNALWAYS 6008 -#define ID_ACTIVITYRUNBASEDONPREPERENCES 6009 -#define ID_ACTIVITYSUSPEND 6010 -#define ID_NETWORKRUNALWAYS 6011 -#define ID_NETWORKRUNBASEDONPREPERENCES 6012 -#define ID_NETWORKSUSPEND 6013 -#define ID_RUNBENCHMARKS 6014 -#define ID_SELECTCOMPUTER 6015 -#define ID_TB_ACTIVITYRUNALWAYS 6016 -#define ID_TB_ACTIVITYRUNBASEDONPREPERENCES 6017 -#define ID_TB_ACTIVITYSUSPEND 6018 -#define ID_TB_NETWORKRUNALWAYS 6019 -#define ID_TB_NETWORKRUNBASEDONPREPERENCES 6020 -#define ID_TB_NETWORKSUSPEND 6021 +#define ID_TOOLSUPDATEACCOUNTS 6001 +#define ID_TOOLSOPTIONS 6002 +#define ID_FRAMENOTEBOOK 6003 +#define ID_REFRESHSTATETIMER 6004 +#define ID_FRAMERENDERTIMER 6005 +#define ID_FRAMETASKRENDERTIMER 6006 +#define ID_FRAMELISTRENDERTIMER 6007 +#define ID_HIDE 6008 +#define ID_ACTIVITYRUNALWAYS 6009 +#define ID_ACTIVITYRUNBASEDONPREPERENCES 6010 +#define ID_ACTIVITYSUSPEND 6011 +#define ID_NETWORKRUNALWAYS 6012 +#define ID_NETWORKRUNBASEDONPREPERENCES 6013 +#define ID_NETWORKSUSPEND 6014 +#define ID_RUNBENCHMARKS 6015 +#define ID_SELECTCOMPUTER 6016 +#define ID_TB_ACTIVITYRUNALWAYS 6017 +#define ID_TB_ACTIVITYRUNBASEDONPREPERENCES 6018 +#define ID_TB_ACTIVITYSUSPEND 6019 +#define ID_TB_NETWORKRUNALWAYS 6020 +#define ID_TB_NETWORKRUNBASEDONPREPERENCES 6021 +#define ID_TB_NETWORKSUSPEND 6022 #define ID_LIST_BASE 7000 #define ID_LIST_PROJECTSVIEW 7000 #define ID_LIST_WORKVIEW 7001 diff --git a/clientgui/MainDocument.cpp b/clientgui/MainDocument.cpp index 3f000ac139..4a6cadff1b 100644 --- a/clientgui/MainDocument.cpp +++ b/clientgui/MainDocument.cpp @@ -132,6 +132,9 @@ wxInt32 CMainDocument::OnInit() wxInt32 iRetVal = -1; wxString strMachine = wxEmptyString; + // attempt to lookup account management information + acct_mgr.init(); + if ( !IsConnected() ) iRetVal = Connect( strMachine ); @@ -146,6 +149,9 @@ wxInt32 CMainDocument::OnExit() if ( IsConnected() ) iRetVal = Disconnect(); + // attempt to cleanup the account management information + acct_mgr.close(); + return iRetVal; } @@ -2164,4 +2170,53 @@ wxInt32 CMainDocument::SetProxySOCKSPassword( const wxString& strPassword ) } +wxInt32 CMainDocument::GetAccountManagerName( wxString& strName ) +{ + strName.Clear(); + strName = acct_mgr.acct_mgr.name.c_str(); + return 0; +} + + +wxInt32 CMainDocument::InitializeAccountManagerLogin( const wxString& strLogin, const wxString& strPassword ) +{ + acct_mgr.acct_mgr_login_initialized = true; + acct_mgr.acct_mgr_login.login = strLogin.c_str(); + acct_mgr.acct_mgr_login.password = strPassword.c_str(); + return 0; +} + + +wxInt32 CMainDocument::UpdateAccountManagerAccounts() +{ + wxInt32 iRetVal = 0; + wxString strEmpty = wxEmptyString; + + iRetVal = rpc.acct_mgr_rpc( + acct_mgr.acct_mgr.url.c_str(), + acct_mgr.acct_mgr_login.login.c_str(), + acct_mgr.acct_mgr_login.password.c_str() + ); + if (iRetVal) + { + wxLogTrace("CMainDocument::UpdateAccountManagerAccounts - Account Manager RPC Failed '%d'", iRetVal); + Connect( strEmpty ); + } + + return iRetVal; +} + + +bool CMainDocument::IsAccountManagerFound() +{ + return acct_mgr.acct_mgr_found; +} + + +bool CMainDocument::IsAccountManagerLoginFound() +{ + return acct_mgr.acct_mgr_login_found; +} + + const char *BOINC_RCSID_aa03a835ba = "$Id$"; diff --git a/clientgui/MainDocument.h b/clientgui/MainDocument.h index 582f66418d..f72a4c8ee4 100644 --- a/clientgui/MainDocument.h +++ b/clientgui/MainDocument.h @@ -25,6 +25,7 @@ #endif #include "gui_rpc_client.h" +#include "acct_mgr_client.h" class CMainDocument : public wxObject @@ -283,6 +284,23 @@ public: wxInt32 SetProxySOCKSUserName( const wxString& strUserName ); wxInt32 SetProxySOCKSPassword( const wxString& strPassword ); + + // + // Account Management + // +private: + + ACCT_MGR_CLIENT acct_mgr; + +public: + wxInt32 GetAccountManagerName( wxString& strName ); + + wxInt32 InitializeAccountManagerLogin( const wxString& strLogin, const wxString& strPassword ); + wxInt32 UpdateAccountManagerAccounts(); + + bool IsAccountManagerFound(); + bool IsAccountManagerLoginFound(); + }; #endif diff --git a/clientgui/MainFrame.cpp b/clientgui/MainFrame.cpp index 6e63f99dc0..62eca9b4fc 100644 --- a/clientgui/MainFrame.cpp +++ b/clientgui/MainFrame.cpp @@ -33,6 +33,7 @@ #include "ViewResources.h" #include "DlgAbout.h" #include "DlgOptions.h" +#include "DlgAccountManager.h" #include "res/BOINCGUIApp.xpm" #include "res/connect.xpm" @@ -147,6 +148,7 @@ BEGIN_EVENT_TABLE (CMainFrame, wxFrame) EVT_MENU(ID_RUNBENCHMARKS, CMainFrame::OnRunBenchmarks) EVT_MENU(ID_SELECTCOMPUTER, CMainFrame::OnSelectComputer) EVT_MENU(wxID_EXIT, CMainFrame::OnExit) + EVT_MENU(ID_TOOLSUPDATEACCOUNTS, CMainFrame::OnToolsUpdateAccounts) EVT_MENU(ID_TOOLSOPTIONS, CMainFrame::OnToolsOptions) EVT_MENU(wxID_ABOUT, CMainFrame::OnAbout) EVT_CLOSE(CMainFrame::OnClose) @@ -254,6 +256,11 @@ bool CMainFrame::CreateMenu() { wxLogTrace(wxT("Function Start/End"), wxT("CMainFrame::CreateMenu - Function Begin")); + CMainDocument* pDoc = wxGetApp().GetDocument(); + + wxASSERT(NULL != pDoc); + wxASSERT(wxDynamicCast(pDoc, CMainDocument)); + // File menu wxMenu *menuFile = new wxMenu; @@ -315,6 +322,17 @@ bool CMainFrame::CreateMenu() // Tools menu wxMenu *menuTools = new wxMenu; + if ( pDoc->IsAccountManagerFound() ) + { + menuTools->Append( + ID_TOOLSUPDATEACCOUNTS, + _("&Update Accounts"), + _("Connect to your account manager website and update all of your accounts") + ); + + menuFile->AppendSeparator(); + } + menuTools->Append( ID_TOOLSOPTIONS, _("&Options"), @@ -749,6 +767,42 @@ void CMainFrame::OnExit( wxCommandEvent& WXUNUSED(event) ) } +void CMainFrame::OnToolsUpdateAccounts( wxCommandEvent& WXUNUSED(event) ) +{ + wxLogTrace(wxT("Function Start/End"), wxT("CMainFrame::OnToolsUpdateAccounts - Function Begin")); + + CMainDocument* pDoc = wxGetApp().GetDocument(); + CDlgAccountManager* pDlg = new CDlgAccountManager(this); + wxInt32 iAnswer = 0; + wxString strLogin = wxEmptyString; + wxString strPassword = wxEmptyString; + + + wxASSERT(NULL != pDoc); + wxASSERT(wxDynamicCast(pDoc, CMainDocument)); + wxASSERT(NULL != pDlg); + + if ( !pDoc->IsAccountManagerLoginFound() ) + { + iAnswer = pDlg->ShowModal(); + if ( wxID_OK == iAnswer ) + { + strLogin = pDlg->m_AcctManagerUsernameCtrl->GetValue(); + strPassword = pDlg->m_AcctManagerUsernameCtrl->GetValue(); + + pDoc->InitializeAccountManagerLogin( strLogin, strPassword ); + } + } + + pDoc->UpdateAccountManagerAccounts(); + + if (pDlg) + pDlg->Destroy(); + + wxLogTrace(wxT("Function Start/End"), wxT("CMainFrame::OnToolsUpdateAccounts - Function End")); +} + + void CMainFrame::OnToolsOptions( wxCommandEvent& WXUNUSED(event) ) { wxLogTrace(wxT("Function Start/End"), wxT("CMainFrame::OnToolsOptions - Function Begin")); diff --git a/clientgui/MainFrame.h b/clientgui/MainFrame.h index d5021b6d12..e41443adb8 100644 --- a/clientgui/MainFrame.h +++ b/clientgui/MainFrame.h @@ -64,6 +64,7 @@ public: void OnSelectComputer( wxCommandEvent& event ); void OnExit( wxCommandEvent& event ); + void OnToolsUpdateAccounts( wxCommandEvent& event ); void OnToolsOptions( wxCommandEvent& event ); void OnAbout( wxCommandEvent& event ); diff --git a/lib/acct_mgr_client.C b/lib/acct_mgr_client.C new file mode 100644 index 0000000000..c69271c36f --- /dev/null +++ b/lib/acct_mgr_client.C @@ -0,0 +1,188 @@ +// Berkeley Open Infrastructure for Network Computing +// http://boinc.berkeley.edu +// Copyright (C) 2005 University of California +// +// This is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; +// either version 2.1 of the License, or (at your option) any later version. +// +// This software is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +// See the GNU Lesser General Public License for more details. +// +// To view the GNU Lesser General Public License visit +// http://www.gnu.org/copyleft/lesser.html +// or write to the Free Software Foundation, Inc., +// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +#ifdef _WIN32 +#include "boinc_win.h" +#include "version.h" +#else +#include "config.h" +#include +#include +#include +#include +#include +#include +#endif + +#include "diagnostics.h" +#include "parse.h" +#include "error_numbers.h" +#include "miofile.h" +#include "md5_file.h" +#include "acct_mgr_client.h" + +using std::string; +using std::vector; + + +ACCT_MGR::ACCT_MGR() { + clear(); +} + +ACCT_MGR::~ACCT_MGR() { + clear(); +} + +int ACCT_MGR::parse(MIOFILE& in) { + char buf[256]; + while (in.fgets(buf, 256)) { + if (match_tag(buf, "")) return 0; + else if (parse_str(buf, "", name)) continue; + else if (parse_str(buf, "", url)) continue; + } + return ERR_XML_PARSE; +} + +void ACCT_MGR::print() { + printf(" name: %s\n", name.c_str()); + printf(" url: %s\n", url.c_str()); +} + +void ACCT_MGR::clear() { + name.clear(); + url.clear(); +} + +ACCT_MGR_LOGIN::ACCT_MGR_LOGIN() { + clear(); +} + +ACCT_MGR_LOGIN::~ACCT_MGR_LOGIN() { + clear(); +} + +int ACCT_MGR_LOGIN::parse(MIOFILE& in) { + char buf[256]; + while (in.fgets(buf, 256)) { + if (match_tag(buf, "")) return 0; + else if (parse_str(buf, "", login)) continue; + else if (parse_str(buf, "", password)) continue; + } + return ERR_XML_PARSE; +} + +void ACCT_MGR_LOGIN::print() { + printf(" login: %s\n", login.c_str()); + printf(" password: %s\n", password.c_str()); +} + +void ACCT_MGR_LOGIN::clear() { + login.clear(); + password.clear(); +} + + +ACCT_MGR_CLIENT::ACCT_MGR_CLIENT() +{ + acct_mgr_found = false; + acct_mgr_login_found = false; + acct_mgr_login_initialized = false; + acct_mgr.clear(); + acct_mgr_login.clear(); +} + + +ACCT_MGR_CLIENT::~ACCT_MGR_CLIENT() +{ + acct_mgr_found = false; + acct_mgr_login_found = false; + acct_mgr_login_initialized = false; + acct_mgr.clear(); + acct_mgr_login.clear(); +} + + +int ACCT_MGR_CLIENT::init() +{ + char buf[256]; + int retval; + MIOFILE mf; + FILE* acct_mgr_file; + FILE* acct_mgr_login_file; + + acct_mgr_file = fopen("acct_mgr_url.xml", "r"); + if ( NULL != acct_mgr_file ) { + acct_mgr_found = true; + + mf.init_file(acct_mgr_file); + + while(mf.fgets(buf, sizeof(buf))) { + if (match_tag(buf, "")) { + retval = acct_mgr.parse(mf); + if (retval) { + fprintf( stderr, "Can't parse acct_mgr in ACCT_MGR_CLIENT: %d", retval ); + } + } + } + } + + acct_mgr_login_file = fopen("acct_mgr_login.xml", "r"); + if ( (NULL != acct_mgr_login_file) && (0 == retval) ) { + acct_mgr_login_found = true; + + mf.init_file(acct_mgr_login_file); + + while(mf.fgets(buf, sizeof(buf))) { + if (match_tag(buf, "")) { + retval = acct_mgr_login.parse(mf); + if (retval) { + fprintf( stderr, "Can't parse acct_mgr_login in ACCT_MGR_CLIENT: %d", retval ); + } + } + } + } + + fclose(acct_mgr_file); + fclose(acct_mgr_login_file); + + return retval; +} + + +void ACCT_MGR_CLIENT::close() +{ + if ( ( false == acct_mgr_login_found ) && ( true == acct_mgr_login_initialized ) ) { + FILE* acct_mgr_login_file; + acct_mgr_login_file = fopen("acct_mgr_login.xml", "w"); + if ( NULL != acct_mgr_login_file ) { + fprintf( + acct_mgr_login_file, + "\n" + " %s\n" + " %s\n" + "\n", + acct_mgr_login.login.c_str(), + acct_mgr_login.password.c_str() + ); + + fclose(acct_mgr_login_file); + } + } +} + diff --git a/lib/acct_mgr_client.h b/lib/acct_mgr_client.h new file mode 100644 index 0000000000..2c7188276a --- /dev/null +++ b/lib/acct_mgr_client.h @@ -0,0 +1,72 @@ +// Berkeley Open Infrastructure for Network Computing +// http://boinc.berkeley.edu +// Copyright (C) 2005 University of California +// +// This is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; +// either version 2.1 of the License, or (at your option) any later version. +// +// This software is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +// See the GNU Lesser General Public License for more details. +// +// To view the GNU Lesser General Public License visit +// http://www.gnu.org/copyleft/lesser.html +// or write to the Free Software Foundation, Inc., +// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +// a C++ interface to BOINC Account Manager Interface + +#ifndef _WIN32 +#include +#include +#include +#endif + +#include "miofile.h" + + +class ACCT_MGR { +public: + std::string name; + std::string url; + + ACCT_MGR(); + ~ACCT_MGR(); + + int parse(MIOFILE&); + void print(); + void clear(); +}; + + +class ACCT_MGR_LOGIN { +public: + std::string login; + std::string password; + + ACCT_MGR_LOGIN(); + ~ACCT_MGR_LOGIN(); + + int parse(MIOFILE&); + void print(); + void clear(); +}; + + +class ACCT_MGR_CLIENT { +public: + bool acct_mgr_found; + ACCT_MGR acct_mgr; + bool acct_mgr_login_found; + bool acct_mgr_login_initialized; + ACCT_MGR_LOGIN acct_mgr_login; + + ACCT_MGR_CLIENT(); + ~ACCT_MGR_CLIENT(); + + int init(); + void close(); +}; diff --git a/lib/gui_rpc_client.C b/lib/gui_rpc_client.C index d44667b915..8162677285 100644 --- a/lib/gui_rpc_client.C +++ b/lib/gui_rpc_client.C @@ -1587,14 +1587,14 @@ int RPC_CLIENT::quit() { return rpc.do_rpc("\n"); } -int RPC_CLIENT::acct_mgr_rpc(char* url, char* name, char* passwd) { +int RPC_CLIENT::acct_mgr_rpc(const char* url, const char* name, const char* passwd) { char buf[4096]; RPC rpc(this); sprintf(buf, "\n" " %s\n" " %s\n" - " %s\n" + " %s\n" "\n", url, name, passwd ); diff --git a/lib/gui_rpc_client.h b/lib/gui_rpc_client.h index 55020eab6f..d51a24c7fc 100644 --- a/lib/gui_rpc_client.h +++ b/lib/gui_rpc_client.h @@ -407,7 +407,7 @@ public: int result_op(RESULT&, const char*); int get_host_info(HOST_INFO&); int quit(); - int acct_mgr_rpc(char* url, char* name, char* passwd); + int acct_mgr_rpc(const char* url, const char* name, const char* passwd); const char* mode_name(int mode); }; diff --git a/win_build/BOINCGUI.vcproj b/win_build/BOINCGUI.vcproj index 6033fdd415..8e2726a833 100644 --- a/win_build/BOINCGUI.vcproj +++ b/win_build/BOINCGUI.vcproj @@ -144,6 +144,15 @@ Name="Source Files" Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx" UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"> + + + + + @@ -177,6 +186,9 @@ + + @@ -401,6 +413,9 @@ + + @@ -425,6 +440,9 @@ + +