#define _QVLCFRAME_H_
#include <QWidget>
+#include <QDialog>
+#include <QSpacerItem>
+#include <QHBoxLayout>
#include <QApplication>
#include <QSettings>
#include <QMainWindow>
#include <QPlastiqueStyle>
+#include <QPushButton>
+#include "qt4.hpp"
#include <vlc/vlc.h>
+#include <vlc_charset.h>
class QVLCFrame : public QWidget
{
public:
- static void fixStyle( QWidget *w)
+ static QHBoxLayout* doButtons( QWidget *w, QBoxLayout *l,
+ QPushButton **defaul, char *psz_default,
+ QPushButton **alt, char *psz_alt,
+ QPushButton **other, char *psz_other )
{
- QStyle *style = qApp->style();
-#if 0
- // Plastique is too dark.
- /// theming ? getting KDE data ? ?
- if( qobject_cast<QPlastiqueStyle *>(style) )
+#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 )
{
- QPalette plt( w->palette() );
- plt.setColor( QPalette::Active, QPalette::Highlight, Qt::gray );
- QColor vlg = (Qt::lightGray);
- vlg = vlg.toHsv();
- vlg.setHsv( vlg.hue(), vlg.saturation(), 235 );
- plt.setColor( QPalette::Active, QPalette::Window, vlg );
- plt.setColor( QPalette::Inactive, QPalette::Window, vlg );
- w->setPalette( plt );
+ *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 )
- {
- fixStyle( this );
- };
+ { };
virtual ~QVLCFrame() {};
void toggleVisible()
}
void writeSettings( QString name )
{
- fprintf( stderr, "save\n" );
QSettings settings( "VideoLAN", "VLC" );
settings.beginGroup( name );
settings.setValue ("size", size() );
}
};
+class QVLCDialog : public QDialog
+{
+public:
+ QVLCDialog( QWidget* parent, intf_thread_t *_p_intf ) :
+ QDialog( parent ), p_intf( _p_intf )
+ {}
+ virtual ~QVLCDialog() {};
+ void toggleVisible()
+ {
+ if( isVisible() ) hide();
+ else show();
+ }
+
+protected:
+ intf_thread_t *p_intf;
+};
+
class QVLCMW : public QMainWindow
{
public:
QVLCMW( intf_thread_t *_p_intf ) : QMainWindow( NULL ), p_intf( _p_intf )
+ { }
+ virtual ~QVLCMW() {};
+ void toggleVisible()
{
- QVLCFrame::fixStyle( this );
+ if( isVisible() ) hide();
+ else show();
}
- virtual ~QVLCMW() {};
protected:
intf_thread_t *p_intf;
QSize mainSize;
{
QSettings settings( "VideoLAN", "VLC" );
settings.beginGroup( name );
- mainSize = settings.value( "size", defSize ).toSize();
- QPoint npos = settings.value( "pos", QPoint( 0,0 ) ).toPoint();
- if( npos.x() > 0 )
- move( npos );
+ 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 )