aboutsummaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
Diffstat (limited to 'ui')
-rw-r--r--ui/qt/iax2_analysis_dialog.cpp2
-rw-r--r--ui/qt/io_graph_dialog.cpp1
-rw-r--r--ui/qt/lte_rlc_graph_dialog.cpp1
-rw-r--r--ui/qt/rtp_analysis_dialog.cpp2
-rw-r--r--ui/qt/rtp_player_dialog.cpp1
-rw-r--r--ui/qt/rtp_stream_dialog.cpp2
-rw-r--r--ui/qt/sequence_dialog.cpp1
-rw-r--r--ui/qt/tcp_stream_dialog.cpp1
-rw-r--r--ui/qt/utils/qt_ui_utils.cpp13
-rw-r--r--ui/qt/utils/qt_ui_utils.h8
-rw-r--r--ui/qt/wireshark_application.cpp9
11 files changed, 41 insertions, 0 deletions
diff --git a/ui/qt/iax2_analysis_dialog.cpp b/ui/qt/iax2_analysis_dialog.cpp
index 64ab80697a..52101f0720 100644
--- a/ui/qt/iax2_analysis_dialog.cpp
+++ b/ui/qt/iax2_analysis_dialog.cpp
@@ -214,6 +214,8 @@ Iax2AnalysisDialog::Iax2AnalysisDialog(QWidget &parent, CaptureFile &cf) :
stream_ctx_menu_.addAction(ui->actionSaveReverseCsv);
stream_ctx_menu_.addSeparator();
stream_ctx_menu_.addAction(ui->actionSaveGraph);
+ set_action_shortcuts_visible_in_context_menu(stream_ctx_menu_.actions());
+
ui->forwardTreeWidget->installEventFilter(this);
ui->forwardTreeWidget->setContextMenuPolicy(Qt::CustomContextMenu);
connect(ui->forwardTreeWidget, SIGNAL(customContextMenuRequested(QPoint)),
diff --git a/ui/qt/io_graph_dialog.cpp b/ui/qt/io_graph_dialog.cpp
index 08df37fef0..2a03504f78 100644
--- a/ui/qt/io_graph_dialog.cpp
+++ b/ui/qt/io_graph_dialog.cpp
@@ -385,6 +385,7 @@ IOGraphDialog::IOGraphDialog(QWidget &parent, CaptureFile &cf, QString displayFi
ctx_menu_.addAction(ui->actionDragZoom);
ctx_menu_.addAction(ui->actionToggleTimeOrigin);
ctx_menu_.addAction(ui->actionCrosshairs);
+ set_action_shortcuts_visible_in_context_menu(ctx_menu_.actions());
iop->xAxis->setLabel(tr("Time (s)"));
diff --git a/ui/qt/lte_rlc_graph_dialog.cpp b/ui/qt/lte_rlc_graph_dialog.cpp
index a54483fd12..b93bb4e1f6 100644
--- a/ui/qt/lte_rlc_graph_dialog.cpp
+++ b/ui/qt/lte_rlc_graph_dialog.cpp
@@ -93,6 +93,7 @@ LteRlcGraphDialog::LteRlcGraphDialog(QWidget &parent, CaptureFile &cf, bool chan
ctx_menu_->addAction(ui->actionCrosshairs);
ctx_menu_->addSeparator();
ctx_menu_->addAction(ui->actionSwitchDirection);
+ set_action_shortcuts_visible_in_context_menu(ctx_menu_->actions());
// Zero out this struct.
memset(&graph_, 0, sizeof(graph_));
diff --git a/ui/qt/rtp_analysis_dialog.cpp b/ui/qt/rtp_analysis_dialog.cpp
index f14e7e809e..ad71572dd3 100644
--- a/ui/qt/rtp_analysis_dialog.cpp
+++ b/ui/qt/rtp_analysis_dialog.cpp
@@ -267,6 +267,8 @@ RtpAnalysisDialog::RtpAnalysisDialog(QWidget &parent, CaptureFile &cf, rtpstream
stream_ctx_menu_.addAction(ui->actionSaveReverseCsv);
stream_ctx_menu_.addSeparator();
stream_ctx_menu_.addAction(ui->actionSaveGraph);
+ set_action_shortcuts_visible_in_context_menu(stream_ctx_menu_.actions());
+
ui->forwardTreeWidget->installEventFilter(this);
ui->forwardTreeWidget->setContextMenuPolicy(Qt::CustomContextMenu);
ui->forwardTreeWidget->header()->setSortIndicator(0, Qt::AscendingOrder);
diff --git a/ui/qt/rtp_player_dialog.cpp b/ui/qt/rtp_player_dialog.cpp
index 18026df063..5fec4cb563 100644
--- a/ui/qt/rtp_player_dialog.cpp
+++ b/ui/qt/rtp_player_dialog.cpp
@@ -127,6 +127,7 @@ RtpPlayerDialog::RtpPlayerDialog(QWidget &parent, CaptureFile &cf) :
ctx_menu_->addAction(ui->actionDragZoom);
ctx_menu_->addAction(ui->actionToggleTimeOrigin);
// ctx_menu_->addAction(ui->actionCrosshairs);
+ set_action_shortcuts_visible_in_context_menu(ctx_menu_->actions());
connect(ui->audioPlot, SIGNAL(mouseMove(QMouseEvent*)),
this, SLOT(updateHintLabel()));
diff --git a/ui/qt/rtp_stream_dialog.cpp b/ui/qt/rtp_stream_dialog.cpp
index 82df5debdd..85a5ef408f 100644
--- a/ui/qt/rtp_stream_dialog.cpp
+++ b/ui/qt/rtp_stream_dialog.cpp
@@ -219,6 +219,8 @@ RtpStreamDialog::RtpStreamDialog(QWidget &parent, CaptureFile &cf) :
ctx_menu_.addAction(ui->actionCopyAsCsv);
ctx_menu_.addAction(ui->actionCopyAsYaml);
ctx_menu_.addAction(ui->actionAnalyze);
+ set_action_shortcuts_visible_in_context_menu(ctx_menu_.actions());
+
ui->streamTreeWidget->setContextMenuPolicy(Qt::CustomContextMenu);
ui->streamTreeWidget->header()->setSortIndicator(0, Qt::AscendingOrder);
connect(ui->streamTreeWidget, SIGNAL(customContextMenuRequested(QPoint)),
diff --git a/ui/qt/sequence_dialog.cpp b/ui/qt/sequence_dialog.cpp
index 39c90b5193..73699917d3 100644
--- a/ui/qt/sequence_dialog.cpp
+++ b/ui/qt/sequence_dialog.cpp
@@ -145,6 +145,7 @@ SequenceDialog::SequenceDialog(QWidget &parent, CaptureFile &cf, SequenceInfo *i
ctx_menu_.addAction(ui->actionGoToPacket);
ctx_menu_.addAction(ui->actionGoToNextPacket);
ctx_menu_.addAction(ui->actionGoToPreviousPacket);
+ set_action_shortcuts_visible_in_context_menu(ctx_menu_.actions());
ui->addressComboBox->setCurrentIndex(0);
diff --git a/ui/qt/tcp_stream_dialog.cpp b/ui/qt/tcp_stream_dialog.cpp
index 102c387046..9c761158c8 100644
--- a/ui/qt/tcp_stream_dialog.cpp
+++ b/ui/qt/tcp_stream_dialog.cpp
@@ -175,6 +175,7 @@ TCPStreamDialog::TCPStreamDialog(QWidget *parent, capture_file *cf, tcp_graph_ty
ctx_menu_.addAction(ui->actionStevens);
ctx_menu_.addAction(ui->actionTcptrace);
ctx_menu_.addAction(ui->actionWindowScaling);
+ set_action_shortcuts_visible_in_context_menu(ctx_menu_.actions());
memset (&graph_, 0, sizeof(graph_));
graph_.type = graph_type;
diff --git a/ui/qt/utils/qt_ui_utils.cpp b/ui/qt/utils/qt_ui_utils.cpp
index bb4151b0e6..aa539b50a3 100644
--- a/ui/qt/utils/qt_ui_utils.cpp
+++ b/ui/qt/utils/qt_ui_utils.cpp
@@ -238,6 +238,19 @@ bool rect_on_screen(const QRect &rect)
return false;
}
+void set_action_shortcuts_visible_in_context_menu(QList<QAction *> actions)
+{
+#if QT_VERSION >= QT_VERSION_CHECK(5, 10, 0) && QT_VERSION < QT_VERSION_CHECK(5, 13, 0)
+ // For QT_VERSION >= 5.13.0 we call styleHints()->setShowShortcutsInContextMenus(true)
+ // in WiresharkApplication.
+ // QTBUG-71471
+ // QTBUG-61181
+ foreach (QAction *action, actions) {
+ action->setShortcutVisibleInContextMenu(true);
+ }
+#endif
+}
+
/*
* Editor modelines
*
diff --git a/ui/qt/utils/qt_ui_utils.h b/ui/qt/utils/qt_ui_utils.h
index 23cc547b3c..4eaedef86b 100644
--- a/ui/qt/utils/qt_ui_utils.h
+++ b/ui/qt/utils/qt_ui_utils.h
@@ -223,6 +223,14 @@ void desktop_show_in_folder(const QString file_path);
*/
bool rect_on_screen(const QRect &rect);
+/**
+ * Set the "shortcutVisibleInContextMenu" property to true for
+ * a list of qactions.
+ *
+ * @param actions The actions to make visible.
+ */
+void set_action_shortcuts_visible_in_context_menu(QList<QAction *> actions);
+
#endif /* __QT_UI_UTILS__H__ */
// XXX Add a routine to fetch the HWND corresponding to a widget using QPlatformIntegration
diff --git a/ui/qt/wireshark_application.cpp b/ui/qt/wireshark_application.cpp
index bbf2b9c25d..95f81ee409 100644
--- a/ui/qt/wireshark_application.cpp
+++ b/ui/qt/wireshark_application.cpp
@@ -93,6 +93,10 @@
#include <QFontDatabase>
#include <QMimeDatabase>
+#if QT_VERSION >= QT_VERSION_CHECK(5, 13, 0)
+#include <QStyleHints>
+#endif
+
#ifdef _MSC_VER
#pragma warning(pop)
#endif
@@ -748,6 +752,11 @@ WiresharkApplication::WiresharkApplication(int &argc, char **argv) :
#endif // Q_OS_WIN
setAttribute(Qt::AA_UseHighDpiPixmaps);
+
+#if QT_VERSION >= QT_VERSION_CHECK(5, 13, 0)
+ styleHints()->setShowShortcutsInContextMenus(true);
+#endif
+
//
// XXX - this means we try to check for the existence of all files
// in the recent list every 2 seconds; that causes noticeable network