-rw-r--r-- | noncore/settings/sound/soundsettings.cpp | 17 | ||||
-rw-r--r-- | noncore/settings/sound/soundsettings.h | 1 | ||||
-rw-r--r-- | noncore/settings/sound/soundsettingsbase.cpp | 8 | ||||
-rw-r--r-- | noncore/settings/sound/soundsettingsbase.h | 2 |
4 files changed, 24 insertions, 4 deletions
diff --git a/noncore/settings/sound/soundsettings.cpp b/noncore/settings/sound/soundsettings.cpp index 09d2e92..4bc86fa 100644 --- a/noncore/settings/sound/soundsettings.cpp +++ b/noncore/settings/sound/soundsettings.cpp @@ -1,207 +1,220 @@ /********************************************************************** ** Copyright (C) 2000 Trolltech AS. All rights reserved. ** ** This file is part of Qtopia Environment. ** ** This file may be distributed and/or modified under the terms of the ** GNU General Public License version 2 as published by the Free Software ** Foundation and appearing in the file LICENSE.GPL included in the ** packaging of this file. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ** See http://www.trolltech.com/gpl/ for GPL licensing information. ** ** Contact info@trolltech.com if any conditions of this licensing are ** not clear to you. ** **********************************************************************/ // parts copyright 2002 L.J. Potter #include "soundsettings.h" #include <qpe/qpeapplication.h> #include <qpe/config.h> #include <qpe/qcopenvelope_qws.h> #include <qpe/storage.h> #include <qcheckbox.h> #include <qcombobox.h> #include <qlabel.h> #include <sys/utsname.h> #include <sys/time.h> #include <sys/types.h> #include <unistd.h> #include <stdio.h> #include <sys/stat.h> SoundSettings::SoundSettings( QWidget* parent, const char* objname, WFlags fl ) : SoundSettingsBase( parent, objname, TRUE, fl ) { keyReset=FALSE; noWarning=false; Config config( "qpe"); config.setGroup( "Volume" ); Config cfg("Vmemo"); connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) ); AlertCheckBox->setChecked(cfg.readBoolEntry("Alert")); cfg.setGroup("Record"); int rate=config.readNumEntry("SampleRate", 22050); if(rate == 8000) sampleRate->setCurrentItem(0); else if(rate == 11025) sampleRate->setCurrentItem(1); else if(rate == 22050) sampleRate->setCurrentItem(2); else if(rate == 33075) sampleRate->setCurrentItem(3); else if(rate==44100) sampleRate->setCurrentItem(4); stereoCheckBox->setChecked(cfg.readNumEntry("Stereo", 0)); //TODO hide if zaurus- mono only #if defined(QT_QWS_IPAQ) || defined(QT_QWS_SL5XXX) //since ipaq and zaurus have particular //devices bool systemZaurus=FALSE; struct utsname name; /* check for embedix kernel running on the zaurus*/ if (uname(&name) != -1) {// TODO change this here,... QString release=name.release; if( release.find("embedix",0,TRUE) != -1) { qDebug("IS System Zaurus"); systemZaurus=TRUE; } } if(!systemZaurus) { stereoCheckBox->setChecked(TRUE); } stereoCheckBox->setEnabled(FALSE); sixteenBitCheckBox->setEnabled(FALSE); #else #endif int sRate=cfg.readNumEntry("SizeLimit", 30); qDebug("%d",sRate); if(sRate ==30) timeLimitComboBox->setCurrentItem(0); else if(sRate==20) timeLimitComboBox->setCurrentItem(1); else if(sRate == 15) timeLimitComboBox->setCurrentItem(2); else if(sRate == 10) timeLimitComboBox->setCurrentItem(3); else if(sRate == 5) timeLimitComboBox->setCurrentItem(4); else timeLimitComboBox->setCurrentItem(5); sixteenBitCheckBox->setChecked(cfg.readNumEntry("SixteenBit", 1)); cfg.setGroup("Defaults"); keyComboBox->setCurrentItem(cfg.readNumEntry("toggleKey") ); updateStorageCombo(); + + Config vmCfg("Vmemo"); + vmCfg.setGroup("Defaults"); + adpcmCheckBox->setChecked( vmCfg.readBoolEntry("use_ADPCM", 0)); + connect( LocationComboBox,SIGNAL(activated(const QString &)), this, SLOT( setLocation(const QString &))); connect( keyComboBox,SIGNAL(activated( int)), this, SLOT( setKeyButton( int))); connect( timeLimitComboBox,SIGNAL(activated( const QString &)), this, SLOT( setSizeLimitButton(const QString &))); connect( restartCheckBox,SIGNAL( toggled( bool)), this, SLOT( restartOpie( bool))); -// connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) ); + connect( adpcmCheckBox,SIGNAL( toggled( bool)), this, + SLOT( slotAdpcm( bool))); + + // connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) ); } void SoundSettings::updateStorageCombo() { Config config( "Vmemo" ); config.setGroup( "System" ); QString loc = config.readEntry("RecLocation","/"); int i=0; int set=0; StorageInfo storageInfo; QString sName, sPath; QStringList list; list << "Documents : "+QPEApplication::documentDir(); list << "tmp : /tmp"; const QList<FileSystem> &fs = storageInfo.fileSystems(); QListIterator<FileSystem> it ( fs ); for( ; it.current(); ++it ){ const QString name = (*it)->name(); const QString path = (*it)->path(); qDebug("storage name "+name +" storage path is "+path); list << name + ": " +path; if( loc.find( path,0,TRUE) != -1) set = i; // if(dit.current()->file().find(path) != -1 ) storage=name; i++; } LocationComboBox->insertStringList(list); qDebug("set item %d", set); LocationComboBox->setCurrentItem(set); } void SoundSettings::setLocation(const QString & string) { Config config( "Vmemo" ); config.setGroup( "System" ); config.writeEntry("RecLocation",string); qDebug("set location "+string); config.write(); } void SoundSettings::cleanUp() { Config cfg("Vmemo"); cfg.writeEntry("Alert",AlertCheckBox->isChecked()); cfg.setGroup("Record"); cfg.writeEntry("SampleRate",sampleRate->currentText()); cfg.writeEntry("Stereo",stereoCheckBox->isChecked()); cfg.writeEntry("SixteenBit",sixteenBitCheckBox->isChecked()); - if(keyReset && noWarning) { QCopEnvelope ("QPE/System", "restart()"); } } void SoundSettings::setKeyButton( int index) { Config cfg("Vmemo"); cfg.setGroup("Defaults"); cfg.writeEntry( "toggleKey", index ); keyReset = TRUE; if( index == 1) { cfg.writeEntry( "hideIcon", 0 ); keyLabel->setText(tr("Shows icon")); } else { cfg.writeEntry( "hideIcon", 1); keyLabel->setText(tr("Hides icon")); } cfg.write(); } void SoundSettings::updateLocationCombo() { } void SoundSettings::setSizeLimitButton(const QString &index) { Config cfg("Vmemo"); cfg.setGroup("Record"); if(index.find("Unlimited",0,TRUE) != -1) cfg.writeEntry("SizeLimit", -1); else cfg.writeEntry("SizeLimit", index); cfg.write(); } void SoundSettings::restartOpie(bool b) { noWarning=b; } +void SoundSettings::slotAdpcm(bool b) { + Config vmCfg("Vmemo"); + vmCfg.setGroup("Defaults"); + vmCfg.writeEntry("use_ADPCM", b); + vmCfg.write(); +} diff --git a/noncore/settings/sound/soundsettings.h b/noncore/settings/sound/soundsettings.h index 0f3605e..71ce6f5 100644 --- a/noncore/settings/sound/soundsettings.h +++ b/noncore/settings/sound/soundsettings.h @@ -1,51 +1,52 @@ /********************************************************************** ** Copyright (C) 2000 Trolltech AS. All rights reserved. ** ** This file is part of Qtopia Environment. ** ** This file may be distributed and/or modified under the terms of the ** GNU General Public License version 2 as published by the Free Software ** Foundation and appearing in the file LICENSE.GPL included in the ** packaging of this file. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ** See http://www.trolltech.com/gpl/ for GPL licensing information. ** ** Contact info@trolltech.com if any conditions of this licensing are ** not clear to you. ** **********************************************************************/ #ifndef SOUNDSETTINGS_H #define SOUNDSETTINGS_H #include "soundsettingsbase.h" class SoundSettings : public SoundSettingsBase { Q_OBJECT public: SoundSettings( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); protected: bool noWarning; /* void accept(); */ /* void reject(); */ void updateStorageCombo(); void updateLocationCombo(); private slots: void setKeyButton( int); void setSizeLimitButton(const QString &); void setLocation(const QString &); void cleanUp(); void restartOpie(bool); + void slotAdpcm(bool); }; #endif // SOUNDSETTINGS_H diff --git a/noncore/settings/sound/soundsettingsbase.cpp b/noncore/settings/sound/soundsettingsbase.cpp index af794ba..f283119 100644 --- a/noncore/settings/sound/soundsettingsbase.cpp +++ b/noncore/settings/sound/soundsettingsbase.cpp @@ -1,176 +1,180 @@ /**************************************************************************** ** Form implementation generated from reading ui file 'soundsettingsbase.ui' ** ** Created: Sun May 19 12:11:35 2002 ** by: The User Interface Compiler (uic) ** ** WARNING! All changes made in this file will be lost! ****************************************************************************/ #include "soundsettingsbase.h" #include <qcheckbox.h> #include <qcombobox.h> #include <qlabel.h> #include <qlayout.h> #include <qpixmap.h> static const char* const image0_data[] = { "16 16 3 1", ". c None", "a c #000000", "# c #ff0000", "............#...", "............##..", "..........#..#..", ".....a..#..#.#..", "....aa..##.#..#.", "...aaa...#.##.#.", "aaaaaa.#.#..#.##", "aaaaaa.#.##.#.##", "aaaaaa.#.##.#.##", "aaaaaa.#.##.#.##", "aaaaaa.#.#..#.##", "...aaa...#.##.#.", "....aa..#..#..#.", ".....a.....#.##.", "..........#..#..", "............##.."}; static const char* const image1_data[] = { "16 16 3 1", ". c None", "# c #000000", "a c #ff0000", "................", "................", "................", ".....#..........", "....##..........", "...###...a...a..", "######..aaa.aaa.", "######...aaaaa..", "######....aaa...", "######...aaaaa..", "######..aaa.aaa.", "...###...a...a..", "....##..........", ".....#..........", "................", "................"}; /* * Constructs a SoundSettingsBase which is a child of 'parent', with the * name 'name' and widget flags set to 'f' * * The dialog will by default be modeless, unless you set 'modal' to * TRUE to construct a modal dialog. */ SoundSettingsBase::SoundSettingsBase( QWidget* parent, const char* name, bool modal, WFlags fl ) : QMainWindow( parent, name, fl ) { QPixmap image0( ( const char** ) image0_data ); QPixmap image1( ( const char** ) image1_data ); if ( !name ) setName( "SoundSettingsBase" ); // resize(255,301); setCaption( tr( "Vmemo Settings" ) ); SoundSettingsBaseLayout = new QGridLayout( this ); SoundSettingsBaseLayout->setSpacing( 4 ); SoundSettingsBaseLayout->setMargin( 4 ); QHBoxLayout *Layout11; Layout11 = new QHBoxLayout; Layout11->setSpacing( 4 ); Layout11->setMargin( 0 ); stereoCheckBox = new QCheckBox( this, "stereoCheckBox" ); stereoCheckBox->setText( tr( "Stereo" ) ); Layout11->addWidget( stereoCheckBox ); sixteenBitCheckBox = new QCheckBox( this, "sixteenBitCheckBox" ); sixteenBitCheckBox->setText( tr( "16 bit" ) ); Layout11->addWidget( sixteenBitCheckBox ); AlertCheckBox = new QCheckBox( this, "AlertCheckBox" ); AlertCheckBox->setText( tr( "Visual Alerts" ) ); Layout11->addWidget( AlertCheckBox ); SoundSettingsBaseLayout->addLayout( Layout11, 0, 0); sampleRateLabel = new QLabel(this, "sampleRateLabel" ); sampleRateLabel->setText( tr( "Sample Rate:" ) ); SoundSettingsBaseLayout->addMultiCellWidget( sampleRateLabel , 1, 1, 0, 0, 1); sampleRate = new QComboBox( FALSE,this, "sampleRate" ); sampleRate->insertItem( tr( "8000" ) ); sampleRate->insertItem( tr( "11025" ) ); sampleRate->insertItem( tr( "22050" ) ); sampleRate->insertItem( tr( "33075" ) ); sampleRate->insertItem( tr( "44100" ) ); SoundSettingsBaseLayout->addMultiCellWidget( sampleRate, 2, 2, 0, 0, 1 ); TextLabel1 = new QLabel( this, "TextLabel1" ); TextLabel1->setText( tr( "Recording Directory:" ) ); SoundSettingsBaseLayout->addMultiCellWidget( TextLabel1, 3, 3, 0, 0, 1); LocationComboBox = new QComboBox( FALSE, this, "LocationComboBox" ); SoundSettingsBaseLayout->addMultiCellWidget( LocationComboBox, 4, 4, 0, 8, 1); QLabel *TextLabelKey; TextLabelKey = new QLabel( this, "TextLabelKey" ); TextLabelKey->setText( tr( "Recording Key:" ) ); SoundSettingsBaseLayout->addMultiCellWidget(TextLabelKey , 5, 5, 0, 0, 1); keyComboBox = new QComboBox( FALSE, this, "keyComboBox" ); keyComboBox->insertItem( tr( "" ) ); keyComboBox->insertItem( tr( "Taskbar Icon" ) ); keyComboBox->insertItem( tr( "Key_Record" ) ); keyComboBox->insertItem( tr( "Key_Space" ) ); keyComboBox->insertItem( tr( "Key_Home" ) ); keyComboBox->insertItem( tr( "Key_Calender" ) ); keyComboBox->insertItem( tr( "Key_Contacts" ) ); keyComboBox->insertItem( tr( "Key_Menu" ) ); keyComboBox->insertItem( tr( "Key_Mail" ) ); SoundSettingsBaseLayout->addMultiCellWidget( keyComboBox , 6, 6, 0, 0 ,1); keyLabel= new QLabel( this, "keyLabel" ); SoundSettingsBaseLayout->addMultiCellWidget( keyLabel , 6, 6, 0, 2, 3); QLabel *timeLimitLabel; timeLimitLabel= new QLabel( this, "timeLimitLabel" ); timeLimitLabel->setText( tr( "Recording Limit in seconds:" ) ); SoundSettingsBaseLayout->addMultiCellWidget( timeLimitLabel , 7, 7, 0, 0, 1); timeLimitComboBox = new QComboBox( FALSE, this, "timeLimitComboBox" ); timeLimitComboBox->insertItem( tr( "30" ) ); timeLimitComboBox->insertItem( tr( "20" ) ); timeLimitComboBox->insertItem( tr( "15" ) ); timeLimitComboBox->insertItem( tr( "10" ) ); timeLimitComboBox->insertItem( tr( "5" ) ); timeLimitComboBox->insertItem( tr( "Unlimited" ) ); SoundSettingsBaseLayout->addMultiCellWidget(timeLimitComboBox , 8, 8, 0, 0, 1); restartCheckBox= new QCheckBox( this, "restartCheck" ); restartCheckBox->setText( tr( "Restart Opie if needed" ) ); SoundSettingsBaseLayout->addMultiCellWidget( restartCheckBox , 9, 9, 0, 0, 1); - + + adpcmCheckBox = new QCheckBox( this, "adpcmCheck" ); + adpcmCheckBox->setText( tr( "Use ADPCM compression" ) ); + + SoundSettingsBaseLayout->addMultiCellWidget( adpcmCheckBox , 10, 10, 0, 0, 1); QSpacerItem* spacer4 = new QSpacerItem( 20, 20, QSizePolicy::Expanding, QSizePolicy::Expanding ); - SoundSettingsBaseLayout->addItem( spacer4, 9, 0 ); + SoundSettingsBaseLayout->addItem( spacer4, 10, 0 ); } /* * Destroys the object and frees any allocated resources */ SoundSettingsBase::~SoundSettingsBase() { // no need to delete child widgets, Qt does it all for us } diff --git a/noncore/settings/sound/soundsettingsbase.h b/noncore/settings/sound/soundsettingsbase.h index e6bc186..48c31e8 100644 --- a/noncore/settings/sound/soundsettingsbase.h +++ b/noncore/settings/sound/soundsettingsbase.h @@ -1,60 +1,62 @@ /**************************************************************************** ** Form interface generated from reading ui file 'soundsettingsbase.ui' ** ** Created: Thu May 23 11:23:38 2002 ** by: The User Interface Compiler (uic) ** ** WARNING! All changes made in this file will be lost! ****************************************************************************/ #ifndef SOUNDSETTINGSBASE_H #define SOUNDSETTINGSBASE_H #include <qvariant.h> #include <qdialog.h> #include <qmainwindow.h> class QVBoxLayout; class QHBoxLayout; class QGridLayout; class QCheckBox; class QComboBox; class QGroupBox; class QLabel; class QSlider; class SoundSettingsBase : public QMainWindow { Q_OBJECT public: SoundSettingsBase( QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 ); ~SoundSettingsBase(); QLabel* PixmapLabel1_2; QLabel* TextLabel1_2; QLabel *keyLabel; /* QLabel* volLabel; */ /* QLabel* micLabel; */ /* QSlider* volume; */ /* QSlider* mic; */ /* QLabel* PixmapLabel2_2; */ /* QLabel* TextLabel2_2; */ /* QGroupBox* GroupBox1; */ QLabel* sampleRateLabel; QComboBox* sampleRate; QCheckBox* stereoCheckBox; QCheckBox* sixteenBitCheckBox; QCheckBox* AlertCheckBox; QLabel* TextLabel1; QComboBox* LocationComboBox; QComboBox* keyComboBox; QComboBox* timeLimitComboBox; QCheckBox *restartCheckBox; + QCheckBox *adpcmCheckBox; + bool keyReset; protected: QGridLayout* SoundSettingsBaseLayout; protected slots: }; #endif // SOUNDSETTINGSBASE_H |