author | llornkcor <llornkcor> | 2005-02-18 08:35:49 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2005-02-18 08:35:49 (UTC) |
commit | 0f1ae1478122e2f65f8d477d9baad8de15df1eb2 (patch) (side-by-side diff) | |
tree | 903fe5a875bfd9fda0fccf7d8ba4b8eda9a3a07c | |
parent | 436a26541402c85a24eaf9ffb3ab2e866631000c (diff) | |
download | opie-0f1ae1478122e2f65f8d477d9baad8de15df1eb2.zip opie-0f1ae1478122e2f65f8d477d9baad8de15df1eb2.tar.gz opie-0f1ae1478122e2f65f8d477d9baad8de15df1eb2.tar.bz2 |
change to dialog so user can cancel
-rw-r--r-- | noncore/settings/sound/soundsettings.cpp | 71 | ||||
-rw-r--r-- | noncore/settings/sound/soundsettings.h | 5 | ||||
-rw-r--r-- | noncore/settings/sound/soundsettingsbase.cpp | 3 | ||||
-rw-r--r-- | noncore/settings/sound/soundsettingsbase.h | 5 |
4 files changed, 50 insertions, 34 deletions
diff --git a/noncore/settings/sound/soundsettings.cpp b/noncore/settings/sound/soundsettings.cpp index d55a751..df3def5 100644 --- a/noncore/settings/sound/soundsettings.cpp +++ b/noncore/settings/sound/soundsettings.cpp @@ -1,224 +1,235 @@ /********************************************************************** ** 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" /* OPIE */ #include <opie2/odebug.h> #include <qpe/qpeapplication.h> #include <qpe/config.h> #include <qpe/qcopenvelope_qws.h> #include <qpe/storage.h> using namespace Opie::Core; /* QT */ #include <qcheckbox.h> #include <qcombobox.h> #include <qlabel.h> /* STD */ #include <sys/utsname.h> #include <sys/time.h> #include <sys/types.h> #include <unistd.h> #include <sys/stat.h> SoundSettings::SoundSettings( QWidget* parent, const char* objname, WFlags fl ) - : SoundSettingsBase( parent, objname, TRUE, fl ) + : SoundSettingsBase( parent, objname, true, fl ) { - keyReset=FALSE; + keyReset=false; noWarning=false; Config config( "qpe"); config.setGroup( "Volume" ); Config cfg("Vmemo"); - connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) ); - AlertCheckBox->setChecked(cfg.readBoolEntry("Alert")); + + +// connect(qApp,SIGNAL(aboutToQuit()),SLOT(cleanUp())); + + AlertCheckBox->setChecked( cfg.readBoolEntry("Alert", 1)); 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; + 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) { + if( release.find("embedix",0,true) != -1) { odebug << "IS System Zaurus" << oendl; - systemZaurus=TRUE; + systemZaurus=true; } } if(!systemZaurus) { - stereoCheckBox->setChecked(TRUE); + stereoCheckBox->setChecked(true); } - stereoCheckBox->setEnabled(FALSE); - sixteenBitCheckBox->setEnabled(FALSE); + stereoCheckBox->setEnabled(false); + sixteenBitCheckBox->setEnabled(false); #else #endif int sRate=cfg.readNumEntry("SizeLimit", 30); odebug << "" << sRate << "" << oendl; 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") ); + recordKey = cfg.readNumEntry("toggleKey"); + keyComboBox->setCurrentItem( recordKey); 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( adpcmCheckBox,SIGNAL( toggled(bool)), this, - SLOT( slotAdpcm(bool))); + 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(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(); odebug << "storage name "+name +" storage path is "+path << oendl; list << name + ": " +path; - if( loc.find( path,0,TRUE) != -1) + if( loc.find( path,0,true) != -1) set = i; // if(dit.current()->file().find(path) != -1 ) storage=name; i++; } LocationComboBox->insertStringList(list); odebug << "set item " << set << "" << oendl; LocationComboBox->setCurrentItem(set); } void SoundSettings::setLocation(const QString & string) { Config config( "Vmemo" ); config.setGroup( "System" ); config.writeEntry("RecLocation",string); odebug << "set location "+string << oendl; config.write(); } + void SoundSettings::accept() { + cleanUp(); + qApp->quit(); +} + + 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()"); } + cfg.setGroup("Defaults"); + cfg.writeEntry( "toggleKey", recordKey); + if( recordKey == 1) { + cfg.writeEntry( "hideIcon", 0 ); + } + else { + cfg.writeEntry( "hideIcon", 1); + } + cfg.write(); } void SoundSettings::setKeyButton( int index) { - Config cfg("Vmemo"); - cfg.setGroup("Defaults"); - cfg.writeEntry( "toggleKey", index ); - keyReset = TRUE; + recordKey = index; + restartCheckBox->setChecked(true); + 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) + 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 57a360f..9db664a 100644 --- a/noncore/settings/sound/soundsettings.h +++ b/noncore/settings/sound/soundsettings.h @@ -1,53 +1,56 @@ /********************************************************************** ** 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: static QString appName() { return QString::fromLatin1("sound"); } SoundSettings( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); +// ~SoundSettings(); protected: + int recordKey, hideIt; bool noWarning; -/* void accept(); */ + void accept(); /* void reject(); */ void updateStorageCombo(); void updateLocationCombo(); private slots: +//void closeEvent(QCloseEvent * ); 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 84187d2..2d894c6 100644 --- a/noncore/settings/sound/soundsettingsbase.cpp +++ b/noncore/settings/sound/soundsettingsbase.cpp @@ -1,180 +1,181 @@ /**************************************************************************** ** 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 ) + : QDialog( parent, name, 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( "" ); 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, 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 48c31e8..0234925 100644 --- a/noncore/settings/sound/soundsettingsbase.h +++ b/noncore/settings/sound/soundsettingsbase.h @@ -1,62 +1,63 @@ /**************************************************************************** ** 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> +//#include <qmainwindow.h> class QVBoxLayout; class QHBoxLayout; class QGridLayout; class QCheckBox; class QComboBox; class QGroupBox; class QLabel; class QSlider; -class SoundSettingsBase : public QMainWindow +class SoundSettingsBase : public QDialog +//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 |