summaryrefslogtreecommitdiff
path: root/core/applets/cardmon/cardmon.h
blob: 400f5aeb7fc09083d98692ef635864700bca76ce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
/*
 * cardmon.h
 *
 * ---------------------
 *
 * copyright   : (c) 2003 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.                                   *
 *                                                                         *
 ***************************************************************************/

#ifndef CARDMON_H
#define CARDMON_H

#include <qwidget.h>
#include <qpixmap.h>
#include <qpopupmenu.h>

namespace Opie {
    namespace Core {
        class OProcess;
    }
}

class CardMonitor : public QWidget {
    Q_OBJECT
public:
    enum {
	PCMCIA_Socket1,
	PCMCIA_Socket2,
	MMC_Socket
    };

    CardMonitor( QWidget *parent = 0 );
    ~CardMonitor();
    bool getStatusPcmcia( int showPopUp = FALSE );
    bool getStatusSd( int showPopUp = FALSE );
    static int position();
private slots:
    void cardMessage( const QCString &msg, const QByteArray & );
    void slotExited( Opie::Core::OProcess* proc );
    void popupTimeout();

protected:
    void paintEvent( QPaintEvent* );
    void mousePressEvent( QMouseEvent * );

private:
    void execCommand( const QStringList &command );
    int m_commandOrig;
    QPixmap pm;
    // pcmcia socket 0
    bool cardInPcmcia0;
    QString cardInPcmcia0Name;
    QString cardInPcmcia0Type;
    // pcmcia socket 1
    bool cardInPcmcia1;
    QString cardInPcmcia1Name;
    QString cardInPcmcia1Type;
    bool cardInSd;
    QString cardSdName; // the device which is mounted
    void iconShow();
    QPopupMenu *popupMenu;
    void popUp(QString message, QString icon = QString::null );
    Opie::Core::OProcess* m_process;
};

#endif