Qt: Support changing theme without reopening window
This commit is contained in:
parent
bc49e2f627
commit
5510f66a12
|
@ -146,6 +146,12 @@ void GameListModel::updateCacheSize(int width, int height)
|
|||
m_cover_pixmap_cache.SetMaxCapacity(static_cast<int>(std::max(num_columns * num_rows, MIN_COVER_CACHE_SIZE)));
|
||||
}
|
||||
|
||||
void GameListModel::reloadCommonImages()
|
||||
{
|
||||
loadCommonImages();
|
||||
refresh();
|
||||
}
|
||||
|
||||
void GameListModel::loadOrGenerateCover(const GameList::Entry* ge)
|
||||
{
|
||||
QFuture<QPixmap> future =
|
||||
|
|
|
@ -63,6 +63,7 @@ public:
|
|||
int getCoverArtSpacing() const;
|
||||
void refreshCovers();
|
||||
void updateCacheSize(int width, int height);
|
||||
void reloadCommonImages();
|
||||
|
||||
private:
|
||||
void loadCommonImages();
|
||||
|
|
|
@ -455,6 +455,11 @@ void GameListWidget::resizeTableViewColumnsToFit()
|
|||
});
|
||||
}
|
||||
|
||||
void GameListWidget::reloadCommonImages()
|
||||
{
|
||||
m_model->reloadCommonImages();
|
||||
}
|
||||
|
||||
static TinyString getColumnVisibilitySettingsKeyName(int column)
|
||||
{
|
||||
return TinyString::FromFormat("Show%s", GameListModel::getColumnName(static_cast<GameListModel::Column>(column)));
|
||||
|
|
|
@ -38,6 +38,7 @@ public:
|
|||
|
||||
void initialize();
|
||||
void resizeTableViewColumnsToFit();
|
||||
void reloadCommonImages();
|
||||
|
||||
void refresh(bool invalidate_cache);
|
||||
void cancelRefresh();
|
||||
|
|
|
@ -1957,9 +1957,8 @@ void MainWindow::setTheme(const QString& theme)
|
|||
{
|
||||
Host::SetBaseStringSettingValue("UI", "Theme", theme.toUtf8().constData());
|
||||
updateApplicationTheme();
|
||||
|
||||
// Sadly we need to recreate here, because otherwise the icon theme doesn't update.
|
||||
recreate();
|
||||
updateMenuSelectedTheme();
|
||||
m_game_list_widget->reloadCommonImages();
|
||||
}
|
||||
|
||||
void MainWindow::setStyleFromSettings()
|
||||
|
|
Loading…
Reference in New Issue