kernel-shark: Add "Report bug" button to "Help"
When clicked, the Bugzilla will be opened in the appropriate Web browser
for the user's desktop environment.
Link: http://lore.kernel.org/linux-trace-devel/20190502124536.32463-2-ykaradzhov@vmware.com
Suggested-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Reviewed-by: Slavomir Kaslev <kaslevs@vmware.com>
Signed-off-by: Yordan Karadzhov <ykaradzhov@vmware.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
diff --git a/kernel-shark/src/KsMainWindow.cpp b/kernel-shark/src/KsMainWindow.cpp
index 39bc7b5..221a607 100644
--- a/kernel-shark/src/KsMainWindow.cpp
+++ b/kernel-shark/src/KsMainWindow.cpp
@@ -67,6 +67,7 @@
_fullScreenModeAction("Full Screen Mode", this),
_aboutAction("About", this),
_contentsAction("Contents", this),
+ _bugReportAction("Report a bug", this),
_deselectShortcut(this),
_settings("kernelshark.org", "Kernel Shark") // organization , application
{
@@ -288,6 +289,9 @@
_contentsAction.setIcon(QIcon::fromTheme("help-contents"));
connect(&_contentsAction, &QAction::triggered,
this, &KsMainWindow::_contents);
+
+ connect(&_bugReportAction, &QAction::triggered,
+ this, &KsMainWindow::_bugReport);
}
void KsMainWindow::_createMenus()
@@ -365,6 +369,7 @@
help = menuBar()->addMenu("Help");
help->addAction(&_aboutAction);
help->addAction(&_contentsAction);
+ help->addAction(&_bugReportAction);
}
void KsMainWindow::_open()
@@ -923,6 +928,14 @@
QUrl::TolerantMode));
}
+void KsMainWindow::_bugReport()
+{
+ QUrl bugs("https://bugzilla.kernel.org/buglist.cgi?component=Trace-cmd%2FKernelshark&product=Tools&resolution=---",
+ QUrl::TolerantMode);
+
+ QDesktopServices::openUrl(bugs);
+}
+
/** Load trace data for file. */
void KsMainWindow::loadDataFile(const QString& fileName)
{
diff --git a/kernel-shark/src/KsMainWindow.hpp b/kernel-shark/src/KsMainWindow.hpp
index 962de2d..22700d9 100644
--- a/kernel-shark/src/KsMainWindow.hpp
+++ b/kernel-shark/src/KsMainWindow.hpp
@@ -151,6 +151,8 @@
QAction _contentsAction;
+ QAction _bugReportAction;
+
QShortcut _deselectShortcut;
QString _lastDataFilePath, _lastConfFilePath, _lastPluginFilePath;
@@ -205,6 +207,8 @@
void _contents();
+ void _bugReport();
+
void _captureStarted();
void _captureError(QProcess::ProcessError error);