Remove "What's This?" and update tooltips (#4128)

This commit is contained in:
Hussam al-Homsi
2018-06-06 01:50:11 +03:00
committed by GitHub
parent 4fd8ecd7e4
commit 6d46bd473f
82 changed files with 620 additions and 1825 deletions

View File

@@ -93,13 +93,13 @@ EnvelopeAndLfoParameters::EnvelopeAndLfoParameters(
Model * _parent ) :
Model( _parent ),
m_used( false ),
m_predelayModel( 0.0, 0.0, 2.0, 0.001, this, tr( "Predelay" ) ),
m_attackModel( 0.0, 0.0, 2.0, 0.001, this, tr( "Attack" ) ),
m_holdModel( 0.5, 0.0, 2.0, 0.001, this, tr( "Hold" ) ),
m_decayModel( 0.5, 0.0, 2.0, 0.001, this, tr( "Decay" ) ),
m_sustainModel( 0.5, 0.0, 1.0, 0.001, this, tr( "Sustain" ) ),
m_releaseModel( 0.1, 0.0, 2.0, 0.001, this, tr( "Release" ) ),
m_amountModel( 0.0, -1.0, 1.0, 0.005, this, tr( "Modulation" ) ),
m_predelayModel( 0.0, 0.0, 2.0, 0.001, this, tr( "Env pre-delay" ) ),
m_attackModel( 0.0, 0.0, 2.0, 0.001, this, tr( "Env attack" ) ),
m_holdModel( 0.5, 0.0, 2.0, 0.001, this, tr( "Env hold" ) ),
m_decayModel( 0.5, 0.0, 2.0, 0.001, this, tr( "Env decay" ) ),
m_sustainModel( 0.5, 0.0, 1.0, 0.001, this, tr( "Env sustain" ) ),
m_releaseModel( 0.1, 0.0, 2.0, 0.001, this, tr( "Env release" ) ),
m_amountModel( 0.0, -1.0, 1.0, 0.005, this, tr( "Env mod amount" ) ),
m_valueForZeroAmount( _value_for_zero_amount ),
m_pahdFrames( 0 ),
m_rFrames( 0 ),
@@ -107,15 +107,15 @@ EnvelopeAndLfoParameters::EnvelopeAndLfoParameters(
m_rEnv( NULL ),
m_pahdBufSize( 0 ),
m_rBufSize( 0 ),
m_lfoPredelayModel( 0.0, 0.0, 1.0, 0.001, this, tr( "LFO Predelay" ) ),
m_lfoAttackModel( 0.0, 0.0, 1.0, 0.001, this, tr( "LFO Attack" ) ),
m_lfoPredelayModel( 0.0, 0.0, 1.0, 0.001, this, tr( "LFO pre-delay" ) ),
m_lfoAttackModel( 0.0, 0.0, 1.0, 0.001, this, tr( "LFO attack" ) ),
m_lfoSpeedModel( 0.1, 0.001, 1.0, 0.0001,
SECS_PER_LFO_OSCILLATION * 1000.0, this,
tr( "LFO speed" ) ),
m_lfoAmountModel( 0.0, -1.0, 1.0, 0.005, this, tr( "LFO Modulation" ) ),
m_lfoWaveModel( SineWave, 0, NumLfoShapes, this, tr( "LFO Wave Shape" ) ),
m_x100Model( false, this, tr( "Freq x 100" ) ),
m_controlEnvAmountModel( false, this, tr( "Modulate Env-Amount" ) ),
tr( "LFO frequency" ) ),
m_lfoAmountModel( 0.0, -1.0, 1.0, 0.005, this, tr( "LFO mod amount" ) ),
m_lfoWaveModel( SineWave, 0, NumLfoShapes, this, tr( "LFO wave shape" ) ),
m_x100Model( false, this, tr( "LFO frequency x 100" ) ),
m_controlEnvAmountModel( false, this, tr( "Modulate env amount" ) ),
m_lfoFrame( 0 ),
m_lfoAmountIsZero( false ),
m_lfoShapeData( NULL )

View File

@@ -80,25 +80,25 @@ InstrumentSoundShaping::InstrumentSoundShaping(
tr( targetNames[i][2].toUtf8().constData() ) );
}
m_filterModel.addItem( tr( "LowPass" ), make_unique<PixmapLoader>( "filter_lp" ) );
m_filterModel.addItem( tr( "HiPass" ), make_unique<PixmapLoader>( "filter_hp" ) );
m_filterModel.addItem( tr( "BandPass csg" ), make_unique<PixmapLoader>( "filter_bp" ) );
m_filterModel.addItem( tr( "BandPass czpg" ), make_unique<PixmapLoader>( "filter_bp" ) );
m_filterModel.addItem( tr( "Low-pass" ), make_unique<PixmapLoader>( "filter_lp" ) );
m_filterModel.addItem( tr( "Hi-pass" ), make_unique<PixmapLoader>( "filter_hp" ) );
m_filterModel.addItem( tr( "Band-pass csg" ), make_unique<PixmapLoader>( "filter_bp" ) );
m_filterModel.addItem( tr( "Band-pass czpg" ), make_unique<PixmapLoader>( "filter_bp" ) );
m_filterModel.addItem( tr( "Notch" ), make_unique<PixmapLoader>( "filter_notch" ) );
m_filterModel.addItem( tr( "Allpass" ), make_unique<PixmapLoader>( "filter_ap" ) );
m_filterModel.addItem( tr( "All-pass" ), make_unique<PixmapLoader>( "filter_ap" ) );
m_filterModel.addItem( tr( "Moog" ), make_unique<PixmapLoader>( "filter_lp" ) );
m_filterModel.addItem( tr( "2x LowPass" ), make_unique<PixmapLoader>( "filter_2lp" ) );
m_filterModel.addItem( tr( "RC LowPass 12dB" ), make_unique<PixmapLoader>( "filter_lp" ) );
m_filterModel.addItem( tr( "RC BandPass 12dB" ), make_unique<PixmapLoader>( "filter_bp" ) );
m_filterModel.addItem( tr( "RC HighPass 12dB" ), make_unique<PixmapLoader>( "filter_hp" ) );
m_filterModel.addItem( tr( "RC LowPass 24dB" ), make_unique<PixmapLoader>( "filter_lp" ) );
m_filterModel.addItem( tr( "RC BandPass 24dB" ), make_unique<PixmapLoader>( "filter_bp" ) );
m_filterModel.addItem( tr( "RC HighPass 24dB" ), make_unique<PixmapLoader>( "filter_hp" ) );
m_filterModel.addItem( tr( "Vocal Formant Filter" ), make_unique<PixmapLoader>( "filter_hp" ) );
m_filterModel.addItem( tr( "2x Low-pass" ), make_unique<PixmapLoader>( "filter_2lp" ) );
m_filterModel.addItem( tr( "RC Low-pass 12 dB/oct" ), make_unique<PixmapLoader>( "filter_lp" ) );
m_filterModel.addItem( tr( "RC Band-pass 12 dB/oct" ), make_unique<PixmapLoader>( "filter_bp" ) );
m_filterModel.addItem( tr( "RC High-pass 12 dB/oct" ), make_unique<PixmapLoader>( "filter_hp" ) );
m_filterModel.addItem( tr( "RC Low-pass 24 dB/oct" ), make_unique<PixmapLoader>( "filter_lp" ) );
m_filterModel.addItem( tr( "RC Band-pass 24 dB/oct" ), make_unique<PixmapLoader>( "filter_bp" ) );
m_filterModel.addItem( tr( "RC High-pass 24 dB/oct" ), make_unique<PixmapLoader>( "filter_hp" ) );
m_filterModel.addItem( tr( "Vocal Formant" ), make_unique<PixmapLoader>( "filter_hp" ) );
m_filterModel.addItem( tr( "2x Moog" ), make_unique<PixmapLoader>( "filter_2lp" ) );
m_filterModel.addItem( tr( "SV LowPass" ), make_unique<PixmapLoader>( "filter_lp" ) );
m_filterModel.addItem( tr( "SV BandPass" ), make_unique<PixmapLoader>( "filter_bp" ) );
m_filterModel.addItem( tr( "SV HighPass" ), make_unique<PixmapLoader>( "filter_hp" ) );
m_filterModel.addItem( tr( "SV Low-pass" ), make_unique<PixmapLoader>( "filter_lp" ) );
m_filterModel.addItem( tr( "SV Band-pass" ), make_unique<PixmapLoader>( "filter_bp" ) );
m_filterModel.addItem( tr( "SV High-pass" ), make_unique<PixmapLoader>( "filter_hp" ) );
m_filterModel.addItem( tr( "SV Notch" ), make_unique<PixmapLoader>( "filter_notch" ) );
m_filterModel.addItem( tr( "Fast Formant" ), make_unique<PixmapLoader>( "filter_hp" ) );
m_filterModel.addItem( tr( "Tripole" ), make_unique<PixmapLoader>( "filter_lp" ) );

View File

@@ -1734,7 +1734,7 @@ TrackOperationsWidget::TrackOperationsWidget( TrackView * parent ) :
m_trackView( parent ) /*!< The parent track view */
{
ToolTip::add( this, tr( "Press <%1> while clicking on move-grip "
"to begin a new drag'n'drop-action." ).arg(
"to begin a new drag'n'drop action." ).arg(
#ifdef LMMS_BUILD_APPLE
"") );
#else
@@ -1753,7 +1753,7 @@ TrackOperationsWidget::TrackOperationsWidget( TrackView * parent ) :
m_trackOps->move( 12, 1 );
m_trackOps->setFocusPolicy( Qt::NoFocus );
m_trackOps->setMenu( toMenu );
ToolTip::add( m_trackOps, tr( "Actions for this track" ) );
ToolTip::add( m_trackOps, tr( "Actions" ) );
m_muteBtn = new PixmapButton( this, tr( "Mute" ) );
@@ -1779,7 +1779,7 @@ TrackOperationsWidget::TrackOperationsWidget( TrackView * parent ) :
}
m_muteBtn->show();
ToolTip::add( m_muteBtn, tr( "Mute this track" ) );
ToolTip::add( m_muteBtn, tr( "Mute" ) );
m_soloBtn->show();
ToolTip::add( m_soloBtn, tr( "Solo" ) );

View File

