1
0
Fork 0

temporary

This commit is contained in:
torusrxxx 2023-09-20 09:54:56 +08:00
parent 77cfffa0aa
commit ecc5a163c4
No known key found for this signature in database
GPG Key ID: A795C73A0F1CFADD
3 changed files with 35 additions and 4 deletions

View File

@ -1,4 +1,7 @@
#include <QFrame>
#include "TraceManager.h"
#include "BrowseDialog.h"
#include "StringUtil.h"
#include "MiscUtil.h"
TraceManager::TraceManager(QWidget* parent) : QTabWidget(parent)
@ -22,29 +25,49 @@ TraceManager::TraceManager(QWidget* parent) : QTabWidget(parent)
connect(this, SIGNAL(tabCloseRequested(int)), this, SLOT(closeTab(int)));
open();
// Add a placeholder tab
QFrame* mPlaceholder = new QFrame(this);
addTab(mPlaceholder, tr("Placeholder")); //TODO: Proper title
}
void TraceManager::open()
{
BrowseDialog browse(
this,
tr("Open trace recording"),
tr("Trace recording"),
tr("Trace recordings (*.%1);;All files (*.*)").arg(ArchValue("trace32", "trace64")),
getDbPath(),
false
);
if(browse.exec() != QDialog::Accepted)
return;
//load the new file
TraceWidget* newView = new TraceWidget(this);
addTab(newView, tr("Trace")); //TODO: Proper title
setCurrentIndex(count() - 1);
emit newView->openSlot(browse.path);
}
void TraceManager::closeTab(int index)
{
auto view = qobject_cast<TraceWidget*>(widget(index));
removeTab(index);
if(view)
{
removeTab(index);
delete view;
}
else
{
// Placeholder tab
return;
}
}
void TraceManager::closeAllTabs()
{
while(count())
while(count() > 1)
{
closeTab(0);
closeTab(count() - 1);
}
}

View File

@ -102,6 +102,11 @@ void TraceWidget::traceSelectionChanged(unsigned long long selection)
mGeneralRegs->setRegisters(&registers);
}
void TraceWidget::openSlot(const QString & fileName)
{
emit mTraceWidget->openSlot(fileName);
}
void TraceWidget::updateSlot()
{
auto fileOpened = mTraceWidget->isFileOpened();

View File

@ -28,6 +28,9 @@ public:
TraceBrowser* getTraceBrowser();
public slots:
void openSlot(const QString & fileName);
protected slots:
void traceSelectionChanged(unsigned long long selection);
void updateSlot();