On Windows there are currently two fonts used.
The first, does the Menu, QTreeView and Tooltips
Second is Everything else which is a default font.
From inspecting QApplication::font() at runtime
Windows 10 English: QFont(MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0)
Windows 11 Japanese: MS UI Gothic,9 ,-1,5,50,0,0,0,0,0
Windows 11 Traditional Chinese: PMingLiU,9 ,-1,5,50,0,0,0,0,0
Windows 11 Simplified Chinese: SimSun,9 ,-1,5,50,0,0,0,0,0
Windows 11 Korean: Gulim,9 ,-1,5,50,0,0,0,0,0
I initially investigated dynamically changing the font when
the UI language is English, but this was getting quite messy
Qt6 makes changes to default font in some situations, so this
PR is being narrowed in scope to only effect Chinese font choices.
This change only effects rendering of Latin/Cyrillic characters.
The startup check apparently confuses other programs when yuzu launches
2 processes and then quickly closes one of them. Though this isn't
really our issues it's also not a big deal for me to add an option to
work around that issue.
colorful theme has been default theme for awhile. having colorful theme
try and grab icons from other theme doesn't work on Linux.
Also adding two additional icons, info is to hint to the user that they
should hit verify after pasting in a token, sync is to show that the
verification is occurring.
Uses fmt::print as opposed to std::fprintf. Adds a missing return.
static's a single-use function. Initializes structs as opposed to
std::memset where possible. Fixes CMake linkage.
Co-authored-by: Lioncash <mathew1800@gmail.com>
mini_dump: Use a namespace
Co-authored-by: Lioncash <mathew1800@gmail.com>
Configuration -> General -> Debug is getting a bit crowded.
yzct12345 submit this originally, so I'm tagging them as a co-author.
The original #6714 also modifies the Controls -> Player N sections,
but it looks like more work is needed to make the current area scrollable.
Co-authored-by: yzct12345 <87620833+yzct12345@users.noreply.github.com>
Previously, accessing the room_network when it was already freed would crash the emulator on shutdown.
Co-Authored-By: Narr the Reg <5944268+german77@users.noreply.github.com>
make about dialog a bit taller for full message on more systems
for direct_connect.ui hedging bets here, there is a text field for port
number that possibly shouldn't be translated, marking as such, but also
adding a translation note for the event that it makes sense to translate
the placeholder text to something other than the default multiplayer
direct connect port.
* Controller bugfixes in profile select, closes#8265
2 fixes for using a controller in profile select dialog.
Pressing 'B' cancels the launch of the game
Using controller to select a profile now correctly sets the index to use for the launch
* Added brackets to if statements as requested.
yuzu's default theme doesn't specify everything, which is fine for
windows, but in linux anything unspecified is set to the users theme.
Symptoms of this are that a linux user with a dark theme won't think
to change the theme to a dark theme when first using yuzu
Idea here is to try and support arbitrary themes on linux.
preliminary work on a "default_dark" theme, used only as overlay
for any themes that are measured to be dark mode.
Other work done:
FreeDesktop standard icon names:
plus -> list-add
delete refresh, we use view-refresh
remove duplicated icons for qdarkstyle_midnight_blue
referencing icon aliases in the qrc files is the way to go
Note:
Dynamic style changing doesn't appear to work with AppImage
When windows is told to display Standard digits as suzhou, it is showing
incorrect information in yuzu, file sizes and the CPU speed limiter are
effected by this. See #8698 for some screenshots.
Setting number format to Chinese (Simplified, Hong Kong SAR) is one
way to see this issue in action.
Fixes#8698
Turns out that for Qt to properly handle plurals in English a
translation needs to be provided, otherwise the user is left with
messages such as "Building: 2 shader(s)"
Plurals for other all other languages are handled on transifex.
I wrote the README.md to just refer to it as a translation
collaboration site just in case we ever switch.
These translations being out of date won't pose any technical problems
so I believe it is fine to handle them manually on a "best effort"
basis.
The files are generated into the source directory so that the
relative filenames are correct. The generated file is added to
.gitignore
[REUSE] is a specification that aims at making file copyright
information consistent, so that it can be both human and machine
readable. It basically requires that all files have a header containing
copyright and licensing information. When this isn't possible, like
when dealing with binary assets, generated files or embedded third-party
dependencies, it is permitted to insert copyright information in the
`.reuse/dep5` file.
Oh, and it also requires that all the licenses used in the project are
present in the `LICENSES` folder, that's why the diff is so huge.
This can be done automatically with `reuse download --all`.
The `reuse` tool also contains a handy subcommand that analyzes the
project and tells whether or not the project is (still) compliant,
`reuse lint`.
Following REUSE has a few advantages over the current approach:
- Copyright information is easy to access for users / downstream
- Files like `dist/license.md` do not need to exist anymore, as
`.reuse/dep5` is used instead
- `reuse lint` makes it easy to ensure that copyright information of
files like binary assets / images is always accurate and up to date
To add copyright information of files that didn't have it I looked up
who committed what and when, for each file. As yuzu contributors do not
have to sign a CLA or similar I couldn't assume that copyright ownership
was of the "yuzu Emulator Project", so I used the name and/or email of
the commit author instead.
[REUSE]: https://reuse.software
Follow-up to 01cf05bc75
There was a bug where, when using the numeric keyboard, moving between buttons resulted in an infinite loop, resulting in a stuck state.
This was due to prev_button being the only one enabled in that row or column, causing the condition in the while loop to always be true.
To fix this, detect whether we have returned to that initial row/column and break out of the loop.