From kde-commits Sat Sep 11 14:22:57 2010 From: Pedro Lopez-Cabanillas Date: Sat, 11 Sep 2010 14:22:57 +0000 To: kde-commits Subject: extragear/multimedia/kmid/alsa Message-Id: <20100911142257.CC0DCAC888 () svn ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-commits&m=128421471127954 SVN commit 1174220 by pedrol: better soft synth settings error messages M +15 -6 alsabackend.cpp M +29 -5 externalsoftsynth.cpp M +2 -0 externalsoftsynth.h --- trunk/extragear/multimedia/kmid/alsa/alsabackend.cpp #1174219:1174220 @@ -200,14 +200,19 @@ void ALSABackend::updateConfigWidget() { QString version; + QString available; bool Ok = d->m_fluidsynth->isProgramOK(); version = d->m_fluidsynth->programVersion(); d->ui_prefs_progs.label_fluid_available->setPixmap( Ok ? KIcon("flag-green").pixmap(24,24) : KIcon("flag-red").pixmap(24,24) ); - d->ui_prefs_progs.label_fluid_available->setText( - version.isEmpty() ? i18nc("@info","Not found") : - i18nc("@info","Found version: %1", version) ); + available = version.isEmpty() ? i18nc("@info","Not valid") : + i18nc("@info","Found version: %1", version); + if (!Ok) { + available += "
"; + available += d->m_fluidsynth->getSettingsErrorMessage(); + } + d->ui_prefs_progs.label_fluid_available->setText(available); d->ui_prefs_progs.kcfg_exec_fluid->setEnabled(Ok); d->ui_prefs_progs.kcfg_audio_fluid->setEnabled(Ok); d->ui_prefs_progs.kcfg_args_fluid->setEnabled(Ok); @@ -219,9 +224,13 @@ d->ui_prefs_progs.label_timidity_available->setPixmap( Ok ? KIcon("flag-green").pixmap(24,24) : KIcon("flag-red").pixmap(24,24) ); - d->ui_prefs_progs.label_timidity_available->setText( - version.isEmpty() ? i18nc("@info","Not found") : - i18nc("@info","Found version: %1", version) ); + available = version.isEmpty() ? i18nc("@info","Not valid") : + i18nc("@info","Found version: %1", version); + if (!Ok) { + available += "
"; + available += d->m_timidity->getSettingsErrorMessage(); + } + d->ui_prefs_progs.label_timidity_available->setText(available); d->ui_prefs_progs.kcfg_exec_timidity->setEnabled(Ok); d->ui_prefs_progs.kcfg_audio_timidity->setEnabled(Ok); d->ui_prefs_progs.kcfg_args_timidity->setEnabled(Ok); --- trunk/extragear/multimedia/kmid/alsa/externalsoftsynth.cpp #1174219:1174220 @@ -41,6 +41,7 @@ qRegisterMetaType("QProcess::ExitStatus"); m_prettyName.clear(); m_version.clear(); + m_errorMesssage.clear(); moveToThread(&m_thread); connect(&m_thread, SIGNAL(started()), SLOT(slotThreadStarted())); } @@ -65,6 +66,11 @@ return m_warnings; } +QString ExternalSoftSynth::getSettingsErrorMessage() const +{ + return m_errorMesssage; +} + bool ExternalSoftSynth::settingsChanged() { foreach( const QString& propName, m_settingsNames ) { @@ -227,8 +233,11 @@ QString cmd = KGlobal::dirs()->findExe(u.toLocalFile()); m_Ok = false; m_version.clear(); - if (cmd.isEmpty()) + m_errorMesssage.clear(); + if (cmd.isEmpty()) { + m_errorMesssage = i18nc("@info","The command is incorrect"); return; + } timidity.setOutputChannelMode( KProcess::MergedChannels ); timidity << cmd << "--version"; if( timidity.execute( STARTUP_TIMEOUT ) >= 0 ) { @@ -236,6 +245,8 @@ m_version = parseVersion(s); QString copyright = parseCopyright(s); m_Ok = !m_version.isEmpty() && !copyright.isEmpty(); + if (!m_Ok) + m_errorMesssage = i18nc("@info","This program version is not supported"); } } @@ -322,17 +333,30 @@ QString cmd = KGlobal::dirs()->findExe(u.toLocalFile()); m_Ok = false; m_version.clear(); - if (cmd.isEmpty()) + m_errorMesssage.clear(); + if (cmd.isEmpty()) { + m_errorMesssage =i18nc("@info","The command is incorrect"); return; + } fluidsynth.setOutputChannelMode( KProcess::MergedChannels ); fluidsynth << cmd << "--version"; if( fluidsynth.execute( STARTUP_TIMEOUT ) >= 0 ) { QString s = QString::fromLocal8Bit( fluidsynth.readAll() ); m_version = parseVersion(s); - m_Ok = !m_version.isEmpty() && !m_settings->sf2_fluid().isEmpty(); - m_Ok &= (versionNumber(m_version) >= 0x010009U); + m_Ok = !m_version.isEmpty() && (versionNumber(m_version) >= 0x010009U); + if (!m_Ok) { + m_errorMesssage = i18nc("@info","This program version is not supported"); + return; + } + m_Ok = !m_settings->sf2_fluid().isEmpty(); + if (!m_Ok) { + m_errorMesssage = i18nc("@info","A SoundFont file is required"); + return; + } QFileInfo info(m_settings->sf2_fluid().toLocalFile()); - m_Ok &= info.exists(); + m_Ok = info.exists(); + if (!m_Ok) + m_errorMesssage = i18nc("@info","The SoundFont file does not exist"); } } --- trunk/extragear/multimedia/kmid/alsa/externalsoftsynth.h #1174219:1174220 @@ -47,6 +47,7 @@ bool settingsChanged(); bool isOutputReady(); QStringList getErrorMessages() const; + QString getSettingsErrorMessage() const; virtual void start(bool waiting = false); virtual void terminate(); @@ -79,6 +80,7 @@ QString m_prettyName; QString m_version; QThread m_thread; + QString m_errorMesssage; }; class TimiditySoftSynth : public ExternalSoftSynth {