#756 smplayer qt5 16.6.0 not using selected qt5 colour scheme with qtcurve

stable
open
nobody
None
5
2016-06-21
2016-06-12
rm88
No

smplayer qt5 16.6.0 is not using the system's selected qt5 colour scheme with qt5-qtcurve

kubuntu 16.04
qt5 5.5.1+dfsg-16ubuntu7.1
qtcurve-qt5 1.8.18+git20160112-0cd6aae-1

Tested with ppa build 16.6.0 and version compiled locally from svn.

Other qt5 apps, either native kde or pure qt5, respect the colour scheme with qt5-qtcurve

In example shown in attactment that is a dark scheme, with smplayer's non conformance shown in contrast to correct displaying apps.

Swithing to qt5 oxygen etc results in corrcet application of system colour scheme.

As stated, other apps adopt the correct colour under qtcurve, so this problem seems peculiar to smplayer

1 Attachments

Discussion

  • ILYA

    ILYA - 2016-06-14

    I have a similar problem on KDE4.
    When compiling with Qt4 (Qt 4.8.7) theme QtCurve applied correctly.
    When compiling with Qt5 (Qt 5.6.0) theme QtCurve applied incorrectly.

     
  • rm88

    rm88 - 2016-06-14

    Re-tested with up to qtcurve-qt5 1.8.18+git20160320-3d8622c-3

    Problem persists.

    Also noticed that Fusion is affected.

    Contrasted with Breeze/Oxgyen

     
    Last edit: rm88 2016-06-14
  • Ricardo Villalba

    Does it make any difference if you comment or delete this line in basegui.cpp:
    qApp->setPalette(qApp->style()->standardPalette());

     
  • rm88

    rm88 - 2016-06-14

    Yes, so far that seems to result in the colour palette applying correctly in qtcurve and Fusion, in line with other qt/kde apps.

     
  • kachelaqa

    kachelaqa - 2016-06-15

    I can also confirm this problem with qtcurve. Also, it is now necessary to explicitly set the required style in the preferences - the "default" option no longer picks up the system settings (i.e. I get fusion instead of qtcurve).

     
  • Ricardo Villalba

    So if the problem was caused by the setPalette line, then the problem should be fixed in svn r7976.

     
    Last edit: Ricardo Villalba 2016-06-15
  • ILYA

    ILYA - 2016-06-16

    After updating r7977 color scheme QtCurve recognized correctly, but now is not recognized himself QtCurve style.

     
  • ILYA

    ILYA - 2016-06-16

    If the interface settings to manually select the style QtCurve, he perfectly recognized, but if you select the default, then use a different style.
    Is that the way it should be?

     
    Last edit: ILYA 2016-06-16
  • Ricardo Villalba

    Yes, the default style is Fusion.

     
  • ILYA

    ILYA - 2016-06-17

    And why not as soon as Default, referred to the style of your desktop (systemsettings), or Qt5 (qt5c) settings?

     
  • kachelaqa

    kachelaqa - 2016-06-17

    The default style is NOT fusion. The default is whatever style the user has chosen via the system settings. I have been using smplayer for many years, and it has NEVER been necessary to specify the style in the preferences. It is just bad practice to override the users system settings in this way. The default option should simply mean: "do nothing".

     
  • ILYA

    ILYA - 2016-06-17

    Totally agree with you!
    And so it has always been.
    But of Ricardo, for some reason, I decided otherwise and I do not understand why?

     
  • Ricardo Villalba

    There's a new feature, the possibility to scale the GUI on high DPI screens. Qt recommends to use the Fusion style because it scales better. That's why I made it the default in smplayer 16.6.

    http://doc.qt.io/qt-5/highdpi.html

     
  • kachelaqa

    kachelaqa - 2016-06-17

    The large majority of users will never need that feature, and the ones that do can explicitly set the fusion style in smplayer if they want to. There's no need to make it the default.

     
  • kachelaqa

    kachelaqa - 2016-06-17

    To put it more clearly: changing the meaning of "default" is a regression, because it means there is no longer any option to follow the current system settings. The "default" option has just become alias for "fusion", and there is no "use system settings" option that preserves the existing behaviour. Most users will want this latter option, and it should remain the default setting.

     
  • Ricardo Villalba

    Ok. From svn 7979 the "default" style sets the system's style.

    However smplayer will set the style to "fusion" by default when using Qt5.

     
  • kachelaqa

    kachelaqa - 2016-06-17

    I don't understand. We're already using Qt5, so it is still a regression.

    EDIT

    Ah, I think I misunderstood. The style will be set to the "fusion" option by default in Qt5, and the "default" option can be used to get the current system style. If so, then I suppose that's an acceptable compromise.

     
    Last edit: kachelaqa 2016-06-18
  • ILYA

    ILYA - 2016-06-17

    Yes, silly done.
    But if after update SMPlayer style combo box with Default option will not be reset on the Fusion option, I was satisfied with this option.
    While in the good, the combo box with the choice of style in general should not be. It is the responsibility of the configurator DE. Windows-style of some kind.

     
  • Ricardo Villalba

    From r7979 the "Default" option in the combo box will use the system's style, not Fusion, like in previous versions.

     
  • ILYA

    ILYA - 2016-06-18

    I understood it. It works. And I am generally satisfied. :-)

     
  • lovigi

    lovigi - 2016-06-20

    Probably the same thing, just asking to be sure.
    The colour scheme is not the system one on kde4/16.6.0/Qt5, but not using QtCurve.

    If I switch the colour scheme back and forth when SMPlayer is running, the colours look fine, but only until the app is closed.

    Would r7979 help me too?

    EDIT: r7976 did the trick, please disregard ths.

     
    Last edit: lovigi 2016-06-20
    • ILYA

      ILYA - 2016-06-20

      Would r7979 help me too?

      There is only one accurate and guaranteed way to find out, is not it? ;-)

       
      Last edit: ILYA 2016-06-20
  • ILYA

    ILYA - 2016-06-21
    vim Makefile
    2: PREFIX=/usr
    16: QMAKE=qmake-qt5
    17: LRELEASE=lrelease-qt5
    

    Is it possible to override these variables, as well as add CFLAGS and CPPFLAGS without ranning vim?
    Ideally, of course, use cmake.

     
    Last edit: ILYA 2016-06-21

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks