Qt5/KDE5 bad interactions

classic Classic list List threaded Threaded
49 messages Options
123
Reply | Threaded
Open this post in threaded view
|

Qt5/KDE5 bad interactions

D. Michael McIntyre-3
All my more important responsibilities are under snow today, so I got a
chance to try cleaning up the file dialogs that are horrible with the
Qt5/KDE5 interaction.

Long story short, I came, I saw, I fiddled, I gave up in disgust.
--
D. Michael McIntyre

------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
_______________________________________________
Rosegarden-devel mailing list
[hidden email] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel
Reply | Threaded
Open this post in threaded view
|

Re: Qt5/KDE5 bad interactions

David Faure
On lundi 9 janvier 2017 15:11:14 CET D. Michael McIntyre wrote:
> All my more important responsibilities are under snow today, so I got a
> chance to try cleaning up the file dialogs that are horrible with the
> Qt5/KDE5 interaction.
>
> Long story short, I came, I saw, I fiddled, I gave up in disgust.

Anything I can help with? What's the actual bug?

Is it about the application stylesheet messing up the dialog's appearance,
or about actual functionality?

--
David Faure, [hidden email], http://www.davidfaure.fr
Working on KDE Frameworks 5


------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
_______________________________________________
Rosegarden-devel mailing list
[hidden email] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel
Reply | Threaded
Open this post in threaded view
|

Re: Qt5/KDE5 bad interactions

Aere Greenway-2
In reply to this post by D. Michael McIntyre-3
On 01/09/2017 01:11 PM, D. Michael McIntyre wrote:
> All my more important responsibilities are under snow today, so I got a
> chance to try cleaning up the file dialogs that are horrible with the
> Qt5/KDE5 interaction.
>
> Long story short, I came, I saw, I fiddled, I gave up in disgust.
For some reason (from my software career), that sounds hauntingly
familiar...

--
Sincerely,
Aere


------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
_______________________________________________
Rosegarden-devel mailing list
[hidden email] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel
Reply | Threaded
Open this post in threaded view
|

Re: Qt5/KDE5 bad interactions

D. Michael McIntyre-3
In reply to this post by David Faure
On 01/09/2017 03:33 PM, David Faure wrote:

> Anything I can help with? What's the actual bug?

MIME type icons aren't working in KDE file dialogs again, or in Dolphin.
  I JUST fixed that within the last six months, and it's already broken
again.

Our in-house Qt file dialogs have no icons for anything, making it hard
to distinguish a file from a directory.  MusE Score has the same problem.

If I let Qt use native file dialogs, I get KDE dialogs that are themed
by Rosegarden in various detrimental ways.  This phenomenon occurs with
some dark-themed commercial software I bought, and is not exclusive to
Rosegarden.  When Qt uses "native" file dialogs, and the native platform
is based on Qt 5, then these bad interactions are possible.  A true
native dialog should take all of its style cues from the platform, not
the parent launching the dialog.  I'm not sure if this is a design
choice or an oversight, but it makes running Qt software on KDE 5 annoying.

The "Thorn" style has code to replace certain default icons with our own
custom icons.  These are used in information and warning dialogs, for
example.  That code no longer functions for some reason, and these
dialogs take their icons from the underlying platform instead of using
the ones we specify.  These native icons do not coordinate well at all,
and look very bad.

There are assorted other minor problems as well.  I haven't taken time
to enumerate them yet.
--
D. Michael McIntyre

------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
_______________________________________________
Rosegarden-devel mailing list
[hidden email] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel
Reply | Threaded
Open this post in threaded view
|

Re: Qt5/KDE5 bad interactions

D. Michael McIntyre-3
On 01/10/2017 04:15 AM, David Faure wrote:

> Step 1 can be tested separately with "kmimetypefinder5 myfile".

Yields "audio/x-rosegarden" as expected.

> What's your setup? Is XDG_DATA_DIRS set to a special value?

I found some irregularities in that string.  I failed to determine what
got them there, so I resorted to using brute force.  The string as it
exists in my current environment:

XDG_DATA_DIRS=/usr/share:/usr/share/xsessions/plasma:/usr/local/share:/var/lib/snapd/desktop

