1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-09 12:42:11 +00:00
Commit Graph

172 Commits

Author SHA1 Message Date
Andrei Kortunov
bf682d51a6 Support dark mode on Windows (feature 7985) 2024-05-20 16:50:24 +04:00
Andrei Kortunov
abd4596cf8 Do not use style sheets to set font 2024-05-12 15:34:33 +04:00
Andrei Kortunov
9252879f0f UI fixes for Wizard 2024-05-01 08:56:35 +04:00
Andrei Kortunov
0873eb6e62 Use scalable icons for wizard 2024-04-23 11:49:33 +04:00
Andrei Kortunov
1bb48bcef7 Treat editor icons as scalable 2024-04-21 20:56:06 +04:00
AnyOldName3
0d547c5438 Resolve merge conflicts from https://gitlab.com/OpenMW/openmw/-/merge_requests/3893 2024-04-08 13:37:36 +01:00
AnyOldName3
7f1a6a8187 Fix file that's not used on Windows 2024-03-06 01:37:40 +00:00
AnyOldName3
a130ca57a4 Track source of settings
This one's a biggie.

The basic idea's that GameSettings should know:
* what the interpreted value of a setting is, so it can actually be used.
* what the original value the user put in their config was, so it can be put back when the config's saved.
* which path it's processing the openmw.cfg from so relative paths can be resolved correctly.
* whether a setting's a user setting that can be modified, or from one of the other openmw.cfg files that can't necessarily be modified.

This had fairly wide-reaching implications.

The first is that paths are resolved properly in cases where they previously wouldn't have been.
Without this commit, if the launcher saw a relative path in an openmw.cfg, it'd be resolved relative to the process' working directory (which we always set to the binary directory for reasons I won't get into).
That's not what the engine does, so is bad.
It's also not something a user's likely to suspect.
This mess is no longer a problem as paths are resolved correctly when they're loaded instead of on demand when they're used by whatever uses them.

Another problem was that if paths used slugs like ?userconfig? would be written back to openmw.cfg with the slugs replaced, which defeats the object of using the slugs.
This is also fixed.

Tracking which settings are user settings and which are in a non-editable openmw.cfg allows the launcher to grey out rows so they can't be edited (which is sensible as they can't be edited on-disk) while still being aware of content files that are provided by non-user data directories etc.
This is done in a pretty straightforward way for the data directories and fallback-archives, as those bits of UI are basic, but it's more complicated for content files as that uses a nmodel/view approach and has a lot more moving parts.
Thankfully, I'd already implemented that when dealing with builtin.omwscripts, so it just needed wiring up.

