1
0
Fork 0
forked from suyu/suyu

Merge pull request #6403 from Kewlan/game-list-for-loop-optimization

game_list: Minor for loop optimizations
This commit is contained in:
bunnei 2021-06-02 15:27:54 -07:00 committed by GitHub
commit d6006e9a3f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -91,9 +91,8 @@ QString GameListSearchField::filterText() const {
QString GameList::GetLastFilterResultItem() const { QString GameList::GetLastFilterResultItem() const {
QString file_path; QString file_path;
const int folder_count = item_model->rowCount();
for (int i = 0; i < folder_count; ++i) { for (int i = 1; i < item_model->rowCount() - 1; ++i) {
const QStandardItem* folder = item_model->item(i, 0); const QStandardItem* folder = item_model->item(i, 0);
const QModelIndex folder_index = folder->index(); const QModelIndex folder_index = folder->index();
const int children_count = folder->rowCount(); const int children_count = folder->rowCount();
@ -184,7 +183,6 @@ void GameList::OnItemExpanded(const QModelIndex& item) {
// Event in order to filter the gamelist after editing the searchfield // Event in order to filter the gamelist after editing the searchfield
void GameList::OnTextChanged(const QString& new_text) { void GameList::OnTextChanged(const QString& new_text) {
const int folder_count = tree_view->model()->rowCount();
QString edit_filter_text = new_text.toLower(); QString edit_filter_text = new_text.toLower();
QStandardItem* folder; QStandardItem* folder;
int children_total = 0; int children_total = 0;
@ -194,7 +192,7 @@ void GameList::OnTextChanged(const QString& new_text) {
if (edit_filter_text.isEmpty()) { if (edit_filter_text.isEmpty()) {
tree_view->setRowHidden(0, item_model->invisibleRootItem()->index(), tree_view->setRowHidden(0, item_model->invisibleRootItem()->index(),
UISettings::values.favorited_ids.size() == 0); UISettings::values.favorited_ids.size() == 0);
for (int i = 1; i < folder_count; ++i) { for (int i = 1; i < item_model->rowCount() - 1; ++i) {
folder = item_model->item(i, 0); folder = item_model->item(i, 0);
const QModelIndex folder_index = folder->index(); const QModelIndex folder_index = folder->index();
const int children_count = folder->rowCount(); const int children_count = folder->rowCount();
@ -207,7 +205,7 @@ void GameList::OnTextChanged(const QString& new_text) {
} else { } else {
tree_view->setRowHidden(0, item_model->invisibleRootItem()->index(), true); tree_view->setRowHidden(0, item_model->invisibleRootItem()->index(), true);
int result_count = 0; int result_count = 0;
for (int i = 1; i < folder_count; ++i) { for (int i = 1; i < item_model->rowCount() - 1; ++i) {
folder = item_model->item(i, 0); folder = item_model->item(i, 0);
const QModelIndex folder_index = folder->index(); const QModelIndex folder_index = folder->index();
const int children_count = folder->rowCount(); const int children_count = folder->rowCount();
@ -466,9 +464,8 @@ void GameList::DonePopulating(const QStringList& watch_list) {
QCoreApplication::processEvents(); QCoreApplication::processEvents();
} }
tree_view->setEnabled(true); tree_view->setEnabled(true);
const int folder_count = tree_view->model()->rowCount();
int children_total = 0; int children_total = 0;
for (int i = 1; i < folder_count; ++i) { for (int i = 1; i < item_model->rowCount() - 1; ++i) {
children_total += item_model->item(i, 0)->rowCount(); children_total += item_model->item(i, 0)->rowCount();
} }
search_field->setFilterResult(children_total, children_total); search_field->setFilterResult(children_total, children_total);
@ -649,9 +646,9 @@ void GameList::AddPermDirPopup(QMenu& context_menu, QModelIndex selected) {
} }
void GameList::AddFavoritesPopup(QMenu& context_menu) { void GameList::AddFavoritesPopup(QMenu& context_menu) {
QAction* clear_all = context_menu.addAction(tr("Clear")); QAction* clear = context_menu.addAction(tr("Clear"));
connect(clear_all, &QAction::triggered, [this] { connect(clear, &QAction::triggered, [this] {
for (const auto id : UISettings::values.favorited_ids) { for (const auto id : UISettings::values.favorited_ids) {
RemoveFavorite(id); RemoveFavorite(id);
} }