@@ -66,48 +66,25 @@ LfoControllerDialog::LfoControllerDialog( Controller * _model, QWidget * _parent
setWindowIcon( embed::getIconPixmap( "controller" ) );
setFixedSize( 240, 58 );
ToolTip::add( this, tr( "LFO Controller" ) );
m_baseKnob = new Knob( knobBright_26, this );
m_baseKnob->setLabel( tr( "BASE" ) );
m_baseKnob->move( CD_LFO_BASE_CD_KNOB_X, CD_LFO_CD_KNOB_Y );
m_baseKnob->setHintText( tr( "Base amount:" ), "" );
m_baseKnob->setWhatsThis( tr("todo") );
m_baseKnob->setHintText( tr( "Base:" ), "" );
m_speedKnob = new TempoSyncKnob( knobBright_26, this );
m_speedKnob->setLabel( tr( "SPD" ) );
m_speedKnob->setLabel( tr( "FREQ" ) );
m_speedKnob->move( CD_LFO_SPEED_CD_KNOB_X, CD_LFO_CD_KNOB_Y );
m_speedKnob->setHintText( tr( "LFO-speed:" ), "" );
m_speedKnob->setWhatsThis(
tr( "Use this knob for setting speed of the LFO. The "
"bigger this value the faster the LFO oscillates and "
"the faster the effect." ) );
m_speedKnob->setHintText( tr( "LFO frequency:" ), "" );
m_amountKnob = new Knob( knobBright_26, this );
m_amountKnob->setLabel( tr( "AMNT" ) );
m_amountKnob->move( CD_LFO_AMOUNT_CD_KNOB_X, CD_LFO_CD_KNOB_Y );
m_amountKnob->setHintText( tr( "Modulation amount:" ), "" );
m_amountKnob->setWhatsThis(
tr( "Use this knob for setting modulation amount of the "
"LFO. The bigger this value, the more the connected "
"control (e.g. volume or cutoff-frequency) will "
"be influenced by the LFO." ) );
m_phaseKnob = new Knob( knobBright_26, this );
m_phaseKnob->setLabel( tr( "PHS" ) );
m_phaseKnob->move( CD_LFO_PHASE_CD_KNOB_X, CD_LFO_CD_KNOB_Y );
m_phaseKnob->setHintText( tr( "Phase offset:" ) , "" + tr( "degrees" ) );
m_phaseKnob->setWhatsThis(
tr( "With this knob you can set the phase offset of "
"the LFO. That means you can move the "
"point within an oscillation where the "
"oscillator begins to oscillate. For example "
"if you have a sine-wave and have a phase-"
"offset of 180 degrees the wave will first go "
"down. It's the same with a square-wave."
) );
m_phaseKnob->setHintText( tr( "Phase offset:" ) , "" + tr( " degrees" ) );
PixmapButton * sin_wave_btn = new PixmapButton( this, NULL );
sin_wave_btn->move( CD_LFO_SHAPES_X, CD_LFO_SHAPES_Y );
@@ -116,7 +93,7 @@ LfoControllerDialog::LfoControllerDialog( Controller * _model, QWidget * _parent
sin_wave_btn->setInactiveGraphic( embed::getIconPixmap(
"sin_wave_inactive" ) );
ToolTip::add( sin_wave_btn,
tr( "Click here for a sine-wave." ) );
tr( "Sine wave" ) );
PixmapButton * triangle_wave_btn =
new PixmapButton( this, NULL );
@@ -126,7 +103,7 @@ LfoControllerDialog::LfoControllerDialog( Controller * _model, QWidget * _parent
triangle_wave_btn->setInactiveGraphic(
embed::getIconPixmap( "triangle_wave_inactive" ) );
ToolTip::add( triangle_wave_btn,
tr( "Click here for a triangle-wave." ) );
tr( "Triangle wave" ) );
PixmapButton * saw_wave_btn = new PixmapButton( this, NULL );
saw_wave_btn->move( CD_LFO_SHAPES_X + 30, CD_LFO_SHAPES_Y );
@@ -135,7 +112,7 @@ LfoControllerDialog::LfoControllerDialog( Controller * _model, QWidget * _parent
saw_wave_btn->setInactiveGraphic( embed::getIconPixmap(
"saw_wave_inactive" ) );
ToolTip::add( saw_wave_btn,
tr( "Click here for a saw-wave." ) );
tr( "Saw wave" ) );
PixmapButton * sqr_wave_btn = new PixmapButton( this, NULL );
sqr_wave_btn->move( CD_LFO_SHAPES_X + 45, CD_LFO_SHAPES_Y );
@@ -144,7 +121,7 @@ LfoControllerDialog::LfoControllerDialog( Controller * _model, QWidget * _parent
sqr_wave_btn->setInactiveGraphic( embed::getIconPixmap(
"square_wave_inactive" ) );
ToolTip::add( sqr_wave_btn,
tr( "Click here for a square-wave." ) );
tr( "Square wave" ) );
PixmapButton * moog_saw_wave_btn =
new PixmapButton( this, NULL );
@@ -154,7 +131,7 @@ LfoControllerDialog::LfoControllerDialog( Controller * _model, QWidget * _parent
moog_saw_wave_btn->setInactiveGraphic(
embed::getIconPixmap( "moog_saw_wave_inactive" ) );
ToolTip::add( moog_saw_wave_btn,
tr( "Click here for a moog saw-wave." ) );
tr( "Moog saw wave" ) );
PixmapButton * exp_wave_btn = new PixmapButton( this, NULL );
exp_wave_btn->move( CD_LFO_SHAPES_X + 15, CD_LFO_SHAPES_Y + 15 );
@@ -163,7 +140,7 @@ LfoControllerDialog::LfoControllerDialog( Controller * _model, QWidget * _parent
exp_wave_btn->setInactiveGraphic( embed::getIconPixmap(
"exp_wave_inactive" ) );
ToolTip::add( exp_wave_btn,
tr( "Click here for an exponential wave." ) );
tr( "Exponential wave" ) );
PixmapButton * white_noise_btn = new PixmapButton( this, NULL );
white_noise_btn->move( CD_LFO_SHAPES_X + 30, CD_LFO_SHAPES_Y + 15 );
@@ -172,7 +149,7 @@ LfoControllerDialog::LfoControllerDialog( Controller * _model, QWidget * _parent
white_noise_btn->setInactiveGraphic(
embed::getIconPixmap( "white_noise_wave_inactive" ) );
ToolTip::add( white_noise_btn,
tr( "Click here for white-noise." ) );
tr( "White noise" ) );
m_userWaveBtn = new PixmapButton( this, NULL );
m_userWaveBtn->move( CD_LFO_SHAPES_X + 45, CD_LFO_SHAPES_Y + 15 );
@@ -184,7 +161,7 @@ LfoControllerDialog::LfoControllerDialog( Controller * _model, QWidget * _parent
SIGNAL( doubleClicked() ),
this, SLOT( askUserDefWave() ) );
ToolTip::add( m_userWaveBtn,
tr( "Click here for a user-defined shape.\nDouble click to pick a file." ) );
tr( "User-defined shape.\nDouble click to pick a file." ) );
m_waveBtnGrp = new automatableButtonGroup( this );
m_waveBtnGrp->addButton( sin_wave_btn );
@@ -203,6 +180,8 @@ LfoControllerDialog::LfoControllerDialog( Controller * _model, QWidget * _parent
"lfo_x1_active" ) );
x1->setInactiveGraphic( embed::getIconPixmap(
"lfo_x1_inactive" ) );
ToolTip::add( x1,
tr( "Mutliply modulation frequency by 1" ));
PixmapButton * x100 = new PixmapButton( this, NULL );
x100->move( CD_LFO_MULTIPLIER_X, CD_LFO_SHAPES_Y - 8 );
@@ -210,6 +189,8 @@ LfoControllerDialog::LfoControllerDialog( Controller * _model, QWidget * _parent
"lfo_x100_active" ) );
x100->setInactiveGraphic( embed::getIconPixmap(
"lfo_x100_inactive" ) );
ToolTip::add( x100,
tr( "Mutliply modulation frequency by 100" ));
PixmapButton * d100 = new PixmapButton( this, NULL );
d100->move( CD_LFO_MULTIPLIER_X, CD_LFO_SHAPES_Y + 22 );
@@ -217,6 +198,8 @@ LfoControllerDialog::LfoControllerDialog( Controller * _model, QWidget * _parent
"lfo_d100_active" ) );
d100->setInactiveGraphic( embed::getIconPixmap(
"lfo_d100_inactive" ) );
ToolTip::add( d100,
tr( "Divide modulation frequency by 100" ));
m_multiplierBtnGrp = new automatableButtonGroup( this );
m_multiplierBtnGrp->addButton( x1 );
@@ -271,10 +254,6 @@ void LfoControllerDialog::contextMenuEvent( QContextMenuEvent * )
contextMenu->addAction( embed::getIconPixmap( "cancel" ),
tr( "&Remove this plugin" ),
this, SLOT( deletePlugin() ) );
contextMenu->addSeparator();
contextMenu->addAction( embed::getIconPixmap( "help" ),
tr( "&Help" ),
this, SLOT( displayHelp() ) );
contextMenu->exec( QCursor::pos() );
delete contextMenu;
*/

View File

