1
0
Fork 0

GUI: significant cut with icon construction length (use DIcon with just the filename from now on)

This commit is contained in:
mrexodia 2016-07-09 10:44:11 +02:00
parent 6df9712ae3
commit c95034e7a1
No known key found for this signature in database
GPG Key ID: D72F9A4FAA0073B4
26 changed files with 290 additions and 278 deletions

View File

@ -13,6 +13,7 @@
#include "MenuBuilder.h"
#include "QActionLambda.h"
#include "CachedFontMetrics.h"
#include "MiscUtil.h"
//Hacky class that fixes a really annoying cursor problem
class AbstractTableScrollBar : public QScrollBar

View File

@ -271,19 +271,19 @@ void HexDump::historyClear()
void HexDump::setupCopyMenu()
{
// Copy -> Data
mCopySelection = new QAction(QIcon(":/icons/images/copy_selection.png"), tr("&Selection"), this);
mCopySelection = new QAction(DIcon("copy_selection.png"), tr("&Selection"), this);
connect(mCopySelection, SIGNAL(triggered(bool)), this, SLOT(copySelectionSlot()));
mCopySelection->setShortcutContext(Qt::WidgetShortcut);
addAction(mCopySelection);
// Copy -> Address
mCopyAddress = new QAction(QIcon(":/icons/images/copy_address.png"), tr("&Address"), this);
mCopyAddress = new QAction(DIcon("copy_address.png"), tr("&Address"), this);
connect(mCopyAddress, SIGNAL(triggered()), this, SLOT(copyAddressSlot()));
mCopyAddress->setShortcutContext(Qt::WidgetShortcut);
addAction(mCopyAddress);
// Copy -> RVA
mCopyRva = new QAction(QIcon(":/icons/images/copy_address.png"), "&RVA", this);
mCopyRva = new QAction(DIcon("copy_address.png"), "&RVA", this);
connect(mCopyRva, SIGNAL(triggered()), this, SLOT(copyRvaSlot()));
}

View File

