Merge pull request #1299 from LMMS/stable-1.1-iss1290

Disable 'Help' action in context menus when there's no help text
This commit is contained in:
Lukas W
2014-11-15 18:54:10 +02:00
10 changed files with 41 additions and 27 deletions

View File

@@ -83,13 +83,11 @@ QMenu::item:selected {
color: white;
font-weight:bold;
background-color: #747474;
margin:3px;
}
QMenu::item:disabled {
color: #747474;
background-color: #c9c9c9;
margin:0px;
font-size:12px;
font-weight: normal;
padding: 4px 32px 4px 20px;

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,26 @@ 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 = addAction( embed::getIconPixmap("help"), tr("Help (not available)") );
helpAction->setDisabled(true);
}
}
#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;