@@ -36,7 +36,6 @@
#include <QLibrary>
#include <QSplitter>
#include <QUrl>
#include <QWhatsThis>
#include "AboutDialog.h"
#include "AudioDummy.h"
@@ -410,9 +409,6 @@ void MainWindow::finalize()
tr( "Help" ),
this, SLOT( help() ) );
}
help_menu->addAction( embed::getIconPixmap( "whatsthis" ),
tr( "What's This?" ),
this, SLOT( enterWhatsThisMode() ) );
// Prevent dangling separator at end of menu per https://bugreports.qt.io/browse/QTBUG-40071
#if !(defined(LMMS_BUILD_APPLE) && (QT_VERSION >= 0x050000) && (QT_VERSION < 0x050600))
@@ -464,15 +460,9 @@ void MainWindow::finalize()
SLOT( onExportProject() ),
m_toolBar );
ToolButton * whatsthis = new ToolButton(
embed::getIconPixmap( "whatsthis" ),
tr( "What's this?" ),
this, SLOT( enterWhatsThisMode() ),
m_toolBar );
m_metronomeToggle = new ToolButton(
embed::getIconPixmap( "metronome" ),
tr( "Toggle metronome" ),
tr( "Metronome" ),
this, SLOT( onToggleMetronome() ),
m_toolBar );
m_metronomeToggle->setCheckable(true);
@@ -485,81 +475,50 @@ void MainWindow::finalize()
m_toolBarLayout->addWidget( project_open_recent, 0, 4 );
m_toolBarLayout->addWidget( project_save, 0, 5 );
m_toolBarLayout->addWidget( project_export, 0, 6 );
m_toolBarLayout->addWidget( whatsthis, 0, 7 );
m_toolBarLayout->addWidget( m_metronomeToggle, 0, 8 );
m_toolBarLayout->addWidget( m_metronomeToggle, 0, 7 );
// window-toolbar
ToolButton * song_editor_window = new ToolButton(
embed::getIconPixmap( "songeditor" ),
tr( "Show/hide Song-Editor" ) + " (F5)",
tr( "Song Editor" ) + " (F5)",
this, SLOT( toggleSongEditorWin() ),
m_toolBar );
song_editor_window->setShortcut( Qt::Key_F5 );
song_editor_window->setWhatsThis(
tr( "By pressing this button, you can show or hide the "
"Song-Editor. With the help of the Song-Editor you can "
"edit song-playlist and specify when which track "
"should be played. "
"You can also insert and move samples (e.g. "
"rap samples) directly into the playlist." ) );
ToolButton * bb_editor_window = new ToolButton(
embed::getIconPixmap( "bb_track_btn" ),
tr( "Show/hide Beat+Bassline Editor" ) +
tr( "Beat+Bassline Editor" ) +
" (F6)",
this, SLOT( toggleBBEditorWin() ),
m_toolBar );
bb_editor_window->setShortcut( Qt::Key_F6 );
bb_editor_window->setWhatsThis(
tr( "By pressing this button, you can show or hide the "
"Beat+Bassline Editor. The Beat+Bassline Editor is "
"needed for creating beats, and for opening, adding, and "
"removing channels, and for cutting, copying and pasting "
"beat and bassline-patterns, and for other things like "
"that." ) );
ToolButton * piano_roll_window = new ToolButton(
embed::getIconPixmap( "piano" ),
tr( "Show/hide Piano-Roll" ) +
tr( "Piano Roll" ) +
" (F7)",
this, SLOT( togglePianoRollWin() ),
m_toolBar );
piano_roll_window->setShortcut( Qt::Key_F7 );
piano_roll_window->setWhatsThis(
tr( "Click here to show or hide the "
"Piano-Roll. With the help of the Piano-Roll "
"you can edit melodies in an easy way."
) );
ToolButton * automation_editor_window = new ToolButton(
embed::getIconPixmap( "automation" ),
tr( "Show/hide Automation Editor" ) +
tr( "Automation Editor" ) +
" (F8)",
this,
SLOT( toggleAutomationEditorWin() ),
m_toolBar );
automation_editor_window->setShortcut( Qt::Key_F8 );
automation_editor_window->setWhatsThis(
tr( "Click here to show or hide the "
"Automation Editor. With the help of the "
"Automation Editor you can edit dynamic values "
"in an easy way."
) );
ToolButton * fx_mixer_window = new ToolButton(
embed::getIconPixmap( "fx_mixer" ),
tr( "Show/hide FX Mixer" ) + " (F9)",
tr( "FX Mixer" ) + " (F9)",
this, SLOT( toggleFxMixerWin() ),
m_toolBar );
fx_mixer_window->setShortcut( Qt::Key_F9 );
fx_mixer_window->setWhatsThis(
tr( "Click here to show or hide the "
"FX Mixer. The FX Mixer is a very powerful tool "
"for managing effects for your song. You can insert "
"effects into different effect-channels." ) );
ToolButton * controllers_window = new ToolButton(
embed::getIconPixmap( "controller" ),
@@ -576,10 +535,6 @@ void MainWindow::finalize()
this, SLOT( toggleProjectNotesWin() ),
m_toolBar );
project_notes_window->setShortcut( Qt::Key_F11 );
project_notes_window->setWhatsThis(
tr( "Click here to show or hide the "
"project notes window. In this window you can put "
"down your project notes.") );
m_toolBarLayout->addWidget( song_editor_window, 1, 1 );
m_toolBarLayout->addWidget( bb_editor_window, 1, 2 );
@@ -837,13 +792,6 @@ void MainWindow::emptySlot()
void MainWindow::enterWhatsThisMode()
{
QWhatsThis::enterWhatsThisMode();
}
void MainWindow::createNewProject()
{
if( mayChangeProject(true) )

View File

@@ -66,15 +66,6 @@ PeakControllerDialog::~PeakControllerDialog()
/*
void effectView::displayHelp()
{
QWhatsThis::showText( mapToGlobal( rect().bottomRight() ),
whatsThis() );
}
void effectView::closeEffects()
{
m_subWindow->hide();

View File

@@ -28,7 +28,6 @@
#include <QLayout>
#include <QLineEdit>
#include <QMessageBox>
#include <QWhatsThis>
#include <QScrollArea>
#include "SetupDialog.h"
@@ -193,17 +192,10 @@ SetupDialog::SetupDialog( ConfigTabs _tab_to_open ) :
QPushButton * bufsize_reset_btn = new QPushButton(
embed::getIconPixmap( "reload" ), "", bufsize_tw );
bufsize_reset_btn->setGeometry( 290, 40, 28, 28 );
bufsize_reset_btn->setGeometry( 320, 40, 28, 28 );
connect( bufsize_reset_btn, SIGNAL( clicked() ), this,
SLOT( resetBufSize() ) );
ToolTip::add( bufsize_reset_btn, tr( "Reset to default-value" ) );
QPushButton * bufsize_help_btn = new QPushButton(
embed::getIconPixmap( "help" ), "", bufsize_tw );
bufsize_help_btn->setGeometry( 320, 40, 28, 28 );
connect( bufsize_help_btn, SIGNAL( clicked() ), this,
SLOT( displayBufSizeHelp() ) );
ToolTip::add( bufsize_reset_btn, tr( "Reset to default value" ) );
TabWidget * misc_tw = new TabWidget( tr( "MISC" ), general );
const int XDelta = 10;
@@ -696,16 +688,10 @@ SetupDialog::SetupDialog( ConfigTabs _tab_to_open ) :
QPushButton * autoSaveResetBtn = new QPushButton(
embed::getIconPixmap( "reload" ), "", auto_save_tw );
autoSaveResetBtn->setGeometry( 290, 70, 28, 28 );
autoSaveResetBtn->setGeometry( 320, 70, 28, 28 );
connect( autoSaveResetBtn, SIGNAL( clicked() ), this,
SLOT( resetAutoSave() ) );
ToolTip::add( autoSaveResetBtn, tr( "Reset to default-value" ) );
QPushButton * saveIntervalBtn = new QPushButton(
embed::getIconPixmap( "help" ), "", auto_save_tw );
saveIntervalBtn->setGeometry( 320, 70, 28, 28 );
connect( saveIntervalBtn, SIGNAL( clicked() ), this,
SLOT( displaySaveIntervalHelp() ) );
ToolTip::add( autoSaveResetBtn, tr( "Reset to default value" ) );
m_saveIntervalSlider->setEnabled( m_enableAutoSave );
m_runningAutoSave->setVisible( m_enableAutoSave );
@@ -757,13 +743,6 @@ SetupDialog::SetupDialog( ConfigTabs _tab_to_open ) :
m_audioInterfaces->setGeometry( 10, 20, 240, 22 );
QPushButton * audio_help_btn = new QPushButton(
embed::getIconPixmap( "help" ), "", audioiface_tw );
audio_help_btn->setGeometry( 320, 20, 28, 28 );
connect( audio_help_btn, SIGNAL( clicked() ), this,
SLOT( displayAudioHelp() ) );
// create ifaces-settings-widget
QWidget * asw = new QWidget( audio );
asw->setFixedHeight( 60 );
@@ -868,13 +847,6 @@ SetupDialog::SetupDialog( ConfigTabs _tab_to_open ) :
m_midiInterfaces->setGeometry( 10, 20, 240, 22 );
QPushButton * midi_help_btn = new QPushButton(
embed::getIconPixmap( "help" ), "", midiiface_tw );
midi_help_btn->setGeometry( 320, 20, 28, 28 );
connect( midi_help_btn, SIGNAL( clicked() ), this,
SLOT( displayMIDIHelp() ) );
// create ifaces-settings-widget
QWidget * msw = new QWidget( midi );
msw->setFixedHeight( 60 );
@@ -1162,21 +1134,6 @@ void SetupDialog::resetBufSize()
void SetupDialog::displayBufSizeHelp()
{
QWhatsThis::showText( QCursor::pos(),
tr( "Here you can setup the internal buffer-size "
"used by LMMS. Smaller values result "
"in a lower latency but also may cause "
"unusable sound or bad performance, "
"especially on older computers or "
"systems with a non-realtime "
"kernel." ) );
}
void SetupDialog::toggleToolTips( bool _enabled )
{
m_toolTips = _enabled;
@@ -1554,19 +1511,6 @@ void SetupDialog::resetAutoSave()
void SetupDialog::displaySaveIntervalHelp()
{
QWhatsThis::showText( QCursor::pos(),
tr( "Set the time between automatic backup to %1.\n"
"Remember to also save your project manually. "
"You can choose to disable saving while playing, "
"something some older systems find difficult." ).arg(
ConfigManager::inst()->recoveryFile() ) );
}
void SetupDialog::audioInterfaceChanged( const QString & _iface )
{
for( AswMap::iterator it = m_audioIfaceSetupWidgets.begin();
@@ -1581,22 +1525,6 @@ void SetupDialog::audioInterfaceChanged( const QString & _iface )
void SetupDialog::displayAudioHelp()
{
QWhatsThis::showText( QCursor::pos(),
tr( "Here you can select your preferred "
"audio-interface. Depending on the "
"configuration of your system during "
"compilation time you can choose "
"between ALSA, JACK, OSS and more. "
"Below you see a box which offers "
"controls to setup the selected "
"audio-interface." ) );
}
void SetupDialog::midiInterfaceChanged( const QString & _iface )
{
for( MswMap::iterator it = m_midiIfaceSetupWidgets.begin();
@@ -1607,19 +1535,3 @@ void SetupDialog::midiInterfaceChanged( const QString & _iface )
m_midiIfaceSetupWidgets[m_midiIfaceNames[_iface]]->show();
}
void SetupDialog::displayMIDIHelp()
{
QWhatsThis::showText( QCursor::pos(),
tr( "Here you can select your preferred "
"MIDI-interface. Depending on the "
"configuration of your system during "
"compilation time you can choose "
"between ALSA, OSS and more. "
"Below you see a box which offers "
"controls to setup the selected "
"MIDI-interface." ) );
}

View File

@@ -117,14 +117,14 @@ TimeLineWidget::~TimeLineWidget()
void TimeLineWidget::addToolButtons( QToolBar * _tool_bar )
{
NStateButton * autoScroll = new NStateButton( _tool_bar );
autoScroll->setGeneralToolTip( tr( "Enable/disable auto-scrolling" ) );
autoScroll->setGeneralToolTip( tr( "Auto scrolling" ) );
autoScroll->addState( embed::getIconPixmap( "autoscroll_on" ) );
autoScroll->addState( embed::getIconPixmap( "autoscroll_off" ) );
connect( autoScroll, SIGNAL( changedState( int ) ), this,
SLOT( toggleAutoScroll( int ) ) );
NStateButton * loopPoints = new NStateButton( _tool_bar );
loopPoints->setGeneralToolTip( tr( "Enable/disable loop-points" ) );
loopPoints->setGeneralToolTip( tr( "Loop points" ) );
loopPoints->addState( embed::getIconPixmap( "loop_points_off" ) );
loopPoints->addState( embed::getIconPixmap( "loop_points_on" ) );
connect( loopPoints, SIGNAL( changedState( int ) ), this,

View File

@@ -2226,15 +2226,8 @@ AutomationEditorWindow::AutomationEditorWindow() :
// Play/stop buttons
m_playAction->setToolTip(tr( "Play/pause current pattern (Space)" ));
m_playAction->setWhatsThis(
tr( "Click here if you want to play the current pattern. "
"This is useful while editing it. The pattern is "
"automatically looped when the end is reached." ) );
m_stopAction->setToolTip(tr("Stop playing of current pattern (Space)"));
m_stopAction->setWhatsThis(
tr( "Click here if you want to stop playing of the "
"current pattern." ) );
// Edit mode buttons
DropToolBar *editActionsToolBar = addDropToolBarToTop(tr("Edit actions"));
@@ -2250,39 +2243,10 @@ AutomationEditorWindow::AutomationEditorWindow() :
m_flipYAction = new QAction(embed::getIconPixmap("flip_y"), tr("Flip vertically"), this);
m_flipXAction = new QAction(embed::getIconPixmap("flip_x"), tr("Flip horizontally"), this);
m_flipYAction->setWhatsThis(
tr( "Click here and the pattern will be inverted."
"The points are flipped in the y direction. " ) );
m_flipXAction->setWhatsThis(
tr( "Click here and the pattern will be reversed. "
"The points are flipped in the x direction." ) );
// TODO: m_selectButton and m_moveButton are broken.
// m_selectButton = new QAction(embed::getIconPixmap("edit_select"), tr("Select mode (Shift+S)"), editModeGroup);
// m_moveButton = new QAction(embed::getIconPixmap("edit_move"), tr("Move selection mode (Shift+M)"), editModeGroup);
drawAction->setWhatsThis(
tr( "Click here and draw-mode will be activated. In this "
"mode you can add and move single values. This "
"is the default mode which is used most of the time. "
"You can also press 'Shift+D' on your keyboard to "
"activate this mode." ) );
eraseAction->setWhatsThis(
tr( "Click here and erase-mode will be activated. In this "
"mode you can erase single values. You can also press "
"'Shift+E' on your keyboard to activate this mode." ) );
/*m_selectButton->setWhatsThis(
tr( "Click here and select-mode will be activated. In this "
"mode you can select values. This is necessary "
"if you want to cut, copy, paste, delete, or move "
"values. You can also press 'Shift+S' on your keyboard "
"to activate this mode." ) );
m_moveButton->setWhatsThis(
tr( "If you click here, move-mode will be activated. In this "
"mode you can move the values you selected in select-"
"mode. You can also press 'Shift+M' on your keyboard "
"to activate this mode." ) );*/
connect(editModeGroup, SIGNAL(triggered(int)), m_editor, SLOT(setEditMode(int)));
editActionsToolBar->addAction(drawAction);
@@ -2313,32 +2277,9 @@ AutomationEditorWindow::AutomationEditorWindow() :
m_tensionKnob = new Knob( knobSmall_17, this, "Tension" );
m_tensionKnob->setModel(m_editor->m_tensionModel);
ToolTip::add(m_tensionKnob, tr("Tension value for spline"));
m_tensionKnob->setWhatsThis(
tr("A higher tension value may make a smoother curve "
"but overshoot some values. A low tension "
"value will cause the slope of the curve to "
"level off at each control point."));
connect(m_cubicHermiteAction, SIGNAL(toggled(bool)), m_tensionKnob, SLOT(setEnabled(bool)));
m_discreteAction->setWhatsThis(
tr( "Click here to choose discrete progressions for this "
"automation pattern. The value of the connected "
"object will remain constant between control points "
"and be set immediately to the new value when each "
"control point is reached." ) );
m_linearAction->setWhatsThis(
tr( "Click here to choose linear progressions for this "
"automation pattern. The value of the connected "
"object will change at a steady rate over time "
"between control points to reach the correct value at "
"each control point without a sudden change." ) );
m_cubicHermiteAction->setWhatsThis(
tr( "Click here to choose cubic hermite progressions for this "
"automation pattern. The value of the connected "
"object will change in a smooth curve and ease in to "
"the peaks and valleys." ) );
interpolationActionsToolBar->addSeparator();
interpolationActionsToolBar->addAction(m_discreteAction);
interpolationActionsToolBar->addAction(m_linearAction);
@@ -2374,18 +2315,6 @@ AutomationEditorWindow::AutomationEditorWindow() :
"Ctrl"), this);
#endif
cutAction->setWhatsThis(
tr( "Click here and selected values will be cut into the "
"clipboard. You can paste them anywhere in any pattern "
"by clicking on the paste button." ) );
copyAction->setWhatsThis(
tr( "Click here and selected values will be copied into "
"the clipboard. You can paste them anywhere in any "
"pattern by clicking on the paste button." ) );
pasteAction->setWhatsThis(
tr( "Click here and the values from the clipboard will be "
"pasted at the first visible measure." ) );
cutAction->setShortcut(Qt::CTRL | Qt::Key_X);
copyAction->setShortcut(Qt::CTRL | Qt::Key_C);
pasteAction->setShortcut(Qt::CTRL | Qt::Key_V);
@@ -2416,6 +2345,7 @@ AutomationEditorWindow::AutomationEditorWindow() :
m_zoomingXComboBox = new ComboBox( zoomToolBar );
m_zoomingXComboBox->setFixedSize( 80, 22 );
m_zoomingXComboBox->setToolTip( tr( "Horizontal zooming" ) );
for( float const & zoomLevel : m_editor->m_zoomXLevels )
{
@@ -2434,6 +2364,7 @@ AutomationEditorWindow::AutomationEditorWindow() :
m_zoomingYComboBox = new ComboBox( zoomToolBar );
m_zoomingYComboBox->setFixedSize( 80, 22 );
m_zoomingYComboBox->setToolTip( tr( "Vertical zooming" ) );
m_editor->m_zoomingYModel.addItem( "Auto" );
for( int i = 0; i < 7; ++i )
@@ -2463,17 +2394,12 @@ AutomationEditorWindow::AutomationEditorWindow() :
m_quantizeComboBox = new ComboBox( m_toolBar );
m_quantizeComboBox->setFixedSize( 60, 22 );
m_quantizeComboBox->setToolTip( tr( "Quantization" ) );
m_quantizeComboBox->setModel( &m_editor->m_quantizeModel );
quantizationActionsToolBar->addWidget( quantize_lbl );
quantizationActionsToolBar->addWidget( m_quantizeComboBox );
m_quantizeComboBox->setToolTip( tr( "Quantization" ) );
m_quantizeComboBox->setWhatsThis( tr( "Quantization. Sets the smallest "
"step size for the Automation Point. By default "
"this also sets the length, clearing out other "
"points in the range. Press <Ctrl> to override "
"this behaviour." ) );
// Setup our actual window
setFocusPolicy( Qt::StrongFocus );

View File

@@ -69,14 +69,6 @@ BBEditor::BBEditor( BBTrackContainer* tc ) :
m_playAction->setToolTip(tr( "Play/pause current beat/bassline (Space)" ));
m_stopAction->setToolTip(tr( "Stop playback of current beat/bassline (Space)" ));
m_playAction->setWhatsThis(
tr( "Click here to play the current "
"beat/bassline. The beat/bassline is automatically "
"looped when its end is reached." ) );
m_stopAction->setWhatsThis(
tr( "Click here to stop playing of current "
"beat/bassline." ) );
// Beat selector
DropToolBar *beatSelectionToolBar = addDropToolBarToTop(tr("Beat selector"));

View File

@@ -4058,25 +4058,6 @@ PianoRollWindow::PianoRollWindow() :
m_recordAccompanyAction->setToolTip( tr( "Record notes from MIDI-device/channel-piano while playing song or BB track" ) );
m_stopAction->setToolTip( tr( "Stop playing of current pattern (Space)" ) );
m_playAction->setWhatsThis(
tr( "Click here to play the current pattern. "
"This is useful while editing it. The pattern is "
"automatically looped when its end is reached." ) );
m_recordAction->setWhatsThis(
tr( "Click here to record notes from a MIDI-"
"device or the virtual test-piano of the according "
"channel-window to the current pattern. When recording "
"all notes you play will be written to this pattern "
"and you can play and edit them afterwards." ) );
m_recordAccompanyAction->setWhatsThis(
tr( "Click here to record notes from a MIDI-"
"device or the virtual test-piano of the according "
"channel-window to the current pattern. When recording "
"all notes you play will be written to this pattern "
"and you will hear the song or BB track in the background." ) );
m_stopAction->setWhatsThis(
tr( "Click here to stop playback of current pattern." ) );
DropToolBar *notesActionsToolBar = addDropToolBarToTop( tr( "Edit actions" ) );
// init edit-buttons at the top
@@ -4093,39 +4074,6 @@ PianoRollWindow::PianoRollWindow() :
selectAction->setShortcut( Qt::SHIFT | Qt::Key_S );
pitchBendAction->setShortcut( Qt::SHIFT | Qt::Key_T );
drawAction->setWhatsThis(
tr( "Click here and draw mode will be activated. In this "
"mode you can add, resize and move notes. This "
"is the default mode which is used most of the time. "
"You can also press 'Shift+D' on your keyboard to "
"activate this mode. In this mode, hold %1 to "
"temporarily go into select mode." ).arg(
#ifdef LMMS_BUILD_APPLE
"" ) );
#else
"Ctrl" ) );
#endif
eraseAction->setWhatsThis(
tr( "Click here and erase mode will be activated. In this "
"mode you can erase notes. You can also press "
"'Shift+E' on your keyboard to activate this mode." ) );
selectAction->setWhatsThis(
tr( "Click here and select mode will be activated. "
"In this mode you can select notes. Alternatively, "
"you can hold %1 in draw mode to temporarily use "
"select mode." ).arg(
#ifdef LMMS_BUILD_APPLE
"" ) );
#else
"Ctrl" ) );
#endif
pitchBendAction->setWhatsThis(
tr( "Click here and Pitch Bend mode will be activated. "
"In this mode you can click a note to open its "
"automation detuning. You can utilize this to slide "
"notes from one to another. You can also press "
"'Shift+T' on your keyboard to activate this mode." ) );
connect( editModeGroup, SIGNAL( triggered( int ) ), m_editor, SLOT( setEditMode( int ) ) );
QAction* quantizeAction = new QAction(embed::getIconPixmap( "quantize" ), tr( "Quantize" ), this );
@@ -4142,7 +4090,7 @@ PianoRollWindow::PianoRollWindow() :
DropToolBar *copyPasteActionsToolBar = addDropToolBarToTop( tr( "Copy paste controls" ) );
QAction* cutAction = new QAction(embed::getIconPixmap( "edit_cut" ),
tr( "Cut selected notes (%1+X)" ).arg(
tr( "Cut (%1+X)" ).arg(
#ifdef LMMS_BUILD_APPLE
"" ), this );
#else
@@ -4150,7 +4098,7 @@ PianoRollWindow::PianoRollWindow() :
#endif
QAction* copyAction = new QAction(embed::getIconPixmap( "edit_copy" ),
tr( "Copy selected notes (%1+C)" ).arg(
tr( "Copy (%1+C)" ).arg(
#ifdef LMMS_BUILD_APPLE
""), this);
#else
@@ -4158,25 +4106,13 @@ PianoRollWindow::PianoRollWindow() :
#endif
QAction* pasteAction = new QAction(embed::getIconPixmap( "edit_paste" ),
tr( "Paste notes from clipboard (%1+V)" ).arg(
tr( "Paste (%1+V)" ).arg(
#ifdef LMMS_BUILD_APPLE
"" ), this );
#else
"Ctrl" ), this );
#endif
cutAction->setWhatsThis(
tr( "Click here and the selected notes will be cut into the "
"clipboard. You can paste them anywhere in any pattern "
"by clicking on the paste button." ) );
copyAction->setWhatsThis(
tr( "Click here and the selected notes will be copied into the "
"clipboard. You can paste them anywhere in any pattern "
"by clicking on the paste button." ) );
pasteAction->setWhatsThis(
tr( "Click here and the notes from the clipboard will be "
"pasted at the first visible measure." ) );
cutAction->setShortcut( Qt::CTRL | Qt::Key_X );
copyAction->setShortcut( Qt::CTRL | Qt::Key_C );
pasteAction->setShortcut( Qt::CTRL | Qt::Key_V );
@@ -4205,6 +4141,7 @@ PianoRollWindow::PianoRollWindow() :
m_zoomingComboBox = new ComboBox( m_toolBar );
m_zoomingComboBox->setModel( &m_editor->m_zoomingModel );
m_zoomingComboBox->setFixedSize( 64, 22 );
m_zoomingComboBox->setToolTip( tr( "Horizontal zooming") );
// setup quantize-stuff
QLabel * quantize_lbl = new QLabel( m_toolBar );
@@ -4213,6 +4150,7 @@ PianoRollWindow::PianoRollWindow() :
m_quantizeComboBox = new ComboBox( m_toolBar );
m_quantizeComboBox->setModel( &m_editor->m_quantizeModel );
m_quantizeComboBox->setFixedSize( 64, 22 );
m_quantizeComboBox->setToolTip( tr( "Quantization") );
// setup note-len-stuff
QLabel * note_len_lbl = new QLabel( m_toolBar );
@@ -4221,6 +4159,7 @@ PianoRollWindow::PianoRollWindow() :
m_noteLenComboBox = new ComboBox( m_toolBar );
m_noteLenComboBox->setModel( &m_editor->m_noteLenModel );
m_noteLenComboBox->setFixedSize( 105, 22 );
m_noteLenComboBox->setToolTip( tr( "Note length") );
// setup scale-stuff
QLabel * scale_lbl = new QLabel( m_toolBar );
@@ -4229,6 +4168,7 @@ PianoRollWindow::PianoRollWindow() :
m_scaleComboBox = new ComboBox( m_toolBar );
m_scaleComboBox->setModel( &m_editor->m_scaleModel );
m_scaleComboBox->setFixedSize( 105, 22 );
m_scaleComboBox->setToolTip( tr( "Scale") );
// setup chord-stuff
QLabel * chord_lbl = new QLabel( m_toolBar );
@@ -4237,6 +4177,7 @@ PianoRollWindow::PianoRollWindow() :
m_chordComboBox = new ComboBox( m_toolBar );
m_chordComboBox->setModel( &m_editor->m_chordModel );
m_chordComboBox->setFixedSize( 105, 22 );
m_chordComboBox->setToolTip( tr( "Chord") );
zoomAndNotesToolBar->addWidget( zoom_lbl );
@@ -4258,53 +4199,6 @@ PianoRollWindow::PianoRollWindow() :
zoomAndNotesToolBar->addWidget( chord_lbl );
zoomAndNotesToolBar->addWidget( m_chordComboBox );
m_zoomingComboBox->setWhatsThis(
tr(
"This controls the magnification of an axis. "
"It can be helpful to choose magnification for a specific "
"task. For ordinary editing, the magnification should be "
"fitted to your smallest notes. "
) );
m_quantizeComboBox->setWhatsThis(
tr(
"The 'Q' stands for quantization, and controls the grid size "
"notes and control points snap to. "
"With smaller quantization values, you can draw shorter notes "
"in Piano Roll, and more exact control points in the "
"Automation Editor."
) );
m_noteLenComboBox->setWhatsThis(
tr(
"This lets you select the length of new notes. "
"'Last Note' means that LMMS will use the note length of "
"the note you last edited"
) );
m_scaleComboBox->setWhatsThis(
tr(
"The feature is directly connected to the context-menu "
"on the virtual keyboard, to the left in Piano Roll. "
"After you have chosen the scale you want "
"in this drop-down menu, "
"you can right click on a desired key in the virtual keyboard, "
"and then choose 'Mark current Scale'. "
"LMMS will highlight all notes that belongs to the chosen scale, "
"and in the key you have selected!"
) );
m_chordComboBox->setWhatsThis(
tr(
"Let you select a chord which LMMS then can draw or highlight."
"You can find the most common chords in this drop-down menu. "
"After you have selected a chord, click anywhere to place the chord, and right "
"click on the virtual keyboard to open context menu and highlight the chord. "
"To return to single note placement, you need to choose 'No chord' "
"in this drop-down menu."
) );
// setup our actual window
setFocusPolicy( Qt::StrongFocus );
setFocus();

View File

@@ -112,16 +112,8 @@ SongEditor::SongEditor( Song * song ) :
m_tempoSpinBox = new LcdSpinBox( 3, tb, tr( "Tempo" ) );
m_tempoSpinBox->setModel( &m_song->m_tempoModel );
m_tempoSpinBox->setLabel( tr( "TEMPO/BPM" ) );
ToolTip::add( m_tempoSpinBox, tr( "tempo of song" ) );
m_tempoSpinBox->setWhatsThis(
tr( "The tempo of a song is specified in beats per minute "
"(BPM). If you want to change the tempo of your "
"song, change this value. Every measure has four beats, "
"so the tempo in BPM specifies, how many measures / 4 "
"should be played within a minute (or how many measures "
"should be played within four minutes)." ) );
m_tempoSpinBox->setLabel( tr( "TEMPO" ) );
ToolTip::add( m_tempoSpinBox, tr( "Tempo in BPM" ) );
int tempoSpinBoxCol = gui->mainWindow()->addWidgetToToolBar( m_tempoSpinBox, 0 );
@@ -158,7 +150,7 @@ SongEditor::SongEditor( Song * song ) :
m_masterVolumeSlider->setTickPosition( QSlider::TicksLeft );
m_masterVolumeSlider->setFixedSize( 26, 60 );
m_masterVolumeSlider->setTickInterval( 50 );
ToolTip::add( m_masterVolumeSlider, tr( "master volume" ) );
ToolTip::add( m_masterVolumeSlider, tr( "Master volume" ) );
connect( m_masterVolumeSlider, SIGNAL( logicValueChanged( int ) ), this,
SLOT( setMasterVolume( int ) ) );
@@ -191,7 +183,7 @@ SongEditor::SongEditor( Song * song ) :
m_masterPitchSlider->setTickPosition( QSlider::TicksLeft );
m_masterPitchSlider->setFixedSize( 26, 60 );
m_masterPitchSlider->setTickInterval( 12 );
ToolTip::add( m_masterPitchSlider, tr( "master pitch" ) );
ToolTip::add( m_masterPitchSlider, tr( "Master pitch" ) );
connect( m_masterPitchSlider, SIGNAL( logicValueChanged( int ) ), this,
SLOT( setMasterPitch( int ) ) );
connect( m_masterPitchSlider, SIGNAL( sliderPressed() ), this,
@@ -681,14 +673,6 @@ SongEditorWindow::SongEditorWindow(Song* song) :
m_recordAccompanyAction->setToolTip(tr( "Record samples from Audio-device while playing song or BB track"));
m_stopAction->setToolTip(tr( "Stop song (Space)" ));
m_playAction->setWhatsThis(
tr("Click here, if you want to play your whole song. "
"Playing will be started at the song-position-marker (green). "
"You can also move it while playing."));
m_stopAction->setWhatsThis(
tr("Click here, if you want to stop playing of your song. "
"The song-position-marker will be set to the start of your song."));
// Track actions
DropToolBar *trackActionsToolBar = addDropToolBarToTop(tr("Track actions"));
@@ -739,6 +723,7 @@ SongEditorWindow::SongEditorWindow(Song* song) :
m_zoomingComboBox->setFixedSize( 80, 22 );
m_zoomingComboBox->move( 580, 4 );
m_zoomingComboBox->setModel(m_editor->m_zoomingModel);
m_zoomingComboBox->setToolTip(tr("Horizontal zooming"));
zoomToolBar->addWidget( zoom_lbl );
zoomToolBar->addWidget( m_zoomingComboBox );

View File

@@ -42,23 +42,3 @@ CaptionMenu::CaptionMenu( const QString & _title, QWidget * _parent ) :
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);
}
}

