Allow triggering custom actions via double-clicking a file in the file view
FossilOrigin-Name: 4270974c3f9f7fb166a74a9d76c9db8a24428fe5
This commit is contained in:
parent
509a5d2fe1
commit
813443e380
18
manifest
18
manifest
@ -1,5 +1,5 @@
|
||||
C Custom\sactions\snow\ssupport\sexplicit\ssingle\sselections\n\n
|
||||
D 2015-07-10T18:06:40.135
|
||||
C Allow\striggering\scustom\sactions\svia\sdouble-clicking\sa\sfile\sin\sthe\sfile\sview
|
||||
D 2015-07-10T18:20:19.694
|
||||
F .travis.yml 77966888a81c4ceee1fcc79bce842c9667ad8a35
|
||||
F debian/changelog eb4304dfcb6bb66850ec740838090eb50ce1249b
|
||||
F debian/compat b6abd567fa79cbe0196d093a067271361dc6ca8b
|
||||
@ -224,8 +224,8 @@ F src/FslSettingsDialog.cpp 2531d3709f0eab66651671e3edead2ca720d07d5
|
||||
F src/FslSettingsDialog.h dfe2a61884a55a74cbb9206b6f6b482b979725e7
|
||||
F src/LoggedProcess.cpp 2a1e5c94bc1e57c8984563e66c210e43a14dc60c
|
||||
F src/LoggedProcess.h 85df7c635c807a5a0e8c4763f17a0752aaff7261
|
||||
F src/MainWindow.cpp 6b31ae5eca52bc128a0a9dd3d3dc153545de7f8c
|
||||
F src/MainWindow.h 573ffe960044afb446505949da50e0fb5ec2f75f
|
||||
F src/MainWindow.cpp 764eb76c1c420ea4677639baae925e5e8fc203d6
|
||||
F src/MainWindow.h 765c362ad4937da808276ec321adf4a351ab5b28
|
||||
F src/RemoteDialog.cpp 8540cc5e2e41c4127ed8a028d84691604fa6ecac
|
||||
F src/RemoteDialog.h 5e0438c2bd7c79b1bb44bfbd58c2181b544a9e5d
|
||||
F src/RevisionDialog.cpp e58c4f8a704f00addebb15d521b76620fdafda79
|
||||
@ -233,8 +233,8 @@ F src/RevisionDialog.h b718c3009342eaabad39c8a11a253a4e4fef7a73
|
||||
F src/SearchBox.cpp d4209c575baa9933e1ce5ed376e785b289a145ba
|
||||
F src/SearchBox.h 0c78d3a68136dab3e0e71b83ae36f22bd2688ab2
|
||||
F src/Settings.cpp 258d3f466f6a125ce2b8519d6d57a312cbc44a3f
|
||||
F src/Settings.h c743065c1388ae431aa46c2e02470fb3c08b6a79
|
||||
F src/SettingsDialog.cpp 1b092c050753afa96f0d23e85775ecf32f6d939a
|
||||
F src/Settings.h 0a10b0b83fe804bdc7dac58eed06b5b6ee422055
|
||||
F src/SettingsDialog.cpp cab739fb0569bd26550e57f97136c7515fe757fe
|
||||
F src/SettingsDialog.h 5eb3ae2cbb00ab5544e1889860f5376f69fe47cd
|
||||
F src/Utils.cpp 876942a44202611d3c778c67f6d0a344e241a000
|
||||
F src/Utils.h 4613424aaeb6910689b5821a2dd44ca0b6dd301f
|
||||
@ -252,7 +252,7 @@ F ui/MainWindow.ui 10181826a25056ed5aba2b23a7d110159be7c043
|
||||
F ui/RemoteDialog.ui 95a4750d972ed8c49bb10b95db91ff16cfe2dd0b
|
||||
F ui/RevisionDialog.ui 27c3b98c665fec014a50cbf3352c0627f75e68cd
|
||||
F ui/SettingsDialog.ui 47b9a31e28ad523f14a1c4cd361270b6babbdf7d
|
||||
P bf36bf1c733da77a39ab9a8b7c63b892c11ef93c
|
||||
R acadfb6b4bc5dcb566aa9c59fbff87eb
|
||||
P e422f84c485ada3ae538712434ae64ea80021f8b
|
||||
R 724773d1d3e654260b0257e41d2ffb40
|
||||
U kostas
|
||||
Z 902db766b484bf48a8c240b796fa1687
|
||||
Z 1d18b22dc355232cae5061179d4d3a7e
|
||||
|
@ -1 +1 @@
|
||||
e422f84c485ada3ae538712434ae64ea80021f8b
|
||||
4270974c3f9f7fb166a74a9d76c9db8a24428fe5
|
@ -1433,6 +1433,8 @@ void MainWindow::on_fileTableView_doubleClicked(const QModelIndex &/*index*/)
|
||||
on_actionOpenFile_triggered();
|
||||
else if(action==FILE_DLBCLICK_ACTION_OPENCONTAINING)
|
||||
on_actionOpenContaining_triggered();
|
||||
else if(action==FILE_DLBCLICK_ACTION_CUSTOM)
|
||||
invokeCustomAction(0);
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@ -2783,15 +2785,10 @@ void MainWindow::updateCustomActions()
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
void MainWindow::on_actionCustomAction_triggered()
|
||||
void MainWindow::invokeCustomAction(int actionId)
|
||||
{
|
||||
QAction *action = qobject_cast<QAction *>(sender());
|
||||
if(!action)
|
||||
return;
|
||||
|
||||
int action_id = action->data().toInt();
|
||||
Q_ASSERT(action_id < settings.GetCustomActions().size());
|
||||
CustomAction &cust_action = settings.GetCustomActions()[action_id];
|
||||
Q_ASSERT(actionId < settings.GetCustomActions().size());
|
||||
CustomAction &cust_action = settings.GetCustomActions()[actionId];
|
||||
Q_ASSERT(cust_action.IsValid());
|
||||
|
||||
Q_ASSERT(!cust_action.Command.isEmpty());
|
||||
@ -2826,3 +2823,14 @@ void MainWindow::on_actionCustomAction_triggered()
|
||||
|
||||
SpawnExternalProcess(this, cust_action.Command, file_selection, path_selection, wkdir, uiCallback);
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
void MainWindow::on_actionCustomAction_triggered()
|
||||
{
|
||||
QAction *action = qobject_cast<QAction *>(sender());
|
||||
if(!action)
|
||||
return;
|
||||
|
||||
int action_id = action->data().toInt();
|
||||
invokeCustomAction(action_id);
|
||||
}
|
||||
|
@ -54,7 +54,7 @@ private:
|
||||
void selectRootDir();
|
||||
void mergeRevision(const QString& defaultRevision);
|
||||
void updateCustomActions();
|
||||
|
||||
void invokeCustomAction(int actionId);
|
||||
|
||||
void fossilBrowse(const QString &fossilUrl);
|
||||
void dragEnterEvent(class QDragEnterEvent *event);
|
||||
|
@ -25,6 +25,7 @@ enum FileDblClickAction
|
||||
FILE_DLBCLICK_ACTION_DIFF,
|
||||
FILE_DLBCLICK_ACTION_OPEN,
|
||||
FILE_DLBCLICK_ACTION_OPENCONTAINING,
|
||||
FILE_DLBCLICK_ACTION_CUSTOM, // Custom Action 1
|
||||
FILE_DLBCLICK_ACTION_MAX
|
||||
};
|
||||
|
||||
|
@ -17,6 +17,7 @@ SettingsDialog::SettingsDialog(QWidget *parent, Settings &_settings) :
|
||||
ui->cmbDoubleClickAction->addItem(tr("Diff File"));
|
||||
ui->cmbDoubleClickAction->addItem(tr("Open File"));
|
||||
ui->cmbDoubleClickAction->addItem(tr("Open Containing Folder"));
|
||||
ui->cmbDoubleClickAction->addItem(tr("Custom Action %0").arg(1));
|
||||
|
||||
ui->cmbFossilBrowser->addItem(tr("System"));
|
||||
ui->cmbFossilBrowser->addItem(tr("Internal"));
|
||||
|
Loading…
x
Reference in New Issue
Block a user