mirror of
https://github.com/rizinorg/cutter.git
synced 2025-02-22 06:33:46 +00:00
Added copy address feature in graph/disasm (#476)
This commit is contained in:
parent
a30ac22056
commit
c4d7dd3383
@ -8,6 +8,8 @@
|
|||||||
#include <QtCore>
|
#include <QtCore>
|
||||||
#include <QShortcut>
|
#include <QShortcut>
|
||||||
#include <QJsonArray>
|
#include <QJsonArray>
|
||||||
|
#include <QClipboard>
|
||||||
|
#include <QApplication>
|
||||||
|
|
||||||
DisassemblyContextMenu::DisassemblyContextMenu(QWidget *parent)
|
DisassemblyContextMenu::DisassemblyContextMenu(QWidget *parent)
|
||||||
: QMenu(parent),
|
: QMenu(parent),
|
||||||
@ -18,6 +20,7 @@ DisassemblyContextMenu::DisassemblyContextMenu(QWidget *parent)
|
|||||||
actionJmpReverse(this),
|
actionJmpReverse(this),
|
||||||
actionEditBytes(this),
|
actionEditBytes(this),
|
||||||
actionCopy(this),
|
actionCopy(this),
|
||||||
|
actionCopyAddr(this),
|
||||||
actionAddComment(this),
|
actionAddComment(this),
|
||||||
actionAddFlag(this),
|
actionAddFlag(this),
|
||||||
actionCreateFunction(this),
|
actionCreateFunction(this),
|
||||||
@ -42,6 +45,7 @@ DisassemblyContextMenu::DisassemblyContextMenu(QWidget *parent)
|
|||||||
{
|
{
|
||||||
createAction(&actionCopy, tr("Copy"), getCopySequence(), SLOT(on_actionCopy_triggered()));
|
createAction(&actionCopy, tr("Copy"), getCopySequence(), SLOT(on_actionCopy_triggered()));
|
||||||
copySeparator = addSeparator();
|
copySeparator = addSeparator();
|
||||||
|
createAction(&actionCopyAddr, tr("Copy address"), {}, SLOT(on_actionCopyAddr_triggered()));
|
||||||
createAction(&actionAddComment, tr("Add Comment"), getCommentSequence(),
|
createAction(&actionAddComment, tr("Add Comment"), getCommentSequence(),
|
||||||
SLOT(on_actionAddComment_triggered()));
|
SLOT(on_actionAddComment_triggered()));
|
||||||
createAction(&actionAddFlag, tr("Add Flag"), getAddFlagSequence(),
|
createAction(&actionAddFlag, tr("Add Flag"), getAddFlagSequence(),
|
||||||
@ -315,6 +319,12 @@ void DisassemblyContextMenu::on_actionCopy_triggered()
|
|||||||
emit copy();
|
emit copy();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DisassemblyContextMenu::on_actionCopyAddr_triggered()
|
||||||
|
{
|
||||||
|
QClipboard *clipboard = QApplication::clipboard();
|
||||||
|
clipboard->setText(RAddressString(offset));
|
||||||
|
}
|
||||||
|
|
||||||
void DisassemblyContextMenu::on_actionAddComment_triggered()
|
void DisassemblyContextMenu::on_actionAddComment_triggered()
|
||||||
{
|
{
|
||||||
QString oldComment = Core()->cmd("CC." + RAddressString(offset));
|
QString oldComment = Core()->cmd("CC." + RAddressString(offset));
|
||||||
|
@ -30,7 +30,7 @@ private slots:
|
|||||||
void on_actionEditBytes_triggered();
|
void on_actionEditBytes_triggered();
|
||||||
|
|
||||||
void on_actionCopy_triggered();
|
void on_actionCopy_triggered();
|
||||||
|
void on_actionCopyAddr_triggered();
|
||||||
void on_actionAddComment_triggered();
|
void on_actionAddComment_triggered();
|
||||||
void on_actionCreateFunction_triggered();
|
void on_actionCreateFunction_triggered();
|
||||||
void on_actionAddFlag_triggered();
|
void on_actionAddFlag_triggered();
|
||||||
@ -79,7 +79,7 @@ private:
|
|||||||
|
|
||||||
QAction actionCopy;
|
QAction actionCopy;
|
||||||
QAction *copySeparator;
|
QAction *copySeparator;
|
||||||
|
QAction actionCopyAddr;
|
||||||
|
|
||||||
|
|
||||||
QAction actionAddComment;
|
QAction actionAddComment;
|
||||||
|
@ -147,7 +147,6 @@ void Configuration::loadBaseDark()
|
|||||||
// GUI
|
// GUI
|
||||||
setColor("gui.cflow", QColor(255, 255, 255));
|
setColor("gui.cflow", QColor(255, 255, 255));
|
||||||
setColor("gui.dataoffset", QColor(255, 255, 255));
|
setColor("gui.dataoffset", QColor(255, 255, 255));
|
||||||
setColor("gui.border", QColor(255, 255, 255));
|
|
||||||
// Custom
|
// Custom
|
||||||
setColor("gui.imports", QColor(50, 140, 255));
|
setColor("gui.imports", QColor(50, 140, 255));
|
||||||
setColor("gui.main", QColor(0, 128, 0));
|
setColor("gui.main", QColor(0, 128, 0));
|
||||||
@ -161,6 +160,7 @@ void Configuration::loadBaseDark()
|
|||||||
void Configuration::loadDarkTheme()
|
void Configuration::loadDarkTheme()
|
||||||
{
|
{
|
||||||
loadBaseDark();
|
loadBaseDark();
|
||||||
|
setColor("gui.border", QColor(255, 255, 255));
|
||||||
// Windows background
|
// Windows background
|
||||||
setColor("gui.background", QColor(36, 66, 79));
|
setColor("gui.background", QColor(36, 66, 79));
|
||||||
// Disassembly nodes background
|
// Disassembly nodes background
|
||||||
@ -174,6 +174,7 @@ void Configuration::loadDarkTheme()
|
|||||||
void Configuration::loadDarkGreyTheme()
|
void Configuration::loadDarkGreyTheme()
|
||||||
{
|
{
|
||||||
loadBaseDark();
|
loadBaseDark();
|
||||||
|
setColor("gui.border", QColor(100,100,100));
|
||||||
// Windows background
|
// Windows background
|
||||||
setColor("gui.background", QColor(37, 40, 43));
|
setColor("gui.background", QColor(37, 40, 43));
|
||||||
// Disassembly nodes background
|
// Disassembly nodes background
|
||||||
|
@ -98,7 +98,7 @@ protected:
|
|||||||
std::unordered_map<ut64, GraphBlock> blocks;
|
std::unordered_map<ut64, GraphBlock> blocks;
|
||||||
QColor backgroundColor = QColor(Qt::white);
|
QColor backgroundColor = QColor(Qt::white);
|
||||||
// The vertical margin between blocks
|
// The vertical margin between blocks
|
||||||
int block_vertical_margin = 20;
|
int block_vertical_margin = 40;
|
||||||
int block_horizontal_margin = 10;
|
int block_horizontal_margin = 10;
|
||||||
|
|
||||||
// Padding inside the block
|
// Padding inside the block
|
||||||
|
@ -8,7 +8,6 @@
|
|||||||
#include <QTemporaryFile>
|
#include <QTemporaryFile>
|
||||||
#include <QFontDialog>
|
#include <QFontDialog>
|
||||||
#include <QScrollBar>
|
#include <QScrollBar>
|
||||||
#include <QClipboard>
|
|
||||||
#include <QShortcut>
|
#include <QShortcut>
|
||||||
#include <QMenu>
|
#include <QMenu>
|
||||||
#include <QFont>
|
#include <QFont>
|
||||||
|
Loading…
Reference in New Issue
Block a user