View File

@@ -30,7 +30,6 @@
#include <QMdiSubWindow>
#include <QPainter>
#include <QInputDialog>
#include <QWhatsThis>
#include <QLayout>
#include "ControllerView.h"
@@ -92,9 +91,6 @@ ControllerView::ControllerView( Controller * _model, QWidget * _parent ) :
m_subWindow->hide();
setWhatsThis( tr( "Controllers are able to automate the value of a knob, "
"slider, and other controls." ) );
setModel( _model );
}
@@ -183,19 +179,6 @@ void ControllerView::contextMenuEvent( QContextMenuEvent * )
this, SLOT( deleteController() ) );
contextMenu->addAction( tr("Re&name this controller"), this, SLOT( renameController() ));
contextMenu->addSeparator();
contextMenu->addHelpAction();
contextMenu->exec( QCursor::pos() );
delete contextMenu;
}
void ControllerView::displayHelp()
{
QWhatsThis::showText( mapToGlobal( rect().center() ),
whatsThis() );
}

View File

@@ -28,7 +28,6 @@
#include <QMdiArea>
#include <QMdiSubWindow>
#include <QPainter>
#include <QWhatsThis>
#include "EffectView.h"
#include "DummyEffect.h"
@@ -56,7 +55,6 @@ EffectView::EffectView( Effect * _model, QWidget * _parent ) :
m_bypass = new LedCheckBox( this, "", isEnabled ? LedCheckBox::Green : LedCheckBox::Red );
m_bypass->move( 3, 3 );
m_bypass->setEnabled( isEnabled );
m_bypass->setWhatsThis( tr( "Toggles the effect on or off." ) );
ToolTip::add( m_bypass, tr( "On/Off" ) );
@@ -66,9 +64,6 @@ EffectView::EffectView( Effect * _model, QWidget * _parent ) :
m_wetDry->move( 27, 5 );
m_wetDry->setEnabled( isEnabled );
m_wetDry->setHintText( tr( "Wet Level:" ), "" );
m_wetDry->setWhatsThis( tr( "The Wet/Dry knob sets the ratio between "
"the input signal and the effect signal that "
"forms the output." ) );
m_autoQuit = new TempoSyncKnob( knobBright_26, this );
@@ -76,10 +71,6 @@ EffectView::EffectView( Effect * _model, QWidget * _parent ) :
m_autoQuit->move( 60, 5 );
m_autoQuit->setEnabled( isEnabled );
m_autoQuit->setHintText( tr( "Time:" ), "ms" );
m_autoQuit->setWhatsThis( tr(
"The Decay knob controls how many buffers of silence must pass before the "
"plugin stops processing. Smaller values will reduce the CPU overhead but "
"run the risk of clipping the tail on delay and reverb effects." ) );
m_gate = new Knob( knobBright_26, this );
@@ -87,9 +78,6 @@ EffectView::EffectView( Effect * _model, QWidget * _parent ) :
m_gate->move( 93, 5 );
m_gate->setEnabled( isEnabled );
m_gate->setHintText( tr( "Gate:" ), "" );
m_gate->setWhatsThis( tr(
"The Gate knob controls the signal level that is considered to be 'silence' "
"while deciding when to stop processing signals." ) );
setModel( _model );
@@ -123,35 +111,6 @@ EffectView::EffectView( Effect * _model, QWidget * _parent ) :
}
setWhatsThis( tr(
"Effect plugins function as a chained series of effects where the signal will "
"be processed from top to bottom.\n\n"
"The On/Off switch allows you to bypass a given plugin at any point in "
"time.\n\n"
"The Wet/Dry knob controls the balance between the input signal and the "
"effected signal that is the resulting output from the effect. The input "
"for the stage is the output from the previous stage. So, the 'dry' signal "
"for effects lower in the chain contains all of the previous effects.\n\n"
"The Decay knob controls how long the signal will continue to be processed "
"after the notes have been released. The effect will stop processing signals "
"when the volume has dropped below a given threshold for a given length of "
"time. This knob sets the 'given length of time'. Longer times will require "
"more CPU, so this number should be set low for most effects. It needs to be "
"bumped up for effects that produce lengthy periods of silence, e.g. "
"delays.\n\n"
"The Gate knob controls the 'given threshold' for the effect's auto shutdown. "
"The clock for the 'given length of time' will begin as soon as the processed "
"signal level drops below the level specified with this knob.\n\n"
"The Controls button opens a dialog for editing the effect's parameters.\n\n"
"Right clicking will bring up a context menu where you can change the order "
"in which the effects are processed or delete an effect altogether." ) );
//move above vst effect view creation
//setModel( _model );
}
@@ -222,15 +181,6 @@ void EffectView::deletePlugin()
void EffectView::displayHelp()
{
QWhatsThis::showText( mapToGlobal( rect().bottomRight() ),
whatsThis() );
}
void EffectView::closeEffects()
{
if( m_subWindow )
@@ -256,7 +206,6 @@ void EffectView::contextMenuEvent( QContextMenuEvent * )
tr( "&Remove this plugin" ),
this, SLOT( deletePlugin() ) );
contextMenu->addSeparator();
contextMenu->addHelpAction();
contextMenu->exec( QCursor::pos() );
delete contextMenu;
}

