]> git.sesse.net Git - vlc/blobdiff - modules/gui/qt4/util/qvlcframe.hpp
Beginning of implementation of art fetch when played
[vlc] / modules / gui / qt4 / util / qvlcframe.hpp
index 04d9d56b3f4925f05df5b2d4d1a419adbbaf1778..702595a35d1ee97e0b0c566f7d8b64cc7b7ec0d0 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************
  * qvlcframe.hpp : A few helpers
  ****************************************************************************
- * Copyright (C) 2000-2006 the VideoLAN team
- * $Id: wxwidgets.cpp 15731 2006-05-25 14:43:53Z zorglub $
+ * Copyright (C) 2006 the VideoLAN team
+ * $Id$
  *
  * Authors: ClĂ©ment Stenac <zorglub@videolan.org>
  *
 #define _QVLCFRAME_H_
 
 #include <QWidget>
+#include <QSpacerItem>
+#include <QHBoxLayout>
 #include <QApplication>
 #include <QSettings>
 #include <QMainWindow>
 #include <QPlastiqueStyle>
+#include <QPushButton>
+#include "qt4.hpp"
 #include <vlc/vlc.h>
+#include <charset.h>
 
 class QVLCFrame : public QWidget
 {
@@ -36,6 +41,7 @@ public:
     static void fixStyle( QWidget *w)
     {
          QStyle *style = qApp->style();
+#if 0
         // Plastique is too dark.
         /// theming ? getting KDE data ? ?
         if( qobject_cast<QPlastiqueStyle *>(style) )
@@ -47,9 +53,49 @@ public:
             vlg.setHsv( vlg.hue(), vlg.saturation(), 235  );
             plt.setColor( QPalette::Active, QPalette::Window, vlg );
             plt.setColor( QPalette::Inactive, QPalette::Window, vlg );
+            plt.setColor( QPalette::Inactive, QPalette::Button, vlg );
+            plt.setColor( QPalette::Active, QPalette::Button, vlg );
+            plt.setColor( QPalette::Active, QPalette::Text, Qt::yellow );
             w->setPalette( plt );
         }
+#endif
     }
+    static QHBoxLayout* doButtons( QWidget *w, QBoxLayout *l,
+                               QPushButton **defaul, char *psz_default,
+                               QPushButton **alt, char *psz_alt,
+                               QPushButton **other, char *psz_other )
+    {
+#ifdef QT42
+#else
+        QHBoxLayout *buttons_layout = new QHBoxLayout;
+        QSpacerItem *spacerItem = new QSpacerItem( 40, 20,
+                               QSizePolicy::Expanding, QSizePolicy::Minimum);
+        buttons_layout->addItem( spacerItem );
+
+        if( psz_default )
+        {
+            *defaul = new QPushButton(0);
+            (*defaul)->setFocus();
+            buttons_layout->addWidget( *defaul );
+            (*defaul)->setText( qfu( psz_default ) );
+        }
+        if( psz_alt )
+        {
+            *alt = new QPushButton(0);
+            buttons_layout->addWidget( *alt );
+            (*alt)->setText( qfu( psz_alt ) );
+        }
+        if( psz_other )
+        {
+            *other = new QPushButton( 0 );
+            buttons_layout->addWidget( *other );
+            (*other)->setText( qfu( psz_other ) );
+        }
+        if( l )
+            l->addLayout( buttons_layout );
+#endif
+        return buttons_layout;
+    };
 
     QVLCFrame( intf_thread_t *_p_intf ) : QWidget( NULL ), p_intf( _p_intf )
     {
@@ -91,6 +137,11 @@ public:
         QVLCFrame::fixStyle( this );
     }
     virtual ~QVLCMW() {};
+    void toggleVisible()
+    {
+        if( isVisible() ) hide();
+        else show();
+    }
 protected:
     intf_thread_t *p_intf;
     QSize mainSize;
@@ -99,11 +150,18 @@ protected:
     {
         QSettings settings( "VideoLAN", "VLC" );
         settings.beginGroup( name );
-        mainSize = settings.value( "size", defSize ).toSize();
-        resize( mainSize );
+      QSize s =  settings.value( "size", defSize ).toSize() ;
+      fprintf( stderr, "%i %i ", s.width(), s.height() );
         move( settings.value( "pos", QPoint( 0,0 ) ).toPoint() );
         settings.endGroup();
     }
+    void readSettings( QString name )
+    {
+        QSettings settings( "VideoLAN", "VLC" );
+        settings.beginGroup( name );
+        mainSize = settings.value( "size", QSize( 0,0 ) ).toSize();
+        settings.endGroup();
+    }
     void writeSettings( QString name )
     {
         QSettings settings( "VideoLAN", "VLC" );