summaryrefslogtreecommitdiff
authorsimon <simon>2003-02-03 11:05:53 (UTC)
committer simon <simon>2003-02-03 11:05:53 (UTC)
commit0b51d46117f7b6f7fd8e4ee614cbf6265b4e7bf6 (patch) (side-by-side diff)
treea1679fb241c3a37041c550fb9464dd2c4a755eed
parentf2e80c39e5861f12e1c08e548ebff33ecb0d6ea6 (diff)
downloadopie-0b51d46117f7b6f7fd8e4ee614cbf6265b4e7bf6.zip
opie-0b51d46117f7b6f7fd8e4ee614cbf6265b4e7bf6.tar.gz
opie-0b51d46117f7b6f7fd8e4ee614cbf6265b4e7bf6.tar.bz2
- link in libstdc++
- removed std::vector custom allocator hack for gcc2. we always pull in libstdc++ now.
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/mediawidget.h17
-rw-r--r--noncore/multimedia/opieplayer2/opieplayer2.pro2
2 files changed, 1 insertions, 18 deletions
diff --git a/noncore/multimedia/opieplayer2/mediawidget.h b/noncore/multimedia/opieplayer2/mediawidget.h
index 45c46ea..8c3a467 100644
--- a/noncore/multimedia/opieplayer2/mediawidget.h
+++ b/noncore/multimedia/opieplayer2/mediawidget.h
@@ -1,122 +1,105 @@
/*
Copyright (C) 2002 Simon Hausmann <simon@lst.de>
(C) 2002 Max Reiss <harlekin@handhelds.org>
(C) 2002 L. Potter <ljp@llornkcor.com>
(C) 2002 Holger Freyther <zecke@handhelds.org>
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.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef MEDIAWIDGET_H
#define MEDIAWIDGET_H
#include <qwidget.h>
#include <qmap.h>
#include "mediaplayerstate.h"
#include "playlistwidget.h"
#include <vector>
#include <memory>
-namespace
-{
- struct simpleAndStupidAllocator
- {
- static void *allocate( size_t amount )
- { return ::operator new( amount ); }
- static void deallocate( void *p, size_t )
- { ::operator delete( p ); }
- };
-}
-
class Skin;
class MediaWidget : public QWidget
{
Q_OBJECT
public:
enum Command { Play = 0, Stop, Next, Previous, VolumeUp, VolumeDown, Loop, PlayList, Forward, Back, FullScreen, Undefined };
enum ButtonType { NormalButton, ToggleButton };
struct Button
{
Button() : command( Undefined ), type( NormalButton ), isDown( false ) {}
Command command;
ButtonType type; // this should be part of the bitfield but gcc2 is too buggy to support this :-(
bool isDown : 1;
QBitmap mask;
QPixmap pixUp;
QPixmap pixDown;
};
-#if defined( _CC_GNU_ )
- // use that allocator to avoid the default allocator that on gcc2 requires libstdc++ because
- // in the BAD_ALLOC macro it uses std::cerr and friends :-(
- typedef std::vector<Button, std::__allocator<Button, simpleAndStupidAllocator> > ButtonVector;
-#else
typedef std::vector<Button> ButtonVector;
-#endif
struct SkinButtonInfo
{
Command command;
const char *fileName;
ButtonType type;
};
struct GUIInfo
{
GUIInfo() : buttonInfo( 0 ), buttonCount( 0 ) {}
GUIInfo( const QString &_fileNameInfix, const SkinButtonInfo *_buttonInfo, const uint _buttonCount )
: fileNameInfix( _fileNameInfix ), buttonInfo( _buttonInfo ), buttonCount( _buttonCount )
{}
QString fileNameInfix;
const SkinButtonInfo *buttonInfo;
const uint buttonCount;
};
typedef QValueList<GUIInfo> GUIInfoList;
MediaWidget( PlayListWidget &_playList, MediaPlayerState &_mediaPlayerState, QWidget *parent = 0, const char *name = 0 );
virtual ~MediaWidget();
public slots:
virtual void setDisplayType( MediaPlayerState::DisplayType displayType ) = 0;
virtual void setLength( long length ) = 0;
virtual void setPlaying( bool playing ) = 0;
virtual void loadSkin() = 0;
signals:
void moreReleased();
void lessReleased();
void forwardReleased();
void backReleased();
void forwardClicked();
void backClicked();
void moreClicked();
void lessClicked();
protected:
void setupButtons( const SkinButtonInfo *skinInfo, uint buttonCount,
const Skin &skin );
Button setupButton( const SkinButtonInfo &buttonInfo, const Skin &skin );
void loadDefaultSkin( const GUIInfo &guiInfo );
void loadSkin( const SkinButtonInfo *skinInfo, uint buttonCount, const Skin &skin );
diff --git a/noncore/multimedia/opieplayer2/opieplayer2.pro b/noncore/multimedia/opieplayer2/opieplayer2.pro
index 44af25f..a739692 100644
--- a/noncore/multimedia/opieplayer2/opieplayer2.pro
+++ b/noncore/multimedia/opieplayer2/opieplayer2.pro
@@ -1,47 +1,47 @@
TEMPLATE = app
CONFIG = qt warn_on release
DESTDIR = $(OPIEDIR)/bin
HEADERS = playlistselection.h mediaplayerstate.h xinecontrol.h \
videowidget.h audiowidget.h playlistwidget.h om3u.h mediaplayer.h inputDialog.h \
frame.h lib.h xinevideowidget.h volumecontrol.h playlistwidgetgui.h\
alphablend.h yuv2rgb.h threadutil.h mediawidget.h playlistview.h playlistfileview.h \
skin.h
SOURCES = main.cpp \
playlistselection.cpp mediaplayerstate.cpp xinecontrol.cpp \
videowidget.cpp audiowidget.cpp playlistwidget.cpp om3u.cpp mediaplayer.cpp inputDialog.cpp \
frame.cpp lib.cpp nullvideo.c xinevideowidget.cpp volumecontrol.cpp \
playlistwidgetgui.cpp\
alphablend.c yuv2rgb.c yuv2rgb_arm.c yuv2rgb_arm4l.S \
threadutil.cpp mediawidget.cpp playlistview.cpp playlistfileview.cpp \
skin.cpp
TARGET = opieplayer2
INCLUDEPATH += $(OPIEDIR)/include
DEPENDPATH += $(OPIEDIR)/include
-LIBS += -lqpe -lpthread -lopie -lxine
+LIBS += -lqpe -lpthread -lopie -lxine -lstdc++
MOC_DIR = qpeobj
OBJECTS_DIR = qpeobj
#INCLUDEPATH += $(OPIEDIR)/include
#DEPENDPATH += $(OPIEDIR)/include
TRANSLATIONS = ../../../i18n/de/opieplayer2.ts \
../../../i18n/da/opieplayer2.ts \
../../../i18n/xx/opieplayer2.ts \
../../../i18n/en/opieplayer2.ts \
../../../i18n/es/opieplayer2.ts \
../../../i18n/fr/opieplayer2.ts \
../../../i18n/hu/opieplayer2.ts \
../../../i18n/ja/opieplayer2.ts \
../../../i18n/ko/opieplayer2.ts \
../../../i18n/no/opieplayer2.ts \
../../../i18n/pl/opieplayer2.ts \
../../../i18n/pt/opieplayer2.ts \
../../../i18n/pt_BR/opieplayer2.ts \
../../../i18n/sl/opieplayer2.ts \
../../../i18n/zh_CN/opieplayer2.ts \
../../../i18n/zh_TW/opieplayer2.ts
include ( $(OPIEDIR)/include.pro )