View File

@@ -97,78 +97,43 @@ EnvelopeAndLfoView::EnvelopeAndLfoView( QWidget * _parent ) :
m_predelayKnob = new Knob( knobBright_26, this );
m_predelayKnob->setLabel( tr( "DEL" ) );
m_predelayKnob->move( PREDELAY_KNOB_X, ENV_KNOBS_Y );
m_predelayKnob->setHintText( tr( "Predelay:" ), "" );
m_predelayKnob->setWhatsThis(
tr( "Use this knob for setting predelay of the current "
"envelope. The bigger this value the longer the time "
"before start of actual envelope." ) );
m_predelayKnob->setHintText( tr( "Pre-delay:" ), "" );
m_attackKnob = new Knob( knobBright_26, this );
m_attackKnob->setLabel( tr( "ATT" ) );
m_attackKnob->move( ATTACK_KNOB_X, ENV_KNOBS_Y );
m_attackKnob->setHintText( tr( "Attack:" ), "" );
m_attackKnob->setWhatsThis(
tr( "Use this knob for setting attack-time of the current "
"envelope. The bigger this value the longer the "
"envelope needs to increase to attack-level. "
"Choose a small value for instruments like pianos "
"and a big value for strings." ) );
m_holdKnob = new Knob( knobBright_26, this );
m_holdKnob->setLabel( tr( "HOLD" ) );
m_holdKnob->move( HOLD_KNOB_X, ENV_KNOBS_Y );
m_holdKnob->setHintText( tr( "Hold:" ), "" );
m_holdKnob->setWhatsThis(
tr( "Use this knob for setting hold-time of the current "
"envelope. The bigger this value the longer the "
"envelope holds attack-level before it begins to "
"decrease to sustain-level." ) );
m_decayKnob = new Knob( knobBright_26, this );
m_decayKnob->setLabel( tr( "DEC" ) );
m_decayKnob->move( DECAY_KNOB_X, ENV_KNOBS_Y );
m_decayKnob->setHintText( tr( "Decay:" ), "" );
m_decayKnob->setWhatsThis(
tr( "Use this knob for setting decay-time of the current "
"envelope. The bigger this value the longer the "
"envelope needs to decrease from attack-level to "
"sustain-level. Choose a small value for instruments "
"like pianos." ) );
m_sustainKnob = new Knob( knobBright_26, this );
m_sustainKnob->setLabel( tr( "SUST" ) );
m_sustainKnob->move( SUSTAIN_KNOB_X, ENV_KNOBS_Y );
m_sustainKnob->setHintText( tr( "Sustain:" ), "" );
m_sustainKnob->setWhatsThis(
tr( "Use this knob for setting sustain-level of the current "
"envelope. The bigger this value the higher the level "
"on which the envelope stays before going down to "
"zero." ) );
m_releaseKnob = new Knob( knobBright_26, this );
m_releaseKnob->setLabel( tr( "REL" ) );
m_releaseKnob->move( RELEASE_KNOB_X, ENV_KNOBS_Y );
m_releaseKnob->setHintText( tr( "Release:" ), "" );
m_releaseKnob->setWhatsThis(
tr( "Use this knob for setting release-time of the current "
"envelope. The bigger this value the longer the "
"envelope needs to decrease from sustain-level to "
"zero. Choose a big value for soft instruments like "
"strings." ) );
m_amountKnob = new Knob( knobBright_26, this );
m_amountKnob->setLabel( tr( "AMT" ) );
m_amountKnob->move( AMOUNT_KNOB_X, ENV_GRAPH_Y );
m_amountKnob->setHintText( tr( "Modulation amount:" ), "" );
m_amountKnob->setWhatsThis(
tr( "Use this knob for setting modulation amount of the "
"current envelope. The bigger this value the more the "
"according size (e.g. volume or cutoff-frequency) "
"will be influenced by this envelope." ) );
@@ -176,42 +141,25 @@ EnvelopeAndLfoView::EnvelopeAndLfoView( QWidget * _parent ) :
m_lfoPredelayKnob = new Knob( knobBright_26, this );
m_lfoPredelayKnob->setLabel( tr( "DEL" ) );
m_lfoPredelayKnob->move( LFO_PREDELAY_KNOB_X, LFO_KNOB_Y );
m_lfoPredelayKnob->setHintText( tr( "LFO predelay:" ), "" );
m_lfoPredelayKnob->setWhatsThis(
tr( "Use this knob for setting predelay-time of the current "
"LFO. The bigger this value the the time until the "
"LFO starts to oscillate." ) );
m_lfoPredelayKnob->setHintText( tr( "Pre-delay:" ), "" );
m_lfoAttackKnob = new Knob( knobBright_26, this );
m_lfoAttackKnob->setLabel( tr( "ATT" ) );
m_lfoAttackKnob->move( LFO_ATTACK_KNOB_X, LFO_KNOB_Y );
m_lfoAttackKnob->setHintText( tr( "LFO- attack:" ), "" );
m_lfoAttackKnob->setWhatsThis(
tr( "Use this knob for setting attack-time of the current LFO. "
"The bigger this value the longer the LFO needs to "
"increase its amplitude to maximum." ) );
m_lfoAttackKnob->setHintText( tr( "Attack:" ), "" );
m_lfoSpeedKnob = new TempoSyncKnob( knobBright_26, this );
m_lfoSpeedKnob->setLabel( tr( "SPD" ) );
m_lfoSpeedKnob->move( LFO_SPEED_KNOB_X, LFO_KNOB_Y );
m_lfoSpeedKnob->setHintText( tr( "LFO speed:" ), "" );
m_lfoSpeedKnob->setWhatsThis(
tr( "Use this knob for setting speed of the current LFO. The "
"bigger this value the faster the LFO oscillates and "
"the faster will be your effect." ) );
m_lfoSpeedKnob->setHintText( tr( "Frequency:" ), "" );
m_lfoAmountKnob = new Knob( knobBright_26, this );
m_lfoAmountKnob->setLabel( tr( "AMT" ) );
m_lfoAmountKnob->move( LFO_AMOUNT_KNOB_X, LFO_KNOB_Y );
m_lfoAmountKnob->setHintText( tr( "Modulation amount:" ), "" );
m_lfoAmountKnob->setWhatsThis(
tr( "Use this knob for setting modulation amount of the "
"current LFO. The bigger this value the more the "
"selected size (e.g. volume or cutoff-frequency) will "
"be influenced by this LFO." ) );
PixmapButton * sin_lfo_btn = new PixmapButton( this, NULL );
@@ -220,8 +168,6 @@ EnvelopeAndLfoView::EnvelopeAndLfoView( QWidget * _parent ) :
"sin_wave_active" ) );
sin_lfo_btn->setInactiveGraphic( embed::getIconPixmap(
"sin_wave_inactive" ) );
sin_lfo_btn->setWhatsThis(
tr( "Click here for a sine-wave." ) );
PixmapButton * triangle_lfo_btn = new PixmapButton( this, NULL );
triangle_lfo_btn->move( LFO_SHAPES_X+15, LFO_SHAPES_Y );
@@ -229,8 +175,6 @@ EnvelopeAndLfoView::EnvelopeAndLfoView( QWidget * _parent ) :
"triangle_wave_active" ) );
triangle_lfo_btn->setInactiveGraphic( embed::getIconPixmap(
"triangle_wave_inactive" ) );
triangle_lfo_btn->setWhatsThis(
tr( "Click here for a triangle-wave." ) );
PixmapButton * saw_lfo_btn = new PixmapButton( this, NULL );
saw_lfo_btn->move( LFO_SHAPES_X+30, LFO_SHAPES_Y );
@@ -238,8 +182,6 @@ EnvelopeAndLfoView::EnvelopeAndLfoView( QWidget * _parent ) :
"saw_wave_active" ) );
saw_lfo_btn->setInactiveGraphic( embed::getIconPixmap(
"saw_wave_inactive" ) );
saw_lfo_btn->setWhatsThis(
tr( "Click here for a saw-wave for current." ) );
PixmapButton * sqr_lfo_btn = new PixmapButton( this, NULL );
sqr_lfo_btn->move( LFO_SHAPES_X+45, LFO_SHAPES_Y );
@@ -247,8 +189,6 @@ EnvelopeAndLfoView::EnvelopeAndLfoView( QWidget * _parent ) :
"square_wave_active" ) );
sqr_lfo_btn->setInactiveGraphic( embed::getIconPixmap(
"square_wave_inactive" ) );
sqr_lfo_btn->setWhatsThis(
tr( "Click here for a square-wave." ) );
m_userLfoBtn = new PixmapButton( this, NULL );
m_userLfoBtn->move( LFO_SHAPES_X+75, LFO_SHAPES_Y );
@@ -256,10 +196,6 @@ EnvelopeAndLfoView::EnvelopeAndLfoView( QWidget * _parent ) :
"usr_wave_active" ) );
m_userLfoBtn->setInactiveGraphic( embed::getIconPixmap(
"usr_wave_inactive" ) );
m_userLfoBtn->setWhatsThis(
tr( "Click here for a user-defined wave. "
"Afterwards, drag an according sample-"
"file onto the LFO graph." ) );
connect( m_userLfoBtn, SIGNAL( toggled( bool ) ),
this, SLOT( lfoUserWaveChanged() ) );
@@ -270,8 +206,6 @@ EnvelopeAndLfoView::EnvelopeAndLfoView( QWidget * _parent ) :
"random_wave_active" ) );
random_lfo_btn->setInactiveGraphic( embed::getIconPixmap(
"random_wave_inactive" ) );
random_lfo_btn->setWhatsThis(
tr( "Click here for random wave." ) );
m_lfoWaveBtnGrp = new automatableButtonGroup( this );
m_lfoWaveBtnGrp->addButton( sin_lfo_btn );
@@ -284,21 +218,15 @@ EnvelopeAndLfoView::EnvelopeAndLfoView( QWidget * _parent ) :
m_x100Cb = new LedCheckBox( tr( "FREQ x 100" ), this );
m_x100Cb->setFont( pointSizeF( m_x100Cb->font(), 6.5 ) );
m_x100Cb->move( LFO_PREDELAY_KNOB_X, LFO_GRAPH_Y + 36 );
m_x100Cb->setWhatsThis(
tr( "Click here if the frequency of this LFO should be "
"multiplied by 100." ) );
ToolTip::add( m_x100Cb, tr( "multiply LFO-frequency by 100" ) );
ToolTip::add( m_x100Cb, tr( "Multiply LFO frequency by 100" ) );
m_controlEnvAmountCb = new LedCheckBox( tr( "MODULATE ENV-AMOUNT" ),
m_controlEnvAmountCb = new LedCheckBox( tr( "MODULATE ENV AMOUNT" ),
this );
m_controlEnvAmountCb->move( LFO_PREDELAY_KNOB_X, LFO_GRAPH_Y + 54 );
m_controlEnvAmountCb->setFont( pointSizeF( m_controlEnvAmountCb->font(), 6.5 ) );
m_controlEnvAmountCb ->setWhatsThis(
tr( "Click here to make the envelope-amount controlled by this "
"LFO." ) );
ToolTip::add( m_controlEnvAmountCb,
tr( "control envelope-amount by this LFO" ) );
tr( "Control envelope amount by this LFO" ) );
setAcceptDrops( true );
@@ -590,8 +518,7 @@ void EnvelopeAndLfoView::lfoUserWaveChanged()
if( m_params->m_userWave.frames() <= 1 )
{
TextFloat::displayMessage( tr( "Hint" ),
tr( "Drag a sample from somewhere and drop "
"it in this window." ),
tr( "Drag and drop a sample into this window." ),
embed::getIconPixmap( "hint" ), 3000 );
}
}

