summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/playlistwidgetgui.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/noncore/multimedia/opieplayer2/playlistwidgetgui.cpp b/noncore/multimedia/opieplayer2/playlistwidgetgui.cpp
index 49356d3..5d9fb5d 100644
--- a/noncore/multimedia/opieplayer2/playlistwidgetgui.cpp
+++ b/noncore/multimedia/opieplayer2/playlistwidgetgui.cpp
@@ -1,227 +1,229 @@
1/* 1/*
2                This file is part of the Opie Project 2                This file is part of the Opie Project
3 3
4              Copyright (c) 2002 Max Reiss <harlekin@handhelds.org> 4              Copyright (c) 2002 Max Reiss <harlekin@handhelds.org>
5 Copyright (c) 2002 L. Potter <ljp@llornkcor.com> 5 Copyright (c) 2002 L. Potter <ljp@llornkcor.com>
6 Copyright (c) 2002 Holger Freyther <zecke@handhelds.org> 6 Copyright (c) 2002 Holger Freyther <zecke@handhelds.org>
7 =. 7 =.
8 .=l. 8 .=l.
9           .>+-= 9           .>+-=
10 _;:,     .>    :=|. This program is free software; you can 10 _;:,     .>    :=|. This program is free software; you can
11.> <`_,   >  .   <= redistribute it and/or modify it under 11.> <`_,   >  .   <= redistribute it and/or modify it under
12:`=1 )Y*s>-.--   : the terms of the GNU General Public 12:`=1 )Y*s>-.--   : the terms of the GNU General Public
13.="- .-=="i,     .._ License as published by the Free Software 13.="- .-=="i,     .._ License as published by the Free Software
14 - .   .-<_>     .<> Foundation; either version 2 of the License, 14 - .   .-<_>     .<> Foundation; either version 2 of the License,
15     ._= =}       : or (at your option) any later version. 15     ._= =}       : or (at your option) any later version.
16    .%`+i>       _;_. 16    .%`+i>       _;_.
17    .i_,=:_.      -<s. This program is distributed in the hope that 17    .i_,=:_.      -<s. This program is distributed in the hope that
18     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY; 18     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
19    : ..    .:,     . . . without even the implied warranty of 19    : ..    .:,     . . . without even the implied warranty of
20    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A 20    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
21  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU 21  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
22..}^=.=       =       ; General Public License for more 22..}^=.=       =       ; General Public License for more
23++=   -.     .`     .: details. 23++=   -.     .`     .: details.
24 :     =  ...= . :.=- 24 :     =  ...= . :.=-
25 -.   .:....=;==+<; You should have received a copy of the GNU 25 -.   .:....=;==+<; You should have received a copy of the GNU
26  -_. . .   )=.  = General Public License along with 26  -_. . .   )=.  = General Public License along with
27    --        :-=` this library; see the file COPYING.LIB. 27    --        :-=` this library; see the file COPYING.LIB.
28 If not, write to the Free Software Foundation, 28 If not, write to the Free Software Foundation,
29 Inc., 59 Temple Place - Suite 330, 29 Inc., 59 Temple Place - Suite 330,
30 Boston, MA 02111-1307, USA. 30 Boston, MA 02111-1307, USA.
31 31
32*/ 32*/
33 33
34#include <qpe/qpemenubar.h> 34#include <qpe/qpemenubar.h>
35#include <qpe/qpetoolbar.h> 35#include <qpe/qpetoolbar.h>
36#include <qpe/fileselector.h> 36#include <qpe/fileselector.h>
37#include <qpe/qpeapplication.h> 37#include <qpe/qpeapplication.h>
38#include <qpe/storage.h> 38#include <qpe/storage.h>
39#include <qpe/mimetype.h> 39#include <qpe/mimetype.h>
40#include <qpe/config.h> 40#include <qpe/config.h>
41#include <qpe/global.h> 41#include <qpe/global.h>
42#include <qpe/resource.h> 42#include <qpe/resource.h>
43 43
44#include <qpopupmenu.h> 44#include <qpopupmenu.h>
45#include <qaction.h> 45#include <qaction.h>
46#include <qcursor.h> 46#include <qcursor.h>
47#include <qdir.h> 47#include <qdir.h>
48#include <qlayout.h> 48#include <qlayout.h>
49 49
50#include "playlistselection.h" 50#include "playlistselection.h"
51#include "playlistwidget.h" 51#include "playlistwidget.h"
52#include "mediaplayerstate.h" 52#include "mediaplayerstate.h"
53#include "inputDialog.h" 53#include "inputDialog.h"
54 54
55//only needed for the random play 55//only needed for the random play
56#include <stdlib.h> 56#include <stdlib.h>
57 57
58#include "audiowidget.h" 58#include "audiowidget.h"
59#include "videowidget.h" 59#include "videowidget.h"
60#include "mediaplayerstate.h" 60#include "mediaplayerstate.h"
61 61
62extern MediaPlayerState *mediaPlayerState; 62extern MediaPlayerState *mediaPlayerState;
63 63
64PlayListWidgetGui::PlayListWidgetGui( QWidget* parent, const char* name, WFlags fl ) 64PlayListWidgetGui::PlayListWidgetGui( QWidget* parent, const char* name, WFlags fl )
65 : QMainWindow( parent, name, fl ) { 65 : QMainWindow( parent, name, fl ) {
66 66
67 d = new PlayListWidgetPrivate; 67 d = new PlayListWidgetPrivate;
68 d->setDocumentUsed = FALSE; 68 d->setDocumentUsed = FALSE;
69 d->current = NULL; 69 d->current = NULL;
70 70
71 setBackgroundMode( PaletteButton ); 71 setBackgroundMode( PaletteButton );
72 setToolBarsMovable( FALSE ); 72 setToolBarsMovable( FALSE );
73 73
74 // Create Toolbar 74 // Create Toolbar
75 QPEToolBar *toolbar = new QPEToolBar( this ); 75 QPEToolBar *toolbar = new QPEToolBar( this );
76 toolbar->setHorizontalStretchable( TRUE ); 76 toolbar->setHorizontalStretchable( TRUE );
77 77
78 // Create Menubar 78 // Create Menubar
79 QPEMenuBar *menu = new QPEMenuBar( toolbar ); 79 QPEMenuBar *menu = new QPEMenuBar( toolbar );
80 menu->setMargin( 0 ); 80 menu->setMargin( 0 );
81 81
82 bar = new QPEToolBar( this ); 82 bar = new QPEToolBar( this );
83 bar->setLabel( tr( "Play Operations" ) ); 83 bar->setLabel( tr( "Play Operations" ) );
84 84
85 tbDeletePlaylist = new QPushButton( Resource::loadIconSet( "trash" ), "", bar, "close" ); 85 tbDeletePlaylist = new QPushButton( Resource::loadIconSet( "trash" ), "", bar, "close" );
86 tbDeletePlaylist->setFlat( TRUE ); 86 tbDeletePlaylist->setFlat( TRUE );
87 tbDeletePlaylist->setFixedSize( 20, 20 ); 87 tbDeletePlaylist->setFixedSize( 20, 20 );
88 88
89 tbDeletePlaylist->hide(); 89 tbDeletePlaylist->hide();
90 90
91 pmPlayList = new QPopupMenu( this ); 91 pmPlayList = new QPopupMenu( this );
92 menu->insertItem( tr( "File" ), pmPlayList ); 92 menu->insertItem( tr( "File" ), pmPlayList );
93 93
94 pmView = new QPopupMenu( this ); 94 pmView = new QPopupMenu( this );
95 menu->insertItem( tr( "View" ), pmView ); 95 menu->insertItem( tr( "View" ), pmView );
96 pmView->isCheckable(); 96 pmView->isCheckable();
97 97
98 skinsMenu = new QPopupMenu( this ); 98 skinsMenu = new QPopupMenu( this );
99 pmView->insertItem( tr( "Skins" ), skinsMenu ); 99 pmView->insertItem( tr( "Skins" ), skinsMenu );
100 skinsMenu->isCheckable(); 100 skinsMenu->isCheckable();
101 101
102 gammaMenu = new QPopupMenu( this ); 102 gammaMenu = new QPopupMenu( this );
103 pmView->insertItem( tr( "Gamma (Video)" ), gammaMenu ); 103 pmView->insertItem( tr( "Gamma (Video)" ), gammaMenu );
104 104
105 gammaSlider = new QSlider( QSlider::Vertical, gammaMenu ); 105 gammaSlider = new QSlider( QSlider::Vertical, gammaMenu );
106 gammaSlider->setRange( -40, 40 ); 106 gammaSlider->setRange( -40, 40 );
107 gammaSlider->setTickmarks( QSlider::Left ); 107 gammaSlider->setTickmarks( QSlider::Left );
108 gammaSlider->setTickInterval( 20 ); 108 gammaSlider->setTickInterval( 20 );
109 //gammaSlider->setFocusPolicy( QWidget::NoFocus ); 109 gammaSlider->setFocusPolicy( QWidget::StrongFocus );
110 gammaSlider->setValue( 0 ); 110 gammaSlider->setValue( 0 );
111 gammaSlider->setMinimumHeight( 50 ); 111 gammaSlider->setMinimumHeight( 50 );
112 112
113 gammaLCD = new QLCDNumber( 3, gammaMenu ); 113 gammaLCD = new QLCDNumber( 3, gammaMenu );
114 gammaLCD-> setFrameShape ( QFrame::NoFrame );
115 gammaLCD-> setSegmentStyle ( QLCDNumber::Flat );
114 116
115 gammaMenu->insertItem( gammaSlider ); 117 gammaMenu->insertItem( gammaSlider );
116 gammaMenu->insertItem( gammaLCD ); 118 gammaMenu->insertItem( gammaLCD );
117 119
118 connect( gammaSlider, SIGNAL( valueChanged( int ) ), gammaLCD, SLOT( display( int ) ) ); 120 connect( gammaSlider, SIGNAL( valueChanged( int ) ), gammaLCD, SLOT( display( int ) ) );
119 121
120 vbox5 = new QVBox( this ); 122 vbox5 = new QVBox( this );
121 QVBox *vbox4 = new QVBox( vbox5 ); 123 QVBox *vbox4 = new QVBox( vbox5 );
122 QHBox *hbox6 = new QHBox( vbox4 ); 124 QHBox *hbox6 = new QHBox( vbox4 );
123 125
124 tabWidget = new QTabWidget( hbox6, "tabWidget" ); 126 tabWidget = new QTabWidget( hbox6, "tabWidget" );
125 127
126 QWidget *pTab; 128 QWidget *pTab;
127 pTab = new QWidget( tabWidget, "pTab" ); 129 pTab = new QWidget( tabWidget, "pTab" );
128 tabWidget->insertTab( pTab, "Playlist"); 130 tabWidget->insertTab( pTab, "Playlist");
129 131
130 QGridLayout *Playout = new QGridLayout( pTab ); 132 QGridLayout *Playout = new QGridLayout( pTab );
131 Playout->setSpacing( 2); 133 Playout->setSpacing( 2);
132 Playout->setMargin( 2); 134 Playout->setMargin( 2);
133 135
134 // Add the playlist area 136 // Add the playlist area
135 QVBox *vbox3 = new QVBox( pTab ); 137 QVBox *vbox3 = new QVBox( pTab );
136 d->playListFrame = vbox3; 138 d->playListFrame = vbox3;
137 139
138 QHBox *hbox2 = new QHBox( vbox3 ); 140 QHBox *hbox2 = new QHBox( vbox3 );
139 d->selectedFiles = new PlayListSelection( hbox2 ); 141 d->selectedFiles = new PlayListSelection( hbox2 );
140 142
141 vbox1 = new QVBox( hbox2 ); 143 vbox1 = new QVBox( hbox2 );
142 QPEApplication::setStylusOperation( d->selectedFiles->viewport(), QPEApplication::RightOnHold ); 144 QPEApplication::setStylusOperation( d->selectedFiles->viewport(), QPEApplication::RightOnHold );
143 QVBox *stretch1 = new QVBox( vbox1 ); // add stretch 145 QVBox *stretch1 = new QVBox( vbox1 ); // add stretch
144 146
145 Playout->addMultiCellWidget( vbox3, 0, 0, 0, 1 ); 147 Playout->addMultiCellWidget( vbox3, 0, 0, 0, 1 );
146 148
147 QWidget *aTab; 149 QWidget *aTab;
148 aTab = new QWidget( tabWidget, "aTab" ); 150 aTab = new QWidget( tabWidget, "aTab" );
149 151
150 QGridLayout *Alayout = new QGridLayout( aTab ); 152 QGridLayout *Alayout = new QGridLayout( aTab );
151 Alayout->setSpacing( 2 ); 153 Alayout->setSpacing( 2 );
152 Alayout->setMargin( 2 ); 154 Alayout->setMargin( 2 );
153 audioView = new QListView( aTab, "Audioview" ); 155 audioView = new QListView( aTab, "Audioview" );
154 audioView->addColumn( tr( "Title" ), 140 ); 156 audioView->addColumn( tr( "Title" ), 140 );
155 audioView->addColumn( tr( "Size" ), -1 ); 157 audioView->addColumn( tr( "Size" ), -1 );
156 audioView->addColumn( tr( "Media" ), -1 ); 158 audioView->addColumn( tr( "Media" ), -1 );
157 audioView->addColumn( tr( "Path" ), 0 ); 159 audioView->addColumn( tr( "Path" ), 0 );
158 audioView->setColumnAlignment( 1, Qt::AlignRight ); 160 audioView->setColumnAlignment( 1, Qt::AlignRight );
159 audioView->setColumnAlignment( 2, Qt::AlignRight ); 161 audioView->setColumnAlignment( 2, Qt::AlignRight );
160 audioView->setAllColumnsShowFocus( TRUE ); 162 audioView->setAllColumnsShowFocus( TRUE );
161 audioView->setSorting( 0, TRUE ); 163 audioView->setSorting( 0, TRUE );
162 audioView->setMultiSelection( TRUE ); 164 audioView->setMultiSelection( TRUE );
163 audioView->setSelectionMode( QListView::Extended ); 165 audioView->setSelectionMode( QListView::Extended );
164 Alayout->addMultiCellWidget( audioView, 0, 0, 0, 1 ); 166 Alayout->addMultiCellWidget( audioView, 0, 0, 0, 1 );
165 tabWidget->insertTab( aTab, tr( "Audio" ) ); 167 tabWidget->insertTab( aTab, tr( "Audio" ) );
166 168
167 QPEApplication::setStylusOperation( audioView->viewport(), QPEApplication::RightOnHold ); 169 QPEApplication::setStylusOperation( audioView->viewport(), QPEApplication::RightOnHold );
168 170
169 QWidget *vTab; 171 QWidget *vTab;
170 vTab = new QWidget( tabWidget, "vTab" ); 172 vTab = new QWidget( tabWidget, "vTab" );
171 173
172 QGridLayout *Vlayout = new QGridLayout( vTab ); 174 QGridLayout *Vlayout = new QGridLayout( vTab );
173 Vlayout->setSpacing( 2 ); 175 Vlayout->setSpacing( 2 );
174 Vlayout->setMargin( 2 ); 176 Vlayout->setMargin( 2 );
175 videoView = new QListView( vTab, "Videoview" ); 177 videoView = new QListView( vTab, "Videoview" );
176 videoView->addColumn( tr( "Title" ), 140); 178 videoView->addColumn( tr( "Title" ), 140);
177 videoView->addColumn( tr( "Size" ), -1 ); 179 videoView->addColumn( tr( "Size" ), -1 );
178 videoView->addColumn(tr( "Media" ), -1 ); 180 videoView->addColumn(tr( "Media" ), -1 );
179 videoView->addColumn(tr( "Path" ), 0 ); 181 videoView->addColumn(tr( "Path" ), 0 );
180 videoView->setColumnAlignment( 1, Qt::AlignRight ); 182 videoView->setColumnAlignment( 1, Qt::AlignRight );
181 videoView->setColumnAlignment( 2, Qt::AlignRight ); 183 videoView->setColumnAlignment( 2, Qt::AlignRight );
182 videoView->setAllColumnsShowFocus( TRUE ); 184 videoView->setAllColumnsShowFocus( TRUE );
183 videoView->setSorting( 0, TRUE ); 185 videoView->setSorting( 0, TRUE );
184 videoView->setMultiSelection( TRUE ); 186 videoView->setMultiSelection( TRUE );
185 videoView->setSelectionMode( QListView::Extended ); 187 videoView->setSelectionMode( QListView::Extended );
186 Vlayout->addMultiCellWidget( videoView, 0, 0, 0, 1 ); 188 Vlayout->addMultiCellWidget( videoView, 0, 0, 0, 1 );
187 189
188 QPEApplication::setStylusOperation( videoView->viewport(), QPEApplication::RightOnHold ); 190 QPEApplication::setStylusOperation( videoView->viewport(), QPEApplication::RightOnHold );
189 191
190 tabWidget->insertTab( vTab, tr( "Video" ) ); 192 tabWidget->insertTab( vTab, tr( "Video" ) );
191 193
192 //playlists list 194 //playlists list
193 QWidget *LTab; 195 QWidget *LTab;
194 LTab = new QWidget( tabWidget, "LTab" ); 196 LTab = new QWidget( tabWidget, "LTab" );
195 QGridLayout *Llayout = new QGridLayout( LTab ); 197 QGridLayout *Llayout = new QGridLayout( LTab );
196 Llayout->setSpacing( 2 ); 198 Llayout->setSpacing( 2 );
197 Llayout->setMargin( 2 ); 199 Llayout->setMargin( 2 );
198 200
199 playLists = new FileSelector( "playlist/plain;audio/x-mpegurl", LTab, "fileselector" , FALSE, FALSE ); 201 playLists = new FileSelector( "playlist/plain;audio/x-mpegurl", LTab, "fileselector" , FALSE, FALSE );
200 Llayout->addMultiCellWidget( playLists, 0, 0, 0, 1 ); 202 Llayout->addMultiCellWidget( playLists, 0, 0, 0, 1 );
201 203
202 tabWidget->insertTab( LTab, tr( "Lists" ) ); 204 tabWidget->insertTab( LTab, tr( "Lists" ) );
203 205
204 setCentralWidget( vbox5 ); 206 setCentralWidget( vbox5 );
205} 207}
206 208
207 209
208 210
209PlayListWidgetGui::~PlayListWidgetGui() { 211PlayListWidgetGui::~PlayListWidgetGui() {
210} 212}
211 213
212void PlayListWidgetGui::setView( char view ) { 214void PlayListWidgetGui::setView( char view ) {
213 if ( view == 'l' ) 215 if ( view == 'l' )
214 showMaximized(); 216 showMaximized();
215 else 217 else
216 hide(); 218 hide();
217} 219}
218 220
219 221
220void PlayListWidgetGui::setActiveWindow() { 222void PlayListWidgetGui::setActiveWindow() {
221 // qDebug("SETTING active window"); 223 // qDebug("SETTING active window");
222 // When we get raised we need to ensure that it switches views 224 // When we get raised we need to ensure that it switches views
223 char origView = mediaPlayerState->view(); 225 char origView = mediaPlayerState->view();
224 mediaPlayerState->setView( 'l' ); // invalidate 226 mediaPlayerState->setView( 'l' ); // invalidate
225 mediaPlayerState->setView( origView ); // now switch back 227 mediaPlayerState->setView( origView ); // now switch back
226} 228}
227 229