summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--core/applets/cardmon/cardmon.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/core/applets/cardmon/cardmon.cpp b/core/applets/cardmon/cardmon.cpp
index e8072c6..6090b68 100644
--- a/core/applets/cardmon/cardmon.cpp
+++ b/core/applets/cardmon/cardmon.cpp
@@ -1,112 +1,115 @@
/*
* cardmon.cpp
*
* ---------------------
*
* copyright : (c) 2002 by Maximilian Reiss
* email : max.reiss@gmx.de
* based on two apps by Devin Butterfield
*/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#include "cardmon.h"
/* OPIE */
#include <opie2/odevice.h>
#include <opie2/otaskbarapplet.h>
#include <qpe/applnk.h>
#include <qpe/resource.h>
/* QT */
#include <qcopchannel_qws.h>
#include <qpainter.h>
#include <qfile.h>
#include <qtextstream.h>
#include <qsound.h>
#include <qtimer.h>
/* STD */
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
#include <fcntl.h>
#if defined(_OS_LINUX_) || defined(Q_OS_LINUX)
#include <sys/vfs.h>
#include <mntent.h>
#endif
using namespace Opie;
+using namespace Opie::Ui;
+using namespace Opie::Core;
+
CardMonitor::CardMonitor( QWidget * parent ) : QWidget( parent ),
pm( Resource::loadPixmap( "cardmon/pcmcia" ) )
{
QCopChannel * pcmciaChannel = new QCopChannel( "QPE/Card", this );
connect( pcmciaChannel,
SIGNAL( received(const QCString&,const QByteArray&) ), this,
SLOT( cardMessage(const QCString&,const QByteArray&) ) );
QCopChannel *sdChannel = new QCopChannel( "QPE/Card", this );
connect( sdChannel,
SIGNAL( received(const QCString&,const QByteArray&) ), this,
SLOT( cardMessage(const QCString&,const QByteArray&) ) );
cardInPcmcia0 = FALSE;
cardInPcmcia1 = FALSE;
cardInSd = FALSE;
setFocusPolicy( NoFocus );
setFixedWidth ( AppLnk::smallIconSize() );
setFixedHeight ( AppLnk::smallIconSize() );
getStatusPcmcia( TRUE );
getStatusSd( TRUE );
repaint( FALSE );
popupMenu = 0;
}
CardMonitor::~CardMonitor()
{
if ( popupMenu )
{
delete popupMenu;
}
}
void CardMonitor::popUp( QString message, QString icon )
{
if ( !popupMenu )
{
popupMenu = new QPopupMenu( this );
}
popupMenu->clear();
if ( icon.isEmpty() )
{
popupMenu->insertItem( message, 0 );
}
else
{
popupMenu->insertItem( QIconSet( Resource::loadPixmap( icon ) ),
message, 0 );
}
QPoint p = mapToGlobal( QPoint( 0, 0 ) );
QSize s = popupMenu->sizeHint();
popupMenu->popup( QPoint( p.x() + ( width() / 2 ) - ( s.width() / 2 ),
p.y() - s.height() ), 0 );
QTimer::singleShot( 2000, this, SLOT( popupTimeout() ) );
}
void CardMonitor::popupTimeout()
@@ -357,67 +360,67 @@ bool CardMonitor::getStatusSd( int showPopUp )
if ( fs.left( 14 ) == "/dev/mmc/part1" || fs.left( 7 ) == "/dev/sd"
|| fs.left( 9 ) == "/dev/mmcd" )
{
cardInSd = TRUE;
show();
}
// else {
// cardInSd = FALSE;
// }
}
endmntent( mntfp );
}
if ( !showPopUp && cardWas != cardInSd )
{
QString text = QString::null;
QString what = QString::null;
if ( cardInSd )
{
text += "New card: SD/MMC";
what = "on";
}
else
{
text += "Ejected: SD/MMC";
what = "off";
}
//qDebug("TEXT: " + text );
#ifndef QT_NO_SOUND
QSound::play( Resource::findSound( "cardmon/card" + what ) );
#endif
popUp( text, "cardmon/ide" ); // XX add SD pic
}
#else
#error "Not on Linux"
#endif
repaint( FALSE );
return ( ( cardWas == cardInSd ) ? FALSE : TRUE );
}
void CardMonitor::paintEvent( QPaintEvent * )
{
QPainter p( this );
if ( cardInPcmcia0 || cardInPcmcia1 || cardInSd )
{
p.drawPixmap( 0, 0, pm );
show();
}
else
{
//p.eraseRect(rect());
hide();
}
}
int CardMonitor::position()
{
return 7;
}
Q_EXPORT_INTERFACE()
{
- Q_CREATE_INSTANCE( OTaskbarAppletWrapper<CardMonitor> );
+ Q_CREATE_INSTANCE( Opie::Ui::Private::OTaskbarAppletWrapper<CardMonitor> );
}