mirror of https://github.com/BOINC/boinc.git
*** empty log message ***
svn path=/trunk/boinc/; revision=11058
This commit is contained in:
parent
befdc40f90
commit
7e3ec450b5
|
@ -9633,4 +9633,14 @@ Walt 31 Aug 2006
|
|||
client
|
||||
app.C
|
||||
lib/
|
||||
procinfo_unix.C
|
||||
procinfo_unix.C
|
||||
|
||||
Rom 31 Aug 2006
|
||||
- Bug Fix: Forcing a global state refresh now causes the client to update the
|
||||
state right then and there. This should fix the app version friendly name
|
||||
flicker problem.
|
||||
|
||||
clientgui/
|
||||
MainDocument.cpp, .h
|
||||
sg_BoincSimpleGUI.cpp
|
||||
ViewWork.cpp
|
||||
|
|
|
@ -288,8 +288,6 @@ CMainDocument::CMainDocument() {
|
|||
|
||||
m_iMessageSequenceNumber = 0;
|
||||
|
||||
m_bCachedStateLocked = false;
|
||||
m_dtCachedStateLockTimestamp = wxDateTime::Now();
|
||||
m_dtCachedStateTimestamp = wxDateTime((time_t)0);
|
||||
m_dtCachedCCStatusTimestamp = wxDateTime((time_t)0);
|
||||
m_dtProjecStatusTimestamp = wxDateTime((time_t)0);
|
||||
|
@ -309,20 +307,24 @@ CMainDocument::~CMainDocument() {
|
|||
|
||||
|
||||
int CMainDocument::CachedStateUpdate() {
|
||||
wxLogTrace(wxT("Function Start/End"), wxT("CMainDocument::CachedStateUpdate - Function Begin"));
|
||||
|
||||
CBOINCBaseFrame* pFrame = wxGetApp().GetFrame();
|
||||
int retval = 0;
|
||||
|
||||
wxTimeSpan ts(m_dtCachedStateLockTimestamp - m_dtCachedStateTimestamp);
|
||||
if (!m_bCachedStateLocked && IsConnected() && (ts.GetSeconds() > 3600)) {
|
||||
wxTimeSpan ts(wxDateTime::Now() - m_dtCachedStateTimestamp);
|
||||
if (IsConnected() && (ts.GetSeconds() > 3600)) {
|
||||
wxASSERT(wxDynamicCast(pFrame, CBOINCBaseFrame));
|
||||
pFrame->UpdateStatusText(_("Retrieving system state; please wait..."));
|
||||
|
||||
m_dtCachedStateTimestamp = m_dtCachedStateLockTimestamp;
|
||||
m_dtCachedStateTimestamp = wxDateTime::Now();
|
||||
retval = rpc.get_state(state);
|
||||
if (retval) {
|
||||
wxLogTrace(wxT("Function Status"), wxT("CMainDocument::CachedStateUpdate - Get State Failed '%d'"), retval);
|
||||
m_pNetworkConnection->SetStateDisconnected();
|
||||
}
|
||||
wxTimeSpan tsStateParseDuration(wxDateTime::Now() - m_dtCachedStateTimestamp);
|
||||
wxLogTrace(wxT("Function Status"), wxT("CMainDocument::CachedStateUpdate - State Update Time (Milliseconds) '%d'"), tsStateParseDuration.GetMilliseconds());
|
||||
|
||||
pFrame->UpdateStatusText(_("Retrieving host information; please wait..."));
|
||||
|
||||
|
@ -335,6 +337,7 @@ int CMainDocument::CachedStateUpdate() {
|
|||
pFrame->UpdateStatusText(wxEmptyString);
|
||||
}
|
||||
|
||||
wxLogTrace(wxT("Function Start/End"), wxT("CMainDocument::CachedStateUpdate - Function End"));
|
||||
return retval;
|
||||
}
|
||||
|
||||
|
@ -391,8 +394,7 @@ int CMainDocument::ResetState() {
|
|||
resource_status.clear();
|
||||
proxy_info.clear();
|
||||
|
||||
m_dtCachedStateLockTimestamp = wxDateTime::Now();
|
||||
m_dtCachedStateTimestamp = wxDateTime((time_t)0);
|
||||
ForceCacheUpdate();
|
||||
|
||||
m_iMessageSequenceNumber = 0;
|
||||
return 0;
|
||||
|
@ -444,19 +446,6 @@ bool CMainDocument::IsReconnecting() {
|
|||
}
|
||||
|
||||
|
||||
int CMainDocument::CachedStateLock() {
|
||||
m_bCachedStateLocked = true;
|
||||
m_dtCachedStateLockTimestamp = wxDateTime::Now();
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int CMainDocument::CachedStateUnlock() {
|
||||
m_bCachedStateLocked = false;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int CMainDocument::FrameShutdownDetected() {
|
||||
return m_pNetworkConnection->FrameShutdownDetected();
|
||||
}
|
||||
|
@ -514,8 +503,8 @@ int CMainDocument::SetNetworkRunMode(int iMode) {
|
|||
|
||||
|
||||
int CMainDocument::ForceCacheUpdate() {
|
||||
m_dtCachedStateLockTimestamp = wxDateTime::Now();
|
||||
m_dtCachedStateTimestamp = wxDateTime((time_t)0);
|
||||
CachedStateUpdate();
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -79,14 +79,7 @@ public:
|
|||
//
|
||||
private:
|
||||
|
||||
bool m_bCachedStateLocked;
|
||||
|
||||
wxDateTime m_dtCachedActivityRunModeTimestamp;
|
||||
wxDateTime m_dtCachedNetworkRunModeTimestamp;
|
||||
wxDateTime m_dtCachedCCStatusTimestamp;
|
||||
int m_iCachedActivityRunMode;
|
||||
int m_iCachedNetworkRunMode;
|
||||
CC_STATUS status;
|
||||
|
||||
int CachedStateUpdate();
|
||||
|
||||
|
@ -132,9 +125,9 @@ public:
|
|||
|
||||
RPC_CLIENT rpc;
|
||||
CC_STATE state;
|
||||
CC_STATUS status;
|
||||
HOST_INFO host;
|
||||
wxDateTime m_dtCachedStateTimestamp;
|
||||
wxDateTime m_dtCachedStateLockTimestamp;
|
||||
|
||||
|
||||
//
|
||||
|
|
|
@ -578,27 +578,30 @@ wxInt32 CViewWork::FormatProjectName(wxInt32 item, wxString& strBuffer) const {
|
|||
|
||||
|
||||
wxInt32 CViewWork::FormatApplicationName(wxInt32 item, wxString& strBuffer) const {
|
||||
CMainDocument* doc = wxGetApp().GetDocument();
|
||||
CMainDocument* pDoc = wxGetApp().GetDocument();
|
||||
RESULT* result = wxGetApp().GetDocument()->result(item);
|
||||
RESULT* state_result = NULL;
|
||||
|
||||
wxASSERT(doc);
|
||||
wxASSERT(wxDynamicCast(doc, CMainDocument));
|
||||
wxASSERT(pDoc);
|
||||
wxASSERT(wxDynamicCast(pDoc, CMainDocument));
|
||||
|
||||
if (result) {
|
||||
state_result = doc->state.lookup_result(result->project_url, result->name);
|
||||
if (state_result) {
|
||||
wxString strLocale = wxString(setlocale(LC_NUMERIC, NULL), wxConvUTF8);
|
||||
setlocale(LC_NUMERIC, "C");
|
||||
strBuffer.Printf(
|
||||
wxT("%s %.2f"),
|
||||
wxString(state_result->wup->avp->app_name.c_str(), wxConvUTF8).c_str(),
|
||||
state_result->wup->avp->version_num/100.0
|
||||
);
|
||||
setlocale(LC_NUMERIC, (const char*)strLocale.mb_str());
|
||||
} else {
|
||||
doc->ForceCacheUpdate();
|
||||
state_result = pDoc->state.lookup_result(result->project_url, result->name);
|
||||
if (!state_result) {
|
||||
pDoc->ForceCacheUpdate();
|
||||
state_result = pDoc->state.lookup_result(result->project_url, result->name);
|
||||
}
|
||||
wxASSERT(state_result);
|
||||
|
||||
wxString strLocale = wxString(setlocale(LC_NUMERIC, NULL), wxConvUTF8);
|
||||
setlocale(LC_NUMERIC, "C");
|
||||
strBuffer.Printf(
|
||||
wxT("%s %.2f"),
|
||||
wxString(state_result->wup->avp->app_name.c_str(), wxConvUTF8).c_str(),
|
||||
state_result->wup->avp->version_num/100.0
|
||||
);
|
||||
setlocale(LC_NUMERIC, (const char*)strLocale.mb_str());
|
||||
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -372,14 +372,14 @@ void CSimpleFrame::UpdateResultView(){
|
|||
// create one and add it to notebook
|
||||
std::string projUrl = result->project_url;
|
||||
std::string nme = result->name;
|
||||
RESULT* resState = pDoc->state.lookup_result(projUrl, nme);
|
||||
wxString friendlyName;
|
||||
|
||||
if(resState!=0){
|
||||
friendlyName = wxString(resState->app->name.c_str(), wxConvUTF8 );
|
||||
}else{
|
||||
friendlyName = wxString("na");
|
||||
RESULT* resState = NULL;
|
||||
wxString friendlyName;
|
||||
|
||||
resState = pDoc->state.lookup_result(projUrl, nme);
|
||||
if(!resState){
|
||||
pDoc->ForceCacheUpdate();
|
||||
}
|
||||
friendlyName = wxString(resState->app->name.c_str(), wxConvUTF8 );
|
||||
std::string index = " ";
|
||||
//index += i;
|
||||
friendlyName += wxString(index.c_str(), wxConvUTF8 );
|
||||
|
|
Loading…
Reference in New Issue