Note that fixing this environment variable had no effect on anything.

> Does /usr/share/mime exist?

Yes.

> When you say MIME icons aren't working, do you mean for ALL files, or only for
> Rosegarden documents?

Some MIME icons are working, but none of the Rosegarden ones.

> The icons themselves come from the icon theme. Do you have oxygen/or and
> breeze installed? What does `kiconfinder5 folder` return?

/usr/share/icons/breeze/places/32/folder.svg

> I can't reproduce that. Here's a screenshot of rosegarden's Qt file dialog.
> But I suppose it's just a consequence of what you say above.

Perhaps so.  It's good that is may just be a broken installation here. I
upgraded to Kubuntu 16.04 some while back, and this has been broken
since then.

> I am actually using a dark color theme in Plasma 5, and it seems to work just
> fine (from other apps). See attached screenshot. No stylesheet hacks there,
> just "Breeze Dark" chosen in `kcmshell5 colors`.

The problems come from the infectious stylesheet.

> Well, that would be the case, if your stylesheet didn't infect the whole Qt
> application :-)

I acknowledge that the stylesheet is an absolute nightmare.  Anyway,
Spriter Pro has the same problem, so I feel better.

> I don't think there's anything I can do in the KDE file dialog to prevent it
> from being affected by the application stylesheet or widget style. It's Qt's
> design that the application widget style and palette affect all widgets in the
> process, including the file dialog.

I agree.  I think it's a flaw in Qt.  I can't think of any way to hack
around this short of launching the file dialogs from a stand-alone
application.

--
D. Michael McIntyre

------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
_______________________________________________
Rosegarden-devel mailing list
[hidden email] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel
Reply | Threaded
Open this post in threaded view
|

Re: Qt5/KDE5 bad interactions

David Faure
On mercredi 11 janvier 2017 21:36:23 CET D. Michael McIntyre wrote:
> On 01/10/2017 04:15 AM, David Faure wrote:
> > Step 1 can be tested separately with "kmimetypefinder5 myfile".
>
> Yields "audio/x-rosegarden" as expected.

For which type of file?
A *.rg file should yield application/x-rosegarden-composition,
according to share/mime/packages/rosegarden.xml as installed by rosegarden,
and it does here.

I don't see a mimetype definition for audio/x-rosegarden anywhere,
including in shared-mime-info.

Can you `grep -r audio/x-rosegarden /usr/share/mime/packages` ?
and if that doesn't return anything then check the other locations in your
XDG_DATA_DIRS, similarly.

Do you have a /usr/share/mime/packages/rosegarden.xml file?

> XDG_DATA_DIRS=/usr/share:/usr/share/xsessions/plasma:/usr/local/share:/var/l
> ib/snapd/desktop

OK the most important part is here (/usr/share) but I really wonder what's in
your /usr/share/xsessions/plasma (for my curiosity, can you do a `find` there,
to show me?)

> Note that fixing this environment variable had no effect on anything.

It depends on what you meant by fixing ;)

> > When you say MIME icons aren't working, do you mean for ALL files, or only
> > for Rosegarden documents?
>
> Some MIME icons are working, but none of the Rosegarden ones.

Yeah, with a wrong mimetype that is not exactly surprising.

The way it's supposed to work is that installing rosegarden into /usr, or into
a prefix listed in XDG_DATA_DIRS, then that should make both the mimetype
definitions and the icons available.

PREFIX/share/mime/packages/rosegarden.xml
PREFIX/share/icons/hicolor/32x32/mimetypes/application-x-rosegarden-
composition.png

*However* there is an extra step missing, which is likely the issue here.
The program `update-mime-database` needs to be run after installing a mimetype
definition.

Where do you install rosegarden?

Are your mimetype problems solved if you run
  update-mime-database PREFIX/share
where PREFIX is your rosegarden installation prefix,
and if you add PREFIX/share to XDG_DATA_DIRS?
(of course you'll have to run rosegarden and dolphin from the terminal where
you modified XDG_DATA_DIRS).

> > The icons themselves come from the icon theme. Do you have oxygen/or and
> > breeze installed? What does `kiconfinder5 folder` return?
>
> /usr/share/icons/breeze/places/32/folder.svg

