|
Wireshark 4.7.0
The Wireshark network protocol analyzer
|
The WiresharkFileDialog class. More...
#include <wireshark_file_dialog.h>
Public Member Functions | |
| WiresharkFileDialog (QWidget *parent=nullptr, const QString &caption=QString(), const QString &directory=QString(), const QString &filter=QString()) | |
| Constructs a Wireshark file dialog. | |
| QString | selectedNativePath () const |
| Returns the selected file path in native OS format. | |
Static Public Member Functions | |
| static QString | getExistingDirectory (QWidget *parent=Q_NULLPTR, const QString &caption=QString(), const QString &dir=QString(), Options options=ShowDirsOnly) |
| Presents a directory chooser dialog and returns the selected path. | |
| static QString | getOpenFileName (QWidget *parent=Q_NULLPTR, const QString &caption=QString(), const QString &dir=QString(), const QString &filter=QString(), QString *selectedFilter=Q_NULLPTR, Options options=Options()) |
| Presents an open-file dialog and returns the selected file path. | |
| static QString | getSaveFileName (QWidget *parent=Q_NULLPTR, const QString &caption=QString(), const QString &dir=QString(), const QString &filter=QString(), QString *selectedFilter=Q_NULLPTR, Options options=Options()) |
| Presents a save-file dialog and returns the chosen file path. | |
The WiresharkFileDialog class.
Qt uses '/' as a universal path separator and converts to native path separators, i.e., '\' on Windows, only immediately before displaying a path to a user. This class can return the path with native path separators.
Qt <= 5.9 supports setting old (Windows 8.1) per-monitor DPI awareness via Qt:AA_EnableHighDpiScaling. We do this in main.cpp. In order for native dialogs to be rendered correctly we need to set per-monitor v2 awareness prior to creating the dialog. Qt doesn't render correctly when per-monitor v2 awareness is enabled, so we need to revert our thread context when we're done. The class functions below are simple wrappers around their QFileDialog equivalents that set PMv2 awareness before showing native dialogs on Windows and resets it afterward. They also return the result with native directory separators on Windows.
| WiresharkFileDialog::WiresharkFileDialog | ( | QWidget * | parent = nullptr, |
| const QString & | caption = QString(), |
||
| const QString & | directory = QString(), |
||
| const QString & | filter = QString() |
||
| ) |
Constructs a Wireshark file dialog.
| parent | The parent widget. |
| caption | The dialog window title. |
| directory | The initial directory shown in the dialog. |
| filter | The file type filter string (e.g. "Captures (*.pcap *.pcapng)"). |
|
static |
Presents a directory chooser dialog and returns the selected path.
| parent | The parent widget. |
| caption | The dialog window title. |
| dir | The initial directory to display. |
| options | Dialog behavior options (default: ShowDirsOnly). |
|
static |
Presents an open-file dialog and returns the selected file path.
| parent | The parent widget. |
| caption | The dialog window title. |
| dir | The initial directory to display. |
| filter | The file type filter string. |
| selectedFilter | If non-null, receives the filter the user selected. |
| options | Dialog behavior options. |
|
static |
Presents a save-file dialog and returns the chosen file path.
| parent | The parent widget. |
| caption | The dialog window title. |
| dir | The initial directory to display. |
| filter | The file type filter string. |
| selectedFilter | If non-null, receives the filter the user selected. |
| options | Dialog behavior options. |
| QString WiresharkFileDialog::selectedNativePath | ( | ) | const |
Returns the selected file path in native OS format.