summaryrefslogtreecommitdiff
authorwimpie <wimpie>2005-01-04 01:24:34 (UTC)
committer wimpie <wimpie>2005-01-04 01:24:34 (UTC)
commitf7e9672b6064a7c4ac7e485c292e6192263b271a (patch) (side-by-side diff)
tree0e2955e6c9d49e9d57559ac73f07e67143c70b41
parent937acd0b191564bace4da11cbf6c912a6f2300cf (diff)
downloadopie-f7e9672b6064a7c4ac7e485c292e6192263b271a.zip
opie-f7e9672b6064a7c4ac7e485c292e6192263b271a.tar.gz
opie-f7e9672b6064a7c4ac7e485c292e6192263b271a.tar.bz2
oledbox is now in libopie2/opieui
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/applets/volumeapplet/oledbox.cpp274
-rw-r--r--core/applets/volumeapplet/oledbox.h51
-rw-r--r--core/applets/volumeapplet/volume.cpp2
-rw-r--r--core/applets/volumeapplet/volumeapplet.pro3
4 files changed, 3 insertions, 327 deletions
diff --git a/core/applets/volumeapplet/oledbox.cpp b/core/applets/volumeapplet/oledbox.cpp
deleted file mode 100644
index bf275a9..0000000
--- a/core/applets/volumeapplet/oledbox.cpp
+++ b/dev/null
@@ -1,274 +0,0 @@
-
-#include <qbitmap.h>
-#include <qpainter.h>
-
-#include "oledbox.h"
-
-
-#ifdef _QTE_IS_TOO_DUMB_TO_DRAW_AN_ARC
-
-/* XPM */
-static const char * ledborder_xpm[] = {
-"16 16 11 1",
-" c None",
-". c #626562",
-"+ c #7B7D7B",
-"@ c #949594",
-"# c #ACAEAC",
-"$ c #CDCACD",
-"% c #CDCECD",
-"; c #E6E6E6",
-"> c #FFFFFF",
-", c #E6E2E6",
-"' c #FFFAFF",
-" .++@@# ",
-" ...++@@##$ ",
-" .....+@##$$% ",
-" ..... #$%%% ",
-" ... %%; ",
-".... ;;;;",
-"++. ;>>",
-"+++ >>>",
-"@@@ >>>",
-"@@# >>>",
-"#### >>>>",
-" #$$ >>> ",
-" $$,,' >>>>> ",
-" ,,,''>>>>>>> ",
-" ,''>>>>>>> ",
-" '>>>>> "};
-
-
-QPixmap *OLedBox::s_border_pix = 0;
-
-#endif
-
-
-OLedBox::OLedBox ( const QColor &col, QWidget *parent, const char *name ) : QWidget ( parent, name )
-{
- m_color = col;
- m_on = false;
-
- m_pix [ 0 ] = m_pix [ 1 ] = false;
-
- setBackgroundMode ( PaletteBackground );
-
-#ifdef _QTE_IS_TOO_DUMB_TO_DRAW_AN_ARC
- if ( !s_border_pix )
- s_border_pix = new QPixmap ( ledborder_xpm );
-#endif
-}
-
-OLedBox::~OLedBox ( )
-{
- delete m_pix [ 0 ];
- delete m_pix [ 1 ];
-}
-
-QSize OLedBox::sizeHint ( ) const
-{
- return QSize ( 16, 16 );
-}
-
-bool OLedBox::isOn ( ) const
-{
- return m_on;
-}
-
-QColor OLedBox::color ( ) const
-{
- return m_color;
-}
-
-void OLedBox::setOn ( bool b )
-{
- if ( m_on != b ) {
- m_on = b;
- update ( );
- }
-}
-
-void OLedBox::toggle ( )
-{
- setOn ( !isOn ( ) );
-}
-
-void OLedBox::setColor ( const QColor &col )
-{
- if ( m_color != col ) {
- m_color = col;
-
- delete m_pix [ 0 ];
- delete m_pix [ 1 ];
-
- update ( );
- }
-}
-
-void OLedBox::mousePressEvent ( QMouseEvent *e )
-{
- if ( e-> button ( ) == LeftButton ) {
- m_on = !m_on;
- update ( );
- emit toggled ( m_on );
- }
-}
-
-
-void OLedBox::resizeEvent ( QResizeEvent * )
-{
- delete m_pix [ 0 ];
- delete m_pix [ 1 ];
-
- update ( );
-}
-
-void OLedBox::paintEvent ( QPaintEvent *e )
-{
- int ind = m_on ? 1 : 0;
-
- if ( !m_pix [ ind ] ) {
- m_pix [ ind ] = new QPixmap ( size ( ));
-
- drawLed ( m_pix [ ind ], m_on ? m_color : m_color. dark ( 300 ) );
- }
- if ( !e-> erased ( ))
- erase ( );
-
- QPainter p ( this );
- p. drawPixmap ( 0, 0, *m_pix [ ind ] );
-}
-
-// From KDE libkdeui / led.cpp
-
-void OLedBox::drawLed ( QPixmap *pix, const QColor &col ) // paint a ROUND SUNKEN led lamp
-{
- QPainter paint;
- QColor color;
- QBrush brush;
- QPen pen;
-
- pix-> fill ( black );
-
- // First of all we want to know what area should be updated
- // Initialize coordinates, width, and height of the LED
- int width = pix-> width ( );
-
- // Make sure the LED is round!
- if ( width > pix-> height ( ))
- width = pix-> height ( );
- width -= 2; // leave one pixel border
- if ( width < 0 )
- width = 0;
-
- // maybe we could stop HERE, if width <=0 ?
-
- // start painting widget
- //
- paint.begin( pix );
-
- // Set the color of the LED according to given parameters
- color = col;
-
- // Set the brush to SolidPattern, this fills the entire area
- // of the ellipse which is drawn first
- brush.setStyle( QBrush::SolidPattern );
- brush.setColor( color );
- paint.setBrush( brush ); // Assign the brush to the painter
-
- // Draws a "flat" LED with the given color:
- paint.drawEllipse( 1, 1, width, width );
-
- // Draw the bright light spot of the LED now, using modified "old"
- // painter routine taken from KDEUIs KLed widget:
-
- // Setting the new width of the pen is essential to avoid "pixelized"
- // shadow like it can be observed with the old LED code
- pen.setWidth( 2 );
-
- // shrink the light on the LED to a size about 2/3 of the complete LED
- int pos = width / 5 + 1;
- int light_width = width;
- light_width *= 2;
- light_width /= 3;
-
- // Calculate the LEDs "light factor":
- int light_quote = ( 130 * 2 / ( light_width ? light_width : 1 ) ) + 100;
-
- // Now draw the bright spot on the LED:
- while ( light_width )
- {
- color = color.light( light_quote ); // make color lighter
- pen.setColor( color ); // set color as pen color
- paint.setPen( pen ); // select the pen for drawing
- paint.drawEllipse( pos, pos, light_width, light_width ); // draw the ellipse (circle)
- light_width--;
- if ( !light_width )
- break;
- paint.drawEllipse( pos, pos, light_width, light_width );
- light_width--;
- if ( !light_width )
- break;
- paint.drawEllipse( pos, pos, light_width, light_width );
- pos++;
- light_width--;
- }
-
- // Drawing of bright spot finished, now draw a thin border
- // around the LED which resembles a shadow with light coming
- // from the upper left.
-
-#ifdef _QTE_IS_TOO_DUMB_TO_DRAW_AN_ARC
- paint. drawPixmap ( 0, 0, *s_border_pix );
- paint. end ( );
-
- pix-> setMask ( pix-> createHeuristicMask ( ));
-
-#else
- pen.setWidth( 3 );
- brush.setStyle( QBrush::NoBrush ); // Switch off the brush
- paint.setBrush( brush ); // This avoids filling of the ellipse
-
- // Set the initial color value to 200 (bright) and start
- // drawing the shadow border at 45 (45*16 = 720).
- int shadow_color = 200, angle;
-
- for ( angle = 720; angle < 6480; angle += 240 )
- {
- color.setRgb( shadow_color, shadow_color, shadow_color );
- pen.setColor( color );
- paint.setPen( pen );
- paint.drawArc( 0, 0, width+2, width+2, angle, 240 );
- paint.drawArc( 1, 1, width, width, angle, 240 );
- paint.drawArc( 2, 2, width-2, width-2, angle, 240 );
- if ( angle < 2320 ) {
- shadow_color -= 25; // set color to a darker value
- if ( shadow_color < 100 )
- shadow_color = 100;
- }
- else if ( ( angle > 2320 ) && ( angle < 5760 ) ) {
- shadow_color += 25; // set color to a brighter value
- if ( shadow_color > 255 )
- shadow_color = 255;
- }
- else {
- shadow_color -= 25; // set color to a darker value again
- if ( shadow_color < 100 )
- shadow_color = 100;
- } // end if ( angle < 2320 )
- } // end for ( angle = 720; angle < 6480; angle += 160 )
- paint.end();
- //
- // painting done
-
- QBitmap mask ( pix-> width ( ), pix-> height ( ), true );
- QPainter mp ( &mask );
- mp. setPen ( Qt::NoPen );
- mp. setBrush ( Qt::color1 );
- mp. drawEllipse ( 0, 0, width + 2, width + 2 );
- mp. end ( );
-
- pix-> setMask ( mask );
-#endif
-}
-
diff --git a/core/applets/volumeapplet/oledbox.h b/core/applets/volumeapplet/oledbox.h
deleted file mode 100644
index 4371a22..0000000
--- a/core/applets/volumeapplet/oledbox.h
+++ b/dev/null
@@ -1,51 +0,0 @@
-#ifndef __OPIE_OLED_H__
-#define __OPIE_OLED_H__
-
-#include <qwidget.h>
-#include <qcolor.h>
-
-class QPixmap;
-
-#define _QTE_IS_TOO_DUMB_TO_DRAW_AN_ARC
-
-class OLedBox : public QWidget {
- Q_OBJECT
-
-public:
- OLedBox ( const QColor &col = red, QWidget *parent = 0, const char *name = 0 );
- virtual ~OLedBox ( );
-
- QColor color ( ) const;
- bool isOn ( ) const;
-
- virtual QSize sizeHint ( ) const;
-
-public slots:
- void toggle ( );
- void setOn ( bool on );
- void setColor ( const QColor &col );
-
-signals:
- void toggled ( bool );
-
-protected:
- virtual void paintEvent ( QPaintEvent *e );
- virtual void resizeEvent ( QResizeEvent *e );
-
- virtual void mousePressEvent ( QMouseEvent *e );
-
-private:
- void drawLed ( QPixmap *, const QColor &col );
-
-private:
- QPixmap *m_pix [2];
-
- QColor m_color;
- bool m_on;
-
-#ifdef _QTE_IS_TOO_DUMB_TO_DRAW_AN_ARC
- static QPixmap *s_border_pix;
-#endif
-};
-
-#endif
diff --git a/core/applets/volumeapplet/volume.cpp b/core/applets/volumeapplet/volume.cpp
index 6a14d07..45c106a 100644
--- a/core/applets/volumeapplet/volume.cpp
+++ b/core/applets/volumeapplet/volume.cpp
@@ -1,535 +1,535 @@
/**********************************************************************
** 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 "oledbox.h"
+#include <opie2/oledbox.h>
#include <opie2/odevice.h>
#include <opie2/otaskbarapplet.h>
#include <qpe/resource.h>
#include <qpe/applnk.h>
#include <qpe/config.h>
#include <qpe/qcopenvelope_qws.h>
#include <qpainter.h>
#include <qcheckbox.h>
#include <qslider.h>
#include <qlayout.h>
#include <qvbox.h>
#include <qlabel.h>
#include <qpushbutton.h>
#include <qtimer.h>
#include <stdio.h>
using namespace Opie::Core;
#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.
/* XPM */
using namespace Opie::Ui;
static const char * vol_xpm[] = {
"20 20 3 1",
" c None",
". c #0000FF",
"+ c #000000",
" ",
" . ",
" . . . . ",
" . . . . . . ",
" . . . . . . . ",
" . . ..... . . ",
" . ... ..... ... ",
" ........... .... ",
" ................. ",
"++++++++++++++++++++",
" .................. ",
" . ............. . ",
" . ..... ....... ",
" . ... ..... . ",
" . ... ..... . ",
" . ... ..... ",
" . . . . . ",
" . . . ",
" . . . ",
" "};
/* XPM */
static const char * mic_xpm[] = {
"20 20 21 1",
" c None",
". c #000000",
"+ c #EEEEEE",
"@ c #B4B6B4",
"# c #8B8D8B",
"$ c #D5D6D5",
"% c #E6E6E6",
"& c #9C9D9C",
"* c #6A696A",
"= c #E6E2E6",
"- c #F6F2F6",
"; c #CDC6CD",
"> c #737573",
", c #4A484A",
"' c #DEDEDE",
") c #F6EEF6",
"! c #414041",
"~ c #202020",
"{ c #ACAEAC",
"] c #838583",
"^ c #6A656A",
" ",
" .... ",
" .+@+#. ",
" ..$%&%*. ",
" .=-.;=>=,. ",
" .'+).&+!+. ",
" .+;+;.~+~. ",
" ..%{%,.... ",
" ..&=>=~.. ",
" .+..]^,.. ",
" .+....... ",
" .%... ",
" .=... ",
" .+... ",
" .+... ",
" .... ",
" .... ",
" .. ",
" . ",
". "};
static const char * bass_xpm[] = {
"20 20 3 1",
" c None",
". c #000000",
"+ c #0000FF",
" ",
" ",
" ",
"..... +++ ......",
" +++++++ ",
" ++ ++ ",
"... ++ ... ++ ++ .",
" +++ ++ ++ ",
" ++++ ++ ",
"... ++++ .. ++ .....",
" ++ ++ ",
" ++ ++ ",
"..........++ ++ .",
" ++ ",
" ++ ",
"...... ++ .........",
" + ",
" ",
" ",
" "};
static const char * treble_xpm[] = {
"20 20 3 1",
" c None",
". c #0000FF",
"+ c #000000",
" .. ",
" . .. ",
" . .. ",
"++++++++ . .. ++++++",
" . . ",
" ... ",
"++++++++ . +++++++",
" .. ",
" .. . ",
"+++ .. ... +++++++",
" .. .. .. ",
" .. . . .. ",
"+++ .. . . + . +++++",
" .. . .. ",
" .. . .. ",
"++++ ...... +++++++",
" . ",
" .. . ",
" .. . ",
" .. "};
/* XPM */
static const char * alarm_xpm[] = {
"20 20 33 1",
" c None",
". c #080602",
"+ c #AAA602",
"@ c #252002",
"# c #434202",
"$ c #795602",
"% c #C3C20D",
"& c #DADAC2",
"* c #826002",
"= c #740502",
"- c #D6D602",
"; c #322E02",
"> c #826A02",
", c #F1F195",
"' c #959215",
") c #423602",
"! c #4B0302",
"~ c #844315",
"{ c #AAAA2A",
"] c #E2DE42",
"^ c #BA7E04",
"/ c #7F7502",
"( c #828276",
"_ c #FEFE4E",
": c #7D1902",
"< c #989656",
"[ c #260B02",
"} c #F7F7D8",
"| c #DCDA5A",
"1 c #823102",
"2 c #B1AC6B",
"3 c #F7F710",
"4 c #838204",
" ",
" ",
" 4'4/ ",
" /-^= ",
" 42{4>4 ",
" '2|+*$44 ",
" +2&3+$1*44 ",
" (%_}_+/$:>/4 ",
" 4%_}3+#;>:*4 ",
" 4%_}&+#[1$/4 ",
" 4%_,2')[~~>4 ",
" 4%33'4#@~1>4 ",
" 4%3344#[:>/4 ",
" 42&_3'4#@>:*44 ",
" 42|}}3'4#[;$)$44 ",
"444{]]2^~~:!!#.@##/ ",
"4444-%*:==!!=...../ ",
" /:[.. ",
" /@. ",
" "};
VolumeControl::VolumeControl ( VolumeApplet *icon, bool /*showMic*/, QWidget *parent, const char *name )
: QFrame ( parent, name, WStyle_StaysOnTop | WType_Popup )
{
m_icon = icon;
bool has_wav_alarm = true;
bool has_bass = true;
bool has_treble = true;
switch ( ODevice::inst ( )-> model ( )) { // we need to add other devices eventually
case Model_Zaurus_SL5000:
has_wav_alarm = false; //poor guys probably feeling left out...
break;
default:
break;
}
if ( !ODevice::inst()->modelString().contains( "Model_iPAQ" )) {
has_bass = false;
has_treble = false;
}
setFrameStyle ( QFrame::PopupPanel | QFrame::Raised );
QGridLayout *grid = new QGridLayout ( this, 1, 1, 6, 4 );
grid-> setSpacing ( 4 );
grid-> setMargin ( 6 );
QVBoxLayout *vbox;
QLabel *l;
vbox = new QVBoxLayout ( );
vbox-> setSpacing ( 4 );
grid-> addLayout ( vbox, 1, 0 );
upButton = new QPushButton ( this );
upButton-> setSizePolicy ( QSizePolicy ( QSizePolicy::Minimum, QSizePolicy::Expanding ));
upButton-> setPixmap ( Resource::loadPixmap ( "up" ));
upButton-> setFocusPolicy ( QWidget::NoFocus );
vbox-> addWidget ( upButton );
downButton = new QPushButton ( this );
downButton-> setSizePolicy ( QSizePolicy ( QSizePolicy::Minimum, QSizePolicy::Expanding ));
downButton-> setPixmap ( Resource::loadPixmap ( "down" ));
downButton-> setFocusPolicy ( QWidget::NoFocus );
vbox-> addWidget ( downButton );
volSlider = new QSlider ( this );
volSlider-> setRange ( 0, 100 );
volSlider-> setTickmarks ( QSlider::Both );
volSlider-> setTickInterval ( 20 );
volSlider-> setFocusPolicy ( QWidget::NoFocus );
l = new QLabel ( this );
l-> setPixmap ( QPixmap ( vol_xpm ));
grid-> addWidget ( l, 0, 1, AlignCenter );
grid-> addWidget ( volSlider, 1, 1, AlignCenter );
volLed = new OLedBox ( green, this );
volLed-> setFocusPolicy ( QWidget::NoFocus );
volLed-> setFixedSize ( 16, 16 );
grid-> addWidget ( volLed, 2, 1, AlignCenter );
QVBox *basstrebleBox = new QVBox( this );
trebleSlider = new QSlider ( basstrebleBox );
trebleSlider-> setRange ( 0, 100 );
trebleSlider-> setTickmarks ( QSlider::Both );
trebleSlider-> setTickInterval ( 20 );
trebleSlider->setMaximumHeight( 40 );
trebleSlider-> setFocusPolicy ( QWidget::NoFocus );
bassSlider = new QSlider ( basstrebleBox );
bassSlider-> setRange ( 0, 100 );
bassSlider-> setTickmarks ( QSlider::Both );
bassSlider-> setTickInterval ( 20 );
bassSlider->setMaximumHeight( 40 );
bassSlider-> setFocusPolicy ( QWidget::NoFocus );
QLabel *bassLabel = new QLabel ( this );
bassLabel-> setPixmap ( QPixmap ( bass_xpm ));
QLabel *trebleLabel = new QLabel( this );
trebleLabel->setPixmap( QPixmap ( treble_xpm ) );
grid->addWidget( trebleLabel, 0, 4, AlignCenter );
grid->addWidget( basstrebleBox, 1, 4, AlignCenter );
grid-> addWidget ( bassLabel, 2, 4, AlignCenter );
if ( !has_bass ) {
bassSlider->hide();
bassLabel->hide();
}
if ( !has_treble ) {
trebleSlider->hide();
trebleLabel->hide();
}
micSlider = new QSlider ( this );
micSlider-> setRange ( 0, 100 );
micSlider-> setTickmarks ( QSlider::Both );
micSlider-> setTickInterval ( 20 );
micSlider-> setFocusPolicy ( QWidget::NoFocus );
l = new QLabel ( this );
l-> setPixmap ( QPixmap ( mic_xpm ));
grid-> addWidget ( l, 0, 2, AlignCenter );
grid-> addWidget ( micSlider, 1, 2, AlignCenter );
micLed = new OLedBox ( red, this );
micLed-> setFocusPolicy ( QWidget::NoFocus );
micLed-> setFixedSize ( 16, 16 );
grid-> addWidget ( micLed, 2, 2, AlignCenter );
alarmSlider = new QSlider ( this );
alarmSlider-> setRange ( 0, 100 );
alarmSlider-> setTickmarks ( QSlider::Both );
alarmSlider-> setTickInterval ( 20 );
alarmSlider-> setFocusPolicy ( QWidget::NoFocus );
QLabel *alarmLabel = new QLabel ( this );
alarmLabel-> setPixmap ( QPixmap ( alarm_xpm ));
grid-> addWidget ( alarmLabel, 0, 3, AlignCenter );
grid-> addWidget ( alarmSlider, 1, 3, AlignCenter );
alarmLed = new OLedBox ( yellow, this );
alarmLed-> setFocusPolicy ( QWidget::NoFocus );
alarmLed-> setFixedSize ( 16, 16 );
grid-> addWidget ( alarmLed, 2, 3, AlignCenter );
if ( !has_wav_alarm ) {
alarmSlider-> hide ( );
alarmLabel-> hide ( );
alarmLed-> hide ( );
}
grid-> addWidget ( new QLabel ( tr( "Enable Sounds for:" ), this ), 0, 6, AlignVCenter | AlignLeft );
vbox = new QVBoxLayout ( );
vbox-> setSpacing ( 4 );
grid-> addMultiCellLayout ( vbox, 1, 2, 6, 6 );
tapBox = new QCheckBox ( tr( "Screen Taps" ), this );
tapBox-> setFocusPolicy ( QWidget::NoFocus );
vbox-> addWidget ( tapBox, AlignVCenter | AlignLeft );
keyBox = new QCheckBox ( tr( "Key Clicks" ), this );
keyBox-> setFocusPolicy ( QWidget::NoFocus );
vbox-> addWidget ( keyBox, AlignVCenter | AlignLeft );
alarmBox = new QCheckBox ( tr( "Alarm Sound" ), this );
alarmBox-> setFocusPolicy ( QWidget::NoFocus );
vbox-> addWidget ( alarmBox, AlignVCenter | AlignLeft );
if ( has_wav_alarm ) {
alarmBox-> hide ( );
}
vbox-> addStretch ( 100 );
setFixedSize ( sizeHint ( ));
setFocusPolicy ( QWidget::NoFocus );
rateTimer = new QTimer( this );
connect ( rateTimer, SIGNAL( timeout()), this, SLOT( rateTimerDone()));
connect ( upButton, SIGNAL( pressed()), this, SLOT( buttonChanged()));
connect ( upButton, SIGNAL( released()), this, SLOT( buttonChanged()));
connect ( downButton, SIGNAL( pressed()), this, SLOT( buttonChanged()));
connect ( downButton, SIGNAL( released()), this, SLOT( buttonChanged()));
connect ( micSlider, SIGNAL( valueChanged(int)), this, SLOT( micMoved(int)));
connect ( volSlider, SIGNAL( valueChanged(int)), this, SLOT( volMoved(int)));
connect ( alarmSlider, SIGNAL( valueChanged(int)), this, SLOT( alarmMoved(int)));
connect ( bassSlider, SIGNAL( valueChanged(int)), this, SLOT( bassMoved(int)));
connect ( trebleSlider, SIGNAL( valueChanged(int)), this, SLOT( trebleMoved(int)));
connect ( volLed, SIGNAL( toggled(bool)), this, SLOT( volMuteToggled(bool)));
connect ( micLed, SIGNAL( toggled(bool)), this, SLOT( micMuteToggled(bool)));
connect ( alarmLed, SIGNAL( toggled(bool)), this, SLOT( alarmSoundToggled(bool)));
connect ( alarmBox, SIGNAL( toggled(bool)), this, SLOT( alarmSoundToggled(bool)));
connect ( keyBox, SIGNAL( toggled(bool)), this, SLOT( keyClickToggled(bool)));
connect ( tapBox, SIGNAL( toggled(bool)), this, SLOT( screenTapToggled(bool)));
// initialize variables
readConfig ( true );
// initialize the config file, in case some entries are missing
writeConfigEntry ( "VolumePercent", m_vol_percent, UPD_None );
writeConfigEntry ( "BassPercent", m_vol_percent, UPD_None );
writeConfigEntry ( "TreblePercent", m_vol_percent, UPD_None );
writeConfigEntry ( "Mute", m_vol_muted, UPD_None );
writeConfigEntry ( "AlarmPercent", m_alarm_percent, UPD_None );
writeConfigEntry ( "TouchSound", m_snd_touch, UPD_None );
writeConfigEntry ( "KeySound", m_snd_key, UPD_None );
writeConfigEntry ( "AlarmSound", m_snd_alarm, UPD_Vol );
writeConfigEntry ( "Mic", m_mic_percent, UPD_None );
writeConfigEntry ( "MicMute", m_mic_muted, UPD_Mic );
}
bool VolumeControl::volMuted ( ) const
{
return m_vol_muted;
}
int VolumeControl::volPercent ( ) const
{
return m_vol_percent;
}
void VolumeControl::keyPressEvent ( QKeyEvent *e )
{
switch ( e-> key ( )) {
case Key_Up:
volSlider-> subtractStep ( );
break;
case Key_Down:
volSlider-> addStep ( );
break;
case Key_Space:
volLed-> toggle ( );
break;
case Key_Escape:
hide ( );
break;
}
}
void VolumeControl::buttonChanged ( )
{
if ( upButton-> isDown ( ) || downButton->isDown ( )) {
rateTimerDone ( ); // Call it one time manually, otherwise it wont get
// called at all when a button is pressed for a time
// shorter than RATE_TIMER_INTERVAL.
rateTimer-> start ( RATE_TIMER_INTERVAL, false );
}
else
rateTimer-> stop ( );
}
void VolumeControl::rateTimerDone ( )
{
if ( upButton-> isDown ( ))
volSlider-> setValue ( volSlider-> value ( ) - 2 );
else // if ( downButton-> isDown ( ))
volSlider-> setValue ( volSlider-> value ( ) + 2 );
}
void VolumeControl::show ( bool /*showMic*/ )
{
readConfig ( );
QPoint curPos = m_icon-> mapToGlobal ( QPoint ( 0, 0 ));
int w = sizeHint ( ). width ( );
int x = curPos.x ( ) - ( w / 2 );
if (( x + w ) > QPEApplication::desktop ( )-> width ( ))
x = QPEApplication::desktop ( )-> width ( ) - w;
move ( x, curPos. y ( ) - sizeHint ( ). height ( ));
QFrame::show ( );
}
void VolumeControl::readConfig ( bool force )
{
Config cfg ( "qpe" );
cfg. setGroup ( "Volume" );
int old_vp = m_vol_percent;
int old_mp = m_mic_percent;
int old_bass = m_bass_percent;
int old_treble = m_treble_percent;
bool old_vm = m_vol_muted;
bool old_mm = m_mic_muted;
bool old_sk = m_snd_key;
bool old_st = m_snd_touch;
bool old_sa = m_snd_alarm;
int old_ap = m_alarm_percent;
m_vol_percent = cfg. readNumEntry ( "VolumePercent", 50 );
m_mic_percent = cfg. readNumEntry ( "Mic", 50 );
m_bass_percent = cfg. readNumEntry ( "BassPercent", 50 );
diff --git a/core/applets/volumeapplet/volumeapplet.pro b/core/applets/volumeapplet/volumeapplet.pro
index a76bafb..e118dbd 100644
--- a/core/applets/volumeapplet/volumeapplet.pro
+++ b/core/applets/volumeapplet/volumeapplet.pro
@@ -1,13 +1,14 @@
TEMPLATE = lib
CONFIG += qt plugin warn_on
HEADERS = volume.h oledbox.h
-SOURCES = volume.cpp oledbox.cpp
+#SOURCES = volume.cpp oledbox.cpp
+SOURCES = volume.cpp
TARGET = volumeapplet
DESTDIR = $(OPIEDIR)/plugins/applets
INCLUDEPATH += $(OPIEDIR)/include
DEPENDPATH +=
LIBS += -lqpe -lopiecore2
VERSION = 1.0.0
include( $(OPIEDIR)/include.pro )
target.path = $$prefix/plugins/applets