Conversation
3a4fc6e to
337c26b
Compare
23a0c69 to
0a79c84
Compare
0a79c84 to
91dc77b
Compare
chaoticgd
left a comment
There was a problem hiding this comment.
Had a look, found some issues.
I think the design here of bypassing the settings system and applying the changes directly, so that they are reset whenever the configuration is next updated, either from a reset or a setting being changed, is kind of odd.
I'd rather everything just go through the normal settings system and be synchronised with the settings in the config file.
| m_status_speed_widget->hide(); | ||
|
|
||
| m_status_speed_menu = new QMenu(m_status_speed_widget); | ||
| m_status_speed_menu->addAction(tr("Unlimited"), []() { VMManager::SetLimiterMode(LimiterModeType::Unlimited); }); |
There was a problem hiding this comment.
I don't think it's safe to call VMManager::SetLimiterMode from the UI thread like this.
|
|
||
| m_status_slot_menu = new QMenu(m_status_slot_widget); | ||
| for (s32 i = 1; i <= VMManager::NUM_SAVE_STATE_SLOTS; i++) | ||
| m_status_slot_menu->addAction(tr("Slot %1").arg(i), [i]() { Host::RunOnGSThread([i] { SaveStateSelectorUI::SetCurrentSlot(i); }); }); |
There was a problem hiding this comment.
I find this UI design quite confusing. The Qt UI doesn't really have a concept of a "selected" save state slot, that's only a thing for the save state selector UI accessible via hotkeys, which the average user probably doesn't even know exists, so I don't think it would be clear what this is referring to.
There was a problem hiding this comment.
Would renaming it to "SaveState slot" or "State slot" be sufficient?
There was a problem hiding this comment.
No, since the user still doesn't know that it's related to the hotkeys. And if they need to use hotkeys to interact with it anyway, what's the point?
There was a problem hiding this comment.
fine, I'll just put it back where it was before (gated behind verbose status bar).
| const float fscale = static_cast<float>(scale); | ||
| QAction* action = m_status_resolution_menu->addAction(tr("%1x Scale").arg(scale), [fscale]() { | ||
| EmuConfig.GS.UpscaleMultiplier = fscale; | ||
| MTGS::ApplySettings(); |
There was a problem hiding this comment.
This should be done from the CPU thread.
| m_status_volume_menu->addAction(tr("Mute Audio"), []() { | ||
| Host::RunOnCPUThread([]() { | ||
| if (VMManager::HasValidVM()) | ||
| { |
|
I don't think is is a good idea to do , all this will do is ending up confusing users |
The idea is that i wanted to make it act like hotkeys where these changes made using the status bar dropdowns are only applied temporarily. |
Description of Changes
This PR revamps the Status bar and adds a few quick access dropdown menu to the frequently used options. (Savestate slot, Renderer, volume, speed) and also added a GPU Usage monitor as well.
Rationale behind Changes
QoL Improvements. Easier to access these options when using the mouse.
Suggested Testing Steps
Test each dropdowns and see if they works. The changes done are temporary, meaning if you restart the VM the changes made will be gone.
Did you use AI to help find, test, or implement this issue or feature?
Nawh