mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-23 06:09:50 -06:00
DolphinQt: cache icons instead of single pixmaps
Fixes dynamically changing dpi scaling. Load resources from svg if possible. Currently svg support is not in Qt build in Externals, and image files need to be added later.
This commit is contained in:
@ -156,41 +156,41 @@ void ToolBar::UpdatePausePlayButtonState(const bool playing_state)
|
||||
{
|
||||
disconnect(m_pause_play_action, nullptr, nullptr, nullptr);
|
||||
m_pause_play_action->setText(tr("Pause"));
|
||||
m_pause_play_action->setIcon(Resources::GetScaledThemeIcon("pause"));
|
||||
m_pause_play_action->setIcon(Resources::GetThemeIcon("pause"));
|
||||
connect(m_pause_play_action, &QAction::triggered, this, &ToolBar::PausePressed);
|
||||
}
|
||||
else
|
||||
{
|
||||
disconnect(m_pause_play_action, nullptr, nullptr, nullptr);
|
||||
m_pause_play_action->setText(tr("Play"));
|
||||
m_pause_play_action->setIcon(Resources::GetScaledThemeIcon("play"));
|
||||
m_pause_play_action->setIcon(Resources::GetThemeIcon("play"));
|
||||
connect(m_pause_play_action, &QAction::triggered, this, &ToolBar::PlayPressed);
|
||||
}
|
||||
}
|
||||
|
||||
void ToolBar::UpdateIcons()
|
||||
{
|
||||
m_step_action->setIcon(Resources::GetScaledThemeIcon("debugger_step_in"));
|
||||
m_step_over_action->setIcon(Resources::GetScaledThemeIcon("debugger_step_over"));
|
||||
m_step_out_action->setIcon(Resources::GetScaledThemeIcon("debugger_step_out"));
|
||||
m_skip_action->setIcon(Resources::GetScaledThemeIcon("debugger_skip"));
|
||||
m_show_pc_action->setIcon(Resources::GetScaledThemeIcon("debugger_show_pc"));
|
||||
m_set_pc_action->setIcon(Resources::GetScaledThemeIcon("debugger_set_pc"));
|
||||
m_step_action->setIcon(Resources::GetThemeIcon("debugger_step_in"));
|
||||
m_step_over_action->setIcon(Resources::GetThemeIcon("debugger_step_over"));
|
||||
m_step_out_action->setIcon(Resources::GetThemeIcon("debugger_step_out"));
|
||||
m_skip_action->setIcon(Resources::GetThemeIcon("debugger_skip"));
|
||||
m_show_pc_action->setIcon(Resources::GetThemeIcon("debugger_show_pc"));
|
||||
m_set_pc_action->setIcon(Resources::GetThemeIcon("debugger_set_pc"));
|
||||
|
||||
m_open_action->setIcon(Resources::GetScaledThemeIcon("open"));
|
||||
m_refresh_action->setIcon(Resources::GetScaledThemeIcon("refresh"));
|
||||
m_open_action->setIcon(Resources::GetThemeIcon("open"));
|
||||
m_refresh_action->setIcon(Resources::GetThemeIcon("refresh"));
|
||||
|
||||
const Core::State state = Core::GetState();
|
||||
const bool playing = state != Core::State::Uninitialized && state != Core::State::Paused;
|
||||
if (!playing)
|
||||
m_pause_play_action->setIcon(Resources::GetScaledThemeIcon("play"));
|
||||
m_pause_play_action->setIcon(Resources::GetThemeIcon("play"));
|
||||
else
|
||||
m_pause_play_action->setIcon(Resources::GetScaledThemeIcon("pause"));
|
||||
m_pause_play_action->setIcon(Resources::GetThemeIcon("pause"));
|
||||
|
||||
m_stop_action->setIcon(Resources::GetScaledThemeIcon("stop"));
|
||||
m_fullscreen_action->setIcon(Resources::GetScaledThemeIcon("fullscreen"));
|
||||
m_screenshot_action->setIcon(Resources::GetScaledThemeIcon("screenshot"));
|
||||
m_config_action->setIcon(Resources::GetScaledThemeIcon("config"));
|
||||
m_controllers_action->setIcon(Resources::GetScaledThemeIcon("classic"));
|
||||
m_graphics_action->setIcon(Resources::GetScaledThemeIcon("graphics"));
|
||||
m_stop_action->setIcon(Resources::GetThemeIcon("stop"));
|
||||
m_fullscreen_action->setIcon(Resources::GetThemeIcon("fullscreen"));
|
||||
m_screenshot_action->setIcon(Resources::GetThemeIcon("screenshot"));
|
||||
m_config_action->setIcon(Resources::GetThemeIcon("config"));
|
||||
m_controllers_action->setIcon(Resources::GetThemeIcon("classic"));
|
||||
m_graphics_action->setIcon(Resources::GetThemeIcon("graphics"));
|
||||
}
|
||||
|
Reference in New Issue
Block a user