View File

@@ -26,7 +26,6 @@
#include "FxLine.h"
#include <QGraphicsProxyWidget>
#include <QWhatsThis>
#include "CaptionMenu.h"
#include "FxMixer.h"
@@ -96,20 +95,6 @@ FxLine::FxLine( QWidget * _parent, FxMixerView * _mv, int _channelIndex ) :
m_lcd->move( 4, 58 );
m_lcd->setMarginWidth( 1 );
setWhatsThis( tr(
"The FX channel receives input from one or more instrument tracks.\n "
"It in turn can be routed to multiple other FX channels. LMMS automatically "
"takes care of preventing infinite loops for you and doesn't allow making "
"a connection that would result in an infinite loop.\n\n"
"In order to route the channel to another channel, select the FX channel "
"and click on the \"send\" button on the channel you want to send to. "
"The knob under the send button controls the level of signal that is sent "
"to the channel.\n\n"
"You can remove and move FX channels in the context menu, which is accessed "
"by right-clicking the FX channel.\n" ) );
QString name = Engine::fxMixer()->effectChannel( m_channelIndex )->m_name;
setToolTip( name );
@@ -253,8 +238,6 @@ void FxLine::contextMenuEvent( QContextMenuEvent * )
contextMenu->addSeparator();
}
contextMenu->addAction( embed::getIconPixmap( "cancel" ), tr( "Remove &unused channels" ), this, SLOT( removeUnusedChannels() ) );
contextMenu->addSeparator();
contextMenu->addHelpAction();
contextMenu->exec( QCursor::pos() );
delete contextMenu;
}
@@ -335,14 +318,6 @@ void FxLine::moveChannelRight()
void FxLine::displayHelp()
{
QWhatsThis::showText( mapToGlobal( rect().bottomRight() ), whatsThis() );
}
QBrush FxLine::backgroundActive() const
{
return m_backgroundActive;

View File

@@ -32,7 +32,6 @@
#include "gui_templates.h"
#include "Knob.h"
#include "TempoSyncKnob.h"
#include "ToolTip.h"
InstrumentFunctionNoteStackingView::InstrumentFunctionNoteStackingView( InstrumentFunctionNoteStacking* cc, QWidget* parent ) :
@@ -58,10 +57,6 @@ InstrumentFunctionNoteStackingView::InstrumentFunctionNoteStackingView( Instrume
m_chordRangeKnob->setLabel( tr( "RANGE" ) );
m_chordRangeKnob->setHintText( tr( "Chord range:" ), " " + tr( "octave(s)" ) );
m_chordRangeKnob->setWhatsThis(
tr( "Use this knob for setting the chord range in octaves. "
"The selected chord will be played within specified "
"number of octaves." ) );
mainLayout->addWidget( chordLabel, 0, 0 );
mainLayout->addWidget( m_chordsComboBox, 1, 0 );
@@ -118,65 +113,28 @@ InstrumentFunctionArpeggioView::InstrumentFunctionArpeggioView( InstrumentFuncti
mainLayout->setHorizontalSpacing( 20 );
mainLayout->setVerticalSpacing( 1 );
m_arpGroupBox->setWhatsThis(
tr( "An arpeggio is a method playing (especially plucked) "
"instruments, which makes the music much livelier. "
"The strings of such instruments (e.g. harps) are "
"plucked like chords. The only difference is that "
"this is done in a sequential order, so the notes are "
"not played at the same time. Typical arpeggios are "
"major or minor triads, but there are a lot of other "
"possible chords, you can select." ) );
m_arpRangeKnob->setLabel( tr( "RANGE" ) );
m_arpRangeKnob->setHintText( tr( "Arpeggio range:" ), " " + tr( "octave(s)" ) );
m_arpRangeKnob->setWhatsThis(
tr( "Use this knob for setting the arpeggio range in octaves. "
"The selected arpeggio will be played within specified "
"number of octaves." ) );
m_arpCycleKnob->setLabel( tr( "CYCLE" ) );
m_arpCycleKnob->setHintText( tr( "Cycle notes:" ) + " ", " " + tr( "note(s)" ) );
m_arpCycleKnob->setWhatsThis(
tr( "Jumps over n steps in the arpeggio and cycles around "
"if we're over the note range. If the total note range is evenly "
"divisible by the number of steps jumped over you will get stuck "
"in a shorter arpeggio or even on one note." ) );
m_arpSkipKnob->setLabel( tr( "SKIP" ) );
m_arpSkipKnob->setHintText( tr( "Skip rate:" ), tr( "%" ) );
m_arpSkipKnob->setWhatsThis(
tr( "The skip function will make the arpeggiator pause one step "
"randomly. From its start in full counter clockwise "
"position and no effect it will gradually progress to "
"full amnesia at maximum setting.") );
m_arpMissKnob->setLabel( tr( "MISS" ) );
m_arpMissKnob->setHintText( tr( "Miss rate:" ), tr( "%" ) );
m_arpMissKnob->setWhatsThis(
tr( "The miss function will make the arpeggiator miss the "
"intended note.") );
m_arpTimeKnob->setLabel( tr( "TIME" ) );
m_arpTimeKnob->setHintText( tr( "Arpeggio time:" ), " " + tr( "ms" ) );
m_arpTimeKnob->setWhatsThis(
tr( "Use this knob for setting the arpeggio time in "
"milliseconds. The arpeggio time specifies how long "
"each arpeggio-tone should be played." ) );
m_arpGateKnob->setLabel( tr( "GATE" ) );
m_arpGateKnob->setHintText( tr( "Arpeggio gate:" ), tr( "%" ) );
m_arpGateKnob->setWhatsThis(
tr( "Use this knob for setting the arpeggio gate. The "
"arpeggio gate specifies the percent of a whole "
"arpeggio-tone that should be played. With this you "
"can make cool staccato arpeggios." ) );
QLabel* arpChordLabel = new QLabel( tr( "Chord:" ) );

View File

@@ -36,7 +36,6 @@
#include "LcdSpinBox.h"
#include "MidiClient.h"
#include "Mixer.h"
#include "ToolTip.h"
#include "InstrumentTrack.h"
#include "LedCheckbox.h"
@@ -146,7 +145,7 @@ InstrumentMidiIOView::InstrumentMidiIOView( QWidget* parent ) :
baseVelocityLayout->setContentsMargins( 8, 18, 8, 8 );
baseVelocityLayout->setSpacing( 6 );
QLabel* baseVelocityHelp = new QLabel( tr( "Specify the velocity normalization base for MIDI-based instruments at 100% note velocity" ) );
QLabel* baseVelocityHelp = new QLabel( tr( "Specify the velocity normalization base for MIDI-based instruments at 100% note velocity." ) );
baseVelocityHelp->setWordWrap( true );
baseVelocityHelp->setFont( pointSize<8>( baseVelocityHelp->font() ) );
@@ -213,7 +212,7 @@ InstrumentMiscView::InstrumentMiscView(InstrumentTrack *it, QWidget *parent) :
layout->addWidget( m_pitchGroupBox );
QHBoxLayout* masterPitchLayout = new QHBoxLayout( m_pitchGroupBox );
masterPitchLayout->setContentsMargins( 8, 18, 8, 8 );
QLabel *tlabel = new QLabel(tr( "Enables the use of Master Pitch" ) );
QLabel *tlabel = new QLabel(tr( "Enables the use of master pitch" ) );
m_pitchGroupBox->setModel( &it->m_useMasterPitchModel );
masterPitchLayout->addWidget( tlabel );
layout->addStretch();

View File

@@ -57,20 +57,6 @@ InstrumentSoundShapingView::InstrumentSoundShapingView( QWidget * _parent ) :
TARGETS_TABWIDGET_Y,
TARGETS_TABWIDGET_WIDTH,
TARGETS_TABWIDGET_HEIGTH );
m_targetsTabWidget->setWhatsThis(
tr( "These tabs contain envelopes. They're very important for "
"modifying a sound, in that they are almost "
"always necessary for substractive synthesis. For "
"example if you have a volume envelope, you can set "
"when the sound should have a specific volume. "
"If you want to create some soft strings then your "
"sound has to fade in and out very softly. This can be "
"done by setting large attack and release times. "
"It's the same for other envelope targets like "
"panning, cutoff frequency for the used filter and so on. "
"Just monkey around with it! You can really make cool "
"sounds out of a saw-wave with just some "
"envelopes...!" ) );
for( int i = 0; i < InstrumentSoundShaping::NumTargets; ++i )
{
@@ -91,33 +77,17 @@ InstrumentSoundShapingView::InstrumentSoundShapingView( QWidget * _parent ) :
m_filterComboBox->setGeometry( 14, 22, 120, 22 );
m_filterComboBox->setFont( pointSize<8>( m_filterComboBox->font() ) );
m_filterComboBox->setWhatsThis(
tr( "Here you can select the built-in filter you want to use "
"for this instrument-track. Filters are very important "
"for changing the characteristics of a sound." ) );
m_filterCutKnob = new Knob( knobBright_26, m_filterGroupBox );
m_filterCutKnob->setLabel( tr( "FREQ" ) );
m_filterCutKnob->move( 140, 18 );
m_filterCutKnob->setHintText( tr( "cutoff frequency:" ), " " + tr( "Hz" ) );
m_filterCutKnob->setWhatsThis(
tr( "Use this knob for setting the cutoff frequency for the "
"selected filter. The cutoff frequency specifies the "
"frequency for cutting the signal by a filter. For "
"example a lowpass-filter cuts all frequencies above "
"the cutoff frequency. A highpass-filter cuts all "
"frequencies below cutoff frequency, and so on..." ) );
m_filterCutKnob->setHintText( tr( "Cutoff frequency:" ), " " + tr( "Hz" ) );
m_filterResKnob = new Knob( knobBright_26, m_filterGroupBox );
m_filterResKnob->setLabel( tr( "RESO" ) );
m_filterResKnob->setLabel( tr( "Q/RESO" ) );
m_filterResKnob->move( 196, 18 );
m_filterResKnob->setHintText( tr( "Resonance:" ), "" );
m_filterResKnob->setWhatsThis(
tr( "Use this knob for setting Q/Resonance for the selected "
"filter. Q/Resonance tells the filter how much it "
"should amplify frequencies near Cutoff-frequency." ) );
m_filterResKnob->setHintText( tr( "Q/Resonance:" ), "" );
m_singleStreamInfoLabel = new QLabel( tr( "Envelopes, LFOs and filters are not supported by the current instrument." ), this );

View File

@@ -28,7 +28,6 @@
#include <QInputDialog>
#include <QMouseEvent>
#include <QPainter>
#include <QWhatsThis>
#ifndef __USE_XOPEN
#define __USE_XOPEN
@@ -532,7 +531,6 @@ void Knob::contextMenuEvent( QContextMenuEvent * )
model()->isScaleLogarithmic() ? tr( "Set linear" ) : tr( "Set logarithmic" ),
this, SLOT( toggleScale() ) );
contextMenu.addSeparator();
contextMenu.addHelpAction();
contextMenu.exec( QCursor::pos() );
}
@@ -847,12 +845,3 @@ void Knob::doConnections()
this, SLOT( update() ) );
}
}
void Knob::displayHelp()
{
QWhatsThis::showText( mapToGlobal( rect().bottomRight() ),
whatsThis() );
}

