summaryrefslogtreecommitdiff
authorsimon <simon>2002-12-09 22:26:11 (UTC)
committer simon <simon>2002-12-09 22:26:11 (UTC)
commit8bf05369dcdf93a712607aab6dacf407dcce5142 (patch) (unidiff)
treef11dcac538e4ad930335bcab2e4068721d167415
parent5a08075743a50a63eaad9c80884f4c2f4c69579b (diff)
downloadopie-8bf05369dcdf93a712607aab6dacf407dcce5142.zip
opie-8bf05369dcdf93a712607aab6dacf407dcce5142.tar.gz
opie-8bf05369dcdf93a712607aab6dacf407dcce5142.tar.bz2
- work around gcc2's stupid STL that requires libstdc++ in the default
allocator
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/mediawidget.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/noncore/multimedia/opieplayer2/mediawidget.h b/noncore/multimedia/opieplayer2/mediawidget.h
index 3b3a263..df03b22 100644
--- a/noncore/multimedia/opieplayer2/mediawidget.h
+++ b/noncore/multimedia/opieplayer2/mediawidget.h
@@ -9,81 +9,85 @@
9 License as published by the Free Software Foundation; either 9 License as published by the Free Software Foundation; either
10 version 2 of the License, or (at your option) any later version. 10 version 2 of the License, or (at your option) any later version.
11 11
12 This library is distributed in the hope that it will be useful, 12 This library is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 Library General Public License for more details. 15 Library General Public License for more details.
16 16
17 You should have received a copy of the GNU Library General Public License 17 You should have received a copy of the GNU Library General Public License
18 along with this library; see the file COPYING.LIB. If not, write to 18 along with this library; see the file COPYING.LIB. If not, write to
19 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 19 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20 Boston, MA 02111-1307, USA. 20 Boston, MA 02111-1307, USA.
21*/ 21*/
22 22
23#ifndef MEDIAWIDGET_H 23#ifndef MEDIAWIDGET_H
24#define MEDIAWIDGET_H 24#define MEDIAWIDGET_H
25 25
26#include <qwidget.h> 26#include <qwidget.h>
27#include <qmap.h> 27#include <qmap.h>
28 28
29#include "mediaplayerstate.h" 29#include "mediaplayerstate.h"
30#include "playlistwidget.h" 30#include "playlistwidget.h"
31 31
32#include <vector> 32#include <vector>
33#include <memory>
33 34
34class MediaWidget : public QWidget 35class MediaWidget : public QWidget
35{ 36{
36 Q_OBJECT 37 Q_OBJECT
37public: 38public:
38 enum Command { Play = 0, Stop, Next, Previous, VolumeUp, VolumeDown, Loop, PlayList, Forward, Back, FullScreen, Undefined }; 39 enum Command { Play = 0, Stop, Next, Previous, VolumeUp, VolumeDown, Loop, PlayList, Forward, Back, FullScreen, Undefined };
39 enum ButtonType { NormalButton, ToggleButton }; 40 enum ButtonType { NormalButton, ToggleButton };
40 41
41 struct Button 42 struct Button
42 { 43 {
43 Button() : command( Undefined ), type( NormalButton ), isDown( false ) {} 44 Button() : command( Undefined ), type( NormalButton ), isDown( false ) {}
44 45
45 Command command; 46 Command command;
46 47
47 ButtonType type; // this should be part of the bitfield but gcc2 is too buggy to support this :-( 48 ButtonType type; // this should be part of the bitfield but gcc2 is too buggy to support this :-(
48 bool isDown : 1; 49 bool isDown : 1;
49 50
50 QBitmap mask; 51 QBitmap mask;
51 QPixmap pixUp; 52 QPixmap pixUp;
52 QPixmap pixDown; 53 QPixmap pixDown;
53 }; 54 };
55#if defined( _CC_GNU_ )
56 // use that allocator to avoid the default allocator that on gcc2 requires libstdc++ because
57 // in the BAD_ALLOC macro it uses std::cerr and friends :-(
58 typedef std::vector<Button, std::__allocator<Button, std::__new_alloc> > ButtonVector;
59#else
54 typedef std::vector<Button> ButtonVector; 60 typedef std::vector<Button> ButtonVector;
61#endif
55 62
56 struct SkinButtonInfo 63 struct SkinButtonInfo
57 { 64 {
58 Command command; 65 Command command;
59 const char *fileName; 66 const char *fileName;
60 ButtonType type; 67 ButtonType type;
61 }; 68 };
62 69
63 typedef std::vector<QBitmap> MaskVector;
64 typedef std::vector<QPixmap> PixmapVector;
65
66 MediaWidget( PlayListWidget &_playList, MediaPlayerState &_mediaPlayerState, QWidget *parent = 0, const char *name = 0 ); 70 MediaWidget( PlayListWidget &_playList, MediaPlayerState &_mediaPlayerState, QWidget *parent = 0, const char *name = 0 );
67 virtual ~MediaWidget(); 71 virtual ~MediaWidget();
68 72
69public slots: 73public slots:
70 virtual void setDisplayType( MediaPlayerState::DisplayType displayType ) = 0; 74 virtual void setDisplayType( MediaPlayerState::DisplayType displayType ) = 0;
71 virtual void setLength( long length ) = 0; 75 virtual void setLength( long length ) = 0;
72 virtual void setPlaying( bool playing ) = 0; 76 virtual void setPlaying( bool playing ) = 0;
73 77
74 virtual void loadSkin() = 0; 78 virtual void loadSkin() = 0;
75 79
76signals: 80signals:
77 void moreReleased(); 81 void moreReleased();
78 void lessReleased(); 82 void lessReleased();
79 void forwardReleased(); 83 void forwardReleased();
80 void backReleased(); 84 void backReleased();
81 void forwardClicked(); 85 void forwardClicked();
82 void backClicked(); 86 void backClicked();
83 void moreClicked(); 87 void moreClicked();
84 void lessClicked(); 88 void lessClicked();
85 89
86protected: 90protected:
87 void setupButtons( const SkinButtonInfo *skinInfo, uint buttonCount, 91 void setupButtons( const SkinButtonInfo *skinInfo, uint buttonCount,
88 const QString &imagePrefix, const QSize &buttonAreaSize ); 92 const QString &imagePrefix, const QSize &buttonAreaSize );
89 Button setupButton( const SkinButtonInfo &buttonInfo, const QString &imagePrefix ); 93 Button setupButton( const SkinButtonInfo &buttonInfo, const QString &imagePrefix );