-rw-r--r-- | noncore/settings/sound/opie-sound.control | 10 | ||||
-rw-r--r-- | noncore/settings/sound/soundsettings.cpp | 54 | ||||
-rw-r--r-- | noncore/settings/sound/soundsettings.h | 6 | ||||
-rw-r--r-- | noncore/settings/sound/soundsettingsbase.cpp | 10 | ||||
-rw-r--r-- | noncore/settings/sound/soundsettingsbase.h | 2 |
5 files changed, 48 insertions, 34 deletions
diff --git a/noncore/settings/sound/opie-sound.control b/noncore/settings/sound/opie-sound.control deleted file mode 100644 index 3d42ca0..0000000 --- a/noncore/settings/sound/opie-sound.control +++ b/dev/null @@ -1,10 +0,0 @@ -Files: bin/sound apps/Settings/Sound.desktop -Priority: optional -Section: opie/settings -Maintainer: L.J. Potter -Architecture: arm -Arch: iPAQ -Version: $QPE_VERSION-$SUB_VERSION.2 -Depends: opie-base ($QPE_VERSION) -Description: Sound settings dialog - For the Opie environment. diff --git a/noncore/settings/sound/soundsettings.cpp b/noncore/settings/sound/soundsettings.cpp index 20f0dab..dd341c0 100644 --- a/noncore/settings/sound/soundsettings.cpp +++ b/noncore/settings/sound/soundsettings.cpp @@ -1,201 +1,211 @@ /********************************************************************** ** 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 <qmessagebox.h> #include <qapplication.h> #include <qslider.h> #include <qcheckbox.h> #include <qlineedit.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 + stereoCheckBox->setChecked(cfg.readNumEntry("Stereo", 0)); +//TODO hide if zaurus- mono only -#if defined(QT_QWS_IPAQ) || defined(QT_QWS_EBX) //since ipaq and zaurus have particular - //devices +#if defined(QT_QWS_IPAQ) || defined(QT_QWS_EBX) +//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(); - connect( LocationComboBox,SIGNAL(activated(const QString &)),this,SLOT( setLocation(const QString &))); - connect( keyComboBox,SIGNAL(activated(const QString &)),this,SLOT( setKeyButton(const QString &))); - connect( timeLimitComboBox,SIGNAL(activated( const QString &)),this,SLOT( setSizeLimitButton(const QString &))); + 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()) ); } 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; +// 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) { - switch ( QMessageBox::warning(this,tr("Restart"), - tr("To implement a new key switch\nOpie will have to be restarted./n<B>Restart</B> Opie now?"), - tr("Yes"),tr("No"),0,1,1) ) { - case 0: - QCopEnvelope ("QPE/System", "restart()"); - break; - }; + if(keyReset && noWarning) { + QCopEnvelope ("QPE/System", "restart()"); } } -void SoundSettings::setKeyButton(const QString &name) { +void SoundSettings::setKeyButton( int index) { Config cfg("Vmemo"); cfg.setGroup("Defaults"); - cfg.writeEntry( "toggleKey", keyComboBox->currentItem() ); + cfg.writeEntry( "toggleKey", index ); keyReset = TRUE; - if(keyComboBox->currentItem() == 1) + if( index == 1) { cfg.writeEntry( "hideIcon", 0 ); - else + 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; +} + diff --git a/noncore/settings/sound/soundsettings.h b/noncore/settings/sound/soundsettings.h index 6b8b835..0f3605e 100644 --- a/noncore/settings/sound/soundsettings.h +++ b/noncore/settings/sound/soundsettings.h @@ -1,49 +1,51 @@ /********************************************************************** ** 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(const QString &); + void setKeyButton( int); void setSizeLimitButton(const QString &); void setLocation(const QString &); - void cleanUp(); + void cleanUp(); + void restartOpie(bool); }; #endif // SOUNDSETTINGS_H diff --git a/noncore/settings/sound/soundsettingsbase.cpp b/noncore/settings/sound/soundsettingsbase.cpp index 05b4b7e..1a60109 100644 --- a/noncore/settings/sound/soundsettingsbase.cpp +++ b/noncore/settings/sound/soundsettingsbase.cpp @@ -54,122 +54,132 @@ static const char* const image1_data[] = { "................", "................", "................", ".....#..........", "....##..........", "...###...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_Escape" ) ); 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); + + QSpacerItem* spacer4 = new QSpacerItem( 20, 20, QSizePolicy::Expanding, QSizePolicy::Expanding ); SoundSettingsBaseLayout->addItem( spacer4, 9, 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 30f32ca..e6bc186 100644 --- a/noncore/settings/sound/soundsettingsbase.h +++ b/noncore/settings/sound/soundsettingsbase.h @@ -1,58 +1,60 @@ /**************************************************************************** ** 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; bool keyReset; protected: QGridLayout* SoundSettingsBaseLayout; protected slots: }; #endif // SOUNDSETTINGSBASE_H |