aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ui/qt/firewall_rules_dialog.cpp2
-rw-r--r--ui/qt/iax2_analysis_dialog.cpp3
-rw-r--r--ui/qt/io_graph_dialog.cpp3
-rw-r--r--ui/qt/lte_rlc_graph_dialog.cpp3
-rw-r--r--ui/qt/main_window.cpp6
-rw-r--r--ui/qt/main_window_slots.cpp13
-rw-r--r--ui/qt/packet_diagram.cpp3
-rw-r--r--ui/qt/profile_dialog.cpp2
-rw-r--r--ui/qt/rtp_analysis_dialog.cpp3
-rw-r--r--ui/qt/rtp_stream_dialog.cpp3
-rw-r--r--ui/qt/sctp_graph_dialog.cpp3
-rw-r--r--ui/qt/sequence_dialog.cpp3
-rw-r--r--ui/qt/tcp_stream_dialog.cpp3
-rw-r--r--ui/qt/wireshark_application.cpp6
-rw-r--r--ui/qt/wireshark_application.h2
15 files changed, 22 insertions, 36 deletions
diff --git a/ui/qt/firewall_rules_dialog.cpp b/ui/qt/firewall_rules_dialog.cpp
index befbb98d32..615a14a65a 100644
--- a/ui/qt/firewall_rules_dialog.cpp
+++ b/ui/qt/firewall_rules_dialog.cpp
@@ -189,7 +189,7 @@ void FirewallRulesDialog::on_buttonBox_clicked(QAbstractButton *button)
}
/* Save the directory name for future file dialogs. */
- wsApp->setLastOpenDir(file_name.constData());
+ wsApp->setLastOpenDirFromFilename(file_name);
}
} else if (button == ui->buttonBox->button(QDialogButtonBox::Apply)) {
if (ui->textBrowser->textCursor().hasSelection()) {
diff --git a/ui/qt/iax2_analysis_dialog.cpp b/ui/qt/iax2_analysis_dialog.cpp
index adb690ab7e..ea9b6ff3aa 100644
--- a/ui/qt/iax2_analysis_dialog.cpp
+++ b/ui/qt/iax2_analysis_dialog.cpp
@@ -586,8 +586,7 @@ void Iax2AnalysisDialog::on_actionSaveGraph_triggered()
// ui->streamGraph->legend->setVisible(false);
// else error dialog?
if (save_ok) {
- path = QDir(file_name);
- wsApp->setLastOpenDir(path.canonicalPath().toUtf8().constData());
+ wsApp->setLastOpenDirFromFilename(file_name);
}
}
}
diff --git a/ui/qt/io_graph_dialog.cpp b/ui/qt/io_graph_dialog.cpp
index 3b52bb1d54..df7a539e24 100644
--- a/ui/qt/io_graph_dialog.cpp
+++ b/ui/qt/io_graph_dialog.cpp
@@ -1517,8 +1517,7 @@ void IOGraphDialog::on_buttonBox_accepted()
}
// else error dialog?
if (save_ok) {
- path = QDir(file_name);
- wsApp->setLastOpenDir(path.canonicalPath().toUtf8().constData());
+ wsApp->setLastOpenDirFromFilename(file_name);
}
}
}
diff --git a/ui/qt/lte_rlc_graph_dialog.cpp b/ui/qt/lte_rlc_graph_dialog.cpp
index f9aedf6ee0..56f27b76e2 100644
--- a/ui/qt/lte_rlc_graph_dialog.cpp
+++ b/ui/qt/lte_rlc_graph_dialog.cpp
@@ -872,8 +872,7 @@ void LteRlcGraphDialog::on_buttonBox_accepted()
}
// else error dialog?
if (save_ok) {
- path = QDir(file_name);
- wsApp->setLastOpenDir(path.canonicalPath().toUtf8().constData());
+ wsApp->setLastOpenDirFromFilename(file_name);
}
}
}
diff --git a/ui/qt/main_window.cpp b/ui/qt/main_window.cpp
index 900a4aaee0..56fbd3d1b4 100644
--- a/ui/qt/main_window.cpp
+++ b/ui/qt/main_window.cpp
@@ -1297,10 +1297,8 @@ void MainWindow::mergeCaptureFile()
return;
}
- /* Save the name of the containing directory specified in the path name,
- if any; we can write over cf_merged_name, which is a good thing, given that
- "get_dirname()" does write over its argument. */
- wsApp->setLastOpenDir(get_dirname(tmpname));
+ /* Save the name of the containing directory specified in the path name. */
+ wsApp->setLastOpenDirFromFilename(tmpname);
g_free(tmpname);
main_ui_->statusBar->showExpert();
return;
diff --git a/ui/qt/main_window_slots.cpp b/ui/qt/main_window_slots.cpp
index 1c6d945808..947914411c 100644
--- a/ui/qt/main_window_slots.cpp
+++ b/ui/qt/main_window_slots.cpp
@@ -275,8 +275,7 @@ bool MainWindow::openCaptureFile(QString cf_path, QString read_filter, unsigned
break;
}
- // get_dirname overwrites its path.
- wsApp->setLastOpenDir(get_dirname(cf_path.toUtf8().data()));
+ wsApp->setLastOpenDirFromFilename(cf_path);
main_ui_->statusBar->showExpert();
@@ -760,16 +759,12 @@ void MainWindow::captureFileReadStarted(const QString &action) {
}
void MainWindow::captureFileReadFinished() {
- gchar *dir_path;
-
if (!capture_file_.capFile()->is_tempfile && capture_file_.capFile()->filename) {
/* Add this filename to the list of recent files in the "Recent Files" submenu */
add_menu_recent_capture_file(capture_file_.capFile()->filename);
/* Remember folder for next Open dialog and save it in recent */
- dir_path = g_strdup(capture_file_.capFile()->filename);
- wsApp->setLastOpenDir(get_dirname(dir_path));
- g_free(dir_path);
+ wsApp->setLastOpenDirFromFilename(capture_file_.capFile()->filename);
}
/* Update the appropriate parts of the main window. */
@@ -1802,7 +1797,7 @@ void MainWindow::on_actionFileExportPacketBytes_triggered()
write_file_binary_mode(qUtf8Printable(file_name), data_p, capture_file_.capFile()->finfo_selected->length);
/* Save the directory name for future file dialogs. */
- wsApp->setLastOpenDir(file_name);
+ wsApp->setLastOpenDirFromFilename(file_name);
}
}
@@ -1861,7 +1856,7 @@ void MainWindow::on_actionFileExportTLSSessionKeys_triggered()
write_file_binary_mode(qUtf8Printable(file_name), keylist, keylist_length);
/* Save the directory name for future file dialogs. */
- wsApp->setLastOpenDir(file_name);
+ wsApp->setLastOpenDirFromFilename(file_name);
g_free(keylist);
}
}
diff --git a/ui/qt/packet_diagram.cpp b/ui/qt/packet_diagram.cpp
index dddf51af8e..3350c2c3fb 100644
--- a/ui/qt/packet_diagram.cpp
+++ b/ui/qt/packet_diagram.cpp
@@ -796,8 +796,7 @@ void PacketDiagram::saveAsTriggered()
#endif
// else error dialog?
if (save_ok) {
- path = QDir(file_name);
- wsApp->setLastOpenDir(path.canonicalPath().toUtf8().constData());
+ wsApp->setLastOpenDirFromFilename(file_name);
}
}
}
diff --git a/ui/qt/profile_dialog.cpp b/ui/qt/profile_dialog.cpp
index 444d5acab2..7959bf83b0 100644
--- a/ui/qt/profile_dialog.cpp
+++ b/ui/qt/profile_dialog.cpp
@@ -735,7 +735,7 @@ QString ProfileDialog::lastOpenDir()
void ProfileDialog::storeLastDir(QString dir)
{
if (wsApp && dir.length() > 0)
- wsApp->setLastOpenDir(dir.toUtf8().constData());
+ wsApp->setLastOpenDir(qUtf8Printable(dir));
}
void ProfileDialog::resetTreeView()
diff --git a/ui/qt/rtp_analysis_dialog.cpp b/ui/qt/rtp_analysis_dialog.cpp
index 920d8cab94..adb2e46004 100644
--- a/ui/qt/rtp_analysis_dialog.cpp
+++ b/ui/qt/rtp_analysis_dialog.cpp
@@ -651,8 +651,7 @@ void RtpAnalysisDialog::on_actionSaveGraph_triggered()
// ui->streamGraph->legend->setVisible(false);
// else error dialog?
if (save_ok) {
- path = QDir(file_name);
- wsApp->setLastOpenDir(path.canonicalPath().toUtf8().constData());
+ wsApp->setLastOpenDirFromFilename(file_name);
}
}
}
diff --git a/ui/qt/rtp_stream_dialog.cpp b/ui/qt/rtp_stream_dialog.cpp
index 7f8f8188a0..a5566a7be0 100644
--- a/ui/qt/rtp_stream_dialog.cpp
+++ b/ui/qt/rtp_stream_dialog.cpp
@@ -752,8 +752,7 @@ void RtpStreamDialog::on_actionExportAsRtpDump_triggered()
g_free(dest_file);
// else error dialog?
if (save_ok) {
- path = QDir(file_name);
- wsApp->setLastOpenDir(path.canonicalPath().toUtf8().constData());
+ wsApp->setLastOpenDirFromFilename(file_name);
}
}
diff --git a/ui/qt/sctp_graph_dialog.cpp b/ui/qt/sctp_graph_dialog.cpp
index 1db60007b8..c1339c083f 100644
--- a/ui/qt/sctp_graph_dialog.cpp
+++ b/ui/qt/sctp_graph_dialog.cpp
@@ -506,8 +506,7 @@ void SCTPGraphDialog::save_graph(QDialog *dlg, QCustomPlot *plot)
}
// else error dialog?
if (save_ok) {
- path = QDir(file_name);
- wsApp->setLastOpenDir(path.canonicalPath().toUtf8().constData());
+ wsApp->setLastOpenDirFromFilename(file_name);
}
}
}
diff --git a/ui/qt/sequence_dialog.cpp b/ui/qt/sequence_dialog.cpp
index dd22a3d144..604e27407d 100644
--- a/ui/qt/sequence_dialog.cpp
+++ b/ui/qt/sequence_dialog.cpp
@@ -473,8 +473,7 @@ void SequenceDialog::exportDiagram()
}
// else error dialog?
if (save_ok) {
- path = QDir(file_name);
- wsApp->setLastOpenDir(path.canonicalPath().toUtf8().constData());
+ wsApp->setLastOpenDirFromFilename(file_name);
} else {
open_failure_alert_box(file_name.toUtf8().constData(), errno, TRUE);
}
diff --git a/ui/qt/tcp_stream_dialog.cpp b/ui/qt/tcp_stream_dialog.cpp
index 9a789c86d2..c566b41a08 100644
--- a/ui/qt/tcp_stream_dialog.cpp
+++ b/ui/qt/tcp_stream_dialog.cpp
@@ -1867,8 +1867,7 @@ void TCPStreamDialog::on_buttonBox_accepted()
}
// else error dialog?
if (save_ok) {
- path = QDir(file_name);
- wsApp->setLastOpenDir(path.canonicalPath().toUtf8().constData());
+ wsApp->setLastOpenDirFromFilename(file_name);
}
}
}
diff --git a/ui/qt/wireshark_application.cpp b/ui/qt/wireshark_application.cpp
index 2b78c50c09..6c5662ced1 100644
--- a/ui/qt/wireshark_application.cpp
+++ b/ui/qt/wireshark_application.cpp
@@ -282,8 +282,10 @@ QDir WiresharkApplication::lastOpenDir() {
return QDir(last_open_dir);
}
-void WiresharkApplication::setLastOpenDir(QString dir_str) {
- setLastOpenDir(qUtf8Printable(dir_str));
+void WiresharkApplication::setLastOpenDirFromFilename(const QString file_name)
+{
+ QString directory = QFileInfo(file_name).absolutePath();
+ setLastOpenDir(qUtf8Printable(directory));
}
void WiresharkApplication::helpTopicAction(topic_action_e action)
diff --git a/ui/qt/wireshark_application.h b/ui/qt/wireshark_application.h
index 26e53d7160..5454c68f14 100644
--- a/ui/qt/wireshark_application.h
+++ b/ui/qt/wireshark_application.h
@@ -107,7 +107,7 @@ public:
void removeRecentItem(const QString &filename);
QDir lastOpenDir();
void setLastOpenDir(const char *dir_name);
- void setLastOpenDir(QString dir_str);
+ void setLastOpenDirFromFilename(QString file_name);
void helpTopicAction(topic_action_e action);
const QFont monospaceFont(bool zoomed = false) const;
void setMonospaceFont(const char *font_string);