Ignore:
Timestamp:
Aug 31, 2016, 5:31:04 PM (9 years ago)
Author:
Silvan Scherrer
Message:

smplayer: update trunk to version 16.8.0

Location:
smplayer/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • smplayer/trunk

  • smplayer/trunk/src/mplayerwindow.cpp

    r176 r181  
    4141#endif
    4242
     43//#define HANDLE_GESTURES
     44
     45#ifdef HANDLE_GESTURES
     46#include <QGestureEvent>
     47#include <QTapGesture>
     48#endif
     49
    4350Screen::Screen(QWidget* parent, Qt::WindowFlags f)
    4451        : QWidget(parent, f )
     
    123130        , playing(false)
    124131{
    125 #ifndef Q_OS_WIN
    126         #if QT_VERSION < 0x050000
    127         setAttribute(Qt::WA_OpaquePaintEvent);
    128         #if QT_VERSION >= 0x040400
    129         setAttribute(Qt::WA_NativeWindow);
    130         #endif
    131         setAttribute(Qt::WA_PaintUnclipped);
    132         //setAttribute(Qt::WA_PaintOnScreen);
    133         #endif
    134 #endif
    135132}
    136133
     
    143140        repaint_background = b;
    144141}
    145 
    146 void MplayerLayer::paintEvent( QPaintEvent * e ) {
    147         //qDebug("MplayerLayer::paintEvent: repaint_background: %d", repaint_background);
    148         if (repaint_background || !playing) {
    149                 //qDebug("MplayerLayer::paintEvent: painting");
    150                 QPainter painter(this);
    151                 painter.eraseRect( e->rect() );
    152                 //painter.fillRect( e->rect(), QColor(255,0,0) );
    153         }
    154 }
    155142#endif
    156143
    157144void MplayerLayer::playingStarted() {
    158145        qDebug("MplayerLayer::playingStarted");
    159         repaint();
     146//      repaint();
    160147        playing = true;
    161148
    162149#ifndef Q_OS_WIN
    163         setAttribute(Qt::WA_PaintOnScreen);
     150        if (!repaint_background) setUpdatesEnabled(false);
    164151#endif
    165152
     
    172159
    173160#ifndef Q_OS_WIN
    174         setAttribute(Qt::WA_PaintOnScreen, false);
    175 #endif
    176 
    177         repaint();
     161        setUpdatesEnabled(true);
     162#endif
     163
     164//      repaint();
    178165        Screen::playingStopped();
    179166}
     
    211198    , mouse_drag_tracking(false)
    212199{
     200        mplayerlayer = new MplayerLayer(this);
     201        mplayerlayer->setObjectName("mplayerlayer");
     202
     203        logo = new QLabel( mplayerlayer );
     204        logo->setObjectName("mplayerwindowlogo");
     205
     206        // Set colors
     207#ifdef CHANGE_WIDGET_COLOR
    213208        setAutoFillBackground(true);
    214209        ColorUtils::setBackgroundColor( this, QColor(0,0,0) );
    215 
    216         mplayerlayer = new MplayerLayer(this);
    217         mplayerlayer->setObjectName("mplayerlayer");
    218210        mplayerlayer->setAutoFillBackground(true);
    219 
    220         logo = new QLabel( mplayerlayer );
    221         logo->setObjectName("mplayerwindow logo");
    222211        logo->setAutoFillBackground(true);
    223212        ColorUtils::setBackgroundColor( logo, QColor(0,0,0) );
     213#else
     214        setStyleSheet("MplayerWindow { background-color: black;}");
     215        mplayerlayer->setStyleSheet("background-color: black;");
     216#endif
    224217
    225218        QVBoxLayout * mplayerlayerLayout = new QVBoxLayout( mplayerlayer );
     
    228221        setSizePolicy( QSizePolicy::Expanding , QSizePolicy::Expanding );
    229222        setFocusPolicy( Qt::StrongFocus );
     223       
     224//#ifdef HANDLE_GESTURES
     225        grabGesture(Qt::TapGesture);
     226//#endif
    230227
    231228        installEventFilter(this);
     
    265262#if USE_COLORKEY
    266263void MplayerWindow::setColorKey( QColor c ) {
     264        #ifdef CHANGE_WIDGET_COLOR
    267265        ColorUtils::setBackgroundColor( mplayerlayer, c );
     266        #endif
    268267}
    269268#endif
     
    277276
    278277void MplayerWindow::setLogoVisible( bool b) {
     278        qDebug() << "MplayerWindow::setLogoVisible:" << b;
     279
     280#if REPAINT_BACKGROUND_OPTION
     281        if (b) mplayerlayer->setUpdatesEnabled(true);
     282#endif
     283
    279284        if (corner_widget) {
    280285                corner_widget->setVisible(b);
     
    482487
    483488bool MplayerWindow::eventFilter( QObject * object, QEvent * event ) {
    484 
     489#ifdef HANDLE_GESTURES
     490        if (event->type() == QEvent::Gesture) {
     491                qDebug() << "MplayerWindow::eventFilter: event:" << event;
     492                QGestureEvent * ge = static_cast<QGestureEvent*>(event);
     493                qDebug() << "MplayerWindow::eventFilter: ge:" << ge;
     494                if (QGesture * tap = ge->gesture(Qt::TapGesture)) {
     495                        QTapGesture * tg = static_cast<QTapGesture *>(tap);
     496                        qDebug() << "MplayerWindow::eventFilter: tg:" << tg;
     497                        event->setAccepted(true);
     498                        return false;
     499                }
     500        }
     501#endif
     502       
    485503    if (!mouse_drag_tracking)
    486504        return false;
     
    641659                retranslateStrings();
    642660        } else {
    643                 QWidget::changeEvent(e);
     661                Screen::changeEvent(e);
    644662        }
    645663}
Note: See TracChangeset for help on using the changeset viewer.