summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2002-04-21 22:23:53 (UTC)
committer llornkcor <llornkcor>2002-04-21 22:23:53 (UTC)
commit27522ce8deaa0bdc23a6b88002bc1d2e5f918ce6 (patch) (unidiff)
tree05f6e301fd80c5551301ad88c19c3bcb061834ac
parent53a4a3f6398640d182a067a8ffef9b402cd35d7a (diff)
downloadopie-27522ce8deaa0bdc23a6b88002bc1d2e5f918ce6.zip
opie-27522ce8deaa0bdc23a6b88002bc1d2e5f918ce6.tar.gz
opie-27522ce8deaa0bdc23a6b88002bc1d2e5f918ce6.tar.bz2
comment out grabKeyboard stuff till that function works properly
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/multimedia/opieplayer/mediaplayer.cpp38
-rw-r--r--core/multimedia/opieplayer/mediaplayer.h6
-rw-r--r--core/multimedia/opieplayer/playlistwidget.cpp51
-rw-r--r--core/multimedia/opieplayer/playlistwidget.h4
-rw-r--r--core/multimedia/opieplayer/videowidget.cpp2
5 files changed, 90 insertions, 11 deletions
diff --git a/core/multimedia/opieplayer/mediaplayer.cpp b/core/multimedia/opieplayer/mediaplayer.cpp
index ab46a7d..b9e438b 100644
--- a/core/multimedia/opieplayer/mediaplayer.cpp
+++ b/core/multimedia/opieplayer/mediaplayer.cpp
@@ -1,187 +1,219 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. 2** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
3** 3**
4** This file is part of the Qtopia Environment. 4** This file is part of the Qtopia Environment.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20 20
21#include <qpe/qpeapplication.h> 21#include <qpe/qpeapplication.h>
22#include <qpe/qlibrary.h> 22#include <qpe/qlibrary.h>
23#include <qpe/resource.h> 23#include <qpe/resource.h>
24#include <qpe/config.h> 24#include <qpe/config.h>
25 25
26#include <qmainwindow.h> 26#include <qmainwindow.h>
27#include <qmessagebox.h> 27#include <qmessagebox.h>
28#include <qwidgetstack.h> 28#include <qwidgetstack.h>
29#include <qfile.h> 29#include <qfile.h>
30 30
31#include "mediaplayer.h" 31#include "mediaplayer.h"
32#include "playlistwidget.h" 32#include "playlistwidget.h"
33#include "audiowidget.h" 33#include "audiowidget.h"
34#include "loopcontrol.h" 34#include "loopcontrol.h"
35#include "audiodevice.h" 35#include "audiodevice.h"
36 36
37#include "mediaplayerstate.h" 37#include "mediaplayerstate.h"
38 38
39 39
40extern AudioWidget *audioUI; 40extern AudioWidget *audioUI;
41extern PlayListWidget *playList; 41extern PlayListWidget *playList;
42extern LoopControl *loopControl; 42extern LoopControl *loopControl;
43extern MediaPlayerState *mediaPlayerState; 43extern MediaPlayerState *mediaPlayerState;
44 44
45 45
46MediaPlayer::MediaPlayer( QObject *parent, const char *name ) 46MediaPlayer::MediaPlayer( QObject *parent, const char *name )
47 : QObject( parent, name ), volumeDirection( 0 ), currentFile( NULL ) { 47 : QObject( parent, name ), volumeDirection( 0 ), currentFile( NULL ) {
48 QPEApplication::grabKeyboard(); 48
49// QPEApplication::grabKeyboard();
50 connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) );
49 51
50 connect( mediaPlayerState, SIGNAL( playingToggled( bool ) ), this, SLOT( setPlaying( bool ) ) ); 52 connect( mediaPlayerState, SIGNAL( playingToggled( bool ) ), this, SLOT( setPlaying( bool ) ) );
51 connect( mediaPlayerState, SIGNAL( pausedToggled( bool ) ), this, SLOT( pauseCheck( bool ) ) ); 53 connect( mediaPlayerState, SIGNAL( pausedToggled( bool ) ), this, SLOT( pauseCheck( bool ) ) );
52 connect( mediaPlayerState, SIGNAL( next() ), this, SLOT( next() ) ); 54 connect( mediaPlayerState, SIGNAL( next() ), this, SLOT( next() ) );
53 connect( mediaPlayerState, SIGNAL( prev() ), this, SLOT( prev() ) ); 55 connect( mediaPlayerState, SIGNAL( prev() ), this, SLOT( prev() ) );
54 56
55 connect( audioUI, SIGNAL( moreClicked() ), this, SLOT( startIncreasingVolume() ) ); 57 connect( audioUI, SIGNAL( moreClicked() ), this, SLOT( startIncreasingVolume() ) );
56 connect( audioUI, SIGNAL( lessClicked() ), this, SLOT( startDecreasingVolume() ) ); 58 connect( audioUI, SIGNAL( lessClicked() ), this, SLOT( startDecreasingVolume() ) );
57 connect( audioUI, SIGNAL( moreReleased() ), this, SLOT( stopChangingVolume() ) ); 59 connect( audioUI, SIGNAL( moreReleased() ), this, SLOT( stopChangingVolume() ) );
58 connect( audioUI, SIGNAL( lessReleased() ), this, SLOT( stopChangingVolume() ) ); 60 connect( audioUI, SIGNAL( lessReleased() ), this, SLOT( stopChangingVolume() ) );
59} 61}
60 62
61 63
62MediaPlayer::~MediaPlayer() { 64MediaPlayer::~MediaPlayer() {
63 QPEApplication::grabKeyboard();
64 QPEApplication::ungrabKeyboard();
65} 65}
66 66
67 67
68void MediaPlayer::pauseCheck( bool b ) { 68void MediaPlayer::pauseCheck( bool b ) {
69 // Only pause if playing 69 // Only pause if playing
70 if ( b && !mediaPlayerState->playing() ) 70 if ( b && !mediaPlayerState->playing() )
71 mediaPlayerState->setPaused( FALSE ); 71 mediaPlayerState->setPaused( FALSE );
72} 72}
73 73
74 74
75void MediaPlayer::play() { 75void MediaPlayer::play() {
76 mediaPlayerState->setPlaying( FALSE ); 76 mediaPlayerState->setPlaying( FALSE );
77 mediaPlayerState->setPlaying( TRUE ); 77 mediaPlayerState->setPlaying( TRUE );
78} 78}
79 79
80 80
81void MediaPlayer::setPlaying( bool play ) { 81void MediaPlayer::setPlaying( bool play ) {
82 if ( !play ) { 82 if ( !play ) {
83 mediaPlayerState->setPaused( FALSE ); 83 mediaPlayerState->setPaused( FALSE );
84 loopControl->stop( FALSE ); 84 loopControl->stop( FALSE );
85 return; 85 return;
86 } 86 }
87 87
88 if ( mediaPlayerState->paused() ) { 88 if ( mediaPlayerState->paused() ) {
89 mediaPlayerState->setPaused( FALSE ); 89 mediaPlayerState->setPaused( FALSE );
90 return; 90 return;
91 } 91 }
92 92
93 const DocLnk *playListCurrent = playList->current(); 93 const DocLnk *playListCurrent = playList->current();
94 if ( playListCurrent != NULL ) { 94 if ( playListCurrent != NULL ) {
95 loopControl->stop( TRUE ); 95 loopControl->stop( TRUE );
96 currentFile = playListCurrent; 96 currentFile = playListCurrent;
97 } 97 }
98 if ( currentFile == NULL ) { 98 if ( currentFile == NULL ) {
99 QMessageBox::critical( 0, tr( "No file"), tr( "Error: There is no file selected" ) ); 99 QMessageBox::critical( 0, tr( "No file"), tr( "Error: There is no file selected" ) );
100 mediaPlayerState->setPlaying( FALSE ); 100 mediaPlayerState->setPlaying( FALSE );
101 return; 101 return;
102 } 102 }
103 103
104 if ( ((currentFile->file()).left(4) != "http") && !QFile::exists( currentFile->file() ) ) { 104 if ( ((currentFile->file()).left(4) != "http") && !QFile::exists( currentFile->file() ) ) {
105 QMessageBox::critical( 0, tr( "File not found"), tr( "The following file was not found: <i>" ) + currentFile->file() + "</i>" ); 105 QMessageBox::critical( 0, tr( "File not found"), tr( "The following file was not found: <i>" ) + currentFile->file() + "</i>" );
106 mediaPlayerState->setPlaying( FALSE ); 106 mediaPlayerState->setPlaying( FALSE );
107 return; 107 return;
108 } 108 }
109 109
110 if ( !mediaPlayerState->newDecoder( currentFile->file() ) ) { 110 if ( !mediaPlayerState->newDecoder( currentFile->file() ) ) {
111 QMessageBox::critical( 0, tr( "No decoder found"), tr( "Sorry, no appropriate decoders found for this file: <i>" ) + currentFile->file() + "</i>" ); 111 QMessageBox::critical( 0, tr( "No decoder found"), tr( "Sorry, no appropriate decoders found for this file: <i>" ) + currentFile->file() + "</i>" );
112 mediaPlayerState->setPlaying( FALSE ); 112 mediaPlayerState->setPlaying( FALSE );
113 return; 113 return;
114 } 114 }
115 115
116 if ( !loopControl->init( currentFile->file() ) ) { 116 if ( !loopControl->init( currentFile->file() ) ) {
117 QMessageBox::critical( 0, tr( "Error opening file"), tr( "Sorry, an error occured trying to play the file: <i>" ) + currentFile->file() + "</i>" ); 117 QMessageBox::critical( 0, tr( "Error opening file"), tr( "Sorry, an error occured trying to play the file: <i>" ) + currentFile->file() + "</i>" );
118 mediaPlayerState->setPlaying( FALSE ); 118 mediaPlayerState->setPlaying( FALSE );
119 return; 119 return;
120 } 120 }
121 long seconds = loopControl->totalPlaytime(); 121 long seconds = loopControl->totalPlaytime();
122 QString time; time.sprintf("%li:%02i", seconds/60, (int)seconds%60 ); 122 QString time; time.sprintf("%li:%02i", seconds/60, (int)seconds%60 );
123 QString tickerText; 123 QString tickerText;
124 if( currentFile->file().left(4) == "http" ) 124 if( currentFile->file().left(4) == "http" )
125 tickerText= tr( " File: " ) + currentFile->name(); 125 tickerText= tr( " File: " ) + currentFile->name();
126 else 126 else
127 tickerText = tr( " File: " ) + currentFile->name() + tr(", Length: ") + time; 127 tickerText = tr( " File: " ) + currentFile->name() + tr(", Length: ") + time;
128 128
129 QString fileInfo = mediaPlayerState->curDecoder()->fileInfo(); 129 QString fileInfo = mediaPlayerState->curDecoder()->fileInfo();
130 if ( !fileInfo.isEmpty() ) 130 if ( !fileInfo.isEmpty() )
131 tickerText += ", " + fileInfo; 131 tickerText += ", " + fileInfo;
132 audioUI->setTickerText( tickerText + "." ); 132 audioUI->setTickerText( tickerText + "." );
133 133
134 loopControl->play(); 134 loopControl->play();
135 135
136 mediaPlayerState->setView( loopControl->hasVideo() ? 'v' : 'a' ); 136 mediaPlayerState->setView( loopControl->hasVideo() ? 'v' : 'a' );
137} 137}
138 138
139 139
140void MediaPlayer::prev() { 140void MediaPlayer::prev() {
141 if ( playList->prev() ) 141 if ( playList->prev() )
142 play(); 142 play();
143 else if ( mediaPlayerState->looping() ) { 143 else if ( mediaPlayerState->looping() ) {
144 if ( playList->last() ) 144 if ( playList->last() )
145 play(); 145 play();
146 } else 146 } else
147 mediaPlayerState->setList(); 147 mediaPlayerState->setList();
148} 148}
149 149
150 150
151void MediaPlayer::next() { 151void MediaPlayer::next() {
152 if ( playList->next() ) 152 if ( playList->next() )
153 play(); 153 play();
154 else if ( mediaPlayerState->looping() ) { 154 else if ( mediaPlayerState->looping() ) {
155 if ( playList->first() ) 155 if ( playList->first() )
156 play(); 156 play();
157 } else 157 } else
158 mediaPlayerState->setList(); 158 mediaPlayerState->setList();
159} 159}
160 160
161 161
162void MediaPlayer::startDecreasingVolume() { 162void MediaPlayer::startDecreasingVolume() {
163 volumeDirection = -1; 163 volumeDirection = -1;
164 startTimer( 100 ); 164 startTimer( 100 );
165 AudioDevice::decreaseVolume(); 165 AudioDevice::decreaseVolume();
166} 166}
167 167
168 168
169void MediaPlayer::startIncreasingVolume() { 169void MediaPlayer::startIncreasingVolume() {
170 volumeDirection = +1; 170 volumeDirection = +1;
171 startTimer( 100 ); 171 startTimer( 100 );
172 AudioDevice::increaseVolume(); 172 AudioDevice::increaseVolume();
173} 173}
174 174
175 175
176void MediaPlayer::stopChangingVolume() { 176void MediaPlayer::stopChangingVolume() {
177 killTimers(); 177 killTimers();
178} 178}
179 179
180 180
181void MediaPlayer::timerEvent( QTimerEvent * ) { 181void MediaPlayer::timerEvent( QTimerEvent * ) {
182 if ( volumeDirection == +1 ) 182 if ( volumeDirection == +1 )
183 AudioDevice::increaseVolume(); 183 AudioDevice::increaseVolume();
184 else if ( volumeDirection == -1 ) 184 else if ( volumeDirection == -1 )
185 AudioDevice::decreaseVolume(); 185 AudioDevice::decreaseVolume();
186} 186}
187 187
188void MediaPlayer::keyReleaseEvent( QKeyEvent *e) {
189 switch ( e->key() ) {
190////////////////////////////// Zaurus keys
191 case Key_Home:
192 break;
193 case Key_F9: //activity
194 break;
195 case Key_F10: //contacts
196 break;
197 case Key_F11: //menu
198 break;
199 case Key_F12: //home
200 qDebug("Blank here");
201 break;
202 case Key_F13: //mail
203 break;
204 }
205}
206
207void MediaPlayer::doBlank() {
208
209}
210
211void MediaPlayer::doUnblank() {
212
213}
214
215void MediaPlayer::cleanUp() {
216// QPEApplication::grabKeyboard();
217// QPEApplication::ungrabKeyboard();
218
219}
diff --git a/core/multimedia/opieplayer/mediaplayer.h b/core/multimedia/opieplayer/mediaplayer.h
index 0354d21..cf9daea 100644
--- a/core/multimedia/opieplayer/mediaplayer.h
+++ b/core/multimedia/opieplayer/mediaplayer.h
@@ -1,59 +1,61 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. 2** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
3** 3**
4** This file is part of the Qtopia Environment. 4** This file is part of the Qtopia Environment.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20#ifndef MEDIA_PLAYER_H 20#ifndef MEDIA_PLAYER_H
21#define MEDIA_PLAYER_H 21#define MEDIA_PLAYER_H
22 22
23#include <qmainwindow.h> 23#include <qmainwindow.h>
24#include <qframe.h> 24#include <qframe.h>
25#include <qpe/qlibrary.h> 25#include <qpe/qlibrary.h>
26#include <qpe/mediaplayerplugininterface.h> 26#include <qpe/mediaplayerplugininterface.h>
27 27
28 28
29class DocLnk; 29class DocLnk;
30 30
31 31
32class MediaPlayer : public QObject { 32class MediaPlayer : public QObject {
33 Q_OBJECT 33 Q_OBJECT
34public: 34public:
35 MediaPlayer( QObject *parent, const char *name ); 35 MediaPlayer( QObject *parent, const char *name );
36 ~MediaPlayer(); 36 ~MediaPlayer();
37 37
38private slots: 38private slots:
39 void setPlaying( bool ); 39 void setPlaying( bool );
40 void pauseCheck( bool ); 40 void pauseCheck( bool );
41 void play(); 41 void play();
42 void next(); 42 void next();
43 void prev(); 43 void prev();
44 void startIncreasingVolume(); 44 void startIncreasingVolume();
45 void startDecreasingVolume(); 45 void startDecreasingVolume();
46 void stopChangingVolume(); 46 void stopChangingVolume();
47 47
48protected: 48protected:
49 void timerEvent( QTimerEvent *e ); 49 void timerEvent( QTimerEvent *e );
50// void keyReleaseEvent( QKeyEvent *e); 50 void keyReleaseEvent( QKeyEvent *e);
51 51 void doBlank();
52 void doUnblank();
53 void cleanUp();
52private: 54private:
53 int volumeDirection; 55 int volumeDirection;
54 const DocLnk *currentFile; 56 const DocLnk *currentFile;
55}; 57};
56 58
57 59
58#endif // MEDIA_PLAYER_H 60#endif // MEDIA_PLAYER_H
59 61
diff --git a/core/multimedia/opieplayer/playlistwidget.cpp b/core/multimedia/opieplayer/playlistwidget.cpp
index faa6e3f..70b7cef 100644
--- a/core/multimedia/opieplayer/playlistwidget.cpp
+++ b/core/multimedia/opieplayer/playlistwidget.cpp
@@ -1,320 +1,332 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved. 2** Copyright (C) 2000 Trolltech AS. All rights reserved.
3** 3**
4** This file is part of Qtopia Environment. 4** This file is part of Qtopia Environment.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20// code added by L. J. Potter Sat 03-02-2002 06:17:54 20// code added by L. J. Potter Sat 03-02-2002 06:17:54
21#define QTOPIA_INTERNAL_FSLP 21#define QTOPIA_INTERNAL_FSLP
22#include <qpe/qcopenvelope_qws.h>
22 23
23#include <qpe/qpemenubar.h> 24#include <qpe/qpemenubar.h>
24#include <qpe/qpetoolbar.h> 25#include <qpe/qpetoolbar.h>
25#include <qpe/fileselector.h> 26#include <qpe/fileselector.h>
26#include <qpe/qpeapplication.h> 27#include <qpe/qpeapplication.h>
27#include <qpe/lnkproperties.h> 28#include <qpe/lnkproperties.h>
28#include <qpe/storage.h> 29#include <qpe/storage.h>
29 30
30#include <qpe/applnk.h> 31#include <qpe/applnk.h>
31#include <qpe/config.h> 32#include <qpe/config.h>
32#include <qpe/global.h> 33#include <qpe/global.h>
33#include <qpe/resource.h> 34#include <qpe/resource.h>
34 35
35#include <qaction.h> 36#include <qaction.h>
36#include <qimage.h> 37#include <qimage.h>
37#include <qfile.h> 38#include <qfile.h>
38#include <qdir.h> 39#include <qdir.h>
39#include <qlayout.h> 40#include <qlayout.h>
40#include <qlabel.h> 41#include <qlabel.h>
41#include <qlist.h> 42#include <qlist.h>
42#include <qlistbox.h> 43#include <qlistbox.h>
43#include <qmainwindow.h> 44#include <qmainwindow.h>
44#include <qmessagebox.h> 45#include <qmessagebox.h>
45#include <qtoolbutton.h> 46#include <qtoolbutton.h>
46#include <qtabwidget.h> 47#include <qtabwidget.h>
47#include <qlistview.h> 48#include <qlistview.h>
48#include <qpoint.h> 49#include <qpoint.h>
49#include <qlineedit.h> 50#include <qlineedit.h>
50#include <qpushbutton.h> 51#include <qpushbutton.h>
51#include <qregexp.h> 52#include <qregexp.h>
52 53
53//#include <qtimer.h> 54//#include <qtimer.h>
54 55
55#include "playlistselection.h" 56#include "playlistselection.h"
56#include "playlistwidget.h" 57#include "playlistwidget.h"
57#include "mediaplayerstate.h" 58#include "mediaplayerstate.h"
58 59
59#include "inputDialog.h" 60#include "inputDialog.h"
60 61
61#include <stdlib.h> 62#include <stdlib.h>
62#include "audiowidget.h" 63#include "audiowidget.h"
63#include "videowidget.h" 64#include "videowidget.h"
64 65
66#include <unistd.h>
67#include <sys/file.h>
68#include <sys/ioctl.h>
69#include <sys/soundcard.h>
70
71// for setBacklight()
72#include <linux/fb.h>
73#include <sys/types.h>
74#include <sys/stat.h>
75#include <stdlib.h>
76
65#define BUTTONS_ON_TOOLBAR 77#define BUTTONS_ON_TOOLBAR
66#define SIDE_BUTTONS 78#define SIDE_BUTTONS
67#define CAN_SAVE_LOAD_PLAYLISTS 79#define CAN_SAVE_LOAD_PLAYLISTS
68 80
69extern AudioWidget *audioUI; 81extern AudioWidget *audioUI;
70extern VideoWidget *videoUI; 82extern VideoWidget *videoUI;
71extern MediaPlayerState *mediaPlayerState; 83extern MediaPlayerState *mediaPlayerState;
72 84
73// class myFileSelector { 85// class myFileSelector {
74 86
75// }; 87// };
76class PlayListWidgetPrivate { 88class PlayListWidgetPrivate {
77public: 89public:
78 QToolButton *tbPlay, *tbFull, *tbLoop, *tbScale, *tbShuffle, *tbAddToList, *tbRemoveFromList, *tbMoveUp, *tbMoveDown, *tbRemove; 90 QToolButton *tbPlay, *tbFull, *tbLoop, *tbScale, *tbShuffle, *tbAddToList, *tbRemoveFromList, *tbMoveUp, *tbMoveDown, *tbRemove;
79 QFrame *playListFrame; 91 QFrame *playListFrame;
80 FileSelector *files; 92 FileSelector *files;
81 PlayListSelection *selectedFiles; 93 PlayListSelection *selectedFiles;
82 bool setDocumentUsed; 94 bool setDocumentUsed;
83 DocLnk *current; 95 DocLnk *current;
84}; 96};
85 97
86 98
87class ToolButton : public QToolButton { 99class ToolButton : public QToolButton {
88public: 100public:
89 ToolButton( QWidget *parent, const char *name, const QString& icon, QObject *handler, const QString& slot, bool t = FALSE ) 101 ToolButton( QWidget *parent, const char *name, const QString& icon, QObject *handler, const QString& slot, bool t = FALSE )
90 : QToolButton( parent, name ) { 102 : QToolButton( parent, name ) {
91 setTextLabel( name ); 103 setTextLabel( name );
92 setPixmap( Resource::loadPixmap( icon ) ); 104 setPixmap( Resource::loadPixmap( icon ) );
93 setAutoRaise( TRUE ); 105 setAutoRaise( TRUE );
94 setFocusPolicy( QWidget::NoFocus ); 106 setFocusPolicy( QWidget::NoFocus );
95 setToggleButton( t ); 107 setToggleButton( t );
96 connect( this, t ? SIGNAL( toggled(bool) ) : SIGNAL( clicked() ), handler, slot ); 108 connect( this, t ? SIGNAL( toggled(bool) ) : SIGNAL( clicked() ), handler, slot );
97 QPEMenuToolFocusManager::manager()->addWidget( this ); 109 QPEMenuToolFocusManager::manager()->addWidget( this );
98 } 110 }
99}; 111};
100 112
101 113
102class MenuItem : public QAction { 114class MenuItem : public QAction {
103public: 115public:
104 MenuItem( QWidget *parent, const QString& text, QObject *handler, const QString& slot ) 116 MenuItem( QWidget *parent, const QString& text, QObject *handler, const QString& slot )
105 : QAction( text, QString::null, 0, 0 ) { 117 : QAction( text, QString::null, 0, 0 ) {
106 connect( this, SIGNAL( activated() ), handler, slot ); 118 connect( this, SIGNAL( activated() ), handler, slot );
107 addTo( parent ); 119 addTo( parent );
108 } 120 }
109}; 121};
110 122
111 123
112PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl ) 124PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl )
113 : QMainWindow( parent, name, fl ) { 125 : QMainWindow( parent, name, fl ) {
114 126
115 d = new PlayListWidgetPrivate; 127 d = new PlayListWidgetPrivate;
116 d->setDocumentUsed = FALSE; 128 d->setDocumentUsed = FALSE;
117 d->current = NULL; 129 d->current = NULL;
118 fromSetDocument = FALSE; 130 fromSetDocument = FALSE;
119 insanityBool=FALSE; 131 insanityBool=FALSE;
120// menuTimer = new QTimer( this ,"menu timer"), 132// menuTimer = new QTimer( this ,"menu timer"),
121// connect( menuTimer, SIGNAL( timeout() ), SLOT( addSelected() ) ); 133// connect( menuTimer, SIGNAL( timeout() ), SLOT( addSelected() ) );
122 134
123 setBackgroundMode( PaletteButton ); 135 setBackgroundMode( PaletteButton );
124 136
125 setCaption( tr("OpiePlayer") ); 137 setCaption( tr("OpiePlayer") );
126 setIcon( Resource::loadPixmap( "opieplayer/MPEGPlayer" ) ); 138 setIcon( Resource::loadPixmap( "opieplayer/MPEGPlayer" ) );
127 139
128 setToolBarsMovable( FALSE ); 140 setToolBarsMovable( FALSE );
129 141
130 // Create Toolbar 142 // Create Toolbar
131 QPEToolBar *toolbar = new QPEToolBar( this ); 143 QPEToolBar *toolbar = new QPEToolBar( this );
132 toolbar->setHorizontalStretchable( TRUE ); 144 toolbar->setHorizontalStretchable( TRUE );
133 145
134 // Create Menubar 146 // Create Menubar
135 QPEMenuBar *menu = new QPEMenuBar( toolbar ); 147 QPEMenuBar *menu = new QPEMenuBar( toolbar );
136 menu->setMargin( 0 ); 148 menu->setMargin( 0 );
137 149
138 QPEToolBar *bar = new QPEToolBar( this ); 150 QPEToolBar *bar = new QPEToolBar( this );
139 bar->setLabel( tr( "Play Operations" ) ); 151 bar->setLabel( tr( "Play Operations" ) );
140// d->tbPlayCurList = new ToolButton( bar, tr( "play List" ), "opieplayer/play_current_list", 152// d->tbPlayCurList = new ToolButton( bar, tr( "play List" ), "opieplayer/play_current_list",
141// this , SLOT( addSelected()) ); 153// this , SLOT( addSelected()) );
142 tbDeletePlaylist = new QPushButton( Resource::loadIconSet("trash"),"",bar,"close"); 154 tbDeletePlaylist = new QPushButton( Resource::loadIconSet("trash"),"",bar,"close");
143 tbDeletePlaylist->setFlat(TRUE); 155 tbDeletePlaylist->setFlat(TRUE);
144 tbDeletePlaylist->setFixedSize(20,20); 156 tbDeletePlaylist->setFixedSize(20,20);
145 connect(tbDeletePlaylist,(SIGNAL(released())),SLOT( deletePlaylist())); 157 connect(tbDeletePlaylist,(SIGNAL(released())),SLOT( deletePlaylist()));
146 158
147 d->tbAddToList = new ToolButton( bar, tr( "Add to Playlist" ), "opieplayer/add_to_playlist", 159 d->tbAddToList = new ToolButton( bar, tr( "Add to Playlist" ), "opieplayer/add_to_playlist",
148 this , SLOT(addSelected()) ); 160 this , SLOT(addSelected()) );
149 d->tbRemoveFromList = new ToolButton( bar, tr( "Remove from Playlist" ), "opieplayer/remove_from_playlist", 161 d->tbRemoveFromList = new ToolButton( bar, tr( "Remove from Playlist" ), "opieplayer/remove_from_playlist",
150 this , SLOT(removeSelected()) ); 162 this , SLOT(removeSelected()) );
151// d->tbPlay = new ToolButton( bar, tr( "Play" ), "opieplayer/play", /*this */mediaPlayerState , SLOT(setPlaying(bool) /* btnPlay() */), TRUE ); 163// d->tbPlay = new ToolButton( bar, tr( "Play" ), "opieplayer/play", /*this */mediaPlayerState , SLOT(setPlaying(bool) /* btnPlay() */), TRUE );
152 d->tbPlay = new ToolButton( bar, tr( "Play" ), "opieplayer/play", 164 d->tbPlay = new ToolButton( bar, tr( "Play" ), "opieplayer/play",
153 this , SLOT( btnPlay(bool) ), TRUE ); 165 this , SLOT( btnPlay(bool) ), TRUE );
154 d->tbShuffle = new ToolButton( bar, tr( "Randomize" ),"opieplayer/shuffle", 166 d->tbShuffle = new ToolButton( bar, tr( "Randomize" ),"opieplayer/shuffle",
155 mediaPlayerState, SLOT(setShuffled(bool)), TRUE ); 167 mediaPlayerState, SLOT(setShuffled(bool)), TRUE );
156 d->tbLoop = new ToolButton( bar, tr( "Loop" ),"opieplayer/loop", 168 d->tbLoop = new ToolButton( bar, tr( "Loop" ),"opieplayer/loop",
157 mediaPlayerState, SLOT(setLooping(bool)), TRUE ); 169 mediaPlayerState, SLOT(setLooping(bool)), TRUE );
158 tbDeletePlaylist->hide(); 170 tbDeletePlaylist->hide();
159 171
160 QPopupMenu *pmPlayList = new QPopupMenu( this ); 172 QPopupMenu *pmPlayList = new QPopupMenu( this );
161 menu->insertItem( tr( "File" ), pmPlayList ); 173 menu->insertItem( tr( "File" ), pmPlayList );
162 new MenuItem( pmPlayList, tr( "Clear List" ), this, SLOT( clearList() ) ); 174 new MenuItem( pmPlayList, tr( "Clear List" ), this, SLOT( clearList() ) );
163 new MenuItem( pmPlayList, tr( "Add all audio files" ), this, SLOT( addAllMusicToList() ) ); 175 new MenuItem( pmPlayList, tr( "Add all audio files" ), this, SLOT( addAllMusicToList() ) );
164 new MenuItem( pmPlayList, tr( "Add all video files" ), this, SLOT( addAllVideoToList() ) ); 176 new MenuItem( pmPlayList, tr( "Add all video files" ), this, SLOT( addAllVideoToList() ) );
165 new MenuItem( pmPlayList, tr( "Add all files" ), this, SLOT( addAllToList() ) ); 177 new MenuItem( pmPlayList, tr( "Add all files" ), this, SLOT( addAllToList() ) );
166// pmPlayList->insertSeparator(-1); 178// pmPlayList->insertSeparator(-1);
167 new MenuItem( pmPlayList, tr( "Save PlayList" ), this, SLOT( saveList() ) ); 179 new MenuItem( pmPlayList, tr( "Save PlayList" ), this, SLOT( saveList() ) );
168 pmPlayList->insertSeparator(-1); 180 pmPlayList->insertSeparator(-1);
169 new MenuItem( pmPlayList, tr( "Open File or URL" ), this,SLOT( openFile() ) ); 181 new MenuItem( pmPlayList, tr( "Open File or URL" ), this,SLOT( openFile() ) );
170 182
171 QPopupMenu *pmView = new QPopupMenu( this ); 183 QPopupMenu *pmView = new QPopupMenu( this );
172 menu->insertItem( tr( "View" ), pmView ); 184 menu->insertItem( tr( "View" ), pmView );
173 185
174 fullScreenButton = new QAction(tr("Full Screen"), Resource::loadPixmap("fullscreen"), QString::null, 0, this, 0); 186 fullScreenButton = new QAction(tr("Full Screen"), Resource::loadPixmap("fullscreen"), QString::null, 0, this, 0);
175 connect( fullScreenButton, SIGNAL(activated()), mediaPlayerState, SLOT(toggleFullscreen()) ); 187 connect( fullScreenButton, SIGNAL(activated()), mediaPlayerState, SLOT(toggleFullscreen()) );
176 fullScreenButton->addTo(pmView); 188 fullScreenButton->addTo(pmView);
177 scaleButton = new QAction(tr("Scale"), Resource::loadPixmap("opieplayer/scale"), QString::null, 0, this, 0); 189 scaleButton = new QAction(tr("Scale"), Resource::loadPixmap("opieplayer/scale"), QString::null, 0, this, 0);
178 connect( scaleButton, SIGNAL(activated()), mediaPlayerState, SLOT(toggleScaled()) ); 190 connect( scaleButton, SIGNAL(activated()), mediaPlayerState, SLOT(toggleScaled()) );
179 scaleButton->addTo(pmView); 191 scaleButton->addTo(pmView);
180 192
181 QVBox *vbox5 = new QVBox( this ); vbox5->setBackgroundMode( PaletteButton ); 193 QVBox *vbox5 = new QVBox( this ); vbox5->setBackgroundMode( PaletteButton );
182 QVBox *vbox4 = new QVBox( vbox5 ); vbox4->setBackgroundMode( PaletteButton ); 194 QVBox *vbox4 = new QVBox( vbox5 ); vbox4->setBackgroundMode( PaletteButton );
183 195
184 QHBox *hbox6 = new QHBox( vbox4 ); hbox6->setBackgroundMode( PaletteButton ); 196 QHBox *hbox6 = new QHBox( vbox4 ); hbox6->setBackgroundMode( PaletteButton );
185 197
186 tabWidget = new QTabWidget( hbox6, "tabWidget" ); 198 tabWidget = new QTabWidget( hbox6, "tabWidget" );
187 tabWidget->setTabShape(QTabWidget::Triangular); 199 tabWidget->setTabShape(QTabWidget::Triangular);
188 200
189 QWidget *pTab; 201 QWidget *pTab;
190 pTab = new QWidget( tabWidget, "pTab" ); 202 pTab = new QWidget( tabWidget, "pTab" );
191// playlistView = new QListView( pTab, "playlistview" ); 203// playlistView = new QListView( pTab, "playlistview" );
192// playlistView->setMinimumSize(236,260); 204// playlistView->setMinimumSize(236,260);
193 tabWidget->insertTab( pTab,"Playlist"); 205 tabWidget->insertTab( pTab,"Playlist");
194 206
195 207
196 // Add the playlist area 208 // Add the playlist area
197 209
198 QVBox *vbox3 = new QVBox( pTab ); vbox3->setBackgroundMode( PaletteButton ); 210 QVBox *vbox3 = new QVBox( pTab ); vbox3->setBackgroundMode( PaletteButton );
199 d->playListFrame = vbox3; 211 d->playListFrame = vbox3;
200 d->playListFrame ->setMinimumSize(235,260); 212 d->playListFrame ->setMinimumSize(235,260);
201 213
202 QHBox *hbox2 = new QHBox( vbox3 ); hbox2->setBackgroundMode( PaletteButton ); 214 QHBox *hbox2 = new QHBox( vbox3 ); hbox2->setBackgroundMode( PaletteButton );
203 215
204 d->selectedFiles = new PlayListSelection( hbox2); 216 d->selectedFiles = new PlayListSelection( hbox2);
205 QVBox *vbox1 = new QVBox( hbox2 ); vbox1->setBackgroundMode( PaletteButton ); 217 QVBox *vbox1 = new QVBox( hbox2 ); vbox1->setBackgroundMode( PaletteButton );
206 218
207 QPEApplication::setStylusOperation( d->selectedFiles->viewport(),QPEApplication::RightOnHold); 219 QPEApplication::setStylusOperation( d->selectedFiles->viewport(),QPEApplication::RightOnHold);
208 220
209 connect( d->selectedFiles, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), 221 connect( d->selectedFiles, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
210 this,SLOT( playlistViewPressed(int, QListViewItem *, const QPoint&, int)) ); 222 this,SLOT( playlistViewPressed(int, QListViewItem *, const QPoint&, int)) );
211 223
212 224
213 QVBox *stretch1 = new QVBox( vbox1 ); stretch1->setBackgroundMode( PaletteButton ); // add stretch 225 QVBox *stretch1 = new QVBox( vbox1 ); stretch1->setBackgroundMode( PaletteButton ); // add stretch
214 new ToolButton( vbox1, tr( "Move Up" ), "opieplayer/up", d->selectedFiles, SLOT(moveSelectedUp()) ); 226 new ToolButton( vbox1, tr( "Move Up" ), "opieplayer/up", d->selectedFiles, SLOT(moveSelectedUp()) );
215 new ToolButton( vbox1, tr( "Remove" ), "opieplayer/cut", d->selectedFiles, SLOT(removeSelected()) ); 227 new ToolButton( vbox1, tr( "Remove" ), "opieplayer/cut", d->selectedFiles, SLOT(removeSelected()) );
216 new ToolButton( vbox1, tr( "Move Down" ), "opieplayer/down", d->selectedFiles, SLOT(moveSelectedDown()) ); 228 new ToolButton( vbox1, tr( "Move Down" ), "opieplayer/down", d->selectedFiles, SLOT(moveSelectedDown()) );
217 QVBox *stretch2 = new QVBox( vbox1 ); stretch2->setBackgroundMode( PaletteButton ); // add stretch 229 QVBox *stretch2 = new QVBox( vbox1 ); stretch2->setBackgroundMode( PaletteButton ); // add stretch
218 230
219 QWidget *aTab; 231 QWidget *aTab;
220 aTab = new QWidget( tabWidget, "aTab" ); 232 aTab = new QWidget( tabWidget, "aTab" );
221 audioView = new QListView( aTab, "Audioview" ); 233 audioView = new QListView( aTab, "Audioview" );
222 audioView->setMinimumSize(233,260); 234 audioView->setMinimumSize(233,260);
223 audioView->addColumn( tr("Title"),140); 235 audioView->addColumn( tr("Title"),140);
224 audioView->addColumn(tr("Size"), -1); 236 audioView->addColumn(tr("Size"), -1);
225 audioView->addColumn(tr("Media"),-1); 237 audioView->addColumn(tr("Media"),-1);
226 audioView->setColumnAlignment(1, Qt::AlignRight); 238 audioView->setColumnAlignment(1, Qt::AlignRight);
227 audioView->setColumnAlignment(2, Qt::AlignRight); 239 audioView->setColumnAlignment(2, Qt::AlignRight);
228 audioView->setAllColumnsShowFocus(TRUE); 240 audioView->setAllColumnsShowFocus(TRUE);
229 241
230 audioView->setMultiSelection( TRUE ); 242 audioView->setMultiSelection( TRUE );
231 audioView->setSelectionMode( QListView::Extended); 243 audioView->setSelectionMode( QListView::Extended);
232 244
233 tabWidget->insertTab(aTab,tr("Audio")); 245 tabWidget->insertTab(aTab,tr("Audio"));
234 246
235 QPEApplication::setStylusOperation( audioView->viewport(),QPEApplication::RightOnHold); 247 QPEApplication::setStylusOperation( audioView->viewport(),QPEApplication::RightOnHold);
236 connect( audioView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), 248 connect( audioView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
237 this,SLOT( viewPressed(int, QListViewItem *, const QPoint&, int)) ); 249 this,SLOT( viewPressed(int, QListViewItem *, const QPoint&, int)) );
238 250
239 251
240// audioView 252// audioView
241 populateAudioView(); 253 populateAudioView();
242// videowidget 254// videowidget
243 255
244 QWidget *vTab; 256 QWidget *vTab;
245 vTab = new QWidget( tabWidget, "vTab" ); 257 vTab = new QWidget( tabWidget, "vTab" );
246 videoView = new QListView( vTab, "Videoview" ); 258 videoView = new QListView( vTab, "Videoview" );
247 videoView->setMinimumSize(233,260); 259 videoView->setMinimumSize(233,260);
248 260
249 videoView->addColumn(tr("Title"),140); 261 videoView->addColumn(tr("Title"),140);
250 videoView->addColumn(tr("Size"),-1); 262 videoView->addColumn(tr("Size"),-1);
251 videoView->addColumn(tr("Media"),-1); 263 videoView->addColumn(tr("Media"),-1);
252 videoView->setColumnAlignment(1, Qt::AlignRight); 264 videoView->setColumnAlignment(1, Qt::AlignRight);
253 videoView->setColumnAlignment(2, Qt::AlignRight); 265 videoView->setColumnAlignment(2, Qt::AlignRight);
254 videoView->setAllColumnsShowFocus(TRUE); 266 videoView->setAllColumnsShowFocus(TRUE);
255 videoView->setMultiSelection( TRUE ); 267 videoView->setMultiSelection( TRUE );
256 videoView->setSelectionMode( QListView::Extended); 268 videoView->setSelectionMode( QListView::Extended);
257 269
258 QPEApplication::setStylusOperation( videoView->viewport(),QPEApplication::RightOnHold); 270 QPEApplication::setStylusOperation( videoView->viewport(),QPEApplication::RightOnHold);
259 connect( videoView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), 271 connect( videoView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
260 this,SLOT( viewPressed(int, QListViewItem *, const QPoint&, int)) ); 272 this,SLOT( viewPressed(int, QListViewItem *, const QPoint&, int)) );
261 273
262 tabWidget->insertTab( vTab,tr("Video")); 274 tabWidget->insertTab( vTab,tr("Video"));
263populateVideoView(); 275populateVideoView();
264 276
265//playlists list 277//playlists list
266 QWidget *LTab; 278 QWidget *LTab;
267 LTab = new QWidget( tabWidget, "LTab" ); 279 LTab = new QWidget( tabWidget, "LTab" );
268 playLists = new FileSelector( "playlist/plain", LTab, "fileselector" , FALSE, FALSE); //buggy 280 playLists = new FileSelector( "playlist/plain", LTab, "fileselector" , FALSE, FALSE); //buggy
269 playLists->setMinimumSize(233,260);; 281 playLists->setMinimumSize(233,260);;
270 tabWidget->insertTab(LTab,tr("Lists")); 282 tabWidget->insertTab(LTab,tr("Lists"));
271 283
272 connect( playLists, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( loadList( const DocLnk & ) ) ); 284 connect( playLists, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( loadList( const DocLnk & ) ) );
273// connect( playLists, SIGNAL( newSelected( const DocLnk &) ), this, SLOT( newFile( const DocLnk & ) ) ); 285// connect( playLists, SIGNAL( newSelected( const DocLnk &) ), this, SLOT( newFile( const DocLnk & ) ) );
274 286
275 287
276// add the library area 288// add the library area
277 289
278// connect( audioView, SIGNAL( rightButtonClicked( QListViewItem *, const QPoint &, int)), 290// connect( audioView, SIGNAL( rightButtonClicked( QListViewItem *, const QPoint &, int)),
279// this, SLOT( fauxPlay( QListViewItem *) ) ); 291// this, SLOT( fauxPlay( QListViewItem *) ) );
280// connect( videoView, SIGNAL( rightButtonClicked( QListViewItem *, const QPoint &, int)), 292// connect( videoView, SIGNAL( rightButtonClicked( QListViewItem *, const QPoint &, int)),
281// this, SLOT( fauxPlay( QListViewItem *)) ); 293// this, SLOT( fauxPlay( QListViewItem *)) );
282 294
283// connect( audioView, SIGNAL( clicked( QListViewItem *) ), this, SLOT( fauxPlay( QListViewItem *) ) ); 295// connect( audioView, SIGNAL( clicked( QListViewItem *) ), this, SLOT( fauxPlay( QListViewItem *) ) );
284// connect( videoView, SIGNAL( clicked( QListViewItem *) ), this, SLOT( fauxPlay( QListViewItem *) ) ); 296// connect( videoView, SIGNAL( clicked( QListViewItem *) ), this, SLOT( fauxPlay( QListViewItem *) ) );
285 297
286 connect( audioView, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( addToSelection( QListViewItem *) ) ); 298 connect( audioView, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( addToSelection( QListViewItem *) ) );
287 connect( videoView, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( addToSelection( QListViewItem *) ) ); 299 connect( videoView, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( addToSelection( QListViewItem *) ) );
288 300
289 connect( tabWidget, SIGNAL (currentChanged(QWidget*)),this,SLOT(tabChanged(QWidget*))); 301 connect( tabWidget, SIGNAL (currentChanged(QWidget*)),this,SLOT(tabChanged(QWidget*)));
290 connect( mediaPlayerState, SIGNAL( playingToggled( bool ) ), d->tbPlay, SLOT( setOn( bool ) ) ); 302 connect( mediaPlayerState, SIGNAL( playingToggled( bool ) ), d->tbPlay, SLOT( setOn( bool ) ) );
291 connect( mediaPlayerState, SIGNAL( loopingToggled( bool ) ), d->tbLoop, SLOT( setOn( bool ) ) ); 303 connect( mediaPlayerState, SIGNAL( loopingToggled( bool ) ), d->tbLoop, SLOT( setOn( bool ) ) );
292 connect( mediaPlayerState, SIGNAL( shuffledToggled( bool ) ), d->tbShuffle, SLOT( setOn( bool ) ) ); 304 connect( mediaPlayerState, SIGNAL( shuffledToggled( bool ) ), d->tbShuffle, SLOT( setOn( bool ) ) );
293 connect( mediaPlayerState, SIGNAL( playlistToggled( bool ) ), this, SLOT( setPlaylist( bool ) ) ); 305 connect( mediaPlayerState, SIGNAL( playlistToggled( bool ) ), this, SLOT( setPlaylist( bool ) ) );
294 306
295 connect( d->selectedFiles, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( playIt( QListViewItem *) ) ); 307 connect( d->selectedFiles, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( playIt( QListViewItem *) ) );
296// connect( d->selectedFiles, SIGNAL( fileSelected( const DocLnk & ) ), this, SLOT( addToSelection( const DocLnk & ) ) ); 308// connect( d->selectedFiles, SIGNAL( fileSelected( const DocLnk & ) ), this, SLOT( addToSelection( const DocLnk & ) ) );
297 309
298 setCentralWidget( vbox5 ); 310 setCentralWidget( vbox5 );
299 311
300 Config cfg( "OpiePlayer" ); 312 Config cfg( "OpiePlayer" );
301 readConfig( cfg ); 313 readConfig( cfg );
302 QString currentPlaylist = cfg.readEntry("CurrentPlaylist",""); 314 QString currentPlaylist = cfg.readEntry("CurrentPlaylist","");
303// qDebug("currentList is "+currentPlaylist); 315// qDebug("currentList is "+currentPlaylist);
304 loadList(DocLnk( currentPlaylist)); 316 loadList(DocLnk( currentPlaylist));
305 setCaption(tr("OpiePlayer: ")+ currentPlaylist ); 317 setCaption(tr("OpiePlayer: ")+ currentPlaylist );
306 318
307 initializeStates(); 319 initializeStates();
308} 320}
309 321
310 322
311PlayListWidget::~PlayListWidget() { 323PlayListWidget::~PlayListWidget() {
312 Config cfg( "OpiePlayer" ); 324 Config cfg( "OpiePlayer" );
313 writeConfig( cfg ); 325 writeConfig( cfg );
314 326
315 327
316 if ( d->current ) 328 if ( d->current )
317 delete d->current; 329 delete d->current;
318 delete d; 330 delete d;
319} 331}
320 332
@@ -800,267 +812,296 @@ void PlayListWidget::tabChanged(QWidget *widg) {
800 } 812 }
801 break; 813 break;
802 case 2: 814 case 2:
803 { 815 {
804 if( !tbDeletePlaylist->isHidden()) 816 if( !tbDeletePlaylist->isHidden())
805 tbDeletePlaylist->hide(); 817 tbDeletePlaylist->hide();
806 d->tbRemoveFromList->setEnabled(FALSE); 818 d->tbRemoveFromList->setEnabled(FALSE);
807 d->tbAddToList->setEnabled(TRUE); 819 d->tbAddToList->setEnabled(TRUE);
808 } 820 }
809 break; 821 break;
810 case 3: 822 case 3:
811 { 823 {
812 if( tbDeletePlaylist->isHidden()) 824 if( tbDeletePlaylist->isHidden())
813 tbDeletePlaylist->show(); 825 tbDeletePlaylist->show();
814 playLists->reread(); 826 playLists->reread();
815 } 827 }
816 break; 828 break;
817 }; 829 };
818} 830}
819 831
820 832
821 833
822void PlayListWidget::btnPlay(bool b) { 834void PlayListWidget::btnPlay(bool b) {
823 835
824// mediaPlayerState->setPlaying(b); 836// mediaPlayerState->setPlaying(b);
825 switch ( tabWidget->currentPageIndex()) { 837 switch ( tabWidget->currentPageIndex()) {
826 case 0: 838 case 0:
827 { 839 {
828 mediaPlayerState->setPlaying(b); 840 mediaPlayerState->setPlaying(b);
829 } 841 }
830 break; 842 break;
831 case 1: 843 case 1:
832 { 844 {
833 addToSelection( audioView->selectedItem() ); 845 addToSelection( audioView->selectedItem() );
834 mediaPlayerState->setPlaying(b); 846 mediaPlayerState->setPlaying(b);
835 d->selectedFiles->removeSelected( ); 847 d->selectedFiles->removeSelected( );
836 tabWidget->setCurrentPage(1); 848 tabWidget->setCurrentPage(1);
837 d->selectedFiles->unSelect(); 849 d->selectedFiles->unSelect();
838// audioView->clearSelection(); 850// audioView->clearSelection();
839 } 851 }
840 break; 852 break;
841 case 2: 853 case 2:
842 { 854 {
843 addToSelection( videoView->selectedItem() ); 855 addToSelection( videoView->selectedItem() );
844 mediaPlayerState->setPlaying(b); 856 mediaPlayerState->setPlaying(b);
845 qApp->processEvents(); 857 qApp->processEvents();
846 d->selectedFiles->removeSelected( ); 858 d->selectedFiles->removeSelected( );
847 tabWidget->setCurrentPage(2); 859 tabWidget->setCurrentPage(2);
848 d->selectedFiles->unSelect(); 860 d->selectedFiles->unSelect();
849// videoView->clearSelection(); 861// videoView->clearSelection();
850 } 862 }
851 break; 863 break;
852 }; 864 };
853} 865}
854 866
855void PlayListWidget::deletePlaylist() { 867void PlayListWidget::deletePlaylist() {
856 switch( QMessageBox::information( this, (tr("Remove Playlist?")), 868 switch( QMessageBox::information( this, (tr("Remove Playlist?")),
857 (tr("You really want to delete\nthis playlist?")), 869 (tr("You really want to delete\nthis playlist?")),
858 (tr("Yes")), (tr("No")), 0 )){ 870 (tr("Yes")), (tr("No")), 0 )){
859 case 0: // Yes clicked, 871 case 0: // Yes clicked,
860 QFile().remove(playLists->selected()->file()); 872 QFile().remove(playLists->selected()->file());
861 QFile().remove(playLists->selected()->linkFile()); 873 QFile().remove(playLists->selected()->linkFile());
862 playLists->reread(); 874 playLists->reread();
863 break; 875 break;
864 case 1: // Cancel 876 case 1: // Cancel
865 break; 877 break;
866 }; 878 };
867 879
868} 880}
869 881
870void PlayListWidget::viewPressed( int mouse, QListViewItem *item, const QPoint& point, int i) 882void PlayListWidget::viewPressed( int mouse, QListViewItem *item, const QPoint& point, int i)
871{ 883{
872 switch (mouse) { 884 switch (mouse) {
873 case 1: 885 case 1:
874 break; 886 break;
875 case 2:{ 887 case 2:{
876 QPopupMenu m; 888 QPopupMenu m;
877 m.insertItem( tr( "Play" ), this, SLOT( playSelected() )); 889 m.insertItem( tr( "Play" ), this, SLOT( playSelected() ));
878 m.insertItem( tr( "Add to Playlist" ), this, SLOT( addSelected() )); 890 m.insertItem( tr( "Add to Playlist" ), this, SLOT( addSelected() ));
879 m.insertSeparator(); 891 m.insertSeparator();
880 m.insertItem( tr( "Properties" ), this, SLOT( listDelete() )); 892 m.insertItem( tr( "Properties" ), this, SLOT( listDelete() ));
881 m.exec( QCursor::pos() ); 893 m.exec( QCursor::pos() );
882 } 894 }
883 break; 895 break;
884 }; 896 };
885} 897}
886 898
887void PlayListWidget::playSelected() 899void PlayListWidget::playSelected()
888{ 900{
889 btnPlay( TRUE); 901 btnPlay( TRUE);
890 d->selectedFiles->unSelect(); 902 d->selectedFiles->unSelect();
891} 903}
892 904
893void PlayListWidget::playlistViewPressed( int mouse, QListViewItem *item, const QPoint& point, int i) 905void PlayListWidget::playlistViewPressed( int mouse, QListViewItem *item, const QPoint& point, int i)
894{ 906{
895 switch (mouse) { 907 switch (mouse) {
896 case 1: 908 case 1:
897 909
898 break; 910 break;
899 case 2:{ 911 case 2:{
900 QPopupMenu m; 912 QPopupMenu m;
901 m.insertItem( tr( "Play Selected" ), this, SLOT( playSelected() )); 913 m.insertItem( tr( "Play Selected" ), this, SLOT( playSelected() ));
902 m.insertItem( tr( "Remove" ), this, SLOT( removeSelected() )); 914 m.insertItem( tr( "Remove" ), this, SLOT( removeSelected() ));
903// m.insertSeparator(); 915// m.insertSeparator();
904 m.exec( QCursor::pos() ); 916 m.exec( QCursor::pos() );
905 } 917 }
906 break; 918 break;
907 }; 919 };
908 920
909} 921}
910 922
911void PlayListWidget::listDelete() { 923void PlayListWidget::listDelete() {
912 Config cfg( "OpiePlayer" ); 924 Config cfg( "OpiePlayer" );
913 cfg.setGroup("PlayList"); 925 cfg.setGroup("PlayList");
914 QString currentPlaylist = cfg.readEntry("CurrentPlaylist",""); 926 QString currentPlaylist = cfg.readEntry("CurrentPlaylist","");
915 QString file; 927 QString file;
916 int noOfFiles = cfg.readNumEntry("NumberOfFiles", 0 ); 928 int noOfFiles = cfg.readNumEntry("NumberOfFiles", 0 );
917 switch ( tabWidget->currentPageIndex()) { 929 switch ( tabWidget->currentPageIndex()) {
918 case 0: 930 case 0:
919 break; 931 break;
920 case 1: 932 case 1:
921 { 933 {
922 file = audioView->selectedItem()->text(0); 934 file = audioView->selectedItem()->text(0);
923// Global::findDocuments(&files, "audio/*"); 935// Global::findDocuments(&files, "audio/*");
924// AppLnkSet appFiles; 936// AppLnkSet appFiles;
925 QListIterator<DocLnk> dit( files.children() ); 937 QListIterator<DocLnk> dit( files.children() );
926 for ( ; dit.current(); ++dit ) { 938 for ( ; dit.current(); ++dit ) {
927 if( dit.current()->name() == file) { 939 if( dit.current()->name() == file) {
928// qDebug(file); 940// qDebug(file);
929 LnkProperties prop( dit.current() ); 941 LnkProperties prop( dit.current() );
930// connect(&prop, SIGNAL(select(const AppLnk *)), this, SLOT(externalSelected(const AppLnk *))); 942// connect(&prop, SIGNAL(select(const AppLnk *)), this, SLOT(externalSelected(const AppLnk *)));
931 prop.showMaximized(); 943 prop.showMaximized();
932 prop.exec(); 944 prop.exec();
933 } 945 }
934 } 946 }
935 populateAudioView(); 947 populateAudioView();
936 } 948 }
937 break; 949 break;
938 case 2: 950 case 2:
939 { 951 {
940// file = videoView->selectedItem()->text(0); 952// file = videoView->selectedItem()->text(0);
941// for ( int i = 0; i < noOfFiles; i++ ) { 953// for ( int i = 0; i < noOfFiles; i++ ) {
942// QString entryName; 954// QString entryName;
943// entryName.sprintf( "File%i", i + 1 ); 955// entryName.sprintf( "File%i", i + 1 );
944// QString linkFile = cfg.readEntry( entryName ); 956// QString linkFile = cfg.readEntry( entryName );
945// AppLnk lnk( AppLnk(linkFile)); 957// AppLnk lnk( AppLnk(linkFile));
946// if( lnk.name() == file ) { 958// if( lnk.name() == file ) {
947// LnkProperties prop( &lnk); 959// LnkProperties prop( &lnk);
948// // connect(&prop, SIGNAL(select(const AppLnk *)), this, SLOT(externalSelected(const AppLnk *))); 960// // connect(&prop, SIGNAL(select(const AppLnk *)), this, SLOT(externalSelected(const AppLnk *)));
949// prop.showMaximized(); 961// prop.showMaximized();
950// prop.exec(); 962// prop.exec();
951// } 963// }
952// } 964// }
953 } 965 }
954 break; 966 break;
955 }; 967 };
956} 968}
957 969
958void PlayListWidget::populateAudioView() { 970void PlayListWidget::populateAudioView() {
959// if(files) 971// if(files)
960// files.~DocLnkSet(); 972// files.~DocLnkSet();
961 StorageInfo storageInfo; 973 StorageInfo storageInfo;
962 const QList<FileSystem> &fs = storageInfo.fileSystems(); 974 const QList<FileSystem> &fs = storageInfo.fileSystems();
963 975
964 Global::findDocuments(&files, "audio/*"); 976 Global::findDocuments(&files, "audio/*");
965 QListIterator<DocLnk> dit( files.children() ); 977 QListIterator<DocLnk> dit( files.children() );
966 QListIterator<FileSystem> it ( fs ); 978 QListIterator<FileSystem> it ( fs );
967 audioView->clear(); 979 audioView->clear();
968 QString storage; 980 QString storage;
969 for ( ; dit.current(); ++dit ) { 981 for ( ; dit.current(); ++dit ) {
970 for( ; it.current(); ++it ){ 982 for( ; it.current(); ++it ){
971 const QString name = (*it)->name(); 983 const QString name = (*it)->name();
972 const QString path = (*it)->path(); 984 const QString path = (*it)->path();
973 if(dit.current()->file().find(path) != -1 ) storage=name; 985 if(dit.current()->file().find(path) != -1 ) storage=name;
974 } 986 }
975 987
976 QListViewItem * newItem; 988 QListViewItem * newItem;
977 if ( QFile( dit.current()->file()).exists() ) { 989 if ( QFile( dit.current()->file()).exists() ) {
978 newItem= /*(void)*/ new QListViewItem( audioView, dit.current()->name(), QString::number( QFile( dit.current()->file()).size() ), storage); 990 newItem= /*(void)*/ new QListViewItem( audioView, dit.current()->name(), QString::number( QFile( dit.current()->file()).size() ), storage);
979 newItem->setPixmap(0, Resource::loadPixmap( "opieplayer/musicfile" )); 991 newItem->setPixmap(0, Resource::loadPixmap( "opieplayer/musicfile" ));
980 } 992 }
981 } 993 }
982} 994}
983 995
984void PlayListWidget::populateVideoView() { 996void PlayListWidget::populateVideoView() {
985 StorageInfo storageInfo; 997 StorageInfo storageInfo;
986 const QList<FileSystem> &fs = storageInfo.fileSystems(); 998 const QList<FileSystem> &fs = storageInfo.fileSystems();
987 999
988 Global::findDocuments(&vFiles, "video/*"); 1000 Global::findDocuments(&vFiles, "video/*");
989 QListIterator<DocLnk> Vdit( vFiles.children() ); 1001 QListIterator<DocLnk> Vdit( vFiles.children() );
990 QListIterator<FileSystem> it ( fs ); 1002 QListIterator<FileSystem> it ( fs );
991 videoView->clear(); 1003 videoView->clear();
992 QString storage; 1004 QString storage;
993 for ( ; Vdit.current(); ++Vdit ) { 1005 for ( ; Vdit.current(); ++Vdit ) {
994 for( ; it.current(); ++it ){ 1006 for( ; it.current(); ++it ){
995 const QString name = (*it)->name(); 1007 const QString name = (*it)->name();
996 const QString path = (*it)->path(); 1008 const QString path = (*it)->path();
997 if( Vdit.current()->file().find(path) != -1 ) storage=name; 1009 if( Vdit.current()->file().find(path) != -1 ) storage=name;
998 } 1010 }
999 1011
1000 QListViewItem * newItem; 1012 QListViewItem * newItem;
1001 if ( QFile( Vdit.current()->file()).exists() ) { 1013 if ( QFile( Vdit.current()->file()).exists() ) {
1002 newItem= /*(void)*/ new QListViewItem( videoView, Vdit.current()->name(), QString::number( QFile( Vdit.current()->file()).size() ), storage); 1014 newItem= /*(void)*/ new QListViewItem( videoView, Vdit.current()->name(), QString::number( QFile( Vdit.current()->file()).size() ), storage);
1003 newItem->setPixmap(0, Resource::loadPixmap( "opieplayer/videofile" )); 1015 newItem->setPixmap(0, Resource::loadPixmap( "opieplayer/videofile" ));
1004 } 1016 }
1005 } 1017 }
1006} 1018}
1007 1019
1008void PlayListWidget::openFile() { 1020void PlayListWidget::openFile() {
1009 QString filename, name; 1021 QString filename, name;
1010 InputDialog *fileDlg; 1022 InputDialog *fileDlg;
1011 fileDlg = new InputDialog(this,tr("Open file or URL"),TRUE, 0); 1023 fileDlg = new InputDialog(this,tr("Open file or URL"),TRUE, 0);
1012 fileDlg->exec(); 1024 fileDlg->exec();
1013 if( fileDlg->result() == 1 ) { 1025 if( fileDlg->result() == 1 ) {
1014 filename = fileDlg->LineEdit1->text(); 1026 filename = fileDlg->LineEdit1->text();
1015 1027
1016// InputDialog *fileDlg2; 1028// InputDialog *fileDlg2;
1017// fileDlg2 = new InputDialog(this,tr("Name"),TRUE, 0); 1029// fileDlg2 = new InputDialog(this,tr("Name"),TRUE, 0);
1018// fileDlg2->exec(); 1030// fileDlg2->exec();
1019// if( fileDlg2->result() == 1 ) { 1031// if( fileDlg2->result() == 1 ) {
1020// name = fileDlg2->LineEdit1->text(); 1032// name = fileDlg2->LineEdit1->text();
1021// } 1033// }
1022//http://205.188.234.129:8030 1034//http://205.188.234.129:8030
1023// http://66.28.68.70:8000 1035// http://66.28.68.70:8000
1024 qDebug(filename); 1036 qDebug(filename);
1025 DocLnk lnk; 1037 DocLnk lnk;
1026// if(filename.left(7) == "http://") 1038// if(filename.left(7) == "http://")
1027// name= filename.right(filename.length()-filename.find("http://")-7); 1039// name= filename.right(filename.length()-filename.find("http://")-7);
1028// else name = filename; 1040// else name = filename;
1029// qDebug("name is "+name); 1041// qDebug("name is "+name);
1030// lnk.setComment(filename); 1042// lnk.setComment(filename);
1031 lnk.setName(filename); //sets file name 1043 lnk.setName(filename); //sets file name
1032 if(filename.right(1) != "/" && filename.right(3) != "mp3" && filename.right(3) != "MP3") 1044 if(filename.right(1) != "/" && filename.right(3) != "mp3" && filename.right(3) != "MP3")
1033 filename += "/"; 1045 filename += "/";
1034 lnk.setFile(filename); //sets File property 1046 lnk.setFile(filename); //sets File property
1035 1047
1036 lnk.setType("audio/x-mpegurl"); 1048 lnk.setType("audio/x-mpegurl");
1037 lnk.setExec("opieplayer"); 1049 lnk.setExec("opieplayer");
1038 lnk.setIcon("opieplayer/MPEGPlayer"); 1050 lnk.setIcon("opieplayer/MPEGPlayer");
1039 1051
1040 if(!lnk.writeLink()) 1052 if(!lnk.writeLink())
1041 qDebug("Writing doclink did not work"); 1053 qDebug("Writing doclink did not work");
1042 d->selectedFiles->addToSelection( lnk); 1054 d->selectedFiles->addToSelection( lnk);
1043// if(fileDlg2) 1055// if(fileDlg2)
1044// delete fileDlg2; 1056// delete fileDlg2;
1045 } 1057 }
1046 1058
1047 if(fileDlg) 1059 if(fileDlg)
1048 delete fileDlg; 1060 delete fileDlg;
1049} 1061}
1050 1062
1051void PlayListWidget::keyReleaseEvent( QKeyEvent *e) 1063void PlayListWidget::keyReleaseEvent( QKeyEvent *e)
1052{ 1064{
1053 switch ( e->key() ) { 1065 switch ( e->key() ) {
1054////////////////////////////// Zaurus keys 1066////////////////////////////// Zaurus keys
1055 case Key_F9: //activity 1067 case Key_F9: //activity
1056 if(audioUI->isHidden()) 1068// if(audioUI->isHidden())
1057 audioUI->showMaximized(); 1069// audioUI->showMaximized();
1058 break; 1070 break;
1059 case Key_F10: //contacts 1071 case Key_F10: //contacts
1060 if( videoUI->isHidden()) 1072// if( videoUI->isHidden())
1061 videoUI->showMaximized(); 1073// videoUI->showMaximized();
1062 1074 break;
1075 case Key_F11: //menu
1076 break;
1077 case Key_F12: //home
1078// doBlank();
1079 break;
1080 case Key_F13: //mail
1081// doUnblank();
1063 break; 1082 break;
1064 1083
1065 } 1084 }
1066} 1085}
1086
1087void PlayListWidget::doBlank() {
1088 qDebug("do blanking");
1089 fd=open("/dev/fb0",O_RDWR);
1090 if (fd != -1) {
1091 ioctl(fd,FBIOBLANK,1);
1092// close(fd);
1093 }
1094}
1095
1096void PlayListWidget::doUnblank() {
1097 // this crashes opieplayer with a segfault
1098// int fd;
1099// fd=open("/dev/fb0",O_RDWR);
1100 qDebug("do unblanking");
1101 if (fd != -1) {
1102 ioctl(fd,FBIOBLANK,0);
1103 close(fd);
1104 }
1105 QCopEnvelope h("QPE/System", "setBacklight(int)");
1106 h <<-3;// v[1]; // -3 Force on
1107}
diff --git a/core/multimedia/opieplayer/playlistwidget.h b/core/multimedia/opieplayer/playlistwidget.h
index 16b9905..f22770f 100644
--- a/core/multimedia/opieplayer/playlistwidget.h
+++ b/core/multimedia/opieplayer/playlistwidget.h
@@ -1,113 +1,117 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved. 2** Copyright (C) 2000 Trolltech AS. All rights reserved.
3** 3**
4** This file is part of Qtopia Environment. 4** This file is part of Qtopia Environment.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20#ifndef PLAY_LIST_WIDGET_H 20#ifndef PLAY_LIST_WIDGET_H
21#define PLAY_LIST_WIDGET_H 21#define PLAY_LIST_WIDGET_H
22 22
23#include <qmainwindow.h> 23#include <qmainwindow.h>
24#include <qpe/applnk.h> 24#include <qpe/applnk.h>
25#include <qtabwidget.h> 25#include <qtabwidget.h>
26#include <qpe/fileselector.h> 26#include <qpe/fileselector.h>
27#include <qpushbutton.h> 27#include <qpushbutton.h>
28 28
29/* #include <qtimer.h> */ 29/* #include <qtimer.h> */
30 30
31 31
32class PlayListWidgetPrivate; 32class PlayListWidgetPrivate;
33class Config; 33class Config;
34class QListViewItem; 34class QListViewItem;
35class QListView; 35class QListView;
36class QPoint; 36class QPoint;
37class QAction; 37class QAction;
38class QLabel; 38class QLabel;
39 39
40class PlayListWidget : public QMainWindow { 40class PlayListWidget : public QMainWindow {
41 Q_OBJECT 41 Q_OBJECT
42public: 42public:
43 PlayListWidget( QWidget* parent=0, const char* name=0, WFlags fl=0 ); 43 PlayListWidget( QWidget* parent=0, const char* name=0, WFlags fl=0 );
44 ~PlayListWidget(); 44 ~PlayListWidget();
45 QTabWidget * tabWidget; 45 QTabWidget * tabWidget;
46 QAction *fullScreenButton, *scaleButton; 46 QAction *fullScreenButton, *scaleButton;
47 DocLnkSet files; 47 DocLnkSet files;
48 DocLnkSet vFiles; 48 DocLnkSet vFiles;
49 QListView *audioView, *videoView, *playlistView; 49 QListView *audioView, *videoView, *playlistView;
50 QLabel *libString; 50 QLabel *libString;
51 bool fromSetDocument; 51 bool fromSetDocument;
52 bool insanityBool; 52 bool insanityBool;
53 QString setDocFileRef; 53 QString setDocFileRef;
54 // retrieve the current playlist entry (media file link) 54 // retrieve the current playlist entry (media file link)
55 const DocLnk *current(); 55 const DocLnk *current();
56 void useSelectedDocument(); 56 void useSelectedDocument();
57/* QTimer * menuTimer; */ 57/* QTimer * menuTimer; */
58 FileSelector* playLists; 58 FileSelector* playLists;
59 QPushButton *tbDeletePlaylist; 59 QPushButton *tbDeletePlaylist;
60 int fd;
60public slots: 61public slots:
61 bool first(); 62 bool first();
62 bool last(); 63 bool last();
63 bool next(); 64 bool next();
64 bool prev(); 65 bool prev();
65/* void setFullScreen(); */ 66/* void setFullScreen(); */
66/* void setScaled(); */ 67/* void setScaled(); */
67protected: 68protected:
68/* void contentsMousePressEvent( QMouseEvent * e ); */ 69/* void contentsMousePressEvent( QMouseEvent * e ); */
69/* void contentsMouseReleaseEvent( QMouseEvent * e ); */ 70/* void contentsMouseReleaseEvent( QMouseEvent * e ); */
70void keyReleaseEvent( QKeyEvent *e); 71void keyReleaseEvent( QKeyEvent *e);
71private: 72private:
73 void doBlank();
74 void doUnblank();
75
72 void initializeStates(); 76 void initializeStates();
73 void readConfig( Config& cfg ); 77 void readConfig( Config& cfg );
74 void writeConfig( Config& cfg ) const; 78 void writeConfig( Config& cfg ) const;
75 PlayListWidgetPrivate *d; // Private implementation data 79 PlayListWidgetPrivate *d; // Private implementation data
76 void populateAudioView(); 80 void populateAudioView();
77 void populateVideoView(); 81 void populateVideoView();
78private slots: 82private slots:
79 void openFile(); 83 void openFile();
80 void setDocument( const QString& fileref ); 84 void setDocument( const QString& fileref );
81 void addToSelection( const DocLnk& ); // Add a media file to the playlist 85 void addToSelection( const DocLnk& ); // Add a media file to the playlist
82 void addToSelection( QListViewItem* ); // Add a media file to the playlist 86 void addToSelection( QListViewItem* ); // Add a media file to the playlist
83 void setActiveWindow(); // need to handle this to show the right view 87 void setActiveWindow(); // need to handle this to show the right view
84 void setPlaylist( bool ); // Show/Hide the playlist 88 void setPlaylist( bool ); // Show/Hide the playlist
85 void setView( char ); 89 void setView( char );
86 void clearList(); 90 void clearList();
87 void addAllToList(); 91 void addAllToList();
88 void addAllMusicToList(); 92 void addAllMusicToList();
89 void addAllVideoToList(); 93 void addAllVideoToList();
90 void saveList(); // Save the playlist 94 void saveList(); // Save the playlist
91 void loadList( const DocLnk &); // Load a playlist 95 void loadList( const DocLnk &); // Load a playlist
92 void playIt( QListViewItem *); 96 void playIt( QListViewItem *);
93 97
94 void btnPlay(bool); 98 void btnPlay(bool);
95 void deletePlaylist(); 99 void deletePlaylist();
96 void addSelected(); 100 void addSelected();
97 void removeSelected(); 101 void removeSelected();
98 void tabChanged(QWidget*); 102 void tabChanged(QWidget*);
99 void viewPressed( int, QListViewItem *, const QPoint&, int); 103 void viewPressed( int, QListViewItem *, const QPoint&, int);
100 void playlistViewPressed( int, QListViewItem *, const QPoint&, int); 104 void playlistViewPressed( int, QListViewItem *, const QPoint&, int);
101 void playSelected(); 105 void playSelected();
102 void listDelete(); 106 void listDelete();
103 107
104protected slots: 108protected slots:
105/* void cancelMenuTimer(); */ 109/* void cancelMenuTimer(); */
106/* void showFileMenu(); */ 110/* void showFileMenu(); */
107 111
108 112
109}; 113};
110 114
111 115
112#endif // PLAY_LIST_WIDGET_H 116#endif // PLAY_LIST_WIDGET_H
113 117
diff --git a/core/multimedia/opieplayer/videowidget.cpp b/core/multimedia/opieplayer/videowidget.cpp
index d0cb764..3bce996 100644
--- a/core/multimedia/opieplayer/videowidget.cpp
+++ b/core/multimedia/opieplayer/videowidget.cpp
@@ -179,295 +179,295 @@ void VideoWidget::paintButton( QPainter *p, int i ) {
179 int offset = 10 + videoButtons[i].isDown; 179 int offset = 10 + videoButtons[i].isDown;
180 p->drawPixmap( x, y, *pixmaps[videoButtons[i].isDown] ); 180 p->drawPixmap( x, y, *pixmaps[videoButtons[i].isDown] );
181 p->drawPixmap( x + 1 + offset, y + offset, *pixmaps[2], 9 * videoButtons[i].controlType, 0, 9, 9 ); 181 p->drawPixmap( x + 1 + offset, y + offset, *pixmaps[2], 9 * videoButtons[i].controlType, 0, 9, 9 );
182} 182}
183 183
184 184
185void VideoWidget::mouseMoveEvent( QMouseEvent *event ) { 185void VideoWidget::mouseMoveEvent( QMouseEvent *event ) {
186 for ( int i = 0; i < numButtons; i++ ) { 186 for ( int i = 0; i < numButtons; i++ ) {
187 int x = videoButtons[i].xPos; 187 int x = videoButtons[i].xPos;
188 int y = videoButtons[i].yPos; 188 int y = videoButtons[i].yPos;
189 if ( event->state() == QMouseEvent::LeftButton ) { 189 if ( event->state() == QMouseEvent::LeftButton ) {
190 // The test to see if the mouse click is inside the circular button or not 190 // The test to see if the mouse click is inside the circular button or not
191 // (compared with the radius squared to avoid a square-root of our distance) 191 // (compared with the radius squared to avoid a square-root of our distance)
192 int radius = 16; 192 int radius = 16;
193 QPoint center = QPoint( x + radius, y + radius ); 193 QPoint center = QPoint( x + radius, y + radius );
194 QPoint dXY = center - event->pos(); 194 QPoint dXY = center - event->pos();
195 int dist = dXY.x() * dXY.x() + dXY.y() * dXY.y(); 195 int dist = dXY.x() * dXY.x() + dXY.y() * dXY.y();
196 bool isOnButton = dist <= (radius * radius); 196 bool isOnButton = dist <= (radius * radius);
197 if ( isOnButton != videoButtons[i].isHeld ) { 197 if ( isOnButton != videoButtons[i].isHeld ) {
198 videoButtons[i].isHeld = isOnButton; 198 videoButtons[i].isHeld = isOnButton;
199 toggleButton(i); 199 toggleButton(i);
200 } 200 }
201 } else { 201 } else {
202 if ( videoButtons[i].isHeld ) { 202 if ( videoButtons[i].isHeld ) {
203 videoButtons[i].isHeld = FALSE; 203 videoButtons[i].isHeld = FALSE;
204 if ( !videoButtons[i].isToggle ) 204 if ( !videoButtons[i].isToggle )
205 setToggleButton( i, FALSE ); 205 setToggleButton( i, FALSE );
206 } 206 }
207 } 207 }
208 switch (i) { 208 switch (i) {
209 case VideoPlay: mediaPlayerState->setPlaying(videoButtons[i].isDown); return; 209 case VideoPlay: mediaPlayerState->setPlaying(videoButtons[i].isDown); return;
210 case VideoStop: mediaPlayerState->setPlaying(FALSE); return; 210 case VideoStop: mediaPlayerState->setPlaying(FALSE); return;
211 case VideoPause: mediaPlayerState->setPaused(videoButtons[i].isDown); return; 211 case VideoPause: mediaPlayerState->setPaused(videoButtons[i].isDown); return;
212 case VideoNext: mediaPlayerState->setNext(); return; 212 case VideoNext: mediaPlayerState->setNext(); return;
213 case VideoPrevious: mediaPlayerState->setPrev(); return; 213 case VideoPrevious: mediaPlayerState->setPrev(); return;
214 case VideoPlayList: mediaPlayerState->setList(); return; 214 case VideoPlayList: mediaPlayerState->setList(); return;
215 case VideoFullscreen: mediaPlayerState->setFullscreen( TRUE ); makeVisible(); return; 215 case VideoFullscreen: mediaPlayerState->setFullscreen( TRUE ); makeVisible(); return;
216 } 216 }
217 217
218 } 218 }
219} 219}
220 220
221 221
222void VideoWidget::mousePressEvent( QMouseEvent *event ) { 222void VideoWidget::mousePressEvent( QMouseEvent *event ) {
223 mouseMoveEvent( event ); 223 mouseMoveEvent( event );
224} 224}
225 225
226 226
227void VideoWidget::mouseReleaseEvent( QMouseEvent *event ) { 227void VideoWidget::mouseReleaseEvent( QMouseEvent *event ) {
228 if ( mediaPlayerState->fullscreen() ) { 228 if ( mediaPlayerState->fullscreen() ) {
229 mediaPlayerState->setFullscreen( FALSE ); 229 mediaPlayerState->setFullscreen( FALSE );
230 makeVisible(); 230 makeVisible();
231 231
232 mouseMoveEvent( event ); 232 mouseMoveEvent( event );
233 } 233 }
234} 234}
235 235
236 236
237void VideoWidget::makeVisible() { 237void VideoWidget::makeVisible() {
238 if ( mediaPlayerState->fullscreen() ) { 238 if ( mediaPlayerState->fullscreen() ) {
239 setBackgroundMode( QWidget::NoBackground ); 239 setBackgroundMode( QWidget::NoBackground );
240 showFullScreen(); 240 showFullScreen();
241 resize( qApp->desktop()->size() ); 241 resize( qApp->desktop()->size() );
242 slider->hide(); 242 slider->hide();
243 } else { 243 } else {
244 setBackgroundPixmap( Resource::loadPixmap( "opieplayer/metalFinish" ) ); 244 setBackgroundPixmap( Resource::loadPixmap( "opieplayer/metalFinish" ) );
245 showNormal(); 245 showNormal();
246 showMaximized(); 246 showMaximized();
247 slider->show(); 247 slider->show();
248 } 248 }
249} 249}
250 250
251 251
252void VideoWidget::paintEvent( QPaintEvent * ) { 252void VideoWidget::paintEvent( QPaintEvent * ) {
253 QPainter p( this ); 253 QPainter p( this );
254 254
255 if ( mediaPlayerState->fullscreen() ) { 255 if ( mediaPlayerState->fullscreen() ) {
256 // Clear the background 256 // Clear the background
257 p.setBrush( QBrush( Qt::black ) ); 257 p.setBrush( QBrush( Qt::black ) );
258 p.drawRect( rect() ); 258 p.drawRect( rect() );
259 259
260 // Draw the current frame 260 // Draw the current frame
261 //p.drawImage( ); // If using directpainter we won't have a copy except whats on the screen 261 //p.drawImage( ); // If using directpainter we won't have a copy except whats on the screen
262 } else { 262 } else {
263 // draw border 263 // draw border
264 qDrawShadePanel( &p, 4, 15, 230, 170, colorGroup(), TRUE, 5, NULL ); 264 qDrawShadePanel( &p, 4, 15, 230, 170, colorGroup(), TRUE, 5, NULL );
265 265
266 // Clear the movie screen first 266 // Clear the movie screen first
267 p.setBrush( QBrush( Qt::black ) ); 267 p.setBrush( QBrush( Qt::black ) );
268 p.drawRect( 9, 20, 220, 160 ); 268 p.drawRect( 9, 20, 220, 160 );
269 269
270 // draw current frame (centrally positioned from scaling to maintain aspect ratio) 270 // draw current frame (centrally positioned from scaling to maintain aspect ratio)
271 p.drawImage( 9 + (220 - scaledWidth) / 2, 20 + (160 - scaledHeight) / 2, *currentFrame, 0, 0, scaledWidth, scaledHeight ); 271 p.drawImage( 9 + (220 - scaledWidth) / 2, 20 + (160 - scaledHeight) / 2, *currentFrame, 0, 0, scaledWidth, scaledHeight );
272 272
273 // draw the buttons 273 // draw the buttons
274 for ( int i = 0; i < numButtons; i++ ) 274 for ( int i = 0; i < numButtons; i++ )
275 paintButton( &p, i ); 275 paintButton( &p, i );
276 276
277 // draw the slider 277 // draw the slider
278 slider->repaint( TRUE ); 278 slider->repaint( TRUE );
279 } 279 }
280} 280}
281 281
282 282
283void VideoWidget::closeEvent( QCloseEvent* ) { 283void VideoWidget::closeEvent( QCloseEvent* ) {
284 mediaPlayerState->setList(); 284 mediaPlayerState->setList();
285} 285}
286 286
287 287
288bool VideoWidget::playVideo() { 288bool VideoWidget::playVideo() {
289 bool result = FALSE; 289 bool result = FALSE;
290 290
291 int stream = 0; 291 int stream = 0;
292 292
293 int sw = mediaPlayerState->curDecoder()->videoWidth( stream ); 293 int sw = mediaPlayerState->curDecoder()->videoWidth( stream );
294 int sh = mediaPlayerState->curDecoder()->videoHeight( stream ); 294 int sh = mediaPlayerState->curDecoder()->videoHeight( stream );
295 int dd = QPixmap::defaultDepth(); 295 int dd = QPixmap::defaultDepth();
296 int w = height(); 296 int w = height();
297 int h = width(); 297 int h = width();
298 298
299 ColorFormat format = (dd == 16) ? RGB565 : BGRA8888; 299 ColorFormat format = (dd == 16) ? RGB565 : BGRA8888;
300 300
301 if ( mediaPlayerState->fullscreen() ) { 301 if ( mediaPlayerState->fullscreen() ) {
302#ifdef USE_DIRECT_PAINTER 302#ifdef USE_DIRECT_PAINTER
303 QDirectPainter p(this); 303 QDirectPainter p(this);
304 304
305 if ( ( qt_screen->transformOrientation() == 3 ) && 305 if ( ( qt_screen->transformOrientation() == 3 ) &&
306 ( ( dd == 16 ) || ( dd == 32 ) ) && ( p.numRects() == 1 ) ) { 306 ( ( dd == 16 ) || ( dd == 32 ) ) && ( p.numRects() == 1 ) ) {
307 307
308 w = 320; 308 w = 320;
309 h = 240; 309 h = 240;
310 310
311 if ( mediaPlayerState->scaled() ) { 311 if ( mediaPlayerState->scaled() ) {
312 // maintain aspect ratio 312 // maintain aspect ratio
313 if ( w * sh > sw * h ) 313 if ( w * sh > sw * h )
314 w = sw * h / sh; 314 w = sw * h / sh;
315 else 315 else
316 h = sh * w / sw; 316 h = sh * w / sw;
317 } else { 317 } else {
318 w = sw; 318 w = sw;
319 h = sh; 319 h = sh;
320 } 320 }
321 321
322 w--; // we can't allow libmpeg to overwrite. 322 w--; // we can't allow libmpeg to overwrite.
323 QPoint roff = qt_screen->mapToDevice( p.offset(), QSize( qt_screen->width(), qt_screen->height() ) ); 323 QPoint roff = qt_screen->mapToDevice( p.offset(), QSize( qt_screen->width(), qt_screen->height() ) );
324 324
325 int ox = roff.x() - height() + 2 + (height() - w) / 2; 325 int ox = roff.x() - height() + 2 + (height() - w) / 2;
326 int oy = roff.y() + (width() - h) / 2; 326 int oy = roff.y() + (width() - h) / 2;
327 int sx = 0, sy = 0; 327 int sx = 0, sy = 0;
328 328
329 uchar* fp = p.frameBuffer() + p.lineStep() * oy; 329 uchar* fp = p.frameBuffer() + p.lineStep() * oy;
330 fp += dd * ox / 8; 330 fp += dd * ox / 8;
331 uchar **jt = new uchar*[h]; 331 uchar **jt = new uchar*[h];
332 for ( int i = h; i; i-- ) { 332 for ( int i = h; i; i-- ) {
333 jt[h - i] = fp; 333 jt[h - i] = fp;
334 fp += p.lineStep(); 334 fp += p.lineStep();
335 } 335 }
336 336
337 result = mediaPlayerState->curDecoder()->videoReadScaledFrame( jt, sx, sy, sw, sh, w, h, format, 0) == 0; 337 result = mediaPlayerState->curDecoder()->videoReadScaledFrame( jt, sx, sy, sw, sh, w, h, format, 0) == 0;
338 338
339 delete [] jt; 339 delete [] jt;
340 } else { 340 } else {
341#endif 341#endif
342 QPainter p(this); 342 QPainter p(this);
343 343
344 w = 320; 344 w = 320;
345 h = 240; 345 h = 240;
346 346
347 if ( mediaPlayerState->scaled() ) { 347 if ( mediaPlayerState->scaled() ) {
348 // maintain aspect ratio 348 // maintain aspect ratio
349 if ( w * sh > sw * h ) 349 if ( w * sh > sw * h )
350 w = sw * h / sh; 350 w = sw * h / sh;
351 else 351 else
352 h = sh * w / sw; 352 h = sh * w / sw;
353 } else { 353 } else {
354 w = sw; 354 w = sw;
355 h = sh; 355 h = sh;
356 } 356 }
357 357
358 int bytes = ( dd == 16 ) ? 2 : 4; 358 int bytes = ( dd == 16 ) ? 2 : 4;
359 QImage tempFrame( w, h, bytes << 3 ); 359 QImage tempFrame( w, h, bytes << 3 );
360 result = mediaPlayerState->curDecoder()->videoReadScaledFrame( tempFrame.jumpTable(), 360 result = mediaPlayerState->curDecoder()->videoReadScaledFrame( tempFrame.jumpTable(),
361 0, 0, sw, sh, w, h, format, 0) == 0; 361 0, 0, sw, sh, w, h, format, 0) == 0;
362 if ( result && mediaPlayerState->fullscreen() ) { 362 if ( result && mediaPlayerState->fullscreen() ) {
363 363
364 int rw = h, rh = w; 364 int rw = h, rh = w;
365 QImage rotatedFrame( rw, rh, bytes << 3 ); 365 QImage rotatedFrame( rw, rh, bytes << 3 );
366 366
367 ushort* in = (ushort*)tempFrame.bits(); 367 ushort* in = (ushort*)tempFrame.bits();
368 ushort* out = (ushort*)rotatedFrame.bits(); 368 ushort* out = (ushort*)rotatedFrame.bits();
369 int spl = rotatedFrame.bytesPerLine() / bytes; 369 int spl = rotatedFrame.bytesPerLine() / bytes;
370 for (int x=0; x<h; x++) { 370 for (int x=0; x<h; x++) {
371 if ( bytes == 2 ) { 371 if ( bytes == 2 ) {
372 ushort* lout = out++ + (w - 1)*spl; 372 ushort* lout = out++ + (w - 1)*spl;
373 for (int y=0; y<w; y++) { 373 for (int y=0; y<w; y++) {
374 *lout=*in++; 374 *lout=*in++;
375 lout-=spl; 375 lout-=spl;
376 } 376 }
377 } else { 377 } else {
378 ulong* lout = ((ulong *)out)++ + (w - 1)*spl; 378 ulong* lout = ((ulong *)out)++ + (w - 1)*spl;
379 for (int y=0; y<w; y++) { 379 for (int y=0; y<w; y++) {
380 *lout=*((ulong*)in)++; 380 *lout=*((ulong*)in)++;
381 lout-=spl; 381 lout-=spl;
382 } 382 }
383 } 383 }
384 } 384 }
385 385
386 p.drawImage( (240 - rw) / 2, (320 - rh) / 2, rotatedFrame, 0, 0, rw, rh ); 386 p.drawImage( (240 - rw) / 2, (320 - rh) / 2, rotatedFrame, 0, 0, rw, rh );
387 } 387 }
388#ifdef USE_DIRECT_PAINTER 388#ifdef USE_DIRECT_PAINTER
389 } 389 }
390#endif 390#endif
391 } else { 391 } else {
392 392
393 w = 220; 393 w = 220;
394 h = 160; 394 h = 160;
395 395
396 // maintain aspect ratio 396 // maintain aspect ratio
397 if ( w * sh > sw * h ) 397 if ( w * sh > sw * h )
398 w = sw * h / sh; 398 w = sw * h / sh;
399 else 399 else
400 h = sh * w / sw; 400 h = sh * w / sw;
401 401
402 result = mediaPlayerState->curDecoder()->videoReadScaledFrame( currentFrame->jumpTable(), 0, 0, sw, sh, w, h, format, 0) == 0; 402 result = mediaPlayerState->curDecoder()->videoReadScaledFrame( currentFrame->jumpTable(), 0, 0, sw, sh, w, h, format, 0) == 0;
403 403
404 QPainter p( this ); 404 QPainter p( this );
405 405
406 // Image changed size, therefore need to blank the possibly unpainted regions first 406 // Image changed size, therefore need to blank the possibly unpainted regions first
407 if ( scaledWidth != w || scaledHeight != h ) { 407 if ( scaledWidth != w || scaledHeight != h ) {
408 p.setBrush( QBrush( Qt::black ) ); 408 p.setBrush( QBrush( Qt::black ) );
409 p.drawRect( 9, 20, 220, 160 ); 409 p.drawRect( 9, 20, 220, 160 );
410 } 410 }
411 411
412 scaledWidth = w; 412 scaledWidth = w;
413 scaledHeight = h; 413 scaledHeight = h;
414 414
415 if ( result ) { 415 if ( result ) {
416 p.drawImage( 9 + (220 - scaledWidth) / 2, 20 + (160 - scaledHeight) / 2, *currentFrame, 0, 0, scaledWidth, scaledHeight ); 416 p.drawImage( 9 + (220 - scaledWidth) / 2, 20 + (160 - scaledHeight) / 2, *currentFrame, 0, 0, scaledWidth, scaledHeight );
417 } 417 }
418 418
419 } 419 }
420 420
421 return result; 421 return result;
422} 422}
423 423
424 424
425 425
426void VideoWidget::keyReleaseEvent( QKeyEvent *e) 426void VideoWidget::keyReleaseEvent( QKeyEvent *e)
427{ 427{
428 switch ( e->key() ) { 428 switch ( e->key() ) {
429////////////////////////////// Zaurus keys 429////////////////////////////// Zaurus keys
430 case Key_Home: 430 case Key_Home:
431 break; 431 break;
432 case Key_F9: //activity 432 case Key_F9: //activity
433 break; 433 break;
434 case Key_F10: //contacts 434 case Key_F10: //contacts
435 hide(); 435// hide();
436 break; 436 break;
437 case Key_F11: //menu 437 case Key_F11: //menu
438 break; 438 break;
439 case Key_F12: //home 439 case Key_F12: //home
440 break; 440 break;
441 case Key_F13: //mail 441 case Key_F13: //mail
442 break; 442 break;
443 case Key_Space: { 443 case Key_Space: {
444 if(mediaPlayerState->playing()) { 444 if(mediaPlayerState->playing()) {
445 mediaPlayerState->setPlaying(FALSE); 445 mediaPlayerState->setPlaying(FALSE);
446 } else { 446 } else {
447 mediaPlayerState->setPlaying(TRUE); 447 mediaPlayerState->setPlaying(TRUE);
448 } 448 }
449 } 449 }
450 break; 450 break;
451 case Key_Down: 451 case Key_Down:
452// toggleButton(6); 452// toggleButton(6);
453// emit lessClicked(); 453// emit lessClicked();
454// emit lessReleased(); 454// emit lessReleased();
455// toggleButton(6); 455// toggleButton(6);
456 break; 456 break;
457 case Key_Up: 457 case Key_Up:
458// toggleButton(5); 458// toggleButton(5);
459// emit moreClicked(); 459// emit moreClicked();
460// emit moreReleased(); 460// emit moreReleased();
461// toggleButton(5); 461// toggleButton(5);
462 break; 462 break;
463 case Key_Right: 463 case Key_Right:
464 mediaPlayerState->setNext(); 464 mediaPlayerState->setNext();
465 break; 465 break;
466 case Key_Left: 466 case Key_Left:
467 mediaPlayerState->setPrev(); 467 mediaPlayerState->setPrev();
468 break; 468 break;
469 case Key_Escape: 469 case Key_Escape:
470 break; 470 break;
471 471
472 }; 472 };
473} 473}