Added copy address feature in graph/disasm (#476)

This commit is contained in:
fcasal 2018-05-03 08:53:01 +01:00 committed by xarkes
parent a30ac22056
commit c4d7dd3383
5 changed files with 15 additions and 5 deletions

View File

@ -8,6 +8,8 @@
#include <QtCore>
#include <QShortcut>
#include <QJsonArray>
#include <QClipboard>
#include <QApplication>
DisassemblyContextMenu::DisassemblyContextMenu(QWidget *parent)
: QMenu(parent),
@ -18,6 +20,7 @@ DisassemblyContextMenu::DisassemblyContextMenu(QWidget *parent)
actionJmpReverse(this),
actionEditBytes(this),
actionCopy(this),
actionCopyAddr(this),
actionAddComment(this),
actionAddFlag(this),
actionCreateFunction(this),
@ -42,6 +45,7 @@ DisassemblyContextMenu::DisassemblyContextMenu(QWidget *parent)
{
createAction(&actionCopy, tr("Copy"), getCopySequence(), SLOT(on_actionCopy_triggered()));
copySeparator = addSeparator();
createAction(&actionCopyAddr, tr("Copy address"), {}, SLOT(on_actionCopyAddr_triggered()));
createAction(&actionAddComment, tr("Add Comment"), getCommentSequence(),
SLOT(on_actionAddComment_triggered()));
createAction(&actionAddFlag, tr("Add Flag"), getAddFlagSequence(),
@ -315,6 +319,12 @@ void DisassemblyContextMenu::on_actionCopy_triggered()
emit copy();
}
void DisassemblyContextMenu::on_actionCopyAddr_triggered()
{
QClipboard *clipboard = QApplication::clipboard();
clipboard->setText(RAddressString(offset));
}
void DisassemblyContextMenu::on_actionAddComment_triggered()
{
QString oldComment = Core()->cmd("CC." + RAddressString(offset));

View File

@ -30,7 +30,7 @@ private slots:
void on_actionEditBytes_triggered();
void on_actionCopy_triggered();
void on_actionCopyAddr_triggered();
void on_actionAddComment_triggered();
void on_actionCreateFunction_triggered();
void on_actionAddFlag_triggered();
@ -79,7 +79,7 @@ private:
QAction actionCopy;
QAction *copySeparator;
QAction actionCopyAddr;
QAction actionAddComment;

View File

@ -147,7 +147,6 @@ void Configuration::loadBaseDark()
// GUI
setColor("gui.cflow", QColor(255, 255, 255));
setColor("gui.dataoffset", QColor(255, 255, 255));
setColor("gui.border", QColor(255, 255, 255));
// Custom
setColor("gui.imports", QColor(50, 140, 255));
setColor("gui.main", QColor(0, 128, 0));
@ -161,6 +160,7 @@ void Configuration::loadBaseDark()
void Configuration::loadDarkTheme()
{
loadBaseDark();
setColor("gui.border", QColor(255, 255, 255));
// Windows background
setColor("gui.background", QColor(36, 66, 79));
// Disassembly nodes background
@ -174,6 +174,7 @@ void Configuration::loadDarkTheme()
void Configuration::loadDarkGreyTheme()
{
loadBaseDark();
setColor("gui.border", QColor(100,100,100));
// Windows background
setColor("gui.background", QColor(37, 40, 43));
// Disassembly nodes background

View File

@ -98,7 +98,7 @@ protected:
std::unordered_map<ut64, GraphBlock> blocks;
QColor backgroundColor = QColor(Qt::white);
// The vertical margin between blocks
int block_vertical_margin = 20;
int block_vertical_margin = 40;
int block_horizontal_margin = 10;
// Padding inside the block

View File

@ -8,7 +8,6 @@
#include <QTemporaryFile>
#include <QFontDialog>
#include <QScrollBar>
#include <QClipboard>
#include <QShortcut>
#include <QMenu>
#include <QFont>