Perchik71 / Creation-Kit-Platform-Extended

A collection of modifications, enhancements, and reverse engineered resources for Creation Kit by Bethesda.
GNU General Public License v3.0
53 stars 7 forks source link

Starfield CK Dark Mode Conflicts with CKPE Dark Mode #55

Closed yak3d closed 11 hours ago

yak3d commented 2 weeks ago

When using the built-in Plastique (dark) theme in the Starfield CreationKit, the toolbar + menubar are correctly dark themed, however the font color for the listview uses black as the text color which makes it hard to read.

image

If you change the built-in theme to Windows (default), the menu bar/tool bar are light themed but the text becomes readable.

image

Happy to contribute to fix but wasn't sure where to start.

Perchik71 commented 2 weeks ago

I am aware of this problem, Bethesda has created new dialogues using Qt, and also replaced the main one. Qt does not use standard Windows classes, it draws everything by itself, which makes the application so bold. I am considering merging, as it makes the task easier, and so far the problem is only with the ListView text.

Edit: Somehow, Qt intercepts the rendering of text on itself, this should be prohibited. But I'll think about it later. I'll be glad if someone finds a way to fix this while I'm developing general patches.

yak3d commented 2 weeks ago

I am aware of this problem, Bethesda has created new dialogues using Qt, and also replaced the main one. Qt does not use standard Windows classes, it draws everything by itself, which makes the application so bold. I am considering merging, as it makes the task easier, and so far the problem is only with the ListView text.

Edit: Somehow, Qt intercepts the rendering of text on itself, this should be prohibited. But I'll think about it later. I'll be glad if someone finds a way to fix this while I'm developing general patches.

I can take a look, never worked on this stuff before but worth a shot.

yak3d commented 1 day ago

For what its worth, I did take a look but I think I'm out of depth here lol.

yak3d commented 1 day ago

@Perchik71 Okay I did look into it and seemingly got it working though I'm a little suspect on the fix.

image image

https://github.com/Perchik71/Creation-Kit-Platform-Extended/commit/1f6168a0a762d181e599ccccd874e7b4abf2cd27

Perchik71 commented 15 hours ago

@yak3d looks like problem is exactly here, since there are three listviews whose text does not change, and the system is sent. need to find a suitable solution for all versions of CK. if you can make a solution, I can safely add your contribution https://github.com/Perchik71/Creation-Kit-Platform-Extended/blob/185f16e4196734905bc961522bdb7e784b2cffaa/Creation%20Kit%20Platform%20Extended%20Core/UITheme/ListView.cpp#L210

edit: conditions if (Core::GetShortExecutableTypeFromFull(Core::GlobalEnginePtr->GetEditorVersion()) == Core::EDITOR_SHORT_STARFIELD) or `#ifndef _CKPE_WITH_QT5 ...

endif`

hmm... I would wrap it exactly like qt5. since it looks like it will be in the future.

Perchik71 commented 11 hours ago

2024-09-14_13-57-29