Don't display 'Help' action in context menus when there's no help text
Fixes #1290
This commit is contained in:
@@ -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();
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
|
||||
@@ -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() );
|
||||
}
|
||||
|
||||
|
||||
@@ -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() );
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
|
||||
@@ -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() );
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user