-rw-r--r-- | core/applets/volumeapplet/oledbox.cpp | 274 | ||||
-rw-r--r-- | core/applets/volumeapplet/oledbox.h | 51 | ||||
-rw-r--r-- | core/applets/volumeapplet/volume.cpp | 2 | ||||
-rw-r--r-- | core/applets/volumeapplet/volumeapplet.pro | 3 |
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 |