10 Commits

Author SHA1 Message Date
a296b622ef Updated Changes.md
FossilOrigin-Name: 3490f7140197453a7a45fea01b93281cf0c8ca3d
2015-08-25 13:07:48 +00:00
0e902177d4 Updated the Changes.md
FossilOrigin-Name: 8a83bfb691fc72a4208c24b547c9c38fc668ec97
2015-08-23 13:59:15 +00:00
f60fbc2545 Support for the versionable .fossil-settings/ignore-glob file
FossilOrigin-Name: 511954d6d9c5a74454ffe3bc3e552b93e1cbf985
2015-08-23 13:59:07 +00:00
b148b86311 OSX: Guess actual executable from the app bundle directory
FossilOrigin-Name: 7988e53166771ea71d916a1ab714eb671d07dea8
2015-08-22 17:32:24 +00:00
521e0e7d7b Disabled automatically adding Fossil's remote-url to the list of remotes.
FossilOrigin-Name: cb27c4e2a0777b5c3fa64a07d19cd6b89e05c76f
2015-08-22 17:05:26 +00:00
0200f4b7b4 Somewhat better Log/Browser TabBar on OSX
FossilOrigin-Name: aea2b8b8985d6b40aff4b53eeaa485702c674658
2015-08-22 16:35:10 +00:00
cf66ce260e Added space to the right side of the searchbox
FossilOrigin-Name: 39572229e93c1a8b63a0e7ed48a1bbe14e67c53c
2015-08-22 14:52:43 +00:00
6c3ad4001c Improved the look of the UI on OSX
FossilOrigin-Name: 08496c56dbe49392c45a50d4bac5621d61b96e84
2015-08-22 14:13:47 +00:00
abd223076c Fixed OSX linker errors
FossilOrigin-Name: d9a15280f162ca92b6d65c41033d43890d306779
2015-08-22 11:40:53 +00:00
1efc307718 Fixed incorrect command splitting for custom actions
FossilOrigin-Name: 29c6a41585bad0bf9f506ea3ba148bb3ad3a2dca
2015-08-22 11:04:16 +00:00
10 changed files with 108 additions and 40 deletions

View File

@ -21,19 +21,22 @@ Fuel V2.0.0 (2015-XX-XX)
status of their contents, including missing folders status of their contents, including missing folders
- Feature: Support for multiple file user-actions - Feature: Support for multiple file user-actions
- Feature: Double-Click action also allows 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: Reorganised menu structure.
- Misc: Separated Fuel and Fossil settings - Misc: Separated Fuel and Fossil settings
- Bug Fix: Retain the folder tree state when refreshing the workspace - Bug Fix: Retain the folder tree state when refreshing the workspace
- Bug Fix: Fixed issue with the expanding width of the commit dialog - Bug Fix: Fixed issue with the expanding width of the commit dialog
- Major internal refactoring - Major internal refactoring
Fuel V1.0.1 (2015-08-XX) Fuel V1.0.1 (2015-08-23)
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
- Reformated Docs into Markdown
- Added Localisations: - Added Localisations:
- Italian (Thanks maxxlupi and Zangune) - Italian (Thanks maxxlupi and Zangune)
- Dutch (Thanks Rick Van Lieshout and Fly Man) - Dutch (Thanks Rick Van Lieshout and Fly Man)
- Korean (Thanks ardiefox) - Korean (Thanks ardiefox)
- Reformated Docs into Markdown
Fuel V1.0.0 (2015-03-28) Fuel V1.0.0 (2015-03-28)
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------

View File

