Compare commits
3 Commits
v2.0.0-bet
...
v2.0.0-bet
Author | SHA1 | Date | |
---|---|---|---|
a296b622ef | |||
0e902177d4 | |||
f60fbc2545 |
@ -21,19 +21,22 @@ Fuel V2.0.0 (2015-XX-XX)
|
||||
status of their contents, including missing folders
|
||||
- Feature: Support for multiple file user-actions
|
||||
- Feature: Double-Click action also allows user actions
|
||||
- Feature: Support for the versionable .fossil-settings/ignore-glob
|
||||
- Feature: OSX: UI improvements
|
||||
- Feature: OSX: Improved external application selection for application bundles
|
||||
- Misc: Reorganised menu structure.
|
||||
- Misc: Separated Fuel and Fossil settings
|
||||
- Bug Fix: Retain the folder tree state when refreshing the workspace
|
||||
- Bug Fix: Fixed issue with the expanding width of the commit dialog
|
||||
- Major internal refactoring
|
||||
|
||||
Fuel V1.0.1 (2015-08-XX)
|
||||
Fuel V1.0.1 (2015-08-23)
|
||||
--------------------------------------------------------------------------------
|
||||
- Reformated Docs into Markdown
|
||||
- Added Localisations:
|
||||
- Italian (Thanks maxxlupi and Zangune)
|
||||
- Dutch (Thanks Rick Van Lieshout and Fly Man)
|
||||
- Korean (Thanks ardiefox)
|
||||
- Reformated Docs into Markdown
|
||||
|
||||
Fuel V1.0.0 (2015-03-28)
|
||||
--------------------------------------------------------------------------------
|
||||
|
22
manifest
22
manifest
@ -1,5 +1,5 @@
|
||||
C OSX:\sGuess\sactual\sexecutable\sfrom\sthe\sapp\sbundle\sdirectory
|
||||
D 2015-08-22T17:32:24.250
|
||||
C Updated\sChanges.md
|
||||
D 2015-08-25T13:07:48.374
|
||||
F .travis.yml 77966888a81c4ceee1fcc79bce842c9667ad8a35
|
||||
F debian/changelog eb4304dfcb6bb66850ec740838090eb50ce1249b
|
||||
F debian/compat b6abd567fa79cbe0196d093a067271361dc6ca8b
|
||||
@ -13,7 +13,7 @@ F debian/watch 34f0921ff100a3e16a7ad84dcc303731de830a60
|
||||
F dist/arch/PKGBUILD 26623327e467028a883cd13963daa36baf10dfa3
|
||||
F dist/win/fuel.iss ef3558dbba409eb194938b930377fc9ee27d319e
|
||||
F doc/Building.md 149d959751ae488829e084a9f88449a08220c1d1
|
||||
F doc/Changes.md af49b873012c6b453fe8084f46b6aadbd6fe6e63
|
||||
F doc/Changes.md 47e0d70b5b4ce6e11688a807952d72134d4ff643
|
||||
F doc/License.txt 4cc77b90af91e615a64ae04893fdffa7939db84c
|
||||
F ext/qtkeychain/CMakeLists.txt fc1afa05034f2765ba243ce758a7e9d6b6efe2d6
|
||||
F ext/qtkeychain/COPYING d0f83c8198fdd5464d2373015b7b64ce7cae607e
|
||||
@ -231,7 +231,7 @@ F src/FslSettingsDialog.cpp e00907d493fba469e48a008aecda88426350b5ac
|
||||
F src/FslSettingsDialog.h dfe2a61884a55a74cbb9206b6f6b482b979725e7
|
||||
F src/LoggedProcess.cpp 2a1e5c94bc1e57c8984563e66c210e43a14dc60c
|
||||
F src/LoggedProcess.h 85df7c635c807a5a0e8c4763f17a0752aaff7261
|
||||
F src/MainWindow.cpp 48ed62679d02f918479cd1610309443cd15d57ae
|
||||
F src/MainWindow.cpp 47aa96182c3a005d27295ef52e351f57a79721da
|
||||
F src/MainWindow.h f4cffbe4d360d30aa2eeaa25fc6d50d0a39c617f
|
||||
F src/RemoteDialog.cpp 8540cc5e2e41c4127ed8a028d84691604fa6ecac
|
||||
F src/RemoteDialog.h 5e0438c2bd7c79b1bb44bfbd58c2181b544a9e5d
|
||||
@ -243,10 +243,10 @@ F src/Settings.cpp 258d3f466f6a125ce2b8519d6d57a312cbc44a3f
|
||||
F src/Settings.h 0a10b0b83fe804bdc7dac58eed06b5b6ee422055
|
||||
F src/SettingsDialog.cpp fa0c70eaf0fa7edb15de302d041cdb552fe523d5
|
||||
F src/SettingsDialog.h 5eb3ae2cbb00ab5544e1889860f5376f69fe47cd
|
||||
F src/Utils.cpp cfadf3ee981f5ead8635c395610421f8e04a9a42
|
||||
F src/Utils.h c6341ee49a8fc35f215facb196d70bf9b1f2fc0f
|
||||
F src/Workspace.cpp c46aeb616712e42dcee72774a572af3a9803dbf1
|
||||
F src/Workspace.h 54eef32658b13a34fe78ae26887420e8ff358eaa
|
||||
F src/Utils.cpp fb9fe1caeef47dca310079f8f10b41c838defaa5
|
||||
F src/Utils.h 4563194b65d0a903ba71b3fec8fc870a8a610f76
|
||||
F src/Workspace.cpp 6f15ea480579f357a3e01dacd1d62c2621961478
|
||||
F src/Workspace.h 50970993b6f49c0f4dc55ba5954e7e4c2a723539
|
||||
F src/main.cpp d8c65ea5e54102e4989fef9fd8cfd4f13ef8a8f0
|
||||
F tools/git-push.sh 62cc58434cae5b7bcd6bd9d4cce8b08739f31cd7 x
|
||||
F tools/pack.sh d7f38a498c4e9327fecd6a6e5ac27be270d43008 x
|
||||
@ -260,7 +260,7 @@ F ui/MainWindow.ui e2a18caa7482b3ee0dff477592cdc9574b35fe4f
|
||||
F ui/RemoteDialog.ui 95a4750d972ed8c49bb10b95db91ff16cfe2dd0b
|
||||
F ui/RevisionDialog.ui 27c3b98c665fec014a50cbf3352c0627f75e68cd
|
||||
F ui/SettingsDialog.ui 2e1b6ce7a49100088c5649292c1319e62e0302e1
|
||||
P cb27c4e2a0777b5c3fa64a07d19cd6b89e05c76f
|
||||
R 19ead9c938bef0606914a30fe37378b3
|
||||
P 8a83bfb691fc72a4208c24b547c9c38fc668ec97
|
||||
R 53814be492792eadbc8740da254dc306
|
||||
U kostas
|
||||
Z 6b9bc678ab29fb68e3f8be6bb65cb34f
|
||||
Z 50d6c6e9520bb3b791eaf9b75e5e6c9e
|
||||
|
@ -1 +1 @@
|
||||
7988e53166771ea71d916a1ab714eb671d07dea8
|
||||
3490f7140197453a7a45fea01b93281cf0c8ca3d
|
@ -700,11 +700,35 @@ bool MainWindow::refresh()
|
||||
void MainWindow::scanWorkspace()
|
||||
{
|
||||
setBusy(true);
|
||||
|
||||
static const QRegExp REGEX_GLOB_LIST(",|\\n", Qt::CaseSensitive);
|
||||
|
||||
QStringList ignore_patterns;
|
||||
|
||||
// Determine ignored file patterns
|
||||
{
|
||||
QString ignore_list = settings.GetFossilValue(FOSSIL_SETTING_IGNORE_GLOB).toString().trimmed();
|
||||
|
||||
// Read patterns from versionable file if it exists
|
||||
QFile ignored_file(getWorkspace().getPath() + PATH_SEPARATOR ".fossil-settings" PATH_SEPARATOR "ignore-glob");
|
||||
|
||||
if(ignored_file.open(QFile::ReadOnly))
|
||||
{
|
||||
ignore_list = ignored_file.readAll();
|
||||
ignored_file.close();
|
||||
}
|
||||
|
||||
if(!ignore_list.isEmpty())
|
||||
ignore_patterns = ignore_list.split(REGEX_GLOB_LIST, QString::SkipEmptyParts);
|
||||
|
||||
TrimStringList(ignore_patterns);
|
||||
}
|
||||
|
||||
getWorkspace().scanWorkspace(ui->actionViewUnknown->isChecked(),
|
||||
ui->actionViewIgnored->isChecked(),
|
||||
ui->actionViewModified->isChecked(),
|
||||
ui->actionViewUnchanged->isChecked(),
|
||||
settings.GetFossilValue(FOSSIL_SETTING_IGNORE_GLOB).toString(),
|
||||
ignore_patterns,
|
||||
uiCallback,
|
||||
operationAborted
|
||||
);
|
||||
|
@ -636,3 +636,10 @@ bool SpawnExternalProcess(QObject *processParent, const QString& command, const
|
||||
QProcess proc(processParent);
|
||||
return proc.startDetached(cmd, params);
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
void TrimStringList(QStringList& list)
|
||||
{
|
||||
for(int i=0; i<list.length(); ++i)
|
||||
list[i] = list[i].trimmed();
|
||||
}
|
||||
|
@ -64,6 +64,7 @@ QString UrlToStringDisplay(const QUrl &url);
|
||||
QString UrlToStringNoCredentials(const QUrl& url);
|
||||
void SplitCommandLine(const QString &commandLine, QString &command, QString &extraParams);
|
||||
bool SpawnExternalProcess(QObject *processParent, const QString& command, const QStringList& fileList, const stringset_t& pathSet, const QString &workspaceDir, UICallback &uiCallback);
|
||||
void TrimStringList(QStringList &list);
|
||||
|
||||
typedef QMap<QString, QString> QStringMap;
|
||||
void ParseProperties(QStringMap &properties, const QStringList &lines, QChar separator=' ');
|
||||
|
@ -120,7 +120,7 @@ bool Workspace::switchWorkspace(const QString& workspace, QSettings &store)
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
bool Workspace::scanDirectory(QFileInfoList &entries, const QString& dirPath, const QString &baseDir, const QString ignoreSpec, const bool &abort, UICallback &uiCallback)
|
||||
bool Workspace::scanDirectory(QFileInfoList &entries, const QString& dirPath, const QString &baseDir, const QStringList &ignorePatterns, const bool &abort, UICallback &uiCallback)
|
||||
{
|
||||
QDir dir(dirPath);
|
||||
|
||||
@ -138,12 +138,12 @@ bool Workspace::scanDirectory(QFileInfoList &entries, const QString& dirPath, co
|
||||
rel_path.remove(baseDir+PATH_SEPARATOR);
|
||||
|
||||
// Skip ignored files
|
||||
if(!ignoreSpec.isEmpty() && QDir::match(ignoreSpec, rel_path))
|
||||
if(!ignorePatterns.isEmpty() && QDir::match(ignorePatterns, rel_path))
|
||||
continue;
|
||||
|
||||
if (info.isDir())
|
||||
{
|
||||
if(!scanDirectory(entries, filepath, baseDir, ignoreSpec, abort, uiCallback))
|
||||
if(!scanDirectory(entries, filepath, baseDir, ignorePatterns, abort, uiCallback))
|
||||
return false;
|
||||
}
|
||||
else
|
||||
@ -159,7 +159,7 @@ static bool StringLengthDescending(const QString &l, const QString &r)
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
void Workspace::scanWorkspace(bool scanLocal, bool scanIgnored, bool scanModified, bool scanUnchanged, const QString &ignoreGlob, UICallback &uiCallback, bool &operationAborted)
|
||||
void Workspace::scanWorkspace(bool scanLocal, bool scanIgnored, bool scanModified, bool scanUnchanged, const QStringList &ignorePatterns, UICallback &uiCallback, bool &operationAborted)
|
||||
{
|
||||
// Scan all workspace files
|
||||
QFileInfoList all_files;
|
||||
@ -186,14 +186,9 @@ void Workspace::scanWorkspace(bool scanLocal, bool scanIgnored, bool scanModifie
|
||||
{
|
||||
QCoreApplication::processEvents();
|
||||
|
||||
QString ignore;
|
||||
// If we should not be showing ignored files, fill in the ignored spec
|
||||
QStringList ignore;
|
||||
if(!scanIgnored)
|
||||
{
|
||||
// QDir expects multiple specs being separated by a semicolon
|
||||
ignore = ignoreGlob;
|
||||
ignore.replace(',',';');
|
||||
}
|
||||
ignore = ignorePatterns;
|
||||
|
||||
if(!scanDirectory(all_files, wkdir, wkdir, ignore, operationAborted, uiCallback))
|
||||
goto _done;
|
||||
|
@ -134,7 +134,7 @@ public:
|
||||
|
||||
const QString & getPath() const { return fossil().getWorkspacePath(); }
|
||||
bool switchWorkspace(const QString &workspace, QSettings &store);
|
||||
void scanWorkspace(bool scanLocal, bool scanIgnored, bool scanModified, bool scanUnchanged, const QString &ignoreGlob, UICallback &uiCallback, bool &operationAborted);
|
||||
void scanWorkspace(bool scanLocal, bool scanIgnored, bool scanModified, bool scanUnchanged, const QStringList& ignorePatterns, UICallback &uiCallback, bool &operationAborted);
|
||||
|
||||
QStandardItemModel &getFileModel() { return repoFileModel; }
|
||||
QStandardItemModel &getTreeModel() { return repoTreeModel; }
|
||||
@ -160,7 +160,7 @@ public:
|
||||
|
||||
void storeWorkspace(QSettings &store);
|
||||
private:
|
||||
static bool scanDirectory(QFileInfoList &entries, const QString& dirPath, const QString &baseDir, const QString ignoreSpec, const bool& abort, UICallback &uiCallback);
|
||||
static bool scanDirectory(QFileInfoList &entries, const QString& dirPath, const QString &baseDir, const QStringList& ignorePatterns, const bool& abort, UICallback &uiCallback);
|
||||
|
||||
private:
|
||||
Fossil bridge;
|
||||
|
Reference in New Issue
Block a user