Added UICallback::updateProcess
Moved scanDirectory to Repository FossilOrigin-Name: 4d94a638499c31672bf47de43407b1fa2531e716
This commit is contained in:
@ -35,6 +35,7 @@ public:
|
||||
public:
|
||||
virtual void logText(const QString &text, bool isHTML)=0;
|
||||
virtual void beginProcess(const QString &text)=0;
|
||||
virtual void updateProcess(const QString &text)=0;
|
||||
virtual void endProcess()=0;
|
||||
virtual QMessageBox::StandardButton Query(const QString &title, const QString &query, QMessageBox::StandardButtons buttons)=0;
|
||||
};
|
||||
|
@ -487,12 +487,11 @@ void MainWindow::onOpenRecent()
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
bool MainWindow::scanDirectory(QFileInfoList &entries, const QString& dirPath, const QString &baseDir, const QString ignoreSpec, const bool &abort)
|
||||
bool Repository::scanDirectory(QFileInfoList &entries, const QString& dirPath, const QString &baseDir, const QString ignoreSpec, const bool &abort, Bridge::UICallback &uiCallback)
|
||||
{
|
||||
QDir dir(dirPath);
|
||||
|
||||
setStatus(dirPath);
|
||||
QCoreApplication::processEvents();
|
||||
uiCallback.updateProcess(dirPath);
|
||||
|
||||
QFileInfoList list = dir.entryInfoList(QDir::Dirs | QDir::Files | QDir::Hidden | QDir::NoDotAndDotDot);
|
||||
for (int i=0; i<list.count(); ++i)
|
||||
@ -511,7 +510,7 @@ bool MainWindow::scanDirectory(QFileInfoList &entries, const QString& dirPath, c
|
||||
|
||||
if (info.isDir())
|
||||
{
|
||||
if(!scanDirectory(entries, filepath, baseDir, ignoreSpec, abort))
|
||||
if(!scanDirectory(entries, filepath, baseDir, ignoreSpec, abort, uiCallback))
|
||||
return false;
|
||||
}
|
||||
else
|
||||
@ -603,7 +602,6 @@ void MainWindow::scanWorkspace()
|
||||
|
||||
setStatus(tr("Scanning Workspace..."));
|
||||
setBusy(true);
|
||||
QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
|
||||
|
||||
// Dispose RepoFiles
|
||||
for(Repository::filemap_t::iterator it = getRepo().workspaceFiles.begin(); it!=getRepo().workspaceFiles.end(); ++it)
|
||||
@ -626,7 +624,7 @@ void MainWindow::scanWorkspace()
|
||||
ignore = settings.GetFossilValue(FOSSIL_SETTING_IGNORE_GLOB).toString().replace(',',';');
|
||||
}
|
||||
|
||||
if(!scanDirectory(all_files, wkdir, wkdir, ignore, operationAborted))
|
||||
if(!getRepo().scanDirectory(all_files, wkdir, wkdir, ignore, operationAborted, uiCallback))
|
||||
goto _done;
|
||||
|
||||
for(QFileInfoList::iterator it=all_files.begin(); it!=all_files.end(); ++it)
|
||||
@ -728,7 +726,6 @@ _done:
|
||||
|
||||
setBusy(false);
|
||||
setStatus("");
|
||||
QApplication::restoreOverrideCursor();
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@ -2144,6 +2141,11 @@ void MainWindow::dropEvent(QDropEvent *event)
|
||||
//------------------------------------------------------------------------------
|
||||
void MainWindow::setBusy(bool busy)
|
||||
{
|
||||
if(busy)
|
||||
QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
|
||||
else
|
||||
QApplication::restoreOverrideCursor();
|
||||
|
||||
abortShortcut->setEnabled(busy);
|
||||
bool enabled = !busy;
|
||||
ui->menuBar->setEnabled(enabled);
|
||||
@ -2183,6 +2185,14 @@ void MainWindow::MainWinUICallback::beginProcess(const QString& text)
|
||||
mainWindow->progressBar->setHidden(false);
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
void MainWindow::MainWinUICallback::updateProcess(const QString& text)
|
||||
{
|
||||
Q_ASSERT(mainWindow);
|
||||
mainWindow->ui->statusBar->showMessage(text);
|
||||
QCoreApplication::processEvents();
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
void MainWindow::MainWinUICallback::endProcess()
|
||||
{
|
||||
|
@ -123,6 +123,8 @@ public:
|
||||
stringset_t pathSet;
|
||||
stashmap_t stashMap;
|
||||
stringset_t selectedDirs; // The directory selected in the tree
|
||||
|
||||
static bool scanDirectory(QFileInfoList &entries, const QString& dirPath, const QString &baseDir, const QString ignoreSpec, const bool& abort, Bridge::UICallback &uiCallback);
|
||||
};
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
@ -163,7 +165,7 @@ private:
|
||||
void loadFossilSettings();
|
||||
QString getFossilPath();
|
||||
QString getFossilHttpAddress();
|
||||
bool scanDirectory(QFileInfoList &entries, const QString& dirPath, const QString &baseDir, const QString ignoreSpec, const bool& abort);
|
||||
//static bool scanDirectory(QFileInfoList &entries, const QString& dirPath, const QString &baseDir, const QString ignoreSpec, const bool& abort);
|
||||
void updateDirView();
|
||||
void updateFileView();
|
||||
void updateStashView();
|
||||
@ -244,6 +246,7 @@ private:
|
||||
|
||||
virtual void logText(const QString& text, bool isHTML);
|
||||
virtual void beginProcess(const QString& text);
|
||||
virtual void updateProcess(const QString& text);
|
||||
virtual void endProcess();
|
||||
virtual QMessageBox::StandardButton Query(const QString &title, const QString &query, QMessageBox::StandardButtons buttons);
|
||||
|
||||
|
Reference in New Issue
Block a user