@ -210,42 +210,42 @@ void CPUDisassembly::setupRightClickContextMenu()
});
MenuBuilder* binaryMenu = new MenuBuilder(this);
binaryMenu->addAction(makeShortcutAction(QIcon(":/icons/images/binary_edit.png"), tr("&Edit"), SLOT(binaryEditSlot()), "ActionBinaryEdit"));
binaryMenu->addAction(makeShortcutAction(QIcon(":/icons/images/binary_fill.png"), tr("&Fill..."), SLOT(binaryFillSlot()), "ActionBinaryFill"));
binaryMenu->addAction(makeShortcutAction(QIcon(":/icons/images/binary_fill_nop.png"), tr("Fill with &NOPs"), SLOT(binaryFillNopsSlot()), "ActionBinaryFillNops"));
binaryMenu->addAction(makeShortcutAction(DIcon("binary_edit.png"), tr("&Edit"), SLOT(binaryEditSlot()), "ActionBinaryEdit"));
binaryMenu->addAction(makeShortcutAction(DIcon("binary_fill.png"), tr("&Fill..."), SLOT(binaryFillSlot()), "ActionBinaryFill"));
binaryMenu->addAction(makeShortcutAction(DIcon("binary_fill_nop.png"), tr("Fill with &NOPs"), SLOT(binaryFillNopsSlot()), "ActionBinaryFillNops"));
binaryMenu->addSeparator();
binaryMenu->addAction(makeShortcutAction(QIcon(":/icons/images/binary_copy.png"), tr("&Copy"), SLOT(binaryCopySlot()), "ActionBinaryCopy"));
binaryMenu->addAction(makeShortcutAction(QIcon(":/icons/images/binary_paste.png"), tr("&Paste"), SLOT(binaryPasteSlot()), "ActionBinaryPaste"));
binaryMenu->addAction(makeShortcutAction(QIcon(":/icons/images/binary_paste_ignoresize.png"), tr("Paste (&Ignore Size)"), SLOT(binaryPasteIgnoreSizeSlot()), "ActionBinaryPasteIgnoreSize"));
mMenuBuilder->addMenu(makeMenu(QIcon(":/icons/images/binary.png"), tr("&Binary")), binaryMenu);
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"));
mMenuBuilder->addMenu(makeMenu(DIcon("binary.png"), tr("&Binary")), binaryMenu);
MenuBuilder* copyMenu = new MenuBuilder(this);
copyMenu->addAction(makeShortcutAction(QIcon(":/icons/images/copy_selection.png"), tr("&Selection"), SLOT(copySelectionSlot()), "ActionCopy"));
copyMenu->addAction(makeAction(QIcon(":/icons/images/copy_selection_no_bytes.png"), tr("Selection (&No Bytes)"), SLOT(copySelectionNoBytesSlot())));
copyMenu->addAction(makeShortcutAction(QIcon(":/icons/images/copy_address.png"), tr("&Address"), SLOT(copyAddressSlot()), "ActionCopyAddress"));
copyMenu->addAction(makeAction(QIcon(":/icons/images/copy_address.png"), tr("&RVA"), SLOT(copyRvaSlot())));
copyMenu->addAction(makeAction(QIcon(":/icons/images/copy_disassembly.png"), tr("Disassembly"), SLOT(copyDisassemblySlot())));
mMenuBuilder->addMenu(makeMenu(QIcon(":/icons/images/copy.png"), tr("&Copy")), copyMenu);
copyMenu->addAction(makeShortcutAction(DIcon("copy_selection.png"), tr("&Selection"), SLOT(copySelectionSlot()), "ActionCopy"));
copyMenu->addAction(makeAction(DIcon("copy_selection_no_bytes.png"), tr("Selection (&No Bytes)"), SLOT(copySelectionNoBytesSlot())));
copyMenu->addAction(makeShortcutAction(DIcon("copy_address.png"), tr("&Address"), SLOT(copyAddressSlot()), "ActionCopyAddress"));
copyMenu->addAction(makeAction(DIcon("copy_address.png"), tr("&RVA"), SLOT(copyRvaSlot())));
copyMenu->addAction(makeAction(DIcon("copy_disassembly.png"), tr("Disassembly"), SLOT(copyDisassemblySlot())));
mMenuBuilder->addMenu(makeMenu(DIcon("copy.png"), tr("&Copy")), copyMenu);
mMenuBuilder->addAction(makeShortcutAction(QIcon(":/icons/images/eraser.png"), tr("&Restore selection"), SLOT(undoSelectionSlot()), "ActionUndoSelection"), [this](QMenu*)
mMenuBuilder->addAction(makeShortcutAction(DIcon("eraser.png"), tr("&Restore selection"), SLOT(undoSelectionSlot()), "ActionUndoSelection"), [this](QMenu*)
{
dsint start = rvaToVa(getSelectionStart());
dsint end = rvaToVa(getSelectionEnd());
return DbgFunctions()->PatchInRange(start, end); //something patched in selected range
});
QAction* toggleBreakpointAction = makeShortcutAction(QIcon(":/icons/images/breakpoint_toggle.png"), tr("Toggle"), SLOT(toggleInt3BPActionSlot()), "ActionToggleBreakpoint");
QAction* editSoftwareBreakpointAction = makeShortcutAction(QIcon(":/icons/images/breakpoint_edit.png"), tr("Edit"), SLOT(editSoftBpActionSlot()), "ActionEditBreakpoint");
QAction* setHwBreakpointAction = makeShortcutAction(QIcon(":/icons/images/breakpoint_execute.png"), tr("Set Hardware on Execution"), SLOT(toggleHwBpActionSlot()), "ActionSetHwBpE");
QAction* removeHwBreakpointAction = makeShortcutAction(QIcon(":/icons/images/breakpoint_remove.png"), tr("Remove Hardware"), SLOT(toggleHwBpActionSlot()), "ActionRemoveHwBp");
QAction* toggleBreakpointAction = makeShortcutAction(DIcon("breakpoint_toggle.png"), tr("Toggle"), SLOT(toggleInt3BPActionSlot()), "ActionToggleBreakpoint");
QAction* editSoftwareBreakpointAction = makeShortcutAction(DIcon("breakpoint_edit.png"), tr("Edit"), SLOT(editSoftBpActionSlot()), "ActionEditBreakpoint");
QAction* setHwBreakpointAction = makeShortcutAction(DIcon("breakpoint_execute.png"), tr("Set Hardware on Execution"), SLOT(toggleHwBpActionSlot()), "ActionSetHwBpE");
QAction* removeHwBreakpointAction = makeShortcutAction(DIcon("breakpoint_remove.png"), tr("Remove Hardware"), SLOT(toggleHwBpActionSlot()), "ActionRemoveHwBp");
QMenu* replaceSlotMenu = makeMenu(QIcon(":/icons/images/breakpoint_execute.png"), tr("Set Hardware on Execution"));
QAction* replaceSlot0Action = makeMenuAction(replaceSlotMenu, QIcon(":/icons/images/breakpoint_execute_slot1.png"), tr("Replace Slot 0 (Free)"), SLOT(setHwBpOnSlot0ActionSlot()));
QAction* replaceSlot1Action = makeMenuAction(replaceSlotMenu, QIcon(":/icons/images/breakpoint_execute_slot2.png"), tr("Replace Slot 1 (Free)"), SLOT(setHwBpOnSlot1ActionSlot()));
QAction* replaceSlot2Action = makeMenuAction(replaceSlotMenu, QIcon(":/icons/images/breakpoint_execute_slot3.png"), tr("Replace Slot 2 (Free)"), SLOT(setHwBpOnSlot2ActionSlot()));
QAction* replaceSlot3Action = makeMenuAction(replaceSlotMenu, QIcon(":/icons/images/breakpoint_execute_slot4.png"), tr("Replace Slot 3 (Free)"), SLOT(setHwBpOnSlot3ActionSlot()));
QMenu* replaceSlotMenu = makeMenu(DIcon("breakpoint_execute.png"), tr("Set Hardware on Execution"));
QAction* replaceSlot0Action = makeMenuAction(replaceSlotMenu, DIcon("breakpoint_execute_slot1.png"), tr("Replace Slot 0 (Free)"), SLOT(setHwBpOnSlot0ActionSlot()));
QAction* replaceSlot1Action = makeMenuAction(replaceSlotMenu, DIcon("breakpoint_execute_slot2.png"), tr("Replace Slot 1 (Free)"), SLOT(setHwBpOnSlot1ActionSlot()));
QAction* replaceSlot2Action = makeMenuAction(replaceSlotMenu, DIcon("breakpoint_execute_slot3.png"), tr("Replace Slot 2 (Free)"), SLOT(setHwBpOnSlot2ActionSlot()));
QAction* replaceSlot3Action = makeMenuAction(replaceSlotMenu, DIcon("breakpoint_execute_slot4.png"), tr("Replace Slot 3 (Free)"), SLOT(setHwBpOnSlot3ActionSlot()));
mMenuBuilder->addMenu(makeMenu(QIcon(":/icons/images/breakpoint.png"), tr("Breakpoint")), [ = ](QMenu * menu)
mMenuBuilder->addMenu(makeMenu(DIcon("breakpoint.png"), tr("Breakpoint")), [ = ](QMenu * menu)
{
BPXTYPE bpType = DbgGetBpxTypeAt(rvaToVa(getInitialSelection()));
if((bpType & bp_normal) == bp_normal)
@ -302,33 +302,33 @@ void CPUDisassembly::setupRightClickContextMenu()
return true;
});
mMenuBuilder->addMenu(makeMenu(QIcon(":/icons/images/dump.png"), tr("&Follow in Dump")), [this](QMenu * menu)
mMenuBuilder->addMenu(makeMenu(DIcon("dump.png"), tr("&Follow in Dump")), [this](QMenu * menu)
{
setupFollowReferenceMenu(rvaToVa(getInitialSelection()), menu, false, false);
return true;
});
mMenuBuilder->addMenu(makeMenu(QIcon(":/icons/images/processor-cpu.png"), tr("&Follow in Disassembler")), [this](QMenu * menu)
mMenuBuilder->addMenu(makeMenu(DIcon("processor-cpu.png"), tr("&Follow in Disassembler")), [this](QMenu * menu)
{
setupFollowReferenceMenu(rvaToVa(getInitialSelection()), menu, false, true);
return menu->actions().length() != 0; //only add this menu if there is something to follow
});
mMenuBuilder->addAction(makeAction(QIcon(":/icons/images/source.png"), tr("Open Source File"), SLOT(openSourceSlot())), [this](QMenu*)
mMenuBuilder->addAction(makeAction(DIcon("source.png"), tr("Open Source File"), SLOT(openSourceSlot())), [this](QMenu*)
{
return DbgFunctions()->GetSourceFromAddr(rvaToVa(getInitialSelection()), 0, 0);
});
MenuBuilder* decompileMenu = new MenuBuilder(this);
decompileMenu->addAction(makeShortcutAction(QIcon(":/icons/images/decompile_selection.png"), tr("Selection"), SLOT(decompileSelectionSlot()), "ActionDecompileSelection"));
decompileMenu->addAction(makeShortcutAction(QIcon(":/icons/images/decompile_function.png"), tr("Function"), SLOT(decompileFunctionSlot()), "ActionDecompileFunction"), [this](QMenu*)
decompileMenu->addAction(makeShortcutAction(DIcon("decompile_selection.png"), tr("Selection"), SLOT(decompileSelectionSlot()), "ActionDecompileSelection"));
decompileMenu->addAction(makeShortcutAction(DIcon("decompile_function.png"), tr("Function"), SLOT(decompileFunctionSlot()), "ActionDecompileFunction"), [this](QMenu*)
{
return DbgFunctionGet(rvaToVa(getInitialSelection()), 0, 0);
});
mMenuBuilder->addMenu(makeMenu(QIcon(":/icons/images/snowman.png"), tr("Decompile")), decompileMenu);
mMenuBuilder->addMenu(makeMenu(DIcon("snowman.png"), tr("Decompile")), decompileMenu);
mMenuBuilder->addMenu(makeMenu(QIcon(":/icons/images/help.png"), tr("Help on Symbolic Name")), [this](QMenu * menu)
mMenuBuilder->addMenu(makeMenu(DIcon("help.png"), tr("Help on Symbolic Name")), [this](QMenu * menu)
{
QSet<QString> labels;
if(!getLabelsFromInstruction(rvaToVa(getInitialSelection()), labels))
@ -337,8 +337,8 @@ void CPUDisassembly::setupRightClickContextMenu()
menu->addAction(makeAction(label, SLOT(labelHelpSlot())));
return true;
});
mMenuBuilder->addAction(makeShortcutAction(QIcon(":/icons/images/helpmnemonic.png"), tr("Help on mnemonic"), SLOT(mnemonicHelpSlot()), "ActionHelpOnMnemonic"));
QAction* mnemonicBrief = makeShortcutAction(QIcon(":/icons/images/helpbrief.png"), tr("Show mnemonic brief"), SLOT(mnemonicBriefSlot()), "ActionToggleMnemonicBrief");
mMenuBuilder->addAction(makeShortcutAction(DIcon("helpmnemonic.png"), tr("Help on mnemonic"), SLOT(mnemonicHelpSlot()), "ActionHelpOnMnemonic"));
QAction* mnemonicBrief = makeShortcutAction(DIcon("helpbrief.png"), tr("Show mnemonic brief"), SLOT(mnemonicBriefSlot()), "ActionToggleMnemonicBrief");
mMenuBuilder->addAction(mnemonicBrief, [this, mnemonicBrief](QMenu*)
{
if(mShowMnemonicBrief)
@ -348,7 +348,7 @@ void CPUDisassembly::setupRightClickContextMenu()
return true;
});
mMenuBuilder->addAction(makeShortcutAction(QIcon(":/icons/images/highlight.png"), tr("&Highlighting mode"), SLOT(enableHighlightingModeSlot()), "ActionHighlightingMode"));
mMenuBuilder->addAction(makeShortcutAction(DIcon("highlight.png"), tr("&Highlighting mode"), SLOT(enableHighlightingModeSlot()), "ActionHighlightingMode"));
mMenuBuilder->addSeparator();
MenuBuilder* labelMenu = new MenuBuilder(this);
@ -372,13 +372,13 @@ void CPUDisassembly::setupRightClickContextMenu()
return DbgMemIsValidReadPtr(addr);
});
mMenuBuilder->addMenu(makeMenu(QIcon(":/icons/images/label.png"), tr("Label")), labelMenu);
mMenuBuilder->addMenu(makeMenu(DIcon("label.png"), tr("Label")), labelMenu);
QAction* traceRecordDisable = makeAction(QIcon(":/icons/images/close-all-tabs.png"), tr("Disable"), SLOT(ActionTraceRecordDisableSlot()));
QAction* traceRecordEnableBit = makeAction(QIcon(":/icons/images/bit.png"), tr("Bit"), SLOT(ActionTraceRecordBitSlot()));
QAction* traceRecordEnableByte = makeAction(QIcon(":/icons/images/byte.png"), tr("Byte"), SLOT(ActionTraceRecordByteSlot()));
QAction* traceRecordEnableWord = makeAction(QIcon(":/icons/images/word.png"), tr("Word"), SLOT(ActionTraceRecordWordSlot()));
mMenuBuilder->addMenu(makeMenu(QIcon(":/icons/images/trace.png"), tr("Trace record")), [ = ](QMenu * menu)
QAction* traceRecordDisable = makeAction(DIcon("close-all-tabs.png"), tr("Disable"), SLOT(ActionTraceRecordDisableSlot()));
QAction* traceRecordEnableBit = makeAction(DIcon("bit.png"), tr("Bit"), SLOT(ActionTraceRecordBitSlot()));
QAction* traceRecordEnableByte = makeAction(DIcon("byte.png"), tr("Byte"), SLOT(ActionTraceRecordByteSlot()));
QAction* traceRecordEnableWord = makeAction(DIcon("word.png"), tr("Word"), SLOT(ActionTraceRecordWordSlot()));
mMenuBuilder->addMenu(makeMenu(DIcon("trace.png"), tr("Trace record")), [ = ](QMenu * menu)
{
if(DbgFunctions()->GetTraceRecordType(rvaToVa(getInitialSelection())) == TRACERECORDTYPE::TraceRecordNone)
{
@ -391,12 +391,12 @@ void CPUDisassembly::setupRightClickContextMenu()
return true;
});
mMenuBuilder->addAction(makeShortcutAction(QIcon(":/icons/images/comment.png"), tr("Comment"), SLOT(setCommentSlot()), "ActionSetComment"));
mMenuBuilder->addAction(makeShortcutAction(QIcon(":/icons/images/bookmark_toggle.png"), tr("Toggle Bookmark"), SLOT(setBookmarkSlot()), "ActionToggleBookmark"));
mMenuBuilder->addAction(makeShortcutAction(DIcon("comment.png"), tr("Comment"), SLOT(setCommentSlot()), "ActionSetComment"));
mMenuBuilder->addAction(makeShortcutAction(DIcon("bookmark_toggle.png"), tr("Toggle Bookmark"), SLOT(setBookmarkSlot()), "ActionToggleBookmark"));
mMenuBuilder->addSeparator();
MenuBuilder* analysisMenu = new MenuBuilder(this);
QAction* toggleFunctionAction = makeShortcutAction(QIcon(":/icons/images/functions.png"), tr("Function"), SLOT(toggleFunctionSlot()), "ActionToggleFunction");
QAction* toggleFunctionAction = makeShortcutAction(DIcon("functions.png"), tr("Function"), SLOT(toggleFunctionSlot()), "ActionToggleFunction");
analysisMenu->addAction(toggleFunctionAction, [this, toggleFunctionAction](QMenu*)
{
if(!DbgFunctionOverlaps(rvaToVa(getSelectionStart()), rvaToVa(getSelectionEnd())))
@ -405,7 +405,7 @@ void CPUDisassembly::setupRightClickContextMenu()
toggleFunctionAction->setText(tr("Delete function"));
return true;
});
QAction* toggleArgumentAction = makeShortcutAction(QIcon(":/icons/images/arguments.png"), tr("Argument"), SLOT(toggleArgumentSlot()), "ActionToggleArgument");
QAction* toggleArgumentAction = makeShortcutAction(DIcon("arguments.png"), tr("Argument"), SLOT(toggleArgumentSlot()), "ActionToggleArgument");
analysisMenu->addAction(toggleArgumentAction, [this, toggleArgumentAction](QMenu*)
{
if(!DbgArgumentOverlaps(rvaToVa(getSelectionStart()), rvaToVa(getSelectionEnd())))
@ -414,15 +414,15 @@ void CPUDisassembly::setupRightClickContextMenu()
toggleArgumentAction->setText(tr("Delete argument"));
return true;
});
analysisMenu->addAction(makeShortcutAction(QIcon(":/icons/images/analysis_single_function.png"), tr("Analyze single function"), SLOT(analyzeSingleFunctionSlot()), "ActionAnalyzeSingleFunction"));
analysisMenu->addAction(makeShortcutAction(DIcon("analysis_single_function.png"), tr("Analyze single function"), SLOT(analyzeSingleFunctionSlot()), "ActionAnalyzeSingleFunction"));
analysisMenu->addSeparator();
analysisMenu->addAction(makeShortcutAction(QIcon(":/icons/images/remove_analysis_from_module.png"), tr("Remove analysis from module"), SLOT(removeAnalysisModuleSlot()), "ActionRemoveAnalysisFromModule"));
analysisMenu->addAction(makeShortcutAction(QIcon(":/icons/images/remove_analysis_from_selection.png"), tr("Remove analysis from selection"), SLOT(removeAnalysisSelectionSlot()), "ActionRemoveAnalysisFromSelection"));
analysisMenu->addAction(makeShortcutAction(DIcon("remove_analysis_from_module.png"), tr("Remove analysis from module"), SLOT(removeAnalysisModuleSlot()), "ActionRemoveAnalysisFromModule"));
analysisMenu->addAction(makeShortcutAction(DIcon("remove_analysis_from_selection.png"), tr("Remove analysis from selection"), SLOT(removeAnalysisSelectionSlot()), "ActionRemoveAnalysisFromSelection"));
analysisMenu->addSeparator();
QMenu* encodeTypeMenu = makeMenu(QIcon(":/icons/images/treat_selection_head_as.png"), tr("Treat selection &head as"));
QMenu* encodeTypeRangeMenu = makeMenu(QIcon(":/icons/images/treat_from_selection_as.png"), tr("Treat from &selection as"));
QMenu* encodeTypeMenu = makeMenu(DIcon("treat_selection_head_as.png"), tr("Treat selection &head as"));
QMenu* encodeTypeRangeMenu = makeMenu(DIcon("treat_from_selection_as.png"), tr("Treat from &selection as"));
const char* strTable[] = {"Code", "Byte", "Word", "Dword", "Fword", "Qword", "Tbyte", "Oword", nullptr,
"Float", "Double", "Long Double", nullptr,
@ -462,7 +462,7 @@ void CPUDisassembly::setupRightClickContextMenu()
QAction* action;
QIcon icon;
if(iconTable[i])
icon = QIcon(QString(":/icons/images/treat_selection_as_%1.png").arg(iconTable[i]));
icon = DIcon(QString("treat_selection_as_%1.png").arg(iconTable[i]));
if(shortcutTable[i])
action = makeShortcutAction(icon, tr(strTable[i]), SLOT(setEncodeTypeRangeSlot()), QString("ActionTreatSelectionAs%1").arg(shortcutTable[i]).toUtf8().constData());
else
@ -478,46 +478,46 @@ void CPUDisassembly::setupRightClickContextMenu()
analysisMenu->addMenu(encodeTypeRangeMenu);
analysisMenu->addMenu(encodeTypeMenu);
mMenuBuilder->addMenu(makeMenu(QIcon(":/icons/images/analysis.png"), tr("Analysis")), analysisMenu);
mMenuBuilder->addMenu(makeMenu(DIcon("analysis.png"), tr("Analysis")), analysisMenu);
mMenuBuilder->addSeparator();
mMenuBuilder->addAction(makeShortcutAction(QIcon(":/icons/images/compile.png"), tr("Assemble"), SLOT(assembleSlot()), "ActionAssemble"));
removeAction(mMenuBuilder->addAction(makeShortcutAction(QIcon(":/icons/images/patch.png"), tr("Patches"), SLOT(showPatchesSlot()), "ViewPatches"))); //prevent conflicting shortcut with the MainWindow
mMenuBuilder->addAction(makeShortcutAction(QIcon(":/icons/images/yara.png"), tr("&Yara..."), SLOT(yaraSlot()), "ActionYara"));
mMenuBuilder->addAction(makeShortcutAction(DIcon("compile.png"), tr("Assemble"), SLOT(assembleSlot()), "ActionAssemble"));
removeAction(mMenuBuilder->addAction(makeShortcutAction(DIcon("patch.png"), tr("Patches"), SLOT(showPatchesSlot()), "ViewPatches"))); //prevent conflicting shortcut with the MainWindow
mMenuBuilder->addAction(makeShortcutAction(DIcon("yara.png"), tr("&Yara..."), SLOT(yaraSlot()), "ActionYara"));
mMenuBuilder->addSeparator();
mMenuBuilder->addAction(makeShortcutAction(QIcon(":/icons/images/neworigin.png"), tr("Set New Origin Here"), SLOT(setNewOriginHereActionSlot()), "ActionSetNewOriginHere"));
mMenuBuilder->addAction(makeShortcutAction(DIcon("neworigin.png"), tr("Set New Origin Here"), SLOT(setNewOriginHereActionSlot()), "ActionSetNewOriginHere"));
MenuBuilder* gotoMenu = new MenuBuilder(this);
gotoMenu->addAction(makeShortcutAction(QIcon(":/icons/images/cbp.png"), tr("Origin"), SLOT(gotoOriginSlot()), "ActionGotoOrigin"));
gotoMenu->addAction(makeShortcutAction(QIcon(":/icons/images/previous.png"), tr("Previous"), SLOT(gotoPreviousSlot()), "ActionGotoPrevious"), [this](QMenu*)
gotoMenu->addAction(makeShortcutAction(DIcon("cbp.png"), tr("Origin"), SLOT(gotoOriginSlot()), "ActionGotoOrigin"));
gotoMenu->addAction(makeShortcutAction(DIcon("previous.png"), tr("Previous"), SLOT(gotoPreviousSlot()), "ActionGotoPrevious"), [this](QMenu*)
{
return historyHasPrevious();
});
gotoMenu->addAction(makeShortcutAction(QIcon(":/icons/images/next.png"), tr("Next"), SLOT(gotoNextSlot()), "ActionGotoNext"), [this](QMenu*)
gotoMenu->addAction(makeShortcutAction(DIcon("next.png"), tr("Next"), SLOT(gotoNextSlot()), "ActionGotoNext"), [this](QMenu*)
{
return historyHasNext();
});
gotoMenu->addAction(makeShortcutAction(QIcon(":/icons/images/geolocation-goto.png"), tr("Expression"), SLOT(gotoExpressionSlot()), "ActionGotoExpression"));
gotoMenu->addAction(makeShortcutAction(QIcon(":/icons/images/fileoffset.png"), tr("File Offset"), SLOT(gotoFileOffsetSlot()), "ActionGotoFileOffset"), [this](QMenu*)
gotoMenu->addAction(makeShortcutAction(DIcon("geolocation-goto.png"), tr("Expression"), SLOT(gotoExpressionSlot()), "ActionGotoExpression"));
gotoMenu->addAction(makeShortcutAction(DIcon("fileoffset.png"), tr("File Offset"), SLOT(gotoFileOffsetSlot()), "ActionGotoFileOffset"), [this](QMenu*)
{
char modname[MAX_MODULE_SIZE] = "";
return DbgGetModuleAt(rvaToVa(getInitialSelection()), modname);
});
gotoMenu->addAction(makeShortcutAction(QIcon(":/icons/images/top.png"), tr("Start of Page"), SLOT(gotoStartSlot()), "ActionGotoStart"));
gotoMenu->addAction(makeShortcutAction(QIcon(":/icons/images/bottom.png"), tr("End of Page"), SLOT(gotoEndSlot()), "ActionGotoEnd"));
gotoMenu->addAction(makeShortcutAction(QIcon(":/icons/images/functionstart.png"), tr("Start of Function"), SLOT(gotoFunctionStartSlot()), "ActionGotoFunctionStart"), [this](QMenu*)
gotoMenu->addAction(makeShortcutAction(DIcon("top.png"), tr("Start of Page"), SLOT(gotoStartSlot()), "ActionGotoStart"));
gotoMenu->addAction(makeShortcutAction(DIcon("bottom.png"), tr("End of Page"), SLOT(gotoEndSlot()), "ActionGotoEnd"));
gotoMenu->addAction(makeShortcutAction(DIcon("functionstart.png"), tr("Start of Function"), SLOT(gotoFunctionStartSlot()), "ActionGotoFunctionStart"), [this](QMenu*)
{
return DbgFunctionGet(rvaToVa(getInitialSelection()), nullptr, nullptr);
});
gotoMenu->addAction(makeShortcutAction(QIcon(":/icons/images/functionend.png"), tr("End of Function"), SLOT(gotoFunctionEndSlot()), "ActionGotoFunctionEnd"), [this](QMenu*)
gotoMenu->addAction(makeShortcutAction(DIcon("functionend.png"), tr("End of Function"), SLOT(gotoFunctionEndSlot()), "ActionGotoFunctionEnd"), [this](QMenu*)
{
return DbgFunctionGet(rvaToVa(getInitialSelection()), nullptr, nullptr);
});
mMenuBuilder->addMenu(makeMenu(QIcon(":/icons/images/goto.png"), tr("Go to")), gotoMenu);
mMenuBuilder->addMenu(makeMenu(DIcon("goto.png"), tr("Go to")), gotoMenu);
mMenuBuilder->addSeparator();
mMenuBuilder->addAction(makeShortcutAction(QIcon(":/icons/images/xrefs.png"), tr("xrefs..."), SLOT(gotoXrefSlot()), "ActionXrefs"), [this](QMenu*)
mMenuBuilder->addAction(makeShortcutAction(DIcon("xrefs.png"), tr("xrefs..."), SLOT(gotoXrefSlot()), "ActionXrefs"), [this](QMenu*)
{
return mXrefInfo.refcount > 0;
});
@ -528,45 +528,45 @@ void CPUDisassembly::setupRightClickContextMenu()
MenuBuilder* mSearchAllMenu = new MenuBuilder(this);
// Search in Current Region menu
mFindCommandRegion = makeShortcutAction(QIcon(":/icons/images/search_for_command.png"), tr("C&ommand"), SLOT(findCommandSlot()), "ActionFind");
mFindConstantRegion = makeAction(QIcon(":/icons/images/search_for_constant.png"), tr("&Constant"), SLOT(findConstantSlot()));
mFindStringsRegion = makeAction(QIcon(":/icons/images/search_for_string.png"), tr("&String references"), SLOT(findStringsSlot()));
mFindCallsRegion = makeAction(QIcon(":/icons/images/call.png"), tr("&Intermodular calls"), SLOT(findCallsSlot()));
mFindCommandRegion = makeShortcutAction(DIcon("search_for_command.png"), tr("C&ommand"), SLOT(findCommandSlot()), "ActionFind");
mFindConstantRegion = makeAction(DIcon("search_for_constant.png"), tr("&Constant"), SLOT(findConstantSlot()));
mFindStringsRegion = makeAction(DIcon("search_for_string.png"), tr("&String references"), SLOT(findStringsSlot()));
mFindCallsRegion = makeAction(DIcon("call.png"), tr("&Intermodular calls"), SLOT(findCallsSlot()));
mSearchRegionMenu->addAction(mFindCommandRegion);
mSearchRegionMenu->addAction(mFindConstantRegion);
mSearchRegionMenu->addAction(mFindStringsRegion);
mSearchRegionMenu->addAction(mFindCallsRegion);
mSearchRegionMenu->addAction(makeShortcutAction(QIcon(":/icons/images/search_for_pattern.png"), tr("&Pattern"), SLOT(findPatternSlot()), "ActionFindPattern"));
mSearchRegionMenu->addAction(makeShortcutAction(DIcon("search_for_pattern.png"), tr("&Pattern"), SLOT(findPatternSlot()), "ActionFindPattern"));
// Search in Current Module menu
mFindCommandModule = makeAction(QIcon(":/icons/images/search_for_command.png"), tr("C&ommand"), SLOT(findCommandSlot()));
mFindConstantModule = makeAction(QIcon(":/icons/images/search_for_constant.png"), tr("&Constant"), SLOT(findConstantSlot()));
mFindStringsModule = makeAction(QIcon(":/icons/images/search_for_string.png"), tr("&String references"), SLOT(findStringsSlot()));
mFindCallsModule = makeAction(QIcon(":/icons/images/call.png"), tr("&Intermodular calls"), SLOT(findCallsSlot()));
mFindCommandModule = makeAction(DIcon("search_for_command.png"), tr("C&ommand"), SLOT(findCommandSlot()));
mFindConstantModule = makeAction(DIcon("search_for_constant.png"), tr("&Constant"), SLOT(findConstantSlot()));
mFindStringsModule = makeAction(DIcon("search_for_string.png"), tr("&String references"), SLOT(findStringsSlot()));
mFindCallsModule = makeAction(DIcon("call.png"), tr("&Intermodular calls"), SLOT(findCallsSlot()));
mSearchModuleMenu->addAction(mFindCommandModule);
mSearchModuleMenu->addAction(mFindConstantModule);
mSearchModuleMenu->addAction(mFindStringsModule);
mSearchModuleMenu->addAction(mFindCallsModule);
// Search in All Modules menu
mFindCommandAll = makeAction(QIcon(":/icons/images/search_for_command.png"), tr("C&ommand"), SLOT(findCommandSlot()));
mFindConstantAll = makeAction(QIcon(":/icons/images/search_for_constant.png"), tr("&Constant"), SLOT(findConstantSlot()));
mFindStringsAll = makeAction(QIcon(":/icons/images/search_for_string.png"), tr("&String references"), SLOT(findStringsSlot()));
mFindCallsAll = makeAction(QIcon(":/icons/images/call.png"), tr("&Intermodular calls"), SLOT(findCallsSlot()));
mFindCommandAll = makeAction(DIcon("search_for_command.png"), tr("C&ommand"), SLOT(findCommandSlot()));
mFindConstantAll = makeAction(DIcon("search_for_constant.png"), tr("&Constant"), SLOT(findConstantSlot()));
mFindStringsAll = makeAction(DIcon("search_for_string.png"), tr("&String references"), SLOT(findStringsSlot()));
mFindCallsAll = makeAction(DIcon("call.png"), tr("&Intermodular calls"), SLOT(findCallsSlot()));
mSearchAllMenu->addAction(mFindCommandAll);
mSearchAllMenu->addAction(mFindConstantAll);
mSearchAllMenu->addAction(mFindStringsAll);
mSearchAllMenu->addAction(mFindCallsAll);
searchMenu->addMenu(makeMenu(QIcon(":/icons/images/search_current_region.png"), tr("Current Region")), mSearchRegionMenu);
searchMenu->addMenu(makeMenu(QIcon(":/icons/images/search_current_module.png"), tr("Current Module")), mSearchModuleMenu);
searchMenu->addMenu(makeMenu(QIcon(":/icons/images/search_all_modules.png"), tr("All Modules")), mSearchAllMenu);
mMenuBuilder->addMenu(makeMenu(QIcon(":/icons/images/search-for.png"), tr("&Search for")), searchMenu);
searchMenu->addMenu(makeMenu(DIcon("search_current_region.png"), tr("Current Region")), mSearchRegionMenu);
searchMenu->addMenu(makeMenu(DIcon("search_current_module.png"), tr("Current Module")), mSearchModuleMenu);
searchMenu->addMenu(makeMenu(DIcon("search_all_modules.png"), tr("All Modules")), mSearchAllMenu);
mMenuBuilder->addMenu(makeMenu(DIcon("search-for.png"), tr("&Search for")), searchMenu);
mReferenceSelectedAddressAction = makeShortcutAction(tr("&Selected Address(es)"), SLOT(findReferencesSlot()), "ActionFindReferencesToSelectedAddress");
mReferenceSelectedAddressAction->setFont(QFont("Courier New", 8));
mMenuBuilder->addMenu(makeMenu(QIcon(":/icons/images/find.png"), tr("Find &references to")), [this](QMenu * menu)
mMenuBuilder->addMenu(makeMenu(DIcon("find.png"), tr("Find &references to")), [this](QMenu * menu)
{
setupFollowReferenceMenu(rvaToVa(getInitialSelection()), menu, true, false);
return true;
@ -785,7 +785,7 @@ void CPUDisassembly::setBookmarkSlot()
if(!result)
{
QMessageBox msg(QMessageBox::Critical, tr("Error!"), tr("DbgSetBookmarkAt failed!"));
msg.setWindowIcon(QIcon(":/icons/images/compile-error.png"));
msg.setWindowIcon(DIcon("compile-error.png"));
msg.setParent(this, Qt::Dialog);
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
msg.exec();
@ -812,7 +812,7 @@ void CPUDisassembly::toggleFunctionSlot()
label_text = " (" + QString(labeltext) + ")";
QMessageBox msg(QMessageBox::Question, tr("Define function?"), start_text + "-" + end_text + label_text, QMessageBox::Yes | QMessageBox::No);
msg.setWindowIcon(QIcon(":/icons/images/compile.png"));
msg.setWindowIcon(DIcon("compile.png"));
msg.setParent(this, Qt::Dialog);
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
if(msg.exec() != QMessageBox::Yes)
@ -835,7 +835,7 @@ void CPUDisassembly::toggleFunctionSlot()
label_text = " (" + QString(labeltext) + ")";
QMessageBox msg(QMessageBox::Warning, tr("Delete function?"), start_text + "-" + end_text + label_text, QMessageBox::Ok | QMessageBox::Cancel);
msg.setWindowIcon(QIcon(":/icons/images/compile-warning.png"));
msg.setWindowIcon(DIcon("compile-warning.png"));
msg.setParent(this, Qt::Dialog);
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
if(msg.exec() != QMessageBox::Ok)
@ -863,7 +863,7 @@ void CPUDisassembly::toggleArgumentSlot()
label_text = " (" + QString(labeltext) + ")";
QMessageBox msg(QMessageBox::Question, tr("Define argument?"), start_text + "-" + end_text + label_text, QMessageBox::Yes | QMessageBox::No);
msg.setWindowIcon(QIcon(":/icons/images/compile.png"));
msg.setWindowIcon(DIcon("compile.png"));
msg.setParent(this, Qt::Dialog);
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
if(msg.exec() != QMessageBox::Yes)
@ -886,7 +886,7 @@ void CPUDisassembly::toggleArgumentSlot()
label_text = " (" + QString(labeltext) + ")";
QMessageBox msg(QMessageBox::Warning, tr("Delete argument?"), start_text + "-" + end_text + label_text, QMessageBox::Ok | QMessageBox::Cancel);
msg.setWindowIcon(QIcon(":/icons/images/compile-warning.png"));
msg.setWindowIcon(DIcon("compile-warning.png"));
msg.setParent(this, Qt::Dialog);
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
if(msg.exec() != QMessageBox::Ok)
@ -942,7 +942,7 @@ void CPUDisassembly::assembleSlot()
if(!DbgFunctions()->AssembleAtEx(wVA, assembleDialog.editText.toUtf8().constData(), error, assembleDialog.bFillWithNopsChecked))
{
QMessageBox msg(QMessageBox::Critical, tr("Error!"), tr("Failed to assemble instruction \" %1 \" (%2)").arg(assembleDialog.editText).arg(error));
msg.setWindowIcon(QIcon(":/icons/images/compile-error.png"));
msg.setWindowIcon(DIcon("compile-error.png"));
msg.setParent(this, Qt::Dialog);
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
msg.exec();
@ -1471,7 +1471,7 @@ void CPUDisassembly::displayWarningSlot(QString title, QString text)
{
QMessageBox msg(QMessageBox::Warning, title, text, QMessageBox::Ok);
msg.setParent(this, Qt::Dialog);
msg.setWindowIcon(QIcon(":/icons/images/compile-warning.png"));
msg.setWindowIcon(DIcon("compile-warning.png"));
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
msg.exec();
}

View File

@ -33,17 +33,17 @@ void CPUDump::setupContextMenu()
{
//Binary menu
mBinaryMenu = new QMenu(tr("B&inary"), this);
mBinaryMenu->setIcon(QIcon(":/icons/images/binary.png"));
mBinaryMenu->setIcon(DIcon("binary.png"));
//Binary->Edit
mBinaryEditAction = new QAction(QIcon(":/icons/images/binary_edit.png"), tr("&Edit"), this);
mBinaryEditAction = new QAction(DIcon("binary_edit.png"), tr("&Edit"), this);
mBinaryEditAction->setShortcutContext(Qt::WidgetShortcut);
this->addAction(mBinaryEditAction);
connect(mBinaryEditAction, SIGNAL(triggered()), this, SLOT(binaryEditSlot()));
mBinaryMenu->addAction(mBinaryEditAction);
//Binary->Fill
mBinaryFillAction = new QAction(QIcon(":/icons/images/binary_fill.png"), tr("&Fill..."), this);
mBinaryFillAction = new QAction(DIcon("binary_fill.png"), tr("&Fill..."), this);
mBinaryFillAction->setShortcutContext(Qt::WidgetShortcut);
this->addAction(mBinaryFillAction);
connect(mBinaryFillAction, SIGNAL(triggered()), this, SLOT(binaryFillSlot()));
@ -53,45 +53,45 @@ void CPUDump::setupContextMenu()
mBinaryMenu->addSeparator();
//Binary->Copy
mBinaryCopyAction = new QAction(QIcon(":/icons/images/binary_copy.png"), tr("&Copy"), this);
mBinaryCopyAction = new QAction(DIcon("binary_copy.png"), tr("&Copy"), this);
mBinaryCopyAction->setShortcutContext(Qt::WidgetShortcut);
this->addAction(mBinaryCopyAction);
connect(mBinaryCopyAction, SIGNAL(triggered()), this, SLOT(binaryCopySlot()));
mBinaryMenu->addAction(mBinaryCopyAction);
//Binary->Paste
mBinaryPasteAction = new QAction(QIcon(":/icons/images/binary_paste.png"), tr("&Paste"), this);
mBinaryPasteAction = new QAction(DIcon("binary_paste.png"), tr("&Paste"), this);
mBinaryPasteAction->setShortcutContext(Qt::WidgetShortcut);
this->addAction(mBinaryPasteAction);
connect(mBinaryPasteAction, SIGNAL(triggered()), this, SLOT(binaryPasteSlot()));
mBinaryMenu->addAction(mBinaryPasteAction);
//Binary->Paste (Ignore Size)
mBinaryPasteIgnoreSizeAction = new QAction(QIcon(":/icons/images/binary_paste_ignoresize.png"), tr("Paste (&Ignore Size)"), this);
mBinaryPasteIgnoreSizeAction = new QAction(DIcon("binary_paste_ignoresize.png"), tr("Paste (&Ignore Size)"), this);
mBinaryPasteIgnoreSizeAction->setShortcutContext(Qt::WidgetShortcut);
this->addAction(mBinaryPasteIgnoreSizeAction);
connect(mBinaryPasteIgnoreSizeAction, SIGNAL(triggered()), this, SLOT(binaryPasteIgnoreSizeSlot()));
mBinaryMenu->addAction(mBinaryPasteIgnoreSizeAction);
//Binary->Save To a File
mBinarySaveToFile = new QAction(QIcon(":/icons/images/binary_save.png"), tr("Save To a File"), this);
mBinarySaveToFile = new QAction(DIcon("binary_save.png"), tr("Save To a File"), this);
mBinarySaveToFile->setShortcutContext(Qt::WidgetShortcut);
this->addAction(mBinarySaveToFile);
connect(mBinarySaveToFile, SIGNAL(triggered()), this, SLOT(binarySaveToFileSlot()));
mBinaryMenu->addAction(mBinarySaveToFile);
// Restore Selection
mUndoSelection = new QAction(QIcon(":/icons/images/eraser.png"), tr("&Restore selection"), this);
mUndoSelection = new QAction(DIcon("eraser.png"), tr("&Restore selection"), this);
mUndoSelection->setShortcutContext(Qt::WidgetShortcut);
this->addAction(mUndoSelection);
connect(mUndoSelection, SIGNAL(triggered()), this, SLOT(undoSelectionSlot()));
// Follow in Stack
mFollowStack = new QAction(QIcon(":/icons/images/stack.png"), tr("Follow in Stack"), this);
mFollowStack = new QAction(DIcon("stack.png"), tr("Follow in Stack"), this);
connect(mFollowStack, SIGNAL(triggered()), this, SLOT(followStackSlot()));
// Follow in Disasm
auto disasmIcon = QIcon(QString(":/icons/images/") + ArchValue("processor32.png", "processor64.png"));
auto disasmIcon = DIcon(ArchValue("processor32.png", "processor64.png"));
mFollowInDisasm = new QAction(disasmIcon, tr("Follow in Disassembler"), this);
connect(mFollowInDisasm, SIGNAL(triggered()), this, SLOT(followInDisasmSlot()));
@ -127,45 +127,45 @@ void CPUDump::setupContextMenu()
}
//Sync with expression
mSyncWithExpression = new QAction(QIcon(":/icons/images/sync.png"), tr("&Sync with expression"), this);
mSyncWithExpression = new QAction(DIcon("sync.png"), tr("&Sync with expression"), this);
mSyncWithExpression->setShortcutContext(Qt::WidgetShortcut);
this->addAction(mSyncWithExpression);
connect(mSyncWithExpression, SIGNAL(triggered(bool)), this, SLOT(syncWithExpressionSlot()));
//Entropy
mEntropy = new QAction(QIcon(":/icons/images/entropy.png"), tr("Entrop&y..."), this);
mEntropy = new QAction(DIcon("entropy.png"), tr("Entrop&y..."), this);
mEntropy->setShortcutContext(Qt::WidgetShortcut);
this->addAction(mEntropy);
connect(mEntropy, SIGNAL(triggered()), this, SLOT(entropySlot()));
//Label
mSetLabelAction = new QAction(QIcon(":/icons/images/label.png"), tr("Set &Label"), this);
mSetLabelAction = new QAction(DIcon("label.png"), tr("Set &Label"), this);
mSetLabelAction->setShortcutContext(Qt::WidgetShortcut);
this->addAction(mSetLabelAction);
connect(mSetLabelAction, SIGNAL(triggered()), this, SLOT(setLabelSlot()));
//Modify value
mModifyValueAction = new QAction(QIcon(":/icons/images/modify.png"), tr("&Modify Value"), this);
mModifyValueAction = new QAction(DIcon("modify.png"), tr("&Modify Value"), this);
connect(mModifyValueAction, SIGNAL(triggered(bool)), this, SLOT(modifyValueSlot()));
//Breakpoint menu
mBreakpointMenu = new QMenu(tr("&Breakpoint"), this);
mBreakpointMenu->setIcon(QIcon(":/icons/images/breakpoint.png"));
mBreakpointMenu->setIcon(DIcon("breakpoint.png"));
//Breakpoint->Hardware, on access
mHardwareAccessMenu = new QMenu(tr("Hardware, &Access"), this);
mHardwareAccessMenu->setIcon(QIcon(":/icons/images/breakpoint_access.png"));
mHardwareAccess1 = new QAction(QIcon(":/icons/images/breakpoint_byte.png"), tr("&Byte"), this);
mHardwareAccessMenu->setIcon(DIcon("breakpoint_access.png"));
mHardwareAccess1 = new QAction(DIcon("breakpoint_byte.png"), tr("&Byte"), this);
connect(mHardwareAccess1, SIGNAL(triggered()), this, SLOT(hardwareAccess1Slot()));
mHardwareAccessMenu->addAction(mHardwareAccess1);
mHardwareAccess2 = new QAction(QIcon(":/icons/images/breakpoint_word.png"), tr("&Word"), this);
mHardwareAccess2 = new QAction(DIcon("breakpoint_word.png"), tr("&Word"), this);
connect(mHardwareAccess2, SIGNAL(triggered()), this, SLOT(hardwareAccess2Slot()));
mHardwareAccessMenu->addAction(mHardwareAccess2);
mHardwareAccess4 = new QAction(QIcon(":/icons/images/breakpoint_dword.png"), tr("&Dword"), this);
mHardwareAccess4 = new QAction(DIcon("breakpoint_dword.png"), tr("&Dword"), this);
connect(mHardwareAccess4, SIGNAL(triggered()), this, SLOT(hardwareAccess4Slot()));
mHardwareAccessMenu->addAction(mHardwareAccess4);
#ifdef _WIN64
mHardwareAccess8 = new QAction(QIcon(":/icons/images/breakpoint_qword.png"), tr("&Qword"), this);
mHardwareAccess8 = new QAction(DIcon("breakpoint_qword.png"), tr("&Qword"), this);
connect(mHardwareAccess8, SIGNAL(triggered()), this, SLOT(hardwareAccess8Slot()));
mHardwareAccessMenu->addAction(mHardwareAccess8);
#endif //_WIN64
@ -173,28 +173,28 @@ void CPUDump::setupContextMenu()
//Breakpoint->Hardware, on write
mHardwareWriteMenu = new QMenu(tr("Hardware, &Write"), this);
mHardwareWriteMenu->setIcon(QIcon(":/icons/images/breakpoint_write.png"));
mHardwareWrite1 = new QAction(QIcon(":/icons/images/breakpoint_byte.png"), tr("&Byte"), this);
mHardwareWriteMenu->setIcon(DIcon("breakpoint_write.png"));
mHardwareWrite1 = new QAction(DIcon("breakpoint_byte.png"), tr("&Byte"), this);
connect(mHardwareWrite1, SIGNAL(triggered()), this, SLOT(hardwareWrite1Slot()));
mHardwareWriteMenu->addAction(mHardwareWrite1);
mHardwareWrite2 = new QAction(QIcon(":/icons/images/breakpoint_word.png"), tr("&Word"), this);
mHardwareWrite2 = new QAction(DIcon("breakpoint_word.png"), tr("&Word"), this);
connect(mHardwareWrite2, SIGNAL(triggered()), this, SLOT(hardwareWrite2Slot()));
mHardwareWriteMenu->addAction(mHardwareWrite2);
mHardwareWrite4 = new QAction(QIcon(":/icons/images/breakpoint_dword.png"), tr("&Dword"), this);
mHardwareWrite4 = new QAction(DIcon("breakpoint_dword.png"), tr("&Dword"), this);
connect(mHardwareWrite4, SIGNAL(triggered()), this, SLOT(hardwareWrite4Slot()));
mHardwareWriteMenu->addAction(mHardwareWrite4);
#ifdef _WIN64
mHardwareWrite8 = new QAction(QIcon(":/icons/images/breakpoint_qword.png"), tr("&Qword"), this);
mHardwareWrite8 = new QAction(DIcon("breakpoint_qword.png"), tr("&Qword"), this);
connect(mHardwareWrite8, SIGNAL(triggered()), this, SLOT(hardwareWrite8Slot()));
mHardwareWriteMenu->addAction(mHardwareWrite8);
#endif //_WIN64
mBreakpointMenu->addMenu(mHardwareWriteMenu);
mHardwareExecute = new QAction(QIcon(":/icons/images/breakpoint_execute.png"), tr("Hardware, &Execute"), this);
mHardwareExecute = new QAction(DIcon("breakpoint_execute.png"), tr("Hardware, &Execute"), this);
connect(mHardwareExecute, SIGNAL(triggered()), this, SLOT(hardwareExecuteSlot()));
mBreakpointMenu->addAction(mHardwareExecute);
mHardwareRemove = new QAction(QIcon(":/icons/images/breakpoint_remove.png"), tr("Remove &Hardware"), this);
mHardwareRemove = new QAction(DIcon("breakpoint_remove.png"), tr("Remove &Hardware"), this);
connect(mHardwareRemove, SIGNAL(triggered()), this, SLOT(hardwareRemoveSlot()));
mBreakpointMenu->addAction(mHardwareRemove);
@ -203,105 +203,105 @@ void CPUDump::setupContextMenu()
//Breakpoint->Memory Access
mMemoryAccessMenu = new QMenu(tr("Memory, Access"), this);
mMemoryAccessMenu->setIcon(QIcon(":/icons/images/breakpoint_memory_access.png"));
mMemoryAccessSingleshoot = new QAction(QIcon(":/icons/images/breakpoint_memory_singleshoot.png"), tr("&Singleshoot"), this);
mMemoryAccessMenu->setIcon(DIcon("breakpoint_memory_access.png"));
mMemoryAccessSingleshoot = new QAction(DIcon("breakpoint_memory_singleshoot.png"), tr("&Singleshoot"), this);
connect(mMemoryAccessSingleshoot, SIGNAL(triggered()), this, SLOT(memoryAccessSingleshootSlot()));
mMemoryAccessMenu->addAction(mMemoryAccessSingleshoot);
mMemoryAccessRestore = new QAction(QIcon(":/icons/images/breakpoint_memory_restore_on_hit.png"), tr("&Restore on hit"), this);
mMemoryAccessRestore = new QAction(DIcon("breakpoint_memory_restore_on_hit.png"), tr("&Restore on hit"), this);
connect(mMemoryAccessRestore, SIGNAL(triggered()), this, SLOT(memoryAccessRestoreSlot()));
mMemoryAccessMenu->addAction(mMemoryAccessRestore);
mBreakpointMenu->addMenu(mMemoryAccessMenu);
//Breakpoint->Memory Write
mMemoryWriteMenu = new QMenu(tr("Memory, Write"), this);
mMemoryWriteMenu->setIcon(QIcon(":/icons/images/breakpoint_memory_write.png"));
mMemoryWriteSingleshoot = new QAction(QIcon(":/icons/images/breakpoint_memory_singleshoot.png"), tr("&Singleshoot"), this);
mMemoryWriteMenu->setIcon(DIcon("breakpoint_memory_write.png"));
mMemoryWriteSingleshoot = new QAction(DIcon("breakpoint_memory_singleshoot.png"), tr("&Singleshoot"), this);
connect(mMemoryWriteSingleshoot, SIGNAL(triggered()), this, SLOT(memoryWriteSingleshootSlot()));
mMemoryWriteMenu->addAction(mMemoryWriteSingleshoot);
mMemoryWriteRestore = new QAction(QIcon(":/icons/images/breakpoint_memory_restore_on_hit.png"), tr("&Restore on hit"), this);
mMemoryWriteRestore = new QAction(DIcon("breakpoint_memory_restore_on_hit.png"), tr("&Restore on hit"), this);
connect(mMemoryWriteRestore, SIGNAL(triggered()), this, SLOT(memoryWriteRestoreSlot()));
mMemoryWriteMenu->addAction(mMemoryWriteRestore);
mBreakpointMenu->addMenu(mMemoryWriteMenu);
//Breakpoint->Memory Execute
mMemoryExecuteMenu = new QMenu(tr("Memory, Execute"), this);
mMemoryExecuteMenu->setIcon(QIcon(":/icons/images/breakpoint_memory_execute.png"));
mMemoryExecuteSingleshoot = new QAction(QIcon(":/icons/images/breakpoint_memory_singleshoot.png"), tr("&Singleshoot"), this);
mMemoryExecuteMenu->setIcon(DIcon("breakpoint_memory_execute.png"));
mMemoryExecuteSingleshoot = new QAction(DIcon("breakpoint_memory_singleshoot.png"), tr("&Singleshoot"), this);
connect(mMemoryExecuteSingleshoot, SIGNAL(triggered()), this, SLOT(memoryExecuteSingleshootSlot()));
mMemoryExecuteMenu->addAction(mMemoryExecuteSingleshoot);
mMemoryExecuteRestore = new QAction(QIcon(":/icons/images/breakpoint_memory_restore_on_hit.png"), tr("&Restore on hit"), this);
mMemoryExecuteRestore = new QAction(DIcon("breakpoint_memory_restore_on_hit.png"), tr("&Restore on hit"), this);
connect(mMemoryExecuteRestore, SIGNAL(triggered()), this, SLOT(memoryExecuteRestoreSlot()));
mMemoryExecuteMenu->addAction(mMemoryExecuteRestore);
mBreakpointMenu->addMenu(mMemoryExecuteMenu);
//Breakpoint->Remove Memory
mMemoryRemove = new QAction(QIcon(":/icons/images/breakpoint_remove.png"), tr("Remove &Memory"), this);
mMemoryRemove = new QAction(DIcon("breakpoint_remove.png"), tr("Remove &Memory"), this);
connect(mMemoryRemove, SIGNAL(triggered()), this, SLOT(memoryRemoveSlot()));
mBreakpointMenu->addAction(mMemoryRemove);
//Find Pattern
mFindPatternAction = new QAction(QIcon(":/icons/images/search-for.png"), tr("&Find Pattern..."), this);
mFindPatternAction = new QAction(DIcon("search-for.png"), tr("&Find Pattern..."), this);
mFindPatternAction->setShortcutContext(Qt::WidgetShortcut);
this->addAction(mFindPatternAction);
connect(mFindPatternAction, SIGNAL(triggered()), this, SLOT(findPattern()));
//Yara
mYaraAction = new QAction(QIcon(":/icons/images/yara.png"), tr("&Yara..."), this);
mYaraAction = new QAction(DIcon("yara.png"), tr("&Yara..."), this);
mYaraAction->setShortcutContext(Qt::WidgetShortcut);
this->addAction(mYaraAction);
connect(mYaraAction, SIGNAL(triggered()), this, SLOT(yaraSlot()));
//Data copy
mDataCopyAction = new QAction(QIcon(":/icons/images/data-copy.png"), tr("Data co&py..."), this);
mDataCopyAction = new QAction(DIcon("data-copy.png"), tr("Data co&py..."), this);
connect(mDataCopyAction, SIGNAL(triggered()), this, SLOT(dataCopySlot()));
//Find References
mFindReferencesAction = new QAction(QIcon(":/icons/images/find.png"), tr("Find &References"), this);
mFindReferencesAction = new QAction(DIcon("find.png"), tr("Find &References"), this);
mFindReferencesAction->setShortcutContext(Qt::WidgetShortcut);
this->addAction(mFindReferencesAction);
connect(mFindReferencesAction, SIGNAL(triggered()), this, SLOT(findReferencesSlot()));
//Goto menu
mGotoMenu = new QMenu(tr("&Go to"), this);
mGotoMenu->setIcon(QIcon(":/icons/images/goto.png"));
mGotoMenu->setIcon(DIcon("goto.png"));
//Goto->Expression
mGotoExpression = new QAction(QIcon(":/icons/images/geolocation-goto.png"), tr("&Expression"), this);
mGotoExpression = new QAction(DIcon("geolocation-goto.png"), tr("&Expression"), this);
mGotoExpression->setShortcutContext(Qt::WidgetShortcut);
this->addAction(mGotoExpression);
connect(mGotoExpression, SIGNAL(triggered()), this, SLOT(gotoExpressionSlot()));
mGotoMenu->addAction(mGotoExpression);
// Goto->File offset
mGotoFileOffset = new QAction(QIcon(":/icons/images/fileoffset.png"), tr("File Offset"), this);
mGotoFileOffset = new QAction(DIcon("fileoffset.png"), tr("File Offset"), this);
mGotoFileOffset->setShortcutContext(Qt::WidgetShortcut);
this->addAction(mGotoFileOffset);
connect(mGotoFileOffset, SIGNAL(triggered()), this, SLOT(gotoFileOffsetSlot()));
mGotoMenu->addAction(mGotoFileOffset);
// Goto->Start of page
mGotoStart = new QAction(QIcon(":/icons/images/top.png"), tr("Start of Page"), this);
mGotoStart = new QAction(DIcon("top.png"), tr("Start of Page"), this);
mGotoStart->setShortcutContext(Qt::WidgetShortcut);
this->addAction(mGotoStart);
connect(mGotoStart, SIGNAL(triggered()), this, SLOT(gotoStartSlot()));
mGotoMenu->addAction(mGotoStart);
// Goto->End of page
mGotoEnd = new QAction(QIcon(":/icons/images/bottom.png"), tr("End of Page"), this);
mGotoEnd = new QAction(DIcon("bottom.png"), tr("End of Page"), this);
mGotoEnd->setShortcutContext(Qt::WidgetShortcut);
this->addAction(mGotoEnd);
connect(mGotoEnd, SIGNAL(triggered()), this, SLOT(gotoEndSlot()));
mGotoMenu->addAction(mGotoEnd);
// Goto->Previous
mGotoPrevious = new QAction(QIcon(":/icons/images/previous.png"), tr("Previous"), this);
mGotoPrevious = new QAction(DIcon("previous.png"), tr("Previous"), this);
mGotoPrevious->setShortcutContext(Qt::WidgetShortcut);
this->addAction(mGotoPrevious);
connect(mGotoPrevious, SIGNAL(triggered()), this, SLOT(gotoPrevSlot()));
mGotoMenu->addAction(mGotoPrevious);
// Goto->Next
mGotoNext = new QAction(QIcon(":/icons/images/next.png"), tr("Next"), this);
mGotoNext = new QAction(DIcon("next.png"), tr("Next"), this);
mGotoNext->setShortcutContext(Qt::WidgetShortcut);
this->addAction(mGotoNext);
connect(mGotoNext, SIGNAL(triggered()), this, SLOT(gotoNextSlot()));
@ -309,105 +309,105 @@ void CPUDump::setupContextMenu()
//Hex menu
mHexMenu = new QMenu(tr("&Hex"), this);
mHexMenu->setIcon(QIcon(":/icons/images/hex.png"));
mHexMenu->setIcon(DIcon("hex.png"));
//Hex->Ascii
mHexAsciiAction = new QAction(QIcon(":/icons/images/ascii.png"), "&ASCII", this);
mHexAsciiAction = new QAction(DIcon("ascii.png"), "&ASCII", this);
connect(mHexAsciiAction, SIGNAL(triggered()), this, SLOT(hexAsciiSlot()));
mHexMenu->addAction(mHexAsciiAction);
//Hex->Unicode
mHexUnicodeAction = new QAction(QIcon(":/icons/images/ascii-extended.png"), tr("&Extended ASCII"), this);
mHexUnicodeAction = new QAction(DIcon("ascii-extended.png"), tr("&Extended ASCII"), this);
connect(mHexUnicodeAction, SIGNAL(triggered()), this, SLOT(hexUnicodeSlot()));
mHexMenu->addAction(mHexUnicodeAction);
//Hex->Codepage
mHexCodepageAction = new QAction(QIcon(":/icons/images/codepage.png"), tr("&Codepage..."), this);
mHexCodepageAction = new QAction(DIcon("codepage.png"), tr("&Codepage..."), this);
connect(mHexCodepageAction, SIGNAL(triggered()), this, SLOT(hexCodepageSlot()));
mHexMenu->addAction(mHexCodepageAction);
//Text menu
mTextMenu = new QMenu(tr("&Text"), this);
mTextMenu->setIcon(QIcon(":/icons/images/strings.png"));
mTextMenu->setIcon(DIcon("strings.png"));
//Text->Ascii
mTextAsciiAction = new QAction(QIcon(":/icons/images/ascii.png"), tr("&ASCII"), this);
mTextAsciiAction = new QAction(DIcon("ascii.png"), tr("&ASCII"), this);
connect(mTextAsciiAction, SIGNAL(triggered()), this, SLOT(textAsciiSlot()));
mTextMenu->addAction(mTextAsciiAction);
//Text->Unicode
mTextUnicodeAction = new QAction(QIcon(":/icons/images/ascii-extended.png"), tr("&Extended ASCII"), this);
mTextUnicodeAction = new QAction(DIcon("ascii-extended.png"), tr("&Extended ASCII"), this);
connect(mTextUnicodeAction, SIGNAL(triggered()), this, SLOT(textUnicodeSlot()));
mTextMenu->addAction(mTextUnicodeAction);
//Hex->Codepage
mTextCodepageAction = new QAction(QIcon(":/icons/images/codepage.png"), tr("&Codepage..."), this);
mTextCodepageAction = new QAction(DIcon("codepage.png"), tr("&Codepage..."), this);
connect(mTextCodepageAction, SIGNAL(triggered()), this, SLOT(textCodepageSlot()));
mTextMenu->addAction(mTextCodepageAction);
//Integer menu
mIntegerMenu = new QMenu(tr("&Integer"), this);
mIntegerMenu->setIcon(QIcon(":/icons/images/integer.png"));
mIntegerMenu->setIcon(DIcon("integer.png"));
//Integer->Signed short
mIntegerSignedShortAction = new QAction(QIcon(":/icons/images/word.png"), "Signed short (16-bit)", this);
mIntegerSignedShortAction = new QAction(DIcon("word.png"), "Signed short (16-bit)", this);
connect(mIntegerSignedShortAction, SIGNAL(triggered()), this, SLOT(integerSignedShortSlot()));
mIntegerMenu->addAction(mIntegerSignedShortAction);
//Integer->Signed long
mIntegerSignedLongAction = new QAction(QIcon(":/icons/images/dword.png"), "Signed long (32-bit)", this);
mIntegerSignedLongAction = new QAction(DIcon("dword.png"), "Signed long (32-bit)", this);
connect(mIntegerSignedLongAction, SIGNAL(triggered()), this, SLOT(integerSignedLongSlot()));
mIntegerMenu->addAction(mIntegerSignedLongAction);
//Integer->Signed long long
mIntegerSignedLongLongAction = new QAction(QIcon(":/icons/images/qword.png"), "Signed long long (64-bit)", this);
mIntegerSignedLongLongAction = new QAction(DIcon("qword.png"), "Signed long long (64-bit)", this);
connect(mIntegerSignedLongLongAction, SIGNAL(triggered()), this, SLOT(integerSignedLongLongSlot()));
mIntegerMenu->addAction(mIntegerSignedLongLongAction);
//Integer->Unsigned short
mIntegerUnsignedShortAction = new QAction(QIcon(":/icons/images/word.png"), "Unsigned short (16-bit)", this);
mIntegerUnsignedShortAction = new QAction(DIcon("word.png"), "Unsigned short (16-bit)", this);
connect(mIntegerUnsignedShortAction, SIGNAL(triggered()), this, SLOT(integerUnsignedShortSlot()));
mIntegerMenu->addAction(mIntegerUnsignedShortAction);
//Integer->Unsigned long
mIntegerUnsignedLongAction = new QAction(QIcon(":/icons/images/dword.png"), "Unsigned long (32-bit)", this);
mIntegerUnsignedLongAction = new QAction(DIcon("dword.png"), "Unsigned long (32-bit)", this);
connect(mIntegerUnsignedLongAction, SIGNAL(triggered()), this, SLOT(integerUnsignedLongSlot()));
mIntegerMenu->addAction(mIntegerUnsignedLongAction);
//Integer->Unsigned long long
mIntegerUnsignedLongLongAction = new QAction(QIcon(":/icons/images/qword.png"), "Unsigned long long (64-bit)", this);
mIntegerUnsignedLongLongAction = new QAction(DIcon("qword.png"), "Unsigned long long (64-bit)", this);
connect(mIntegerUnsignedLongLongAction, SIGNAL(triggered()), this, SLOT(integerUnsignedLongLongSlot()));
mIntegerMenu->addAction(mIntegerUnsignedLongLongAction);
//Integer->Hex short
mIntegerHexShortAction = new QAction(QIcon(":/icons/images/word.png"), "Hex short (16-bit)", this);
mIntegerHexShortAction = new QAction(DIcon("word.png"), "Hex short (16-bit)", this);
connect(mIntegerHexShortAction, SIGNAL(triggered()), this, SLOT(integerHexShortSlot()));
mIntegerMenu->addAction(mIntegerHexShortAction);
//Integer->Hex long
mIntegerHexLongAction = new QAction(QIcon(":/icons/images/dword.png"), "Hex long (32-bit)", this);
mIntegerHexLongAction = new QAction(DIcon("dword.png"), "Hex long (32-bit)", this);
connect(mIntegerHexLongAction, SIGNAL(triggered()), this, SLOT(integerHexLongSlot()));
mIntegerMenu->addAction(mIntegerHexLongAction);
//Integer->Hex long long
mIntegerHexLongLongAction = new QAction(QIcon(":/icons/images/qword.png"), "Hex long long (64-bit)", this);
mIntegerHexLongLongAction = new QAction(DIcon("qword.png"), "Hex long long (64-bit)", this);
connect(mIntegerHexLongLongAction, SIGNAL(triggered()), this, SLOT(integerHexLongLongSlot()));
mIntegerMenu->addAction(mIntegerHexLongLongAction);
//Float menu
mFloatMenu = new QMenu(tr("&Float"), this);
mFloatMenu->setIcon(QIcon(":/icons/images/float.png"));
mFloatMenu->setIcon(DIcon("float.png"));
//Float->float
mFloatFloatAction = new QAction(QIcon(":/icons/images/32bit-float.png"), "&Float (32-bit)", this);
mFloatFloatAction = new QAction(DIcon("32bit-float.png"), "&Float (32-bit)", this);
connect(mFloatFloatAction, SIGNAL(triggered()), this, SLOT(floatFloatSlot()));
mFloatMenu->addAction(mFloatFloatAction);
//Float->double
mFloatDoubleAction = new QAction(QIcon(":/icons/images/64bit-float.png"), "&Double (64-bit)", this);
mFloatDoubleAction = new QAction(DIcon("64bit-float.png"), "&Double (64-bit)", this);
connect(mFloatDoubleAction, SIGNAL(triggered()), this, SLOT(floatDoubleSlot()));
mFloatMenu->addAction(mFloatDoubleAction);
//Float->long double
mFloatLongDoubleAction = new QAction(QIcon(":/icons/images/80bit-float.png"), "&Long double (80-bit)", this);
mFloatLongDoubleAction = new QAction(DIcon("80bit-float.png"), "&Long double (80-bit)", this);
connect(mFloatLongDoubleAction, SIGNAL(triggered()), this, SLOT(floatLongDoubleSlot()));
mFloatMenu->addAction(mFloatLongDoubleAction);
//Address
mAddressAction = new QAction(tr("&Address"), this);
mAddressAction->setIcon(QIcon(":/icons/images/address.png"));
mAddressAction->setIcon(DIcon("address.png"));
connect(mAddressAction, SIGNAL(triggered()), this, SLOT(addressSlot()));
//Disassembly
mDisassemblyAction = new QAction(QIcon(":/icons/images/processor-cpu.png"), tr("&Disassembly"), this);
mDisassemblyAction = new QAction(DIcon("processor-cpu.png"), tr("&Disassembly"), this);
connect(mDisassemblyAction, SIGNAL(triggered()), this, SLOT(disassemblySlot()));
mDisassemblyAction->setEnabled(false); // If this is implemented remove this line.
//Plugins
mPluginMenu = new QMenu(this);
mPluginMenu->setIcon(QIcon(":/icons/images/plugin.png"));
mPluginMenu->setIcon(DIcon("plugin.png"));
Bridge::getBridge()->emitMenuAddToList(this, mPluginMenu, GUI_DUMP_MENU);
updateShortcuts();
@ -523,7 +523,7 @@ void CPUDump::contextMenuEvent(QContextMenuEvent* event)
QMenu wMenu(this); //create context menu
wMenu.addMenu(mBinaryMenu);
QMenu wCopyMenu(tr("&Copy"), this);
wCopyMenu.setIcon(QIcon(":/icons/images/copy.png"));
wCopyMenu.setIcon(DIcon("copy.png"));
wCopyMenu.addAction(mCopySelection);
wCopyMenu.addAction(mCopyAddress);
if(DbgFunctions()->ModBaseFromAddr(selectedAddr))

View File

@ -15,7 +15,7 @@ CPUMultiDump::CPUMultiDump(CPUDisassembly* disas, int nbCpuDumpTabs, QWidget* pa
CPUDump* cpuDump = new CPUDump(disas, this);
cpuDump->loadColumnFromConfig(QString("CPUDump%1").arg(i + 1)); //TODO: needs a workaround because the columns change
connect(cpuDump, SIGNAL(displayReferencesWidget()), this, SLOT(displayReferencesWidgetSlot()));
this->addTabEx(cpuDump, QIcon(":/icons/images/dump.png"), tr("Dump ") + QString::number(i + 1), QString("Dump ") + QString::number(i + 1));
this->addTabEx(cpuDump, DIcon("dump.png"), tr("Dump ") + QString::number(i + 1), QString("Dump ") + QString::number(i + 1));
}
mCurrentCPUDump = dynamic_cast<CPUDump*>(currentWidget());
@ -23,7 +23,7 @@ CPUMultiDump::CPUMultiDump(CPUDisassembly* disas, int nbCpuDumpTabs, QWidget* pa
mWatch = new WatchView(this);
//mMaxCPUDumpTabs++;
this->addTabEx(mWatch, QIcon(":/icons/images/geolocation-goto.png"), tr("Watch ") + QString::number(1), QString("Watch 1"));
this->addTabEx(mWatch, DIcon("geolocation-goto.png"), tr("Watch ") + QString::number(1), QString("Watch 1"));
mWatch->loadColumnFromConfig("Watch1");
connect(this, SIGNAL(currentChanged(int)), this, SLOT(updateCurrentTabSlot(int)));

View File

@ -70,7 +70,7 @@ void CPUStack::setupContextMenu()
{
//Binary menu
mBinaryMenu = new QMenu(tr("B&inary"), this);
mBinaryMenu->setIcon(QIcon(":/icons/images/binary.png"));
mBinaryMenu->setIcon(DIcon("binary.png"));
//Binary->Edit
mBinaryEditAction = new QAction(tr("&Edit"), this);
@ -112,7 +112,7 @@ void CPUStack::setupContextMenu()
//Breakpoint menu
mBreakpointMenu = new QMenu(tr("Brea&kpoint"), this);
mBreakpointMenu->setIcon(QIcon(":/icons/images/breakpoint.png"));
mBreakpointMenu->setIcon(DIcon("breakpoint.png"));
//Breakpoint (hardware access) menu
mBreakpointHardwareAccessMenu = new QMenu(tr("Hardware, Access"), this);
@ -186,17 +186,17 @@ void CPUStack::setupContextMenu()
mBreakpointMenu->addMenu(mBreakpointMemoryWriteMenu);
// Restore Selection
mUndoSelection = new QAction(QIcon(":/icons/images/eraser.png"), tr("&Restore selection"), this);
mUndoSelection = new QAction(DIcon("eraser.png"), tr("&Restore selection"), this);
mUndoSelection->setShortcutContext(Qt::WidgetShortcut);
this->addAction(mUndoSelection);
connect(mUndoSelection, SIGNAL(triggered()), this, SLOT(undoSelectionSlot()));
// Modify
mModifyAction = new QAction(QIcon(":/icons/images/modify.png"), tr("Modify"), this);
mModifyAction = new QAction(DIcon("modify.png"), tr("Modify"), this);
connect(mModifyAction, SIGNAL(triggered()), this, SLOT(modifySlot()));
auto cspIcon = QIcon(":/icons/images/neworigin.png");
auto cbpIcon = QIcon(":/icons/images/cbp.png");
auto cspIcon = DIcon("neworigin.png");
auto cbpIcon = DIcon("cbp.png");
#ifdef _WIN64
mGotoSp = new QAction(cspIcon, tr("Follow R&SP"), this);
mGotoBp = new QAction(cbpIcon, tr("Follow R&BP"), this);
@ -209,36 +209,36 @@ void CPUStack::setupContextMenu()
connect(mGotoSp, SIGNAL(triggered()), this, SLOT(gotoSpSlot()));
connect(mGotoBp, SIGNAL(triggered()), this, SLOT(gotoBpSlot()));
mFreezeStack = new QAction(QIcon(":/icons/images/freeze.png"), tr("Freeze the stack"), this);
mFreezeStack = new QAction(DIcon("freeze.png"), tr("Freeze the stack"), this);
this->addAction(mFreezeStack);
connect(mFreezeStack, SIGNAL(triggered()), this, SLOT(freezeStackSlot()));
//Find Pattern
mFindPatternAction = new QAction(QIcon(":/icons/images/search-for.png"), tr("&Find Pattern..."), this);
mFindPatternAction = new QAction(DIcon("search-for.png"), tr("&Find Pattern..."), this);
mFindPatternAction->setShortcutContext(Qt::WidgetShortcut);
this->addAction(mFindPatternAction);
connect(mFindPatternAction, SIGNAL(triggered()), this, SLOT(findPattern()));
//Go to Expression
mGotoExpression = new QAction(QIcon(":/icons/images/geolocation-goto.png"), tr("Go to &Expression"), this);
mGotoExpression = new QAction(DIcon("geolocation-goto.png"), tr("Go to &Expression"), this);
mGotoExpression->setShortcutContext(Qt::WidgetShortcut);
this->addAction(mGotoExpression);
connect(mGotoExpression, SIGNAL(triggered()), this, SLOT(gotoExpressionSlot()));
//Go to Previous
mGotoPrevious = new QAction(QIcon(":/icons/images/previous.png"), tr("Go to Previous"), this);
mGotoPrevious = new QAction(DIcon("previous.png"), tr("Go to Previous"), this);
mGotoPrevious->setShortcutContext(Qt::WidgetShortcut);
this->addAction(mGotoPrevious);
connect(mGotoPrevious, SIGNAL(triggered(bool)), this, SLOT(gotoPreviousSlot()));
//Go to Next
mGotoNext = new QAction(QIcon(":/icons/images/next.png"), tr("Go to Next"), this);
mGotoNext = new QAction(DIcon("next.png"), tr("Go to Next"), this);
mGotoNext->setShortcutContext(Qt::WidgetShortcut);
this->addAction(mGotoNext);
connect(mGotoNext, SIGNAL(triggered(bool)), this, SLOT(gotoNextSlot()));
//Follow in Disassembler
auto disasmIcon = QIcon(QString(":/icons/images/") + ArchValue("processor32.png", "processor64.png"));
auto disasmIcon = DIcon(ArchValue("processor32.png", "processor64.png"));
mFollowDisasm = new QAction(disasmIcon, tr("&Follow in Disassembler"), this);
mFollowDisasm->setShortcutContext(Qt::WidgetShortcut);
mFollowDisasm->setShortcut(QKeySequence("enter"));
@ -248,7 +248,7 @@ void CPUStack::setupContextMenu()
//Follow in Dump
auto followDumpName = ArchValue(tr("Follow DWORD in &Dump"), tr("Follow QWORD in &Dump"));
mFollowDump = new QAction(QIcon(":/icons/images/dump.png"), followDumpName, this);
mFollowDump = new QAction(DIcon("dump.png"), followDumpName, this);
connect(mFollowDump, SIGNAL(triggered()), this, SLOT(followDumpSlot()));
auto followDumpMenuName = ArchValue(tr("&Follow DWORD in Dump"), tr("&Follow QWORD in Dump"));
@ -264,11 +264,11 @@ void CPUStack::setupContextMenu()
}
auto followStackName = ArchValue(tr("Follow DWORD in &Stack"), tr("Follow QWORD in &Stack"));
mFollowStack = new QAction(QIcon(":/icons/images/stack.png"), followStackName, this);
mFollowStack = new QAction(DIcon("stack.png"), followStackName, this);
connect(mFollowStack, SIGNAL(triggered()), this, SLOT(followStackSlot()));
mPluginMenu = new QMenu(this);
mPluginMenu->setIcon(QIcon(":/icons/images/plugin.png"));
mPluginMenu->setIcon(DIcon("plugin.png"));
Bridge::getBridge()->emitMenuAddToList(this, mPluginMenu, GUI_STACK_MENU);
refreshShortcutsSlot();
@ -423,7 +423,7 @@ void CPUStack::contextMenuEvent(QContextMenuEvent* event)
wMenu.addAction(mModifyAction);
wMenu.addMenu(mBinaryMenu);
QMenu wCopyMenu(tr("&Copy"), this);
wCopyMenu.setIcon(QIcon(":/icons/images/copy.png"));
wCopyMenu.setIcon(DIcon("copy.png"));
wCopyMenu.addAction(mCopySelection);
wCopyMenu.addAction(mCopyAddress);
if(DbgFunctions()->ModBaseFromAddr(selectedAddr))

View File

@ -11,7 +11,7 @@ CodepageSelectionDialog::CodepageSelectionDialog(QWidget* parent) :
setModal(true);
setFixedSize(this->size()); //fixed size
setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint | Qt::MSWindowsFixedSizeDialogHint);
setWindowIcon(QIcon(":/icons/images/codepage.png"));
setWindowIcon(DIcon("codepage.png"));
for(auto & name : QTextCodec::availableCodecs())
{
auto codec = QTextCodec::codecForName(name);

View File

@ -45,7 +45,7 @@ void ColumnReorderDialog::on_okButton_clicked()
if(ui->listDisplayed->count() == 0)
{
QMessageBox msg(QMessageBox::Warning, tr("Error"), tr("There isn't anything to display yet!"));
msg.setWindowIcon(QIcon(":/icons/images/compile-error.png"));
msg.setWindowIcon(DIcon("compile-error.png"));
msg.exec();
return;
}

View File

@ -11,7 +11,7 @@ EditBreakpointDialog::EditBreakpointDialog(QWidget* parent, const BRIDGEBP & bp)
setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint | Qt::MSWindowsFixedSizeDialogHint);
setFixedSize(this->size()); //fixed size
setWindowTitle(QString("Edit Breakpoint %1").arg(ToHexString(bp.addr)));
setWindowIcon(QIcon(":/icons/images/breakpoint.png"));
setWindowIcon(DIcon("breakpoint.png"));
loadFromBp();
}

View File

@ -45,16 +45,16 @@ HandlesView::HandlesView(QWidget* parent) : QWidget(parent)
this->setLayout(mVertLayout);
// Create the action list for the right click context menu
mActionRefresh = new QAction(QIcon(":/icons/images/arrow-restart.png"), tr("&Refresh"), this);
mActionRefresh = new QAction(DIcon("arrow-restart.png"), tr("&Refresh"), this);
connect(mActionRefresh, SIGNAL(triggered()), this, SLOT(reloadData()));
addAction(mActionRefresh);
mActionCloseHandle = new QAction(QIcon(":/icons/images/close-all-tabs.png"), tr("Close handle"), this);
mActionCloseHandle = new QAction(DIcon("close-all-tabs.png"), tr("Close handle"), this);
connect(mActionCloseHandle, SIGNAL(triggered()), this, SLOT(closeHandleSlot()));
mActionDisablePrivilege = new QAction(QIcon(":/icons/images/close-all-tabs.png"), tr("Disable Privilege: "), this);
mActionDisablePrivilege = new QAction(DIcon("close-all-tabs.png"), tr("Disable Privilege: "), this);
connect(mActionDisablePrivilege, SIGNAL(triggered()), this, SLOT(disablePrivilegeSlot()));
mActionEnablePrivilege = new QAction(tr("Enable Privilege: "), this);
connect(mActionEnablePrivilege, SIGNAL(triggered()), this, SLOT(enablePrivilegeSlot()));
mActionDisableAllPrivileges = new QAction(QIcon(":/icons/images/close-all-tabs.png"), tr("Disable all privileges"), this);
mActionDisableAllPrivileges = new QAction(DIcon("close-all-tabs.png"), tr("Disable all privileges"), this);
connect(mActionDisableAllPrivileges, SIGNAL(triggered()), this, SLOT(disableAllPrivilegesSlot()));
mActionEnableAllPrivileges = new QAction(tr("Enable all privileges"), this);
connect(mActionEnableAllPrivileges, SIGNAL(triggered()), this, SLOT(enableAllPrivilegesSlot()));

View File

@ -72,26 +72,26 @@ MainWindow::MainWindow(QWidget* parent)
// Log view
mLogView = new LogView();
mLogView->setWindowTitle(tr("Log"));
mLogView->setWindowIcon(QIcon(":/icons/images/log.png"));
mLogView->setWindowIcon(DIcon("log.png"));
mLogView->hide();
// Symbol view
mSymbolView = new SymbolView();
mSymbolView->setWindowTitle(tr("Symbols"));
mSymbolView->setWindowIcon(QIcon(":/icons/images/pdb.png"));
mSymbolView->setWindowIcon(DIcon("pdb.png"));
mSymbolView->hide();
// Source view
mSourceViewManager = new SourceViewerManager();
mSourceViewManager->setWindowTitle(tr("Source"));
mSourceViewManager->setWindowIcon(QIcon(":/icons/images/source.png"));
mSourceViewManager->setWindowIcon(DIcon("source.png"));
mSourceViewManager->hide();
connect(mSourceViewManager, SIGNAL(showCpu()), this, SLOT(displayCpuWidget()));
// Breakpoints
mBreakpointsView = new BreakpointsView();
mBreakpointsView->setWindowTitle(tr("Breakpoints"));
mBreakpointsView->setWindowIcon(QIcon(":/icons/images/breakpoint.png"));
mBreakpointsView->setWindowIcon(DIcon("breakpoint.png"));
mBreakpointsView->hide();
connect(mBreakpointsView, SIGNAL(showCpu()), this, SLOT(displayCpuWidget()));
@ -100,65 +100,65 @@ MainWindow::MainWindow(QWidget* parent)
connect(mMemMapView, SIGNAL(showCpu()), this, SLOT(displayCpuWidget()));
connect(mMemMapView, SIGNAL(showReferences()), this, SLOT(displayReferencesWidget()));
mMemMapView->setWindowTitle(tr("Memory Map"));
mMemMapView->setWindowIcon(QIcon(":/icons/images/memory-map.png"));
mMemMapView->setWindowIcon(DIcon("memory-map.png"));
mMemMapView->hide();
// Callstack view
mCallStackView = new CallStackView();
mCallStackView->setWindowTitle(tr("Call Stack"));
mCallStackView->setWindowIcon(QIcon(":/icons/images/callstack.png"));
mCallStackView->setWindowIcon(DIcon("callstack.png"));
connect(mCallStackView, SIGNAL(showCpu()), this, SLOT(displayCpuWidget()));
// SEH Chain view
mSEHChainView = new SEHChainView();
mSEHChainView->setWindowTitle(tr("SEH"));
mSEHChainView->setWindowIcon(QIcon(":/icons/images/seh-chain.png"));
mSEHChainView->setWindowIcon(DIcon("seh-chain.png"));
connect(mSEHChainView, SIGNAL(showCpu()), this, SLOT(displayCpuWidget()));
// Script view
mScriptView = new ScriptView();
mScriptView->setWindowTitle(tr("Script"));
mScriptView->setWindowIcon(QIcon(":/icons/images/script-code.png"));
mScriptView->setWindowIcon(DIcon("script-code.png"));
mScriptView->hide();
// CPU view
mCpuWidget = new CPUWidget();
mCpuWidget->setWindowTitle(tr("CPU"));
#ifdef _WIN64
mCpuWidget->setWindowIcon(QIcon(":/icons/images/processor64.png"));
mCpuWidget->setWindowIcon(DIcon("processor64.png"));
#else
mCpuWidget->setWindowIcon(QIcon(":/icons/images/processor32.png"));
ui->actionCpu->setIcon(QIcon(":/icons/images/processor32.png"));
mCpuWidget->setWindowIcon(DIcon("processor32.png"));
ui->actionCpu->setIcon(DIcon("processor32.png"));
#endif //_WIN64
// Reference manager
mReferenceManager = new ReferenceManager(this);
Bridge::getBridge()->referenceManager = mReferenceManager;
mReferenceManager->setWindowTitle(tr("References"));
mReferenceManager->setWindowIcon(QIcon(":/icons/images/search.png"));
mReferenceManager->setWindowIcon(DIcon("search.png"));
// Thread view
mThreadView = new ThreadView();
connect(mThreadView, SIGNAL(showCpu()), this, SLOT(displayCpuWidget()));
mThreadView->setWindowTitle(tr("Threads"));
mThreadView->setWindowIcon(QIcon(":/icons/images/arrow-threads.png"));
mThreadView->setWindowIcon(DIcon("arrow-threads.png"));
// Snowman view (decompiler)
mSnowmanView = CreateSnowman(this);
if(!mSnowmanView)
mSnowmanView = (SnowmanView*)new QLabel("<center>Snowman is disabled...</center>", this);
mSnowmanView->setWindowTitle(tr("Snowman"));
mSnowmanView->setWindowIcon(QIcon(":/icons/images/snowman.png"));
mSnowmanView->setWindowIcon(DIcon("snowman.png"));
// Notes manager
mNotesManager = new NotesManager(this);
mNotesManager->setWindowTitle(tr("Notes"));
mNotesManager->setWindowIcon(QIcon(":/icons/images/notes.png"));
mNotesManager->setWindowIcon(DIcon("notes.png"));
// Handles view
mHandlesView = new HandlesView(this);
mHandlesView->setWindowTitle(tr("Handles"));
mHandlesView->setWindowIcon(QIcon(":/icons/images/handles.png"));
mHandlesView->setWindowIcon(DIcon("handles.png"));
mHandlesView->hide();
// Create the tab widget
@ -711,7 +711,7 @@ void MainWindow::displayAboutWidget()
#endif //_WIN64
title += QString().sprintf(" v%d", BridgeGetDbgVersion());
QMessageBox msg(QMessageBox::Information, title, "Website:<br><a href=\"http://x64dbg.com\">http://x64dbg.com</a><br><br>Attribution:<br><a href=\"http://icons8.com\">Icons8</a><br><a href=\"http://p.yusukekamiyamane.com\">Yusuke Kamiyamane</a><br><br>Compiled on:<br>" + ToDateString(GetCompileDate()) + ", " __TIME__);
msg.setWindowIcon(QIcon(":/icons/images/information.png"));
msg.setWindowIcon(DIcon("information.png"));
msg.setTextFormat(Qt::RichText);
msg.setParent(this, Qt::Dialog);
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
@ -1231,7 +1231,7 @@ void MainWindow::displaySEHChain()
void MainWindow::donate()
{
QMessageBox msg(QMessageBox::Information, tr("Donate"), tr("All the money will go to x64dbg development."));
msg.setWindowIcon(QIcon(":/icons/images/donate.png"));
msg.setWindowIcon(DIcon("donate.png"));
msg.setParent(this, Qt::Dialog);
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
msg.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel);
@ -1244,7 +1244,7 @@ void MainWindow::donate()
void MainWindow::reportBug()
{
QMessageBox msg(QMessageBox::Information, tr("Report Bug"), tr("You will be taken to a website where you can report a bug.\nMake sure to fill in as much information as possible."));
msg.setWindowIcon(QIcon(":/icons/images/bug-report.png"));
msg.setWindowIcon(DIcon("bug-report.png"));
msg.setParent(this, Qt::Dialog);
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
msg.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel);
@ -1257,7 +1257,7 @@ void MainWindow::reportBug()
void MainWindow::crashDump()
{
QMessageBox msg(QMessageBox::Critical, tr("Generate crash dump"), tr("This action will crash the debugger and generate a crash dump. You will LOSE ALL YOUR DATA. Do you really want to continue?"));
msg.setWindowIcon(QIcon(":/icons/images/fatal-error.png"));
msg.setWindowIcon(DIcon("fatal-error.png"));
msg.setParent(this, Qt::Dialog);
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
msg.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel);
@ -1293,7 +1293,7 @@ void MainWindow::changeCommandLine()
LineEditDialog mLineEdit(this);
mLineEdit.setText("");
mLineEdit.setWindowTitle(tr("Change Command Line"));
mLineEdit.setWindowIcon(QIcon(":/icons/images/changeargs.png"));
mLineEdit.setWindowIcon(DIcon("changeargs.png"));
size_t cbsize = 0;
char* cmdline = 0;
@ -1496,7 +1496,7 @@ void MainWindow::updateFavouriteTools()
}
if(isanythingexists)
ui->menuFavourites->addSeparator();
actionManageFavourites = new QAction(QIcon(":/icons/images/star.png"), tr("Manage Favourite Tools"), this);
actionManageFavourites = new QAction(DIcon("star.png"), tr("Manage Favourite Tools"), this);
ui->menuFavourites->addAction(actionManageFavourites);
setGlobalShortcut(actionManageFavourites, ConfigShortcut("FavouritesManage"));
connect(ui->menuFavourites->actions().last(), SIGNAL(triggered()), this, SLOT(manageFavourites()));

View File

@ -51,7 +51,7 @@ void MemoryMapView::setupContextMenu()
connect(this, SIGNAL(doubleClickedSignal()), this, SLOT(followDisassemblerSlot()));
//Yara
mYara = new QAction(QIcon(":/icons/images/yara.png"), "&Yara...", this);
mYara = new QAction(DIcon("yara.png"), "&Yara...", this);
connect(mYara, SIGNAL(triggered()), this, SLOT(yaraSlot()));
//Set PageMemory Rights
@ -125,13 +125,13 @@ void MemoryMapView::setupContextMenu()
this->addAction(mFindAddress);
//Entropy
mEntropy = new QAction(QIcon(":/icons/images/entropy.png"), tr("Entropy..."), this);
mEntropy = new QAction(DIcon("entropy.png"), tr("Entropy..."), this);
mEntropy->setShortcutContext(Qt::WidgetShortcut);
this->addAction(mEntropy);
connect(mEntropy, SIGNAL(triggered()), this, SLOT(entropy()));
//Find
mFindPattern = new QAction(QIcon(":/icons/images/search-for.png"), tr("&Find Pattern..."), this);
mFindPattern = new QAction(DIcon("search-for.png"), tr("&Find Pattern..."), this);
this->addAction(mFindPattern);
mFindPattern->setShortcutContext(Qt::WidgetShortcut);
connect(mFindPattern, SIGNAL(triggered()), this, SLOT(findPatternSlot()));
@ -568,7 +568,7 @@ void MemoryMapView::selectAddress(duint va)
}
}
QMessageBox msg(QMessageBox::Critical, tr("Error"), tr("Address %0 not found in memory map...").arg(ToPtrString(va)));
msg.setWindowIcon(QIcon(":/icons/images/compile-error.png"));
msg.setWindowIcon(DIcon("compile-error.png"));
msg.exec();
QMessageBox::warning(this, tr("Error"), QString());
}

View File

@ -445,7 +445,7 @@ void PatchDialog::on_btnPatchFile_clicked()
if(!curPatchList.size() || !patchList.size())
{
QMessageBox msg(QMessageBox::Information, tr("Information"), tr("Nothing to patch!"));
msg.setWindowIcon(QIcon(":/icons/images/information.png"));
msg.setWindowIcon(DIcon("information.png"));
msg.setParent(this, Qt::Dialog);
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
msg.exec();
@ -484,7 +484,7 @@ void PatchDialog::on_btnPatchFile_clicked()
return;
}
QMessageBox msg(QMessageBox::Information, tr("Information"), tr("%1/%2 patch(es) applied!").arg(patched).arg(patchList.size()));
msg.setWindowIcon(QIcon(":/icons/images/information.png"));
msg.setWindowIcon(DIcon("information.png"));
msg.setParent(this, Qt::Dialog);
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
msg.exec();
@ -561,7 +561,7 @@ void PatchDialog::on_btnImport_clicked()
if(!patchList.size())
{
QMessageBox msg(QMessageBox::Information, tr("Information"), tr("No patches to apply in the current process."));
msg.setWindowIcon(QIcon(":/icons/images/information.png"));
msg.setWindowIcon(DIcon("information.png"));
msg.setParent(this, Qt::Dialog);
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
msg.exec();
@ -572,7 +572,7 @@ void PatchDialog::on_btnImport_clicked()
if(bAlreadyDone)
{
QMessageBox msg(QMessageBox::Question, tr("Question"), tr("Some patches are already applied.\n\nDo you want to remove these patches?"), QMessageBox::Yes | QMessageBox::No);
msg.setWindowIcon(QIcon(":/icons/images/question.png"));
msg.setWindowIcon(DIcon("question.png"));
msg.setParent(this, Qt::Dialog);
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
if(msg.exec() == QMessageBox::Yes)
@ -583,7 +583,7 @@ void PatchDialog::on_btnImport_clicked()
if(bBadOriginal)
{
QMessageBox msg(QMessageBox::Question, tr("Question"), tr("Some bytes do not match the original in the patch file.\n\nDo you want to apply these patches anyway?"), QMessageBox::Yes | QMessageBox::No);
msg.setWindowIcon(QIcon(":/icons/images/question.png"));
msg.setWindowIcon(DIcon("question.png"));
msg.setParent(this, Qt::Dialog);
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
if(msg.exec() == QMessageBox::Yes)
@ -612,7 +612,7 @@ void PatchDialog::on_btnImport_clicked()
GuiUpdateAllViews();
QMessageBox msg(QMessageBox::Information, tr("Information"), tr("%1/%2 patch(es) applied!").arg(patched).arg(patchList.size()));
msg.setWindowIcon(QIcon(":/icons/images/information.png"));
msg.setWindowIcon(DIcon("information.png"));
msg.setParent(this, Qt::Dialog);
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
msg.exec();
@ -662,7 +662,7 @@ void PatchDialog::saveAs1337(const QString & filename)
if(!lines.size())
{
QMessageBox msg(QMessageBox::Information, tr("Information"), tr("No patches to export."));
msg.setWindowIcon(QIcon(":/icons/images/information.png"));
msg.setWindowIcon(DIcon("information.png"));
msg.setParent(this, Qt::Dialog);
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
msg.exec();
@ -676,7 +676,7 @@ void PatchDialog::saveAs1337(const QString & filename)
file.close();
QMessageBox msg(QMessageBox::Information, tr("Information"), tr("%1 patch(es) exported!").arg(patches));
msg.setWindowIcon(QIcon(":/icons/images/information.png"));
msg.setWindowIcon(DIcon("information.png"));
msg.setParent(this, Qt::Dialog);
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
msg.exec();

View File

@ -9,7 +9,7 @@ ReferenceManager::ReferenceManager(QWidget* parent) : QTabWidget(parent)
//Close All Tabs
mCloseAllTabs = new QPushButton(this);
mCloseAllTabs->setIcon(QIcon(":/icons/images/close-all-tabs.png"));
mCloseAllTabs->setIcon(DIcon("close-all-tabs.png"));
mCloseAllTabs->setToolTip(tr("Close All Tabs"));
connect(mCloseAllTabs, SIGNAL(clicked()), this, SLOT(closeAllTabs()));
setCornerWidget(mCloseAllTabs, Qt::TopLeftCorner);

View File

@ -417,38 +417,38 @@ RegistersView::RegistersView(QWidget* parent) : QScrollArea(parent), mVScrollOff
mChangeViewButton = NULL;
// precreate ContextMenu Actions
wCM_Increment = new QAction(QIcon(":/icons/images/register_inc.png"), tr("Increment"), this);
wCM_Increment = new QAction(DIcon("register_inc.png"), tr("Increment"), this);
wCM_Increment->setShortcutContext(Qt::WidgetShortcut);
this->addAction(wCM_Increment);
wCM_Decrement = new QAction(QIcon(":/icons/images/register_dec.png"), tr("Decrement"), this);
wCM_Decrement = new QAction(DIcon("register_dec.png"), tr("Decrement"), this);
wCM_Decrement->setShortcutContext(Qt::WidgetShortcut);
this->addAction(wCM_Decrement);
wCM_Zero = new QAction(QIcon(":/icons/images/register_zero.png"), tr("Zero"), this);
wCM_Zero = new QAction(DIcon("register_zero.png"), tr("Zero"), this);
wCM_Zero->setShortcutContext(Qt::WidgetShortcut);
this->addAction(wCM_Zero);
wCM_SetToOne = new QAction(QIcon(":/icons/images/register_one.png"), tr("Set to 1"), this);
wCM_SetToOne = new QAction(DIcon("register_one.png"), tr("Set to 1"), this);
wCM_SetToOne->setShortcutContext(Qt::WidgetShortcut);
this->addAction(wCM_SetToOne);
wCM_Modify = new QAction(QIcon(":/icons/images/register_edit.png"), tr("Modify value"), this);
wCM_Modify = new QAction(DIcon("register_edit.png"), tr("Modify value"), this);
wCM_Modify->setShortcut(QKeySequence(Qt::Key_Enter));
wCM_ToggleValue = new QAction(QIcon(":/icons/images/register_toggle.png"), tr("Toggle"), this);
wCM_ToggleValue = new QAction(DIcon("register_toggle.png"), tr("Toggle"), this);
wCM_ToggleValue->setShortcutContext(Qt::WidgetShortcut);
this->addAction(wCM_ToggleValue);
wCM_CopyToClipboard = new QAction(QIcon(":/icons/images/copy.png"), tr("Copy value to clipboard"), this);
wCM_CopyToClipboard = new QAction(DIcon("copy.png"), tr("Copy value to clipboard"), this);
wCM_CopyToClipboard->setShortcutContext(Qt::WidgetShortcut);
this->addAction(wCM_CopyToClipboard);
wCM_CopySymbolToClipboard = new QAction(QIcon(":/icons/images/pdb.png"), tr("Copy Symbol Value to Clipboard"), this);
wCM_CopySymbolToClipboard = new QAction(DIcon("pdb.png"), tr("Copy Symbol Value to Clipboard"), this);
wCM_CopySymbolToClipboard->setShortcutContext(Qt::WidgetShortcut);
this->addAction(wCM_CopySymbolToClipboard);
wCM_CopyAll = new QAction(QIcon(":/icons/images/copy-alt.png"), tr("Copy all registers"), this);
wCM_CopyAll = new QAction(DIcon("copy-alt.png"), tr("Copy all registers"), this);
wCM_CopyAll->setShortcutContext(Qt::WidgetShortcut);
this->addAction(wCM_CopyAll);
wCM_FollowInDisassembly = new QAction(QIcon(QString(":/icons/images/processor%1.png").arg(ArchValue("32", "64"))), tr("Follow in Disassembler"), this);
wCM_FollowInDump = new QAction(QIcon(":/icons/images/dump.png"), tr("Follow in Dump"), this);
wCM_FollowInStack = new QAction(QIcon(":/icons/images/stack.png"), "Follow in Stack", this);
wCM_Incrementx87Stack = new QAction(QIcon(":/icons/images/arrow-small-down.png"), tr("Increment x87 Stack"), this);
wCM_Decrementx87Stack = new QAction(QIcon(":/icons/images/arrow-small-up.png"), tr("Decrement x87 Stack"), this);
wCM_ChangeFPUView = new QAction(QIcon(":/icons/images/change-view.png"), tr("Change view"), this);
wCM_FollowInDisassembly = new QAction(DIcon(QString("processor%1.png").arg(ArchValue("32", "64"))), tr("Follow in Disassembler"), this);
wCM_FollowInDump = new QAction(DIcon("dump.png"), tr("Follow in Dump"), this);
wCM_FollowInStack = new QAction(DIcon("stack.png"), "Follow in Stack", this);
wCM_Incrementx87Stack = new QAction(DIcon("arrow-small-down.png"), tr("Increment x87 Stack"), this);
wCM_Decrementx87Stack = new QAction(DIcon("arrow-small-up.png"), tr("Decrement x87 Stack"), this);
wCM_ChangeFPUView = new QAction(DIcon("change-view.png"), tr("Change view"), this);
// general purposes register (we allow the user to modify the value)
mGPR.insert(CAX);
@ -1911,7 +1911,7 @@ void RegistersView::displayEditDialog()
mLineEdit.setText(GetRegStringValueFromValue(mSelected, registerValue(&wRegDumpStruct, mSelected)));
mLineEdit.setWindowTitle("Edit FPU register");
mLineEdit.setWindowIcon(QIcon(":/icons/images/log.png"));
mLineEdit.setWindowIcon(DIcon("log.png"));
mLineEdit.setCursorPosition(0);
mLineEdit.ForceSize(GetSizeRegister(mSelected) * 2);
do
@ -1969,7 +1969,7 @@ void RegistersView::displayEditDialog()
errorinput = true;
QMessageBox msg(QMessageBox::Warning, "ERROR CONVERTING TO HEX", "ERROR CONVERTING TO HEXADECIMAL");
msg.setWindowIcon(QIcon(":/icons/images/compile-warning.png"));
msg.setWindowIcon(DIcon("compile-warning.png"));
msg.setParent(this, Qt::Dialog);
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
msg.exec();
@ -2350,7 +2350,7 @@ void RegistersView::displayCustomContextMenuSlot(QPoint pos)
wMenu.addAction(wCM_ChangeFPUView);
wMenu.addAction(wCM_CopyAll);
wMenu.addSeparator();
QAction* wHwbpCsp = wMenu.addAction(QIcon(":/icons/images/breakpoint.png"), tr("Set Hardware Breakpoint on %1").arg(ArchValue("ESP", "RSP")));
QAction* wHwbpCsp = wMenu.addAction(DIcon("breakpoint.png"), tr("Set Hardware Breakpoint on %1").arg(ArchValue("ESP", "RSP")));
QAction* wAction = wMenu.exec(this->mapToGlobal(pos));
if(wAction == wHwbpCsp)

View File

@ -490,7 +490,7 @@ void ScriptView::error(int line, QString message)
else
title = tr("Script Error!");
QMessageBox msg(QMessageBox::Critical, title, message);
msg.setWindowIcon(QIcon(":/icons/images/script-error.png"));
msg.setWindowIcon(DIcon("script-error.png"));
msg.setParent(this, Qt::Dialog);
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
msg.exec();
@ -583,7 +583,7 @@ void ScriptView::cmdExec()
void ScriptView::message(QString message)
{
QMessageBox msg(QMessageBox::Information, "Message", message);
msg.setWindowIcon(QIcon(":/icons/images/information.png"));
msg.setWindowIcon(DIcon("information.png"));
msg.setParent(this, Qt::Dialog);
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
msg.exec();
@ -602,7 +602,7 @@ void ScriptView::newIp()
void ScriptView::question(QString message)
{
QMessageBox msg(QMessageBox::Question, "Question", message, QMessageBox::Yes | QMessageBox::No);
msg.setWindowIcon(QIcon(":/icons/images/question.png"));
msg.setWindowIcon(DIcon("question.png"));
msg.setParent(this, Qt::Dialog);
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
if(msg.exec() == QMessageBox::Yes)

View File

@ -448,7 +448,7 @@ void SettingsDialog::on_chkSetJIT_stateChanged(int arg1)
* was removed and the user in MISC tab wants check and uncheck the JIT checkbox: he can (this block its NOT executed then).
*/
QMessageBox msg(QMessageBox::Warning, tr("ERROR NOT FOUND OLD JIT"), tr("NOT FOUND OLD JIT ENTRY STORED, USE SETJIT COMMAND"));
msg.setWindowIcon(QIcon(":/icons/images/compile-warning.png"));
msg.setWindowIcon(DIcon("compile-warning.png"));
msg.setParent(this, Qt::Dialog);
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
msg.exec();
@ -592,7 +592,7 @@ void SettingsDialog::on_btnDeleteRange_clicked()
void SettingsDialog::on_btnAddLast_clicked()
{
QMessageBox msg(QMessageBox::Question, tr("Question"), QString().sprintf("Are you sure you want to add %.8X?", lastException));
msg.setWindowIcon(QIcon(":/icons/images/question.png"));
msg.setWindowIcon(DIcon("question.png"));
msg.setParent(this, Qt::Dialog);
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
msg.setStandardButtons(QMessageBox::No | QMessageBox::Yes);

View File

@ -10,7 +10,7 @@ SourceViewerManager::SourceViewerManager(QWidget* parent) : QTabWidget(parent)
//Close All Tabs
mCloseAllTabs = new QPushButton(this);
mCloseAllTabs->setIcon(QIcon(":/icons/images/close-all-tabs.png"));
mCloseAllTabs->setIcon(DIcon("close-all-tabs.png"));
mCloseAllTabs->setToolTip("Close All Tabs");
connect(mCloseAllTabs, SIGNAL(clicked()), this, SLOT(closeAllTabs()));
setCornerWidget(mCloseAllTabs, Qt::TopLeftCorner);

View File

@ -134,13 +134,13 @@ void SymbolView::setupContextMenu()
mCopyPathAction = new QAction(tr("Copy File &Path"), this);
connect(mCopyPathAction, SIGNAL(triggered()), this, SLOT(moduleCopyPath()));
mYaraAction = new QAction(QIcon(":/icons/images/yara.png"), tr("&Yara Memory..."), this);
mYaraAction = new QAction(DIcon("yara.png"), tr("&Yara Memory..."), this);
connect(mYaraAction, SIGNAL(triggered()), this, SLOT(moduleYara()));
mYaraFileAction = new QAction(QIcon(":/icons/images/yara.png"), tr("&Yara File..."), this);
mYaraFileAction = new QAction(DIcon("yara.png"), tr("&Yara File..."), this);
connect(mYaraFileAction, SIGNAL(triggered()), this, SLOT(moduleYaraFile()));
mEntropyAction = new QAction(QIcon(":/icons/images/entropy.png"), tr("Entropy..."), this);
mEntropyAction = new QAction(DIcon("entropy.png"), tr("Entropy..."), this);
connect(mEntropyAction, SIGNAL(triggered()), this, SLOT(moduleEntropy()));
mModSetUserAction = new QAction(tr("Mark as &user module"), this);
@ -433,7 +433,7 @@ void SymbolView::toggleBookmark()
if(!result)
{
QMessageBox msg(QMessageBox::Critical, tr("Error!"), tr("DbgSetBookmarkAt failed!"));
msg.setWindowIcon(QIcon(":/icons/images/compile-error.png"));
msg.setWindowIcon(DIcon("compile-error.png"));
msg.setParent(this, Qt::Dialog);
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
msg.exec();
@ -479,7 +479,7 @@ void SymbolView::moduleSetParty()
int party;
duint modbase = DbgValFromString(mModuleList->mCurList->getCellContent(mModuleList->mCurList->getInitialSelection(), 0).toUtf8().constData());
party = DbgFunctions()->ModGetParty(modbase);
mLineEdit.setWindowIcon(QIcon(":/icons/images/bookmark.png"));
mLineEdit.setWindowIcon(DIcon("bookmark.png"));
mLineEdit.setWindowTitle(tr("Mark the party of the module as"));
mLineEdit.setText(QString::number(party));
if(mLineEdit.exec() == QDialog::Accepted)
@ -507,7 +507,7 @@ void SymbolView::moduleSetParty()
else
{
QMessageBox msg(QMessageBox::Critical, tr("Error"), tr("The party number can only be an integer"));
msg.setWindowIcon(QIcon(":/icons/images/compile-error.png"));
msg.setWindowIcon(DIcon("compile-error.png"));
msg.exec();
}
}

View File

@ -143,7 +143,7 @@ void WatchView::setupContextMenu()
mMenu->addAction(makeAction(tr("Rename"), SLOT(renameWatchSlot())));
mMenu->addAction(makeAction(tr("&Edit..."), SLOT(editWatchSlot())));
QMenu* watchdogMenu = new QMenu(tr("Watchdog"), this);
watchdogMenu->addAction(makeAction(QIcon(":/icons/images/close-all-tabs.png"), tr("Disabled"), SLOT(watchdogDisableSlot())));
watchdogMenu->addAction(makeAction(DIcon("close-all-tabs.png"), tr("Disabled"), SLOT(watchdogDisableSlot())));
watchdogMenu->addSeparator();
watchdogMenu->addAction(makeAction(tr("Changed"), SLOT(watchdogChangedSlot())));
watchdogMenu->addAction(makeAction(tr("Not changed"), SLOT(watchdogUnchangedSlot())));

View File

@ -8,7 +8,7 @@ XrefBrowseDialog::XrefBrowseDialog(QWidget* parent, duint address) :
{
ui->setupUi(this);
setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint | Qt::MSWindowsFixedSizeDialogHint);
setWindowIcon(QIcon(":/icons/images/xrefs.png"));
setWindowIcon(DIcon("xrefs.png"));
mAddress = address;
if(DbgXrefGet(address, &mXrefInfo))
{

View File

@ -612,7 +612,7 @@ const QColor Configuration::getColor(const QString id) const
if(noMoreMsgbox)
return Qt::black;
QMessageBox msg(QMessageBox::Warning, "NOT FOUND IN CONFIG!", id, QMessageBox::Retry | QMessageBox::Cancel);
msg.setWindowIcon(QIcon(":/icons/images/compile-warning.png"));
msg.setWindowIcon(DIcon("compile-warning.png"));
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
if(msg.exec() == QMessageBox::Cancel)
noMoreMsgbox = true;
@ -628,7 +628,7 @@ const bool Configuration::getBool(const QString category, const QString id) cons
if(noMoreMsgbox)
return false;
QMessageBox msg(QMessageBox::Warning, "NOT FOUND IN CONFIG!", category + ":" + id, QMessageBox::Retry | QMessageBox::Cancel);
msg.setWindowIcon(QIcon(":/icons/images/compile-warning.png"));
msg.setWindowIcon(DIcon("compile-warning.png"));
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
if(msg.exec() == QMessageBox::Cancel)
noMoreMsgbox = true;
@ -637,7 +637,7 @@ const bool Configuration::getBool(const QString category, const QString id) cons
if(noMoreMsgbox)
return false;
QMessageBox msg(QMessageBox::Warning, "NOT FOUND IN CONFIG!", category, QMessageBox::Retry | QMessageBox::Cancel);
msg.setWindowIcon(QIcon(":/icons/images/compile-warning.png"));
msg.setWindowIcon(DIcon("compile-warning.png"));
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
if(msg.exec() == QMessageBox::Cancel)
noMoreMsgbox = true;
@ -656,7 +656,7 @@ void Configuration::setBool(const QString category, const QString id, const bool
if(noMoreMsgbox)
return;
QMessageBox msg(QMessageBox::Warning, "NOT FOUND IN CONFIG!", category + ":" + id, QMessageBox::Retry | QMessageBox::Cancel);
msg.setWindowIcon(QIcon(":/icons/images/compile-warning.png"));
msg.setWindowIcon(DIcon("compile-warning.png"));
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
if(msg.exec() == QMessageBox::Cancel)
noMoreMsgbox = true;
@ -665,7 +665,7 @@ void Configuration::setBool(const QString category, const QString id, const bool
if(noMoreMsgbox)
return;
QMessageBox msg(QMessageBox::Warning, "NOT FOUND IN CONFIG!", category, QMessageBox::Retry | QMessageBox::Cancel);
msg.setWindowIcon(QIcon(":/icons/images/compile-warning.png"));
msg.setWindowIcon(DIcon("compile-warning.png"));
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
if(msg.exec() == QMessageBox::Cancel)
noMoreMsgbox = true;
@ -680,7 +680,7 @@ const duint Configuration::getUint(const QString category, const QString id) con
if(noMoreMsgbox)
return 0;
QMessageBox msg(QMessageBox::Warning, "NOT FOUND IN CONFIG!", category + ":" + id, QMessageBox::Retry | QMessageBox::Cancel);
msg.setWindowIcon(QIcon(":/icons/images/compile-warning.png"));
msg.setWindowIcon(DIcon("compile-warning.png"));
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
if(msg.exec() == QMessageBox::Cancel)
noMoreMsgbox = true;
@ -689,7 +689,7 @@ const duint Configuration::getUint(const QString category, const QString id) con
if(noMoreMsgbox)
return 0;
QMessageBox msg(QMessageBox::Warning, "NOT FOUND IN CONFIG!", category, QMessageBox::Retry | QMessageBox::Cancel);
msg.setWindowIcon(QIcon(":/icons/images/compile-warning.png"));
msg.setWindowIcon(DIcon("compile-warning.png"));
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
if(msg.exec() == QMessageBox::Cancel)
noMoreMsgbox = true;
@ -708,7 +708,7 @@ void Configuration::setUint(const QString category, const QString id, const duin
if(noMoreMsgbox)
return;
QMessageBox msg(QMessageBox::Warning, "NOT FOUND IN CONFIG!", category + ":" + id, QMessageBox::Retry | QMessageBox::Cancel);
msg.setWindowIcon(QIcon(":/icons/images/compile-warning.png"));
msg.setWindowIcon(DIcon("compile-warning.png"));
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
if(msg.exec() == QMessageBox::Cancel)
noMoreMsgbox = true;
@ -717,7 +717,7 @@ void Configuration::setUint(const QString category, const QString id, const duin
if(noMoreMsgbox)
return;
QMessageBox msg(QMessageBox::Warning, "NOT FOUND IN CONFIG!", category, QMessageBox::Retry | QMessageBox::Cancel);
msg.setWindowIcon(QIcon(":/icons/images/compile-warning.png"));
msg.setWindowIcon(DIcon("compile-warning.png"));
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
if(msg.exec() == QMessageBox::Cancel)
noMoreMsgbox = true;
@ -733,7 +733,7 @@ const QFont Configuration::getFont(const QString id) const
if(noMoreMsgbox)
return ret;
QMessageBox msg(QMessageBox::Warning, "NOT FOUND IN CONFIG!", id, QMessageBox::Retry | QMessageBox::Cancel);
msg.setWindowIcon(QIcon(":/icons/images/compile-warning.png"));
msg.setWindowIcon(DIcon("compile-warning.png"));
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
if(msg.exec() == QMessageBox::Cancel)
noMoreMsgbox = true;
@ -747,7 +747,7 @@ const Configuration::Shortcut Configuration::getShortcut(const QString key_id) c
if(!noMoreMsgbox)
{
QMessageBox msg(QMessageBox::Warning, "NOT FOUND IN CONFIG!", key_id, QMessageBox::Retry | QMessageBox::Cancel);
msg.setWindowIcon(QIcon(":/icons/images/compile-warning.png"));
msg.setWindowIcon(DIcon("compile-warning.png"));
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
if(msg.exec() == QMessageBox::Cancel)
noMoreMsgbox = true;
@ -765,7 +765,7 @@ void Configuration::setShortcut(const QString key_id, const QKeySequence key_seq
if(noMoreMsgbox)
return;
QMessageBox msg(QMessageBox::Warning, "NOT FOUND IN CONFIG!", key_id, QMessageBox::Retry | QMessageBox::Cancel);
msg.setWindowIcon(QIcon(":/icons/images/compile-warning.png"));
msg.setWindowIcon(DIcon("compile-warning.png"));
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
if(msg.exec() == QMessageBox::Cancel)
noMoreMsgbox = true;

View File

@ -42,7 +42,7 @@ bool SimpleInputBox(QWidget* parent, const QString & title, QString defaultValue
void SimpleErrorBox(QWidget* parent, const QString & title, const QString & text)
{
QMessageBox msg(QMessageBox::Critical, title, text, QMessageBox::NoButton, parent);
msg.setWindowIcon(QIcon(":/icons/images/compile-error.png"));
msg.setWindowIcon(DIcon("compile-error.png"));
msg.setParent(parent, Qt::Dialog);
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
msg.exec();
@ -51,8 +51,13 @@ void SimpleErrorBox(QWidget* parent, const QString & title, const QString & text
void SimpleWarningBox(QWidget* parent, const QString & title, const QString & text)
{
QMessageBox msg(QMessageBox::Warning, title, text, QMessageBox::NoButton, parent);
msg.setWindowIcon(QIcon(":/icons/images/compile-warning.png"));
msg.setWindowIcon(DIcon("compile-warning.png"));
msg.setParent(parent, Qt::Dialog);
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
msg.exec();
}
DIcon::DIcon(const QString & file)
: QIcon(QString(":/icons/images/%1").arg(file))
{
}

View File

@ -2,6 +2,7 @@
#define MISCUTIL_H
#include <QWidget>
#include <QIcon>
void SetApplicationIcon(WId winId);
QByteArray & ByteReverse(QByteArray & array);
@ -9,4 +10,9 @@ bool SimpleInputBox(QWidget* parent, const QString & title, QString defaultValue
void SimpleErrorBox(QWidget* parent, const QString & title, const QString & text);
void SimpleWarningBox(QWidget* parent, const QString & title, const QString & text);
struct DIcon : QIcon
{
explicit DIcon(const QString & file);
};
#endif // MISCUTIL_H

View File

@ -26,7 +26,7 @@ void UpdateChecker::finishedSlot(QNetworkReply* reply)
{
QMessageBox msg(QMessageBox::Critical, "Network Error!", reply->errorString());
msg.setParent(mParent, Qt::Dialog);
msg.setWindowIcon(QIcon(":/icons/images/compile-error.png"));
msg.setWindowIcon(DIcon("compile-error.png"));
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
msg.exec();
return;
@ -42,7 +42,7 @@ void UpdateChecker::finishedSlot(QNetworkReply* reply)
{
QMessageBox msg(QMessageBox::Critical, "Error!", "File on server could not be parsed...");
msg.setParent(mParent, Qt::Dialog);
msg.setWindowIcon(QIcon(":/icons/images/compile-error.png"));
msg.setWindowIcon(DIcon("compile-error.png"));
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
msg.exec();
return;
@ -57,7 +57,7 @@ void UpdateChecker::finishedSlot(QNetworkReply* reply)
else
info = QString("You have the latest build (%1) of x64dbg!").arg(ToDateString(build));
QMessageBox msg(QMessageBox::Information, "Information", info);
msg.setWindowIcon(QIcon(":/icons/images/information.png"));
msg.setWindowIcon(DIcon("information.png"));
msg.setParent(mParent, Qt::Dialog);
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
msg.exec();

View File

@ -129,7 +129,7 @@ int main(int argc, char* argv[])
if(errormsg)
{
QMessageBox msg(QMessageBox::Critical, "DbgInit Error!", QString(errormsg));
msg.setWindowIcon(QIcon(":/icons/images/compile-error.png"));
msg.setWindowIcon(DIcon("compile-error.png"));
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
msg.exec();
exit(1);