if( settings->value( "playlist-visible", 0 ).toInt() ) togglePlaylist();
settings->endGroup();
-
/* Final sizing and showing */
setMinimumWidth( __MAX( controls->sizeHint().width(),
menuBar()->sizeHint().width() ) );
msg_Dbg( p_intf, "Destroying the main interface" );
if( playlistWidget )
- playlistWidget->savingSettings();
+ {
+ if( !isDocked() )
+ QVLCTools::saveWidgetPosition( p_intf, "Playlist", playlistWidget );
+ }
settings->beginGroup( "MainWindow" );
- // settings->setValue( "playlist-floats", (int)(dockPL->isFloating()) );
+ settings->setValue( "pl-dock-status", (int)i_pl_dock );
settings->setValue( "playlist-visible", (int)playlistVisible );
settings->setValue( "adv-controls",
getControlsVisibilityStatus() & CONTROLS_ADVANCED );
QApplication::postEvent( fullscreenControls, static_cast<QEvent *>(eShow) );
}
-
-//FIXME remove me at the end...
void MainInterface::debug()
{
#ifndef NDEBUG
**/
void MainInterface::togglePlaylist()
{
- THEDP->playlistDialog();
-#if 0
/* CREATION
If no playlist exist, then create one and attach it to the DockPL*/
if( !playlistWidget )
{
- playlistWidget = new PlaylistWidget( p_intf, settings, dockPL );
-
- /* Add it to the parent DockWidget */
- dockPL->setWidget( playlistWidget );
+ playlistWidget = new PlaylistWidget( p_intf, this );
- /* Add the dock to the main Interface */
- addDockWidget( Qt::BottomDockWidgetArea, dockPL );
+ i_pl_dock = (pl_dock_e)getSettings()
+ ->value( "pl-dock-status", PL_UNDOCKED ).toInt();
+ if( i_pl_dock == PL_UNDOCKED )
+ {
+ playlistWidget->setWindowFlags( Qt::Window );
- /* Make the playlist floating is requested. Default is not. */
- settings->beginGroup( "MainWindow" );
- if( settings->value( "playlist-floats", 1 ).toInt() )
+ QVLCTools::restoreWidgetPosition( p_intf, "Playlist",
+ playlistWidget, QSize( 600, 300 ) );
+ }
+ else
{
- msg_Dbg( p_intf, "we don't want the playlist inside");
- dockPL->setFloating( true );
+ mainLayout->insertWidget( 4, playlistWidget );
}
- settings->endGroup();
- settings->beginGroup( "playlist" );
- dockPL->move( settings->value( "pos", QPoint( 0,0 ) ).toPoint() );
- QSize newSize = settings->value( "size", QSize( 400, 300 ) ).toSize();
- if( newSize.isValid() )
- dockPL->resize( newSize );
- settings->endGroup();
-
- dockPL->show();
playlistVisible = true;
+
+ playlistWidget->show();
}
else
{
/* toggle the visibility of the playlist */
- TOGGLEV( dockPL );
+ TOGGLEV( playlistWidget );
resize( sizeHint() );
playlistVisible = !playlistVisible;
}
- #endif
}
/* Function called from the menu to undock the playlist */
adjustSize();
}
+void MainInterface::dockPlaylist( pl_dock_e i_pos )
+{
+}
+
void MainInterface::toggleMinimalView()
{
/* HACK for minimalView, see menus.cpp */
class QSize;
//class QDockWidet;
-enum{
+enum {
CONTROLS_HIDDEN = 0x0,
CONTROLS_VISIBLE = 0x1,
CONTROLS_ADVANCED = 0x2
};
+typedef enum pl_dock_e {
+ PL_UNDOCKED,
+ PL_BOTTOM,
+ PL_RIGHT,
+ PL_LEFT
+} pl_dock_e;
+
class MainInterface : public QVLCMW
{
Q_OBJECT;
/* Video */
VideoWidget *videoWidget;
- // QSize savedVideoSize;
BackgroundWidget *bgWidget;
VisualSelector *visualSelector;
PlaylistWidget *playlistWidget;
-// QDockWidget *dockPL;
bool videoIsActive; ///< Having a video now / THEMIM->hasV
bool videoEmbeddedFlag; ///< Want an external Video Window
bool b_remainingTime; /* Show elapsed or remaining time */
bool bgWasVisible;
int i_visualmode; ///< Visual Mode
+ pl_dock_e i_pl_dock;
+ bool isDocked() { return ( i_pl_dock != PL_UNDOCKED ); }
input_thread_t *p_input; ///< Main input associated to the playlist
public slots:
void undockPlaylist();
+ void dockPlaylist( pl_dock_e i_pos = PL_BOTTOM );
void toggleMinimalView();
void togglePlaylist();
void toggleUpdateSystrayMenu();