cannot paste when clipboard is empty
This commit is contained in:
parent
0985f490ef
commit
b767d39b3e
|
@ -259,8 +259,14 @@ void CPUDisassembly::setupRightClickContextMenu()
|
|||
binaryMenu->addAction(makeShortcutAction(DIcon("binary_fill_nop.png"), tr("Fill with &NOPs"), SLOT(binaryFillNopsSlot()), "ActionBinaryFillNops"));
|
||||
binaryMenu->addSeparator();
|
||||
binaryMenu->addAction(makeShortcutAction(DIcon("binary_copy.png"), tr("&Copy"), SLOT(binaryCopySlot()), "ActionBinaryCopy"));
|
||||
binaryMenu->addAction(makeShortcutAction(DIcon("binary_paste.png"), tr("&Paste"), SLOT(binaryPasteSlot()), "ActionBinaryPaste"));
|
||||
binaryMenu->addAction(makeShortcutAction(DIcon("binary_paste_ignoresize.png"), tr("Paste (&Ignore Size)"), SLOT(binaryPasteIgnoreSizeSlot()), "ActionBinaryPasteIgnoreSize"));
|
||||
binaryMenu->addAction(makeShortcutAction(DIcon("binary_paste.png"), tr("&Paste"), SLOT(binaryPasteSlot()), "ActionBinaryPaste"), [](QMenu*)
|
||||
{
|
||||
return QApplication::clipboard()->mimeData()->hasText();
|
||||
});
|
||||
binaryMenu->addAction(makeShortcutAction(DIcon("binary_paste_ignoresize.png"), tr("Paste (&Ignore Size)"), SLOT(binaryPasteIgnoreSizeSlot()), "ActionBinaryPasteIgnoreSize"), [](QMenu*)
|
||||
{
|
||||
return QApplication::clipboard()->mimeData()->hasText();
|
||||
});
|
||||
mMenuBuilder->addMenu(makeMenu(DIcon("binary.png"), tr("&Binary")), binaryMenu);
|
||||
|
||||
MenuBuilder* copyMenu = new MenuBuilder(this);
|
||||
|
@ -1362,6 +1368,8 @@ void CPUDisassembly::binaryCopySlot()
|
|||
|
||||
void CPUDisassembly::binaryPasteSlot()
|
||||
{
|
||||
if(!QApplication::clipboard()->mimeData()->hasText())
|
||||
return;
|
||||
HexEditDialog hexEdit(this);
|
||||
dsint selStart = getSelectionStart();
|
||||
dsint selSize = getSelectionEnd() - selStart + 1;
|
||||
|
@ -1389,6 +1397,8 @@ void CPUDisassembly::undoSelectionSlot()
|
|||
|
||||
void CPUDisassembly::binaryPasteIgnoreSizeSlot()
|
||||
{
|
||||
if(!QApplication::clipboard()->mimeData()->hasText())
|
||||
return;
|
||||
HexEditDialog hexEdit(this);
|
||||
dsint selStart = getSelectionStart();
|
||||
dsint selSize = getSelectionEnd() - selStart + 1;
|
||||
|
|
|
@ -47,8 +47,14 @@ void CPUDump::setupContextMenu()
|
|||
wBinaryMenu->addAction(makeShortcutAction(DIcon("binary_fill.png"), tr("&Fill..."), SLOT(binaryFillSlot()), "ActionBinaryFill"));
|
||||
wBinaryMenu->addSeparator();
|
||||
wBinaryMenu->addAction(makeShortcutAction(DIcon("binary_copy.png"), tr("&Copy"), SLOT(binaryCopySlot()), "ActionBinaryCopy"));
|
||||
wBinaryMenu->addAction(makeShortcutAction(DIcon("binary_paste.png"), tr("&Paste"), SLOT(binaryPasteSlot()), "ActionBinaryPaste"));
|
||||
wBinaryMenu->addAction(makeShortcutAction(DIcon("binary_paste_ignoresize.png"), tr("Paste (&Ignore Size)"), SLOT(binaryPasteIgnoreSizeSlot()), "ActionBinaryPasteIgnoreSize"));
|
||||
wBinaryMenu->addAction(makeShortcutAction(DIcon("binary_paste.png"), tr("&Paste"), SLOT(binaryPasteSlot()), "ActionBinaryPaste"), [](QMenu*)
|
||||
{
|
||||
return QApplication::clipboard()->mimeData()->hasText();
|
||||
});
|
||||
wBinaryMenu->addAction(makeShortcutAction(DIcon("binary_paste_ignoresize.png"), tr("Paste (&Ignore Size)"), SLOT(binaryPasteIgnoreSizeSlot()), "ActionBinaryPasteIgnoreSize"), [](QMenu*)
|
||||
{
|
||||
return QApplication::clipboard()->mimeData()->hasText();
|
||||
});
|
||||
wBinaryMenu->addAction(makeShortcutAction(DIcon("binary_save.png"), tr("Save To a File"), SLOT(binarySaveToFileSlot()), "ActionBinarySave"));
|
||||
mMenuBuilder->addMenu(makeMenu(DIcon("binary.png"), tr("B&inary")), wBinaryMenu);
|
||||
|
||||
|
@ -1420,6 +1426,8 @@ void CPUDump::binaryCopySlot()
|
|||
|
||||
void CPUDump::binaryPasteSlot()
|
||||
{
|
||||
if(!QApplication::clipboard()->mimeData()->hasText())
|
||||
return;
|
||||
HexEditDialog hexEdit(this);
|
||||
dsint selStart = getSelectionStart();
|
||||
dsint selSize = getSelectionEnd() - selStart + 1;
|
||||
|
@ -1437,6 +1445,8 @@ void CPUDump::binaryPasteSlot()
|
|||
|
||||
void CPUDump::binaryPasteIgnoreSizeSlot()
|
||||
{
|
||||
if(!QApplication::clipboard()->mimeData()->hasText())
|
||||
return;
|
||||
HexEditDialog hexEdit(this);
|
||||
dsint selStart = getSelectionStart();
|
||||
dsint selSize = getSelectionEnd() - selStart + 1;
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
#include <QRegularExpression>
|
||||
#include <QDesktopServices>
|
||||
#include <QClipboard>
|
||||
#include <QMimeData>
|
||||
#include <QTimer>
|
||||
|
||||
/**
|
||||
|
@ -115,7 +116,8 @@ void LogView::contextMenuEvent(QContextMenuEvent* event)
|
|||
wMenu.addAction(actionClear);
|
||||
wMenu.addAction(actionSelectAll);
|
||||
wMenu.addAction(actionCopy);
|
||||
wMenu.addAction(actionPaste);
|
||||
if(QApplication::clipboard()->mimeData()->hasText())
|
||||
wMenu.addAction(actionPaste);
|
||||
wMenu.addAction(actionSave);
|
||||
if(getLoggingEnabled())
|
||||
actionToggleLogging->setText(tr("Disable &Logging"));
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
#include <QMessageBox>
|
||||
#include <QFileDialog>
|
||||
#include <QDesktopServices>
|
||||
#include <QClipboard>
|
||||
#include <QMimeData>
|
||||
#include "Configuration.h"
|
||||
#include "Bridge.h"
|
||||
#include "RichTextPainter.h"
|
||||
|
@ -376,7 +378,10 @@ void ScriptView::setupContextMenu()
|
|||
mMenu = new MenuBuilder(this);
|
||||
MenuBuilder* loadMenu = new MenuBuilder(this);
|
||||
loadMenu->addAction(makeShortcutAction(DIcon("folder-horizontal-open.png"), tr("&Open..."), SLOT(openFile()), "ActionLoadScript"));
|
||||
loadMenu->addAction(makeShortcutAction(DIcon("binary_paste.png"), tr("&Paste"), SLOT(paste()), "ActionBinaryPaste"));
|
||||
loadMenu->addAction(makeShortcutAction(DIcon("binary_paste.png"), tr("&Paste"), SLOT(paste()), "ActionBinaryPaste"), [](QMenu*)
|
||||
{
|
||||
return QApplication::clipboard()->mimeData()->hasText();
|
||||
});
|
||||
loadMenu->addSeparator();
|
||||
loadMenu->addBuilder(new MenuBuilder(this, [this](QMenu * menu)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue