diff --git a/QtPMbrowser/DlgExportMetadata.cpp b/QtPMbrowser/DlgExportMetadata.cpp index 7963e5f..f19bf05 100644 --- a/QtPMbrowser/DlgExportMetadata.cpp +++ b/QtPMbrowser/DlgExportMetadata.cpp @@ -22,14 +22,16 @@ #include "DlgExportMetadata.h" #include "ui_DlgExportMetadata.h" -DlgExportMetadata::DlgExportMetadata(QWidget *parent) - : QDialog(parent), selection{ }, ui(new Ui::DlgExportMetadata()) +DlgExportMetadata::DlgExportMetadata(PMbrowserWindow* parent) + : QDialog(parent), selection{}, ui(new Ui::DlgExportMetadata()), pmbrowserwindow{ parent } { QSettings settings; ui->setupUi(this); auto index = settings.value("DlgExportMetadata/selection", 3).toInt(); ui->comboBoxLevel->setCurrentIndex(index); ui->checkBoxSystemLocale->setChecked(settings.value("DlgExportMetadata/nativeEncoding", 0).toInt()); + QObject::connect(ui->pushButtonSlectParamters, &QPushButton::clicked, + pmbrowserwindow, &PMbrowserWindow::on_actionSelect_Parameters_triggered); QObject::connect(ui->pushButtonCopy, &QPushButton::clicked, this, &DlgExportMetadata::copyToClipboard); } @@ -38,7 +40,7 @@ DlgExportMetadata::~DlgExportMetadata() delete ui; } -void DlgExportMetadata::accept(){ +void DlgExportMetadata::accept() { QSettings settings; selection = ui->comboBoxLevel->currentIndex(); settings.setValue("DlgExportMetadata/selection", selection); diff --git a/QtPMbrowser/DlgExportMetadata.h b/QtPMbrowser/DlgExportMetadata.h index 4869b39..bf8dd20 100644 --- a/QtPMbrowser/DlgExportMetadata.h +++ b/QtPMbrowser/DlgExportMetadata.h @@ -20,6 +20,7 @@ #pragma once #include +#include QT_BEGIN_NAMESPACE namespace Ui { class DlgExportMetadata; } @@ -33,7 +34,7 @@ public slots: void copyToClipboard(); public: - DlgExportMetadata(QWidget* parent = nullptr); + DlgExportMetadata(PMbrowserWindow* parent); ~DlgExportMetadata(); int getSelection() { return selection; @@ -48,7 +49,8 @@ public slots: private: int selection; - Ui::DlgExportMetadata *ui; + Ui::DlgExportMetadata* ui; + PMbrowserWindow* pmbrowserwindow; bool m_doCopy{ false }; bool m_nativeEncoding{ false }; }; diff --git a/QtPMbrowser/DlgExportMetadata.ui b/QtPMbrowser/DlgExportMetadata.ui index 976dce5..fcaa30b 100644 --- a/QtPMbrowser/DlgExportMetadata.ui +++ b/QtPMbrowser/DlgExportMetadata.ui @@ -13,15 +13,39 @@ Export metadata as table - - - + + + + + + Group + + + + + Series + + + + + Sweep + + + + + Trace + + + + + + - One line per: + copy to clipboard - + Qt::Orientation::Vertical @@ -34,7 +58,7 @@ - + Qt::Orientation::Horizontal @@ -47,28 +71,11 @@ - - - - - Group - - - - - Series - - - - - Sweep - - - - - Trace - - + + + + use system default formatting + @@ -84,17 +91,17 @@ - - + + - copy to clipboard + One line per: - - + + - use system default formatting + Select Parameters... diff --git a/QtPMbrowser/pmbrowserwindow.h b/QtPMbrowser/pmbrowserwindow.h index 694fa1e..6994891 100644 --- a/QtPMbrowser/pmbrowserwindow.h +++ b/QtPMbrowser/pmbrowserwindow.h @@ -61,12 +61,14 @@ private slots: void prepareTreeContextMenu(const QPoint& pos); void on_treePulse_currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous); void on_treePulse_itemDoubleClicked(QTreeWidgetItem* item, int column); - void on_actionSelect_Parameters_triggered(); void on_actionPrint_All_Params_triggered(); void on_menuGraph_aboutToShow(); void openHelp(); void openPreferences(); +public slots: + void on_actionSelect_Parameters_triggered(); + protected: void dragEnterEvent(QDragEnterEvent* event) override; void dropEvent(QDropEvent* event) override; diff --git a/hekatoolslib/DatFile.cpp b/hekatoolslib/DatFile.cpp index bdebeec..ece092a 100644 --- a/hekatoolslib/DatFile.cpp +++ b/hekatoolslib/DatFile.cpp @@ -71,6 +71,7 @@ void DatFile::InitFromStream(std::istream& infile) nitems = std::min(nitems, 12); // make sure malformed files do not cause out of bounds read for (int i = 0; i < nitems; ++i) { auto& item = bh->BundleItems[i]; + if (item.Length == 0) continue; if (isSwapped) { swapInPlace(item.Length); swapInPlace(item.Start);