Don't display 'Help' action in context menus when there's no help text

Fixes #1290
This commit is contained in:
Lukas W
2014-11-14 15:45:46 +01:00
parent df843e2b32
commit 70508b0c37
9 changed files with 42 additions and 25 deletions

View File

@@ -38,6 +38,12 @@ public:
captionMenu( const QString & _title, QWidget * _parent = 0 );
virtual ~captionMenu();
///
/// \brief Adds a "Help" action displaying the Menu's parent's WhatsThis
/// text when selected.
///
void addHelpAction();
} ;

View File

@@ -251,9 +251,8 @@ void nineButtonSelector::updateButton( int _new_button )
void nineButtonSelector::contextMenuEvent( QContextMenuEvent * )
{
captionMenu contextMenu( windowTitle() );
contextMenu.addAction( embed::getIconPixmap( "help" ), tr( "&Help" ),
this, SLOT( displayHelp() ) );
captionMenu contextMenu( windowTitle(), this );
contextMenu.addHelpAction();
contextMenu.exec( QCursor::pos() );
}

View File

@@ -755,9 +755,8 @@ void vibedView::normalizeClicked()
void vibedView::contextMenuEvent( QContextMenuEvent * )
{
captionMenu contextMenu( model()->displayName() );
contextMenu.addAction( embed::getIconPixmap( "help" ), tr( "&Help" ),
this, SLOT( displayHelp() ) );
captionMenu contextMenu( model()->displayName(), this );
contextMenu.addHelpAction();
contextMenu.exec( QCursor::pos() );
}

View File

@@ -176,14 +176,12 @@ void ControllerView::modelChanged()
void ControllerView::contextMenuEvent( QContextMenuEvent * )
{
QPointer<captionMenu> contextMenu = new captionMenu( model()->displayName() );
QPointer<captionMenu> contextMenu = new captionMenu( model()->displayName(), this );
contextMenu->addAction( embed::getIconPixmap( "cancel" ),
tr( "&Remove this plugin" ),
this, SLOT( deleteController() ) );
contextMenu->addSeparator();
contextMenu->addAction( embed::getIconPixmap( "help" ),
tr( "&Help" ),
this, SLOT( displayHelp() ) );
contextMenu->addHelpAction();
contextMenu->exec( QCursor::pos() );
delete contextMenu;
}

View File

@@ -245,7 +245,7 @@ void EffectView::closeEffects()
void EffectView::contextMenuEvent( QContextMenuEvent * )
{
QPointer<captionMenu> contextMenu = new captionMenu( model()->displayName() );
QPointer<captionMenu> contextMenu = new captionMenu( model()->displayName(), this );
contextMenu->addAction( embed::getIconPixmap( "arp_up" ),
tr( "Move &up" ),
this, SLOT( moveUp() ) );
@@ -257,9 +257,7 @@ void EffectView::contextMenuEvent( QContextMenuEvent * )
tr( "&Remove this plugin" ),
this, SLOT( deletePlugin() ) );
contextMenu->addSeparator();
contextMenu->addAction( embed::getIconPixmap( "help" ),
tr( "&Help" ),
this, SLOT( displayHelp() ) );
contextMenu->addHelpAction();
contextMenu->exec( QCursor::pos() );
delete contextMenu;
}

View File

@@ -183,7 +183,7 @@ void FxLine::mouseDoubleClickEvent( QMouseEvent * )
void FxLine::contextMenuEvent( QContextMenuEvent * )
{
FxMixer * mix = engine::fxMixer();
QPointer<captionMenu> contextMenu = new captionMenu( mix->effectChannel( m_channelIndex )->m_name );
QPointer<captionMenu> contextMenu = new captionMenu( mix->effectChannel( m_channelIndex )->m_name, this );
if( m_channelIndex != 0 ) // no move-options in master
{
contextMenu->addAction( tr( "Move &left" ), this, SLOT( moveChannelLeft() ) );
@@ -199,9 +199,7 @@ void FxLine::contextMenuEvent( QContextMenuEvent * )
contextMenu->addSeparator();
}
contextMenu->addAction( embed::getIconPixmap( "help" ),
tr( "&Help" ),
this, SLOT( displayHelp() ) );
contextMenu->addHelpAction();
contextMenu->exec( QCursor::pos() );
delete contextMenu;
}

View File

@@ -24,6 +24,7 @@
#include "caption_menu.h"
#include "embed.h"
@@ -45,6 +46,27 @@ captionMenu::~captionMenu()
void captionMenu::addHelpAction()
{
QWidget* parent = (QWidget*) this->parent();
if (parent == NULL)
return;
if (! parent->whatsThis().isEmpty()) {
addAction( embed::getIconPixmap( "help" ), tr( "&Help" ),
parent, SLOT( displayHelp() ) );
}
else {
QAction* helpAction = new QAction( embed::getIconPixmap("help"), tr("Help (not available)"), NULL);
helpAction->setDisabled(true);
addAction(helpAction);
}
}
#include "moc_caption_menu.cxx"

View File

@@ -481,11 +481,10 @@ void knob::contextMenuEvent( QContextMenuEvent * )
// an QApplication::restoreOverrideCursor()-call...
mouseReleaseEvent( NULL );
captionMenu contextMenu( model()->displayName() );
captionMenu contextMenu( model()->displayName(), this );
addDefaultActions( &contextMenu );
contextMenu.addSeparator();
contextMenu.addAction( embed::getIconPixmap( "help" ), tr( "&Help" ),
this, SLOT( displayHelp() ) );
contextMenu.addHelpAction();
contextMenu.exec( QCursor::pos() );
}

View File

@@ -83,7 +83,7 @@ void TempoSyncKnob::contextMenuEvent( QContextMenuEvent * )
{
mouseReleaseEvent( NULL );
captionMenu contextMenu( model()->displayName() );
captionMenu contextMenu( model()->displayName(), this );
addDefaultActions( &contextMenu );
contextMenu.addSeparator();
@@ -147,9 +147,7 @@ void TempoSyncKnob::contextMenuEvent( QContextMenuEvent * )
}
contextMenu.addSeparator();
contextMenu.addAction( embed::getIconPixmap( "help" ), tr( "&Help" ),
this, SLOT( displayHelp() ) );
contextMenu.addHelpAction();
contextMenu.exec( QCursor::pos() );
delete syncMenu;