*** empty log message ***

svn path=/trunk/boinc/; revision=8961
This commit is contained in:
Rom Walton 2005-11-27 01:28:56 +00:00
parent d049169dba
commit ac8986b80a
10 changed files with 257 additions and 161 deletions

View File

@ -13970,3 +13970,18 @@ David 26 Nov 2005
html/user/
lookup_account.php
Rom 26 Nov 2005
- Bug Fix: Don't treat various forms of the local computer name as a
remote machine.
- Bug Fix: When any form of the local computer name is used
prepopulate the password field in the select computer dialog.
- Bug Fix: On connection failed messages provide an easy way to
retry the connection attempt.
clientgui/
BOINCTaskBar.cpp
DlgSelectComputer.cpp
MainDocument.cpp, .h
MainFrame.cpp, .h
ViewWork.cpp

View File

@ -258,49 +258,50 @@ void CTaskBarIcon::OnMouseMove(wxTaskBarIconEvent& WXUNUSED(event)) {
wxASSERT(pDoc);
wxASSERT(wxDynamicCast(pDoc, CMainDocument));
pDoc->GetConnectedComputerName(strMachineName);
if (strMachineName.empty()) {
strTitle = strTitle + wxT(" - (localhost)");
} else {
if (pDoc->IsConnected()) {
pDoc->GetConnectedComputerName(strMachineName);
strTitle = strTitle + wxT(" - (") + strMachineName + wxT(")");
}
pDoc->GetActivityState(bActivitiesSuspended, bNetworkSuspended);
if (bActivitiesSuspended) {
strMessage += _("BOINC is currently suspended...\n");
}
if (bNetworkSuspended) {
strMessage += _("BOINC networking is currently suspended...\n");
}
if (strMessage.Length() > 0) {
strMessage += wxT("\n");
}
iResultCount = pDoc->results.results.size();
for (iIndex = 0; iIndex < iResultCount; iIndex++) {
RESULT* result = wxGetApp().GetDocument()->result(iIndex);
RESULT* state_result = NULL;
std::string project_name;
bIsDownloaded = (result->state == RESULT_FILES_DOWNLOADED);
bIsActive = result->active_task;
bIsExecuting = (result->scheduler_state == CPU_SCHED_SCHEDULED);
if (!(bIsActive) || !(bIsDownloaded) || !(bIsExecuting)) continue;
if (result) {
state_result = pDoc->state.lookup_result(result->project_url, result->name);
if (state_result) {
state_result->project->get_name(project_name);
strProjectName = wxString(project_name.c_str());
}
fProgress = result->fraction_done;
pDoc->GetActivityState(bActivitiesSuspended, bNetworkSuspended);
if (bActivitiesSuspended) {
strMessage += _("BOINC is currently suspended...\n");
}
strBuffer.Printf(wxT("%s: %.2f%%\n"), strProjectName.c_str(), fProgress * 100);
strMessage += strBuffer;
if (bNetworkSuspended) {
strMessage += _("BOINC networking is currently suspended...\n");
}
if (strMessage.Length() > 0) {
strMessage += wxT("\n");
}
iResultCount = pDoc->results.results.size();
for (iIndex = 0; iIndex < iResultCount; iIndex++) {
RESULT* result = wxGetApp().GetDocument()->result(iIndex);
RESULT* state_result = NULL;
std::string project_name;
bIsDownloaded = (result->state == RESULT_FILES_DOWNLOADED);
bIsActive = result->active_task;
bIsExecuting = (result->scheduler_state == CPU_SCHED_SCHEDULED);
if (!(bIsActive) || !(bIsDownloaded) || !(bIsExecuting)) continue;
if (result) {
state_result = pDoc->state.lookup_result(result->project_url, result->name);
if (state_result) {
state_result->project->get_name(project_name);
strProjectName = wxString(project_name.c_str());
}
fProgress = result->fraction_done;
}
strBuffer.Printf(wxT("%s: %.2f%%\n"), strProjectName.c_str(), fProgress * 100);
strMessage += strBuffer;
}
} else if (pDoc->IsReconnecting()) {
strMessage += _("BOINC Manager is currently reconnecting to a BOINC client...\n");
} else {
strMessage += _("BOINC Manager is not currently connected to a BOINC client...\n");
}
SetBalloon(m_iconTaskBarIcon, strTitle, strMessage);

View File

@ -188,7 +188,7 @@ void CDlgSelectComputer::OnComputerNameUpdated( wxCommandEvent& event )
wxASSERT(pDoc);
wxASSERT(wxDynamicCast(pDoc, CMainDocument));
if (m_ComputerNameCtrl->GetValue().Lower() == wxT("localhost")) {
if (pDoc->IsComputerNameLocal(m_ComputerNameCtrl->GetValue())) {
pDoc->m_pNetworkConnection->GetLocalPassword(strPassword);
m_ComputerPasswordCtrl->SetValue(strPassword);
}

View File

@ -70,8 +70,8 @@ void CNetworkConnection::GetLocalPassword(wxString& strPassword){
void* CNetworkConnection::Poll() {
int retval;
std::string strComputer;
std::string strComputerPassword;
wxString strComputer = wxEmptyString;
wxString strComputerPassword = wxEmptyString;
if (IsReconnecting()) {
wxLogTrace(wxT("Function Status"), wxT("CNetworkConnection::Poll - Reconnection Detected"));
@ -81,9 +81,7 @@ void* CNetworkConnection::Poll() {
retval = m_pDocument->rpc.authorize(m_strNewComputerPassword.c_str());
if (!retval) {
wxLogTrace(wxT("Function Status"), wxT("CNetworkConnection::Poll - Connection Success"));
std::string host = m_strNewComputerName.c_str();
std::string pwd = m_strNewComputerPassword.c_str();
SetStateSuccess(host, pwd);
SetStateSuccess(m_strNewComputerName, m_strNewComputerPassword);
} else if (ERR_AUTHENTICATOR == retval) {
wxLogTrace(wxT("Function Status"), wxT("CNetworkConnection::Poll - RPC Authorization - ERR_AUTHENTICATOR"));
SetStateErrorAuthentication();
@ -110,15 +108,15 @@ void* CNetworkConnection::Poll() {
strComputerPassword = m_strNewComputerPassword;
} else {
if (!m_strConnectedComputerName.empty()) {
strComputer = m_strConnectedComputerName.c_str();
strComputerPassword = m_strConnectedComputerPassword.c_str();
strComputer = m_strConnectedComputerName;
strComputerPassword = m_strConnectedComputerPassword;
}
}
// a host value of NULL is special cased as binding to the localhost and
// if we are connecting to the localhost we need to retry the connection
// for awhile so that the users can respond to firewall prompts.
if (strComputer.empty() || (strComputer == _T("localhost"))) {
if (IsComputerNameLocal(strComputer)) {
retval = m_pDocument->rpc.init_asynch(NULL, 60., true);
} else {
retval = m_pDocument->rpc.init_asynch(strComputer.c_str(), 60., false);
@ -154,6 +152,22 @@ int CNetworkConnection::GetConnectingComputerName(wxString& strMachine) {
}
bool CNetworkConnection::IsComputerNameLocal(wxString& strMachine) {
if (strMachine.empty()) {
return true;
} else if (wxT("localhost") == strMachine.Lower()) {
return true;
} else if (wxT("localhost.localdomain") == strMachine.Lower()) {
return true;
} else if (::wxGetHostName().Lower() == strMachine.Lower()) {
return true;
} else if (::wxGetFullHostName().Lower() == strMachine.Lower()) {
return true;
}
return false;
}
int CNetworkConnection::SetNewComputerName(const wxChar* szComputer) {
m_strNewComputerName = szComputer;
return 0;
@ -195,11 +209,7 @@ void CNetworkConnection::SetStateError() {
m_bConnectEvent = false;
pFrame->ShowAlert(
_("BOINC Manager - Connection failed"),
_("Connection failed."),
wxICON_ERROR
);
pFrame->ShowConnectionFailedAlert();
}
}
@ -216,15 +226,15 @@ void CNetworkConnection::SetStateReconnecting() {
}
void CNetworkConnection::SetStateSuccess(std::string& strComputer, std::string& strComputerPassword) {
void CNetworkConnection::SetStateSuccess(wxString& strComputer, wxString& strComputerPassword) {
CMainFrame* pFrame = wxGetApp().GetFrame();
if (pFrame && !m_bFrameShutdownDetected) {
wxASSERT(wxDynamicCast(pFrame, CMainFrame));
m_bConnected = true;
m_bReconnecting = false;
m_bReconnectOnError = true;
m_strConnectedComputerName = strComputer.c_str();
m_strConnectedComputerPassword = strComputerPassword.c_str();
m_strConnectedComputerName = strComputer;
m_strConnectedComputerPassword = strComputerPassword;
m_strNewComputerName = wxEmptyString;
m_strNewComputerPassword = wxEmptyString;
@ -401,6 +411,13 @@ int CMainDocument::Connect(const wxChar* szComputer, const wxChar* szComputerPas
}
int CMainDocument::Reconnect() {
m_pNetworkConnection->ForceReconnect();
m_pNetworkConnection->FireReconnectEvent();
return 0;
}
int CMainDocument::GetConnectedComputerName(wxString& strMachine) {
m_pNetworkConnection->GetConnectedComputerName(strMachine);
return 0;
@ -413,6 +430,11 @@ int CMainDocument::GetConnectingComputerName(wxString& strMachine) {
}
bool CMainDocument::IsComputerNameLocal(wxString& strMachine) {
return m_pNetworkConnection->IsComputerNameLocal(strMachine);
}
bool CMainDocument::IsConnected() {
return m_pNetworkConnection->IsConnected();
}

View File

@ -39,13 +39,14 @@ public:
int FrameShutdownDetected();
int GetConnectedComputerName(wxString& strMachine);
int GetConnectingComputerName(wxString& strMachine);
bool IsComputerNameLocal(wxString& strMachine);
void GetLocalPassword(wxString& strPassword);
int SetNewComputerName(const wxChar* szComputer);
int SetNewComputerPassword(const wxChar* szPassword);
void SetStateError();
void SetStateErrorAuthentication();
void SetStateReconnecting();
void SetStateSuccess(std::string& strComputer, std::string& strComputerPassword);
void SetStateSuccess(wxString& strComputer, wxString& strComputerPassword);
void SetStateDisconnected();
bool IsConnectEventSignaled() { return m_bConnectEvent; };
bool IsConnected() { return m_bConnected; };
@ -102,6 +103,7 @@ public:
int ResetState();
int Connect(const wxChar* szComputer, const wxChar* szComputerPassword = wxEmptyString, bool bDisconnect = FALSE);
int Reconnect();
int CachedStateLock();
int CachedStateUnlock();
@ -111,6 +113,7 @@ public:
int GetConnectedComputerName(wxString& strMachine);
int GetConnectingComputerName(wxString& strMachine);
bool IsComputerNameLocal(wxString& strMachine);
bool IsConnected();
bool IsReconnecting();

View File

@ -923,11 +923,7 @@ void CMainFrame::OnSelectComputer(wxCommandEvent& WXUNUSED(event)) {
TRUE
);
if (lRetVal) {
ShowAlert(
_("Connection failed."),
_("Connection failed."),
wxICON_ERROR
);
ShowConnectionFailedAlert();
}
// Insert a copy of the current combo box value to the head of the
@ -1300,7 +1296,11 @@ void CMainFrame::OnAlert(CMainFrameAlertEvent& event) {
if ((IsShown() && !event.m_notification_only) || (IsShown() && !pTaskbar->IsBalloonsSupported())) {
if (!event.m_notification_only) {
::wxMessageBox(event.m_message, event.m_title, event.m_style, this);
int retval = 0;
retval = ::wxMessageBox(event.m_message, event.m_title, event.m_style, this);
if (event.m_alert_event_type == AlertProcessResponse) {
event.ProcessResponse(retval);
}
}
} else {
// If the main window is hidden or minimzed use the system tray ballon
@ -1772,9 +1772,8 @@ void CMainFrame::OnFrameRender(wxTimerEvent &event) {
else
pDoc->GetConnectedComputerName(strComputerName);
if (strComputerName.empty()) {
if (pDoc->IsComputerNameLocal(strComputerName)) {
strTitle += wxT(" - (localhost)");
strComputerName += wxT("localhost");
} else {
strStatusText += strComputerName;
}
@ -1874,6 +1873,7 @@ void CMainFrame::SetFrameListPanelRenderTimerRate() {
wxASSERT(m_pNotebook);
wxASSERT(m_pFrameListPanelRenderTimer);
wxASSERT(pDoc);
wxASSERT(wxDynamicCast(pDoc, CMainDocument));
// Keep timer at faster rate until we have been connected > 10 seconds
if (!pDoc->IsConnected())
@ -1933,6 +1933,22 @@ void CMainFrame::FireConnect() {
}
void CMainFrame::ShowConnectionFailedAlert() {
wxLogTrace(wxT("Function Start/End"), wxT("CMainFrame::ShowConnectionFailedAlert - Function Begin"));
ShowAlert(
_("BOINC Manager - Connection Failed"),
_("BOINC Manager is not able to connect to a BOINC client.\n"
"Would you like to try to connect again?"),
wxYES_NO | wxICON_QUESTION,
false,
AlertProcessResponse
);
wxLogTrace(wxT("Function Start/End"), wxT("CMainFrame::ShowConnectionFailedAlert - Function End"));
}
void CMainFrame::ShowNotCurrentlyConnectedAlert() {
wxLogTrace(wxT("Function Start/End"), wxT("CMainFrame::ShowNotCurrentlyConnectedAlert - Function Begin"));
@ -1948,8 +1964,8 @@ void CMainFrame::ShowNotCurrentlyConnectedAlert() {
}
void CMainFrame::ShowAlert( const wxString title, const wxString message, const int style, const bool notification_only ) {
CMainFrameAlertEvent event(wxEVT_MAINFRAME_ALERT, this, title, message, style, notification_only);
void CMainFrame::ShowAlert( const wxString title, const wxString message, const int style, const bool notification_only, const MainFrameAlertEventType alert_event_type ) {
CMainFrameAlertEvent event(wxEVT_MAINFRAME_ALERT, this, title, message, style, notification_only, alert_event_type);
AddPendingEvent(event);
}
@ -1958,6 +1974,7 @@ void CMainFrame::ExecuteBrowserLink(const wxString &strLink) {
wxHyperLink::ExecuteLink(strLink);
}
#ifdef __WXMAC__
bool CMainFrame::Show(bool show) {
@ -1975,4 +1992,17 @@ bool CMainFrame::Show(bool show) {
#endif // __WXMAC__
void CMainFrameAlertEvent::ProcessResponse(const int response) const {
CMainDocument* pDoc = wxGetApp().GetDocument();
wxASSERT(pDoc);
wxASSERT(wxDynamicCast(pDoc, CMainDocument));
if ((AlertProcessResponse == m_alert_event_type) && (wxYES == response)) {
pDoc->Reconnect();
}
}
const char *BOINC_RCSID_d881a56dc5 = "$Id$";

View File

@ -25,7 +25,6 @@
#pragma interface "MainFrame.cpp"
#endif
class CStatusBar : public wxStatusBar
{
DECLARE_DYNAMIC_CLASS(CStatusBar)
@ -46,9 +45,15 @@ private:
DECLARE_EVENT_TABLE()
};
class CMainFrameEvent;
class CMainFrameAlertEvent;
enum MainFrameAlertEventType {
AlertNormal = 0,
AlertProcessResponse
};
class CMainFrame : public wxFrame
{
DECLARE_DYNAMIC_CLASS(CMainFrame)
@ -98,8 +103,15 @@ public:
void FireRefreshView();
void FireConnect();
void ShowConnectionFailedAlert();
void ShowNotCurrentlyConnectedAlert();
void ShowAlert( const wxString title, const wxString message, const int style, const bool notification_only = false );
void ShowAlert(
const wxString title,
const wxString message,
const int style,
const bool notification_only = false,
const MainFrameAlertEventType alert_event_type = AlertNormal
);
void ExecuteBrowserLink( const wxString& strLink );
@ -167,10 +179,17 @@ public:
class CMainFrameAlertEvent : public wxEvent
{
public:
CMainFrameAlertEvent(wxEventType evtType, CMainFrame *frame, wxString title, wxString message, int style, bool notification_only, MainFrameAlertEventType alert_event_type)
: wxEvent(-1, evtType), m_title(title), m_message(message), m_style(style), m_notification_only(notification_only), m_alert_event_type(alert_event_type)
{
SetEventObject(frame);
}
CMainFrameAlertEvent(wxEventType evtType, CMainFrame *frame, wxString title, wxString message, int style, bool notification_only)
: wxEvent(-1, evtType), m_title(title), m_message(message), m_style(style), m_notification_only(notification_only)
{
SetEventObject(frame);
m_alert_event_type = AlertNormal;
}
CMainFrameAlertEvent(const CMainFrameAlertEvent& event)
@ -180,14 +199,17 @@ public:
m_message = event.m_message;
m_style = event.m_style;
m_notification_only = event.m_notification_only;
m_alert_event_type = event.m_alert_event_type;
}
virtual wxEvent *Clone() const { return new CMainFrameAlertEvent(*this); }
virtual void ProcessResponse(const int response) const;
wxString m_title;
wxString m_message;
int m_style;
bool m_notification_only;
wxString m_title;
wxString m_message;
int m_style;
bool m_notification_only;
MainFrameAlertEventType m_alert_event_type;
};

View File

@ -199,36 +199,31 @@ void CViewWork::OnWorkShowGraphics( wxCommandEvent& WXUNUSED(event) ) {
pFrame->UpdateStatusText(_("Showing graphics for result..."));
pDoc->GetConnectedComputerName(strMachineName);
// TODO: implement hide as well as show
if (1) {
#ifdef _WIN32
if (!strMachineName.empty()) {
iAnswer = ::wxMessageBox(
_("Are you sure you want to display graphics on a remote machine?"),
_("Show graphics"),
wxYES_NO | wxICON_QUESTION,
this
);
} else {
iAnswer = wxYES;
}
#else
pDoc->GetConnectedComputerName(strMachineName);
if (!pDoc->IsComputerNameLocal(strMachineName)) {
iAnswer = ::wxMessageBox(
_("Are you sure you want to display graphics on a remote machine?"),
_("Show graphics"),
wxYES_NO | wxICON_QUESTION,
this
);
} else {
iAnswer = wxYES;
}
#else
iAnswer = wxYES;
#endif
if (wxYES == iAnswer) {
pDoc->WorkShowGraphics(
m_pListPane->GetFirstSelected(),
false,
wxGetApp().m_strDefaultWindowStation,
wxGetApp().m_strDefaultDesktop,
wxGetApp().m_strDefaultDisplay
);
}
pFrame->UpdateStatusText(wxT(""));
if (wxYES == iAnswer) {
pDoc->WorkShowGraphics(
m_pListPane->GetFirstSelected(),
false,
wxGetApp().m_strDefaultWindowStation,
wxGetApp().m_strDefaultDesktop,
wxGetApp().m_strDefaultDisplay
);
}
pFrame->UpdateStatusText(wxT(""));

Binary file not shown.

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: BOINC Manager 4.x\n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2005-11-26 11:02-0800\n"
"PO-Revision-Date: 2005-11-26 17:22-0800\n"
"Last-Translator: Rom Walton <rwalton@ssl.berkeley.edu>\n"
"Language-Team: BOINC Development Team <rwalton@ssl.berkeley.edu>\n"
"MIME-Version: 1.0\n"
@ -176,56 +176,64 @@ msgstr ""
msgid "BOINC Manager"
msgstr ""
#: clientgui/BOINCTaskBar.cpp:271
#: clientgui/BOINCTaskBar.cpp:267
msgid "BOINC is currently suspended...\n"
msgstr ""
#: clientgui/BOINCTaskBar.cpp:275
#: clientgui/BOINCTaskBar.cpp:271
msgid "BOINC networking is currently suspended...\n"
msgstr ""
#: clientgui/BOINCTaskBar.cpp:376
#: clientgui/BOINCTaskBar.cpp:302
msgid "BOINC Manager is currently reconnecting to a BOINC client...\n"
msgstr ""
#: clientgui/BOINCTaskBar.cpp:304
msgid "BOINC Manager is not currently connected to a BOINC client...\n"
msgstr ""
#: clientgui/BOINCTaskBar.cpp:377
#: clientgui/MainFrame.cpp:331
#: clientgui/mac/MacSysMenu.cpp:76
msgid "E&xit"
msgstr ""
#: clientgui/BOINCTaskBar.cpp:395
#: clientgui/BOINCTaskBar.cpp:402
#: clientgui/BOINCTaskBar.cpp:396
#: clientgui/BOINCTaskBar.cpp:403
msgid "&Open BOINC Manager..."
msgstr ""
#: clientgui/BOINCTaskBar.cpp:406
#: clientgui/BOINCTaskBar.cpp:407
#: clientgui/MainFrame.cpp:340
msgid "&Run always"
msgstr ""
#: clientgui/BOINCTaskBar.cpp:407
#: clientgui/BOINCTaskBar.cpp:408
#: clientgui/MainFrame.cpp:345
msgid "Run based on &preferences"
msgstr ""
#: clientgui/BOINCTaskBar.cpp:408
#: clientgui/BOINCTaskBar.cpp:409
#: clientgui/MainFrame.cpp:350
msgid "&Suspend"
msgstr ""
#: clientgui/BOINCTaskBar.cpp:410
#: clientgui/BOINCTaskBar.cpp:411
#: clientgui/MainFrame.cpp:358
msgid "&Network activity always available"
msgstr ""
#: clientgui/BOINCTaskBar.cpp:411
#: clientgui/BOINCTaskBar.cpp:412
#: clientgui/MainFrame.cpp:363
msgid "Network activity based on &preferences"
msgstr ""
#: clientgui/BOINCTaskBar.cpp:412
#: clientgui/BOINCTaskBar.cpp:413
#: clientgui/MainFrame.cpp:368
msgid "&Network activity suspended"
msgstr ""
#: clientgui/BOINCTaskBar.cpp:414
#: clientgui/BOINCTaskBar.cpp:415
#: clientgui/MainFrame.cpp:425
msgid "&About BOINC Manager..."
msgstr ""
@ -631,29 +639,19 @@ msgstr ""
msgid "Info about your team"
msgstr ""
#: clientgui/MainDocument.cpp:180
#: clientgui/MainDocument.cpp:194
msgid "BOINC Manager - Connection Error"
msgstr ""
#: clientgui/MainDocument.cpp:181
#: clientgui/MainDocument.cpp:195
msgid "The password you have provided is incorrect, please try again."
msgstr ""
#: clientgui/MainDocument.cpp:199
msgid "BOINC Manager - Connection failed"
msgstr ""
#: clientgui/MainDocument.cpp:200
#: clientgui/MainFrame.cpp:927
#: clientgui/MainFrame.cpp:928
msgid "Connection failed."
msgstr ""
#: clientgui/MainDocument.cpp:306
#: clientgui/MainDocument.cpp:316
msgid "Retrieving system state; please wait..."
msgstr ""
#: clientgui/MainDocument.cpp:315
#: clientgui/MainDocument.cpp:325
msgid "Retrieving host information; please wait..."
msgstr ""
@ -780,19 +778,19 @@ msgstr ""
msgid "&Help"
msgstr ""
#: clientgui/MainFrame.cpp:1049
#: clientgui/MainFrame.cpp:1045
msgid "Attaching to project..."
msgstr ""
#: clientgui/MainFrame.cpp:1088
#: clientgui/MainFrame.cpp:1084
msgid "Retrying communications for project(s)..."
msgstr ""
#: clientgui/MainFrame.cpp:1178
#: clientgui/MainFrame.cpp:1174
msgid "Language Selection..."
msgstr ""
#: clientgui/MainFrame.cpp:1179
#: clientgui/MainFrame.cpp:1175
msgid "The BOINC Managers default language has been changed, in order for this change to take affect you must restart the manager."
msgstr ""
@ -841,28 +839,38 @@ msgstr ""
msgid "BOINC failed to connect to the internet."
msgstr ""
#: clientgui/MainFrame.cpp:1783
#: clientgui/MainFrame.cpp:1786
#: clientgui/MainFrame.cpp:1782
#: clientgui/MainFrame.cpp:1785
#, c-format
msgid "%s - (%s)"
msgstr ""
#: clientgui/MainFrame.cpp:1784
#: clientgui/MainFrame.cpp:1783
#, c-format
msgid "Connecting to %s"
msgstr ""
#: clientgui/MainFrame.cpp:1787
#: clientgui/MainFrame.cpp:1786
#, c-format
msgid "Connected to %s"
msgstr ""
#: clientgui/MainFrame.cpp:1940
msgid "BOINC Manager - Connection Status"
msgid "BOINC Manager - Connection Failed"
msgstr ""
#: clientgui/MainFrame.cpp:1941
msgid ""
"BOINC Manager is not able to connect to a BOINC client.\n"
"Would you like to try to connect again?"
msgstr ""
#: clientgui/MainFrame.cpp:1956
msgid "BOINC Manager - Connection Status"
msgstr ""
#: clientgui/MainFrame.cpp:1957
msgid ""
"BOINC Manager is not currently connected to a BOINC client.\n"
"Please use the 'File\\Select Computer...' menu option to connect up to a BOINC client.\n"
"To connect up to your local computer please use 'localhost' as the host name."
@ -1094,7 +1102,7 @@ msgstr ""
#: clientgui/ViewProjects.cpp:114
#: clientgui/ViewProjects.cpp:560
#: clientgui/ViewWork.cpp:99
#: clientgui/ViewWork.cpp:458
#: clientgui/ViewWork.cpp:453
msgid "Suspend"
msgstr ""
@ -1205,7 +1213,7 @@ msgid "Launching browser..."
msgstr ""
#: clientgui/ViewProjects.cpp:556
#: clientgui/ViewWork.cpp:454
#: clientgui/ViewWork.cpp:449
msgid "Resume"
msgstr ""
@ -1230,7 +1238,7 @@ msgid "Web sites"
msgstr ""
#: clientgui/ViewProjects.cpp:721
#: clientgui/ViewWork.cpp:666
#: clientgui/ViewWork.cpp:661
msgid "Suspended by user"
msgstr ""
@ -1358,12 +1366,12 @@ msgid "Retry in "
msgstr ""
#: clientgui/ViewTransfers.cpp:527
#: clientgui/ViewWork.cpp:657
#: clientgui/ViewWork.cpp:652
msgid "Download failed"
msgstr ""
#: clientgui/ViewTransfers.cpp:529
#: clientgui/ViewWork.cpp:693
#: clientgui/ViewWork.cpp:688
msgid "Upload failed"
msgstr ""
@ -1373,22 +1381,22 @@ msgid "Suspended"
msgstr ""
#: clientgui/ViewTransfers.cpp:534
#: clientgui/ViewWork.cpp:695
#: clientgui/ViewWork.cpp:690
msgid "Uploading"
msgstr ""
#: clientgui/ViewTransfers.cpp:534
#: clientgui/ViewWork.cpp:659
#: clientgui/ViewWork.cpp:654
msgid "Downloading"
msgstr ""
#: clientgui/ViewWork.cpp:100
#: clientgui/ViewWork.cpp:458
#: clientgui/ViewWork.cpp:453
msgid "Suspend work for this result."
msgstr ""
#: clientgui/ViewWork.cpp:106
#: clientgui/ViewWork.cpp:210
#: clientgui/ViewWork.cpp:208
msgid "Show graphics"
msgstr ""
@ -1440,71 +1448,71 @@ msgstr ""
msgid "Showing graphics for result..."
msgstr ""
#: clientgui/ViewWork.cpp:209
#: clientgui/ViewWork.cpp:207
msgid "Are you sure you want to display graphics on a remote machine?"
msgstr ""
#: clientgui/ViewWork.cpp:258
#: clientgui/ViewWork.cpp:253
msgid "Aborting result..."
msgstr ""
#: clientgui/ViewWork.cpp:261
#: clientgui/ViewWork.cpp:256
#, c-format
msgid "Are you sure you want to abort this result '%s'?"
msgstr ""
#: clientgui/ViewWork.cpp:267
#: clientgui/ViewWork.cpp:262
msgid "Abort result"
msgstr ""
#: clientgui/ViewWork.cpp:454
#: clientgui/ViewWork.cpp:449
msgid "Resume work for this result."
msgstr ""
#: clientgui/ViewWork.cpp:653
#: clientgui/ViewWork.cpp:648
msgid "New"
msgstr ""
#: clientgui/ViewWork.cpp:664
#: clientgui/ViewWork.cpp:686
#: clientgui/ViewWork.cpp:659
#: clientgui/ViewWork.cpp:681
msgid "Aborted by user"
msgstr ""
#: clientgui/ViewWork.cpp:668
#: clientgui/ViewWork.cpp:663
msgid "Activities suspended"
msgstr ""
#: clientgui/ViewWork.cpp:671
#: clientgui/ViewWork.cpp:666
msgid "Running"
msgstr ""
#: clientgui/ViewWork.cpp:673
#: clientgui/ViewWork.cpp:668
msgid "Preempted"
msgstr ""
#: clientgui/ViewWork.cpp:675
#: clientgui/ViewWork.cpp:678
#: clientgui/ViewWork.cpp:670
#: clientgui/ViewWork.cpp:673
msgid "Ready to run"
msgstr ""
#: clientgui/ViewWork.cpp:688
#: clientgui/ViewWork.cpp:683
msgid "Computation error"
msgstr ""
#: clientgui/ViewWork.cpp:700
#: clientgui/ViewWork.cpp:695
msgid "Acknowledged"
msgstr ""
#: clientgui/ViewWork.cpp:702
#: clientgui/ViewWork.cpp:697
msgid "Ready to report"
msgstr ""
#: clientgui/ViewWork.cpp:704
#: clientgui/ViewWork.cpp:699
#, c-format
msgid "Error: invalid state '%d'"
msgstr ""
#: clientgui/ViewWork.cpp:712
#: clientgui/ViewWork.cpp:707
msgid "Activities suspended by user"
msgstr ""