void PreferencesDialog::on_selectApplicationFontBtn_clicked() { Preferences *preferencesMng = Preferences::get_instance(); QString family = preferencesMng->getApplicationFontFamily(); int pointSize = preferencesMng->getApplicationFontPointSize(); bool ok; QFont font = QFontDialog::getFont( &ok, QFont( family, pointSize ), this ); if ( ok ) { // font is set to the font the user selected family = font.family(); pointSize = font.pointSize(); QString familyStr = family; preferencesMng->setApplicationFontFamily(familyStr); preferencesMng->setApplicationFontPointSize(pointSize); } else { // the user cancelled the dialog; font is set to the initial // value, in this case Times, 12. } QFont newFont(family, pointSize); applicationFontLbl->setFont(newFont); applicationFontLbl->setText(family + QString(" %1").arg(pointSize)); }
PreferencesDialog::PreferencesDialog(QWidget* parent) : QDialog( parent ) , Object( __class_name ) { setupUi( this ); setWindowTitle( trUtf8( "Preferences" ) ); setWindowIcon( QPixmap( Skin::getImagePath() + "/icon16.png" ) ); setMinimumSize( width(), height() ); Preferences *pPref = Preferences::get_instance(); pPref->loadPreferences( false ); // reload user's preferences driverComboBox->clear(); driverComboBox->addItem( "Auto" ); #ifdef H2CORE_HAVE_JACK driverComboBox->addItem( "Jack" ); #endif #ifdef H2CORE_HAVE_ALSA driverComboBox->addItem( "Alsa" ); #endif #ifdef H2CORE_HAVE_OSS driverComboBox->addItem( "Oss" ); #endif #ifdef H2CORE_HAVE_PORTAUDIO driverComboBox->addItem( "PortAudio" ); #endif #ifdef H2CORE_HAVE_COREAUDIO driverComboBox->addItem( "CoreAudio" ); #endif #ifdef H2CORE_HAVE_PULSEAUDIO driverComboBox->addItem( "PulseAudio" ); #endif if( driverComboBox->findText(pPref->m_sAudioDriver) > -1){ driverComboBox->setCurrentIndex(driverComboBox->findText(pPref->m_sAudioDriver)); } else { driverInfoLbl->setText("Select your Audio Driver"); ERRORLOG( "Unknown midi input from preferences [" + pPref->m_sAudioDriver + "]" ); } m_pMidiDriverComboBox->clear(); #ifdef H2CORE_HAVE_ALSA m_pMidiDriverComboBox->addItem( "ALSA" ); #endif #ifdef H2CORE_HAVE_PORTMIDI m_pMidiDriverComboBox->addItem( "PortMidi" ); #endif #ifdef H2CORE_HAVE_COREMIDI m_pMidiDriverComboBox->addItem( "CoreMidi" ); #endif #ifdef H2CORE_HAVE_JACK m_pMidiDriverComboBox->addItem( "JackMidi" ); #endif if( m_pMidiDriverComboBox->findText(pPref->m_sMidiDriver) > -1){ m_pMidiDriverComboBox->setCurrentIndex(m_pMidiDriverComboBox->findText(pPref->m_sMidiDriver)); } else { driverInfoLbl->setText("Select your Midi Driver"); ERRORLOG( "Unknown midi input from preferences [" + pPref->m_sMidiDriver + "]" ); } m_pIgnoreNoteOffCheckBox->setChecked( pPref->m_bMidiNoteOffIgnore ); updateDriverInfo(); // metronome volume uint metronomeVol = (uint)( pPref->m_fMetronomeVolume * 100.0 ); metronomeVolumeSpinBox->setValue(metronomeVol); // max voices maxVoicesTxt->setValue( pPref->m_nMaxNotes ); // JACK trackOutsCheckBox->setChecked( pPref->m_bJackTrackOuts ); connect(trackOutsCheckBox, SIGNAL(toggled(bool)), this, SLOT(toggleTrackOutsCheckBox( bool ))); connectDefaultsCheckBox->setChecked( pPref->m_bJackConnectDefaults ); trackOutputComboBox->setCurrentIndex( pPref->m_nJackTrackOutputMode ); //~ JACK bufferSizeSpinBox->setValue( pPref->m_nBufferSize ); switch ( pPref->m_nSampleRate ) { case 44100: sampleRateComboBox->setCurrentIndex( 0 ); break; case 48000: sampleRateComboBox->setCurrentIndex( 1 ); break; case 88200: sampleRateComboBox->setCurrentIndex( 2 ); break; case 96000: sampleRateComboBox->setCurrentIndex( 3 ); break; default: ERRORLOG( QString("Wrong samplerate: %1").arg( pPref->m_nSampleRate ) ); } resampleComboBox->setCurrentIndex( (int) AudioEngine::get_instance()->get_sampler()->getInterpolateMode() ); // Appearance tab QString applicationFamily = pPref->getApplicationFontFamily(); int applicationPointSize = pPref->getApplicationFontPointSize(); QFont applicationFont( applicationFamily, applicationPointSize ); applicationFontLbl->setFont( applicationFont ); applicationFontLbl->setText( applicationFamily + QString(" %1").arg( applicationPointSize ) ); QString mixerFamily = pPref->getMixerFontFamily(); int mixerPointSize = pPref->getMixerFontPointSize(); QFont mixerFont( mixerFamily, mixerPointSize ); mixerFontLbl->setFont( mixerFont ); mixerFontLbl->setText( mixerFamily + QString(" %1").arg( mixerPointSize ) ); float falloffSpeed = pPref->getMixerFalloffSpeed(); if (falloffSpeed == FALLOFF_SLOW) { mixerFalloffComboBox->setCurrentIndex(0); } else if (falloffSpeed == FALLOFF_NORMAL) { mixerFalloffComboBox->setCurrentIndex(1); } else if (falloffSpeed == FALLOFF_FAST) { mixerFalloffComboBox->setCurrentIndex(2); } else { ERRORLOG( QString("PreferencesDialog: wrong mixerFalloff value = %1").arg(falloffSpeed) ); } uiLayoutComboBox->setCurrentIndex( pPref->getDefaultUILayout() ); // Style QStringList list = QStyleFactory::keys(); uint i = 0; for ( QStringList::Iterator it = list.begin(); it != list.end(); it++) { styleComboBox->addItem( *it ); //INFOLOG( "QT Stile: " + *it ); //string sStyle = (*it).latin1(); QString sStyle = (*it); if (sStyle == pPref->getQTStyle() ) { styleComboBox->setCurrentIndex( i ); } i++; } //SongEditor coloring int coloringMethod = pPref->getColoringMethod(); int coloringMethodAuxValue = pPref->getColoringMethodAuxValue(); coloringMethodCombo->clear(); coloringMethodCombo->addItem(trUtf8("Automatic")); coloringMethodCombo->addItem(trUtf8("Steps")); coloringMethodCombo->addItem(trUtf8("Fixed")); coloringMethodAuxSpinBox->setMaximum(300); coloringMethodCombo->setCurrentIndex( coloringMethod ); coloringMethodAuxSpinBox->setValue( coloringMethodAuxValue ); coloringMethodCombo_currentIndexChanged( coloringMethod ); connect(coloringMethodCombo, SIGNAL(currentIndexChanged(int)), this, SLOT( coloringMethodCombo_currentIndexChanged(int) )); // midi tab midiPortChannelComboBox->setEnabled( false ); midiPortComboBox->setEnabled( false ); // list midi output ports midiPortComboBox->clear(); midiPortComboBox->addItem( "None" ); if ( Hydrogen::get_instance()->getMidiInput() ) { std::vector<QString> midiOutList = Hydrogen::get_instance()->getMidiInput()->getOutputPortList(); if ( midiOutList.size() != 0 ) { midiPortComboBox->setEnabled( true ); midiPortChannelComboBox->setEnabled( true ); } for (uint i = 0; i < midiOutList.size(); i++) { QString sPortName = midiOutList[i]; midiPortComboBox->addItem( sPortName ); if ( sPortName == pPref->m_sMidiPortName ) { midiPortComboBox->setCurrentIndex( i + 1 ); } } } if ( pPref->m_nMidiChannelFilter == -1 ) { midiPortChannelComboBox->setCurrentIndex( 0 ); } else { midiPortChannelComboBox->setCurrentIndex( pPref->m_nMidiChannelFilter + 1 ); } // General tab restoreLastUsedSongCheckbox->setChecked( pPref->isRestoreLastSongEnabled() ); restoreLastUsedPlaylistCheckbox->setChecked( pPref->isRestoreLastPlaylistEnabled() ); //restore the right m_bsetlash value if ( pPref->m_brestartLash == true ){ if (pPref->m_bsetLash == false ){ pPref->m_bsetLash = true ; pPref->m_brestartLash = false; } } useLashCheckbox->setChecked( pPref->m_bsetLash ); sBcountOffset->setValue( pPref->m_countOffset ); sBstartOffset->setValue( pPref->m_startOffset ); sBmaxBars->setValue( pPref->getMaxBars() ); QString pathtoRubberband = pPref->m_rubberBandCLIexecutable; rubberbandLineEdit->setText( pathtoRubberband ); #ifdef H2CORE_HAVE_RUBBERBAND pathToRubberbandExLable->hide(); rubberbandLineEdit->hide(); #endif m_bNeedDriverRestart = false; connect(m_pMidiDriverComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT( onMidiDriverComboBoxIndexChanged(int) )); }