restoring the green - do not set the style by default though
authorcoolo <coolo@e0cc52ee-31ee-0310-8b87-e83c4596d67c>
Fri, 7 Dec 2007 07:28:00 +0000 (07:28 +0000)
committercoolo <coolo@e0cc52ee-31ee-0310-8b87-e83c4596d67c>
Fri, 7 Dec 2007 07:28:00 +0000 (07:28 +0000)
git-svn-id: http://svn.opensuse.org/svn/yast/trunk/qt4@42776 e0cc52ee-31ee-0310-8b87-e83c4596d67c

src/QY2Styler.cc
src/YQUI_core.cc
theme/style.qss

index 17b78c7..fd126e8 100644 (file)
@@ -4,6 +4,7 @@
 #include <QStringList>
 #include <QApplication>
 #include <QWidget>
+#include <QPainter>
 
 QY2Styler *QY2Styler::_self = 0;
 
@@ -20,7 +21,7 @@ void QY2Styler::setStyleSheet( const QString &filename )
     {
         QString content = file.readAll();
         processUrls( content );
-        //qApp->setStyleSheet( content );
+        qApp->setStyleSheet( content );
     }
 }
 
@@ -51,22 +52,21 @@ QString QY2Styler::themeDir() const
 
 void QY2Styler::registerWidget( QWidget *widget )
 {
-    return;
     widget->installEventFilter( this );
 }
 
 bool QY2Styler::eventFilter( QObject * obj, QEvent * ev )
 {
-    if ( ev->type() != QEvent::Resize )
-        return QObject::eventFilter( obj, ev );
-
     QString name = obj->objectName();
 
-    qDebug( "eventFilter %s", qPrintable( name ) );
+    if ( ev->type() != QEvent::Resize )
+        return QObject::eventFilter( obj, ev );
 
     if ( !_backgroundFn.contains( name ) )
         return QObject::eventFilter( obj, ev );
 
+    qDebug( "eventFilter %s %s %d", qPrintable( name ), obj->metaObject()->className(), ev->type() );
+
     QWidget *wid = qobject_cast<QWidget*>( obj );
     if ( !_backgroundPx.contains( name ) )
     {
@@ -76,9 +76,13 @@ bool QY2Styler::eventFilter( QObject * obj, QEvent * ev )
         qDebug( "loading %s for %s", qPrintable( back ), qPrintable( name ) );
     }
 
-    QPixmap img = QPixmap::fromImage( _backgroundPx[name].scaled( wid->contentsRect().width(), wid->contentsRect().height() ) );
+    QPixmap result( wid->size() );
+    result.fill( QColor( 0, 0, 0, 0 ) );
+    QPainter pain( &result );
+    pain.drawImage( wid->contentsRect().topLeft(), _backgroundPx[name].scaled( wid->contentsRect().width(), wid->contentsRect().height() ) );
+
     QPalette p = wid->palette();
-    p.setBrush(QPalette::Window, img );
+    p.setBrush(QPalette::Window, result );
     wid->setPalette( p );
 
     return QObject::eventFilter( obj, ev );
index d33e34d..cde9a19 100644 (file)
@@ -115,7 +115,7 @@ void YQUI::init_ui()
     calcDefaultSize();
 
     _styler = new QY2Styler( qApp );
-    _styler->setStyleSheet( "style.qss" );
+    // _styler->setStyleSheet( "style.qss" );
 
     // Event loop object. Required since a YaST2 UI needs to react to commands
     // from the YCP command stream as well as to X11 / Qt events.
index e6519b4..826b925 100644 (file)
@@ -21,6 +21,7 @@ QWidget { color: white; }
    padding-top: 10px;
    margin-top: 60px;
    margin-left: 10px;
+   margin-bottom: 100px;
    min-width: 195px;
    max-width: 195px;
 }