Skip to content

Qt: Adds time and date + group OSD checkboxes#12642

Draft
RedDevilus wants to merge 3 commits intoPCSX2:masterfrom
RedDevilus:MinorQtWork21
Draft

Qt: Adds time and date + group OSD checkboxes#12642
RedDevilus wants to merge 3 commits intoPCSX2:masterfrom
RedDevilus:MinorQtWork21

Conversation

@RedDevilus
Copy link
Copy Markdown
Contributor

@RedDevilus RedDevilus commented May 10, 2025

Description of Changes

Adds the options system time and system date in the OSD section of Qt and also FSUI for Big Picture mode.

Done some preliminary work on grouping all the OSD checkboxes including the new ones in a better to glance 3 column viewscreen. Also keep in mind I enabled all the OSD options as an example, no regular user will do that hence it will feel a bit cluttered at a glance with these below screenshots. V1 is the one in the code but I can change it later in future if need be.

Master:

  • image

PR:

  • 2025-05-10_20-38

V1 Chosen Minimal:

image

V2 Minimal:

  • 2025-05-10_04-43

V3 Mix letters and numbers:

  • V2OSDTimeDate

V4 V2 basically with format in parentheses:

  • V3OSDTimeDate

Rationale behind Changes

While there is already date on the gamelist and clock in the FSUI, I find it lacks control whilst in-game. Be it for easy recording, sharing screen or maybe even speedrunning. In future it can also be tracked per locale because countries can have a mix of / or - or even dots to others to a different sorting of day, month and year. In future I can also add clock and calendar icons.

I want it more like RTSS or other overlays where you can get stuff like this:

  • image

And you won't enable every option on there either.

Current version can be adjusted also like this:

  • image

I want to do dropshadows on the text in future as well, if there is white-ish background you can barely see that as well, so it's also a smaller PR for another future PR.

Suggested Testing Steps

Test in Big Picture Mode, global and per-game settings on multiple OSes.

@TheTechnician27
Copy link
Copy Markdown
Contributor

I'm usually opposed to changing the OSD settings, but I like headers for categories of settings. Right now, if the user doesn't just check all the boxes (maybe we should have one for 'enable all'?), they have to scan through every option until they find the one(s) they want. Likewise, system date and time are clearly relevant information for TAS and plausibly relevant for real-time players. I could probably bikeshed about the exact layout of the settings, but I think both the two new settings and the inclusion of headers are positive steps.

Bikeshedding: I wonder if there's a better name for "Show Statistics" and "Show Indicators", but I can't say for sure; maybe they're too broad to have a good, precise name, and that isn't this PR's problem anyway. I also think 'Warnings' is better than 'Warnings for user'.

@RedDevilus
Copy link
Copy Markdown
Contributor Author

RedDevilus commented May 10, 2025

I'm usually opposed to changing the OSD settings, but I like headers for categories of settings. Right now, if the user doesn't just check all the boxes (maybe we should have one for 'enable all'?), they have to scan through every option until they find the one(s) they want. Likewise, system date and time are clearly relevant information for TAS and plausibly relevant for real-time players. I could probably bikeshed about the exact layout of the settings, but I think both the two new settings and the inclusion of headers are positive steps.

Bikeshedding: I wonder if there's a better name for "Show Statistics" and "Show Indicators", but I can't say for sure; maybe they're too broad to have a good, precise name, and that isn't this PR's problem anyway. I also think 'Warnings' is better than 'Warnings for user'.

Yeah, I wanted to add a global toggle for the OSD checkboxes, maybe even per column (3) but I didn't want to blast with feature creep and going with massive changes. Just wanted to test some waters and then adjust some more in the future like having no dropshadows on the text annoys me that I can barely see stuff, maybe even make it so transparency can be adjusted or even the colors but that's just some ideas I might want to incorporate.

For the renaming not sure what's best, also need to keep in mind not breaking translations for a bit better (if it even succeeds) English descriptors of items.

@F0bes
Copy link
Copy Markdown
Member

F0bes commented May 10, 2025

I think having the date and time is a silly addition.

@Mrlinkwii
Copy link
Copy Markdown
Contributor

I don't this is really needed , since the time is already mentioned in the FSUi

@RedDevilus
Copy link
Copy Markdown
Contributor Author

Nobody is going to press Escape constantly to check the time or alt tab if it's fullscreen. Never said it was essential ,but I personally think it has a place and if you don't need it you can also not enable it.

@Mrlinkwii
Copy link
Copy Markdown
Contributor

i have a feeling the OSD is becoming more bloated with this , if someone really needs the time they can run RTSS or similar tools

@JordanTheToaster JordanTheToaster added this to the Release 2.6 milestone May 10, 2025
@RedDevilus RedDevilus force-pushed the MinorQtWork21 branch 2 times, most recently from ddef280 to 29dc396 Compare May 11, 2025 02:46
Copy link
Copy Markdown
Member

@JordanTheToaster JordanTheToaster left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can now see the time and date while being overstimulated by OSD information.

