author | llornkcor <llornkcor> | 2005-08-11 10:10:40 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2005-08-11 10:10:40 (UTC) |
commit | 6040d26c56a95d9f5bd09688e22009fc5b5e124d (patch) (side-by-side diff) | |
tree | 53ad03c346cc006d17093918d5cf6bbb09aa4b3b /noncore/applets/volumeapplet2 | |
parent | 8938048502047f781447ed24351512cdca997a2e (diff) | |
download | opie-6040d26c56a95d9f5bd09688e22009fc5b5e124d.zip opie-6040d26c56a95d9f5bd09688e22009fc5b5e124d.tar.gz opie-6040d26c56a95d9f5bd09688e22009fc5b5e124d.tar.bz2 |
add opie-smb
-rw-r--r-- | noncore/applets/volumeapplet2/volumeapplet.cpp | 52 | ||||
-rw-r--r-- | noncore/applets/volumeapplet2/volumeapplet.h | 15 |
2 files changed, 57 insertions, 10 deletions
diff --git a/noncore/applets/volumeapplet2/volumeapplet.cpp b/noncore/applets/volumeapplet2/volumeapplet.cpp index 2f61f48..2122007 100644 --- a/noncore/applets/volumeapplet2/volumeapplet.cpp +++ b/noncore/applets/volumeapplet2/volumeapplet.cpp @@ -37,8 +37,9 @@ _;:, .> :=|. This program is free software; you can #include <opie2/oledbox.h> #include <opie2/oresource.h> #include <qpe/applnk.h> +#include <qpe/qpeapplication.h> using namespace Opie::Core; using namespace Opie::MM; using namespace Opie::Ui; @@ -87,19 +88,23 @@ void VolumeAppletControl::build() { OSoundSystem* sound = OSoundSystem::instance(); OSoundSystem::CardIterator it = sound->iterator(); - OMixerInterface* mixer = new OMixerInterface( this, "/dev/mixer" ); +// OMixerInterface* + mixer = new OMixerInterface( this, "/dev/mixer" ); QStringList channels = mixer->allChannels(); int x = 0; // int y = 0; for ( QStringList::Iterator it = channels.begin(); it != channels.end(); ++it ) { - odebug << "OSSDEMO: Mixer has channel " << *it << "" << oendl; - odebug << "OSSDEMO: +--- volume " << ( mixer->volume( *it ) & 0xff ) + if((*it) == mixer->volume( "Vol")) { + m_vol_percent=mixer->volume( *it ) >> 8; + } + owarn << "OSSDEMO: Mixer has channel " << *it << "" << oendl; + owarn << "OSSDEMO: +--- volume " << ( mixer->volume( *it ) & 0xff ) << " (left) | " << ( mixer->volume( *it ) >> 8 ) << " (right)" << oendl; l->addWidget( new Channel( mixer, this, *it ), 0, x++, AlignCenter ); } @@ -110,8 +115,18 @@ void VolumeAppletControl::build() VolumeAppletControl::~VolumeAppletControl() { } +int VolumeAppletControl::volPercent ( ) const +{ + return m_vol_percent; +} + +bool VolumeAppletControl::volMuted ( ) const +{ + return m_vol_muted; +} + void VolumeAppletControl::showEvent( QShowEvent* e ) { odebug << "showEvent" << oendl; @@ -127,18 +142,19 @@ void VolumeAppletControl::hideEvent( QHideEvent* e ) QSize VolumeAppletControl::sizeHint() const { - return QSize( 200, 200 ); //QFrame::sizeHint(); + int wd = QPEApplication::desktop()->width(); + return QSize( wd, 200 ); //QFrame::sizeHint(); } VolumeApplet::VolumeApplet( QWidget *parent, const char *name ) :OTaskbarApplet( parent, name ) { - setFixedHeight( AppLnk::smallIconSize() ); + setFixedHeight( AppLnk::smallIconSize() +4); setFixedWidth( AppLnk::smallIconSize() ); - _pixmap = Opie::Core::OResource::loadPixmap( "volume", Opie::Core::OResource::SmallIcon ); + _pixmap = new QPixmap (Opie::Core::OResource::loadPixmap( "volume", Opie::Core::OResource::SmallIcon )); _control = new VolumeAppletControl( this, "control" ); } @@ -155,9 +171,31 @@ int VolumeApplet::position() void VolumeApplet::paintEvent( QPaintEvent* ) { QPainter p(this); - p.drawPixmap(0, 2, _pixmap ); + + p. drawPixmap ( (width()- _pixmap->width())/2, QMAX( (height()-4-_pixmap->height() )/2, 1), *_pixmap ); + p. setPen ( darkGray ); + p. drawRect ( 1, height() - 4, width() - 2, 4 ); + + OMixerInterface* mixer = new OMixerInterface( this, "/dev/mixer" ); + + int volPercent = mixer->volume( "Vol" ) >> 8; + + int pixelsWide = volPercent * ( width() - 4 ) / 100; + p. fillRect ( 2, height() - 3, pixelsWide, 2, red ); + p. fillRect ( pixelsWide + 2, height() - 3, width() - 4 - pixelsWide, 2, lightGray ); + +// if ( _control-> volMuted ( )) { +// p. setPen ( red ); +// p. drawLine ( 1, 2, width() - 2, height() - 5 ); +// p. drawLine ( 1, 3, width() - 2, height() - 4 ); +// p. drawLine ( width() - 2, 2, 1, height() - 5 ); +// p. drawLine ( width() - 2, 3, 1, height() - 4 ); +// } + +// QPainter p(this); + // p.drawPixmap(0, 2, _pixmap ); } void VolumeApplet::mousePressEvent( QMouseEvent* ) diff --git a/noncore/applets/volumeapplet2/volumeapplet.h b/noncore/applets/volumeapplet2/volumeapplet.h index c1f1a3a..953c305 100644 --- a/noncore/applets/volumeapplet2/volumeapplet.h +++ b/noncore/applets/volumeapplet2/volumeapplet.h @@ -31,17 +31,19 @@ #ifndef VOLUMEAPPLET_H #define VOLUMEAPPLET_H #include <opie2/otaskbarapplet.h> +#include <opie2/osoundsystem.h> #include <qframe.h> #include <qstring.h> #include <qvbox.h> #include <qpixmap.h> +//using namespace Opie::MM; namespace Opie { namespace Ui { class OLedBox; } - namespace MM { class OMixerInterface; } +// namespace MM { class OMixerInterface; } } class QLabel; class QSlider; class QShowEvent; @@ -68,8 +70,15 @@ class VolumeAppletControl : public QFrame { public: VolumeAppletControl( Opie::Ui::OTaskbarApplet* parent, const char* name = 0 ); ~VolumeAppletControl(); + bool volMuted() const; + int volPercent() const; + + int m_vol_percent; + bool m_vol_muted; + + Opie::MM::OMixerInterface* mixer; virtual QSize sizeHint() const; protected: @@ -77,10 +86,10 @@ class VolumeAppletControl : public QFrame virtual void hideEvent( QHideEvent* ); void build(); private: - QGridLayout* l; + QGridLayout* l; }; class VolumeApplet : public Opie::Ui::OTaskbarApplet @@ -95,9 +104,9 @@ class VolumeApplet : public Opie::Ui::OTaskbarApplet virtual void mousePressEvent( QMouseEvent* ); private: VolumeAppletControl* _control; - QPixmap _pixmap; + QPixmap* _pixmap; }; #endif |