From ebf9a784a9f7f4148a669dbb39e7cd50df779a14 Mon Sep 17 00:00:00 2001 From: James Rowe Date: Thu, 11 Jan 2018 19:21:20 -0700 Subject: Massive removal of unused modules --- src/yuzu/game_list.h | 101 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 src/yuzu/game_list.h (limited to 'src/yuzu/game_list.h') diff --git a/src/yuzu/game_list.h b/src/yuzu/game_list.h new file mode 100644 index 000000000..4823a1296 --- /dev/null +++ b/src/yuzu/game_list.h @@ -0,0 +1,101 @@ +// Copyright 2015 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "main.h" + +class GameListWorker; + +class GameList : public QWidget { + Q_OBJECT + +public: + enum { + COLUMN_NAME, + COLUMN_FILE_TYPE, + COLUMN_SIZE, + COLUMN_COUNT, // Number of columns + }; + + class SearchField : public QWidget { + public: + void setFilterResult(int visible, int total); + void clear(); + void setFocus(); + explicit SearchField(GameList* parent = nullptr); + + private: + class KeyReleaseEater : public QObject { + public: + explicit KeyReleaseEater(GameList* gamelist); + + private: + GameList* gamelist = nullptr; + QString edit_filter_text_old; + + protected: + bool eventFilter(QObject* obj, QEvent* event); + }; + QHBoxLayout* layout_filter = nullptr; + QTreeView* tree_view = nullptr; + QLabel* label_filter = nullptr; + QLineEdit* edit_filter = nullptr; + QLabel* label_filter_result = nullptr; + QToolButton* button_filter_close = nullptr; + }; + + explicit GameList(GMainWindow* parent = nullptr); + ~GameList() override; + + void clearFilter(); + void setFilterFocus(); + void setFilterVisible(bool visibility); + + void PopulateAsync(const QString& dir_path, bool deep_scan); + + void SaveInterfaceLayout(); + void LoadInterfaceLayout(); + + static const QStringList supported_file_extensions; + +signals: + void GameChosen(QString game_path); + void ShouldCancelWorker(); + void OpenSaveFolderRequested(u64 program_id); + +private slots: + void onTextChanged(const QString& newText); + void onFilterCloseClicked(); + +private: + void AddEntry(const QList& entry_items); + void ValidateEntry(const QModelIndex& item); + void DonePopulating(QStringList watch_list); + + void PopupContextMenu(const QPoint& menu_location); + void RefreshGameDirectory(); + bool containsAllWords(QString haystack, QString userinput); + + SearchField* search_field; + GMainWindow* main_window = nullptr; + QVBoxLayout* layout = nullptr; + QTreeView* tree_view = nullptr; + QStandardItemModel* item_model = nullptr; + GameListWorker* current_worker = nullptr; + QFileSystemWatcher* watcher = nullptr; +}; -- cgit v1.2.3