~ubuntu-branches/ubuntu/trusty/virtualbox-ose/trusty

« back to all changes in this revision

Viewing changes to src/VBox/Frontends/VirtualBox/include/QIStateIndicator.h

  • Committer: Bazaar Package Importer
  • Author(s): Felix Geyer
  • Date: 2009-12-18 16:44:29 UTC
  • mfrom: (0.3.3 upstream) (0.4.6 squeeze)
  • Revision ID: james.westby@ubuntu.com-20091218164429-jd34ccexpv5na11a
Tags: 3.1.2-dfsg-1ubuntu1
* Merge from Debian unstable (LP: #498219), remaining changes:
  - Disable update action
    - debian/patches/u01-disable-update-action.dpatch
  - VirtualBox should go in Accessories, not in System tools (LP: #288590)
    - debian/virtualbox-ose-qt.files/virtualbox-ose.desktop
  - Add Apport hook
    - debian/virtualbox-ose.files/source_virtualbox-ose.py
    - debian/virtualbox-ose.install
  - Add Launchpad integration
    - debian/control
    - debian/lpi-bug.xpm
    - debian/patches/u02-lp-integration.dpatch
* Fixes the following bugs:
  - Kernel module fails to build with Linux >= 2.6.32 (LP: #474625)
  - X.Org drivers need to be rebuilt against X-Server 1.7 (LP: #495935)
  - The *-source packages try to build the kernel modules even though the
    kernel headers aren't available (LP: #473334)
* Replace *-source packages with transitional packages for *-dkms.
* Adapt u01-disable-update-action.dpatch and u02-lp-integration.dpatch for
  new upstream version.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/** @file
2
 
 *
3
 
 * VBox frontends: Qt GUI ("VirtualBox"):
4
 
 * VirtualBox Qt extensions: QIStateIndicator class declaration
5
 
 */
6
 
 
7
 
/*
8
 
 * Copyright (C) 2006-2007 Sun Microsystems, Inc.
9
 
 *
10
 
 * This file is part of VirtualBox Open Source Edition (OSE), as
11
 
 * available from http://www.virtualbox.org. This file is free software;
12
 
 * you can redistribute it and/or modify it under the terms of the GNU
13
 
 * General Public License (GPL) as published by the Free Software
14
 
 * Foundation, in version 2 as it comes in the "COPYING" file of the
15
 
 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
16
 
 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
17
 
 *
18
 
 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
19
 
 * Clara, CA 95054 USA or visit http://www.sun.com if you need
20
 
 * additional information or have any questions.
21
 
 */
22
 
 
23
 
#ifndef __QIStateIndicator_h__
24
 
#define __QIStateIndicator_h__
25
 
 
26
 
/* Qt includes */
27
 
#include <QFrame>
28
 
#include <QHash>
29
 
 
30
 
class QIStateIndicator : public QFrame
31
 
{
32
 
    Q_OBJECT;
33
 
 
34
 
public:
35
 
 
36
 
    QIStateIndicator (int aState);
37
 
    ~QIStateIndicator();
38
 
 
39
 
    virtual QSize sizeHint() const;
40
 
 
41
 
    int state () const { return mState; }
42
 
 
43
 
    QPixmap stateIcon (int aState) const;
44
 
    void setStateIcon (int aState, const QPixmap &aPixmap);
45
 
 
46
 
public slots:
47
 
 
48
 
    void setState (int aState);
49
 
    void setState (bool aState) { setState ((int) aState); }
50
 
 
51
 
signals:
52
 
 
53
 
    void mouseDoubleClicked (QIStateIndicator *aIndicator,
54
 
                             QMouseEvent *aEv);
55
 
    void contextMenuRequested (QIStateIndicator *aIndicator,
56
 
                               QContextMenuEvent *aEv);
57
 
 
58
 
protected:
59
 
 
60
 
    virtual void paintEvent (QPaintEvent *aEv);
61
 
    virtual void drawContents (QPainter *aPainter);
62
 
 
63
 
#ifdef Q_WS_MAC
64
 
    virtual void mousePressEvent (QMouseEvent *aEv);
65
 
#endif
66
 
    virtual void mouseDoubleClickEvent (QMouseEvent *aEv);
67
 
    virtual void contextMenuEvent (QContextMenuEvent *aEv);
68
 
 
69
 
private:
70
 
 
71
 
    int mState;
72
 
    QSize mSize;
73
 
 
74
 
    struct Icon
75
 
    {
76
 
        Icon (const QPixmap &aPixmap)
77
 
            : pixmap (aPixmap)
78
 
            , bgPixmap (NULL) {}
79
 
 
80
 
        QPixmap pixmap;
81
 
        QPixmap cached;
82
 
        QColor bgColor;
83
 
        const QPixmap *bgPixmap;
84
 
        QPoint bgOff;
85
 
    };
86
 
 
87
 
    QHash <int, Icon *> mStateIcons;
88
 
};
89
 
 
90
 
#endif // __QIStateIndicator_h__
91