One more thing of note is that I made the SettingValue struct storable as a QVariant so it could be attached to the UI widgets as userdata, and then I could just grab the original representation and use it instead of needing any complicated mapping from display value to on-disk value.
2024-03-06 00:36:13 +00:00
AnyOldName3
322a378907 Load correct config files in the wizard 2024-02-28 00:49:15 +00:00
Andrei Kortunov
9a7b9572fd Deploy base Qt translations when needed 2024-02-15 09:26:14 +04:00
Andrei Kortunov
7e345436f4 Localize Launcher and Wizard 2024-02-01 09:47:25 +04:00
Andrei Kortunov
737d3b499b Use move semantics for tools 2024-01-21 20:20:37 +04:00
Yury Stepovikov
52623ddd7d Set MacOS current_path before reading configuration files [#7706] 2024-01-11 00:59:27 +00:00
Alexei Kotov
51b05647e2 Merge branch 'move_files' into 'master'
Move *.ui files for different applications to different folders

See merge request OpenMW/openmw!3659
2023-12-24 09:58:24 +00:00
Andrei Kortunov
e6690bbcc7 Use CMAKE_CURRENT_SOURCE_DIR instead of CMAKE_SOURCE_DIR 2023-12-19 19:58:52 +04:00
Andrei Kortunov
2e041073fc Move *.ui files for different applications to different folders 2023-12-19 15:21:08 +04:00
Andrei Kortunov
8d06a99507 Register language selector properly 2023-12-19 10:20:31 +04:00
Andrei Kortunov
ca19f7006c Make hardcoded strings in Launcher and Wizard localizable 2023-12-11 12:02:43 +04:00
Andrei Kortunov
c5b16d1ba2 Do not include formatting spaces to localizable strings 2023-11-30 13:06:50 +04:00
Evil Eye
9214ffb50b Replace some empty constructors and destructors with default 2023-05-29 13:37:19 +02:00
elsid
62536d5cf7
Use static QFile::exists instead of creating object 2023-03-21 09:34:27 +01:00
elsid
1857d8a68c
Use target_compile_options to add --coverage 2023-03-10 15:34:08 +01:00
elsid
cc066efa11
Fix identation in CMakeLists.txt 2023-03-10 15:28:06 +01:00
Andrei Kortunov
5836bd8d87 Remove redundant include 2023-02-10 19:24:12 +04:00
Andrei Kortunov
7e2aedf637 Add an initial Qt6 support 2023-02-06 18:38:59 +04:00
psi29a
aee7716c3a Merge branch 'launcher_typed_settings' into 'master'
Typed launcher settings

See merge request OpenMW/openmw!2650
2023-02-04 23:41:59 +00:00
Andrzej Głuszak
9b0a499b58 Remove strerror usages 2023-01-29 22:41:59 +01:00
elsid
cf75363290
Typed launcher settings
QMultiMap is not clear about what settings exist and it's not efficient way to
access them after they are loaded.
2023-01-27 12:42:05 +01:00
elsid
0961720835
Join path components using path::operator/ instead of string::operator+ 2023-01-27 01:07:15 +01:00
psi29a
1390c7ed7c Merge branch 'wizard_encodings' into 'master'
Do not use Qt streams with legacy encodings in the Wizard code

Closes #7165

See merge request OpenMW/openmw!2634
2023-01-21 16:37:43 +00:00
Andrei Kortunov
9a7c57874d Do not use Qt streams with legacy encodings in the Wizard code 2023-01-20 11:24:23 +04:00
elsid
dd89403df0
Move ensureUtf8Encoding to named namespace
To follow https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#sf21-dont-use-an-unnamed-anonymous-namespace-in-a-header

Add QtGlobal include to define QT_VERSION and QT_VERSION_CHECK macroses before
they're used.
2023-01-18 22:58:35 +01:00
jvoisin
c90d22f3b2 Replace usage of QRegularExpression::anchoredPattern with ^ and $
Using `^` and `$` is shorter than `QRegularExpression::anchoredPattern`,
and even allows us in one case to get rid of a trailing `.*`.
2023-01-12 22:52:00 +01:00
Andrei Kortunov
bfcbc2350d Handle UTF-8 in Qt streams in the Qt6-compatible way 2023-01-12 15:39:50 +04:00
Andrei Kortunov
307a60e87c Migrate from QRegExp to more modern QRegularExpression 2023-01-11 11:21:46 +04:00
jvoisin
cd29c181cf Another pass with IWYU 2022-10-10 15:16:18 +02:00
jvoisin
3cbf1dc042 First pass with include-what-you-use 2022-10-09 10:39:43 +00:00
clang-format-bot
ddb0522bbf
Apply clang-format to code base 2022-09-22 21:35:26 +03:00
Project579
ca14fc00dc Added dedicated functions for conversions between QString and std::filesystem::path. 2022-09-11 14:41:21 +02:00
Project579
c226b35f1f Fix some remaining encoding errors due to std::filesystem transition. 2022-09-11 14:41:20 +02:00
Project579
a13709c510 Replace implicit convertions from std::filesystem::path to std::string with correctly converting functions. 2022-09-11 14:41:20 +02:00
Project579
e5c417c968 Make sure all paths are passed as std::filesystem::path instead of std::string where possible. 2022-09-11 14:41:15 +02:00
Project579
4bb07282c9 Replace all remaining occurrences of boost::filesystem with std::filesystem. 2022-09-11 02:19:00 +02:00
Mat
405a5c5d25 functor-based Qt signal-slot syntax wizard 2022-08-23 17:14:11 -03:00
Andrei Kortunov
43f552f48f Allow users to decide if they need to import bitmap fonts 2022-08-17 22:12:15 +04:00
elsid
c197896765
Use unique_ptr for Wizard::InstallationPage members 2022-07-18 20:29:37 +02:00
jvoisin
8b9ed57348 Clean up Qt includes 2022-06-17 11:56:54 +02:00
psi29a
8f02cd7d17 Merge branch 'fix_6627' into 'master'
Fix #6627

Closes #6627

See merge request OpenMW/openmw!1762
2022-04-17 17:13:13 +00:00
Eris Caffee
db84d9e649 Issue 2766 Warn user of old MW version detected 2022-04-17 16:28:14 +00:00
Petr Mikheev
fa29b9d6f7 Fix #6627 2022-04-10 22:31:09 +02:00