{"action":"created","comment":{"url":"https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/132970481","pull_request_review_id":56098312,"id":132970481,"diff_hunk":"@@ -65,18 +67,95 @@ class GameFile final\n   QString GetLongMaker() const { return GetBannerString(m_long_makers); }\n   QString GetDescription() const { return GetBannerString(m_descriptions); }\n   QString GetShortName(DiscIO::Language lang) const { return m_short_names[lang]; }\n+  QMap<DiscIO::Language, QString> GetShortNames() { return m_short_names; }\n   QString GetShortMaker(DiscIO::Language lang) const { return m_short_makers[lang]; }\n+  QMap<DiscIO::Language, QString> GetShortMakers() { return m_short_makers; }\n   QString GetLongName(DiscIO::Language lang) const { return m_long_names[lang]; }\n+  QMap<DiscIO::Language, QString> GetLongNames() { return m_long_names; }\n   QString GetLongMaker(DiscIO::Language lang) const { return m_long_makers[lang]; }\n+  QMap<DiscIO::Language, QString> GetLongMakers() { return m_long_makers; }\n   QString GetDescription(DiscIO::Language lang) const { return m_descriptions[lang]; }\n+  QMap<DiscIO::Language, QString> GetDescriptions() { return m_descriptions; }\n   bool Install();\n   bool Uninstall();\n   bool ExportWiiSave();\n \n+  class Cache\n+  {\n+  public:\n+    void Update(GameFile* gamefile);\n+    void Save();\n+    void Load();\n+    bool IsCached(const QString& path);\n+\n+    QDateTime GetTimestamp(const QString& path);\n+    u64 GetTitleID(const QString& path);\n+    QString GetGameID(const QString& path);\n+    QString GetMakerID(const QString& path);\n+\n+    QString GetMaker(const QString& path);\n+    QMap<DiscIO::Language, QString> GetLongMakers(const QString& path);\n+    QMap<DiscIO::Language, QString> GetShortMakers(const QString& path);\n+\n+    QString GetInternalName(const QString& path);\n+    QMap<DiscIO::Language, QString> GetLongNames(const QString& path);\n+    QMap<DiscIO::Language, QString> GetShortNames(const QString& path);\n+\n+    DiscIO::Platform GetPlatform(const QString& path);\n+    DiscIO::Region GetRegion(const QString& path);\n+    DiscIO::Country GetCountry(const QString& path);\n+    DiscIO::BlobType GetBlobType(const QString& path);\n+\n+    u64 GetRawSize(const QString& path);\n+    QMap<DiscIO::Language, QString> GetDescriptions(const QString& path);\n+    u16 GetRevision(const QString& path);\n+    u8 GetDiscNumber(const QString& path);\n+    int GetRating(const QString& path);\n+    QString GetApploaderDate(const QString& path);\n+    QPixmap GetBanner(const QString& path);\n+\n+    static Cache& Get();\n+\n+  private:\n+    static Cache instance;\n+    Cache();\n+\n+    QFile file;","path":"Source/Core/DolphinQt2/GameList/GameFile.h","position":73,"original_position":73,"commit_id":"540d2412c4e8a5481cb60003b69f6b5ceefc91b6","original_commit_id":"540d2412c4e8a5481cb60003b69f6b5ceefc91b6","user":{"login":"lioncash","id":712067,"avatar_url":"https://avatars1.githubusercontent.com/u/712067?v=4","gravatar_id":"","url":"https://api.github.com/users/lioncash","html_url":"https://github.com/lioncash","followers_url":"https://api.github.com/users/lioncash/followers","following_url":"https://api.github.com/users/lioncash/following{/other_user}","gists_url":"https://api.github.com/users/lioncash/gists{/gist_id}","starred_url":"https://api.github.com/users/lioncash/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lioncash/subscriptions","organizations_url":"https://api.github.com/users/lioncash/orgs","repos_url":"https://api.github.com/users/lioncash/repos","events_url":"https://api.github.com/users/lioncash/events{/privacy}","received_events_url":"https://api.github.com/users/lioncash/received_events","type":"User","site_admin":false},"body":"`m_file`","created_at":"2017-08-14T14:49:12Z","updated_at":"2017-08-14T14:57:36Z","html_url":"https://github.com/dolphin-emu/dolphin/pull/5927#discussion_r132970481","pull_request_url":"https://api.github.com/repos/dolphin-emu/dolphin/pulls/5927","_links":{"self":{"href":"https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/132970481"},"html":{"href":"https://github.com/dolphin-emu/dolphin/pull/5927#discussion_r132970481"},"pull_request":{"href":"https://api.github.com/repos/dolphin-emu/dolphin/pulls/5927"}}},"pull_request":{"url":"https://api.github.com/repos/dolphin-emu/dolphin/pulls/5927","id":135604992,"html_url":"https://github.com/dolphin-emu/dolphin/pull/5927","diff_url":"https://github.com/dolphin-emu/dolphin/pull/5927.diff","patch_url":"https://github.com/dolphin-emu/dolphin/pull/5927.patch","issue_url":"https://api.github.com/repos/dolphin-emu/dolphin/issues/5927","number":5927,"state":"open","locked":false,"title":"Qt: Implement gamelist caching","user":{"login":"spycrab","id":1440715,"avatar_url":"https://avatars2.githubusercontent.com/u/1440715?v=4","gravatar_id":"","url":"https://api.github.com/users/spycrab","html_url":"https://github.com/spycrab","followers_url":"https://api.github.com/users/spycrab/followers","following_url":"https://api.github.com/users/spycrab/following{/other_user}","gists_url":"https://api.github.com/users/spycrab/gists{/gist_id}","starred_url":"https://api.github.com/users/spycrab/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/spycrab/subscriptions","organizations_url":"https://api.github.com/users/spycrab/orgs","repos_url":"https://api.github.com/users/spycrab/repos","events_url":"https://api.github.com/users/spycrab/events{/privacy}","received_events_url":"https://api.github.com/users/spycrab/received_events","type":"User","site_admin":false},"body":"This time without SQLite.","created_at":"2017-08-14T14:07:21Z","updated_at":"2017-08-14T14:57:36Z","closed_at":null,"merged_at":null,"merge_commit_sha":"d727a92cca20c5c73489e4719bee39500ba85c9e","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/dolphin-emu/dolphin/pulls/5927/commits","review_comments_url":"https://api.github.com/repos/dolphin-emu/dolphin/pulls/5927/comments","review_comment_url":"https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}","comments_url":"https://api.github.com/repos/dolphin-emu/dolphin/issues/5927/comments","statuses_url":"https://api.github.com/repos/dolphin-emu/dolphin/statuses/540d2412c4e8a5481cb60003b69f6b5ceefc91b6","head":{"label":"spycrab:qt_gamelist_cache","ref":"qt_gamelist_cache","sha":"540d2412c4e8a5481cb60003b69f6b5ceefc91b6","user":{"login":"spycrab","id":1440715,"avatar_url":"https://avatars2.githubusercontent.com/u/1440715?v=4","gravatar_id":"","url":"https://api.github.com/users/spycrab","html_url":"https://github.com/spycrab","followers_url":"https://api.github.com/users/spycrab/followers","following_url":"https://api.github.com/users/spycrab/following{/other_user}","gists_url":"https://api.github.com/users/spycrab/gists{/gist_id}","starred_url":"https://api.github.com/users/spycrab/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/spycrab/subscriptions","organizations_url":"https://api.github.com/users/spycrab/orgs","repos_url":"https://api.github.com/users/spycrab/repos","events_url":"https://api.github.com/users/spycrab/events{/privacy}","received_events_url":"https://api.github.com/users/spycrab/received_events","type":"User","site_admin":false},"repo":{"id":88349585,"name":"dolphin","full_name":"spycrab/dolphin","owner":{"login":"spycrab","id":1440715,"avatar_url":"https://avatars2.githubusercontent.com/u/1440715?v=4","gravatar_id":"","url":"https://api.github.com/users/spycrab","html_url":"https://github.com/spycrab","followers_url":"https://api.github.com/users/spycrab/followers","following_url":"https://api.github.com/users/spycrab/following{/other_user}","gists_url":"https://api.github.com/users/spycrab/gists{/gist_id}","starred_url":"https://api.github.com/users/spycrab/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/spycrab/subscriptions","organizations_url":"https://api.github.com/users/spycrab/orgs","repos_url":"https://api.github.com/users/spycrab/repos","events_url":"https://api.github.com/users/spycrab/events{/privacy}","received_events_url":"https://api.github.com/users/spycrab/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/spycrab/dolphin","description":"Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.","fork":true,"url":"https://api.github.com/repos/spycrab/dolphin","forks_url":"https://api.github.com/repos/spycrab/dolphin/forks","keys_url":"https://api.github.com/repos/spycrab/dolphin/keys{/key_id}","collaborators_url":"https://api.github.com/repos/spycrab/dolphin/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/spycrab/dolphin/teams","hooks_url":"https://api.github.com/repos/spycrab/dolphin/hooks","issue_events_url":"https://api.github.com/repos/spycrab/dolphin/issues/events{/number}","events_url":"https://api.github.com/repos/spycrab/dolphin/events","assignees_url":"https://api.github.com/repos/spycrab/dolphin/assignees{/user}","branches_url":"https://api.github.com/repos/spycrab/dolphin/branches{/branch}","tags_url":"https://api.github.com/repos/spycrab/dolphin/tags","blobs_url":"https://api.github.com/repos/spycrab/dolphin/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/spycrab/dolphin/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/spycrab/dolphin/git/refs{/sha}","trees_url":"https://api.github.com/repos/spycrab/dolphin/git/trees{/sha}","statuses_url":"https://api.github.com/repos/spycrab/dolphin/statuses/{sha}","languages_url":"https://api.github.com/repos/spycrab/dolphin/languages","stargazers_url":"https://api.github.com/repos/spycrab/dolphin/stargazers","contributors_url":"https://api.github.com/repos/spycrab/dolphin/contributors","subscribers_url":"https://api.github.com/repos/spycrab/dolphin/subscribers","subscription_url":"https://api.github.com/repos/spycrab/dolphin/subscription","commits_url":"https://api.github.com/repos/spycrab/dolphin/commits{/sha}","git_commits_url":"https://api.github.com/repos/spycrab/dolphin/git/commits{/sha}","comments_url":"https://api.github.com/repos/spycrab/dolphin/comments{/number}","issue_comment_url":"https://api.github.com/repos/spycrab/dolphin/issues/comments{/number}","contents_url":"https://api.github.com/repos/spycrab/dolphin/contents/{+path}","compare_url":"https://api.github.com/repos/spycrab/dolphin/compare/{base}...{head}","merges_url":"https://api.github.com/repos/spycrab/dolphin/merges","archive_url":"https://api.github.com/repos/spycrab/dolphin/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/spycrab/dolphin/downloads","issues_url":"https://api.github.com/repos/spycrab/dolphin/issues{/number}","pulls_url":"https://api.github.com/repos/spycrab/dolphin/pulls{/number}","milestones_url":"https://api.github.com/repos/spycrab/dolphin/milestones{/number}","notifications_url":"https://api.github.com/repos/spycrab/dolphin/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/spycrab/dolphin/labels{/name}","releases_url":"https://api.github.com/repos/spycrab/dolphin/releases{/id}","deployments_url":"https://api.github.com/repos/spycrab/dolphin/deployments","created_at":"2017-04-15T13:46:17Z","updated_at":"2017-04-15T13:46:43Z","pushed_at":"2017-08-14T14:08:22Z","git_url":"git://github.com/spycrab/dolphin.git","ssh_url":"git@github.com:spycrab/dolphin.git","clone_url":"https://github.com/spycrab/dolphin.git","svn_url":"https://github.com/spycrab/dolphin","homepage":"https://dolphin-emu.org/","size":306723,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"dolphin-emu:master","ref":"master","sha":"1b2751d3dcaf05d15487459a9a09292ba9db0f7e","user":{"login":"dolphin-emu","id":5050316,"avatar_url":"https://avatars2.githubusercontent.com/u/5050316?v=4","gravatar_id":"","url":"https://api.github.com/users/dolphin-emu","html_url":"https://github.com/dolphin-emu","followers_url":"https://api.github.com/users/dolphin-emu/followers","following_url":"https://api.github.com/users/dolphin-emu/following{/other_user}","gists_url":"https://api.github.com/users/dolphin-emu/gists{/gist_id}","starred_url":"https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dolphin-emu/subscriptions","organizations_url":"https://api.github.com/users/dolphin-emu/orgs","repos_url":"https://api.github.com/users/dolphin-emu/repos","events_url":"https://api.github.com/users/dolphin-emu/events{/privacy}","received_events_url":"https://api.github.com/users/dolphin-emu/received_events","type":"Organization","site_admin":false},"repo":{"id":11577304,"name":"dolphin","full_name":"dolphin-emu/dolphin","owner":{"login":"dolphin-emu","id":5050316,"avatar_url":"https://avatars2.githubusercontent.com/u/5050316?v=4","gravatar_id":"","url":"https://api.github.com/users/dolphin-emu","html_url":"https://github.com/dolphin-emu","followers_url":"https://api.github.com/users/dolphin-emu/followers","following_url":"https://api.github.com/users/dolphin-emu/following{/other_user}","gists_url":"https://api.github.com/users/dolphin-emu/gists{/gist_id}","starred_url":"https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dolphin-emu/subscriptions","organizations_url":"https://api.github.com/users/dolphin-emu/orgs","repos_url":"https://api.github.com/users/dolphin-emu/repos","events_url":"https://api.github.com/users/dolphin-emu/events{/privacy}","received_events_url":"https://api.github.com/users/dolphin-emu/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/dolphin-emu/dolphin","description":"Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.","fork":false,"url":"https://api.github.com/repos/dolphin-emu/dolphin","forks_url":"https://api.github.com/repos/dolphin-emu/dolphin/forks","keys_url":"https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dolphin-emu/dolphin/teams","hooks_url":"https://api.github.com/repos/dolphin-emu/dolphin/hooks","issue_events_url":"https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}","events_url":"https://api.github.com/repos/dolphin-emu/dolphin/events","assignees_url":"https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}","branches_url":"https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}","tags_url":"https://api.github.com/repos/dolphin-emu/dolphin/tags","blobs_url":"https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}","trees_url":"https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}","languages_url":"https://api.github.com/repos/dolphin-emu/dolphin/languages","stargazers_url":"https://api.github.com/repos/dolphin-emu/dolphin/stargazers","contributors_url":"https://api.github.com/repos/dolphin-emu/dolphin/contributors","subscribers_url":"https://api.github.com/repos/dolphin-emu/dolphin/subscribers","subscription_url":"https://api.github.com/repos/dolphin-emu/dolphin/subscription","commits_url":"https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}","git_commits_url":"https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}","comments_url":"https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}","issue_comment_url":"https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}","contents_url":"https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}","compare_url":"https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dolphin-emu/dolphin/merges","archive_url":"https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dolphin-emu/dolphin/downloads","issues_url":"https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}","pulls_url":"https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}","milestones_url":"https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}","notifications_url":"https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}","releases_url":"https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}","deployments_url":"https://api.github.com/repos/dolphin-emu/dolphin/deployments","created_at":"2013-07-22T09:07:57Z","updated_at":"2017-08-14T11:27:39Z","pushed_at":"2017-08-14T14:08:24Z","git_url":"git://github.com/dolphin-emu/dolphin.git","ssh_url":"git@github.com:dolphin-emu/dolphin.git","clone_url":"https://github.com/dolphin-emu/dolphin.git","svn_url":"https://github.com/dolphin-emu/dolphin","homepage":"https://dolphin-emu.org/","size":346485,"stargazers_count":3605,"watchers_count":3605,"language":"C++","has_issues":false,"has_projects":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":918,"mirror_url":null,"open_issues_count":142,"forks":918,"open_issues":142,"watchers":3605,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/dolphin-emu/dolphin/pulls/5927"},"html":{"href":"https://github.com/dolphin-emu/dolphin/pull/5927"},"issue":{"href":"https://api.github.com/repos/dolphin-emu/dolphin/issues/5927"},"comments":{"href":"https://api.github.com/repos/dolphin-emu/dolphin/issues/5927/comments"},"review_comments":{"href":"https://api.github.com/repos/dolphin-emu/dolphin/pulls/5927/comments"},"review_comment":{"href":"https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/dolphin-emu/dolphin/pulls/5927/commits"},"statuses":{"href":"https://api.github.com/repos/dolphin-emu/dolphin/statuses/540d2412c4e8a5481cb60003b69f6b5ceefc91b6"}}}}
{"actor":{"display_login":"lioncash"}}