summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/applets/cardmon/cardmon.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/core/applets/cardmon/cardmon.cpp b/core/applets/cardmon/cardmon.cpp
index d6ac616..53497df 100644
--- a/core/applets/cardmon/cardmon.cpp
+++ b/core/applets/cardmon/cardmon.cpp
@@ -1,148 +1,149 @@
1/* 1/*
2* cardmon.cpp 2* cardmon.cpp
3* 3*
4* --------------------- 4* ---------------------
5* 5*
6* copyright : (c) 2002 by Maximilian Reiss 6* copyright : (c) 2002 by Maximilian Reiss
7* email : max.reiss@gmx.de 7* email : max.reiss@gmx.de
8* based on two apps by Devin Butterfield 8* based on two apps by Devin Butterfield
9*/ 9*/
10/*************************************************************************** 10/***************************************************************************
11 * * 11 * *
12 * This program is free software; you can redistribute it and/or modify * 12 * This program is free software; you can redistribute it and/or modify *
13 * it under the terms of the GNU General Public License as published by * 13 * it under the terms of the GNU General Public License as published by *
14 * the Free Software Foundation; either version 2 of the License, or * 14 * the Free Software Foundation; either version 2 of the License, or *
15 * (at your option) any later version. * 15 * (at your option) any later version. *
16 * * 16 * *
17 ***************************************************************************/ 17 ***************************************************************************/
18 18
19#include "cardmon.h" 19#include "cardmon.h"
20 20
21/* OPIE */ 21/* OPIE */
22#include <opie2/odebug.h> 22#include <opie2/odebug.h>
23#include <opie2/odevice.h> 23#include <opie2/odevice.h>
24#include <opie2/otaskbarapplet.h> 24#include <opie2/otaskbarapplet.h>
25#include <opie2/oprocess.h> 25#include <opie2/oprocess.h>
26 26
27#include <qpe/applnk.h> 27#include <qpe/applnk.h>
28#include <qpe/resource.h> 28#include <qpe/resource.h>
29using namespace Opie::Core; 29using namespace Opie::Core;
30using namespace Opie::Ui; 30using namespace Opie::Ui;
31 31
32/* QT */ 32/* QT */
33#include <qcopchannel_qws.h> 33#include <qcopchannel_qws.h>
34#include <qpainter.h> 34#include <qpainter.h>
35#include <qfile.h> 35#include <qfile.h>
36#include <qtextstream.h> 36#include <qtextstream.h>
37#include <qsound.h> 37#include <qsound.h>
38#include <qtimer.h> 38#include <qtimer.h>
39 39
40/* STD */ 40/* STD */
41#include <stdio.h> 41#include <stdio.h>
42#include <unistd.h> 42#include <unistd.h>
43#include <stdlib.h> 43#include <stdlib.h>
44#include <string.h> 44#include <string.h>
45#include <fcntl.h> 45#include <fcntl.h>
46#if defined(_OS_LINUX_) || defined(Q_OS_LINUX) 46#if defined(_OS_LINUX_) || defined(Q_OS_LINUX)
47#include <sys/vfs.h> 47#include <sys/vfs.h>
48#include <mntent.h> 48#include <mntent.h>
49#endif 49#endif
50 50
51CardMonitor::CardMonitor( QWidget * parent ) : QWidget( parent ), 51CardMonitor::CardMonitor( QWidget * parent ) : QWidget( parent )
52pm( Resource::loadPixmap( "cardmon/pcmcia" ) ) { 52{
53 pm = Resource::loadImage( "cardmon/pcmcia").smoothScale(AppLnk::smallIconSize(), AppLnk::smallIconSize());
53 54
54 QCopChannel * pcmciaChannel = new QCopChannel( "QPE/Card", this ); 55 QCopChannel * pcmciaChannel = new QCopChannel( "QPE/Card", this );
55 connect( pcmciaChannel, 56 connect( pcmciaChannel,
56 SIGNAL( received(const QCString&,const QByteArray&) ), this, 57 SIGNAL( received(const QCString&,const QByteArray&) ), this,
57 SLOT( cardMessage(const QCString&,const QByteArray&) ) ); 58 SLOT( cardMessage(const QCString&,const QByteArray&) ) );
58 59
59 QCopChannel *sdChannel = new QCopChannel( "QPE/Card", this ); 60 QCopChannel *sdChannel = new QCopChannel( "QPE/Card", this );
60 connect( sdChannel, 61 connect( sdChannel,
61 SIGNAL( received(const QCString&,const QByteArray&) ), this, 62 SIGNAL( received(const QCString&,const QByteArray&) ), this,
62 SLOT( cardMessage(const QCString&,const QByteArray&) ) ); 63 SLOT( cardMessage(const QCString&,const QByteArray&) ) );
63 64
64 cardInPcmcia0 = FALSE; 65 cardInPcmcia0 = FALSE;
65 cardInPcmcia1 = FALSE; 66 cardInPcmcia1 = FALSE;
66 cardInSd = FALSE; 67 cardInSd = FALSE;
67 m_process = 0; 68 m_process = 0;
68 69
69 setFocusPolicy( NoFocus ); 70 setFocusPolicy( NoFocus );
70 71
71 setFixedWidth ( AppLnk::smallIconSize() ); 72 setFixedWidth ( AppLnk::smallIconSize() );
72 setFixedHeight ( AppLnk::smallIconSize() ); 73 setFixedHeight ( AppLnk::smallIconSize() );
73 74
74 getStatusPcmcia( TRUE ); 75 getStatusPcmcia( TRUE );
75 getStatusSd( TRUE ); 76 getStatusSd( TRUE );
76 repaint( FALSE ); 77 repaint( FALSE );
77 popupMenu = 0; 78 popupMenu = 0;
78} 79}
79 80
80CardMonitor::~CardMonitor() { 81CardMonitor::~CardMonitor() {
81 delete popupMenu; 82 delete popupMenu;
82} 83}
83 84
84void CardMonitor::popUp( QString message, QString icon ) { 85void CardMonitor::popUp( QString message, QString icon ) {
85 if ( !popupMenu ) { 86 if ( !popupMenu ) {
86 popupMenu = new QPopupMenu( this ); 87 popupMenu = new QPopupMenu( this );
87 } 88 }
88 89
89 popupMenu->clear(); 90 popupMenu->clear();
90 if ( icon.isEmpty() ) { 91 if ( icon.isEmpty() ) {
91 popupMenu->insertItem( message, 0 ); 92 popupMenu->insertItem( message, 0 );
92 } else { 93 } else {
93 popupMenu->insertItem( QIconSet( Resource::loadPixmap( icon ) ), 94 popupMenu->insertItem( QIconSet( Resource::loadPixmap( icon ) ),
94 message, 0 ); 95 message, 0 );
95 } 96 }
96 97
97 QPoint p = mapToGlobal( QPoint( 0, 0 ) ); 98 QPoint p = mapToGlobal( QPoint( 0, 0 ) );
98 QSize s = popupMenu->sizeHint(); 99 QSize s = popupMenu->sizeHint();
99 popupMenu->popup( QPoint( p.x() + ( width() / 2 ) - ( s.width() / 2 ), 100 popupMenu->popup( QPoint( p.x() + ( width() / 2 ) - ( s.width() / 2 ),
100 p.y() - s.height() ), 0 ); 101 p.y() - s.height() ), 0 );
101 102
102 QTimer::singleShot( 2000, this, SLOT( popupTimeout() ) ); 103 QTimer::singleShot( 2000, this, SLOT( popupTimeout() ) );
103} 104}
104 105
105void CardMonitor::popupTimeout() { 106void CardMonitor::popupTimeout() {
106 popupMenu->hide(); 107 popupMenu->hide();
107} 108}
108 109
109void CardMonitor::mousePressEvent( QMouseEvent * ) { 110void CardMonitor::mousePressEvent( QMouseEvent * ) {
110 QPopupMenu * menu = new QPopupMenu( this ); 111 QPopupMenu * menu = new QPopupMenu( this );
111 QStringList cmd; 112 QStringList cmd;
112 bool execute = true; 113 bool execute = true;
113 114
114 if ( cardInSd ) { 115 if ( cardInSd ) {
115 menu->insertItem( QIconSet( Resource::loadPixmap( "cardmon/ide" ) ), 116 menu->insertItem( QIconSet( Resource::loadPixmap( "cardmon/ide" ) ),
116 tr( "Eject SD/MMC card" ), 0 ); 117 tr( "Eject SD/MMC card" ), 0 );
117 } 118 }
118 119
119 if ( cardInPcmcia0 ) { 120 if ( cardInPcmcia0 ) {
120 menu-> 121 menu->
121 insertItem( QIconSet 122 insertItem( QIconSet
122 ( Resource::loadPixmap( "cardmon/" + cardInPcmcia0Type ) ), 123 ( Resource::loadPixmap( "cardmon/" + cardInPcmcia0Type ) ),
123 tr( "Eject card 0: %1" ).arg( cardInPcmcia0Name ), 1 ); 124 tr( "Eject card 0: %1" ).arg( cardInPcmcia0Name ), 1 );
124 } 125 }
125 126
126 if ( cardInPcmcia1 ) { 127 if ( cardInPcmcia1 ) {
127 menu-> 128 menu->
128 insertItem( QIconSet 129 insertItem( QIconSet
129 ( Resource::loadPixmap( "cardmon/" + cardInPcmcia1Type ) ), 130 ( Resource::loadPixmap( "cardmon/" + cardInPcmcia1Type ) ),
130 tr( "Eject card 1: %1" ).arg( cardInPcmcia1Name ), 2 ); 131 tr( "Eject card 1: %1" ).arg( cardInPcmcia1Name ), 2 );
131 } 132 }
132 133
133 QPoint p = mapToGlobal( QPoint( 0, 0 ) ); 134 QPoint p = mapToGlobal( QPoint( 0, 0 ) );
134 QSize s = menu->sizeHint(); 135 QSize s = menu->sizeHint();
135 int opt = menu->exec( QPoint( p.x() + ( width() / 2 ) - ( s.width() / 2 ), 136 int opt = menu->exec( QPoint( p.x() + ( width() / 2 ) - ( s.width() / 2 ),
136 p.y() - s.height() ), 0 ); 137 p.y() - s.height() ), 0 );
137 138
138 if ( opt == 1 ) { 139 if ( opt == 1 ) {
139 m_commandOrig = PCMCIA_Socket1; 140 m_commandOrig = PCMCIA_Socket1;
140 cmd << "/sbin/cardctl" << "eject" << "0"; 141 cmd << "/sbin/cardctl" << "eject" << "0";
141 } else if ( opt == 0 ) { 142 } else if ( opt == 0 ) {
142 m_commandOrig = MMC_Socket; 143 m_commandOrig = MMC_Socket;
143 cmd << "umount" << cardSdName; 144 cmd << "umount" << cardSdName;
144 } else if ( opt == 2 ) { 145 } else if ( opt == 2 ) {
145 m_commandOrig = PCMCIA_Socket2; 146 m_commandOrig = PCMCIA_Socket2;
146 cmd << "/sbin/cardctl" << "eject" << "1"; 147 cmd << "/sbin/cardctl" << "eject" << "1";
147 }else 148 }else
148 execute = false; 149 execute = false;