소스 검색

rename files and sort them
also document the naming rules that I applied

Simon Laux 2 년 전
부모
커밋
6207e831eb

+ 61 - 33
deltachat-ios.xcodeproj/project.pbxproj

@@ -32,7 +32,7 @@
 		302B84C72396770B001C261F /* RelayHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 302B84C42396627F001C261F /* RelayHelper.swift */; };
 		302B84CE2397F6CD001C261F /* URL+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 302B84CD2397F6CD001C261F /* URL+Extension.swift */; };
 		302D5450268B6B2300A8B271 /* MessageUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 302D544F268B6B2300A8B271 /* MessageUtils.swift */; };
-		302D5454268B84CB00A8B271 /* SettingsVideoChatViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 302D5453268B84CB00A8B271 /* SettingsVideoChatViewController.swift */; };
+		302D5454268B84CB00A8B271 /* VideoChat.swift in Sources */ = {isa = PBXBuildFile; fileRef = 302D5453268B84CB00A8B271 /* VideoChat.swift */; };
 		302D546A2693591700A8B271 /* ChatContactRequestBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 302D54692693591700A8B271 /* ChatContactRequestBar.swift */; };
 		302E1BB4252B5AB4008F4264 /* PlayButtonView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 302E1BB3252B5AB4008F4264 /* PlayButtonView.swift */; };
 		302E592426A5CF4800DD4F58 /* ConnectivityViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 302E592326A5CF4800DD4F58 /* ConnectivityViewController.swift */; };
@@ -73,7 +73,7 @@
 		3067AAC72667F3FE00525036 /* ImageFormat.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3067AAC52667F3FE00525036 /* ImageFormat.swift */; };
 		306C32322445CDE9001D89F3 /* DcLogger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 306C32312445CDE9001D89F3 /* DcLogger.swift */; };
 		30703B6D27AA80FF00BDADE6 /* WebxdcCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30703B6C27AA80FF00BDADE6 /* WebxdcCell.swift */; };
-		30734326249A280B00BF9AD1 /* MediaQualityController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30734325249A280B00BF9AD1 /* MediaQualityController.swift */; };
+		30734326249A280B00BF9AD1 /* MediaQuality.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30734325249A280B00BF9AD1 /* MediaQuality.swift */; };
 		307A82CC25B8D26700748B57 /* ChatEditingBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 307A82CB25B8D26700748B57 /* ChatEditingBar.swift */; };
 		307D822E241669C7006D2490 /* LocationManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 307D822D241669C7006D2490 /* LocationManager.swift */; };
 		3080A00F277DDA4C00E74565 /* InputBarAccessoryView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3080A00E277DDA4C00E74565 /* InputBarAccessoryView.swift */; };
@@ -95,7 +95,7 @@
 		3080A036277DE30100E74565 /* NSMutableAttributedString+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3080A031277DE30000E74565 /* NSMutableAttributedString+Extensions.swift */; };
 		3080A037277DE30100E74565 /* UITextView+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3080A032277DE30000E74565 /* UITextView+Extensions.swift */; };
 		3080A038277DE30100E74565 /* UIView+AutoLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3080A033277DE30100E74565 /* UIView+AutoLayout.swift */; };
-		30860EE926F49E64002651A6 /* DownloadOnDemandViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30860EE826F49E64002651A6 /* DownloadOnDemandViewController.swift */; };
+		30860EE926F49E64002651A6 /* DownloadOnDemand.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30860EE826F49E64002651A6 /* DownloadOnDemand.swift */; };
 		308850A0282A914F00204623 /* DcMsg+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 304219D82440734A00516852 /* DcMsg+Extension.swift */; };
 		3095A351237DD1F700AB07F7 /* MediaPicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3095A350237DD1F700AB07F7 /* MediaPicker.swift */; };
 		309D14DA28F482D300F7BA29 /* NSAttributedString+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 305961862346125000C80F33 /* NSAttributedString+Extensions.swift */; };
@@ -110,7 +110,7 @@
 		30C7D5F028F47F4F0078D24C /* InitialsBadge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30C7D5EA28F47E610078D24C /* InitialsBadge.swift */; };
 		30C7D5F128F4808C0078D24C /* MessageCounter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30C7D5EB28F47E620078D24C /* MessageCounter.swift */; };
 		30CE137828D9C40800158DF4 /* ChatDropInteraction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30CE137728D9C40700158DF4 /* ChatDropInteraction.swift */; };
-		30DAF71C275901610073C154 /* SettingsBackgroundSelectionController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30DAF71B275901610073C154 /* SettingsBackgroundSelectionController.swift */; };
+		30DAF71C275901610073C154 /* BackgroundSelection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30DAF71B275901610073C154 /* BackgroundSelection.swift */; };
 		30E348DF24F3F819005C93D1 /* ChatTableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30E348DE24F3F819005C93D1 /* ChatTableView.swift */; };
 		30E348E124F53772005C93D1 /* ImageTextCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30E348E024F53772005C93D1 /* ImageTextCell.swift */; };
 		30E348E524F6647D005C93D1 /* FileTextCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30E348E424F6647D005C93D1 /* FileTextCell.swift */; };
