Commit Graph
51 Commits
Author SHA1 Message Date
Henrik RydgårdandClaude Opus 5.5 adfbd7a259 PathBrowser: Abandon a network listing when navigating away
PathBrowser lists on one thread, so going up from the network folder
waited for its listing to finish (up to 8 seconds) before the drive list
showed. Pass GetFilesInDir a cancel flag that PathBrowser sets whenever
the path changes, or on destruction, and check it while waiting.

Also don't probe the drives in the drive list for game folders.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-24 02:44:17 +02:00
Henrik RydgårdandClaude Opus 5.5 494102acb1 PathBrowser: Add a Network folder on Windows that lists the servers
The drive list gets a Network entry, the path //, which lists the
servers in the shell's network folder (the old WNet enumeration finds
nothing on a modern network). Going up from \\server now lands there
instead of in the drive list.

Network listings run on a thread of their own with a deadline, since
they can block for a long time and can't be cancelled: the network
folder keeps its enumerator open for half a minute after it has found
everything, and NetShareEnum on a server that doesn't answer hangs too.
We take what has turned up after a quiet second, or after 8 seconds at
the most.

GameBrowser skips probing the servers for game folders, which would
contact each one from the UI thread.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-24 02:44:05 +02:00
Henrik RydgårdandClaude Opus 5.5 ce7512c491 PathBrowser: List the shares of a network server on Windows
Navigating up from a share like \\QUAD\PSP ISO lands on \\QUAD, which
FindFirstFile can't list, so it showed as an empty folder. Enumerate the
server's disk shares with NetShareEnum instead, skipping admin shares.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-23 16:12:52 +02:00
Henrik Rydgård d596e43b4b Android: Scale down selected background images when too large. Fix activity issue. 2026-03-08 14:53:20 +01:00
Henrik Rydgård 8f138a76f6 Small refactor in DirListing.cpp 2026-02-23 14:22:30 +01:00
Henrik Rydgård aa750157c9 Add support for high-precision file timestamps on Windows 2026-02-23 11:17:47 +01:00
Henrik Rydgård 91bf4d5b5c Correct some log categories, add UI category, some warning fixes 2025-04-09 13:45:21 +02:00
Henrik Rydgård c4a432e467 Add convenient function to get file modified time in unix time 2025-01-23 10:16:50 +01:00
oltolm f11674b2d6 get rid of more __MINGW32__ ifdefs 2025-01-19 10:33:22 +01:00
oltolm 9566065455 make compile on mingw-w64 2025-01-11 01:25:27 +01:00
Henrik Rydgård c3aa0f7452 Centralize socket-related includes, introduce socket_errno
This resolves some weird inconsistentes and include order problems
related to errno. Needed for the next steps.
2025-01-08 12:42:45 +01:00
Henrik Rydgård 4dd3621fa0 Remove some unnecessary <algorithm> includes. 2024-12-18 17:04:27 +01:00
Henrik Rydgård 080798b5dd Move out two more functions from Core.cpp. Clean up Windows includes 2024-12-08 12:12:02 +01:00
Henrik Rydgård 1f108a0e8c Remove the java-side directory listing filtering, didn't work. 2024-11-30 02:44:01 +01:00
Henrik Rydgård 48bc04b7e1 Add a separate bool for I/O logging 2024-11-29 16:00:34 +01:00
Henrik Rydgård 720e0561b5 Improve logging in GetFilesInDir 2024-11-29 11:14:52 +01:00
Henrik Rydgård edbc7afcc1 Add support for prefix filtering in directory listing. 2024-11-29 11:14:52 +01:00
Henrik Rydgård 3b463446ab I/O: Add a (disabled) mode to artifically slow down I/O for debugging 2024-11-28 15:02:22 +01:00
Henrik Rydgård 0fc3e2b777 Add string_view support to more UTF functions 2024-01-12 14:03:02 +01:00
Henrik Rydgård 755648c997 Don't use std::move in dirlisting, see #18192 2023-09-22 10:09:10 +02:00
Bashar Astifan 9b0577351f Review's changes, more fixes and better structure 2023-05-02 00:09:22 +04:00
Bashar Astifan 05776ee6af Major update 2023-04-30 08:54:54 +04:00
Bashar Astifan d0b6935592 UWP Improved Support 2023-04-28 23:22:17 +04:00
Henrik Rydgård 0251f33ec3 Don't use PPSSPP-specific stuff in Common/VR for now. 2022-10-17 23:13:43 +02:00
Unknown W. Brackets 8c1acc30e4 Savedata: Combine file info and dir listing calls. 2022-10-09 14:42:31 -07:00
Unknown W. Brackets 7b8350f8a8 Android: Differentiate empty dir from failure. 2022-10-09 14:42:31 -07:00
lainon 3cdf72b68b Better readability and optimization insertion into container by replacing 'insert' -> 'emplace', 'push_back' -> 'emplace_back' 2022-09-30 12:35:28 +03:00
Unknown W. Brackets 656576c283 Io: Correct access field on dir listings. 2022-07-13 23:40:38 -07:00
tunip3 42ae18eea5 Replace Win32 file IO with UWP safe variants and add support for getting drives to UWP build (#15652)
* replace, all win32 file io with their matching uwp safe variants

* add support for drive listing

* Delete NATIVEAPP.ipch

* Update .gitignore

* fix indentation
2022-07-06 23:59:47 +02:00
Henrik Rydgård fcc0337576 Fix the Android recursive size computation and hook it up. 2021-09-11 18:12:30 +02:00
Henrik Rydgård cd79a1d92f Fix another GetFileInfo loop (GetFilesInDir now does return sizes) 2021-09-11 18:11:53 +02:00
Henrik Rydgård 96406364ca Fix for new bug in GetDirListing, oops 2021-07-19 20:43:10 +02:00
Henrik Rydgård 0c765c2c28 Buildfix 2021-07-19 10:42:44 +02:00
Henrik Rydgård 7c3bc01268 Make GetFilesInDir fully-featured enough to use in DirectoryFileSystem
To later reduce code duplication in #14619
2021-07-19 10:31:48 +02:00
Henrik Rydgård 59e2d3556f Sort file listings from Android Content URIs. May help #14607 2021-07-12 15:10:29 +02:00
Henrik Rydgård a0bae1855f Path browser: Move special handling of Windows root directory to GetFilesInDir. 2021-07-10 11:47:03 +02:00
Henrik Rydgård 9b32ea2f55 Split out AndroidStorage.cpp from android/jni/app-android.cpp, move to Common 2021-06-07 00:26:24 +02:00
Henrik Rydgård 6078701f9d Fix File::GetFileInfo for Content URIs. Can now load homebrew. 2021-06-07 00:24:52 +02:00
Henrik Rydgård c86c7686a8 Remove more special casing of content URIs 2021-06-07 00:24:52 +02:00
Henrik Rydgård 87a25fd230 Start experimenting with DocumentsContract (the thing DocumentFile wraps)
wip

Some progress towards making the file browser work with DOCUMENT_TREE

More directory browsing progress

More Scoped Storage hackery. Can now browse to a folder and use PPSSPP's game browser to load ISOs from it.

Remove the defunct fdopendir approach. Buildfixes.
2021-06-07 00:24:51 +02:00
Unknown W. Brackets d376e67f87 Common: Cleanup some Path constructions. 2021-05-14 22:48:04 -07:00
Henrik Rydgård 47039b4bcd Address all the easy feedback. Some is left. 2021-05-13 10:39:17 +02:00
Henrik Rydgård a40b1dec5f Use Path for fullName in dirlisting. Bugfixes.
Buildfixes

UWP: Buildfix.

headless: Buildfix.

Common: Buildfix.

iOS: Buildfixes.

libretro: Buildfix.

Qt: Buildfix.
2021-05-13 10:39:16 +02:00
Henrik Rydgård 025bcb1673 Introduce Path, start using it all over the place.
Still lots left to convert!

Convert GetSysDirectory to return Path.

More buildfixing

Remove unnecessary Path( constructors
2021-05-13 10:39:16 +02:00
Unknown W. Brackets 36549a960f Common: Fix dir listing extension filter.
Oops.  Also correct std::move() usage, which assumed it cleared the
source string.
2021-05-10 21:28:51 -07:00
Unknown W. Brackets 58d46274ef Common: FileUtil rename buildfix. 2021-04-25 14:51:39 -07:00
Henrik Rydgård 770f7f60e4 Delete unused function, rename two more. 2021-04-25 20:57:37 +02:00
Henrik Rydgård 77b8a14770 Merge GetFileInfo/GetFileDetails into GetFileInfo 2021-04-25 20:52:29 +02:00
Henrik Rydgård 08843673d9 Rename a couple of functions. 2021-04-25 20:39:32 +02:00
Henrik Rydgård 1b13badeb4 Move remaining FileUtil functions into the File namespace. 2021-04-25 20:38:22 +02:00