Initial work on new workspace view
FossilOrigin-Name: 64386745ebf2d2fa921a51383bd76241947b879c
This commit is contained in:
parent
b796cde81b
commit
2bf3de6c2b
18
manifest
18
manifest
@ -1,5 +1,5 @@
|
|||||||
C Merged\srefactor\nAdded\smissing\sstatus\sUPDATED_BY_MERGE\s\nFixed\sparsing\sof\sfile\sstatus
|
C Initial\swork\son\snew\sworkspace\sview\n
|
||||||
D 2015-04-30T17:43:40.786
|
D 2015-05-01T19:04:02.737
|
||||||
F .travis.yml 77966888a81c4ceee1fcc79bce842c9667ad8a35
|
F .travis.yml 77966888a81c4ceee1fcc79bce842c9667ad8a35
|
||||||
F debian/changelog eb4304dfcb6bb66850ec740838090eb50ce1249b
|
F debian/changelog eb4304dfcb6bb66850ec740838090eb50ce1249b
|
||||||
F debian/compat b6abd567fa79cbe0196d093a067271361dc6ca8b
|
F debian/compat b6abd567fa79cbe0196d093a067271361dc6ca8b
|
||||||
@ -200,13 +200,13 @@ F src/Fossil.cpp b54d136f05764535636da04bcc5f60b2eb97e5b6
|
|||||||
F src/Fossil.h e46ec6cdb5c23a34176050fbd90e561ac87c07f9
|
F src/Fossil.h e46ec6cdb5c23a34176050fbd90e561ac87c07f9
|
||||||
F src/LoggedProcess.cpp 2a1e5c94bc1e57c8984563e66c210e43a14dc60c
|
F src/LoggedProcess.cpp 2a1e5c94bc1e57c8984563e66c210e43a14dc60c
|
||||||
F src/LoggedProcess.h 85df7c635c807a5a0e8c4763f17a0752aaff7261
|
F src/LoggedProcess.h 85df7c635c807a5a0e8c4763f17a0752aaff7261
|
||||||
F src/MainWindow.cpp b8d87316df5ca82d6ac9bb0960304ab39489a91f
|
F src/MainWindow.cpp 7f3b06953194c1aa46511b49906edab8c194930d
|
||||||
F src/MainWindow.h d8d376f2efbf47c7a0241bb574994dbcf92300fb
|
F src/MainWindow.h 5e0b71e6b795c32ae4207ffb44aa056b52674a10
|
||||||
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
|
||||||
F src/Utils.h 8ad68bd227bd999eb6ea92a70bb4be2d6788d912
|
F src/Utils.h 8ad68bd227bd999eb6ea92a70bb4be2d6788d912
|
||||||
F src/Workspace.cpp 199ec5f5aee9e8d9997617aa879cb9a14dafcb1b
|
F src/Workspace.cpp 114daa2d44228ac253056fdf74a45e977d181475
|
||||||
F src/Workspace.h 9f1d34320abb378ae5a6e3360f8c8a5949029b88
|
F src/Workspace.h 9f1d34320abb378ae5a6e3360f8c8a5949029b88
|
||||||
F src/main.cpp 2ac8badc2a63fa123ceae53382ce24cfe1b5a54b
|
F src/main.cpp 2ac8badc2a63fa123ceae53382ce24cfe1b5a54b
|
||||||
F tools/git-push.sh 62cc58434cae5b7bcd6bd9d4cce8b08739f31cd7 x
|
F tools/git-push.sh 62cc58434cae5b7bcd6bd9d4cce8b08739f31cd7 x
|
||||||
@ -215,9 +215,9 @@ F ui/BrowserWidget.ui 5ad98b13773afadb20a1a2c22148aaebe5dbd95d
|
|||||||
F ui/CloneDialog.ui 4886e7d4f258ea8b852b5eefc860396e35145712
|
F ui/CloneDialog.ui 4886e7d4f258ea8b852b5eefc860396e35145712
|
||||||
F ui/CommitDialog.ui 6200f6cabdcf40a20812e811be28e0793f82516f
|
F ui/CommitDialog.ui 6200f6cabdcf40a20812e811be28e0793f82516f
|
||||||
F ui/FileActionDialog.ui 89bb4dc2d0b8adcd41adcb11ec65f2028a09a12d
|
F ui/FileActionDialog.ui 89bb4dc2d0b8adcd41adcb11ec65f2028a09a12d
|
||||||
F ui/MainWindow.ui c02f609b7f3a33c9be5f420591466ae5e398a988
|
F ui/MainWindow.ui ef46a06e46eb465703a8b7353b079c2e538104d7
|
||||||
F ui/SettingsDialog.ui 2b7c2870e0054b0f4106f495d85d02c0b814df8b
|
F ui/SettingsDialog.ui 2b7c2870e0054b0f4106f495d85d02c0b814df8b
|
||||||
P e54f1cacad13f429891d89053a208cd340386a3b 54059126aee6bb232373c1f134cc07ea0a6f4cca
|
P f82fab41453e6ccf28c60e89ce567635ffab25a3
|
||||||
R c8caf9794c01c2e9f28e7aab2d817e71
|
R eb515f213709887707816d20f04a41de
|
||||||
U kostas
|
U kostas
|
||||||
Z 2db0b96e08403561e015298ad9ef24fd
|
Z 79fc4cbaace7ceb95ba923e30451b76b
|
||||||
|
@ -1 +1 @@
|
|||||||
f82fab41453e6ccf28c60e89ce567635ffab25a3
|
64386745ebf2d2fa921a51383bd76241947b879c
|
@ -38,6 +38,50 @@ enum
|
|||||||
REPODIRMODEL_ROLE_PATH = Qt::UserRole+1
|
REPODIRMODEL_ROLE_PATH = Qt::UserRole+1
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct TreeViewItem
|
||||||
|
{
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
TYPE_UNKNOWN,
|
||||||
|
TYPE_WORKSPACE,
|
||||||
|
TYPE_FOLDER,
|
||||||
|
TYPE_STASHES,
|
||||||
|
TYPE_STASH,
|
||||||
|
TYPE_BRANCHES,
|
||||||
|
TYPE_BRANCH,
|
||||||
|
TYPE_TAGS,
|
||||||
|
TYPE_TAG,
|
||||||
|
TYPE_REMOTES,
|
||||||
|
TYPE_SETTINGS
|
||||||
|
};
|
||||||
|
|
||||||
|
TreeViewItem()
|
||||||
|
: Type(TYPE_UNKNOWN)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
TreeViewItem(int type, const QString &value)
|
||||||
|
: Type(type), Value(value)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
TreeViewItem(const TreeViewItem &other)
|
||||||
|
{
|
||||||
|
Type = other.Type;
|
||||||
|
Value = other.Value;
|
||||||
|
}
|
||||||
|
|
||||||
|
int Type;
|
||||||
|
QString Value;
|
||||||
|
|
||||||
|
operator QVariant() const
|
||||||
|
{
|
||||||
|
return QVariant::fromValue(*this);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
Q_DECLARE_METATYPE(TreeViewItem)
|
||||||
|
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
typedef QMap<QString, QString> QStringMap;
|
typedef QMap<QString, QString> QStringMap;
|
||||||
static QStringMap MakeKeyValues(QStringList lines)
|
static QStringMap MakeKeyValues(QStringList lines)
|
||||||
@ -114,14 +158,16 @@ MainWindow::MainWindow(Settings &_settings, QWidget *parent, QString *workspaceP
|
|||||||
SLOT( onWorkspaceTreeViewSelectionChanged(const QItemSelection &, const QItemSelection &) ),
|
SLOT( onWorkspaceTreeViewSelectionChanged(const QItemSelection &, const QItemSelection &) ),
|
||||||
Qt::DirectConnection );
|
Qt::DirectConnection );
|
||||||
|
|
||||||
ui->workspaceTreeView->addAction(ui->actionCommit);
|
// Workspace Menus
|
||||||
ui->workspaceTreeView->addAction(ui->actionOpenFolder);
|
menuWorkspace = new QMenu(this);
|
||||||
ui->workspaceTreeView->addAction(ui->actionAdd);
|
menuWorkspace->addAction(ui->actionCommit);
|
||||||
ui->workspaceTreeView->addAction(ui->actionRevert);
|
menuWorkspace->addAction(ui->actionOpenFolder);
|
||||||
ui->workspaceTreeView->addAction(ui->actionDelete);
|
menuWorkspace->addAction(ui->actionAdd);
|
||||||
ui->workspaceTreeView->addAction(separator);
|
menuWorkspace->addAction(ui->actionRevert);
|
||||||
ui->workspaceTreeView->addAction(ui->actionRenameFolder);
|
menuWorkspace->addAction(ui->actionDelete);
|
||||||
ui->workspaceTreeView->addAction(ui->actionOpenFolder);
|
menuWorkspace->addAction(separator);
|
||||||
|
menuWorkspace->addAction(ui->actionRenameFolder);
|
||||||
|
menuWorkspace->addAction(ui->actionOpenFolder);
|
||||||
|
|
||||||
// StashView
|
// StashView
|
||||||
ui->stashTableView->setModel(&getWorkspace().getStashModel());
|
ui->stashTableView->setModel(&getWorkspace().getStashModel());
|
||||||
@ -130,6 +176,12 @@ MainWindow::MainWindow(Settings &_settings, QWidget *parent, QString *workspaceP
|
|||||||
ui->stashTableView->addAction(ui->actionDeleteStash);
|
ui->stashTableView->addAction(ui->actionDeleteStash);
|
||||||
ui->stashTableView->horizontalHeader()->setSortIndicatorShown(false);
|
ui->stashTableView->horizontalHeader()->setSortIndicatorShown(false);
|
||||||
|
|
||||||
|
// StashMenu
|
||||||
|
menuStashes = new QMenu(this);
|
||||||
|
menuStashes->addAction(ui->actionApplyStash);
|
||||||
|
menuStashes->addAction(ui->actionDiffStash);
|
||||||
|
menuStashes->addAction(ui->actionDeleteStash);
|
||||||
|
|
||||||
// Recent Workspaces
|
// Recent Workspaces
|
||||||
// Locate a sequence of two separator actions in file menu
|
// Locate a sequence of two separator actions in file menu
|
||||||
QList<QAction*> file_actions = ui->menuFile->actions();
|
QList<QAction*> file_actions = ui->menuFile->actions();
|
||||||
@ -590,7 +642,7 @@ static void addPathToTree(QStandardItem &root, const QString &path)
|
|||||||
if(!found) // Generate it
|
if(!found) // Generate it
|
||||||
{
|
{
|
||||||
QStandardItem *child = new QStandardItem(QIcon(":icons/icons/Folder-01.png"), dir);
|
QStandardItem *child = new QStandardItem(QIcon(":icons/icons/Folder-01.png"), dir);
|
||||||
child->setData(fullpath); // keep the full path to simplify selection
|
child->setData(TreeViewItem(TreeViewItem::TYPE_FOLDER, fullpath), REPODIRMODEL_ROLE_PATH);
|
||||||
parent->appendRow(child);
|
parent->appendRow(child);
|
||||||
parent = child;
|
parent = child;
|
||||||
}
|
}
|
||||||
@ -605,24 +657,61 @@ void MainWindow::updateDirView()
|
|||||||
getWorkspace().getDirModel().clear();
|
getWorkspace().getDirModel().clear();
|
||||||
|
|
||||||
QStringList header;
|
QStringList header;
|
||||||
header << tr("Folders");
|
header << fossil().getProjectName();
|
||||||
getWorkspace().getDirModel().setHorizontalHeaderLabels(header);
|
getWorkspace().getDirModel().setHorizontalHeaderLabels(header);
|
||||||
|
|
||||||
QStandardItem *root = new QStandardItem(QIcon(":icons/icons/My Documents-01.png"), fossil().getProjectName());
|
QStandardItem *workspace = new QStandardItem(QIcon(":icons/icons/Folder-01.png"), "Workspace");
|
||||||
root->setData(""); // Empty Path
|
workspace->setData(TreeViewItem(TreeViewItem::TYPE_WORKSPACE, ""), REPODIRMODEL_ROLE_PATH);
|
||||||
root->setEditable(false);
|
workspace->setEditable(false);
|
||||||
|
|
||||||
getWorkspace().getDirModel().appendRow(root);
|
getWorkspace().getDirModel().appendRow(workspace);
|
||||||
|
if(viewMode == VIEWMODE_TREE)
|
||||||
|
{
|
||||||
for(stringset_t::iterator it = getWorkspace().getPaths().begin(); it!=getWorkspace().getPaths().end(); ++it)
|
for(stringset_t::iterator it = getWorkspace().getPaths().begin(); it!=getWorkspace().getPaths().end(); ++it)
|
||||||
{
|
{
|
||||||
const QString &dir = *it;
|
const QString &dir = *it;
|
||||||
if(dir.isEmpty())
|
if(dir.isEmpty())
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
addPathToTree(*root, dir);
|
addPathToTree(*workspace, dir);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
QStandardItem *branches = new QStandardItem(QIcon(":icons/icons/Document Organization Chart-01.png"), "Branches");
|
||||||
|
branches->setData(TreeViewItem(TreeViewItem::TYPE_BRANCHES, ""), REPODIRMODEL_ROLE_PATH);
|
||||||
|
branches->setEditable(false);
|
||||||
|
getWorkspace().getDirModel().appendRow(branches);
|
||||||
|
|
||||||
|
QStandardItem *stashes = new QStandardItem(QIcon(":icons/icons/My Documents-01.png"), "Stashes");
|
||||||
|
stashes->setData(TreeViewItem(TreeViewItem::TYPE_STASHES, ""), REPODIRMODEL_ROLE_PATH);
|
||||||
|
stashes->setEditable(false);
|
||||||
|
getWorkspace().getDirModel().appendRow(stashes);
|
||||||
|
for(stashmap_t::const_iterator it= getWorkspace().getStashes().begin(); it!=getWorkspace().getStashes().end(); ++it)
|
||||||
|
{
|
||||||
|
QStandardItem *stash = new QStandardItem(QIcon(":icons/icons/Folder-01.png"), it.key());
|
||||||
|
stash->setData(TreeViewItem(TreeViewItem::TYPE_STASH, it.value()), REPODIRMODEL_ROLE_PATH);
|
||||||
|
stashes->appendRow(stash);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
QStandardItem *tags = new QStandardItem(QIcon(":icons/icons/Book-01.png"), "Tags");
|
||||||
|
tags->setData(TreeViewItem(TreeViewItem::TYPE_TAGS, ""), REPODIRMODEL_ROLE_PATH);
|
||||||
|
tags->setEditable(false);
|
||||||
|
getWorkspace().getDirModel().appendRow(tags);
|
||||||
|
|
||||||
|
QStandardItem *remotes = new QStandardItem(QIcon(":icons/icons/Network PC-01.png"), "Remotes");
|
||||||
|
remotes->setData(TreeViewItem(TreeViewItem::TYPE_REMOTES, ""), REPODIRMODEL_ROLE_PATH);
|
||||||
|
remotes->setEditable(false);
|
||||||
|
getWorkspace().getDirModel().appendRow(remotes);
|
||||||
|
|
||||||
|
QStandardItem *settings = new QStandardItem(QIcon(":icons/icons/Gear-01.png"), "Settings");
|
||||||
|
settings->setData(TreeViewItem(TreeViewItem::TYPE_SETTINGS, ""), REPODIRMODEL_ROLE_PATH);
|
||||||
|
settings->setEditable(false);
|
||||||
|
getWorkspace().getDirModel().appendRow(settings);
|
||||||
|
|
||||||
|
|
||||||
ui->workspaceTreeView->expandToDepth(0);
|
ui->workspaceTreeView->expandToDepth(0);
|
||||||
ui->workspaceTreeView->sortByColumn(0, Qt::AscendingOrder);
|
//ui->workspaceTreeView->sortByColumn(0, Qt::AscendingOrder);
|
||||||
}
|
}
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
@ -817,7 +906,7 @@ void MainWindow::applySettings()
|
|||||||
ui->actionViewAsList->setChecked(store->value("ViewAsList").toBool());
|
ui->actionViewAsList->setChecked(store->value("ViewAsList").toBool());
|
||||||
viewMode = store->value("ViewAsList").toBool()? VIEWMODE_LIST : VIEWMODE_TREE;
|
viewMode = store->value("ViewAsList").toBool()? VIEWMODE_LIST : VIEWMODE_TREE;
|
||||||
}
|
}
|
||||||
ui->workspaceTreeView->setVisible(viewMode == VIEWMODE_TREE);
|
//ui->workspaceTreeView->setVisible(viewMode == VIEWMODE_TREE);
|
||||||
|
|
||||||
if(store->contains("ViewStash"))
|
if(store->contains("ViewStash"))
|
||||||
ui->actionViewStash->setChecked(store->value("ViewStash").toBool());
|
ui->actionViewStash->setChecked(store->value("ViewStash").toBool());
|
||||||
@ -867,6 +956,7 @@ void MainWindow::updateSettings()
|
|||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
void MainWindow::selectRootDir()
|
void MainWindow::selectRootDir()
|
||||||
{
|
{
|
||||||
|
// FIXME: KKK
|
||||||
if(viewMode==VIEWMODE_TREE)
|
if(viewMode==VIEWMODE_TREE)
|
||||||
{
|
{
|
||||||
QModelIndex root_index = ui->workspaceTreeView->model()->index(0, 0);
|
QModelIndex root_index = ui->workspaceTreeView->model()->index(0, 0);
|
||||||
@ -906,11 +996,15 @@ void MainWindow::getSelectionPaths(stringset_t &paths)
|
|||||||
{
|
{
|
||||||
// Determine the directories selected
|
// Determine the directories selected
|
||||||
QModelIndexList selection = ui->workspaceTreeView->selectionModel()->selectedIndexes();
|
QModelIndexList selection = ui->workspaceTreeView->selectionModel()->selectedIndexes();
|
||||||
for(QModelIndexList::iterator mi_it = selection.begin(); mi_it!=selection.end(); ++mi_it)
|
foreach(const QModelIndex &mi, selection)
|
||||||
{
|
{
|
||||||
const QModelIndex &mi = *mi_it;
|
QVariant data = Workspace().getDirModel().data(mi, REPODIRMODEL_ROLE_PATH);
|
||||||
QVariant data = getWorkspace().getDirModel().data(mi, REPODIRMODEL_ROLE_PATH);
|
Q_ASSERT(data.isValid());
|
||||||
paths.insert(data.toString());
|
TreeViewItem tv = data.value<TreeViewItem>();
|
||||||
|
if(tv.Type != TreeViewItem::TYPE_FOLDER)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
paths.insert(tv.Value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
@ -1503,7 +1597,10 @@ void MainWindow::on_actionViewIgnored_triggered()
|
|||||||
void MainWindow::on_actionViewAsList_triggered()
|
void MainWindow::on_actionViewAsList_triggered()
|
||||||
{
|
{
|
||||||
viewMode = ui->actionViewAsList->isChecked() ? VIEWMODE_LIST : VIEWMODE_TREE;
|
viewMode = ui->actionViewAsList->isChecked() ? VIEWMODE_LIST : VIEWMODE_TREE;
|
||||||
|
#if 0
|
||||||
ui->workspaceTreeView->setVisible(viewMode == VIEWMODE_TREE);
|
ui->workspaceTreeView->setVisible(viewMode == VIEWMODE_TREE);
|
||||||
|
#endif
|
||||||
|
updateDirView();
|
||||||
updateFileView();
|
updateFileView();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1517,24 +1614,35 @@ QString MainWindow::getFossilHttpAddress()
|
|||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
void MainWindow::onWorkspaceTreeViewSelectionChanged(const QItemSelection &/*selected*/, const QItemSelection &/*deselected*/)
|
void MainWindow::onWorkspaceTreeViewSelectionChanged(const QItemSelection &/*selected*/, const QItemSelection &/*deselected*/)
|
||||||
{
|
{
|
||||||
QModelIndexList selection = ui->workspaceTreeView->selectionModel()->selectedIndexes();
|
QModelIndexList indices = ui->workspaceTreeView->selectionModel()->selectedIndexes();
|
||||||
int num_selected = selection.count();
|
|
||||||
|
|
||||||
// Do not modify the selection if nothing is selected
|
// Do not modify the selection if nothing is selected
|
||||||
if(num_selected==0)
|
if(indices.empty())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
selectedDirs.clear();
|
stringset_t new_dirs;
|
||||||
|
|
||||||
for(int i=0; i<num_selected; ++i)
|
foreach(const QModelIndex &id, indices)
|
||||||
{
|
{
|
||||||
QModelIndex index = selection.at(i);
|
Q_ASSERT(ui->workspaceTreeView->model()==&getWorkspace().getDirModel());
|
||||||
QString dir = getWorkspace().getDirModel().data(index, REPODIRMODEL_ROLE_PATH).toString();
|
//QVariant data = getWorkspace().getDirModel().data(id, REPODIRMODEL_ROLE_PATH);
|
||||||
selectedDirs.insert(dir);
|
QVariant data = id.model()->data(id, REPODIRMODEL_ROLE_PATH);
|
||||||
|
Q_ASSERT(data.isValid());
|
||||||
|
TreeViewItem tv = data.value<TreeViewItem>();
|
||||||
|
|
||||||
|
if(tv.Type != TreeViewItem::TYPE_FOLDER && tv.Type != TreeViewItem::TYPE_WORKSPACE)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
new_dirs.insert(tv.Value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Update the selection if we have any new folders
|
||||||
|
if(!new_dirs.empty() && viewMode == VIEWMODE_TREE)
|
||||||
|
{
|
||||||
|
selectedDirs = new_dirs;
|
||||||
updateFileView();
|
updateFileView();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
void MainWindow::on_actionOpenFolder_triggered()
|
void MainWindow::on_actionOpenFolder_triggered()
|
||||||
@ -1551,7 +1659,11 @@ void MainWindow::on_actionOpenFolder_triggered()
|
|||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
void MainWindow::on_workspaceTreeView_doubleClicked(const QModelIndex &index)
|
void MainWindow::on_workspaceTreeView_doubleClicked(const QModelIndex &index)
|
||||||
{
|
{
|
||||||
QString target = getWorkspace().getDirModel().data(index, REPODIRMODEL_ROLE_PATH).toString();
|
QVariant data = index.model()->data(index, REPODIRMODEL_ROLE_PATH);
|
||||||
|
Q_ASSERT(data.isValid());
|
||||||
|
TreeViewItem tv = data.value<TreeViewItem>();
|
||||||
|
QString target = tv.Value;
|
||||||
|
|
||||||
target = getCurrentWorkspace() + PATH_SEPARATOR + target;
|
target = getCurrentWorkspace() + PATH_SEPARATOR + target;
|
||||||
|
|
||||||
QUrl url = QUrl::fromLocalFile(target);
|
QUrl url = QUrl::fromLocalFile(target);
|
||||||
@ -1917,6 +2029,34 @@ void MainWindow::on_fileTableView_customContextMenuRequested(const QPoint &pos)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
void MainWindow::on_workspaceTreeView_customContextMenuRequested(const QPoint &)
|
||||||
|
{
|
||||||
|
QModelIndexList indices = ui->workspaceTreeView->selectionModel()->selectedIndexes();
|
||||||
|
|
||||||
|
if(indices.empty())
|
||||||
|
return;
|
||||||
|
|
||||||
|
QMenu *menu = 0;
|
||||||
|
|
||||||
|
// Get first selected item
|
||||||
|
const QModelIndex &mi = indices.first();
|
||||||
|
QVariant data = getWorkspace().getDirModel().data(mi, REPODIRMODEL_ROLE_PATH);
|
||||||
|
Q_ASSERT(data.isValid());
|
||||||
|
TreeViewItem tv = data.value<TreeViewItem>();
|
||||||
|
|
||||||
|
if(tv.Type == TreeViewItem::TYPE_FOLDER || tv.Type == TreeViewItem::TYPE_WORKSPACE)
|
||||||
|
menu = menuWorkspace;
|
||||||
|
else if (tv.Type == TreeViewItem::TYPE_STASH || tv.Type == TreeViewItem::TYPE_STASHES)
|
||||||
|
menu = menuStashes;
|
||||||
|
|
||||||
|
if(menu)
|
||||||
|
{
|
||||||
|
QPoint pos = QCursor::pos();
|
||||||
|
menu->popup(pos);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
void MainWindow::dragEnterEvent(QDragEnterEvent *event)
|
void MainWindow::dragEnterEvent(QDragEnterEvent *event)
|
||||||
{
|
{
|
||||||
|
@ -112,6 +112,7 @@ private slots:
|
|||||||
void on_actionDiffStash_triggered();
|
void on_actionDiffStash_triggered();
|
||||||
void on_textBrowser_customContextMenuRequested(const QPoint &pos);
|
void on_textBrowser_customContextMenuRequested(const QPoint &pos);
|
||||||
void on_fileTableView_customContextMenuRequested(const QPoint &pos);
|
void on_fileTableView_customContextMenuRequested(const QPoint &pos);
|
||||||
|
void on_workspaceTreeView_customContextMenuRequested(const QPoint &pos);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
class MainWinUICallback : public UICallback
|
class MainWinUICallback : public UICallback
|
||||||
@ -147,6 +148,9 @@ private:
|
|||||||
class QAction *recentWorkspaceActs[MAX_RECENT];
|
class QAction *recentWorkspaceActs[MAX_RECENT];
|
||||||
class QProgressBar *progressBar;
|
class QProgressBar *progressBar;
|
||||||
class QShortcut *abortShortcut;
|
class QShortcut *abortShortcut;
|
||||||
|
QMenu *menuWorkspace;
|
||||||
|
QMenu *menuStashes;
|
||||||
|
|
||||||
bool operationAborted;
|
bool operationAborted;
|
||||||
stringset_t selectedDirs; // The directory selected in the tree
|
stringset_t selectedDirs; // The directory selected in the tree
|
||||||
|
|
||||||
|
@ -120,7 +120,6 @@ void Workspace::scanWorkspace(bool scanLocal, bool scanIgnored, bool scanModifie
|
|||||||
if(space_index==-1)
|
if(space_index==-1)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
//QString status_text = line.left(10).trimmed();
|
|
||||||
QString status_text = line.left(space_index);
|
QString status_text = line.left(space_index);
|
||||||
QString fname = line.right(line.length() - space_index).trimmed();
|
QString fname = line.right(line.length() - space_index).trimmed();
|
||||||
WorkspaceFile::Type type = WorkspaceFile::TYPE_UNKNOWN;
|
WorkspaceFile::Type type = WorkspaceFile::TYPE_UNKNOWN;
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
<string>Fuel</string>
|
<string>Fuel</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowIcon">
|
<property name="windowIcon">
|
||||||
<iconset>
|
<iconset resource="../rsrc/resources.qrc">
|
||||||
<normaloff>:/icons/icons/Battery-01.png</normaloff>:/icons/icons/Battery-01.png</iconset>
|
<normaloff>:/icons/icons/Battery-01.png</normaloff>:/icons/icons/Battery-01.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="unifiedTitleAndToolBarOnMac">
|
<property name="unifiedTitleAndToolBarOnMac">
|
||||||
@ -66,7 +66,7 @@
|
|||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
</property>
|
</property>
|
||||||
<property name="contextMenuPolicy">
|
<property name="contextMenuPolicy">
|
||||||
<enum>Qt::ActionsContextMenu</enum>
|
<enum>Qt::CustomContextMenu</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="editTriggers">
|
<property name="editTriggers">
|
||||||
<set>QAbstractItemView::NoEditTriggers</set>
|
<set>QAbstractItemView::NoEditTriggers</set>
|
||||||
@ -263,7 +263,7 @@
|
|||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>865</width>
|
<width>865</width>
|
||||||
<height>22</height>
|
<height>23</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QMenu" name="menuFile">
|
<widget class="QMenu" name="menuFile">
|
||||||
@ -356,7 +356,7 @@
|
|||||||
<widget class="QStatusBar" name="statusBar"/>
|
<widget class="QStatusBar" name="statusBar"/>
|
||||||
<action name="actionRefresh">
|
<action name="actionRefresh">
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset>
|
<iconset resource="../rsrc/resources.qrc">
|
||||||
<normaloff>:/icons/icons/Button Refresh-01.png</normaloff>:/icons/icons/Button Refresh-01.png</iconset>
|
<normaloff>:/icons/icons/Button Refresh-01.png</normaloff>:/icons/icons/Button Refresh-01.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@ -374,7 +374,7 @@
|
|||||||
</action>
|
</action>
|
||||||
<action name="actionCommit">
|
<action name="actionCommit">
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset>
|
<iconset resource="../rsrc/resources.qrc">
|
||||||
<normaloff>:/icons/icons/Save-01.png</normaloff>:/icons/icons/Save-01.png</iconset>
|
<normaloff>:/icons/icons/Save-01.png</normaloff>:/icons/icons/Save-01.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@ -392,7 +392,7 @@
|
|||||||
</action>
|
</action>
|
||||||
<action name="actionDiff">
|
<action name="actionDiff">
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset>
|
<iconset resource="../rsrc/resources.qrc">
|
||||||
<normaloff>:/icons/icons/Document Copy-01.png</normaloff>:/icons/icons/Document Copy-01.png</iconset>
|
<normaloff>:/icons/icons/Document Copy-01.png</normaloff>:/icons/icons/Document Copy-01.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@ -410,7 +410,7 @@
|
|||||||
</action>
|
</action>
|
||||||
<action name="actionAdd">
|
<action name="actionAdd">
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset>
|
<iconset resource="../rsrc/resources.qrc">
|
||||||
<normaloff>:/icons/icons/File New-01.png</normaloff>:/icons/icons/File New-01.png</iconset>
|
<normaloff>:/icons/icons/File New-01.png</normaloff>:/icons/icons/File New-01.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@ -428,7 +428,7 @@
|
|||||||
</action>
|
</action>
|
||||||
<action name="actionDelete">
|
<action name="actionDelete">
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset>
|
<iconset resource="../rsrc/resources.qrc">
|
||||||
<normaloff>:/icons/icons/File Delete-01.png</normaloff>:/icons/icons/File Delete-01.png</iconset>
|
<normaloff>:/icons/icons/File Delete-01.png</normaloff>:/icons/icons/File Delete-01.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@ -446,7 +446,7 @@
|
|||||||
</action>
|
</action>
|
||||||
<action name="actionNewRepository">
|
<action name="actionNewRepository">
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset>
|
<iconset resource="../rsrc/resources.qrc">
|
||||||
<normaloff>:/icons/icons/Document Blank-01.png</normaloff>:/icons/icons/Document Blank-01.png</iconset>
|
<normaloff>:/icons/icons/Document Blank-01.png</normaloff>:/icons/icons/Document Blank-01.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@ -464,7 +464,7 @@
|
|||||||
</action>
|
</action>
|
||||||
<action name="actionOpenRepository">
|
<action name="actionOpenRepository">
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset>
|
<iconset resource="../rsrc/resources.qrc">
|
||||||
<normaloff>:/icons/icons/My Documents-01.png</normaloff>:/icons/icons/My Documents-01.png</iconset>
|
<normaloff>:/icons/icons/My Documents-01.png</normaloff>:/icons/icons/My Documents-01.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@ -496,11 +496,11 @@
|
|||||||
</action>
|
</action>
|
||||||
<action name="actionCloneRepository">
|
<action name="actionCloneRepository">
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset>
|
<iconset resource="../rsrc/resources.qrc">
|
||||||
<normaloff>:/icons/icons/My Websites-01.png</normaloff>:/icons/icons/My Websites-01.png</iconset>
|
<normaloff>:/icons/icons/My Websites-01.png</normaloff>:/icons/icons/My Websites-01.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Clone...</string>
|
<string>C&lone...</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="statusTip">
|
<property name="statusTip">
|
||||||
<string>Clone a remote repository</string>
|
<string>Clone a remote repository</string>
|
||||||
@ -508,7 +508,7 @@
|
|||||||
</action>
|
</action>
|
||||||
<action name="actionPush">
|
<action name="actionPush">
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset>
|
<iconset resource="../rsrc/resources.qrc">
|
||||||
<normaloff>:/icons/icons/Button Upload-01.png</normaloff>:/icons/icons/Button Upload-01.png</iconset>
|
<normaloff>:/icons/icons/Button Upload-01.png</normaloff>:/icons/icons/Button Upload-01.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@ -526,7 +526,7 @@
|
|||||||
</action>
|
</action>
|
||||||
<action name="actionPull">
|
<action name="actionPull">
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset>
|
<iconset resource="../rsrc/resources.qrc">
|
||||||
<normaloff>:/icons/icons/Button Download-01.png</normaloff>:/icons/icons/Button Download-01.png</iconset>
|
<normaloff>:/icons/icons/Button Download-01.png</normaloff>:/icons/icons/Button Download-01.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@ -544,7 +544,7 @@
|
|||||||
</action>
|
</action>
|
||||||
<action name="actionRename">
|
<action name="actionRename">
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset>
|
<iconset resource="../rsrc/resources.qrc">
|
||||||
<normaloff>:/icons/icons/File Open-01.png</normaloff>:/icons/icons/File Open-01.png</iconset>
|
<normaloff>:/icons/icons/File Open-01.png</normaloff>:/icons/icons/File Open-01.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@ -562,7 +562,7 @@
|
|||||||
</action>
|
</action>
|
||||||
<action name="actionQuit">
|
<action name="actionQuit">
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset>
|
<iconset resource="../rsrc/resources.qrc">
|
||||||
<normaloff>:/icons/icons/Button Turn Off-01.png</normaloff>:/icons/icons/Button Turn Off-01.png</iconset>
|
<normaloff>:/icons/icons/Button Turn Off-01.png</normaloff>:/icons/icons/Button Turn Off-01.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@ -583,7 +583,7 @@
|
|||||||
</action>
|
</action>
|
||||||
<action name="actionHistory">
|
<action name="actionHistory">
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset>
|
<iconset resource="../rsrc/resources.qrc">
|
||||||
<normaloff>:/icons/icons/File History-01.png</normaloff>:/icons/icons/File History-01.png</iconset>
|
<normaloff>:/icons/icons/File History-01.png</normaloff>:/icons/icons/File History-01.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@ -604,7 +604,7 @@
|
|||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset>
|
<iconset resource="../rsrc/resources.qrc">
|
||||||
<normaloff>:/icons/icons/Network MAC-01.png</normaloff>:/icons/icons/Network MAC-01.png</iconset>
|
<normaloff>:/icons/icons/Network MAC-01.png</normaloff>:/icons/icons/Network MAC-01.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@ -619,7 +619,7 @@
|
|||||||
</action>
|
</action>
|
||||||
<action name="actionRevert">
|
<action name="actionRevert">
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset>
|
<iconset resource="../rsrc/resources.qrc">
|
||||||
<normaloff>:/icons/icons/Document-Revert-icon.png</normaloff>:/icons/icons/Document-Revert-icon.png</iconset>
|
<normaloff>:/icons/icons/Document-Revert-icon.png</normaloff>:/icons/icons/Document-Revert-icon.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@ -634,7 +634,7 @@
|
|||||||
</action>
|
</action>
|
||||||
<action name="actionClearLog">
|
<action name="actionClearLog">
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset>
|
<iconset resource="../rsrc/resources.qrc">
|
||||||
<normaloff>:/icons/icons/Text Edit.png</normaloff>:/icons/icons/Text Edit.png</iconset>
|
<normaloff>:/icons/icons/Text Edit.png</normaloff>:/icons/icons/Text Edit.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@ -649,7 +649,7 @@
|
|||||||
</action>
|
</action>
|
||||||
<action name="actionTimeline">
|
<action name="actionTimeline">
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset>
|
<iconset resource="../rsrc/resources.qrc">
|
||||||
<normaloff>:/icons/icons/Clock-01.png</normaloff>:/icons/icons/Clock-01.png</iconset>
|
<normaloff>:/icons/icons/Clock-01.png</normaloff>:/icons/icons/Clock-01.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@ -664,7 +664,7 @@
|
|||||||
</action>
|
</action>
|
||||||
<action name="actionOpenFile">
|
<action name="actionOpenFile">
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset>
|
<iconset resource="../rsrc/resources.qrc">
|
||||||
<normaloff>:/icons/icons/Document-01.png</normaloff>:/icons/icons/Document-01.png</iconset>
|
<normaloff>:/icons/icons/Document-01.png</normaloff>:/icons/icons/Document-01.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@ -682,7 +682,7 @@
|
|||||||
</action>
|
</action>
|
||||||
<action name="actionOpenContaining">
|
<action name="actionOpenContaining">
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset>
|
<iconset resource="../rsrc/resources.qrc">
|
||||||
<normaloff>:/icons/icons/Folder-01.png</normaloff>:/icons/icons/Folder-01.png</iconset>
|
<normaloff>:/icons/icons/Folder-01.png</normaloff>:/icons/icons/Folder-01.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@ -700,7 +700,7 @@
|
|||||||
</action>
|
</action>
|
||||||
<action name="actionUndo">
|
<action name="actionUndo">
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset>
|
<iconset resource="../rsrc/resources.qrc">
|
||||||
<normaloff>:/icons/icons/Button Reload-01.png</normaloff>:/icons/icons/Button Reload-01.png</iconset>
|
<normaloff>:/icons/icons/Button Reload-01.png</normaloff>:/icons/icons/Button Reload-01.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@ -718,7 +718,7 @@
|
|||||||
</action>
|
</action>
|
||||||
<action name="actionAbout">
|
<action name="actionAbout">
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset>
|
<iconset resource="../rsrc/resources.qrc">
|
||||||
<normaloff>:/icons/icons/Battery-01.png</normaloff>:/icons/icons/Battery-01.png</iconset>
|
<normaloff>:/icons/icons/Battery-01.png</normaloff>:/icons/icons/Battery-01.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@ -733,7 +733,7 @@
|
|||||||
</action>
|
</action>
|
||||||
<action name="actionUpdate">
|
<action name="actionUpdate">
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset>
|
<iconset resource="../rsrc/resources.qrc">
|
||||||
<normaloff>:/icons/icons/Button Play-01.png</normaloff>:/icons/icons/Button Play-01.png</iconset>
|
<normaloff>:/icons/icons/Button Play-01.png</normaloff>:/icons/icons/Button Play-01.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@ -751,7 +751,7 @@
|
|||||||
</action>
|
</action>
|
||||||
<action name="actionSettings">
|
<action name="actionSettings">
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset>
|
<iconset resource="../rsrc/resources.qrc">
|
||||||
<normaloff>:/icons/icons/Gear-01.png</normaloff>:/icons/icons/Gear-01.png</iconset>
|
<normaloff>:/icons/icons/Gear-01.png</normaloff>:/icons/icons/Gear-01.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@ -839,7 +839,7 @@
|
|||||||
</action>
|
</action>
|
||||||
<action name="actionOpenFolder">
|
<action name="actionOpenFolder">
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset>
|
<iconset resource="../rsrc/resources.qrc">
|
||||||
<normaloff>:/icons/icons/Folder-01.png</normaloff>:/icons/icons/Folder-01.png</iconset>
|
<normaloff>:/icons/icons/Folder-01.png</normaloff>:/icons/icons/Folder-01.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@ -854,7 +854,7 @@
|
|||||||
</action>
|
</action>
|
||||||
<action name="actionRenameFolder">
|
<action name="actionRenameFolder">
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset>
|
<iconset resource="../rsrc/resources.qrc">
|
||||||
<normaloff>:/icons/icons/Folder Open-01.png</normaloff>:/icons/icons/Folder Open-01.png</iconset>
|
<normaloff>:/icons/icons/Folder Open-01.png</normaloff>:/icons/icons/Folder Open-01.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@ -869,7 +869,7 @@
|
|||||||
</action>
|
</action>
|
||||||
<action name="actionNewStash">
|
<action name="actionNewStash">
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset>
|
<iconset resource="../rsrc/resources.qrc">
|
||||||
<normaloff>:/icons/icons/Folder Add-01.png</normaloff>:/icons/icons/Folder Add-01.png</iconset>
|
<normaloff>:/icons/icons/Folder Add-01.png</normaloff>:/icons/icons/Folder Add-01.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@ -881,7 +881,7 @@
|
|||||||
</action>
|
</action>
|
||||||
<action name="actionApplyStash">
|
<action name="actionApplyStash">
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset>
|
<iconset resource="../rsrc/resources.qrc">
|
||||||
<normaloff>:/icons/icons/Folder Open-01.png</normaloff>:/icons/icons/Folder Open-01.png</iconset>
|
<normaloff>:/icons/icons/Folder Open-01.png</normaloff>:/icons/icons/Folder Open-01.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@ -913,7 +913,7 @@
|
|||||||
</action>
|
</action>
|
||||||
<action name="actionDeleteStash">
|
<action name="actionDeleteStash">
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset>
|
<iconset resource="../rsrc/resources.qrc">
|
||||||
<normaloff>:/icons/icons/Folder Delete-01.png</normaloff>:/icons/icons/Folder Delete-01.png</iconset>
|
<normaloff>:/icons/icons/Folder Delete-01.png</normaloff>:/icons/icons/Folder Delete-01.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@ -922,7 +922,7 @@
|
|||||||
</action>
|
</action>
|
||||||
<action name="actionDiffStash">
|
<action name="actionDiffStash">
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset>
|
<iconset resource="../rsrc/resources.qrc">
|
||||||
<normaloff>:/icons/icons/Folder Explorer-01.png</normaloff>:/icons/icons/Folder Explorer-01.png</iconset>
|
<normaloff>:/icons/icons/Folder Explorer-01.png</normaloff>:/icons/icons/Folder Explorer-01.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@ -944,6 +944,8 @@
|
|||||||
<container>1</container>
|
<container>1</container>
|
||||||
</customwidget>
|
</customwidget>
|
||||||
</customwidgets>
|
</customwidgets>
|
||||||
<resources/>
|
<resources>
|
||||||
|
<include location="../rsrc/resources.qrc"/>
|
||||||
|
</resources>
|
||||||
<connections/>
|
<connections/>
|
||||||
</ui>
|
</ui>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user