summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2002-08-29 23:28:09 (UTC)
committer llornkcor <llornkcor>2002-08-29 23:28:09 (UTC)
commitc4af3c78c9f6f073c1e0b11b331a2e24df80b9ff (patch) (side-by-side diff)
treebf090bfc613bf84852b1a389877a8180af061595
parent598b2f4c404c2e12f59c2abc765f58bb8d0862a3 (diff)
downloadopie-c4af3c78c9f6f073c1e0b11b331a2e24df80b9ff.zip
opie-c4af3c78c9f6f073c1e0b11b331a2e24df80b9ff.tar.gz
opie-c4af3c78c9f6f073c1e0b11b331a2e24df80b9ff.tar.bz2
fix for opie restart. not a checkbox to activate restart on close of vmemo sound settings. does not remember, and default is to not restart
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/settings/sound/opie-sound.control10
-rw-r--r--noncore/settings/sound/soundsettings.cpp48
-rw-r--r--noncore/settings/sound/soundsettings.h4
-rw-r--r--noncore/settings/sound/soundsettingsbase.cpp10
-rw-r--r--noncore/settings/sound/soundsettingsbase.h2
5 files changed, 44 insertions, 30 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
+#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;
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:
+ if(keyReset && noWarning) {
QCopEnvelope ("QPE/System", "restart()");
- break;
- };
}
}
-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 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