From 4366e53733009e846b72fb8c005af6d0c7ba78dc Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Thu, 24 Mar 2022 15:33:56 +0100 Subject: [PATCH] #8728 Help Menu : Add search issues and create new issue --- .../ApplicationCommands/RicHelpFeatures.cpp | 64 +++++++++++++++++++ .../ApplicationCommands/RicHelpFeatures.h | 26 ++++++++ .../UserInterface/RiuMainWindow.cpp | 2 + .../UserInterface/RiuPlotMainWindow.cpp | 2 + 4 files changed, 94 insertions(+) diff --git a/ApplicationLibCode/Commands/ApplicationCommands/RicHelpFeatures.cpp b/ApplicationLibCode/Commands/ApplicationCommands/RicHelpFeatures.cpp index 0060f471be..62f84045f4 100644 --- a/ApplicationLibCode/Commands/ApplicationCommands/RicHelpFeatures.cpp +++ b/ApplicationLibCode/Commands/ApplicationCommands/RicHelpFeatures.cpp @@ -41,6 +41,8 @@ CAF_CMD_SOURCE_INIT( RicHelpCommandLineFeature, "RicHelpCommandLineFeature" ); CAF_CMD_SOURCE_INIT( RicHelpSummaryCommandLineFeature, "RicHelpSummaryCommandLineFeature" ); CAF_CMD_SOURCE_INIT( RicHelpOpenUsersGuideFeature, "RicHelpOpenUsersGuideFeature" ); CAF_CMD_SOURCE_INIT( RicSearchHelpFeature, "RicSearchHelpFeature" ); +CAF_CMD_SOURCE_INIT( RicSearchIssuesHelpFeature, "RicSearchIssuesHelpFeature" ); +CAF_CMD_SOURCE_INIT( RicCreateNewIssueHelpFeature, "RicCreateNewIssueHelpFeature" ); //-------------------------------------------------------------------------------------------------- /// @@ -308,3 +310,65 @@ void RicSearchHelpFeature::setupActionLook( QAction* actionToSetup ) applyShortcutWithHintToAction( actionToSetup, QKeySequence::HelpContents ); } + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicSearchIssuesHelpFeature::isCommandEnabled() +{ + return true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicSearchIssuesHelpFeature::onActionTriggered( bool isChecked ) +{ + QString usersGuideUrl = "https://github.com/OPM/ResInsight/issues"; + + if ( !QDesktopServices::openUrl( usersGuideUrl ) ) + { + QErrorMessage* errorHandler = QErrorMessage::qtHandler(); + errorHandler->showMessage( "Failed open browser with the following url\n\n" + usersGuideUrl ); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicSearchIssuesHelpFeature::setupActionLook( QAction* actionToSetup ) +{ + actionToSetup->setText( "Search Issues" ); + actionToSetup->setIcon( QIcon( ":/HelpCircle.svg" ) ); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RicCreateNewIssueHelpFeature::isCommandEnabled() +{ + return true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicCreateNewIssueHelpFeature::onActionTriggered( bool isChecked ) +{ + QString usersGuideUrl = "https://github.com/OPM/ResInsight/issues/new"; + + if ( !QDesktopServices::openUrl( usersGuideUrl ) ) + { + QErrorMessage* errorHandler = QErrorMessage::qtHandler(); + errorHandler->showMessage( "Failed open browser with the following url\n\n" + usersGuideUrl ); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicCreateNewIssueHelpFeature::setupActionLook( QAction* actionToSetup ) +{ + actionToSetup->setText( "Create New Issue" ); + actionToSetup->setIcon( QIcon( ":/HelpCircle.svg" ) ); +} diff --git a/ApplicationLibCode/Commands/ApplicationCommands/RicHelpFeatures.h b/ApplicationLibCode/Commands/ApplicationCommands/RicHelpFeatures.h index c788574438..b15c338f6b 100644 --- a/ApplicationLibCode/Commands/ApplicationCommands/RicHelpFeatures.h +++ b/ApplicationLibCode/Commands/ApplicationCommands/RicHelpFeatures.h @@ -84,3 +84,29 @@ protected: void onActionTriggered( bool isChecked ) override; void setupActionLook( QAction* actionToSetup ) override; }; + +//================================================================================================== +/// +//================================================================================================== +class RicSearchIssuesHelpFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +protected: + bool isCommandEnabled() override; + void onActionTriggered( bool isChecked ) override; + void setupActionLook( QAction* actionToSetup ) override; +}; + +//================================================================================================== +/// +//================================================================================================== +class RicCreateNewIssueHelpFeature : public caf::CmdFeature +{ + CAF_CMD_HEADER_INIT; + +protected: + bool isCommandEnabled() override; + void onActionTriggered( bool isChecked ) override; + void setupActionLook( QAction* actionToSetup ) override; +}; diff --git a/ApplicationLibCode/UserInterface/RiuMainWindow.cpp b/ApplicationLibCode/UserInterface/RiuMainWindow.cpp index d4a68a8fd2..af9e8106eb 100644 --- a/ApplicationLibCode/UserInterface/RiuMainWindow.cpp +++ b/ApplicationLibCode/UserInterface/RiuMainWindow.cpp @@ -561,6 +561,8 @@ void RiuMainWindow::createMenus() helpMenu->addSeparator(); helpMenu->addAction( cmdFeatureMgr->action( "RicHelpOpenUsersGuideFeature" ) ); helpMenu->addAction( cmdFeatureMgr->action( "RicSearchHelpFeature" ) ); + helpMenu->addAction( cmdFeatureMgr->action( "RicSearchIssuesHelpFeature" ) ); + helpMenu->addAction( cmdFeatureMgr->action( "RicCreateNewIssueHelpFeature" ) ); connect( helpMenu, SIGNAL( aboutToShow() ), SLOT( slotRefreshHelpActions() ) ); } diff --git a/ApplicationLibCode/UserInterface/RiuPlotMainWindow.cpp b/ApplicationLibCode/UserInterface/RiuPlotMainWindow.cpp index fa32515631..63eff0a5bd 100644 --- a/ApplicationLibCode/UserInterface/RiuPlotMainWindow.cpp +++ b/ApplicationLibCode/UserInterface/RiuPlotMainWindow.cpp @@ -356,6 +356,8 @@ void RiuPlotMainWindow::createMenus() helpMenu->addSeparator(); helpMenu->addAction( cmdFeatureMgr->action( "RicHelpOpenUsersGuideFeature" ) ); helpMenu->addAction( cmdFeatureMgr->action( "RicSearchHelpFeature" ) ); + helpMenu->addAction( cmdFeatureMgr->action( "RicSearchIssuesHelpFeature" ) ); + helpMenu->addAction( cmdFeatureMgr->action( "RicCreateNewIssueHelpFeature" ) ); connect( helpMenu, SIGNAL( aboutToShow() ), SLOT( slotRefreshHelpActions() ) ); }