Added UICallback::updateProcess

Moved scanDirectory to Repository

FossilOrigin-Name: 4d94a638499c31672bf47de43407b1fa2531e716
This commit is contained in:
kostas 2015-04-30 09:50:22 +00:00
parent a43eac0ae3
commit 97f210fd46
5 changed files with 31 additions and 17 deletions

View File

@ -1,5 +1,5 @@
C Wrapped\sbridge\smember\svia\sfunction
D 2015-04-30T08:44:45.045
C Added\sUICallback::updateProcess\nMoved\sscanDirectory\sto\sRepository
D 2015-04-30T09:50:22.918
F .travis.yml 77966888a81c4ceee1fcc79bce842c9667ad8a35
F debian/changelog eb4304dfcb6bb66850ec740838090eb50ce1249b
F debian/compat b6abd567fa79cbe0196d093a067271361dc6ca8b
@ -185,7 +185,7 @@ F rsrc/icons/fuel.ico eb529ab3332a17b9302ef3e851db5b9ebce2a038
F rsrc/icons/fuel.png 40daf53b7f6bdcdd0d6aa5ef433d078ec5ea4342
F rsrc/resources.qrc 4098be128fd6c045db933d041fe8844b14643a6f
F src/Bridge.cpp 96aca0460c87ec2cdd154527a0583a00309ebcea
F src/Bridge.h 81d3e808ca1bd90771abc51d1557bb29e098fbf3
F src/Bridge.h 9a3a3a52eb64c673a9dedac1d5d15a44aac71bc7
F src/BrowserWidget.cpp 8b8f545cdff4a4188edc698a1b4777f5df46f056
F src/BrowserWidget.h 764d66aa9a93b890298bd0301097739cb4e16597
F src/CloneDialog.cpp 812ef7d361c16da21540b7047c9d4d5e74f18539
@ -200,8 +200,8 @@ F src/FileTableView.cpp 5ddf8c391c9a3ac449ec61fb1db837b577afeec2
F src/FileTableView.h 03e56d87c2d46411b9762b87f4d301619aaf18df
F src/LoggedProcess.cpp 2a1e5c94bc1e57c8984563e66c210e43a14dc60c
F src/LoggedProcess.h 85df7c635c807a5a0e8c4763f17a0752aaff7261
F src/MainWindow.cpp 2ba210d3d8a0a1c73c781a579b644b823af0503a
F src/MainWindow.h daf3bd6132ffb547639dda436389601450366d4b
F src/MainWindow.cpp d0592f736ae782633c9d2dd510ab5f0d5c80fabf
F src/MainWindow.h f9470bc231db5fc95661254c0bab2854adfd3ffb
F src/SettingsDialog.cpp a46cff5e5dd425e3dbdd15632abfd5829f5562b4
F src/SettingsDialog.h 4e2790f581e991c744ae9f86580f1972b8c7ff43
F src/Utils.cpp f78728e0817b1db23007ba0d2c5c26980ee7ebca
@ -215,7 +215,7 @@ F ui/CommitDialog.ui 6200f6cabdcf40a20812e811be28e0793f82516f
F ui/FileActionDialog.ui 89bb4dc2d0b8adcd41adcb11ec65f2028a09a12d
F ui/MainWindow.ui 8677f5c8bca5bf7561d5f64bfdd0cef5157c6ac7
F ui/SettingsDialog.ui 2b7c2870e0054b0f4106f495d85d02c0b814df8b
P 2e2faf9770ecdb644a4e9aaad0cc7dc050ef5f98
R fa89b242d21bce26120a2513c04b20dd
P c48861c93293aafa6b1193a4b6892342e0ca0159
R 49f72f8f9eafff06a5ea35eb0497e88d
U kostas
Z 57e92e99d50c4e8ff5d8194583af8368
Z 025a79c928231b5b6d280e6959bd1db5

View File

@ -1 +1 @@
c48861c93293aafa6b1193a4b6892342e0ca0159
4d94a638499c31672bf47de43407b1fa2531e716

View File

@ -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;
};

View File

@ -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()
{

View File

@ -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);