PDA

View Full Version : Qt4 is not fully honoring palette configuration



hagabaka
31st July 2008, 13:31
Hello,

I'm using Qt 4.4.0 packaged on Ubuntu Hardy. I noticed that qt4 programs, including qtconfig, skype, and GTK programs rendered by gtk-qt-engine, are not honoring my color scheme configuration fully. They seem to only use the text color I configured, and the windows and buttons are always in the default colors.

I have tried changing the configuration in three ways: using qtconfig and building the palette, using a KDE 4 option to configure Qt programs to use its color scheme, and editing ~/.config/Trolltech.conf manually. They all yielded similar result. When I build the palette using qtconfig, the preview window shows the right colors, and if I save the configuration, that qtconfig window also has the right colors. But when I open another instance of qtconfig, or whether I close this instance first or not, the other instance would go back to the default colors.

To see which configured colors qt used, I edited the palette in Trolltech.conf. Then I opened qtconfig, changed a setting that's not related to colors, changed it back, and saved the config. I also got the default palette by running qtconfig with Trolltech.conf removed, and saving the config. I have these 3 palettes below, note that the spacing and linebreaks are added when I posted this. I also have my Trolltech.conf attached.

I haven't seen anyone else having this problem, but I'm not sure what on my system could be causing this. Any help would be appreciated.

This is the palette I have configured:

Palette\active=
#111111, #111222, #111333, #111444, #111555,
#111666, #111777, #111888, #111999, #111aaa,
#111bbb, #111ccc, #111ddd, #111eee, #222111,
#222222, #222333, #222444, #222555, #222666
Palette\inactive=
#222777, #222888, #222999, #222aaa, #222bbb,
#222ccc, #222ddd, #222eee, #333111, #333222,
#333333, #333444, #333555, #333666, #333777,
#333888, #333999, #333aaa, #333bbb, #333ccc
Palette\disabled=
#333ddd, #333eee, #444111, #444222, #444333,
#444444, #444555, #444666, #444777, #444888,
#444999, #444aaa, #444bbb, #444ccc, #444ddd,
#444eee, #555111, #555222, #555333, #555444
But with that configuration, Qt actually uses this (I got this by opening qtconfig, changing a setting that's not related to colors, and saving the config):

Palette\active=
#111111, #959ba2, #bac2cb, #a7aeb6, #73777d,
#7c8187, #111111, #ffffff, #111111, #ededed,
#959ba2, #000000, #a2a8df, #000000, #0000ff,
#ff00ff, #e6e6e6, #000000, #ffffdc, #000000
Palette\inactive=
#111111, #959ba2, #bac2cb, #a7aeb6, #73777d,
#7c8187, #111111, #ffffff, #111111, #ededed,
#959ba2, #000000, #a2a8df, #000000, #0000ff,
#ff00ff, #e6e6e6, #000000, #ffffdc, #000000
Palette\disabled=
#535659, #959ba2, #bac2cb, #a7aeb6, #73777d,
#63676c, #535659, #ffffff, #535659, #ffffff,
#959ba2, #000000, #dfdfdf, #000000, #0000ff,
#ff00ff, #e6e6e6, #000000, #ffffdc, #000000
This appears to be Qt's default colors (I got this by removing ~/.config/Trolltech.conf, opening qtconfig, changing a setting unrelated to colors, and saving the config):

Palette\active=
#141312, #959ba2, #bac2cb, #a7aeb6, #73777d,
#7c8187, #141312, #ffffff, #141312, #ededed,
#959ba2, #000000, #a2a8df, #000000, #0000ff,
#ff00ff, #d8d8d8, #000000, #ffffdc, #000000
Palette\inactive=
#141312, #959ba2, #bac2cb, #a7aeb6, #73777d,
#7c8187, #141312, #ffffff, #141312, #ededed,
#959ba2, #000000, #a2a8df, #000000, #0000ff,
#ff00ff, #d8d8d8, #000000, #ffffdc, #000000
Palette\disabled=
#54575a, #959ba2, #bac2cb, #a7aeb6, #73777d,
#63676c, #54575a, #ffffff, #54575a, #ffffff,
#959ba2, #000000, #dfdfdf, #000000, #0000ff,
#ff00ff, #d8d8d8, #000000, #ffffdc, #000000

So it seems that only the first color in my config, #111111, is in Qt's loaded config. But some other colors are replaced with #111111 too, and that value is not in the default. Also there are some values in the loaded config, but neither in mine or the default config.

hagabaka
1st August 2008, 00:38
It looks like Qt4 is using KDE3's color scheme. But how can I make it use KDE4's color scheme, or just use Trolltech.conf settings?