Skip to content

Commit a1e6f78

Browse files
mierin12buchen
authored andcommitted
add Ctrl+D accelerator for "Duplicate transaction" action
1 parent f5ae771 commit a1e6f78

File tree

2 files changed

+26
-3
lines changed

2 files changed

+26
-3
lines changed

name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/TransactionContextMenu.java

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,15 @@ public void handleEditKey(KeyEvent e, IStructuredSelection selection)
8282
tx.withAccountTransaction().ifPresent(t -> createEditAccountTransactionAction(t).run());
8383
tx.withPortfolioTransaction().ifPresent(t -> createEditPortfolioTransactionAction(t).run());
8484
}
85+
if (e.keyCode == 'd' && e.stateMask == SWT.MOD1)
86+
{
87+
if (selection.isEmpty())
88+
return;
89+
90+
TransactionPair<?> tx = (TransactionPair<?>) selection.getFirstElement();
91+
tx.withAccountTransaction().ifPresent(t -> createCopyAccountTransactionAction(t).run());
92+
tx.withPortfolioTransaction().ifPresent(t -> createCopyPortfolioTransactionAction(t).run());
93+
}
8594
}
8695

8796
private void fillContextMenuPortfolioTxList(IMenuManager manager, IStructuredSelection selection)
@@ -131,7 +140,9 @@ private void fillContextMenuAccountTx(IMenuManager manager, boolean fullContextM
131140
action.setAccelerator(SWT.MOD1 | 'E');
132141
manager.add(action);
133142

134-
manager.add(createCopyAccountTransactionAction(tx));
143+
Action duplicateAction = createCopyAccountTransactionAction(tx);
144+
duplicateAction.setAccelerator(SWT.MOD1 | 'D');
145+
manager.add(duplicateAction);
135146

136147
if (fullContextMenu)
137148
{
@@ -150,7 +161,9 @@ private void fillContextMenuPortfolioTx(IMenuManager manager, boolean fullContex
150161
editAction.setAccelerator(SWT.MOD1 | 'E');
151162
manager.add(editAction);
152163

153-
manager.add(createCopyPortfolioTransactionAction(tx));
164+
Action duplicateAction = createCopyPortfolioTransactionAction(tx);
165+
duplicateAction.setAccelerator(SWT.MOD1 | 'D');
166+
manager.add(duplicateAction);
154167

155168
manager.add(new Separator());
156169

name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/panes/AccountTransactionsPane.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -523,6 +523,14 @@ public void keyPressed(KeyEvent e)
523523
if (account != null && transaction != null)
524524
createEditAction(account, transaction).run();
525525
}
526+
if (e.keyCode == 'd' && e.stateMask == SWT.MOD1)
527+
{
528+
AccountTransaction transaction = (AccountTransaction) ((IStructuredSelection) transactions
529+
.getSelection()).getFirstElement();
530+
531+
if (account != null && transaction != null)
532+
createCopyAction(account, transaction).run();
533+
}
526534
}
527535
});
528536
}
@@ -541,7 +549,9 @@ private void fillTransactionsContextMenu(IMenuManager manager) // NOSONAR
541549
action.setAccelerator(SWT.MOD1 | 'E');
542550
manager.add(action);
543551

544-
manager.add(createCopyAction(account, transaction));
552+
Action duplicateAction = createCopyAction(account, transaction);
553+
duplicateAction.setAccelerator(SWT.MOD1 | 'D');
554+
manager.add(duplicateAction);
545555

546556
manager.add(new Separator());
547557
}

0 commit comments

Comments
 (0)