@ -122,6 +122,7 @@ unix:!macx {
macx { macx {
SOURCES += ext/qtkeychain/keychain_mac.cpp SOURCES += ext/qtkeychain/keychain_mac.cpp
LIBS += -framework CoreFoundation -framework Security
} }
win32 { win32 {

View File

@ -1,5 +1,5 @@
C Custom\sactions\snow\sexpect\smacros\sfor\sfile\sand\sfolder\sexpansion\nCustom\sactions\snow\strigger\seven\swithout\sa\sselection\nUse\snative\spath\sseparators\sin\scustom\sactions\n C Updated\sChanges.md
D 2015-08-21T10:54:20.418 D 2015-08-25T13:07:48.374
F .travis.yml 77966888a81c4ceee1fcc79bce842c9667ad8a35 F .travis.yml 77966888a81c4ceee1fcc79bce842c9667ad8a35
F debian/changelog eb4304dfcb6bb66850ec740838090eb50ce1249b F debian/changelog eb4304dfcb6bb66850ec740838090eb50ce1249b
F debian/compat b6abd567fa79cbe0196d093a067271361dc6ca8b F debian/compat b6abd567fa79cbe0196d093a067271361dc6ca8b
@ -13,7 +13,7 @@ F debian/watch 34f0921ff100a3e16a7ad84dcc303731de830a60
F dist/arch/PKGBUILD 26623327e467028a883cd13963daa36baf10dfa3 F dist/arch/PKGBUILD 26623327e467028a883cd13963daa36baf10dfa3
F dist/win/fuel.iss ef3558dbba409eb194938b930377fc9ee27d319e F dist/win/fuel.iss ef3558dbba409eb194938b930377fc9ee27d319e
F doc/Building.md 149d959751ae488829e084a9f88449a08220c1d1 F doc/Building.md 149d959751ae488829e084a9f88449a08220c1d1
F doc/Changes.md af49b873012c6b453fe8084f46b6aadbd6fe6e63 F doc/Changes.md 47e0d70b5b4ce6e11688a807952d72134d4ff643
F doc/License.txt 4cc77b90af91e615a64ae04893fdffa7939db84c F doc/License.txt 4cc77b90af91e615a64ae04893fdffa7939db84c
F ext/qtkeychain/CMakeLists.txt fc1afa05034f2765ba243ce758a7e9d6b6efe2d6 F ext/qtkeychain/CMakeLists.txt fc1afa05034f2765ba243ce758a7e9d6b6efe2d6
F ext/qtkeychain/COPYING d0f83c8198fdd5464d2373015b7b64ce7cae607e F ext/qtkeychain/COPYING d0f83c8198fdd5464d2373015b7b64ce7cae607e
@ -37,7 +37,7 @@ F ext/qtkeychain/qkeychain_export.h d756528188ef9bf3c4461ecc80048f06c362b54b
F ext/qtkeychain/testclient.cpp cb1290a9584b627306a7bfdf1c02a8bbae503f5f F ext/qtkeychain/testclient.cpp cb1290a9584b627306a7bfdf1c02a8bbae503f5f
F ext/qtkeychain/translations/qtkeychain_de.ts 0a70c8205c066c30ed8172f0670942de1fc5eede F ext/qtkeychain/translations/qtkeychain_de.ts 0a70c8205c066c30ed8172f0670942de1fc5eede
F ext/qtkeychain/translations/qtkeychain_ro.ts f16939382fd1a047b0692426bc82847347f14b32 F ext/qtkeychain/translations/qtkeychain_ro.ts f16939382fd1a047b0692426bc82847347f14b32
F fuel.pro 7802dc9513da36539818ee1e927ec1e3494ecb54 F fuel.pro 2de14a4a6bd3e5af9d9e7c78f870453fedb38577
F intl/convert.bat 357d461ee8c6a7be6d2f60ac77c3232678ffb513 x F intl/convert.bat 357d461ee8c6a7be6d2f60ac77c3232678ffb513 x
F intl/convert.sh ac6edc8d99b575601cf9c6b85b18c9e25875b6e0 x F intl/convert.sh ac6edc8d99b575601cf9c6b85b18c9e25875b6e0 x
F intl/de_DE.ts e2faceab920ac60c97bbc6fba038e261d51fc741 F intl/de_DE.ts e2faceab920ac60c97bbc6fba038e261d51fc741
@ -231,7 +231,7 @@ F src/FslSettingsDialog.cpp e00907d493fba469e48a008aecda88426350b5ac
F src/FslSettingsDialog.h dfe2a61884a55a74cbb9206b6f6b482b979725e7 F src/FslSettingsDialog.h dfe2a61884a55a74cbb9206b6f6b482b979725e7
F src/LoggedProcess.cpp 2a1e5c94bc1e57c8984563e66c210e43a14dc60c F src/LoggedProcess.cpp 2a1e5c94bc1e57c8984563e66c210e43a14dc60c
F src/LoggedProcess.h 85df7c635c807a5a0e8c4763f17a0752aaff7261 F src/LoggedProcess.h 85df7c635c807a5a0e8c4763f17a0752aaff7261
F src/MainWindow.cpp dfa81f94f04e418bdd22985b898855733842d496 F src/MainWindow.cpp 47aa96182c3a005d27295ef52e351f57a79721da
F src/MainWindow.h f4cffbe4d360d30aa2eeaa25fc6d50d0a39c617f F src/MainWindow.h f4cffbe4d360d30aa2eeaa25fc6d50d0a39c617f
F src/RemoteDialog.cpp 8540cc5e2e41c4127ed8a028d84691604fa6ecac F src/RemoteDialog.cpp 8540cc5e2e41c4127ed8a028d84691604fa6ecac
F src/RemoteDialog.h 5e0438c2bd7c79b1bb44bfbd58c2181b544a9e5d F src/RemoteDialog.h 5e0438c2bd7c79b1bb44bfbd58c2181b544a9e5d
@ -243,10 +243,10 @@ F src/Settings.cpp 258d3f466f6a125ce2b8519d6d57a312cbc44a3f
F src/Settings.h 0a10b0b83fe804bdc7dac58eed06b5b6ee422055 F src/Settings.h 0a10b0b83fe804bdc7dac58eed06b5b6ee422055
F src/SettingsDialog.cpp fa0c70eaf0fa7edb15de302d041cdb552fe523d5 F src/SettingsDialog.cpp fa0c70eaf0fa7edb15de302d041cdb552fe523d5
F src/SettingsDialog.h 5eb3ae2cbb00ab5544e1889860f5376f69fe47cd F src/SettingsDialog.h 5eb3ae2cbb00ab5544e1889860f5376f69fe47cd
F src/Utils.cpp a375d6b641658b49d84462773d1e052de0c716dd F src/Utils.cpp fb9fe1caeef47dca310079f8f10b41c838defaa5
F src/Utils.h c6341ee49a8fc35f215facb196d70bf9b1f2fc0f F src/Utils.h 4563194b65d0a903ba71b3fec8fc870a8a610f76
F src/Workspace.cpp feab8b238a99cf1a60731aedf07af96010d9795d F src/Workspace.cpp 6f15ea480579f357a3e01dacd1d62c2621961478
F src/Workspace.h 54eef32658b13a34fe78ae26887420e8ff358eaa F src/Workspace.h 50970993b6f49c0f4dc55ba5954e7e4c2a723539
F src/main.cpp d8c65ea5e54102e4989fef9fd8cfd4f13ef8a8f0 F src/main.cpp d8c65ea5e54102e4989fef9fd8cfd4f13ef8a8f0
F tools/git-push.sh 62cc58434cae5b7bcd6bd9d4cce8b08739f31cd7 x F tools/git-push.sh 62cc58434cae5b7bcd6bd9d4cce8b08739f31cd7 x
F tools/pack.sh d7f38a498c4e9327fecd6a6e5ac27be270d43008 x F tools/pack.sh d7f38a498c4e9327fecd6a6e5ac27be270d43008 x
@ -256,11 +256,11 @@ F ui/CloneDialog.ui 4886e7d4f258ea8b852b5eefc860396e35145712
F ui/CommitDialog.ui 1e5dafa742e9ae07ec937bcda8cda3297ddc6199 F ui/CommitDialog.ui 1e5dafa742e9ae07ec937bcda8cda3297ddc6199
F ui/FileActionDialog.ui 89bb4dc2d0b8adcd41adcb11ec65f2028a09a12d F ui/FileActionDialog.ui 89bb4dc2d0b8adcd41adcb11ec65f2028a09a12d
F ui/FslSettingsDialog.ui eb3d4cb764cab90b01e82922237d8c42d6ce1749 F ui/FslSettingsDialog.ui eb3d4cb764cab90b01e82922237d8c42d6ce1749
F ui/MainWindow.ui f9774e6dddb9462d8072bffd6c511bee7f470b9d F ui/MainWindow.ui e2a18caa7482b3ee0dff477592cdc9574b35fe4f
F ui/RemoteDialog.ui 95a4750d972ed8c49bb10b95db91ff16cfe2dd0b F ui/RemoteDialog.ui 95a4750d972ed8c49bb10b95db91ff16cfe2dd0b
F ui/RevisionDialog.ui 27c3b98c665fec014a50cbf3352c0627f75e68cd F ui/RevisionDialog.ui 27c3b98c665fec014a50cbf3352c0627f75e68cd
F ui/SettingsDialog.ui 2e1b6ce7a49100088c5649292c1319e62e0302e1 F ui/SettingsDialog.ui 2e1b6ce7a49100088c5649292c1319e62e0302e1
P 9b67709b92eae80e70f8ae2b775014092f820fdf P 8a83bfb691fc72a4208c24b547c9c38fc668ec97
R 53802be5132d1fc255734da4b05ec8a0 R 53814be492792eadbc8740da254dc306
U Kostas U kostas
Z 11e2710ccd6ed208d70aec7542a52542 Z 50d6c6e9520bb3b791eaf9b75e5e6c9e

View File

@ -1 +1 @@
e017a9126cf63ed060dd88accfcabbd9726e9aa7 3490f7140197453a7a45fea01b93281cf0c8ca3d

View File

@ -263,6 +263,19 @@ MainWindow::MainWindow(Settings &_settings, QWidget *parent, QString *workspaceP
a->setIconVisibleInMenu(false); a->setIconVisibleInMenu(false);
foreach(QAction *a, ui->menuFile->actions()) foreach(QAction *a, ui->menuFile->actions())
a->setIconVisibleInMenu(false); a->setIconVisibleInMenu(false);
// For some unknown reason on OSX the treeview gets a focus rect. So disable it
ui->workspaceTreeView->setAttribute(Qt::WA_MacShowFocusRect, false);
// Tighen-up the sizing of the main widgets to look slightly more consistent with the OSX style
ui->centralWidget->layout()->setContentsMargins(0, 0, 0, 0);
ui->workspaceTreeView->setFrameShape(QFrame::NoFrame);
ui->fileTableView->setFrameShape(QFrame::NoFrame);
ui->splitterVertical->setHandleWidth(1);
ui->splitterHorizontal->setHandleWidth(1);
// Wrong color scheme on Yosemite but better than the standard TabWidget
ui->tabWidget->setDocumentMode(true);
#endif #endif
abortShortcut = new QShortcut(QKeySequence("Escape"), this); abortShortcut = new QShortcut(QKeySequence("Escape"), this);
@ -284,8 +297,9 @@ MainWindow::MainWindow(Settings &_settings, QWidget *parent, QString *workspaceP
// Create SearchBox // Create SearchBox
searchBox = new SearchBox(this); searchBox = new SearchBox(this);
searchBox->setPlaceholderText(tr("Filter (%0)").arg(searchShortcut->key().toString())); searchBox->setPlaceholderText(tr("Filter (%0)").arg(searchShortcut->key().toString(QKeySequence::NativeText)));
searchBox->setMaximumWidth(450); searchBox->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
searchBox->setMinimumWidth(230);
ui->mainToolBar->addWidget(searchBox); ui->mainToolBar->addWidget(searchBox);
connect( searchBox, connect( searchBox,
@ -293,6 +307,12 @@ MainWindow::MainWindow(Settings &_settings, QWidget *parent, QString *workspaceP
SLOT( onSearchBoxTextChanged(const QString&)), SLOT( onSearchBoxTextChanged(const QString&)),
Qt::DirectConnection ); Qt::DirectConnection );
// Add another spacer to the right
spacer = new QWidget();
spacer->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Expanding);
spacer->setMinimumWidth(3);
ui->mainToolBar->addWidget(spacer);
viewMode = VIEWMODE_TREE; viewMode = VIEWMODE_TREE;
uiCallback.init(this); uiCallback.init(this);
@ -680,11 +700,35 @@ bool MainWindow::refresh()
void MainWindow::scanWorkspace() void MainWindow::scanWorkspace()
{ {
setBusy(true); 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(), getWorkspace().scanWorkspace(ui->actionViewUnknown->isChecked(),
ui->actionViewIgnored->isChecked(), ui->actionViewIgnored->isChecked(),
ui->actionViewModified->isChecked(), ui->actionViewModified->isChecked(),
ui->actionViewUnchanged->isChecked(), ui->actionViewUnchanged->isChecked(),
settings.GetFossilValue(FOSSIL_SETTING_IGNORE_GLOB).toString(), ignore_patterns,
uiCallback, uiCallback,
operationAborted operationAborted
); );

View File

@ -54,6 +54,18 @@ QString SelectExe(QWidget *parent, const QString &description)
if(!QFile::exists(path)) if(!QFile::exists(path))
return QString(); return QString();
#ifdef Q_OS_MACX
// Guess actual executable from bundle dir
QFileInfo fi(path);
if(fi.isDir() && path.indexOf(".app")!=-1)
{
path += "/Contents/MacOS/" + fi.baseName();
if(!QFile::exists(path))
return QString();
}
#endif
return path; return path;
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@ -517,7 +529,8 @@ QString UrlToStringNoCredentials(const QUrl& url)
void SplitCommandLine(const QString &commandLine, QString &command, QString &extraParams) void SplitCommandLine(const QString &commandLine, QString &command, QString &extraParams)
{ {
// Process command string // Process command string
command = commandLine; command = commandLine.trimmed();
Q_ASSERT(!command.isEmpty()); Q_ASSERT(!command.isEmpty());
// Split command from embedded params // Split command from embedded params
@ -525,20 +538,22 @@ void SplitCommandLine(const QString &commandLine, QString &command, QString &ext
// Command ends after first space // Command ends after first space
QChar cmd_char_end = ' '; QChar cmd_char_end = ' ';
int start = 0; int cmd_start = 0;
int backtrack = 0;
// ...unless it is a quoted command // ...unless it is a quoted command
if(command[0]=='"') if(command[0]=='"')
{ {
cmd_char_end = '"'; cmd_char_end = '"';
start = 1; cmd_start = 1;
backtrack = 1;
} }
int cmd_end = command.indexOf(cmd_char_end, start); int cmd_end = command.indexOf(cmd_char_end, cmd_start);
if(cmd_end > 0) if(cmd_end > 0)
{ {
extraParams = command.mid(cmd_end+1); extraParams = command.mid(cmd_end+1);
command = command.mid(start, cmd_end-1); command = command.mid(cmd_start, cmd_end-backtrack);
} }
command = command.trimmed(); command = command.trimmed();
@ -621,3 +636,10 @@ bool SpawnExternalProcess(QObject *processParent, const QString& command, const
QProcess proc(processParent); QProcess proc(processParent);
return proc.startDetached(cmd, params); return proc.startDetached(cmd, params);
} }
//------------------------------------------------------------------------------
void TrimStringList(QStringList& list)
{
for(int i=0; i<list.length(); ++i)
list[i] = list[i].trimmed();
}

View File

@ -64,6 +64,7 @@ QString UrlToStringDisplay(const QUrl &url);
QString UrlToStringNoCredentials(const QUrl& url); QString UrlToStringNoCredentials(const QUrl& url);
void SplitCommandLine(const QString &commandLine, QString &command, QString &extraParams); 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); 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; typedef QMap<QString, QString> QStringMap;
void ParseProperties(QStringMap &properties, const QStringList &lines, QChar separator=' '); void ParseProperties(QStringMap &properties, const QStringList &lines, QChar separator=' ');

View File

@ -99,6 +99,7 @@ bool Workspace::switchWorkspace(const QString& workspace, QSettings &store)
store.endArray(); store.endArray();
store.endGroup(); store.endGroup();
#if 0 // FIXME: Disabled this because if fossil's remote does not match exactly what we have stored (url and username), it will be automatically added every-time
// Add the default url from fossil // Add the default url from fossil
QUrl default_remote; QUrl default_remote;
if(fossil().getRemoteUrl(default_remote) && default_remote.isValid() && !default_remote.isEmpty()) if(fossil().getRemoteUrl(default_remote) && default_remote.isValid() && !default_remote.isEmpty())
@ -113,12 +114,13 @@ bool Workspace::switchWorkspace(const QString& workspace, QSettings &store)
setRemoteDefault(default_remote); setRemoteDefault(default_remote);
} }
} }
#endif
return true; return true;
} }
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
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); QDir dir(dirPath);
@ -136,12 +138,12 @@ bool Workspace::scanDirectory(QFileInfoList &entries, const QString& dirPath, co
rel_path.remove(baseDir+PATH_SEPARATOR); rel_path.remove(baseDir+PATH_SEPARATOR);
// Skip ignored files // Skip ignored files
if(!ignoreSpec.isEmpty() && QDir::match(ignoreSpec, rel_path)) if(!ignorePatterns.isEmpty() && QDir::match(ignorePatterns, rel_path))
continue; continue;
if (info.isDir()) if (info.isDir())
{ {
if(!scanDirectory(entries, filepath, baseDir, ignoreSpec, abort, uiCallback)) if(!scanDirectory(entries, filepath, baseDir, ignorePatterns, abort, uiCallback))
return false; return false;
} }
else else
@ -157,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 // Scan all workspace files
QFileInfoList all_files; QFileInfoList all_files;
@ -184,14 +186,9 @@ void Workspace::scanWorkspace(bool scanLocal, bool scanIgnored, bool scanModifie
{ {
QCoreApplication::processEvents(); QCoreApplication::processEvents();
QString ignore; QStringList ignore;
// If we should not be showing ignored files, fill in the ignored spec
if(!scanIgnored) if(!scanIgnored)
{ ignore = ignorePatterns;
// QDir expects multiple specs being separated by a semicolon
ignore = ignoreGlob;
ignore.replace(',',';');
}
if(!scanDirectory(all_files, wkdir, wkdir, ignore, operationAborted, uiCallback)) if(!scanDirectory(all_files, wkdir, wkdir, ignore, operationAborted, uiCallback))
goto _done; goto _done;

View File

@ -134,7 +134,7 @@ public:
const QString & getPath() const { return fossil().getWorkspacePath(); } const QString & getPath() const { return fossil().getWorkspacePath(); }
bool switchWorkspace(const QString &workspace, QSettings &store); 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 &getFileModel() { return repoFileModel; }
QStandardItemModel &getTreeModel() { return repoTreeModel; } QStandardItemModel &getTreeModel() { return repoTreeModel; }
@ -160,7 +160,7 @@ public:
void storeWorkspace(QSettings &store); void storeWorkspace(QSettings &store);
private: 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: private:
Fossil bridge; Fossil bridge;

View File

@ -38,7 +38,7 @@
<number>4</number> <number>4</number>
</property> </property>
<item> <item>
<widget class="QSplitter" name="splitter_2"> <widget class="QSplitter" name="splitterVertical">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Expanding"> <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
<horstretch>0</horstretch> <horstretch>0</horstretch>
@ -48,7 +48,7 @@
<property name="orientation"> <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Vertical</enum>
</property> </property>
<widget class="QSplitter" name="splitter"> <widget class="QSplitter" name="splitterHorizontal">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding"> <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch> <horstretch>0</horstretch>