OK. And after you fix the setup, then you should see
`kiconfinder5 application-x-rosegarden-composition`
working.
 
> > I am actually using a dark color theme in Plasma 5, and it seems to work
> > just fine (from other apps). See attached screenshot. No stylesheet hacks
> > there, just "Breeze Dark" chosen in `kcmshell5 colors`.
>
> The problems come from the infectious stylesheet.

Agreed.

> > Well, that would be the case, if your stylesheet didn't infect the whole
> > Qt application :-)
>
> I acknowledge that the stylesheet is an absolute nightmare.  Anyway,
> Spriter Pro has the same problem, so I feel better.

OK... :)
 
> > I don't think there's anything I can do in the KDE file dialog to prevent
> > it from being affected by the application stylesheet or widget style.
> > It's Qt's design that the application widget style and palette affect all
> > widgets in the process, including the file dialog.
>
> I agree.  I think it's a flaw in Qt.  I can't think of any way to hack
> around this short of launching the file dialogs from a stand-alone
> application.

Which btw can be done (kdialog --getopenfilename) but that is a somewhat
horrible solution.

How about not using a stylesheet? I hate stylesheets anyway, they are slow,
inflexible, limited....
A palette and a widget style can do everything a stylesheet does, and more
(though with much more tricky code, in some cases).

--
David Faure, [hidden email], http://www.davidfaure.fr
Working on KDE Frameworks 5


------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
_______________________________________________
Rosegarden-devel mailing list
[hidden email] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel
Reply | Threaded
Open this post in threaded view
|

Re: Qt5/KDE5 bad interactions

D. Michael McIntyre-3
On 01/14/2017 04:41 AM, David Faure wrote:

> A *.rg file should yield application/x-rosegarden-composition,

> Do you have a /usr/share/mime/packages/rosegarden.xml file?

That was a helpful clue.  Thanks!

I never changed the prefix, and our version of rosegarden.xml got
installed in /usr/local, where it sat, ignored.  Now I have the
Rosegarden MIME types working in Dolphin.

> OK the most important part is here (/usr/share) but I really wonder what's in
> your /usr/share/xsessions/plasma (for my curiosity, can you do a `find` there,
> to show me?)

There is no /usr/share/xsessions/plasma.

I have /usr/share/xsessions/plasma.desktop and it doesn't look like its
contents would be interesting.  Translation, translation, yadda yadda,
KDE 5.5.5.

> It depends on what you meant by fixing ;)

I'm largely focusing on the file dialogs in Rosegarden, which are
apparently much more functional for you than me.

> The way it's supposed to work is that installing rosegarden into /usr, or into
> a prefix listed in XDG_DATA_DIRS, then that should make both the mimetype
> definitions and the icons available.

It's interesting that /usr/local/share IS contained within XDG_DATA_DIRS
but they were still broken.

> *However* there is an extra step missing, which is likely the issue here.
> The program `update-mime-database` needs to be run after installing a mimetype
> definition.

It's probable that nothing ever ran update-mime-database on /usr/local
until I did just now.

> Which btw can be done (kdialog --getopenfilename) but that is a somewhat
> horrible solution.

That's putting it mildly.  :)

> How about not using a stylesheet? I hate stylesheets anyway, they are slow,
> inflexible, limited....
> A palette and a widget style can do everything a stylesheet does, and more
> (though with much more tricky code, in some cases).

If you can show me a better way, my friend, I despise the stylesheet
with a burning passion.  I knew what I wanted Rosegarden to look like,
but I didn't know how to get there, and the thing is just an absolute
nightmare of glue on top of duct tape on top of baling wire on top of
chewing gum on top of old truck tires.

That thing is truly my albatross.

--
D. Michael McIntyre

------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
_______________________________________________
Rosegarden-devel mailing list
[hidden email] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel
Reply | Threaded
Open this post in threaded view
|

Re: Qt5/KDE5 bad interactions