@@ -192,13 +192,13 @@
 		AEE56D762253431E007DC082 /* AccountSetupController.swift in Sources */ = {isa = PBXBuildFile; fileRef = AEE56D752253431E007DC082 /* AccountSetupController.swift */; };
 		AEE56D80225504DB007DC082 /* Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = AEE56D7F225504DB007DC082 /* Extensions.swift */; };
 		AEE6EC3F2282C59C00EDC689 /* GroupMembersViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = AEE6EC3E2282C59C00EDC689 /* GroupMembersViewController.swift */; };
-		AEE6EC482283045D00EDC689 /* EditSettingsController.swift in Sources */ = {isa = PBXBuildFile; fileRef = AEE6EC472283045D00EDC689 /* EditSettingsController.swift */; };
+		AEE6EC482283045D00EDC689 /* Profile.swift in Sources */ = {isa = PBXBuildFile; fileRef = AEE6EC472283045D00EDC689 /* Profile.swift */; };
 		AEE700252438E0E500D6992E /* ProgressAlertHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = AEE700242438E0E500D6992E /* ProgressAlertHandler.swift */; };
 		AEF53BD5248904BF00D309C1 /* GalleryTimeLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = AEF53BD4248904BF00D309C1 /* GalleryTimeLabel.swift */; };
 		AEFBE22F23FEF23D0045327A /* ProviderInfoCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = AEFBE22E23FEF23D0045327A /* ProviderInfoCell.swift */; };
-		B20462E42440A4A600367A57 /* SettingsAutodelOverviewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B20462E32440A4A600367A57 /* SettingsAutodelOverviewController.swift */; };
-		B20462E62440C99600367A57 /* SettingsAutodelSetController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B20462E52440C99600367A57 /* SettingsAutodelSetController.swift */; };
-		B21005DB23383664004C70C5 /* SettingsClassicViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B21005DA23383664004C70C5 /* SettingsClassicViewController.swift */; };
+		B20462E42440A4A600367A57 /* AutodeletionOverview.swift in Sources */ = {isa = PBXBuildFile; fileRef = B20462E32440A4A600367A57 /* AutodeletionOverview.swift */; };
+		B20462E62440C99600367A57 /* SetAutodeletion.swift in Sources */ = {isa = PBXBuildFile; fileRef = B20462E52440C99600367A57 /* SetAutodeletion.swift */; };
+		B21005DB23383664004C70C5 /* ShowEmail.swift in Sources */ = {isa = PBXBuildFile; fileRef = B21005DA23383664004C70C5 /* ShowEmail.swift */; };
 		B26B3BC7236DC3DC008ED35A /* SwitchCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = B26B3BC6236DC3DC008ED35A /* SwitchCell.swift */; };
 		B2C42570265C325C00B95377 /* MultilineLabelCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2C4256F265C325C00B95377 /* MultilineLabelCell.swift */; };
 /* End PBXBuildFile section */
