diff options
Diffstat (limited to 'kioslave/audiocd/kcmaudiocd/kcmaudiocd.cpp')
-rw-r--r-- | kioslave/audiocd/kcmaudiocd/kcmaudiocd.cpp | 267 |
1 files changed, 0 insertions, 267 deletions
diff --git a/kioslave/audiocd/kcmaudiocd/kcmaudiocd.cpp b/kioslave/audiocd/kcmaudiocd/kcmaudiocd.cpp deleted file mode 100644 index adff68f3..00000000 --- a/kioslave/audiocd/kcmaudiocd/kcmaudiocd.cpp +++ /dev/null @@ -1,267 +0,0 @@ -/* - Copyright (C) 2001 Carsten Duvenhorst <[email protected]> - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ - -#include <kconfig.h> -#include <klineedit.h> -#include <klocale.h> - -#include <tqcheckbox.h> -#include <tqcombobox.h> -#include <tqgroupbox.h> -#include <tqslider.h> -#include <tqtabwidget.h> -#include <kaboutdata.h> -#include <knuminput.h> -#include <tqregexp.h> -#include <tqlabel.h> - -#include <audiocdencoder.h> -#include "kcmaudiocd.moc" -#include <kconfigdialogmanager.h> - -KAudiocdModule::KAudiocdModule(TQWidget *parent, const char *name) - : AudiocdConfig(parent, name), configChanged(false) -{ - TQString foo = i18n("Report errors found on the cd."); - - setButtons(Default|Apply); - - config = new TDEConfig("kcmaudiocdrc"); - - TQPtrList<AudioCDEncoder> encoders; - AudioCDEncoder::findAllPlugins(0, encoders); - AudioCDEncoder *encoder; - for ( encoder = encoders.first(); encoder; encoder = encoders.next() ){ - if (encoder->init()) { - TDEConfigSkeleton *config = NULL; - TQWidget *widget = encoder->getConfigureWidget(&config); - if(widget && config){ - tabWidget->addTab(widget, i18n("%1 Encoder").arg(encoder->type())); - TDEConfigDialogManager *configManager = new TDEConfigDialogManager(widget, config, TQString(encoder->type()+" EncoderConfigManager").latin1()); - encoderSettings.append(configManager); - } - } - } - - load(); - - TDEConfigDialogManager *widget; - for ( widget = encoderSettings.first(); widget; widget = encoderSettings.next() ){ - connect(widget, TQT_SIGNAL(widgetModified()), this, TQT_SLOT(slotModuleChanged())); - } - - //CDDA Options - connect(cd_specify_device,TQT_SIGNAL(clicked()),this,TQT_SLOT(slotConfigChanged())); - connect(ec_enable_check,TQT_SIGNAL(clicked()),this,TQT_SLOT(slotEcEnable())); - connect(ec_skip_check,TQT_SIGNAL(clicked()),TQT_SLOT(slotConfigChanged())); - connect(cd_device_string,TQT_SIGNAL(textChanged(const TQString &)),TQT_SLOT(slotConfigChanged())); - connect(niceLevel,TQT_SIGNAL(valueChanged(int)),TQT_SLOT(slotConfigChanged())); - - // File Name - connect(fileNameLineEdit, TQT_SIGNAL(textChanged(const TQString &)), this, TQT_SLOT(slotConfigChanged())); - connect(albumNameLineEdit, TQT_SIGNAL(textChanged(const TQString &)), this, TQT_SLOT(slotConfigChanged())); - connect( kcfg_replaceInput, TQT_SIGNAL( textChanged(const TQString&) ), this, TQT_SLOT( updateExample() ) ); - connect( kcfg_replaceOutput, TQT_SIGNAL( textChanged(const TQString&) ), this, TQT_SLOT( updateExample() ) ); - connect( example, TQT_SIGNAL( textChanged(const TQString&) ), this, TQT_SLOT( updateExample() ) ); - connect( kcfg_replaceInput, TQT_SIGNAL( textChanged(const TQString&) ), this, TQT_SLOT( slotConfigChanged() ) ); - connect( kcfg_replaceOutput, TQT_SIGNAL( textChanged(const TQString&) ), this, TQT_SLOT( slotConfigChanged() ) ); - connect( example, TQT_SIGNAL( textChanged(const TQString&) ), this, TQT_SLOT( slotConfigChanged() ) ); - - TDEAboutData *about = - new TDEAboutData(I18N_NOOP("kcmaudiocd"), I18N_NOOP("TDE Audio CD IO Slave"), - 0, 0, TDEAboutData::License_GPL, - I18N_NOOP("(c) 2000 - 2005 Audio CD developers")); - - about->addAuthor("Benjamin C. Meyer", I18N_NOOP("Current Maintainer"), "[email protected]"); - about->addAuthor("Carsten Duvenhorst", 0, "[email protected]"); - setAboutData(about); -} - -KAudiocdModule::~KAudiocdModule() -{ - delete config; -} - -TQString removeQoutes(const TQString& text) -{ - TQString deqoutedString=text; - TQRegExp qoutedStringRegExp("^\".*\"$"); - if (qoutedStringRegExp.exactMatch(text)) - { - deqoutedString=text.mid(1, text.length()-2); - } - return deqoutedString; -} - -bool needsQoutes(const TQString& text) -{ - TQRegExp spaceAtTheBeginning("^\\s+.*$"); - TQRegExp spaceAtTheEnd("^.*\\s+$"); - return (spaceAtTheBeginning.exactMatch(text) || spaceAtTheEnd.exactMatch(text)); - - -} - -void KAudiocdModule::updateExample() -{ - TQString text = example->text(); - TQString deqoutedReplaceInput=removeQoutes(kcfg_replaceInput->text()); - TQString deqoutedReplaceOutput=removeQoutes(kcfg_replaceOutput->text()); - - text.replace( TQRegExp(deqoutedReplaceInput), deqoutedReplaceOutput ); - exampleOutput->setText(text); -} - -void KAudiocdModule::defaults() { - load( false ); -} - -void KAudiocdModule::save() { - if (!configChanged ) return; - - { - TDEConfigGroupSaver saver(config, "CDDA"); - - // autosearch is the name of the config option, which has the - // reverse sense of the current text of the configuration option, - // which is specify the device. Therefore, invert the value on write. - // - config->writeEntry("autosearch", !(cd_specify_device->isChecked()) ); - config->writeEntry("device",cd_device_string->text()); - config->writeEntry("disable_paranoia",!(ec_enable_check->isChecked())); - config->writeEntry("never_skip",!(ec_skip_check->isChecked())); - config->writeEntry("niceLevel", niceLevel->value()); - } - - { - TDEConfigGroupSaver saver(config, "FileName"); - config->writeEntry("file_name_template", fileNameLineEdit->text()); - config->writeEntry("album_name_template", albumNameLineEdit->text()); - config->writeEntry("regexp_example", example->text()); - // save qouted if required - TQString replaceInput=kcfg_replaceInput->text(); - TQString replaceOutput=kcfg_replaceOutput->text(); - if (needsQoutes(replaceInput)) - { - replaceInput=TQString("\"")+replaceInput+TQString("\""); - } - if (needsQoutes(replaceOutput)) - { - replaceOutput=TQString("\"")+replaceOutput+TQString("\""); - } - config->writeEntry("regexp_search", replaceInput); - config->writeEntry("regexp_replace", replaceOutput); - } - - TDEConfigDialogManager *widget; - for ( widget = encoderSettings.first(); widget; widget = encoderSettings.next() ){ - widget->updateSettings(); - } - - config->sync(); - - configChanged = false; - -} - -void KAudiocdModule::load() { - load( false ); -} - -void KAudiocdModule::load(bool useDefaults) { - - config->setReadDefaults( useDefaults ); - - { - TDEConfigGroupSaver saver(config, "CDDA"); - - - // Specify <=> not autosearch, as explained above in ::save() - cd_specify_device->setChecked( !(config->readBoolEntry("autosearch",true)) ); - cd_device_string->setText(config->readEntry("device","/dev/cdrom")); - ec_enable_check->setChecked(!(config->readBoolEntry("disable_paranoia",false))); - ec_skip_check->setChecked(!(config->readBoolEntry("never_skip",true))); - niceLevel->setValue(config->readNumEntry("niceLevel", 0)); - } - - { - TDEConfigGroupSaver saver(config, "FileName"); - fileNameLineEdit->setText(config->readEntry("file_name_template", "%{albumartist} - %{number} - %{title}")); - albumNameLineEdit->setText(config->readEntry("album_name_template", "%{albumartist} - %{albumtitle}")); - kcfg_replaceInput->setText(config->readEntry("regexp_search")); - kcfg_replaceOutput->setText(config->readEntry("regexp_replace")); - example->setText(config->readEntry("example", i18n("Cool artist - example audio file.wav"))); - } - - TDEConfigDialogManager *widget; - for ( widget = encoderSettings.first(); widget; widget = encoderSettings.next() ){ - widget->updateWidgets(); - } - - emit changed( useDefaults ); -} - -void KAudiocdModule::slotModuleChanged() { - TDEConfigDialogManager *widget; - for ( widget = encoderSettings.first(); widget; widget = encoderSettings.next() ){ - if(widget->hasChanged()){ - slotConfigChanged(); - break; - } - } -} - -void KAudiocdModule::slotConfigChanged() { - configChanged = true; - emit changed(true); -} - -/* -# slot for the error correction settings -*/ -void KAudiocdModule::slotEcEnable() { - if (!(ec_skip_check->isChecked())) { - ec_skip_check->setChecked(true); - } else { - if (ec_skip_check->isEnabled()) { - ec_skip_check->setChecked(false); - } - } - - slotConfigChanged(); -} - -TQString KAudiocdModule::quickHelp() const -{ - return i18n("<h1>Audio CDs</h1> The Audio CD IO-Slave enables you to easily" - " create wav, MP3 or Ogg Vorbis files from your audio CD-ROMs or DVDs." - " The slave is invoked by typing <i>\"audiocd:/\"</i> in Konqueror's location" - " bar. In this module, you can configure" - " encoding, and device settings. Note that MP3 and Ogg" - " Vorbis encoding are only available if TDE was built with a recent" - " version of the LAME or Ogg Vorbis libraries."); -} - -extern "C" -{ - TDECModule *create_audiocd(TQWidget *parent, const char */*name*/) - { - return new KAudiocdModule(parent, "kcmaudiocd"); - } - -} |