GUI: more translations
This commit is contained in:
parent
1c09f5ff01
commit
ca43f37f35
|
@ -303,7 +303,7 @@ void HexDump::copyRvaSlot()
|
|||
Bridge::CopyToClipboard(addrText);
|
||||
}
|
||||
else
|
||||
QMessageBox::warning(this, "Error!", "Selection not in a module...");
|
||||
QMessageBox::warning(this, tr("Error!"), tr("Selection not in a module..."));
|
||||
}
|
||||
|
||||
void HexDump::mouseMoveEvent(QMouseEvent* event)
|
||||
|
@ -1217,7 +1217,7 @@ void HexDump::clearDescriptors()
|
|||
deleteAllColumns();
|
||||
mDescriptor.clear();
|
||||
int charwidth = getCharWidth();
|
||||
addColumnAt(8 + charwidth * 2 * sizeof(duint), "Address", false); //address
|
||||
addColumnAt(8 + charwidth * 2 * sizeof(duint), tr("Address"), false); //address
|
||||
}
|
||||
|
||||
void HexDump::debugStateChanged(DBGSTATE state)
|
||||
|
|
|
@ -203,7 +203,7 @@ void* Bridge::processMessage(GUIMSG type, void* param1, void* param2)
|
|||
return (void*)referenceManager->currentReferenceView()->mList->getRowCount();
|
||||
|
||||
case GUI_REF_DELETEALLCOLUMNS:
|
||||
GuiReferenceInitialize("References");
|
||||
GuiReferenceInitialize(tr("References").toUtf8().constData());
|
||||
break;
|
||||
|
||||
case GUI_REF_SETCELLCONTENT:
|
||||
|
|
|
@ -256,7 +256,7 @@ void AppearanceDialog::on_buttonBackgroundColor_clicked()
|
|||
initialColor = Qt::black; //transparent will set the alpha channel, which users will forget
|
||||
else
|
||||
initialColor = QColor(ui->editBackgroundColor->text());
|
||||
QColor selectedColor = QColorDialog::getColor(initialColor, this, "Select Color", QColorDialog::ShowAlphaChannel);
|
||||
QColor selectedColor = QColorDialog::getColor(initialColor, this, tr("Select Color"), QColorDialog::ShowAlphaChannel);
|
||||
if(selectedColor.isValid())
|
||||
{
|
||||
if(!selectedColor.alpha())
|
||||
|
@ -552,7 +552,7 @@ void AppearanceDialog::colorInfoListInit()
|
|||
notFound += id + "\n";
|
||||
}
|
||||
if(notFound.length())
|
||||
SimpleWarningBox(this, "NOT FOUND IN CONFIG!", notFound);
|
||||
SimpleWarningBox(this, tr("NOT FOUND IN CONFIG!"), notFound);
|
||||
|
||||
//setup context menu
|
||||
ui->listColorNames->setContextMenuPolicy(Qt::ActionsContextMenu);
|
||||
|
|
|
@ -74,7 +74,7 @@ void AssembleDialog::validateInstruction(QString expression)
|
|||
{
|
||||
if(!ui->lineEdit->text().length())
|
||||
{
|
||||
emit mValidateThread->emitInstructionChanged(0, "empty instruction");
|
||||
emit mValidateThread->emitInstructionChanged(0, tr("empty instruction"));
|
||||
return;
|
||||
}
|
||||
//void instructionChanged(bool validInstruction, dsint sizeDifference, QString error)
|
||||
|
|
|
@ -1094,7 +1094,7 @@ void CPUDisassembly::findConstantSlot()
|
|||
refFindType = 2;
|
||||
|
||||
WordEditDialog wordEdit(this);
|
||||
wordEdit.setup("Enter Constant", 0, sizeof(dsint));
|
||||
wordEdit.setup(tr("Enter Constant"), 0, sizeof(dsint));
|
||||
if(wordEdit.exec() != QDialog::Accepted) //cancel pressed
|
||||
return;
|
||||
QString addrText = QString("%1").arg(rvaToVa(getInitialSelection()), sizeof(dsint) * 2, 16, QChar('0')).toUpper();
|
||||
|
@ -1192,7 +1192,7 @@ void CPUDisassembly::binaryEditSlot()
|
|||
mMemPage->read(data, selStart, selSize);
|
||||
hexEdit.mHexEdit->setData(QByteArray((const char*)data, selSize));
|
||||
delete [] data;
|
||||
hexEdit.setWindowTitle("Edit code at " + QString("%1").arg(rvaToVa(selStart), sizeof(dsint) * 2, 16, QChar('0')).toUpper());
|
||||
hexEdit.setWindowTitle(tr("Edit code at %1").arg(rvaToVa(selStart), sizeof(dsint) * 2, 16, QChar('0')).toUpper());
|
||||
if(hexEdit.exec() != QDialog::Accepted)
|
||||
return;
|
||||
dsint dataSize = hexEdit.mHexEdit->data().size();
|
||||
|
@ -1210,7 +1210,7 @@ void CPUDisassembly::binaryFillSlot()
|
|||
hexEdit.showKeepSize(false);
|
||||
hexEdit.mHexEdit->setOverwriteMode(false);
|
||||
dsint selStart = getSelectionStart();
|
||||
hexEdit.setWindowTitle("Fill code at " + QString("%1").arg(rvaToVa(selStart), sizeof(dsint) * 2, 16, QChar('0')).toUpper());
|
||||
hexEdit.setWindowTitle(tr("Fill code at %1").arg(rvaToVa(selStart), sizeof(dsint) * 2, 16, QChar('0')).toUpper());
|
||||
if(hexEdit.exec() != QDialog::Accepted)
|
||||
return;
|
||||
QString pattern = hexEdit.mHexEdit->pattern();
|
||||
|
@ -1411,7 +1411,7 @@ void CPUDisassembly::findCommandSlot()
|
|||
|
||||
LineEditDialog mLineEdit(this);
|
||||
mLineEdit.enableCheckBox(false);
|
||||
// mLineEdit.setCheckBoxText("Entire &Block");
|
||||
// mLineEdit.setCheckBoxText(tr("Entire &Block"));
|
||||
// mLineEdit.setCheckBox(ConfigBool("Disassembler", "FindCommandEntireBlock"));
|
||||
mLineEdit.setWindowTitle("Find Command");
|
||||
if(mLineEdit.exec() != QDialog::Accepted)
|
||||
|
|
|
@ -311,7 +311,7 @@ void CPUDump::setupContextMenu()
|
|||
mHexMenu = new QMenu(tr("&Hex"), this);
|
||||
mHexMenu->setIcon(DIcon("hex.png"));
|
||||
//Hex->Ascii
|
||||
mHexAsciiAction = new QAction(DIcon("ascii.png"), "&ASCII", this);
|
||||
mHexAsciiAction = new QAction(DIcon("ascii.png"), tr("&ASCII"), this);
|
||||
connect(mHexAsciiAction, SIGNAL(triggered()), this, SLOT(hexAsciiSlot()));
|
||||
mHexMenu->addAction(mHexAsciiAction);
|
||||
//Hex->Unicode
|
||||
|
@ -343,39 +343,39 @@ void CPUDump::setupContextMenu()
|
|||
mIntegerMenu = new QMenu(tr("&Integer"), this);
|
||||
mIntegerMenu->setIcon(DIcon("integer.png"));
|
||||
//Integer->Signed short
|
||||
mIntegerSignedShortAction = new QAction(DIcon("word.png"), "Signed short (16-bit)", this);
|
||||
mIntegerSignedShortAction = new QAction(DIcon("word.png"), tr("Signed short (16-bit)"), this);
|
||||
connect(mIntegerSignedShortAction, SIGNAL(triggered()), this, SLOT(integerSignedShortSlot()));
|
||||
mIntegerMenu->addAction(mIntegerSignedShortAction);
|
||||
//Integer->Signed long
|
||||
mIntegerSignedLongAction = new QAction(DIcon("dword.png"), "Signed long (32-bit)", this);
|
||||
mIntegerSignedLongAction = new QAction(DIcon("dword.png"), tr("Signed long (32-bit)"), this);
|
||||
connect(mIntegerSignedLongAction, SIGNAL(triggered()), this, SLOT(integerSignedLongSlot()));
|
||||
mIntegerMenu->addAction(mIntegerSignedLongAction);
|
||||
//Integer->Signed long long
|
||||
mIntegerSignedLongLongAction = new QAction(DIcon("qword.png"), "Signed long long (64-bit)", this);
|
||||
mIntegerSignedLongLongAction = new QAction(DIcon("qword.png"), tr("Signed long long (64-bit)"), this);
|
||||
connect(mIntegerSignedLongLongAction, SIGNAL(triggered()), this, SLOT(integerSignedLongLongSlot()));
|
||||
mIntegerMenu->addAction(mIntegerSignedLongLongAction);
|
||||
//Integer->Unsigned short
|
||||
mIntegerUnsignedShortAction = new QAction(DIcon("word.png"), "Unsigned short (16-bit)", this);
|
||||
mIntegerUnsignedShortAction = new QAction(DIcon("word.png"), tr("Unsigned short (16-bit)"), this);
|
||||
connect(mIntegerUnsignedShortAction, SIGNAL(triggered()), this, SLOT(integerUnsignedShortSlot()));
|
||||
mIntegerMenu->addAction(mIntegerUnsignedShortAction);
|
||||
//Integer->Unsigned long
|
||||
mIntegerUnsignedLongAction = new QAction(DIcon("dword.png"), "Unsigned long (32-bit)", this);
|
||||
mIntegerUnsignedLongAction = new QAction(DIcon("dword.png"), tr("Unsigned long (32-bit)"), this);
|
||||
connect(mIntegerUnsignedLongAction, SIGNAL(triggered()), this, SLOT(integerUnsignedLongSlot()));
|
||||
mIntegerMenu->addAction(mIntegerUnsignedLongAction);
|
||||
//Integer->Unsigned long long
|
||||
mIntegerUnsignedLongLongAction = new QAction(DIcon("qword.png"), "Unsigned long long (64-bit)", this);
|
||||
mIntegerUnsignedLongLongAction = new QAction(DIcon("qword.png"), tr("Unsigned long long (64-bit)"), this);
|
||||
connect(mIntegerUnsignedLongLongAction, SIGNAL(triggered()), this, SLOT(integerUnsignedLongLongSlot()));
|
||||
mIntegerMenu->addAction(mIntegerUnsignedLongLongAction);
|
||||
//Integer->Hex short
|
||||
mIntegerHexShortAction = new QAction(DIcon("word.png"), "Hex short (16-bit)", this);
|
||||
mIntegerHexShortAction = new QAction(DIcon("word.png"), tr("Hex short (16-bit)"), this);
|
||||
connect(mIntegerHexShortAction, SIGNAL(triggered()), this, SLOT(integerHexShortSlot()));
|
||||
mIntegerMenu->addAction(mIntegerHexShortAction);
|
||||
//Integer->Hex long
|
||||
mIntegerHexLongAction = new QAction(DIcon("dword.png"), "Hex long (32-bit)", this);
|
||||
mIntegerHexLongAction = new QAction(DIcon("dword.png"), tr("Hex long (32-bit)"), this);
|
||||
connect(mIntegerHexLongAction, SIGNAL(triggered()), this, SLOT(integerHexLongSlot()));
|
||||
mIntegerMenu->addAction(mIntegerHexLongAction);
|
||||
//Integer->Hex long long
|
||||
mIntegerHexLongLongAction = new QAction(DIcon("qword.png"), "Hex long long (64-bit)", this);
|
||||
mIntegerHexLongLongAction = new QAction(DIcon("qword.png"), tr("Hex long long (64-bit)"), this);
|
||||
connect(mIntegerHexLongLongAction, SIGNAL(triggered()), this, SLOT(integerHexLongLongSlot()));
|
||||
mIntegerMenu->addAction(mIntegerHexLongLongAction);
|
||||
|
||||
|
@ -383,15 +383,15 @@ void CPUDump::setupContextMenu()
|
|||
mFloatMenu = new QMenu(tr("&Float"), this);
|
||||
mFloatMenu->setIcon(DIcon("float.png"));
|
||||
//Float->float
|
||||
mFloatFloatAction = new QAction(DIcon("32bit-float.png"), "&Float (32-bit)", this);
|
||||
mFloatFloatAction = new QAction(DIcon("32bit-float.png"), tr("&Float (32-bit)"), this);
|
||||
connect(mFloatFloatAction, SIGNAL(triggered()), this, SLOT(floatFloatSlot()));
|
||||
mFloatMenu->addAction(mFloatFloatAction);
|
||||
//Float->double
|
||||
mFloatDoubleAction = new QAction(DIcon("64bit-float.png"), "&Double (64-bit)", this);
|
||||
mFloatDoubleAction = new QAction(DIcon("64bit-float.png"), tr("&Double (64-bit)"), this);
|
||||
connect(mFloatDoubleAction, SIGNAL(triggered()), this, SLOT(floatDoubleSlot()));
|
||||
mFloatMenu->addAction(mFloatDoubleAction);
|
||||
//Float->long double
|
||||
mFloatLongDoubleAction = new QAction(DIcon("80bit-float.png"), "&Long double (80-bit)", this);
|
||||
mFloatLongDoubleAction = new QAction(DIcon("80bit-float.png"), tr("&Long double (80-bit)"), this);
|
||||
connect(mFloatLongDoubleAction, SIGNAL(triggered()), this, SLOT(floatLongDoubleSlot()));
|
||||
mFloatMenu->addAction(mFloatLongDoubleAction);
|
||||
|
||||
|
@ -1572,7 +1572,7 @@ void CPUDump::selectionUpdatedSlot()
|
|||
{
|
||||
QString selStart = QString("%1").arg(rvaToVa(getSelectionStart()), sizeof(dsint) * 2, 16, QChar('0')).toUpper();
|
||||
QString selEnd = QString("%1").arg(rvaToVa(getSelectionEnd()), sizeof(dsint) * 2, 16, QChar('0')).toUpper();
|
||||
QString info = "Dump";
|
||||
QString info = tr("Dump");
|
||||
char mod[MAX_MODULE_SIZE] = "";
|
||||
if(DbgFunctions()->ModNameFromAddr(rvaToVa(getSelectionStart()), mod, true))
|
||||
info = QString(mod) + "";
|
||||
|
|
|
@ -284,7 +284,7 @@ void CPUSideBar::paintEvent(QPaintEvent* event)
|
|||
}
|
||||
else if(mCodeFoldingManager.isFoldBody(instrVA))
|
||||
{
|
||||
painter.setPen(QColor("black"));
|
||||
painter.setPen(QColor("#000000"));
|
||||
painter.drawLine(QPointF(viewport()->width() - fontHeight / 2 - mBulletXOffset - mBulletRadius, line * fontHeight), QPointF(viewport()->width() - fontHeight / 2 - mBulletXOffset - mBulletRadius, (line + 1) * fontHeight));
|
||||
if(mCodeFoldingManager.isFoldEnd(instrVA + instr.length - 1))
|
||||
painter.drawLine(QPointF(viewport()->width() - fontHeight / 2 - mBulletXOffset - mBulletRadius, (line + 1) * fontHeight), QPointF(viewport()->width(), (line + 1) * fontHeight));
|
||||
|
|
|
@ -36,7 +36,7 @@ CPUStack::CPUStack(CPUMultiDump* multiDump, QWidget* parent) : HexDump(parent)
|
|||
dDesc.itemSize = Byte;
|
||||
dDesc.byteMode = AsciiByte;
|
||||
wColDesc.data = dDesc;
|
||||
appendDescriptor(2000, "Comments", false, wColDesc);
|
||||
appendDescriptor(2000, tr("Comments"), false, wColDesc);
|
||||
|
||||
setupContextMenu();
|
||||
|
||||
|
@ -849,7 +849,7 @@ void CPUStack::findPattern()
|
|||
HexEditDialog hexEdit(this);
|
||||
hexEdit.showEntireBlock(true);
|
||||
hexEdit.mHexEdit->setOverwriteMode(false);
|
||||
hexEdit.setWindowTitle("Find Pattern...");
|
||||
hexEdit.setWindowTitle(tr("Find Pattern..."));
|
||||
if(hexEdit.exec() != QDialog::Accepted)
|
||||
return;
|
||||
dsint addr = rvaToVa(getSelectionStart());
|
||||
|
|
|
@ -25,7 +25,7 @@ CommandHelpView::CommandHelpView(QWidget* parent) : QWidget(parent), ui(new Ui::
|
|||
|
||||
// Create module list
|
||||
mModuleList = new StdTable();
|
||||
mModuleList->addColumnAt(0, "Module", false);
|
||||
mModuleList->addColumnAt(0, tr("Module"), false);
|
||||
|
||||
// Setup symbol list
|
||||
mSearchListView->mList->addColumnAt(0, tr("Command"), true);
|
||||
|
|
|
@ -9,17 +9,17 @@ DataCopyDialog::DataCopyDialog(const QVector<byte_t>* data, QWidget* parent) : Q
|
|||
setFixedSize(this->size()); //fixed size
|
||||
mData = data;
|
||||
|
||||
ui->comboType->addItem("C-Style BYTE (Hex)");
|
||||
ui->comboType->addItem("C-Style WORD (Hex)");
|
||||
ui->comboType->addItem("C-Style DWORD (Hex)");
|
||||
ui->comboType->addItem("C-Style QWORD (Hex)");
|
||||
ui->comboType->addItem("C-Style String");
|
||||
ui->comboType->addItem("C-Style Unicode String");
|
||||
ui->comboType->addItem("C-Style Shellcode String");
|
||||
ui->comboType->addItem("Pascal BYTE (Hex)");
|
||||
ui->comboType->addItem("Pascal WORD (Hex)");
|
||||
ui->comboType->addItem("Pascal DWORD (Hex)");
|
||||
ui->comboType->addItem("Pascal QWORD (Hex)");
|
||||
ui->comboType->addItem(tr("C-Style BYTE (Hex)"));
|
||||
ui->comboType->addItem(tr("C-Style WORD (Hex)"));
|
||||
ui->comboType->addItem(tr("C-Style DWORD (Hex)"));
|
||||
ui->comboType->addItem(tr("C-Style QWORD (Hex)"));
|
||||
ui->comboType->addItem(tr("C-Style String"));
|
||||
ui->comboType->addItem(tr("C-Style Unicode String"));
|
||||
ui->comboType->addItem(tr("C-Style Shellcode String"));
|
||||
ui->comboType->addItem(tr("Pascal BYTE (Hex)"));
|
||||
ui->comboType->addItem(tr("Pascal WORD (Hex)"));
|
||||
ui->comboType->addItem(tr("Pascal DWORD (Hex)"));
|
||||
ui->comboType->addItem(tr("Pascal QWORD (Hex)"));
|
||||
|
||||
ui->comboType->setCurrentIndex(DataCByte);
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ EditBreakpointDialog::EditBreakpointDialog(QWidget* parent, const BRIDGEBP & bp)
|
|||
ui->setupUi(this);
|
||||
setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint | Qt::MSWindowsFixedSizeDialogHint);
|
||||
setFixedSize(this->size()); //fixed size
|
||||
setWindowTitle(QString("Edit Breakpoint %1").arg(ToHexString(bp.addr)));
|
||||
setWindowTitle(QString(tr("Edit Breakpoint %1")).arg(ToHexString(bp.addr)));
|
||||
setWindowIcon(DIcon("breakpoint.png"));
|
||||
loadFromBp();
|
||||
}
|
||||
|
|
|
@ -40,7 +40,7 @@ EditFloatRegister::EditFloatRegister(int RegisterSize, QWidget* parent) :
|
|||
break;
|
||||
case 512:
|
||||
default:
|
||||
GuiAddLogMessage(QString("Error, register size %1 is not supported.\n").arg(RegisterSize).toUtf8().constData());
|
||||
GuiAddLogMessage(QString(tr("Error, register size %1 is not supported.\n")).arg(RegisterSize).toUtf8().constData());
|
||||
break;
|
||||
}
|
||||
setFixedWidth(width());
|
||||
|
|
|
@ -20,14 +20,14 @@ HandlesView::HandlesView(QWidget* parent) : QWidget(parent)
|
|||
mTcpConnectionsTable->setContextMenuPolicy(Qt::CustomContextMenu);
|
||||
mTcpConnectionsTable->addColumnAt(8 + 64 * wCharWidth, tr("Remote address"), false);
|
||||
mTcpConnectionsTable->addColumnAt(8 + 64 * wCharWidth, tr("Local address"), false);
|
||||
mTcpConnectionsTable->addColumnAt(8 + 8 * wCharWidth, tr("State", "TcpConnection"), false);
|
||||
mTcpConnectionsTable->addColumnAt(8 + 8 * wCharWidth, tr("State"), false);
|
||||
mTcpConnectionsTable->loadColumnFromConfig("TcpConnection");
|
||||
|
||||
mPrivilegesTable = new StdTable(this);
|
||||
mPrivilegesTable->setDrawDebugOnly(true);
|
||||
mPrivilegesTable->setContextMenuPolicy(Qt::CustomContextMenu);
|
||||
mPrivilegesTable->addColumnAt(8 + 32 * wCharWidth, tr("Privilege"), false);
|
||||
mPrivilegesTable->addColumnAt(8 + 16 * wCharWidth, tr("State", "Privilege"), false);
|
||||
mPrivilegesTable->addColumnAt(8 + 16 * wCharWidth, tr("State"), false);
|
||||
mPrivilegesTable->loadColumnFromConfig("Privilege");
|
||||
|
||||
// Splitter
|
||||
|
@ -306,97 +306,4 @@ void HandlesView::enumTcpConnections()
|
|||
else
|
||||
mTcpConnectionsTable->setRowCount(0);
|
||||
mTcpConnectionsTable->reloadData();
|
||||
/*
|
||||
QList<QString> TCPLocal;
|
||||
QList<QString> TCPRemote;
|
||||
QList<QString> TCPState;
|
||||
DWORD PID = 0;// DbgGetProcessInformation()->dwProcessId;
|
||||
// The following code is modified from code sample at MSDN.GetTcpTable2
|
||||
// Declare and initialize variables
|
||||
PMIB_TCPTABLE2 pTcpTable;
|
||||
PMIB_TCP6TABLE2 pTcp6Table;
|
||||
ULONG ulSize = 0;
|
||||
struct in_addr IpAddr;
|
||||
int i;
|
||||
// To ensure WindowsXP compatibility we won't link them statically
|
||||
ULONG(WINAPI * GetTcpTable2)(PMIB_TCPTABLE2, PULONG, BOOL);
|
||||
*(FARPROC*)&GetTcpTable2 = GetProcAddress(hIpHlp, "GetTcpTable2");
|
||||
ULONG(WINAPI * GetTcp6Table2)(PMIB_TCP6TABLE2 TcpTable, PULONG, BOOL Order);
|
||||
*(FARPROC*)&GetTcp6Table2 = GetProcAddress(hIpHlp, "GetTcp6Table2");
|
||||
PCTSTR(WSAAPI * InetNtopW)(INT Family, PVOID pAddr, PTSTR pStringBuf, size_t StringBufSize);
|
||||
*(FARPROC*)&InetNtopW = GetProcAddress(GetModuleHandleW(L"ws2_32.dll"), "InetNtopW");
|
||||
if(InetNtopW == nullptr)
|
||||
return;
|
||||
pTcpTable = (MIB_TCPTABLE2*) malloc(sizeof(MIB_TCPTABLE2));
|
||||
ulSize = sizeof(MIB_TCPTABLE);
|
||||
// Make an initial call to GetTcpTable2 to
|
||||
// get the necessary size into the ulSize variable
|
||||
if(GetTcpTable2 != nullptr && GetTcpTable2(pTcpTable, &ulSize, TRUE) == ERROR_INSUFFICIENT_BUFFER)
|
||||
{
|
||||
free(pTcpTable);
|
||||
pTcpTable = (MIB_TCPTABLE2*) malloc(ulSize);
|
||||
}
|
||||
// Make a second call to GetTcpTable2 to get
|
||||
// the actual data we require
|
||||
if(GetTcpTable2 != nullptr && GetTcpTable2(pTcpTable, &ulSize, TRUE) == NO_ERROR)
|
||||
{
|
||||
for(i = 0; i < (int) pTcpTable->dwNumEntries; i++)
|
||||
{
|
||||
wchar_t Buffer[56];
|
||||
if(pTcpTable->table[i].dwOwningPid != PID)
|
||||
continue;
|
||||
TCPState.push_back(TcpStateToString(pTcpTable->table[i].dwState));
|
||||
IpAddr.S_un.S_addr = (u_long) pTcpTable->table[i].dwLocalAddr;
|
||||
InetNtopW(AF_INET, &IpAddr, Buffer, 56);
|
||||
TCPLocal.push_back(QString("%1:%2").arg(QString().fromUtf16(Buffer)).arg(ntohs((u_short)pTcpTable->table[i].dwLocalPort)));
|
||||
|
||||
IpAddr.S_un.S_addr = (u_long) pTcpTable->table[i].dwRemoteAddr;
|
||||
InetNtopW(AF_INET, &IpAddr, Buffer, 56);
|
||||
TCPRemote.push_back(QString("%1:%2").arg(QString().fromUtf16(Buffer)).arg(ntohs((u_short)pTcpTable->table[i].dwRemotePort)));
|
||||
}
|
||||
}
|
||||
if(pTcpTable != NULL)
|
||||
{
|
||||
free(pTcpTable);
|
||||
pTcpTable = NULL;
|
||||
}
|
||||
pTcp6Table = (MIB_TCP6TABLE2*) malloc(sizeof(MIB_TCP6TABLE2));
|
||||
ulSize = sizeof(MIB_TCP6TABLE);
|
||||
// Make an initial call to GetTcpTable2 to
|
||||
// get the necessary size into the ulSize variable
|
||||
if(GetTcp6Table2 != nullptr && GetTcp6Table2(pTcp6Table, &ulSize, TRUE) == ERROR_INSUFFICIENT_BUFFER)
|
||||
{
|
||||
free(pTcp6Table);
|
||||
pTcp6Table = (MIB_TCP6TABLE2*) malloc(ulSize);
|
||||
}
|
||||
// Make a second call to GetTcpTable2 to get
|
||||
// the actual data we require
|
||||
if(GetTcp6Table2 != nullptr && GetTcp6Table2(pTcp6Table, &ulSize, TRUE) == NO_ERROR)
|
||||
{
|
||||
for(i = 0; i < (int) pTcp6Table->dwNumEntries; i++)
|
||||
{
|
||||
wchar_t Buffer[56];
|
||||
if(pTcp6Table->table[i].dwOwningPid != PID)
|
||||
continue;
|
||||
TCPState.push_back(TcpStateToString(pTcp6Table->table[i].State));
|
||||
InetNtopW(AF_INET6, &pTcp6Table->table[i].LocalAddr, Buffer, 56);
|
||||
TCPLocal.push_back(QString("[%1]:%2").arg(QString().fromUtf16(Buffer)).arg(ntohs((u_short)pTcp6Table->table[i].dwLocalPort)));
|
||||
InetNtopW(AF_INET6, &pTcp6Table->table[i].RemoteAddr, Buffer, 56);
|
||||
TCPRemote.push_back(QString("[%1]:%2").arg(QString().fromUtf16(Buffer)).arg(ntohs((u_short)pTcp6Table->table[i].dwRemotePort)));
|
||||
}
|
||||
}
|
||||
if(pTcp6Table != NULL)
|
||||
{
|
||||
free(pTcp6Table);
|
||||
pTcp6Table = NULL;
|
||||
}
|
||||
mTcpConnectionsTable->setRowCount(TCPRemote.length());
|
||||
for(int i = 0; i < TCPLocal.length(); i++)
|
||||
{
|
||||
mTcpConnectionsTable->setCellContent(i, 0, TCPRemote.at(i));
|
||||
mTcpConnectionsTable->setCellContent(i, 1, TCPLocal.at(i));
|
||||
mTcpConnectionsTable->setCellContent(i, 2, TCPState.at(i));
|
||||
}
|
||||
mTcpConnectionsTable->reloadData();
|
||||
*/
|
||||
}
|
||||
|
|
|
@ -1271,7 +1271,7 @@ void MainWindow::crashDump()
|
|||
__debugbreak();
|
||||
|
||||
// Congratulations! We survived a fatal error!
|
||||
SimpleWarningBox(this, "Have fun debugging the debugger!", "Debugger detected!");
|
||||
SimpleWarningBox(this, tr("Have fun debugging the debugger!"), tr("Debugger detected!"));
|
||||
}
|
||||
|
||||
void MainWindow::displayAttach()
|
||||
|
@ -1508,7 +1508,7 @@ void MainWindow::clickFavouriteTool()
|
|||
{
|
||||
QAction* action = qobject_cast<QAction*>(sender());
|
||||
if(action == nullptr)
|
||||
throw std::exception("Bad favourite tool shortcut action");
|
||||
return;
|
||||
QString data = action->data().toString();
|
||||
if(data.startsWith("Tool,"))
|
||||
{
|
||||
|
|
|
@ -28,8 +28,8 @@ void PageMemoryRights::RunAddrSize(duint addrin, duint sizein, QString pagetypei
|
|||
duint nr_pages = size / PAGE_SIZE;
|
||||
tableWidget->setColumnCount(2);
|
||||
tableWidget->setRowCount(nr_pages);
|
||||
tableWidget->setHorizontalHeaderItem(0, new QTableWidgetItem(QString("Address")));
|
||||
tableWidget->setHorizontalHeaderItem(1, new QTableWidgetItem(QString("Rights")));
|
||||
tableWidget->setHorizontalHeaderItem(0, new QTableWidgetItem(QString(tr("Address"))));
|
||||
tableWidget->setHorizontalHeaderItem(1, new QTableWidgetItem(QString(tr("Rights"))));
|
||||
|
||||
duint actual_addr;
|
||||
char rights[RIGHTS_STRING_SIZE];
|
||||
|
|
|
@ -445,7 +445,7 @@ RegistersView::RegistersView(QWidget* parent) : QScrollArea(parent), mVScrollOff
|
|||
this->addAction(wCM_CopyAll);
|
||||
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_FollowInStack = new QAction(DIcon("stack.png"), tr("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);
|
||||
|
@ -1530,7 +1530,7 @@ QString RegistersView::GetControlWordRCStateString(unsigned short state)
|
|||
return ControlWordRCValueStringTable[i].string;
|
||||
}
|
||||
|
||||
return "unknown";
|
||||
return "Unknown";
|
||||
}
|
||||
|
||||
#define x87SW_TOP_0 0
|
||||
|
@ -1577,7 +1577,7 @@ QString RegistersView::GetStatusWordTOPStateString(unsigned short state)
|
|||
return StatusWordTOPValueStringTable[i].string;
|
||||
}
|
||||
|
||||
return "unknown";
|
||||
return "Unknown";
|
||||
}
|
||||
|
||||
|
||||
|
@ -1619,7 +1619,7 @@ QString RegistersView::GetControlWordPCStateString(unsigned short state)
|
|||
return ControlWordPCValueStringTable[i].string;
|
||||
}
|
||||
|
||||
return "unknown";
|
||||
return "Unknown";
|
||||
}
|
||||
|
||||
|
||||
|
@ -1968,7 +1968,7 @@ void RegistersView::displayEditDialog()
|
|||
{
|
||||
errorinput = true;
|
||||
|
||||
QMessageBox msg(QMessageBox::Warning, "ERROR CONVERTING TO HEX", "ERROR CONVERTING TO HEXADECIMAL");
|
||||
QMessageBox msg(QMessageBox::Warning, tr("ERROR CONVERTING TO HEX"), tr("ERROR CONVERTING TO HEX"));
|
||||
msg.setWindowIcon(DIcon("compile-warning.png"));
|
||||
msg.setParent(this, Qt::Dialog);
|
||||
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
|
||||
|
|
|
@ -544,7 +544,7 @@ void ScriptView::bpToggle()
|
|||
return;
|
||||
int selected = getInitialSelection() + 1;
|
||||
if(!DbgScriptBpToggle(selected))
|
||||
error(selected, "Error setting script breakpoint!");
|
||||
error(selected, tr("Error setting script breakpoint!"));
|
||||
reloadData();
|
||||
}
|
||||
|
||||
|
@ -577,12 +577,12 @@ void ScriptView::cmdExec()
|
|||
if(mLineEdit.exec() != QDialog::Accepted)
|
||||
return;
|
||||
if(!DbgScriptCmdExec(mLineEdit.editText.toUtf8().constData()))
|
||||
error(0, "Error executing command!");
|
||||
error(0, tr("Error executing command!"));
|
||||
}
|
||||
|
||||
void ScriptView::message(QString message)
|
||||
{
|
||||
QMessageBox msg(QMessageBox::Information, "Message", message);
|
||||
QMessageBox msg(QMessageBox::Information, tr("Message"), message);
|
||||
msg.setWindowIcon(DIcon("information.png"));
|
||||
msg.setParent(this, Qt::Dialog);
|
||||
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
|
||||
|
@ -601,7 +601,7 @@ void ScriptView::newIp()
|
|||
|
||||
void ScriptView::question(QString message)
|
||||
{
|
||||
QMessageBox msg(QMessageBox::Question, "Question", message, QMessageBox::Yes | QMessageBox::No);
|
||||
QMessageBox msg(QMessageBox::Question, tr("Question"), message, QMessageBox::Yes | QMessageBox::No);
|
||||
msg.setWindowIcon(DIcon("question.png"));
|
||||
msg.setParent(this, Qt::Dialog);
|
||||
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
|
||||
|
|
|
@ -220,7 +220,7 @@ void SettingsDialog::LoadSettings()
|
|||
{
|
||||
ui->chkSetJIT->setDisabled(true);
|
||||
ui->chkConfirmBeforeAtt->setDisabled(true);
|
||||
ui->lblAdminWarning->setText(QString("<font color=\"red\"><b>Warning</b></font>: Run the debugger as Admin to enable JIT."));
|
||||
ui->lblAdminWarning->setText(QString(tr("<font color=\"red\"><b>Warning</b></font>: Run the debugger as Admin to enable JIT.")));
|
||||
}
|
||||
else
|
||||
ui->lblAdminWarning->setText("");
|
||||
|
@ -363,7 +363,7 @@ void SettingsDialog::setLastException(unsigned int exceptionCode)
|
|||
void SettingsDialog::on_btnSave_clicked()
|
||||
{
|
||||
SaveSettings();
|
||||
GuiAddStatusBarMessage("Settings saved!\n");
|
||||
GuiAddStatusBarMessage(QString("%1\n").arg(tr("Settings saved!")).toUtf8().constData());
|
||||
}
|
||||
|
||||
void SettingsDialog::on_chkSystemBreakpoint_stateChanged(int arg1)
|
||||
|
@ -591,7 +591,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));
|
||||
QMessageBox msg(QMessageBox::Question, tr("Question"), QString().sprintf(tr("Are you sure you want to add %.8X?").toUtf8().constData(), lastException));
|
||||
msg.setWindowIcon(DIcon("question.png"));
|
||||
msg.setParent(this, Qt::Dialog);
|
||||
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
|
||||
|
|
|
@ -121,7 +121,7 @@ ShortcutsDialog::~ShortcutsDialog()
|
|||
void ShortcutsDialog::on_btnSave_clicked()
|
||||
{
|
||||
Config()->writeShortcuts();
|
||||
GuiAddStatusBarMessage("Settings saved!\n");
|
||||
GuiAddStatusBarMessage(QString("%1\n").arg(tr("Settings saved!")).toUtf8().constData());
|
||||
}
|
||||
|
||||
void ShortcutsDialog::rejectedSlot()
|
||||
|
|
|
@ -35,7 +35,7 @@ QString YaraRuleSelectionDialog::getSelectedFile()
|
|||
|
||||
void YaraRuleSelectionDialog::on_buttonDirectory_clicked()
|
||||
{
|
||||
QString dir = QFileDialog::getExistingDirectory(this, "Select Yara Rules Directory...");
|
||||
QString dir = QFileDialog::getExistingDirectory(this, tr("Select Yara Rules Directory..."));
|
||||
if(!dir.length())
|
||||
return;
|
||||
rulesDirectory = QDir::toNativeSeparators(dir);
|
||||
|
@ -45,7 +45,7 @@ void YaraRuleSelectionDialog::on_buttonDirectory_clicked()
|
|||
|
||||
void YaraRuleSelectionDialog::on_buttonFile_clicked()
|
||||
{
|
||||
QString file = QFileDialog::getOpenFileName(this, "Select Yara Rule...", rulesDirectory);
|
||||
QString file = QFileDialog::getOpenFileName(this, tr("Select Yara Rule..."), rulesDirectory);
|
||||
if(!file.length())
|
||||
return;
|
||||
selectedFile = QDir::toNativeSeparators(file);
|
||||
|
|
|
@ -613,7 +613,7 @@ const QColor Configuration::getColor(const QString id) const
|
|||
return Colors.constFind(id).value();
|
||||
if(noMoreMsgbox)
|
||||
return Qt::black;
|
||||
QMessageBox msg(QMessageBox::Warning, "NOT FOUND IN CONFIG!", id, QMessageBox::Retry | QMessageBox::Cancel);
|
||||
QMessageBox msg(QMessageBox::Warning, tr("NOT FOUND IN CONFIG!"), id, QMessageBox::Retry | QMessageBox::Cancel);
|
||||
msg.setWindowIcon(DIcon("compile-warning.png"));
|
||||
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
|
||||
if(msg.exec() == QMessageBox::Cancel)
|
||||
|
@ -629,7 +629,7 @@ const bool Configuration::getBool(const QString category, const QString id) cons
|
|||
return Bools[category][id];
|
||||
if(noMoreMsgbox)
|
||||
return false;
|
||||
QMessageBox msg(QMessageBox::Warning, "NOT FOUND IN CONFIG!", category + ":" + id, QMessageBox::Retry | QMessageBox::Cancel);
|
||||
QMessageBox msg(QMessageBox::Warning, tr("NOT FOUND IN CONFIG!"), category + ":" + id, QMessageBox::Retry | QMessageBox::Cancel);
|
||||
msg.setWindowIcon(DIcon("compile-warning.png"));
|
||||
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
|
||||
if(msg.exec() == QMessageBox::Cancel)
|
||||
|
@ -638,7 +638,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);
|
||||
QMessageBox msg(QMessageBox::Warning, tr("NOT FOUND IN CONFIG!"), category, QMessageBox::Retry | QMessageBox::Cancel);
|
||||
msg.setWindowIcon(DIcon("compile-warning.png"));
|
||||
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
|
||||
if(msg.exec() == QMessageBox::Cancel)
|
||||
|
@ -657,7 +657,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);
|
||||
QMessageBox msg(QMessageBox::Warning, tr("NOT FOUND IN CONFIG!"), category + ":" + id, QMessageBox::Retry | QMessageBox::Cancel);
|
||||
msg.setWindowIcon(DIcon("compile-warning.png"));
|
||||
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
|
||||
if(msg.exec() == QMessageBox::Cancel)
|
||||
|
@ -666,7 +666,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);
|
||||
QMessageBox msg(QMessageBox::Warning, tr("NOT FOUND IN CONFIG!"), category, QMessageBox::Retry | QMessageBox::Cancel);
|
||||
msg.setWindowIcon(DIcon("compile-warning.png"));
|
||||
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
|
||||
if(msg.exec() == QMessageBox::Cancel)
|
||||
|
@ -681,7 +681,7 @@ const duint Configuration::getUint(const QString category, const QString id) con
|
|||
return Uints[category][id];
|
||||
if(noMoreMsgbox)
|
||||
return 0;
|
||||
QMessageBox msg(QMessageBox::Warning, "NOT FOUND IN CONFIG!", category + ":" + id, QMessageBox::Retry | QMessageBox::Cancel);
|
||||
QMessageBox msg(QMessageBox::Warning, tr("NOT FOUND IN CONFIG!"), category + ":" + id, QMessageBox::Retry | QMessageBox::Cancel);
|
||||
msg.setWindowIcon(DIcon("compile-warning.png"));
|
||||
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
|
||||
if(msg.exec() == QMessageBox::Cancel)
|
||||
|
@ -690,7 +690,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);
|
||||
QMessageBox msg(QMessageBox::Warning, tr("NOT FOUND IN CONFIG!"), category, QMessageBox::Retry | QMessageBox::Cancel);
|
||||
msg.setWindowIcon(DIcon("compile-warning.png"));
|
||||
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
|
||||
if(msg.exec() == QMessageBox::Cancel)
|
||||
|
@ -709,7 +709,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);
|
||||
QMessageBox msg(QMessageBox::Warning, tr("NOT FOUND IN CONFIG!"), category + ":" + id, QMessageBox::Retry | QMessageBox::Cancel);
|
||||
msg.setWindowIcon(DIcon("compile-warning.png"));
|
||||
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
|
||||
if(msg.exec() == QMessageBox::Cancel)
|
||||
|
@ -718,7 +718,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);
|
||||
QMessageBox msg(QMessageBox::Warning, tr("NOT FOUND IN CONFIG!"), category, QMessageBox::Retry | QMessageBox::Cancel);
|
||||
msg.setWindowIcon(DIcon("compile-warning.png"));
|
||||
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
|
||||
if(msg.exec() == QMessageBox::Cancel)
|
||||
|
@ -734,7 +734,7 @@ const QFont Configuration::getFont(const QString id) const
|
|||
ret.setStyleHint(QFont::Monospace);
|
||||
if(noMoreMsgbox)
|
||||
return ret;
|
||||
QMessageBox msg(QMessageBox::Warning, "NOT FOUND IN CONFIG!", id, QMessageBox::Retry | QMessageBox::Cancel);
|
||||
QMessageBox msg(QMessageBox::Warning, tr("NOT FOUND IN CONFIG!"), id, QMessageBox::Retry | QMessageBox::Cancel);
|
||||
msg.setWindowIcon(DIcon("compile-warning.png"));
|
||||
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
|
||||
if(msg.exec() == QMessageBox::Cancel)
|
||||
|
@ -748,7 +748,7 @@ const Configuration::Shortcut Configuration::getShortcut(const QString key_id) c
|
|||
return Shortcuts.constFind(key_id).value();
|
||||
if(!noMoreMsgbox)
|
||||
{
|
||||
QMessageBox msg(QMessageBox::Warning, "NOT FOUND IN CONFIG!", key_id, QMessageBox::Retry | QMessageBox::Cancel);
|
||||
QMessageBox msg(QMessageBox::Warning, tr("NOT FOUND IN CONFIG!"), key_id, QMessageBox::Retry | QMessageBox::Cancel);
|
||||
msg.setWindowIcon(DIcon("compile-warning.png"));
|
||||
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
|
||||
if(msg.exec() == QMessageBox::Cancel)
|
||||
|
@ -766,7 +766,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);
|
||||
QMessageBox msg(QMessageBox::Warning, tr("NOT FOUND IN CONFIG!"), key_id, QMessageBox::Retry | QMessageBox::Cancel);
|
||||
msg.setWindowIcon(DIcon("compile-warning.png"));
|
||||
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
|
||||
if(msg.exec() == QMessageBox::Cancel)
|
||||
|
|
|
@ -24,7 +24,7 @@ void UpdateChecker::finishedSlot(QNetworkReply* reply)
|
|||
{
|
||||
if(reply->error() != QNetworkReply::NoError) //error
|
||||
{
|
||||
QMessageBox msg(QMessageBox::Critical, "Network Error!", reply->errorString());
|
||||
QMessageBox msg(QMessageBox::Critical, tr("Network Error!"), reply->errorString());
|
||||
msg.setParent(mParent, Qt::Dialog);
|
||||
msg.setWindowIcon(DIcon("compile-error.png"));
|
||||
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
|
||||
|
@ -40,7 +40,7 @@ void UpdateChecker::finishedSlot(QNetworkReply* reply)
|
|||
reply->close();
|
||||
if(!ok)
|
||||
{
|
||||
QMessageBox msg(QMessageBox::Critical, "Error!", "File on server could not be parsed...");
|
||||
QMessageBox msg(QMessageBox::Critical, tr("Error!"), tr("File on server could not be parsed..."));
|
||||
msg.setParent(mParent, Qt::Dialog);
|
||||
msg.setWindowIcon(DIcon("compile-error.png"));
|
||||
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
|
||||
|
@ -51,12 +51,12 @@ void UpdateChecker::finishedSlot(QNetworkReply* reply)
|
|||
auto build = GetCompileDate();
|
||||
QString info;
|
||||
if(server > build)
|
||||
info = QString("New build %1 available!<br>Download <a href=\"http://releases.x64dbg.com\">here</a><br><br>You are now on build %2").arg(ToDateString(server), ToDateString(build));
|
||||
info = QString(tr("New build %1 available!<br>Download <a href=\"%2\">here</a><br><br>You are now on build %2")).arg(ToDateString(server).arg("http://releases.x64dbg.com"), ToDateString(build));
|
||||
else if(server < build)
|
||||
info = QString("You have a development build (%1) of x64dbg!").arg(ToDateString(build));
|
||||
info = QString(tr("You have a development build (%1) of x64dbg!")).arg(ToDateString(build));
|
||||
else
|
||||
info = QString("You have the latest build (%1) of x64dbg!").arg(ToDateString(build));
|
||||
QMessageBox msg(QMessageBox::Information, "Information", info);
|
||||
info = QString(tr("You have the latest build (%1) of x64dbg!")).arg(ToDateString(build));
|
||||
QMessageBox msg(QMessageBox::Information, tr("Information"), info);
|
||||
msg.setWindowIcon(DIcon("information.png"));
|
||||
msg.setParent(mParent, Qt::Dialog);
|
||||
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
|
||||
|
|
|
@ -128,7 +128,7 @@ int main(int argc, char* argv[])
|
|||
const char* errormsg = DbgInit();
|
||||
if(errormsg)
|
||||
{
|
||||
QMessageBox msg(QMessageBox::Critical, "DbgInit Error!", QString(errormsg));
|
||||
QMessageBox msg(QMessageBox::Critical, QObject::tr("DbgInit Error!"), QString(errormsg));
|
||||
msg.setWindowIcon(DIcon("compile-error.png"));
|
||||
msg.setWindowFlags(msg.windowFlags() & (~Qt::WindowContextHelpButtonHint));
|
||||
msg.exec();
|
||||
|
|
Loading…
Reference in New Issue