Skip to content

Commit a137b36

Browse files
committed
feat: add option to re-hide hidden folders on app foregrounding
Signed-off-by: Tommy van der Vorst <tommy@pixelspark.nl>
1 parent e930efa commit a137b36

File tree

3 files changed

+123
-9
lines changed

3 files changed

+123
-9
lines changed

Localizable.xcstrings

Lines changed: 101 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5134,6 +5134,52 @@
51345134
}
51355135
}
51365136
},
5137+
"Automatically hide hidden folders" : {
5138+
"localizations" : {
5139+
"de" : {
5140+
"stringUnit" : {
5141+
"state" : "translated",
5142+
"value" : "Versteckte Ordner automatisch ausblenden"
5143+
}
5144+
},
5145+
"es" : {
5146+
"stringUnit" : {
5147+
"state" : "translated",
5148+
"value" : "Ocultar automáticamente las carpetas ocultas"
5149+
}
5150+
},
5151+
"it" : {
5152+
"stringUnit" : {
5153+
"state" : "translated",
5154+
"value" : "Nascondi automaticamente le cartelle nascoste"
5155+
}
5156+
},
5157+
"ja" : {
5158+
"stringUnit" : {
5159+
"state" : "translated",
5160+
"value" : "隠しフォルダを自動的に非表示にする"
5161+
}
5162+
},
5163+
"nl" : {
5164+
"stringUnit" : {
5165+
"state" : "translated",
5166+
"value" : "Automatisch verborgen mappen verbergen"
5167+
}
5168+
},
5169+
"uk" : {
5170+
"stringUnit" : {
5171+
"state" : "translated",
5172+
"value" : "Автоматично приховувати приховані папки"
5173+
}
5174+
},
5175+
"zh-Hans" : {
5176+
"stringUnit" : {
5177+
"state" : "translated",
5178+
"value" : "自动隐藏隐藏文件夹"
5179+
}
5180+
}
5181+
}
5182+
},
51375183
"Automatically switch to grid view" : {
51385184
"localizations" : {
51395185
"de" : {
@@ -29963,7 +30009,7 @@
2996330009
"nl" : {
2996430010
"stringUnit" : {
2996530011
"state" : "translated",
29966-
"value" : "Synctrain kan worden geconfigureerd om gebruik te maken van de diensten die worden aangeboden door de [Syncthing Foundation](https://syncthing.net/foundation) om andere apparaten te kunnen vinden en ermee te verbinden. Wanneer dit is ingeschakeld, stuurt Synctrain je apparaat-ID en IP-adressen naar deze diensten."
30012+
"value" : "Synctrain kan worden geconfigureerd om gebruik te maken van de diensten die worden aangeboden door de [Syncthing Foundation](https://syncthing.net/foundation) om andere apparaten te kunnen vinden en ermee te verbinden. Als dit is ingeschakeld, stuurt Synctrain je apparaat-ID en IP-adressen naar deze diensten."
2996730013
}
2996830014
},
2996930015
"uk" : {
@@ -37197,7 +37243,7 @@
3719737243
"nl" : {
3719837244
"stringUnit" : {
3719937245
"state" : "translated",
37200-
"value" : "Wanneer ingeschakeld, zullen bepaalde bestanden die door het systeem zijn aangemaakt (zoals .DS_Store) niet als 'nieuwe bestanden' worden opgemerkt in mappen die selectief worden gesynchroniseerd. Deze bestanden worden nog steeds gesynchroniseerd in mappen die volledig worden gesynchroniseerd en wanneer ze worden aangemaakt door andere apparaten."
37246+
"value" : "Als dit is ingeschakeld, zullen bepaalde bestanden die door het systeem zijn aangemaakt (zoals .DS_Store) niet als 'nieuwe bestanden' worden opgemerkt in mappen die selectief worden gesynchroniseerd. Deze bestanden worden nog steeds gesynchroniseerd in mappen die volledig worden gesynchroniseerd en wanneer ze worden aangemaakt door andere apparaten."
3720137247
}
3720237248
},
3720337249
"uk" : {
@@ -37243,7 +37289,7 @@
3724337289
"nl" : {
3724437290
"stringUnit" : {
3724537291
"state" : "translated",
37246-
"value" : "Wanneer ingeschakeld, worden bestanden en mappen waarvan de naam begint met een punt niet getoond bij het bladeren door een map. Deze bestanden en mappen blijven zichtbaar in zoekresultaten."
37292+
"value" : "Als dit is ingeschakeld, worden bestanden en mappen waarvan de naam begint met een punt niet getoond bij het bladeren door een map. Deze bestanden en mappen blijven zichtbaar in zoekresultaten."
3724737293
}
3724837294
},
3724937295
"uk" : {
@@ -37260,6 +37306,52 @@
3726037306
}
3726137307
}
3726237308
},
37309+
"When enabled, hidden folders will be hidden in the folder list again each time the app comes to the foreground." : {
37310+
"localizations" : {
37311+
"de" : {
37312+
"stringUnit" : {
37313+
"state" : "translated",
37314+
"value" : "Wenn aktiviert, werden versteckte Ordner jedes Mal, wenn die App in den Vordergrund kommt, wieder in der Ordnerliste verborgen."
37315+
}
37316+
},
37317+
"es" : {
37318+
"stringUnit" : {
37319+
"state" : "translated",
37320+
"value" : "Cuando está habilitado, las carpetas ocultas volverán a ocultarse en la lista de carpetas cada vez que la aplicación pase a primer plano."
37321+
}
37322+
},
37323+
"it" : {
37324+
"stringUnit" : {
37325+
"state" : "translated",
37326+
"value" : "Quando abilitata, le cartelle nascoste verranno nuovamente nascoste nell'elenco delle cartelle ogni volta che l'app torna in primo piano."
37327+
}
37328+
},
37329+
"ja" : {
37330+
"stringUnit" : {
37331+
"state" : "translated",
37332+
"value" : "有効にすると、アプリがフォアグラウンドになるたびに、隠しフォルダはフォルダリストに再び隠されます。"
37333+
}
37334+
},
37335+
"nl" : {
37336+
"stringUnit" : {
37337+
"state" : "translated",
37338+
"value" : "Als dit is ingeschakeld, worden verborgen mappen opnieuw verborgen in de mappenlijst wanneer de app wordt geopend."
37339+
}
37340+
},
37341+
"uk" : {
37342+
"stringUnit" : {
37343+
"state" : "translated",
37344+
"value" : "Коли увімкнено, приховані папки знову будуть приховані у списку папок щоразу, коли додаток виходить на передній план."
37345+
}
37346+
},
37347+
"zh-Hans" : {
37348+
"stringUnit" : {
37349+
"state" : "translated",
37350+
"value" : "启用后,每次应用程序切换到前台时,隐藏文件夹将再次在文件夹列表中隐藏。"
37351+
}
37352+
}
37353+
}
37354+
},
3726337355
"When enabled, the app will listen on default addresses, and will use the default relay pool." : {
3726437356
"localizations" : {
3726537357
"de" : {
@@ -37289,7 +37381,7 @@
3728937381
"nl" : {
3729037382
"stringUnit" : {
3729137383
"state" : "translated",
37292-
"value" : "Wanneer ingeschakeld, luistert de app op standaardadressen en gebruikt deze de standaard relay pool."
37384+
"value" : "Als dit is ingeschakeld, luistert de app op standaardadressen en gebruikt deze de standaard relay pool."
3729337385
}
3729437386
},
3729537387
"uk" : {
@@ -37335,7 +37427,7 @@
3733537427
"nl" : {
3733637428
"stringUnit" : {
3733737429
"state" : "translated",
37338-
"value" : "Wanneer ingeschakeld, zal de app automatisch adressen voor dit apparaat opzoeken met behulp van verschillende ontdekkingsmechanismen."
37430+
"value" : "Als dit is ingeschakeld, zal de app automatisch adressen voor dit apparaat opzoeken met behulp van verschillende ontdekkingsmechanismen."
3733937431
}
3734037432
},
3734137433
"uk" : {
@@ -37381,7 +37473,7 @@
3738137473
"nl" : {
3738237474
"stringUnit" : {
3738337475
"state" : "translated",
37384-
"value" : "Wanneer ingeschakeld, zal de app uw apparaat registreren bij de Syncthing relay pool. Uw andere apparaten kunnen er dan indien nodig via een relay mee verbinden."
37476+
"value" : "Als dit is ingeschakeld, zal de app uw apparaat registreren bij de Syncthing relay pool. Uw andere apparaten kunnen er dan indien nodig via een relay mee verbinden."
3738537477
}
3738637478
},
3738737479
"uk" : {
@@ -37427,7 +37519,7 @@
3742737519
"nl" : {
3742837520
"stringUnit" : {
3742937521
"state" : "translated",
37430-
"value" : "Wanneer ingeschakeld, zal de app de standaard ontdekkingsservice gebruiken om zichzelf aan te kondigen."
37522+
"value" : "Als dit is ingeschakeld, zal de app de standaard ontdekkingsservice gebruiken om zichzelf aan te kondigen."
3743137523
}
3743237524
},
3743337525
"uk" : {
@@ -37473,7 +37565,7 @@
3747337565
"nl" : {
3747437566
"stringUnit" : {
3747537567
"state" : "translated",
37476-
"value" : "Wanneer ingeschakeld, zal de app de standaard STUN-servers gebruiken."
37568+
"value" : "Als dit is ingeschakeld, zal de app de standaard STUN-servers gebruiken."
3747737569
}
3747837570
},
3747937571
"uk" : {
@@ -37657,7 +37749,7 @@
3765737749
"nl" : {
3765837750
"stringUnit" : {
3765937751
"state" : "translated",
37660-
"value" : "Wanneer dit is ingeschakeld probeert de app niet om met meer apparaten te verbinden zodra er één verbinding tot stand is gekomen met een apparaat."
37752+
"value" : "Als dit is ingeschakeld probeert de app niet om met meer apparaten te verbinden zodra er één verbinding tot stand is gekomen met een apparaat."
3766137753
}
3766237754
},
3766337755
"uk" : {

Sushitrain/AppState.swift

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,11 @@ class SushitrainDelegate: NSObject {
9595
@AppStorage("userPausedDevices") var userPausedDevices = Set<String>()
9696
@AppStorage("ignoreLongTimeNoSeeDevices") var ignoreLongTimeNoSeeDevices = Set<String>()
9797

98+
#if os(iOS)
99+
// Whether to re-enable hideHiddenFolders when app comes to the foreground
100+
@AppStorage("rehideHiddenFoldersOnActivate") var rehideHiddenFoldersOnActivate: Bool = false
101+
#endif
102+
98103
@AppStorage("onboardingVersionShown") var onboardingVersionShown = 0
99104

100105
// Number of seconds after which we remind the user that a device hasn't connected in a while
@@ -688,6 +693,12 @@ struct SyncState {
688693
func awake() async {
689694
self.startNetworkMonitor()
690695

696+
#if os(iOS)
697+
if self.userSettings.rehideHiddenFoldersOnActivate {
698+
self.userSettings.hideHiddenFolders = true
699+
}
700+
#endif
701+
691702
#if os(iOS)
692703
self.lingerManager.cancelLingering()
693704
Task.detached {

Sushitrain/SettingsView.swift

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1057,6 +1057,17 @@ struct ViewSettingsView: View {
10571057
isOn: userSettings.$enableSwipeFilesInPreview)
10581058
}
10591059
#endif
1060+
1061+
#if os(iOS)
1062+
Section {
1063+
Toggle(isOn: userSettings.$rehideHiddenFoldersOnActivate) {
1064+
Label("Automatically hide hidden folders", systemImage: "eye.slash")
1065+
}
1066+
} footer: {
1067+
Text(
1068+
"When enabled, hidden folders will be hidden in the folder list again each time the app comes to the foreground.")
1069+
}
1070+
#endif
10601071
}
10611072
.navigationTitle("View settings")
10621073
#if os(iOS)

0 commit comments

Comments
 (0)