David Faure
On dimanche 15 janvier 2017 00:44:01 CET D. Michael McIntyre wrote:
> > OK the most important part is here (/usr/share) but I really wonder what's
> > in your /usr/share/xsessions/plasma (for my curiosity, can you do a
> > `find` there, to show me?)
>
> There is no /usr/share/xsessions/plasma.

OK then you can remove that from your XDG_DATA_DIRS :-)
(if you didn't set it yourself, I really wonder what puts that in there)

> It's probable that nothing ever ran update-mime-database on /usr/local
> until I did just now.

OK. Then that was the problem. Missing invocation on make install.
Fixed in r14916, using a cmake file from extra-cmake-modules.
 

> > How about not using a stylesheet? I hate stylesheets anyway, they are
> > slow,
> > inflexible, limited....
> > A palette and a widget style can do everything a stylesheet does, and more
> > (though with much more tricky code, in some cases).
>
> If you can show me a better way, my friend, I despise the stylesheet
> with a burning passion.  I knew what I wanted Rosegarden to look like,
> but I didn't know how to get there, and the thing is just an absolute
> nightmare of glue on top of duct tape on top of baling wire on top of
> chewing gum on top of old truck tires.

LOL.

As a first step, I just realized something: you could try setting the
stylesheet only on the mainwindow(s) (rather than on qApp), and creating the
file dialogs without a parent so that the stylesheet doesn't propagate to them.
Of course every other dialog (those implemented in rosegarden) should still
have a parent.
This is just a try, because it's actually an even worse use of stylesheets
(every window has to parse the whole stylesheet; for performance reasons it is
usually advised to set the stylesheet on qApp instead like rosegarden does).
But I think making the filedialogs parent-less is needed in any case (if we
replace the stylesheet with setPalette calls, we also won't want the filedialog
to inherit the palette).

Although with setPalette we have another solution.... saving the system
palette in main() before making any changes, and then applying it to file
dialogs, hmm, assuming it will propagate from QFileDialog to the actual KDE
file dialog. Worth testing. I have another project for today, but maybe next
weekend. Feel free to experiment meanwhile and tell me what you find ;)

I did several commercial projects writing widget styles, I like doing that,
maybe I'll give it a go in rosegarden using the stylesheet as specification ;)

Cheers,

--
David Faure, [hidden email], http://www.davidfaure.fr
Working on KDE Frameworks 5


------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
_______________________________________________
Rosegarden-devel mailing list
[hidden email] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel
Reply | Threaded
Open this post in threaded view
|

Re: Qt5/KDE5 bad interactions

David Faure
On dimanche 15 janvier 2017 10:31:27 CET David Faure wrote:
>  Feel free to experiment meanwhile and tell me what you find

OK, I did experiments (and reading Qt source code) and here are the results.

* setStyleSheet() on a widget always propagates to child widgets
* there is no way to prevent it from propagating to a given child
 (so for a dialog, a possible hack is to create it with no parent, but this
can give centering/focus trouble on some platforms I believe)

* setStyle() on a widget *never* propagates to child widgets
(as documented, but very surprising to me, especially since it would probably
have been easy for Qt to provide that option, given that it was implemented
for the internal QStyle that implements stylesheets)

* setPalette() on a widget always propagates to child widgets (I knew that
one)

As a result, a working solution (for a completely unstyled QFileDialog, native
or builtin) is:
* no stylesheet, but a custom QStyle subclass instead, applied with setStyle()
on each individual widget being created, except for those in a file dialog.
As to the palette, it just needs to be set on any window being created, and
the system palette (saved on startup) is set instead on file dialogs.

I have started to implement this solution (using a qApp event filter to be
notified of widgets being created/reparented using QEvent::Polish).

The longest part of the job is obviously to convert the stylesheet to a QStyle
subclass, but I'm making good progress with that (well... I'm at 27% of the
qss file ;).

Using QStyle instead of a stylesheet also gives full control over the
layouting and painting of the widgets, and is faster (at runtime, not at
coding time :-).

Sneak peek of the code:
http://www.davidfaure.fr/2017/ThornStyle.cpp
http://www.davidfaure.fr/2017/ThornStyle.h

I can't do intermediate commits until the stylesheet is fully converted,
because I can't mix and match the two.

