Bug 276855 - KDE applications are not using the native widget style
Summary: KDE applications are not using the native widget style
Status: RESOLVED INTENTIONAL
Alias: None
Product: kde-windows
Classification: Miscellaneous
Component: general (show other bugs)
Version: unspecified
Platform: Microsoft Windows Microsoft Windows
: NOR normal
Target Milestone: ---
Assignee: KDE-Windows
URL:
Keywords:
: 204868 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-06-30 21:03 UTC by Veeti Paananen
Modified: 2012-03-06 20:46 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Screenshot of KWrite in Windows XP (27.59 KB, image/png)
2011-06-30 21:03 UTC, Veeti Paananen
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Veeti Paananen 2011-06-30 21:03:28 UTC
Created attachment 61499 [details]
Screenshot of KWrite in Windows XP

Version:           unspecified (using KDE 4.5.4) 
OS:                MS Windows

Upon installing KDE on Windows in a Windows XP virtual machine, KDE applications seem to be using a very ugly theme (see screenshots). The wiki states that "The default KDE widget style on Windows is the native one," but this is not the case.

Reproducible: Always

Steps to Reproduce:
1. Install KDE on Windows
2. Launch any application

Actual Results:  
Application looks unpleasant

Expected Results:  
Application should look native and fit in to the Windows system
Comment 1 Patrick Spendrin 2012-02-22 22:36:46 UTC
The style you see is the "native" xp style from Qt. Since quite a while we decided that we will make oxygen the default style for KDE on Windows apps. You will get the oxygen style only after installing the kde-workspace package, otherwise you're still left with the native Qt style. Since the default style is also a question of taste, I don't think I can accept bug reports about it.
Comment 2 Veeti Paananen 2012-02-22 22:44:49 UTC
> The style you see is the "native" xp style from Qt.

It doesn't look like it. See this gallery (http://doc.qt.nokia.com/4.8-snapshot/gallery-windowsxp.html) for a reference on what the "native XP style" in Qt should look like: for example, take a look at the scrollbars in this page and compare them to the screenshot.

> Since quite a while we decided that we will make oxygen the default style for KDE on Windows

Please reconsider this. Applications should strive to present a native user interface and experience on the platform they are running on instead of doing their own thing. This is one of Qt's strongest points when compared to other UI toolkits.
Comment 3 Patrick Spendrin 2012-02-22 23:04:51 UTC
I just found out that we very likely miss the windowsxp & vista style from Qt on our mingw compilers (https://bugs.kde.org/show_bug.cgi?id=273573) and so they will fall back to win95 style. Given those styles are installed (e.g. either after we have fixed our Qt package or if you use the msvc packages), you can always change them in the systemsettings. Since the default of *KDE* is oxygen, we are in a dilemma here and the current solution is to use the oxygen style (as the default but always of course install the other styles too).
Comment 4 Kevin Kofler 2012-02-28 03:36:00 UTC
> Since the default of *KDE* is oxygen

The default is supposed to be Oxygen only within the KDE Plasma workspaces. It was actually implemented for all X11 except Maemo 5, which is broken (and I've been complaining about that for a while, it should use the QGtkStyle in GTK+-based desktops), but you added Q_WS_WIN to the #ifdef, which doesn't make any sense whatsoever.
Comment 5 Patrick Spendrin 2012-02-28 14:06:12 UTC
Ahem, why doesn't it make any sense? It works, I find it looks rather nice, there is no connection to X11 needed, so why should it matter - and you can totally forget the point "it doesn't fit the default style", the default Qt (vista) style just doesn't fit as well.
Comment 6 Kevin Kofler 2012-02-29 05:18:44 UTC
It should fit the default style as well as possible, which Qt at least tries to do, and which you are overriding.

If we're shifting from the idea of KDE as an environment to KDE as a framework (or a set of frameworks), that should include matching the native style of the platform.

(For the X11 case, I'll double-check what actually happens, and if it really still defaults to Oxygen even in GTK+-based environments as the code seems to indicate, I'll file a separate bug for that.)
Comment 7 Kevin Kofler 2012-02-29 05:33:48 UTC
Actually, on X11, the code in KGlobalSettings got changed to not use KStyle::default() directly. Instead, it is only used by the KDE Platform plugin, which is only active in KDE Plasma workspaces sessions. See:
https://projects.kde.org/projects/kde/kdelibs/repository/entry/kdeui/kernel/kglobalsettings.cpp?rev=KDE%2F4.8#L924

So you (kdewin) are the only ones defaulting to Oxygen instead of the platform's native style. (X11 uses the native style of the environment, Mac uses the native Mac style etc.) Qt tries hard to look native, overriding that is a very bad idea.
Comment 8 Patrick Spendrin 2012-02-29 06:52:24 UTC
(In reply to comment #6)
> It should fit the default style as well as possible, which Qt at least tries to
> do, and which you are overriding.
We do override it for two reasons: 1) the default style mimics one of the many styles even Microsofts own applications used over the years - which means calling it default platform style is not the best wording. 2) KDE on Windows brings a set of applications which are highly integrated. To show that these apps belong together, a common style is a good thing imo.

> 
> If we're shifting from the idea of KDE as an environment to KDE as a framework
> (or a set of frameworks), that should include matching the native style of the
> platform.

Who is we anyway (this is actually something for a blogpost)? Also this bug report is about now and not about KDE5.

> 
> (For the X11 case, I'll double-check what actually happens, and if it really
> still defaults to Oxygen even in GTK+-based environments as the code seems to
> indicate, I'll file a separate bug for that.)

To end this discussion:
KDE on Windows uses oxygen as its default style because there is no other good looking style out there, because a Windows default style simply doesn't exist (there is a Qt default windows style, but that is different). This could be changed in the future, but I doubt it will happen.
People who think that KDE on Windows shouldn't build kde-workspace are simply bringing up the same arguments that have been answered 5 years ago; if you accept that KDE on Windows exists and is part of KDE, then we are allowed to build & distribute what we can. How we distribute our efforts is something that the KDE on Windows developers will decide for themselves, and cannot be commanded by somebody else.

regards,
Patrick
Comment 9 Patrick Spendrin 2012-03-06 17:37:28 UTC
*** Bug 204868 has been marked as a duplicate of this bug. ***