summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/applets/volumeapplet/volume.cpp1
-rw-r--r--core/applets/volumeapplet/volumeappletimpl.cpp10
2 files changed, 7 insertions, 4 deletions
diff --git a/core/applets/volumeapplet/volume.cpp b/core/applets/volumeapplet/volume.cpp
index e8921f0..069f8ab 100644
--- a/core/applets/volumeapplet/volume.cpp
+++ b/core/applets/volumeapplet/volume.cpp
@@ -1,112 +1,113 @@
/**********************************************************************
** 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 <qpe/resource.h>
#include <qpe/qpeapplication.h>
#include <qpe/config.h>
#if ( defined Q_WS_QWS || defined(_WS_QWS_) ) && !defined(QT_NO_COP)
#include <qpe/qcopenvelope_qws.h>
#endif
#include <qpainter.h>
#include <qcheckbox.h>
#include <qslider.h>
#include <qlayout.h>
#include <qframe.h>
#include <qpixmap.h>
#include <qlabel.h>
#include <qpushbutton.h>
#include <qtimer.h>
#define RATE_TIMER_INTERVAL 100
// Ten times per second is fine (RATE_TIMER_INTERVAL 100). A shorter time
// results in "hanging" buttons on the iPAQ due to quite high CPU consumption.
VolumeControl::VolumeControl( bool showMic, QWidget *parent, const char *name )
: QFrame( parent, name, WDestructiveClose | WStyle_StaysOnTop | WType_Popup )
{
+ QCopEnvelope( "QPE/System", "volumeChange(bool)" ) << TRUE; //mute
setFrameStyle( QFrame::PopupPanel | QFrame::Raised );
createView(showMic);
}
void VolumeControl::createView(bool showMic)
{
Config cfg("qpe");
cfg.setGroup("Volume");
//showMic = TRUE;
QHBoxLayout *hboxLayout = new QHBoxLayout(this);
hboxLayout->setMargin( 3 );
hboxLayout->setSpacing( 0);
QVBoxLayout *vboxButtons = new QVBoxLayout(this);
upButton = new QPushButton( this );
upButton->setSizePolicy( QSizePolicy( QSizePolicy::Minimum, QSizePolicy::Expanding ) );
upButton->setPixmap( Resource::loadPixmap( "up" ) );
downButton = new QPushButton( this );
downButton->setSizePolicy( QSizePolicy( QSizePolicy::Minimum, QSizePolicy::Expanding ) );
downButton->setPixmap( Resource::loadPixmap( "down" ) );
vboxButtons->setSpacing( 2 );
upButton->setFixedHeight(26);
downButton->setFixedHeight(26);
vboxButtons->addWidget( upButton );
vboxButtons->addWidget( downButton );
QVBoxLayout *vbox = new QVBoxLayout( this );
QHBoxLayout *hbox = NULL;
slider = new QSlider( this );
slider->setRange( 0, 100 );
slider->setTickmarks( QSlider::Both );
slider->setTickInterval( 20 );
slider->setFocusPolicy( QWidget::NoFocus );
slider->setValue(cfg.readNumEntry("VolumePercent"));
QVBoxLayout *sbox = new QVBoxLayout(this);
sbox->setMargin( 3 );
sbox->setSpacing( 3 );
sbox->addWidget( new QLabel("Vol", this) , 0, Qt::AlignVCenter | Qt::AlignHCenter );
sbox->addWidget( slider, 0, Qt::AlignVCenter | Qt::AlignHCenter );
// if (showMic == TRUE) {
mic = new QSlider(this);
mic->setRange( 0, 100 );
mic->setTickmarks( QSlider::Both );
mic->setTickInterval( 20 );
mic->setFocusPolicy( QWidget::NoFocus );
mic->setValue(cfg.readNumEntry("Mic"));
QVBoxLayout *mbox = new QVBoxLayout(this);
mbox->setMargin( 3 );
mbox->setSpacing( 3 );
mbox->addWidget( new QLabel("Mic", this) , 0, Qt::AlignVCenter | Qt::AlignHCenter );
mbox->addWidget( mic, 0, Qt::AlignVCenter | Qt::AlignHCenter );
hbox = new QHBoxLayout( this );
hbox->setMargin( 3 );
hbox->setSpacing( 3 );
hbox->addLayout( sbox, 1);
hbox->addLayout( mbox, 1);
// }
diff --git a/core/applets/volumeapplet/volumeappletimpl.cpp b/core/applets/volumeapplet/volumeappletimpl.cpp
index 676ab61..fb2b79f 100644
--- a/core/applets/volumeapplet/volumeappletimpl.cpp
+++ b/core/applets/volumeapplet/volumeappletimpl.cpp
@@ -1,64 +1,66 @@
/**********************************************************************
** 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>
VolumeAppletImpl::VolumeAppletImpl()
: volume(0), ref(0)
{
}
VolumeAppletImpl::~VolumeAppletImpl()
{
delete volume;
}
QWidget *VolumeAppletImpl::applet( QWidget *parent )
{
if ( !volume )
- volume = new VolumeApplet( parent );
+ volume = new VolumeApplet( parent );
+ QCopEnvelope( "QPE/System", "volumeChange(bool)" ) << TRUE; //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;
+ *iface = this;
else if ( uuid == IID_TaskbarApplet )
- *iface = this;
+ *iface = this;
if ( *iface )
- (*iface)->addRef();
+ (*iface)->addRef();
return QS_OK;
}
Q_EXPORT_INTERFACE()
{
Q_CREATE_INSTANCE( VolumeAppletImpl )
}