@kamfretoz
Copy link
Copy Markdown
Contributor

Now i can keep track of time while playing.

image

image

Adds the options system time and system date in the OSD section of Qt and also FSUI for Big Picture mode.

Done some preliminary work on grouping all the OSD checkboxes including the new ones in a better to glance 3 column viewscreen.
…ation

Currently typo fixed and instead of Time and Date being on seperate lines and then speedline, use a pipe for divider for same line. Also got rid of Time: and Date: being displayed it is kinda redudant.
tr("Shows the current system hardware information on the OSD."));

dialog->registerWidgetHelp(m_ui.osdShowSystemTime, tr("Show System Time"), tr("Unchecked"),
tr("Shows the current system time in the top-right corner of the display currently with Hour:Minute:Second (HH:MM:SS) format."));
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be "Shows the current system time in Hour:Minute:Second (HH:MM:SS) format." Top-right is no longer static, and "current" is repeated ("current system time" and "display currently") Same with the next two dialogs. This static "top-right" needs to be fixed elsewhere too.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, think that was before the initial creation of the PR, but it's going to get feature crept and don't want to break stuff adding the stuff.

Copy link
Copy Markdown
Contributor

@kamfretoz kamfretoz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a small nitpick

@RedDevilus
Copy link
Copy Markdown
Contributor Author

Pretty annoying it's nagging about unnecessary stuff:

D:\a\pcsx2\pcsx2\pcsx2\ImGui\FullscreenUI.cpp(42,1): error C1083: Cannot open include file: 'IconsFontAwesome5.h': No such file or directory [D:\a\pcsx2\pcsx2\pcsx2\pcsx2.vcxproj]
(compiling source file '/ImGui/FullscreenUI.cpp')

D:\a\pcsx2\pcsx2\pcsx2\ImGui\ImGuiOverlays.cpp(1007,82): warning C4996: 'fmt::v11::localtime': was declared deprecated [D:\a\pcsx2\pcsx2\pcsx2\pcsx2.vcxproj]
(compiling source file '/ImGui/ImGuiOverlays.cpp')

D:\a\pcsx2\pcsx2\pcsx2\ImGui\ImGuiOverlays.cpp(1207,76): warning C4996: 'fmt::v11::localtime': was declared deprecated [D:\a\pcsx2\pcsx2\pcsx2\pcsx2.vcxproj]
(compiling source file '/ImGui/ImGuiOverlays.cpp')

Actions it's not broken my man.

@TheTechnician27
Copy link
Copy Markdown
Contributor

OSD screenshot

OSD screenshot 2

OSD correct

It looks like if you do system time and PCSX2 version simultaneously, the PCSX2 version gets bumped down a line and gets a separator pipe, but it shouldn't have one. Third screenshot shows what it should look like (no separator pipe because the PCSX2 version is the only item on its line).

@TheLastRar
Copy link
Copy Markdown
Contributor

D:\a\pcsx2\pcsx2\pcsx2\ImGui\FullscreenUI.cpp(42,1): error C1083: Cannot open include file: 'IconsFontAwesome5.h': No such file or directory [D:\a\pcsx2\pcsx2\pcsx2\pcsx2.vcxproj] (compiling source file '/ImGui/FullscreenUI.cpp')

Looks like you didn't rebase correctly here

@TheTechnician27
Copy link
Copy Markdown
Contributor

RTC

System Time

It looks like the PR only fetches system time but does not account for the possibility the user is using an RTC other than the default system time one.

@RedDevilus
Copy link
Copy Markdown
Contributor Author

RTC

System Time

It looks like the PR only fetches system time but does not account for the possibility the user is using an RTC other than the default system time one.

Not sure if it should follow RTC perse as it doesn't follow the PS2 internal clock and date (desync if you press Tab or Press F4). This PR syncs up with system time and yes on boot in BIOS in PCSX2 it syncs up everything once. Maybe a better method exists in future PR where we can have PS2 System Clock vs PC System Clock being obvious.

@TheTechnician27
Copy link
Copy Markdown
Contributor

I disagreed with fobes' comment initially because I thought this was for the RTC time and date, not the desktop time and date. Even though the PR works well for what it intends to do and needs just a few tweaks functionality-wise, that information is trivial for a user to access outside of PCSX2 and unfortunately feels very "I want PCSX2 to file my taxes".

RedDevilus added a commit to RedDevilus/pcsx2 that referenced this pull request Jul 6, 2025
Done some preliminary work on grouping all the OSD checkboxes including the new ones in a better to glance 3 column viewscreen.

Split from PCSX2#12642 which had system time and date on top
@RedDevilus RedDevilus marked this pull request as draft July 7, 2025 16:06
lightningterror pushed a commit that referenced this pull request Jul 8, 2025
Done some preliminary work on grouping all the OSD checkboxes including the new ones in a better to glance 3 column viewscreen.

Split from #12642 which had system time and date on top
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants