Added copy and paste to edit textboxes
This commit is contained in:
parent
6725df3d26
commit
f6c59d33bd
@ -1049,15 +1049,24 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple,
|
||||
// setup tablewidget context menus
|
||||
auto clearAction1 = new QAction(QIcon::fromTheme("edit-clear"), QString("Clear"), ui->textEditRX);
|
||||
connect(clearAction1, &QAction::triggered, this, [this](){ this->on_clearAction_triggered(ui->textEditRX); });
|
||||
ui->textEditRX->setContextMenuPolicy(Qt::ActionsContextMenu);
|
||||
ui->textEditRX->addAction(clearAction1);
|
||||
ui->textEditRX->addAction(clearActionAll);
|
||||
|
||||
ui->textEditRX->setContextMenuPolicy(Qt::CustomContextMenu);
|
||||
connect(ui->textEditRX, &QTableWidget::customContextMenuRequested, this, [this, clearAction1, clearActionAll](QPoint const &point){
|
||||
QMenu * menu = new QMenu(ui->textEditRX);
|
||||
|
||||
buildEditMenu(ui->textEditRX, menu);
|
||||
|
||||
menu->addSeparator();
|
||||
|
||||
menu->addAction(clearAction1);
|
||||
menu->addAction(clearActionAll);
|
||||
|
||||
menu->popup(ui->textEditRX->mapToGlobal(point));
|
||||
|
||||
});
|
||||
|
||||
auto clearAction2 = new QAction(QIcon::fromTheme("edit-clear"), QString("Clear"), ui->extFreeTextMsgEdit);
|
||||
connect(clearAction2, &QAction::triggered, this, [this](){ this->on_clearAction_triggered(ui->extFreeTextMsgEdit); });
|
||||
ui->extFreeTextMsgEdit->setContextMenuPolicy(Qt::ActionsContextMenu);
|
||||
|
||||
auto restoreAction = new QAction(QString("Restore Previous Message"), ui->extFreeTextMsgEdit);
|
||||
connect(restoreAction, &QAction::triggered, this, [this](){ this->restoreMessage(); });
|
||||
@ -1066,6 +1075,10 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple,
|
||||
connect(ui->extFreeTextMsgEdit, &QTableWidget::customContextMenuRequested, this, [this, clearAction2, clearActionAll, restoreAction](QPoint const &point){
|
||||
QMenu * menu = new QMenu(ui->extFreeTextMsgEdit);
|
||||
|
||||
buildEditMenu(ui->extFreeTextMsgEdit, menu);
|
||||
|
||||
menu->addSeparator();
|
||||
|
||||
restoreAction->setDisabled(m_lastTxMessage.isEmpty());
|
||||
menu->addAction(restoreAction);
|
||||
|
||||
@ -7738,6 +7751,31 @@ void MainWindow::buildQueryMenu(QMenu * menu, QString call){
|
||||
});
|
||||
}
|
||||
|
||||
void MainWindow::buildEditMenu(QTextEdit *edit, QMenu *menu){
|
||||
bool hasSelection = !edit->textCursor().selectedText().isEmpty();
|
||||
|
||||
auto cut = menu->addAction("Cu&t");
|
||||
cut->setEnabled(hasSelection && !edit->isReadOnly());
|
||||
connect(edit, &QTextEdit::copyAvailable, this, [this, edit, cut](bool copyAvailable){
|
||||
cut->setEnabled(copyAvailable && !edit->isReadOnly());
|
||||
});
|
||||
connect(cut, &QAction::triggered, this, [this, edit](){
|
||||
edit->copy();
|
||||
edit->textCursor().removeSelectedText();
|
||||
});
|
||||
|
||||
auto copy = menu->addAction("&Copy");
|
||||
copy->setEnabled(hasSelection);
|
||||
connect(edit, &QTextEdit::copyAvailable, this, [this, copy](bool copyAvailable){
|
||||
copy->setEnabled(copyAvailable);
|
||||
});
|
||||
connect(copy, &QAction::triggered, edit, &QTextEdit::copy);
|
||||
|
||||
auto paste = menu->addAction("&Paste");
|
||||
paste->setEnabled(edit->canPaste());
|
||||
connect(paste, &QAction::triggered, edit, &QTextEdit::paste);
|
||||
}
|
||||
|
||||
void MainWindow::on_queryButton_pressed(){
|
||||
QMenu *menu = ui->queryButton->menu();
|
||||
if(!menu){
|
||||
|
@ -267,6 +267,7 @@ private slots:
|
||||
void buildBandActivitySortByMenu(QMenu * menu);
|
||||
void buildCallActivitySortByMenu(QMenu * menu);
|
||||
void buildQueryMenu(QMenu *, QString callsign);
|
||||
void buildEditMenu(QTextEdit *, QMenu *);
|
||||
void on_queryButton_pressed();
|
||||
void on_macrosMacroButton_pressed();
|
||||
void on_tableWidgetRXAll_cellClicked(int row, int col);
|
||||
|
Loading…
Reference in New Issue
Block a user