@@ -247,6 +247,8 @@
 
 /* Begin PBXFileReference section */
 		08432784282DC739B8EAC1E2 /* Pods-DcShare.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DcShare.debug.xcconfig"; path = "Pods/Target Support Files/Pods-DcShare/Pods-DcShare.debug.xcconfig"; sourceTree = "<group>"; };
+		21B0746F2902BF94002CC69E /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
+		21B074702902C1DC002CC69E /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
 		21CCE7C428E73AA500BC369E /* AccountSwitcherHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountSwitcherHandler.swift; sourceTree = "<group>"; };
 		21D6C9392606190600D0755A /* NotificationManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationManager.swift; sourceTree = "<group>"; };
 		21EE28844E7A690D73BF5285 /* Pods-deltachat-iosTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-deltachat-iosTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-deltachat-iosTests/Pods-deltachat-iosTests.debug.xcconfig"; sourceTree = "<group>"; };
@@ -285,7 +287,7 @@
 		302B84C42396627F001C261F /* RelayHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RelayHelper.swift; sourceTree = "<group>"; };
 		302B84CD2397F6CD001C261F /* URL+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "URL+Extension.swift"; sourceTree = "<group>"; };
 		302D544F268B6B2300A8B271 /* MessageUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageUtils.swift; sourceTree = "<group>"; };
-		302D5453268B84CB00A8B271 /* SettingsVideoChatViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsVideoChatViewController.swift; sourceTree = "<group>"; };
+		302D5453268B84CB00A8B271 /* VideoChat.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VideoChat.swift; sourceTree = "<group>"; };
 		302D54692693591700A8B271 /* ChatContactRequestBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatContactRequestBar.swift; sourceTree = "<group>"; };
 		302E1BB3252B5AB4008F4264 /* PlayButtonView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = PlayButtonView.swift; path = "deltachat-ios/Chat/Views/PlayButtonView.swift"; sourceTree = SOURCE_ROOT; };
 		302E592326A5CF4800DD4F58 /* ConnectivityViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConnectivityViewController.swift; sourceTree = "<group>"; };
@@ -357,7 +359,7 @@
 		3067AAC52667F3FE00525036 /* ImageFormat.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ImageFormat.swift; sourceTree = "<group>"; };
 		306C32312445CDE9001D89F3 /* DcLogger.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DcLogger.swift; sourceTree = "<group>"; };
 		30703B6C27AA80FF00BDADE6 /* WebxdcCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WebxdcCell.swift; sourceTree = "<group>"; };
-		30734325249A280B00BF9AD1 /* MediaQualityController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MediaQualityController.swift; sourceTree = "<group>"; };
+		30734325249A280B00BF9AD1 /* MediaQuality.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MediaQuality.swift; sourceTree = "<group>"; };
 		307A82CB25B8D26700748B57 /* ChatEditingBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatEditingBar.swift; sourceTree = "<group>"; };
 		307D822D241669C7006D2490 /* LocationManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocationManager.swift; sourceTree = "<group>"; };
 		3080A00E277DDA4C00E74565 /* InputBarAccessoryView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = InputBarAccessoryView.swift; sourceTree = "<group>"; };
@@ -379,7 +381,7 @@
 		3080A031277DE30000E74565 /* NSMutableAttributedString+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSMutableAttributedString+Extensions.swift"; sourceTree = "<group>"; };
 		3080A032277DE30000E74565 /* UITextView+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UITextView+Extensions.swift"; sourceTree = "<group>"; };
 		3080A033277DE30100E74565 /* UIView+AutoLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIView+AutoLayout.swift"; sourceTree = "<group>"; };
-		30860EE826F49E64002651A6 /* DownloadOnDemandViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DownloadOnDemandViewController.swift; sourceTree = "<group>"; };
+		30860EE826F49E64002651A6 /* DownloadOnDemand.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DownloadOnDemand.swift; sourceTree = "<group>"; };
 		3095A350237DD1F700AB07F7 /* MediaPicker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MediaPicker.swift; sourceTree = "<group>"; };
 		30A4149624F6EFBE00EC91EB /* InfoMessageCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InfoMessageCell.swift; sourceTree = "<group>"; };
 		30AAD71A2762869600DE3DC1 /* SelectableCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectableCell.swift; sourceTree = "<group>"; };
@@ -390,7 +392,7 @@
 		30C7D5EA28F47E610078D24C /* InitialsBadge.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = InitialsBadge.swift; sourceTree = "<group>"; };
 		30C7D5EB28F47E620078D24C /* MessageCounter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MessageCounter.swift; sourceTree = "<group>"; };
 		30CE137728D9C40700158DF4 /* ChatDropInteraction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatDropInteraction.swift; sourceTree = "<group>"; };
-		30DAF71B275901610073C154 /* SettingsBackgroundSelectionController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsBackgroundSelectionController.swift; sourceTree = "<group>"; };
+		30DAF71B275901610073C154 /* BackgroundSelection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BackgroundSelection.swift; sourceTree = "<group>"; };
 		30E348DE24F3F819005C93D1 /* ChatTableView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatTableView.swift; sourceTree = "<group>"; };
 		30E348E024F53772005C93D1 /* ImageTextCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageTextCell.swift; sourceTree = "<group>"; };
 		30E348E424F6647D005C93D1 /* FileTextCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FileTextCell.swift; sourceTree = "<group>"; };
@@ -479,16 +481,16 @@
 		AEE56D752253431E007DC082 /* AccountSetupController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountSetupController.swift; sourceTree = "<group>"; tabWidth = 4; };
 		AEE56D7F225504DB007DC082 /* Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Extensions.swift; sourceTree = "<group>"; };
 		AEE6EC3E2282C59C00EDC689 /* GroupMembersViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GroupMembersViewController.swift; sourceTree = "<group>"; };
-		AEE6EC472283045D00EDC689 /* EditSettingsController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EditSettingsController.swift; sourceTree = "<group>"; };
+		AEE6EC472283045D00EDC689 /* Profile.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Profile.swift; sourceTree = "<group>"; };
 		AEE700242438E0E500D6992E /* ProgressAlertHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgressAlertHandler.swift; sourceTree = "<group>"; };
 		AEF53BD4248904BF00D309C1 /* GalleryTimeLabel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GalleryTimeLabel.swift; sourceTree = "<group>"; };
 		AEFBE22E23FEF23D0045327A /* ProviderInfoCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProviderInfoCell.swift; sourceTree = "<group>"; };
 		B20462E02440805C00367A57 /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/InfoPlist.strings; sourceTree = "<group>"; };
 		B20462E12440805C00367A57 /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/Localizable.strings; sourceTree = "<group>"; };
 		B20462E22440805C00367A57 /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = id; path = id.lproj/Localizable.stringsdict; sourceTree = "<group>"; };
-		B20462E32440A4A600367A57 /* SettingsAutodelOverviewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SettingsAutodelOverviewController.swift; sourceTree = "<group>"; };
-		B20462E52440C99600367A57 /* SettingsAutodelSetController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SettingsAutodelSetController.swift; sourceTree = "<group>"; };
-		B21005DA23383664004C70C5 /* SettingsClassicViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SettingsClassicViewController.swift; sourceTree = "<group>"; };
+		B20462E32440A4A600367A57 /* AutodeletionOverview.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AutodeletionOverview.swift; sourceTree = "<group>"; };
+		B20462E52440C99600367A57 /* SetAutodeletion.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SetAutodeletion.swift; sourceTree = "<group>"; };
+		B21005DA23383664004C70C5 /* ShowEmail.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ShowEmail.swift; sourceTree = "<group>"; };
 		B2537DD625E2F92F0010D739 /* ckb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ckb; path = ckb.lproj/InfoPlist.strings; sourceTree = "<group>"; };
 		B2537DD725E2F92F0010D739 /* ckb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ckb; path = ckb.lproj/Localizable.strings; sourceTree = "<group>"; };
 		B2537DD825E2F92F0010D739 /* ckb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = ckb; path = ckb.lproj/Localizable.stringsdict; sourceTree = "<group>"; };
@@ -587,6 +589,40 @@
 /* End PBXFrameworksBuildPhase section */
 
 /* Begin PBXGroup section */
