mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-11-03 16:39:01 -06:00 
			
		
		
		
	Merge pull request #8797 from Docteh/filtering
Qt: Retranslate GameList header and Filter line
This commit is contained in:
		@@ -126,10 +126,8 @@ GameListSearchField::GameListSearchField(GameList* parent) : QWidget{parent} {
 | 
			
		||||
    layout_filter = new QHBoxLayout;
 | 
			
		||||
    layout_filter->setContentsMargins(8, 8, 8, 8);
 | 
			
		||||
    label_filter = new QLabel;
 | 
			
		||||
    label_filter->setText(tr("Filter:"));
 | 
			
		||||
    edit_filter = new QLineEdit;
 | 
			
		||||
    edit_filter->clear();
 | 
			
		||||
    edit_filter->setPlaceholderText(tr("Enter pattern to filter"));
 | 
			
		||||
    edit_filter->installEventFilter(key_release_eater);
 | 
			
		||||
    edit_filter->setClearButtonEnabled(true);
 | 
			
		||||
    connect(edit_filter, &QLineEdit::textChanged, parent, &GameList::OnTextChanged);
 | 
			
		||||
@@ -149,6 +147,7 @@ GameListSearchField::GameListSearchField(GameList* parent) : QWidget{parent} {
 | 
			
		||||
    layout_filter->addWidget(label_filter_result);
 | 
			
		||||
    layout_filter->addWidget(button_filter_close);
 | 
			
		||||
    setLayout(layout_filter);
 | 
			
		||||
    RetranslateUI();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@@ -333,13 +332,9 @@ GameList::GameList(FileSys::VirtualFilesystem vfs_, FileSys::ManualContentProvid
 | 
			
		||||
    tree_view->setStyleSheet(QStringLiteral("QTreeView{ border: none; }"));
 | 
			
		||||
 | 
			
		||||
    item_model->insertColumns(0, COLUMN_COUNT);
 | 
			
		||||
    item_model->setHeaderData(COLUMN_NAME, Qt::Horizontal, tr("Name"));
 | 
			
		||||
    item_model->setHeaderData(COLUMN_COMPATIBILITY, Qt::Horizontal, tr("Compatibility"));
 | 
			
		||||
    RetranslateUI();
 | 
			
		||||
 | 
			
		||||
    item_model->setHeaderData(COLUMN_ADD_ONS, Qt::Horizontal, tr("Add-ons"));
 | 
			
		||||
    tree_view->setColumnHidden(COLUMN_ADD_ONS, !UISettings::values.show_add_ons);
 | 
			
		||||
    item_model->setHeaderData(COLUMN_FILE_TYPE, Qt::Horizontal, tr("File type"));
 | 
			
		||||
    item_model->setHeaderData(COLUMN_SIZE, Qt::Horizontal, tr("Size"));
 | 
			
		||||
    item_model->setSortRole(GameListItemPath::SortRole);
 | 
			
		||||
 | 
			
		||||
    connect(main_window, &GMainWindow::UpdateThemedIcons, this, &GameList::OnUpdateThemedIcons);
 | 
			
		||||
@@ -753,6 +748,35 @@ void GameList::LoadCompatibilityList() {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void GameList::changeEvent(QEvent* event) {
 | 
			
		||||
    if (event->type() == QEvent::LanguageChange) {
 | 
			
		||||
        RetranslateUI();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    QWidget::changeEvent(event);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void GameList::RetranslateUI() {
 | 
			
		||||
    item_model->setHeaderData(COLUMN_NAME, Qt::Horizontal, tr("Name"));
 | 
			
		||||
    item_model->setHeaderData(COLUMN_COMPATIBILITY, Qt::Horizontal, tr("Compatibility"));
 | 
			
		||||
    item_model->setHeaderData(COLUMN_ADD_ONS, Qt::Horizontal, tr("Add-ons"));
 | 
			
		||||
    item_model->setHeaderData(COLUMN_FILE_TYPE, Qt::Horizontal, tr("File type"));
 | 
			
		||||
    item_model->setHeaderData(COLUMN_SIZE, Qt::Horizontal, tr("Size"));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void GameListSearchField::changeEvent(QEvent* event) {
 | 
			
		||||
    if (event->type() == QEvent::LanguageChange) {
 | 
			
		||||
        RetranslateUI();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    QWidget::changeEvent(event);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void GameListSearchField::RetranslateUI() {
 | 
			
		||||
    label_filter->setText(tr("Filter:"));
 | 
			
		||||
    edit_filter->setPlaceholderText(tr("Enter pattern to filter"));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
QStandardItemModel* GameList::GetModel() const {
 | 
			
		||||
    return item_model;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -140,6 +140,9 @@ private:
 | 
			
		||||
    void AddPermDirPopup(QMenu& context_menu, QModelIndex selected);
 | 
			
		||||
    void AddFavoritesPopup(QMenu& context_menu);
 | 
			
		||||
 | 
			
		||||
    void changeEvent(QEvent*) override;
 | 
			
		||||
    void RetranslateUI();
 | 
			
		||||
 | 
			
		||||
    std::shared_ptr<FileSys::VfsFilesystem> vfs;
 | 
			
		||||
    FileSys::ManualContentProvider* provider;
 | 
			
		||||
    GameListSearchField* search_field;
 | 
			
		||||
 
 | 
			
		||||
@@ -353,6 +353,9 @@ public:
 | 
			
		||||
    void setFocus();
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    void changeEvent(QEvent*) override;
 | 
			
		||||
    void RetranslateUI();
 | 
			
		||||
 | 
			
		||||
    class KeyReleaseEater : public QObject {
 | 
			
		||||
    public:
 | 
			
		||||
        explicit KeyReleaseEater(GameList* gamelist_, QObject* parent = nullptr);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user