BTW if there was anything you wanted different in the styling, now is the time
to tell me; no point in me porting the settings from the qss if we then decide
to do something differently; better avoid doing the work twice.

--
David Faure, [hidden email], http://www.davidfaure.fr
Working on KDE Frameworks 5


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Rosegarden-devel mailing list
[hidden email] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel
Reply | Threaded
Open this post in threaded view
|

Re: Qt5/KDE5 bad interactions

David Faure
On lundi 23 janvier 2017 10:01:45 CET David Faure wrote:
> The longest part of the job is obviously to convert the stylesheet to a
> QStyle subclass, but I'm making good progress with that (well... I'm at 27%
> of the qss file ;).

All done, the stylesheet is gone, and the custom QStyle replaces it.
The file dialogs are now fully unaffected by the Thorn style.

The only remaining TODO compared to the CSS file is the styling of the scroll
buttons for QTabBar. Ddo they appear anywhere in the app?

The CSS also had styling for widgets named "RosegardenTransport"
and "MatrixParameters", however there were no such object names.
there is a dialog called "Rosegarden Transport", but due to the additional
space it didn't match the CSS. Can I ignore this leftover styling?

Please report any styling regressions to me, I tested all widgets, but not in
all circumstances (e.g. I didn't open all dialogs and all windows).

The Qt4 version builds, but I tested it even less.

--
David Faure, [hidden email], http://www.davidfaure.fr
Working on KDE Frameworks 5


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Rosegarden-devel mailing list
[hidden email] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel
Reply | Threaded
Open this post in threaded view
|

Re: Qt5/KDE5 bad interactions

Ted Felix-2
On 02/05/2017 03:50 PM, David Faure wrote:
> Please report any styling regressions to me, I tested all widgets, but not in
> all circumstances (e.g. I didn't open all dialogs and all windows).
>
> The Qt4 version builds, but I tested it even less.

   Some white/gray frames have appeared in Qt4 under Ubuntu
(GNOME+Unity).  See attached.  Top is original qss, bottom is QStyle.
The frames are also around the Special Parameters section on the left
side and the progress bar and icons on the right side of the status bar.
  Other places too, probably, but the Transport is the most noticeable.

   I've not tested Qt5.

   Let me know what additional testing/screenshots you need.

Ted.

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Rosegarden-devel mailing list
[hidden email] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel

rosegarden transport qstyle.png (52K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Qt5/KDE5 bad interactions

David Faure
On lundi 6 février 2017 01:12:21 CET Ted Felix wrote:
> On 02/05/2017 03:50 PM, David Faure wrote:
> > Please report any styling regressions to me, I tested all widgets, but not
> > in all circumstances (e.g. I didn't open all dialogs and all windows).
> >
> > The Qt4 version builds, but I tested it even less.
>
>    Some white/gray frames have appeared in Qt4 under Ubuntu
> (GNOME+Unity).  See attached.  Top is original qss, bottom is QStyle.

Ah! So the CSS selectors did apply to the transport dialog, removing the space
from the object name. Fixed now, the transport dialog looks like before.

> The frames are also around the Special Parameters section on the left
> side

Yeah, I have been fighting with dock widgets quite a lot. Before I invest more
time into it, does that thing really need to be a dock widget? It doesn't seem
useful to move it to another position (top, right...) nor to make it float
outside the mainwindow, or am I missing something?

> and the progress bar

Could it be that you didn't have r14974 from yesterday evening, yet?

> and icons on the right side of the status bar.

Strange, I do see a frame around those icons with the original qss as well,
don't you? I can of course look into removing that if unwanted, but it doesn't
seem like a regression to me.

Thanks for the feedback!

--
David Faure, [hidden email], http://www.davidfaure.fr
Working on KDE Frameworks 5


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Rosegarden-devel mailing list
[hidden email] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel
Reply | Threaded
Open this post in threaded view
|

Re: Qt5/KDE5 bad interactions

D. Michael McIntyre-3
On 02/06/2017 04:10 AM, David Faure wrote:

> Yeah, I have been fighting with dock widgets quite a lot. Before I invest more
> time into it, does that thing really need to be a dock widget? It doesn't seem
> useful to move it to another position (top, right...) nor to make it float
> outside the mainwindow, or am I missing something?

I never understood why that was a dock widget either, and I don't see
any reason it can't become something more convenient.

I am excited to see my old nemesis gone!  Thank you, David!  I will dig
in and report my findings directly.  The final state of things as they
were already involved some hacks and compromises that shouldn't be
considered any kind of gold standard for how things should look.
Hopefully we can get there more easily now, with that absolutely
monstrous abomination of mine properly euthanized and in its grave at
long last.

--
D. Michael McIntyre

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Rosegarden-devel mailing list
[hidden email] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel
Reply | Threaded
Open this post in threaded view
|

Re: Qt5/KDE5 bad interactions

D. Michael McIntyre-3
In reply to this post by David Faure
Qt4 and Qt5 builds are functioning at close to the same level, and they
are very close to how they looked with the stylesheet.  I see a few
minor issues that need closer scrutiny, and I will get into that eventually.

The main difference is in the file dialogs.  In a Qt4 build, I get a Qt
file dialog that uses generic icons, and the only part of it that's
themed is the horizontal scrollbar.  This dialog has Rosegarden-specific
paths in the sidebar.

In a Qt5 build on KDE, I get a fully native KDE file dialog that is
themed by KDE.  This was the objective in order to deal with various
toxic style inheritance issues, but there is one major drawback.  How is
a user supposed to find the library and example files without the side
bar?  I had to go to some trouble to navigate to ~/.local/share/examples
in the screenshot, to access the editable local copy unbundled from the
resource bundle.

I'm not pointing this out as a criticism of your work, but in the hope
that you might have some ideas for an alternative method of steering
users toward these important files.  We want users to find this stuff;
especially first time users.  As I recall, FileDialog only exists in
order to be able to inject things into the sidebar, and that was why I
originally went with Qt dialogs on all platforms, even though that isn't
really a standard practice in other applications.

(I've sent a copy directly to you, as the list will probably reject this
message due to the attachments blowing out the size limit.)

--
D. Michael McIntyre

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Rosegarden-devel mailing list
[hidden email] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel

qt4.jpg (89K) Download Attachment
qt5.jpg (101K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Qt5/KDE5 bad interactions

David Faure
On lundi 6 février 2017 11:56:49 CET D. Michael McIntyre wrote:
> I get a Qt file dialog that uses generic icons, and the only part of it
> that's themed is the horizontal scrollbar

OK, I fixed the unwanted theming of the scrollbars in r14978.

--
David Faure, [hidden email], http://www.davidfaure.fr
Working on KDE Frameworks 5


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Rosegarden-devel mailing list
[hidden email] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel
Reply | Threaded
Open this post in threaded view
|

Re: Qt5/KDE5 bad interactions

Ted Felix-2
In reply to this post by David Faure
On 02/06/2017 04:10 AM, David Faure wrote:
> Ah! So the CSS selectors did apply to the transport dialog, removing the space
> from the object name. Fixed now, the transport dialog looks like before.

   Looks good.

>> and the progress bar
> Could it be that you didn't have r14974 from yesterday evening, yet?

   Nope.  White outlines are still there.  See attached
rg-lower-right.png.  With the older version, it looks like it's supposed
to be 3D.  The upper left is black (invisible) and the lower right is white.

>> and icons on the right side of the status bar.
> Strange, I do see a frame around those icons with the original qss as well,
> don't you?

   Yes, but it was 3D.  Now it's just a white box all around.

> I can of course look into removing that if unwanted, but it doesn't
> seem like a regression to me.

   I would recommend removing both frames in the status area.  They
don't add anything aesthetically.  They strike me as cluttered.  Perhaps
if they were more subtle color-wise.  E.g. dark grey and light grey.
And if they were both the same height.  But, I think just getting rid of
them would look best.

   See the attached rg-status-proposed.png.  Top is original.  Middle is
subtler 3D frame with same heights.  Bottom is no frames.  Bottom's my
vote.  (But then I am a minimalist.)

   Also, for me (Qt4/GNOME/Unity/Ubuntu), all the tooltips are blank.
See the attached rg-tooltips.png.

Ted.

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Rosegarden-devel mailing list
[hidden email] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel

rg-lower-right.png (2K) Download Attachment
rg-tooltips.png (29K) Download Attachment
rg-status-proposed.png (2K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Qt5/KDE5 bad interactions

D. Michael McIntyre-3
On 02/17/2017 08:05 PM, Ted Felix wrote:

>   Nope.  White outlines are still there.  See attached
> rg-lower-right.png.  With the older version, it looks like it's supposed
> to be 3D.  The upper left is black (invisible) and the lower right is
> white.

That wasn't "supposed to be" that was just "settled for" when Qt5
eliminated the style we used to use, and I had to settle for switching
it to the Windows style to solve larger problems.

>   I would recommend removing both frames in the status area.  They don't
> add anything aesthetically.  They strike me as cluttered.

This is one of the minor things I've been meaning to look into fixing
myself.  There is a similar white frame around the highlighted menu item
if I recall correctly.  David did so much, and those small tweaks should
be easy, if only I had more spare time.  I've never had this little
spare time, and I don't like it, but jobs keep going away, and good ones
are harder and harder to find.  Otherwise, I would have long since moved on.

Those frames were just black in the original scheme, so your instinct to
remove them or fully camouflage them is a trustworthy one.

>   Also, for me (Qt4/GNOME/Unity/Ubuntu), all the tooltips are blank. See
> the attached rg-tooltips.png.

I have the same problem with GTK applications on my distro's current
KDE.  All the tooltips are blank like that, which makes the GIMP
challenging to use.  I don't have that problem with Rosegarden, fortunately.

--
D. Michael McIntyre

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Rosegarden-devel mailing list
[hidden email] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel
Reply | Threaded
Open this post in threaded view
|

Re: Qt5/KDE5 bad interactions

David Faure
In reply to this post by Ted Felix-2
On samedi 18 février 2017 02:05:59 CET Ted Felix wrote:
> >> and the progress bar
> >
> > Could it be that you didn't have r14974 from yesterday evening, yet?
>
>    Nope.  White outlines are still there.  See attached
> rg-lower-right.png.  With the older version, it looks like it's supposed
> to be 3D.  The upper left is black (invisible) and the lower right is white.

That is statusbar, not progressbar.

I committed some fixes for the statusbar now, please check, since I wasn't
seeing that white frame (but a black one).

>    I would recommend removing both frames in the status area.  They
> don't add anything aesthetically.  

Done (hopefully).

>    See the attached rg-status-proposed.png.  Top is original.  Middle is
> subtler 3D frame with same heights.  Bottom is no frames.  Bottom's my
> vote.

Agreed.

>    Also, for me (Qt4/GNOME/Unity/Ubuntu), all the tooltips are blank.
> See the attached rg-tooltips.png.

Indeed, there was a bug where the thorn palette wasn't applied to child
dialogs. Fixed now. I didn't notice this in my testing because my color scheme
is dark too, so the system color for tooltip backgrounds was working.

--
David Faure, [hidden email], http://www.davidfaure.fr
Working on KDE Frameworks 5


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Rosegarden-devel mailing list
[hidden email] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel
Reply | Threaded
Open this post in threaded view
|

Re: Qt5/KDE5 bad interactions

David Faure
In reply to this post by D. Michael McIntyre-3
On samedi 18 février 2017 06:07:27 CET D. Michael McIntyre wrote:
> I have the same problem with GTK applications on my distro's current
> KDE.  All the tooltips are blank like that, which makes the GIMP
> challenging to use.

Sorry, *that* I can't fix -- other than recommending to use krita :-)

--
David Faure, [hidden email], http://www.davidfaure.fr
Working on KDE Frameworks 5


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Rosegarden-devel mailing list
[hidden email] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel
Reply | Threaded
Open this post in threaded view
|

Re: Qt5/KDE5 bad interactions

D. Michael McIntyre-3
On 02/18/2017 07:03 PM, David Faure wrote:

> Sorry, *that* I can't fix -- other than recommending to use krita :-)

I do use Krita, but Krita != GIMP.

--
D. Michael McIntyre

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Rosegarden-devel mailing list
[hidden email] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel
123