-rw-r--r-- | core/applets/volumeapplet/volume.cpp | 7 | ||||
-rw-r--r-- | core/applets/volumeapplet/volumeappletimpl.cpp | 12 |
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 ) } |