コード例 #1
0
bool CRevisionGraphDlg::UpdateData()
{
    CoInitialize(NULL);

    if (m_bFetchLogs)
    {
        CProgressDlg progress;
        progress.SetTitle(IDS_REVGRAPH_PROGTITLE);
        progress.SetCancelMsg(IDS_REVGRAPH_PROGCANCEL);
        progress.SetTime();
        progress.SetProgress(0, 100);
        if (m_pTaskbarList)
        {
            m_pTaskbarList->SetProgressState(m_hWnd, TBPF_NORMAL);
            m_pTaskbarList->SetProgressValue(m_hWnd, 0, 100);
        }

        svn_revnum_t pegRev = m_Graph.m_pegRev.IsNumber()
                            ? (svn_revnum_t)m_Graph.m_pegRev
                            : (svn_revnum_t)-1;

        if (!m_Graph.FetchRevisionData (m_Graph.m_sPath, pegRev, &progress, m_pTaskbarList, m_hWnd))
        {
            // only show the error dialog if we're not in hidden mode
            if (m_bVisible)
            {
                TaskDialog(GetSafeHwnd(), AfxGetResourceHandle(), MAKEINTRESOURCE(IDS_APPNAME), MAKEINTRESOURCE(IDS_ERR_ERROROCCURED), m_Graph.m_state.GetLastErrorMessage(), TDCBF_OK_BUTTON, TD_ERROR_ICON, NULL);
            }
        }

        progress.Stop();
        if (m_pTaskbarList)
        {
            m_pTaskbarList->SetProgressState(m_hWnd, TBPF_NOPROGRESS);
        }

        m_bFetchLogs = false;   // we've got the logs, no need to fetch them a second time
    }

    // standard plus user settings

    if (m_Graph.AnalyzeRevisionData())
    {
        UpdateStatusBar();
        UpdateOptionAvailability();
    }

    CoUninitialize();
    if (::IsWindow(m_Graph))
        m_Graph.PostMessage (CRevisionGraphWnd::WM_WORKERTHREADDONE, 0, 0);

    return true;
}
コード例 #2
0
bool CRevisionGraphDlg::UpdateData()
{
	CoInitialize(NULL);

	if (!m_Graph.FetchRevisionData (m_Graph.m_sPath, GitRev(), NULL, m_pTaskbarList, m_hWnd))
	{
		// only show the error dialog if we're not in hidden mode
		//if (m_bVisible)
		//{
		//	TGitMessageBox( m_hWnd
		//				   , // m_Graph.m_state.GetLastErrorMessage()
		//				   , _T("TortoiseGit")
		//				   , MB_ICONERROR);
		//}
	}

#if 0
	if (m_bFetchLogs)
	{
		CProgressDlg progress;
		progress.SetTitle(IDS_REVGRAPH_PROGTITLE);
		progress.SetCancelMsg(IDS_REVGRAPH_PROGCANCEL);
		progress.SetTime();
		progress.SetProgress(0, 100);
		if (m_pTaskbarList)
		{
			m_pTaskbarList->SetProgressState(m_hWnd, TBPF_NORMAL);
			m_pTaskbarList->SetProgressValue(m_hWnd, 0, 100);
		}

		svn_revnum_t pegRev = m_Graph.m_pegRev.IsNumber()
							? (svn_revnum_t)m_Graph.m_pegRev
							: (svn_revnum_t)-1;

		if (!m_Graph.FetchRevisionData (m_Graph.m_sPath, pegRev, &progress, m_pTaskbarList, m_hWnd))
		{
			// only show the error dialog if we're not in hidden mode
			if (m_bVisible)
			{
				TSVNMessageBox( m_hWnd
							  , m_Graph.m_state.GetLastErrorMessage()
							  , _T("TortoiseGit")
							  , MB_ICONERROR);
			}
		}

		progress.Stop();
		if (m_pTaskbarList)
		{
			m_pTaskbarList->SetProgressState(m_hWnd, TBPF_NOPROGRESS);
		}

		m_bFetchLogs = false;   // we've got the logs, no need to fetch them a second time
	}

	// standard plus user settings


	if (m_Graph.AnalyzeRevisionData())
	{
		UpdateStatusBar();
		UpdateOptionAvailability();
	}
#endif

	CoUninitialize();
	m_Graph.PostMessage (CRevisionGraphWnd::WM_WORKERTHREADDONE, 0, 0);

	return true;
}