+		21B0746C2902BB90002CC69E /* Settings */ = {
+			isa = PBXGroup;
+			children = (
+				21B0746E2902BEAE002CC69E /* SingleSettings */,
+				21B0746D2902BEA5002CC69E /* Pages */,
+				78E45E3921D3CFBC00D4B15E /* SettingsController.swift */,
+			);
+			path = Settings;
+			sourceTree = "<group>";
+		};
+		21B0746D2902BEA5002CC69E /* Pages */ = {
+			isa = PBXGroup;
+			children = (
+				AEE6EC472283045D00EDC689 /* Profile.swift */,
+				21B074702902C1DC002CC69E /* README.md */,
+			);
+			path = Pages;
+			sourceTree = "<group>";
+		};
+		21B0746E2902BEAE002CC69E /* SingleSettings */ = {
+			isa = PBXGroup;
+			children = (
+				30860EE826F49E64002651A6 /* DownloadOnDemand.swift */,
+				30734325249A280B00BF9AD1 /* MediaQuality.swift */,
+				B21005DA23383664004C70C5 /* ShowEmail.swift */,
+				B20462E32440A4A600367A57 /* AutodeletionOverview.swift */,
+				B20462E52440C99600367A57 /* SetAutodeletion.swift */,
+				302D5453268B84CB00A8B271 /* VideoChat.swift */,
+				30DAF71B275901610073C154 /* BackgroundSelection.swift */,
+				21B0746F2902BF94002CC69E /* README.md */,
+			);
+			path = SingleSettings;
+			sourceTree = "<group>";
+		};
 		304219D7244072E600516852 /* DC */ = {
 			isa = PBXGroup;
 			children = (
@@ -925,6 +961,7 @@
 		AE851AC0227C693B00ED86F0 /* Controller */ = {
 			isa = PBXGroup;
 			children = (
+				21B0746C2902BB90002CC69E /* Settings */,
 				3015634323A003BA00E9DEF4 /* AudioRecorderController.swift */,
 				AE18F28B228C17630007B1BE /* AccountSetup */,
 				AEE56D752253431E007DC082 /* AccountSetupController.swift */,
@@ -933,7 +970,6 @@
 				7092474020B3869500AF8799 /* ContactDetailViewController.swift */,
 				AE9DAF0C22C1215D004C9591 /* EditContactController.swift */,
 				AE52EA1F229EB9F000C586C9 /* EditGroupViewController.swift */,
-				AEE6EC472283045D00EDC689 /* EditSettingsController.swift */,
 				AE851ACF227DF50900ED86F0 /* GroupChatDetailViewController.swift */,
 				AEE6EC3E2282C59C00EDC689 /* GroupMembersViewController.swift */,
 				302E592326A5CF4800DD4F58 /* ConnectivityViewController.swift */,
@@ -950,17 +986,9 @@
 				789E879521D6CB58003ED1C5 /* QrCodeReaderController.swift */,
 				AECEF03D244F2D55006C90DA /* QrPageController.swift */,
 				30149D9222F21129003C12B5 /* QrViewController.swift */,
-				B21005DA23383664004C70C5 /* SettingsClassicViewController.swift */,
 				30B0ACF924AB5B99004D5E29 /* SettingsEphemeralMessageController.swift */,
-				78E45E3921D3CFBC00D4B15E /* SettingsController.swift */,
-				B20462E32440A4A600367A57 /* SettingsAutodelOverviewController.swift */,
-				B20462E52440C99600367A57 /* SettingsAutodelSetController.swift */,
-				302D5453268B84CB00A8B271 /* SettingsVideoChatViewController.swift */,
-				30DAF71B275901610073C154 /* SettingsBackgroundSelectionController.swift */,
 				AE8F503424753DFE007FEE0B /* GalleryViewController.swift */,
 				30238CFA28A501C300EF14AC /* WebxdcSelector.swift */,
-				30734325249A280B00BF9AD1 /* MediaQualityController.swift */,
-				30860EE826F49E64002651A6 /* DownloadOnDemandViewController.swift */,
 				AED423D2249F578B00B6B2BB /* AddGroupMembersViewController.swift */,
 				AED423D6249F580700B6B2BB /* BlockedContactsViewController.swift */,
 				AE39D322249CFC1A007346A1 /* DocumentGalleryController.swift */,
@@ -1451,7 +1479,7 @@
 				AE52EA19229EB53C00C586C9 /* ContactDetailHeader.swift in Sources */,
 				78E45E4421D3F14A00D4B15E /* UIImage+Extension.swift in Sources */,
 				3080A022277DE09900E74565 /* InputTextView.swift in Sources */,
-				30734326249A280B00BF9AD1 /* MediaQualityController.swift in Sources */,
+				30734326249A280B00BF9AD1 /* MediaQuality.swift in Sources */,
 				3080A01C277DDB8A00E74565 /* InputBarAccessoryViewDelegate.swift in Sources */,
 				AE6EC5282497B9B200A400E4 /* ThumbnailCache.swift in Sources */,
 				30FDB70524D1C1000066C48D /* ChatViewController.swift in Sources */,
@@ -1462,14 +1490,14 @@
 				AE39D323249CFC1A007346A1 /* DocumentGalleryController.swift in Sources */,
 				AE8DD451249D1DFB009A4BC1 /* DocumentGalleryFileCell.swift in Sources */,
 				3095A351237DD1F700AB07F7 /* MediaPicker.swift in Sources */,
-				B21005DB23383664004C70C5 /* SettingsClassicViewController.swift in Sources */,
+				B21005DB23383664004C70C5 /* ShowEmail.swift in Sources */,
 				AEC67A1C241CE9E4007DDBE1 /* AppStateRestorer.swift in Sources */,
 				3008CB7224F93EB900E6A617 /* AudioMessageCell.swift in Sources */,
 				302E1BB4252B5AB4008F4264 /* PlayButtonView.swift in Sources */,
 				303492AD2577CAC300A523D0 /* FileView.swift in Sources */,
 				7AE0A5491FC42F65005ECB4B /* NewChatViewController.swift in Sources */,
 				AE77838F23E4276D0093EABD /* ContactCellViewModel.swift in Sources */,
-				B20462E62440C99600367A57 /* SettingsAutodelSetController.swift in Sources */,
+				B20462E62440C99600367A57 /* SetAutodeletion.swift in Sources */,
 				3015634423A003BA00E9DEF4 /* AudioRecorderController.swift in Sources */,
 				30F4E2942859213400ACA0D8 /* ChatListEditingBar.swift in Sources */,
 				AE57C0802552BBD0003CFE70 /* GalleryItem.swift in Sources */,
@@ -1478,7 +1506,7 @@
 				302B84C6239676F0001C261F /* AvatarHelper.swift in Sources */,
 				AE77838D23E32ED20093EABD /* ContactDetailViewModel.swift in Sources */,
 				3080A02D277DE26000E74565 /* HorizontalEdgePadding.swift in Sources */,
-				30DAF71C275901610073C154 /* SettingsBackgroundSelectionController.swift in Sources */,
+				30DAF71C275901610073C154 /* BackgroundSelection.swift in Sources */,
 				3010968926838A050032CBA0 /* VideoInviteCell.swift in Sources */,
 				303492CB257A814200A523D0 /* DraftArea.swift in Sources */,
 				AEE6EC3F2282C59C00EDC689 /* GroupMembersViewController.swift in Sources */,
@@ -1504,13 +1532,13 @@
 				30149D9322F21129003C12B5 /* QrViewController.swift in Sources */,
 				AEE56D80225504DB007DC082 /* Extensions.swift in Sources */,
 				7A0052C81FBE6CB40048C3BF /* NewContactController.swift in Sources */,
-				30860EE926F49E64002651A6 /* DownloadOnDemandViewController.swift in Sources */,
+				30860EE926F49E64002651A6 /* DownloadOnDemand.swift in Sources */,
 				AEE56D762253431E007DC082 /* AccountSetupController.swift in Sources */,
 				3080A015277DDABA00E74565 /* KeyboardEvent.swift in Sources */,
 				AE8F503524753DFE007FEE0B /* GalleryViewController.swift in Sources */,
 				B2C42570265C325C00B95377 /* MultilineLabelCell.swift in Sources */,
 				AEF53BD5248904BF00D309C1 /* GalleryTimeLabel.swift in Sources */,
-				AEE6EC482283045D00EDC689 /* EditSettingsController.swift in Sources */,
+				AEE6EC482283045D00EDC689 /* Profile.swift in Sources */,
 				30653081254358B10093E196 /* QuoteView.swift in Sources */,
 				3067AAC62667F3FE00525036 /* ImageFormat.swift in Sources */,
 				30E348DF24F3F819005C93D1 /* ChatTableView.swift in Sources */,
@@ -1542,7 +1570,7 @@
 				30FDB71F24D8170E0066C48D /* TextMessageCell.swift in Sources */,
 				3080A00F277DDA4C00E74565 /* InputBarAccessoryView.swift in Sources */,
 				AE1988A523EB2FBA00B4CD5F /* Errors.swift in Sources */,
-				302D5454268B84CB00A8B271 /* SettingsVideoChatViewController.swift in Sources */,
+				302D5454268B84CB00A8B271 /* VideoChat.swift in Sources */,
 				3080A014277DDABA00E74565 /* KeyboardManager.swift in Sources */,
 				AEFBE22F23FEF23D0045327A /* ProviderInfoCell.swift in Sources */,
 				AE6EC5242497663200A400E4 /* UIImageView+Extensions.swift in Sources */,
@@ -1551,7 +1579,7 @@
 				3080A02C277DE26000E74565 /* NSConstraintLayoutSet.swift in Sources */,
 				3080A038277DE30100E74565 /* UIView+AutoLayout.swift in Sources */,
 				30B0ACFA24AB5B99004D5E29 /* SettingsEphemeralMessageController.swift in Sources */,
-				B20462E42440A4A600367A57 /* SettingsAutodelOverviewController.swift in Sources */,
+				B20462E42440A4A600367A57 /* AutodeletionOverview.swift in Sources */,
 				305962102346154D00C80F33 /* String+Extension.swift in Sources */,
 				789E879621D6CB58003ED1C5 /* QrCodeReaderController.swift in Sources */,
 				305961D22346125100C80F33 /* CGRect+Extensions.swift in Sources */,

+ 2 - 2
deltachat-ios/Controller/Settings/EditSettingsController.swift → deltachat-ios/Controller/Settings/Pages/Profile.swift

@@ -1,7 +1,7 @@
 import UIKit
 import DcCore
 
-class EditSettingsController: UITableViewController, MediaPickerDelegate {
+class ProfileSettingsPage: UITableViewController, MediaPickerDelegate {
     private let dcContext: DcContext
     private let dcAccounts: DcAccounts
 
@@ -163,7 +163,7 @@ class EditSettingsController: UITableViewController, MediaPickerDelegate {
 }
 
 
-extension EditSettingsController: UITextFieldDelegate {
+extension ProfileSettingsPage: UITextFieldDelegate {
 
     func textFieldShouldReturn(_ textField: UITextField) -> Bool {
         textField.resignFirstResponder()

+ 10 - 0
deltachat-ios/Controller/Settings/Pages/README.md

@@ -0,0 +1,10 @@
+#  Settings Pages
+
+This group is for settings pages that combine multiple settings on one page.
+
+
+## Naming
+
+Class names should end with `SettingsPage` so they can be identified as what they are over the whole project.
+
+File names should not contain `Settings`, `Controller`, nor `Page` because the group/folder already tells what it is.

+ 13 - 13
deltachat-ios/Controller/Settings/SettingsController.swift

@@ -68,7 +68,7 @@ internal final class SettingsViewController: UITableViewController, ProgressAler
         cell.tag = CellTags.showEmails.rawValue
         cell.textLabel?.text = String.localized("pref_show_emails")
         cell.accessoryType = .disclosureIndicator
-        cell.detailTextLabel?.text = SettingsClassicViewController.getValString(val: dcContext.showEmails)
+        cell.detailTextLabel?.text = ShowEmailSettingVC.getValString(val: dcContext.showEmails)
         return cell
     }()
 
@@ -104,7 +104,7 @@ internal final class SettingsViewController: UITableViewController, ProgressAler
         cell.tag = CellTags.mediaQuality.rawValue
         cell.textLabel?.text = String.localized("pref_outgoing_media_quality")
         cell.accessoryType = .disclosureIndicator
-        cell.detailTextLabel?.text = MediaQualityController.getValString(val: dcContext.getConfigInt("media_quality"))
+        cell.detailTextLabel?.text = MediaQualitySettingVC.getValString(val: dcContext.getConfigInt("media_quality"))
         return cell
     }()
 
@@ -113,7 +113,7 @@ internal final class SettingsViewController: UITableViewController, ProgressAler
         cell.tag = CellTags.downloadOnDemand.rawValue
         cell.textLabel?.text = String.localized("auto_download_messages")
         cell.accessoryType = .disclosureIndicator
-        cell.detailTextLabel?.text = DownloadOnDemandViewController.getValString(val: dcContext.getConfigInt("download_limit"))
+        cell.detailTextLabel?.text = DownloadOnDemandSettingVC.getValString(val: dcContext.getConfigInt("download_limit"))
         return cell
     }()
 
@@ -540,9 +540,9 @@ internal final class SettingsViewController: UITableViewController, ProgressAler
     // MARK: - updates
     private func updateCells() {
         profileCell.updateCell(cellViewModel: ProfileViewModel(context: dcContext))
-        showEmailsCell.detailTextLabel?.text = SettingsClassicViewController.getValString(val: dcContext.showEmails)
-        mediaQualityCell.detailTextLabel?.text = MediaQualityController.getValString(val: dcContext.getConfigInt("media_quality"))
-        downloadOnDemandCell.detailTextLabel?.text = DownloadOnDemandViewController.getValString(
+        showEmailsCell.detailTextLabel?.text = ShowEmailSettingVC.getValString(val: dcContext.showEmails)
+        mediaQualityCell.detailTextLabel?.text = MediaQualitySettingVC.getValString(val: dcContext.getConfigInt("media_quality"))
+        downloadOnDemandCell.detailTextLabel?.text = DownloadOnDemandSettingVC.getValString(
             val: dcContext.getConfigInt("download_limit"))
         videoChatInstanceCell.detailTextLabel?.text = dcContext.getConfig("webrtc_instance")
         autodelCell.detailTextLabel?.text = autodelSummary()
@@ -552,27 +552,27 @@ internal final class SettingsViewController: UITableViewController, ProgressAler
 
     // MARK: - coordinator
     private func showEditSettingsController() {
-        let editController = EditSettingsController(dcAccounts: dcAccounts)
+        let editController = ProfileSettingsPage(dcAccounts: dcAccounts)
         navigationController?.pushViewController(editController, animated: true)
     }
 
     private func showClassicMail() {
-        let settingsClassicViewController = SettingsClassicViewController(dcContext: dcContext)
+        let settingsClassicViewController = ShowEmailSettingVC(dcContext: dcContext)
         navigationController?.pushViewController(settingsClassicViewController, animated: true)
     }
 
     private func  showMediaQuality() {
-        let mediaQualityController = MediaQualityController(dcContext: dcContext)
+        let mediaQualityController = MediaQualitySettingVC(dcContext: dcContext)
         navigationController?.pushViewController(mediaQualityController, animated: true)
     }
 
     private func showDownloadOnDemand() {
-        let downloadOnDemandViewController = DownloadOnDemandViewController(dcContext: dcContext)
+        let downloadOnDemandViewController = DownloadOnDemandSettingVC(dcContext: dcContext)
         navigationController?.pushViewController(downloadOnDemandViewController, animated: true)
     }
 
     private func showVideoChatInstance() {
-        let videoInstanceController = SettingsVideoChatViewController(dcContext: dcContext)
+        let videoInstanceController = VideoChatSettingVC(dcContext: dcContext)
         navigationController?.pushViewController(videoInstanceController, animated: true)
     }
 
@@ -587,7 +587,7 @@ internal final class SettingsViewController: UITableViewController, ProgressAler
     }
 
     private func showAutodelOptions() {
-        let settingsAutodelOverviewController = SettingsAutodelOverviewController(dcContext: dcContext)
+        let settingsAutodelOverviewController = AutodeletionOverviewSettingVC(dcContext: dcContext)
         navigationController?.pushViewController(settingsAutodelOverviewController, animated: true)
     }
 
@@ -600,7 +600,7 @@ internal final class SettingsViewController: UITableViewController, ProgressAler
     }
 
     private func selectBackground() {
-        navigationController?.pushViewController(SettingsBackgroundSelectionController(dcContext: dcContext), animated: true)
+        navigationController?.pushViewController(BackgroundSelectionSettingVC(dcContext: dcContext), animated: true)
     }
 
     public static func showDebugToolkit(dcContext: DcContext) {

+ 7 - 7
deltachat-ios/Controller/Settings/SettingsAutodelOverviewController.swift → deltachat-ios/Controller/Settings/SingleSettings/AutodeletionOverview.swift

@@ -1,7 +1,7 @@
 import UIKit
 import DcCore
 
-class SettingsAutodelOverviewController: UITableViewController {
+class AutodeletionOverviewSettingVC: UITableViewController {
 
     var dcContext: DcContext
 
@@ -19,7 +19,7 @@ class SettingsAutodelOverviewController: UITableViewController {
         let cell = UITableViewCell(style: .value1, reuseIdentifier: nil)
         cell.tag = CellTags.autodelDevice.rawValue
         cell.accessoryType = .disclosureIndicator
-        cell.textLabel?.text = SettingsAutodelSetController.getSummary(dcContext, fromServer: false)
+        cell.textLabel?.text = SetAutodeletionSettingVC.getSummary(dcContext, fromServer: false)
         return cell
     }()
 
@@ -27,7 +27,7 @@ class SettingsAutodelOverviewController: UITableViewController {
         let cell = UITableViewCell(style: .value1, reuseIdentifier: nil)
         cell.tag = CellTags.autodelServer.rawValue
         cell.accessoryType = .disclosureIndicator
-        cell.textLabel?.text = SettingsAutodelSetController.getSummary(dcContext, fromServer: true)
+        cell.textLabel?.text = SetAutodeletionSettingVC.getSummary(dcContext, fromServer: true)
         return cell
     }()
 
@@ -61,8 +61,8 @@ class SettingsAutodelOverviewController: UITableViewController {
     override func viewWillAppear(_ animated: Bool) {
         super.viewWillAppear(animated)
         tableView.reloadData() // needed to update footer
-        autodelDeviceCell.textLabel?.text = SettingsAutodelSetController.getSummary(dcContext, fromServer: false)
-        autodelServerCell.textLabel?.text = SettingsAutodelSetController.getSummary(dcContext, fromServer: true)
+        autodelDeviceCell.textLabel?.text = SetAutodeletionSettingVC.getSummary(dcContext, fromServer: false)
+        autodelServerCell.textLabel?.text = SetAutodeletionSettingVC.getSummary(dcContext, fromServer: true)
     }
 
     // MARK: - Table view data source
@@ -103,11 +103,11 @@ class SettingsAutodelOverviewController: UITableViewController {
 
         switch cellTag {
         case .autodelDevice:
-            let controller = SettingsAutodelSetController(dcContext: dcContext, fromServer: false)
+            let controller = SetAutodeletionSettingVC(dcContext: dcContext, fromServer: false)
             navigationController?.pushViewController(controller, animated: true)
 
         case .autodelServer:
-            let controller = SettingsAutodelSetController(dcContext: dcContext, fromServer: true)
+            let controller = SetAutodeletionSettingVC(dcContext: dcContext, fromServer: true)
             navigationController?.pushViewController(controller, animated: true)
         }
 

+ 1 - 1
deltachat-ios/Controller/Settings/SettingsBackgroundSelectionController.swift → deltachat-ios/Controller/Settings/SingleSettings/BackgroundSelection.swift

@@ -2,7 +2,7 @@ import Foundation
 import UIKit
 import DcCore
 
-class SettingsBackgroundSelectionController: UIViewController, MediaPickerDelegate {
+class BackgroundSelectionSettingVC: UIViewController, MediaPickerDelegate {
 
     private let dcContext: DcContext
 

+ 2 - 2
deltachat-ios/Controller/Settings/DownloadOnDemandViewController.swift → deltachat-ios/Controller/Settings/SingleSettings/DownloadOnDemand.swift

@@ -1,6 +1,6 @@
 import UIKit
 import DcCore
-class DownloadOnDemandViewController: UITableViewController {
+class DownloadOnDemandSettingVC: UITableViewController {
 
     private var dcContext: DcContext
 
@@ -9,7 +9,7 @@ class DownloadOnDemandViewController: UITableViewController {
     private lazy var staticCells: [UITableViewCell] = {
         return options.map({
             let cell = UITableViewCell(style: .default, reuseIdentifier: nil)
-            cell.textLabel?.text = DownloadOnDemandViewController.getValString(val: $0)
+            cell.textLabel?.text = DownloadOnDemandSettingVC.getValString(val: $0)
             return cell
         })
     }()

+ 2 - 2
deltachat-ios/Controller/Settings/MediaQualityController.swift → deltachat-ios/Controller/Settings/SingleSettings/MediaQuality.swift

@@ -1,6 +1,6 @@
 import UIKit
 import DcCore
-class MediaQualityController: UITableViewController {
+class MediaQualitySettingVC: UITableViewController {
 
     private var dcContext: DcContext
 
@@ -9,7 +9,7 @@ class MediaQualityController: UITableViewController {
     private lazy var staticCells: [UITableViewCell] = {
         return options.map({
             let cell = UITableViewCell(style: .default, reuseIdentifier: nil)
-            cell.textLabel?.text = MediaQualityController.getValString(val: $0)
+            cell.textLabel?.text = MediaQualitySettingVC.getValString(val: $0)
             return cell
         })
     }()

+ 9 - 0
deltachat-ios/Controller/Settings/SingleSettings/README.md

@@ -0,0 +1,9 @@
+#  Single Settings
+
+This folder is for settings that have their own dedicated View to change them.
+
+## Naming
+
+Class names should end with `SettingVC`, where `VC` is short for view controller, that way you can quickly see what it is in other places in the code
+
+File names should be short and neither contain Settings nor controller, those words are redundant because the group/folder already tells what it is.

+ 3 - 3
deltachat-ios/Controller/Settings/SettingsAutodelSetController.swift → deltachat-ios/Controller/Settings/SingleSettings/SetAutodeletion.swift

@@ -1,7 +1,7 @@
 import UIKit
 import DcCore
 
-class SettingsAutodelSetController: UITableViewController {
+class SetAutodeletionSettingVC: UITableViewController {
 
     var dcContext: DcContext
 
@@ -34,7 +34,7 @@ class SettingsAutodelSetController: UITableViewController {
     }()
 
     private lazy var autodelOptions: [Options] = {
-        return fromServer ? SettingsAutodelSetController.autodelServerOptions : SettingsAutodelSetController.autodelDeviceOptions
+        return fromServer ? SetAutodeletionSettingVC.autodelServerOptions : SetAutodeletionSettingVC.autodelDeviceOptions
     }()
 
     var fromServer: Bool
@@ -80,7 +80,7 @@ class SettingsAutodelSetController: UITableViewController {
 
     static public func getSummary(_ dcContext: DcContext, fromServer: Bool) -> String {
         let val = dcContext.getConfigInt(fromServer ? "delete_server_after" :  "delete_device_after")
-        let options = fromServer ? SettingsAutodelSetController.autodelServerOptions : SettingsAutodelSetController.autodelDeviceOptions
+        let options = fromServer ? SetAutodeletionSettingVC.autodelServerOptions : SetAutodeletionSettingVC.autodelDeviceOptions
         for option in options {
             if option.value == val {
                 return String.localized(option.descr)

+ 2 - 2
deltachat-ios/Controller/Settings/SettingsClassicViewController.swift → deltachat-ios/Controller/Settings/SingleSettings/ShowEmail.swift

@@ -1,6 +1,6 @@
 import UIKit
 import DcCore
-class SettingsClassicViewController: UITableViewController {
+class ShowEmailSettingVC: UITableViewController {
 
     var dcContext: DcContext
 
@@ -9,7 +9,7 @@ class SettingsClassicViewController: UITableViewController {
     var staticCells: [UITableViewCell] {
         return options.map({
             let cell = UITableViewCell(style: .default, reuseIdentifier: nil)
-            cell.textLabel?.text = SettingsClassicViewController.getValString(val: $0)
+            cell.textLabel?.text = ShowEmailSettingVC.getValString(val: $0)
             return cell
         })
     }

+ 1 - 1
deltachat-ios/Controller/Settings/SettingsVideoChatViewController.swift → deltachat-ios/Controller/Settings/SingleSettings/VideoChat.swift

@@ -1,6 +1,6 @@
 import UIKit
 import DcCore
-class SettingsVideoChatViewController: UITableViewController {
+class VideoChatSettingVC: UITableViewController {
 
     private var dcContext: DcContext
 

+ 0 - 0
deltachat-ios/Controller/Settings/SettingsEphemeralMessageController.swift → deltachat-ios/Controller/SettingsEphemeralMessageController.swift