More refactoring
FossilOrigin-Name: e2b03b2a965ec50382ea89d374ece4a6a56b72b5
This commit is contained in:
parent
c039be3c8c
commit
762172f124
18
manifest
18
manifest
@ -1,5 +1,5 @@
|
|||||||
C Cleanups
|
C More\srefactoring\n
|
||||||
D 2015-04-27T19:04:11.301
|
D 2015-04-27T19:15:43.096
|
||||||
F .travis.yml 77966888a81c4ceee1fcc79bce842c9667ad8a35
|
F .travis.yml 77966888a81c4ceee1fcc79bce842c9667ad8a35
|
||||||
F debian/changelog eb4304dfcb6bb66850ec740838090eb50ce1249b
|
F debian/changelog eb4304dfcb6bb66850ec740838090eb50ce1249b
|
||||||
F debian/compat b6abd567fa79cbe0196d093a067271361dc6ca8b
|
F debian/compat b6abd567fa79cbe0196d093a067271361dc6ca8b
|
||||||
@ -184,8 +184,8 @@ F rsrc/icons/fuel.icns 81e535004b62db801a02f3e15d0a33afc9d4070b
|
|||||||
F rsrc/icons/fuel.ico eb529ab3332a17b9302ef3e851db5b9ebce2a038
|
F rsrc/icons/fuel.ico eb529ab3332a17b9302ef3e851db5b9ebce2a038
|
||||||
F rsrc/icons/fuel.png 40daf53b7f6bdcdd0d6aa5ef433d078ec5ea4342
|
F rsrc/icons/fuel.png 40daf53b7f6bdcdd0d6aa5ef433d078ec5ea4342
|
||||||
F rsrc/resources.qrc 4098be128fd6c045db933d041fe8844b14643a6f
|
F rsrc/resources.qrc 4098be128fd6c045db933d041fe8844b14643a6f
|
||||||
F src/Bridge.cpp 9e2881359f454238bd4d6df5f7b2a81a06c6c2db
|
F src/Bridge.cpp 00a460d33624258b29ad194297569c53cb10810f
|
||||||
F src/Bridge.h 9c1828df15fcec90777afe998663d13138633d57
|
F src/Bridge.h b121493715dd0bed15658b326a70af57f2252db7
|
||||||
F src/BrowserWidget.cpp 8b8f545cdff4a4188edc698a1b4777f5df46f056
|
F src/BrowserWidget.cpp 8b8f545cdff4a4188edc698a1b4777f5df46f056
|
||||||
F src/BrowserWidget.h 764d66aa9a93b890298bd0301097739cb4e16597
|
F src/BrowserWidget.h 764d66aa9a93b890298bd0301097739cb4e16597
|
||||||
F src/CloneDialog.cpp 812ef7d361c16da21540b7047c9d4d5e74f18539
|
F src/CloneDialog.cpp 812ef7d361c16da21540b7047c9d4d5e74f18539
|
||||||
@ -200,8 +200,8 @@ F src/FileTableView.cpp 5ddf8c391c9a3ac449ec61fb1db837b577afeec2
|
|||||||
F src/FileTableView.h 03e56d87c2d46411b9762b87f4d301619aaf18df
|
F src/FileTableView.h 03e56d87c2d46411b9762b87f4d301619aaf18df
|
||||||
F src/LoggedProcess.cpp 2a1e5c94bc1e57c8984563e66c210e43a14dc60c
|
F src/LoggedProcess.cpp 2a1e5c94bc1e57c8984563e66c210e43a14dc60c
|
||||||
F src/LoggedProcess.h 85df7c635c807a5a0e8c4763f17a0752aaff7261
|
F src/LoggedProcess.h 85df7c635c807a5a0e8c4763f17a0752aaff7261
|
||||||
F src/MainWindow.cpp e793fdec0450d49fd3b787e4ad4693fb43d936d6
|
F src/MainWindow.cpp 691e536058a9360f1a0db56c153638a196941283
|
||||||
F src/MainWindow.h 559547ce7aebd17d8bbb89195807f2a4a4ab3f76
|
F src/MainWindow.h 9e4f2887690bffa9a154e7f9666f4655584256d1
|
||||||
F src/SettingsDialog.cpp a46cff5e5dd425e3dbdd15632abfd5829f5562b4
|
F src/SettingsDialog.cpp a46cff5e5dd425e3dbdd15632abfd5829f5562b4
|
||||||
F src/SettingsDialog.h 4e2790f581e991c744ae9f86580f1972b8c7ff43
|
F src/SettingsDialog.h 4e2790f581e991c744ae9f86580f1972b8c7ff43
|
||||||
F src/Utils.cpp f78728e0817b1db23007ba0d2c5c26980ee7ebca
|
F src/Utils.cpp f78728e0817b1db23007ba0d2c5c26980ee7ebca
|
||||||
@ -215,7 +215,7 @@ F ui/CommitDialog.ui 6200f6cabdcf40a20812e811be28e0793f82516f
|
|||||||
F ui/FileActionDialog.ui 89bb4dc2d0b8adcd41adcb11ec65f2028a09a12d
|
F ui/FileActionDialog.ui 89bb4dc2d0b8adcd41adcb11ec65f2028a09a12d
|
||||||
F ui/MainWindow.ui 8677f5c8bca5bf7561d5f64bfdd0cef5157c6ac7
|
F ui/MainWindow.ui 8677f5c8bca5bf7561d5f64bfdd0cef5157c6ac7
|
||||||
F ui/SettingsDialog.ui 2b7c2870e0054b0f4106f495d85d02c0b814df8b
|
F ui/SettingsDialog.ui 2b7c2870e0054b0f4106f495d85d02c0b814df8b
|
||||||
P ee4cf9240e411dfdfc7a4d2b69456fb38a2300c8
|
P b6473fc40399a46731c8741ceed7d3432d687c5a
|
||||||
R 0cc42bee3118407cae720e60ef185e0c
|
R 217c3c621c2a2ca89f57d3cea5717343
|
||||||
U kostas
|
U kostas
|
||||||
Z f46004bc190ae5569498873da8760a7b
|
Z 2a41dd117ed487365f20972afe89eb8f
|
||||||
|
@ -1 +1 @@
|
|||||||
b6473fc40399a46731c8741ceed7d3432d687c5a
|
e2b03b2a965ec50382ea89d374ece4a6a56b72b5
|
@ -18,7 +18,6 @@ static const QRegExp REGEX_STASH("\\s*(\\d+):\\s+\\[(.*)\\] on (\\d+)-(\\d+)-(
|
|||||||
#define FOSSIL_CHECKOUT1 "_FOSSIL_"
|
#define FOSSIL_CHECKOUT1 "_FOSSIL_"
|
||||||
#define FOSSIL_CHECKOUT2 ".fslckout"
|
#define FOSSIL_CHECKOUT2 ".fslckout"
|
||||||
#define FOSSIL_EXT "fossil"
|
#define FOSSIL_EXT "fossil"
|
||||||
#define PATH_SEP "/"
|
|
||||||
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
@ -39,7 +38,7 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
Bridge::RepoStatus Bridge::getRepoStatus()
|
RepoStatus Bridge::getRepoStatus()
|
||||||
{
|
{
|
||||||
QStringList res;
|
QStringList res;
|
||||||
int exit_code = EXIT_FAILURE;
|
int exit_code = EXIT_FAILURE;
|
||||||
@ -782,8 +781,8 @@ bool Bridge::isWorkspace(const QString &path)
|
|||||||
QFileInfo fi(path);
|
QFileInfo fi(path);
|
||||||
QString wkspace = path;
|
QString wkspace = path;
|
||||||
wkspace = fi.absoluteDir().absolutePath();
|
wkspace = fi.absoluteDir().absolutePath();
|
||||||
QString checkout_file1 = wkspace + PATH_SEP + FOSSIL_CHECKOUT1;
|
QString checkout_file1 = wkspace + PATH_SEPARATOR + FOSSIL_CHECKOUT1;
|
||||||
QString checkout_file2 = wkspace + PATH_SEP + FOSSIL_CHECKOUT2;
|
QString checkout_file2 = wkspace + PATH_SEPARATOR + FOSSIL_CHECKOUT2;
|
||||||
|
|
||||||
return (QFileInfo(checkout_file1).exists() || QFileInfo(checkout_file2).exists());
|
return (QFileInfo(checkout_file1).exists() || QFileInfo(checkout_file2).exists());
|
||||||
}
|
}
|
||||||
|
15
src/Bridge.h
15
src/Bridge.h
@ -8,6 +8,8 @@ class QStringList;
|
|||||||
|
|
||||||
typedef QMap<QString, QString> stashmap_t;
|
typedef QMap<QString, QString> stashmap_t;
|
||||||
|
|
||||||
|
#define PATH_SEPARATOR "/"
|
||||||
|
|
||||||
enum RunFlags
|
enum RunFlags
|
||||||
{
|
{
|
||||||
RUNFLAGS_NONE = 0<<0,
|
RUNFLAGS_NONE = 0<<0,
|
||||||
@ -17,6 +19,13 @@ enum RunFlags
|
|||||||
RUNFLAGS_DETACHED = 1<<2
|
RUNFLAGS_DETACHED = 1<<2
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum RepoStatus
|
||||||
|
{
|
||||||
|
REPO_OK,
|
||||||
|
REPO_NOT_FOUND,
|
||||||
|
REPO_OLD_SCHEMA
|
||||||
|
};
|
||||||
|
|
||||||
class Bridge : public QObject
|
class Bridge : public QObject
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@ -50,12 +59,6 @@ public:
|
|||||||
bool runFossilRaw(const QStringList &args, QStringList *output, int *exitCode, int runFlags);
|
bool runFossilRaw(const QStringList &args, QStringList *output, int *exitCode, int runFlags);
|
||||||
|
|
||||||
static bool isWorkspace(const QString &path);
|
static bool isWorkspace(const QString &path);
|
||||||
enum RepoStatus
|
|
||||||
{
|
|
||||||
REPO_OK,
|
|
||||||
REPO_NOT_FOUND,
|
|
||||||
REPO_OLD_SCHEMA
|
|
||||||
};
|
|
||||||
|
|
||||||
RepoStatus getRepoStatus();
|
RepoStatus getRepoStatus();
|
||||||
|
|
||||||
|
@ -25,12 +25,12 @@
|
|||||||
#include "Utils.h"
|
#include "Utils.h"
|
||||||
#include "LoggedProcess.h"
|
#include "LoggedProcess.h"
|
||||||
|
|
||||||
#define PATH_SEP "/"
|
#ifndef BRIDGE_ENABLED
|
||||||
|
|
||||||
static const unsigned char UTF8_BOM[] = { 0xEF, 0xBB, 0xBF };
|
static const unsigned char UTF8_BOM[] = { 0xEF, 0xBB, 0xBF };
|
||||||
|
|
||||||
// 19: [5c46757d4b9765] on 2012-04-22 04:41:15
|
// 19: [5c46757d4b9765] on 2012-04-22 04:41:15
|
||||||
static const QRegExp REGEX_STASH("\\s*(\\d+):\\s+\\[(.*)\\] on (\\d+)-(\\d+)-(\\d+) (\\d+):(\\d+):(\\d+)", Qt::CaseInsensitive);
|
static const QRegExp REGEX_STASH("\\s*(\\d+):\\s+\\[(.*)\\] on (\\d+)-(\\d+)-(\\d+) (\\d+):(\\d+):(\\d+)", Qt::CaseInsensitive);
|
||||||
|
#endif
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
enum
|
enum
|
||||||
@ -317,8 +317,8 @@ bool MainWindow::openWorkspace(const QString &path)
|
|||||||
if(fi.isFile())
|
if(fi.isFile())
|
||||||
{
|
{
|
||||||
wkspace = fi.absoluteDir().absolutePath();
|
wkspace = fi.absoluteDir().absolutePath();
|
||||||
QString checkout_file1 = wkspace + PATH_SEP + FOSSIL_CHECKOUT1;
|
QString checkout_file1 = wkspace + PATH_SEPARATOR + FOSSIL_CHECKOUT1;
|
||||||
QString checkout_file2 = wkspace + PATH_SEP + FOSSIL_CHECKOUT2;
|
QString checkout_file2 = wkspace + PATH_SEPARATOR + FOSSIL_CHECKOUT2;
|
||||||
|
|
||||||
if(!(QFileInfo(checkout_file1).exists() || QFileInfo(checkout_file2).exists()) )
|
if(!(QFileInfo(checkout_file1).exists() || QFileInfo(checkout_file2).exists()) )
|
||||||
{
|
{
|
||||||
@ -492,8 +492,13 @@ void MainWindow::on_actionNewRepository_triggered()
|
|||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
void MainWindow::on_actionCloseRepository_triggered()
|
void MainWindow::on_actionCloseRepository_triggered()
|
||||||
{
|
{
|
||||||
|
#ifndef BRIDGE_ENABLED
|
||||||
if(getRepoStatus()!=REPO_OK)
|
if(getRepoStatus()!=REPO_OK)
|
||||||
return;
|
return;
|
||||||
|
#else
|
||||||
|
if(bridge.getRepoStatus()!=REPO_OK)
|
||||||
|
return;
|
||||||
|
#endif
|
||||||
|
|
||||||
if(QMessageBox::Yes !=DialogQuery(this, tr("Close Workspace"), tr("Are you sure you want to close this workspace?")))
|
if(QMessageBox::Yes !=DialogQuery(this, tr("Close Workspace"), tr("Are you sure you want to close this workspace?")))
|
||||||
return;
|
return;
|
||||||
@ -581,7 +586,6 @@ void MainWindow::rebuildRecent()
|
|||||||
recentWorkspaceActs[i]->setData(workspaceHistory[i]);
|
recentWorkspaceActs[i]->setData(workspaceHistory[i]);
|
||||||
recentWorkspaceActs[i]->setVisible(true);
|
recentWorkspaceActs[i]->setVisible(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
@ -613,7 +617,7 @@ bool MainWindow::scanDirectory(QFileInfoList &entries, const QString& dirPath, c
|
|||||||
QFileInfo info = list[i];
|
QFileInfo info = list[i];
|
||||||
QString filepath = info.filePath();
|
QString filepath = info.filePath();
|
||||||
QString rel_path = filepath;
|
QString rel_path = filepath;
|
||||||
rel_path.remove(baseDir+PATH_SEP);
|
rel_path.remove(baseDir+PATH_SEPARATOR);
|
||||||
|
|
||||||
// Skip ignored files
|
// Skip ignored files
|
||||||
if(!ignoreSpec.isEmpty() && QDir::match(ignoreSpec, rel_path))
|
if(!ignoreSpec.isEmpty() && QDir::match(ignoreSpec, rel_path))
|
||||||
@ -661,7 +665,11 @@ bool MainWindow::refresh()
|
|||||||
QString title = "Fuel";
|
QString title = "Fuel";
|
||||||
|
|
||||||
// Load repository info
|
// Load repository info
|
||||||
|
#ifndef BRIDGE_ENABLED
|
||||||
RepoStatus st = getRepoStatus();
|
RepoStatus st = getRepoStatus();
|
||||||
|
#else
|
||||||
|
RepoStatus st = bridge.getRepoStatus();
|
||||||
|
#endif
|
||||||
|
|
||||||
if(st==REPO_NOT_FOUND)
|
if(st==REPO_NOT_FOUND)
|
||||||
{
|
{
|
||||||
@ -1018,7 +1026,7 @@ void MainWindow::updateFileView()
|
|||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
#ifndef BRIDGE_ENABLED
|
#ifndef BRIDGE_ENABLED
|
||||||
MainWindow::RepoStatus MainWindow::getRepoStatus()
|
RepoStatus MainWindow::getRepoStatus()
|
||||||
{
|
{
|
||||||
QStringList res;
|
QStringList res;
|
||||||
int exit_code = EXIT_FAILURE;
|
int exit_code = EXIT_FAILURE;
|
||||||
@ -1059,11 +1067,13 @@ MainWindow::RepoStatus MainWindow::getRepoStatus()
|
|||||||
return run_ok ? REPO_OK : REPO_NOT_FOUND;
|
return run_ok ? REPO_OK : REPO_NOT_FOUND;
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
|
#if 0
|
||||||
MainWindow::RepoStatus MainWindow::getRepoStatus()
|
MainWindow::RepoStatus MainWindow::getRepoStatus()
|
||||||
{
|
{
|
||||||
return (MainWindow::RepoStatus) bridge.getRepoStatus();
|
return (MainWindow::RepoStatus) bridge.getRepoStatus();
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
void MainWindow::updateStashView()
|
void MainWindow::updateStashView()
|
||||||
{
|
{
|
||||||
@ -2479,7 +2489,7 @@ void MainWindow::on_actionOpenFolder_triggered()
|
|||||||
void MainWindow::on_treeView_doubleClicked(const QModelIndex &index)
|
void MainWindow::on_treeView_doubleClicked(const QModelIndex &index)
|
||||||
{
|
{
|
||||||
QString target = repoDirModel.data(index, REPODIRMODEL_ROLE_PATH).toString();
|
QString target = repoDirModel.data(index, REPODIRMODEL_ROLE_PATH).toString();
|
||||||
target = getCurrentWorkspace() + PATH_SEP + target;
|
target = getCurrentWorkspace() + PATH_SEPARATOR + target;
|
||||||
|
|
||||||
QUrl url = QUrl::fromLocalFile(target);
|
QUrl url = QUrl::fromLocalFile(target);
|
||||||
QDesktopServices::openUrl(url);
|
QDesktopServices::openUrl(url);
|
||||||
@ -2504,7 +2514,7 @@ void MainWindow::on_actionRenameFolder_triggered()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int dir_start = old_path.lastIndexOf(PATH_SEP);
|
int dir_start = old_path.lastIndexOf(PATH_SEPARATOR);
|
||||||
if(dir_start==-1)
|
if(dir_start==-1)
|
||||||
dir_start = 0;
|
dir_start = 0;
|
||||||
else
|
else
|
||||||
@ -2550,7 +2560,7 @@ void MainWindow::on_actionRenameFolder_triggered()
|
|||||||
files_to_move.append(r);
|
files_to_move.append(r);
|
||||||
QString new_dir = new_path + r->getPath().mid(old_path.length());
|
QString new_dir = new_path + r->getPath().mid(old_path.length());
|
||||||
new_paths.append(new_dir);
|
new_paths.append(new_dir);
|
||||||
QString new_file_path = new_dir + PATH_SEP + r->getFilename();
|
QString new_file_path = new_dir + PATH_SEPARATOR + r->getFilename();
|
||||||
operations.append(r->getFilePath() + " -> " + new_file_path);
|
operations.append(r->getFilePath() + " -> " + new_file_path);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2570,7 +2580,7 @@ void MainWindow::on_actionRenameFolder_triggered()
|
|||||||
for(int i=0; i<files_to_move.length(); ++i)
|
for(int i=0; i<files_to_move.length(); ++i)
|
||||||
{
|
{
|
||||||
RepoFile *r = files_to_move[i];
|
RepoFile *r = files_to_move[i];
|
||||||
const QString &new_file_path = new_paths[i] + PATH_SEP + r->getFilename();
|
const QString &new_file_path = new_paths[i] + PATH_SEPARATOR + r->getFilename();
|
||||||
|
|
||||||
#ifndef BRIDGE_ENABLED
|
#ifndef BRIDGE_ENABLED
|
||||||
if(!runFossil(QStringList() << "mv" << QuotePath(r->getFilePath()) << QuotePath(new_file_path)))
|
if(!runFossil(QStringList() << "mv" << QuotePath(r->getFilePath()) << QuotePath(new_file_path)))
|
||||||
@ -2589,7 +2599,7 @@ void MainWindow::on_actionRenameFolder_triggered()
|
|||||||
// First ensure that the target directories exist, and if not make them
|
// First ensure that the target directories exist, and if not make them
|
||||||
for(int i=0; i<files_to_move.length(); ++i)
|
for(int i=0; i<files_to_move.length(); ++i)
|
||||||
{
|
{
|
||||||
QString target_path = QDir::cleanPath(getCurrentWorkspace() + PATH_SEP + new_paths[i] + PATH_SEP);
|
QString target_path = QDir::cleanPath(getCurrentWorkspace() + PATH_SEPARATOR + new_paths[i] + PATH_SEPARATOR);
|
||||||
QDir target(target_path);
|
QDir target(target_path);
|
||||||
|
|
||||||
if(target.exists())
|
if(target.exists())
|
||||||
@ -2599,7 +2609,7 @@ void MainWindow::on_actionRenameFolder_triggered()
|
|||||||
Q_ASSERT(wkdir.exists());
|
Q_ASSERT(wkdir.exists());
|
||||||
|
|
||||||
log(tr("Creating folder '%0'").arg(target_path)+"\n");
|
log(tr("Creating folder '%0'").arg(target_path)+"\n");
|
||||||
if(!wkdir.mkpath(new_paths[i] + PATH_SEP + "."))
|
if(!wkdir.mkpath(new_paths[i] + PATH_SEPARATOR + "."))
|
||||||
{
|
{
|
||||||
QMessageBox::critical(this, tr("Error"), tr("Cannot make target folder '%0'").arg(target_path));
|
QMessageBox::critical(this, tr("Error"), tr("Cannot make target folder '%0'").arg(target_path));
|
||||||
goto _exit;
|
goto _exit;
|
||||||
@ -2610,7 +2620,7 @@ void MainWindow::on_actionRenameFolder_triggered()
|
|||||||
for(int i=0; i<files_to_move.length(); ++i)
|
for(int i=0; i<files_to_move.length(); ++i)
|
||||||
{
|
{
|
||||||
RepoFile *r = files_to_move[i];
|
RepoFile *r = files_to_move[i];
|
||||||
QString new_file_path = new_paths[i] + PATH_SEP + r->getFilename();
|
QString new_file_path = new_paths[i] + PATH_SEPARATOR + r->getFilename();
|
||||||
|
|
||||||
if(QFile::exists(new_file_path))
|
if(QFile::exists(new_file_path))
|
||||||
{
|
{
|
||||||
|
@ -168,14 +168,9 @@ private:
|
|||||||
void setBusy(bool busy);
|
void setBusy(bool busy);
|
||||||
virtual QMenu *createPopupMenu();
|
virtual QMenu *createPopupMenu();
|
||||||
|
|
||||||
enum RepoStatus
|
#ifndef BRIDGE_ENABLED
|
||||||
{
|
|
||||||
REPO_OK,
|
|
||||||
REPO_NOT_FOUND,
|
|
||||||
REPO_OLD_SCHEMA
|
|
||||||
};
|
|
||||||
|
|
||||||
RepoStatus getRepoStatus();
|
RepoStatus getRepoStatus();
|
||||||
|
#endif
|
||||||
|
|
||||||
enum ViewMode
|
enum ViewMode
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user