summaryrefslogtreecommitdiff
path: root/mainwindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'mainwindow.cpp')
-rw-r--r--mainwindow.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/mainwindow.cpp b/mainwindow.cpp
index a4e7bd1..41c4254 100644
--- a/mainwindow.cpp
+++ b/mainwindow.cpp
@@ -224,7 +224,9 @@ MainWindow::MainWindow(QWidget *parent)
return;
QString selectedFilter;
- QString fileName = QFileDialog::getSaveFileName(this, tr("Save PCAP File"), "", tr("PCAP Files (*.pcap);;All Files (*.*)"), &selectedFilter);
+ QFileDialog saveDialog;
+ saveDialog.setDefaultSuffix("pcap");
+ QString fileName = saveDialog.getSaveFileName(this, tr("Save PCAP File"), "", tr("PCAP Files (*.pcap);;All Files (*.*)"), &selectedFilter);
if (fileName.length() > 0) {
pcpp::PcapFileWriterDevice pcapWriter(fileName.toStdString(), ppp->getLinkLayer());
if (!pcapWriter.open())
@@ -303,6 +305,8 @@ MainWindow::MainWindow(QWidget *parent)
}
rawPacket->removeData(cursorPos, 1);
rawPacket->insertData(cursorPos, reinterpret_cast<const uint8_t *>(cursorData.data()), cursorData.size());
+ const auto& row = currentSelectedRow();
+ ppp->fixupHeaders(row);
});
}
@@ -327,6 +331,15 @@ pcpp::RawPacket* MainWindow::currentSelectedPacket()
return &ppp->getRawPacket(selected.last()->row());
}
+ssize_t MainWindow::currentSelectedRow()
+{
+ const auto &selected = ui->tableWidget->selectedItems();
+ if (selected.empty())
+ return -1;
+
+ return selected.last()->row();
+}
+
void MainWindow::closeEvent(QCloseEvent *closeEvent)
{
isAboutToClose = true;