View File

@@ -102,7 +102,6 @@ LadspaControlView::LadspaControlView( QWidget * _parent,
}
knb->setLabel( m_ctl->port()->name );
knb->setHintText( tr( "Value:" ), "" );
knb->setWhatsThis( tr( "Sorry, no help available." ) );
layout->addWidget( knb );
if( link != NULL )
{

View File

@@ -32,6 +32,7 @@
#include "MeterModel.h"
#include "gui_templates.h"
#include "LcdSpinBox.h"
#include "ToolTip.h"
MeterDialog::MeterDialog( QWidget * _parent, bool _simple ) :
@@ -49,6 +50,7 @@ MeterDialog::MeterDialog( QWidget * _parent, bool _simple ) :
m_numerator = new LcdSpinBox( 2, num, tr( "Meter Numerator" ) );
ToolTip::add( m_numerator, tr( "Meter numerator" ) );
num_layout->addWidget( m_numerator );
@@ -69,6 +71,7 @@ MeterDialog::MeterDialog( QWidget * _parent, bool _simple ) :
den_layout->setMargin( 0 );
m_denominator = new LcdSpinBox( 2, den, tr( "Meter Denominator" ) );
ToolTip::add( m_denominator, tr( "Meter denominator" ) );
if( _simple )
{
m_denominator->setLabel( tr( "TIME SIG" ) );

View File

@@ -147,8 +147,6 @@ void TempoSyncKnob::contextMenuEvent( QContextMenuEvent * )
contextMenu.addSeparator();
}
contextMenu.addHelpAction();
contextMenu.exec( QCursor::pos() );
delete syncMenu;

View File

@@ -49,7 +49,7 @@ TimeDisplayWidget::TimeDisplayWidget() :
setMaximumHeight( 32 );
ToolTip::add( this, tr( "click to change time units" ) );
ToolTip::add( this, tr( "Time units" ) );
// update labels of LCD spinboxes
setDisplayMode( m_displayMode );

View File

@@ -55,8 +55,7 @@ VisualizationWidget::VisualizationWidget( const QPixmap & _bg, QWidget * _p,
BufferManager::clear( m_buffer, frames );
ToolTip::add( this, tr( "click to enable/disable visualization of "
"master-output" ) );
ToolTip::add( this, tr( "Oscilloscope" ) );
}

View File

@@ -104,7 +104,7 @@ InstrumentTrack::InstrumentTrack( TrackContainer* tc ) :
m_pitchModel( 0, MinPitchDefault, MaxPitchDefault, 1, this, tr( "Pitch" ) ),
m_pitchRangeModel( 1, 1, 60, this, tr( "Pitch range" ) ),
m_effectChannelModel( 0, 0, 0, this, tr( "FX channel" ) ),
m_useMasterPitchModel( true, this, tr( "Master Pitch") ),
m_useMasterPitchModel( true, this, tr( "Master pitch") ),
m_instrument( NULL ),
m_soundShaping( this ),
m_arpeggio( this ),
@@ -903,7 +903,6 @@ InstrumentTrackView::InstrumentTrackView( InstrumentTrack * _it, TrackContainerV
m_volumeKnob->move( widgetWidth-2*24, 2 );
m_volumeKnob->setLabel( tr( "VOL" ) );
m_volumeKnob->show();
m_volumeKnob->setWhatsThis( tr( volume_help ) );
m_panningKnob = new Knob( knobSmall_17, getTrackSettingsWidget(),
tr( "Panning" ) );
@@ -1279,7 +1278,7 @@ class fxLineLcdSpinBox : public LcdSpinBox
// created inside a TabWidget inside an InstrumentTrackWindow
if ( InstrumentTrackWindow* window = dynamic_cast<InstrumentTrackWindow*>( (QWidget *)this->parent()->parent() ) )
{
QMenu *fxMenu = window->instrumentTrackView()->createFxMenu( tr( "Assign to:" ), tr( "New FX Channel" ) );
QMenu *fxMenu = window->instrumentTrackView()->createFxMenu( tr( "Assign to:" ), tr( "New FX channel" ) );
contextMenu->addMenu( fxMenu );
contextMenu->addSeparator();
@@ -1336,8 +1335,6 @@ InstrumentTrackWindow::InstrumentTrackWindow( InstrumentTrackView * _itv ) :
SLOT( viewPrevInstrument() ) );
connect( m_leftRightNav, SIGNAL( onNavRight() ), this,
SLOT( viewNextInstrument() ) );
m_leftRightNav->setWhatsThis(
tr( "Use these controls to view and edit the next/previous track in the song editor." ) );
// m_leftRightNav->setShortcuts();
nameAndChangeTrackLayout->addWidget(m_leftRightNav);
@@ -1356,10 +1353,9 @@ InstrumentTrackWindow::InstrumentTrackWindow( InstrumentTrackView * _itv ) :
Qt::Alignment widgetAlignment = Qt::AlignHCenter | Qt::AlignCenter;
// set up volume knob
m_volumeKnob = new Knob( knobBright_26, NULL, tr( "Instrument volume" ) );
m_volumeKnob = new Knob( knobBright_26, NULL, tr( "Volume" ) );
m_volumeKnob->setVolumeKnob( true );
m_volumeKnob->setHintText( tr( "Volume:" ), "%" );
m_volumeKnob->setWhatsThis( tr( volume_help ) );
basicControlsLayout->addWidget( m_volumeKnob, 0, 0 );
basicControlsLayout->setAlignment( m_volumeKnob, widgetAlignment );
@@ -1431,9 +1427,6 @@ InstrumentTrackWindow::InstrumentTrackWindow( InstrumentTrackView * _itv ) :
connect( saveSettingsBtn, SIGNAL( clicked() ), this, SLOT( saveSettingsBtnClicked() ) );
ToolTip::add( saveSettingsBtn, tr( "Save current instrument track settings in a preset file" ) );
saveSettingsBtn->setWhatsThis(
tr( "Click here, if you want to save current instrument track settings in a preset file. "
"Later you can load this preset by double-clicking it in the preset-browser." ) );
basicControlsLayout->addWidget( saveSettingsBtn, 0, 7 );
@@ -1476,7 +1469,7 @@ InstrumentTrackWindow::InstrumentTrackWindow( InstrumentTrackView * _itv ) :
m_tabWidget->addTab( m_ssView, tr( "Envelope, filter & LFO" ), "env_lfo_tab", 1 );
m_tabWidget->addTab( instrumentFunctions, tr( "Chord stacking & arpeggio" ), "func_tab", 2 );
m_tabWidget->addTab( m_effectView, tr( "Effects" ), "fx_tab", 3 );
m_tabWidget->addTab( m_midiView, tr( "MIDI settings" ), "midi_tab", 4 );
m_tabWidget->addTab( m_midiView, tr( "MIDI" ), "midi_tab", 4 );
m_tabWidget->addTab( m_miscView, tr( "Miscellaneous" ), "misc_tab", 5 );
// setup piano-widget

View File

@@ -309,7 +309,7 @@ void SampleTCOView::updateSample()
// sample-tco contains
ToolTip::add( this, ( m_tco->m_sampleBuffer->audioFile() != "" ) ?
m_tco->m_sampleBuffer->audioFile() :
tr( "double-click to select sample" ) );
tr( "Double-click to open sample" ) );
}