summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--core/applets/volumeapplet/volume.cpp7
-rw-r--r--core/applets/volumeapplet/volumeappletimpl.cpp12
2 files changed, 17 insertions, 2 deletions
diff --git a/core/applets/volumeapplet/volume.cpp b/core/applets/volumeapplet/volume.cpp
index 069f8ab..19e71c5 100644
--- a/core/applets/volumeapplet/volume.cpp
+++ b/core/applets/volumeapplet/volume.cpp
@@ -269,128 +269,135 @@ void VolumeApplet::showVolControl(bool showMic)
// Create a small volume control window to adjust the volume with
VolumeControl *vc = new VolumeControl(showMic);
vc->slider->setValue( 100 - volumePercent );
// if (showMic)
// {
vc->mic->setValue( 100 - micPercent );
connect( vc->mic, SIGNAL( valueChanged( int ) ), this, SLOT( micMoved( int ) ) );
// }
vc->muteBox->setChecked( muted );
connect( vc->slider, SIGNAL( valueChanged( int ) ), this, SLOT( sliderMoved( int ) ) );
connect( vc->muteBox, SIGNAL( toggled( bool ) ), this, SLOT( mute( bool ) ) );
Config config("qpe");
config.setGroup("Volume");
vc->keyclicks->setChecked( config.readBoolEntry("KeySound",0));
vc->screentaps->setChecked( config.readBoolEntry("TouchSound",0));
vc->alarmSound->setChecked( config.readBoolEntry("AlarmSound",1));
connect( vc->alarmSound, SIGNAL(toggled(bool)), this, SLOT( alarmSoundCheckToggled(bool)));
connect( vc->keyclicks, SIGNAL(toggled(bool)), this, SLOT( keyclicksCheckToggled(bool)));
connect( vc->screentaps, SIGNAL(toggled(bool)), this, SLOT( screentapsCheckToggled(bool)));
QPoint curPos = mapToGlobal( rect().topLeft() );
vc->move( curPos.x()-(vc->sizeHint().width()/2+50), curPos.y() - 120 );
vc->show();
advancedTimer->stop();
}
void VolumeApplet::volumeChanged( bool nowMuted )
{
int previousVolume = volumePercent;
if ( !nowMuted )
readSystemVolume();
// Handle case where muting it toggled
if ( muted != nowMuted ) {
muted = nowMuted;
repaint( TRUE );
return;
}
// Avoid over repainting
if ( previousVolume != volumePercent )
repaint( 2, height() - 3, width() - 4, 2, FALSE );
}
void VolumeApplet::micChanged( bool nowMuted )
{
if (!nowMuted)
readSystemMic();
micMuted = nowMuted;
}
void VolumeApplet::mute( bool toggled )
{
muted = toggled;
// clear if removing mute
repaint( !toggled );
writeSystemVolume();
+ Config cfg("qpe");
+ cfg.setGroup("Volume");
+ if(muted)
+ cfg.writeEntry("Mute", "TRUE");
+ else
+ cfg.writeEntry("Mute", "FALSE");
+ cfg.write();
}
void VolumeApplet::sliderMoved( int percent )
{
setVolume( 100 - percent );
}
void VolumeApplet::micMoved( int percent )
{
setMic( 100 - percent );
}
void VolumeApplet::readSystemVolume()
{
Config cfg("qpe");
cfg.setGroup("Volume");
volumePercent = cfg.readNumEntry("VolumePercent");
}
void VolumeApplet::readSystemMic()
{
Config cfg("qpe");
cfg.setGroup("Volume");
micPercent = cfg.readNumEntry("Mic");
}
void VolumeApplet::setVolume( int percent )
{
// clamp volume percent to be between 0 and 100
volumePercent = (percent < 0) ? 0 : ((percent > 100) ? 100 : percent);
// repaint just the little volume rectangle
repaint( 2, height() - 3, width() - 4, 2, FALSE );
writeSystemVolume();
}
void VolumeApplet::setMic( int percent )
{
// clamp volume percent to be between 0 and 100
micPercent = (percent < 0) ? 0 : ((percent > 100) ? 100 : percent);
writeSystemMic();
}
void VolumeApplet::writeSystemVolume()
{
{
Config cfg("qpe");
cfg.setGroup("Volume");
cfg.writeEntry("VolumePercent",volumePercent);
}
#if ( defined Q_WS_QWS || defined(_WS_QWS_) ) && !defined(QT_NO_COP)
// Send notification that the volume has changed
QCopEnvelope( "QPE/System", "volumeChange(bool)" ) << muted;
#endif
}
void VolumeApplet::writeSystemMic()
{
{
Config cfg("qpe");
cfg.setGroup("Volume");
cfg.writeEntry("Mic",micPercent);
}
#if ( defined Q_WS_QWS || defined(_WS_QWS_) ) && !defined(QT_NO_COP)
diff --git a/core/applets/volumeapplet/volumeappletimpl.cpp b/core/applets/volumeapplet/volumeappletimpl.cpp
index fb2b79f..943e71a 100644
--- a/core/applets/volumeapplet/volumeappletimpl.cpp
+++ b/core/applets/volumeapplet/volumeappletimpl.cpp
@@ -1,66 +1,74 @@
/**********************************************************************
** 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.
**
**********************************************************************/
#include "volume.h"
#include "volumeappletimpl.h"
#include <qpe/qcopenvelope_qws.h>
-
+#include <qpe/config.h>
VolumeAppletImpl::VolumeAppletImpl()
: volume(0), ref(0)
{
}
VolumeAppletImpl::~VolumeAppletImpl()
{
delete volume;
}
QWidget *VolumeAppletImpl::applet( QWidget *parent )
{
if ( !volume )
volume = new VolumeApplet( parent );
- QCopEnvelope( "QPE/System", "volumeChange(bool)" ) << TRUE; //mute
+
+ Config cfg("qpe");
+ cfg.setGroup("Volume");
+ QString foo = cfg.readEntry("Mute","TRUE");
+ bool muted;
+ if(foo.find("TRUE",0,TRUE) != -1)
+ muted = TRUE;
+ else muted = FALSE;
+ QCopEnvelope( "QPE/System", "volumeChange(bool)" ) << muted; //mute
return volume;
}
int VolumeAppletImpl::position() const
{
return 6;
}
QRESULT VolumeAppletImpl::queryInterface( const QUuid &uuid, QUnknownInterface **iface )
{
*iface = 0;
if ( uuid == IID_QUnknown )
*iface = this;
else if ( uuid == IID_TaskbarApplet )
*iface = this;
if ( *iface )
(*iface)->addRef();
return QS_OK;
}
Q_EXPORT_INTERFACE()
{
Q_CREATE_INSTANCE( VolumeAppletImpl )
}