1
0
Fork 0

GUI: fixed an issue

Native name is separated from real name
This commit is contained in:
Torusrxxx 2016-05-23 11:09:07 +00:00
parent b752e31ad1
commit 674ed013a0
1 changed files with 25 additions and 11 deletions

View File

@ -75,7 +75,7 @@ MainWindow::MainWindow(QWidget* parent)
// Log view
mLogView = new LogView();
mLogView->setWindowTitle("Log");
mLogView->setWindowTitle(tr("Log"));
mLogView->setWindowIcon(QIcon(":/icons/images/log.png"));
mLogView->hide();
@ -162,18 +162,31 @@ MainWindow::MainWindow(QWidget* parent)
// Add all widgets to the list
mWidgetList.push_back(mCpuWidget);
mWidgetNativeNameList.push_back("CPUTab");
mWidgetList.push_back(mLogView);
mWidgetNativeNameList.push_back("LogTab");
mWidgetList.push_back(mNotesManager);
mWidgetNativeNameList.push_back("NotesTab");
mWidgetList.push_back(mBreakpointsView);
mWidgetNativeNameList.push_back("BreakpointsTab");
mWidgetList.push_back(mMemMapView);
mWidgetNativeNameList.push_back("MemoryMapTab");
mWidgetList.push_back(mCallStackView);
mWidgetNativeNameList.push_back("CallStackTab");
mWidgetList.push_back(mSEHChainView);
mWidgetNativeNameList.push_back("SEHTab");
mWidgetList.push_back(mScriptView);
mWidgetNativeNameList.push_back("ScriptTab");
mWidgetList.push_back(mSymbolView);
mWidgetNativeNameList.push_back("SymbolsTab");
mWidgetList.push_back(mSourceViewManager);
mWidgetNativeNameList.push_back("SourceTab");
mWidgetList.push_back(mReferenceManager);
mWidgetNativeNameList.push_back("ReferencesTab");
mWidgetList.push_back(mThreadView);
mWidgetNativeNameList.push_back("ThreadsTab");
mWidgetList.push_back(mSnowmanView);
mWidgetNativeNameList.push_back("SnowmanTab");
// If LoadSaveTabOrder disabled, load tabs in default order
if(!ConfigBool("Miscellaneous", "LoadSaveTabOrder"))
@ -345,28 +358,28 @@ void MainWindow::loadTabDefaultOrder()
clearTabWidget();
// Setup tabs
//TODO
for(int i = 0; i < mWidgetList.size(); i++)
addQWidgetTab(mWidgetList[i]);
addQWidgetTab(mWidgetList[i], mWidgetNativeNameList[i]);
}
void MainWindow::loadTabSavedOrder()
{
clearTabWidget();
QMap<duint, QWidget*> tabIndexToWidget;
QMap<duint, std::pair<QWidget*,QString> > tabIndexToWidget;
// Get tabIndex for each widget and add them to tabIndexToWidget
for(int i = 0; i < mWidgetList.size(); i++)
{
QString tabName = mWidgetList[i]->windowTitle();
tabName = tabName.replace(" ", "") + "Tab";
QString tabName = mWidgetNativeNameList[i];
duint tabIndex = Config()->getUint("TabOrder", tabName);
tabIndexToWidget.insert(tabIndex, mWidgetList[i]);
tabIndexToWidget.insert(tabIndex, std::make_pair(mWidgetList[i], tabName));
}
// Setup tabs
for(auto & widget : tabIndexToWidget)
addQWidgetTab(widget);
addQWidgetTab(widget.first, widget.second);
}
void MainWindow::clearTabWidget()
@ -1178,7 +1191,7 @@ void MainWindow::changeCommandLine()
void MainWindow::displayManual()
{
// Open the Windows CHM in the upper directory
QDesktopServices::openUrl(QUrl("..\\x64dbg.chm"));
QDesktopServices::openUrl(QUrl(QString("%1\\..\\x64dbg.chm").arg(QCoreApplication::applicationDirPath())));
}
void MainWindow::decompileAt(dsint start, dsint end)
@ -1192,9 +1205,9 @@ void MainWindow::canClose()
close();
}
void MainWindow::addQWidgetTab(QWidget* qWidget)
void MainWindow::addQWidgetTab(QWidget* qWidget, QString nativeName)
{
mTabWidget->addTab(qWidget, qWidget->windowIcon(), qWidget->windowTitle());
mTabWidget->addTabEx(qWidget, qWidget->windowIcon(), qWidget->windowTitle(), nativeName);
}
void MainWindow::showQWidgetTab(QWidget* qWidget)
@ -1226,7 +1239,8 @@ void MainWindow::tabMovedSlot(int from, int to)
for(int i = 0; i < mTabWidget->count(); i++)
{
// Remove space in widget name and append Tab to get config settings (CPUTab, MemoryMapTab, etc...)
QString tabName = mTabWidget->tabText(i).replace(" ", "") + "Tab";
//QString tabName = mTabWidget->tabText(i).replace(" ", "") + "Tab";
QString tabName = mTabWidget->getNativeName(i);
Config()->setUint("TabOrder", tabName, i);
}
}