mirror of
				https://gitlab.com/comunic/comunicmobile
				synced 2025-11-04 12:14:11 +00:00 
			
		
		
		
	Fix bugs in application settings
This commit is contained in:
		@@ -3,6 +3,7 @@ import 'package:comunic/helpers/settings_helper.dart';
 | 
				
			|||||||
import 'package:comunic/models/account_image_settings.dart';
 | 
					import 'package:comunic/models/account_image_settings.dart';
 | 
				
			||||||
import 'package:comunic/ui/widgets/async_screen_widget.dart';
 | 
					import 'package:comunic/ui/widgets/async_screen_widget.dart';
 | 
				
			||||||
import 'package:comunic/ui/widgets/network_image_widget.dart';
 | 
					import 'package:comunic/ui/widgets/network_image_widget.dart';
 | 
				
			||||||
 | 
					import 'package:comunic/ui/widgets/settings/header_spacer_section.dart';
 | 
				
			||||||
import 'package:comunic/utils/account_utils.dart';
 | 
					import 'package:comunic/utils/account_utils.dart';
 | 
				
			||||||
import 'package:comunic/utils/files_utils.dart';
 | 
					import 'package:comunic/utils/files_utils.dart';
 | 
				
			||||||
import 'package:comunic/utils/intl_utils.dart';
 | 
					import 'package:comunic/utils/intl_utils.dart';
 | 
				
			||||||
@@ -50,6 +51,7 @@ class _AccountImageSettingsScreenState
 | 
				
			|||||||
  Widget _buildLayout() {
 | 
					  Widget _buildLayout() {
 | 
				
			||||||
    return SettingsList(
 | 
					    return SettingsList(
 | 
				
			||||||
      sections: [
 | 
					      sections: [
 | 
				
			||||||
 | 
					        HeadSpacerSection(),
 | 
				
			||||||
        SettingsSection(
 | 
					        SettingsSection(
 | 
				
			||||||
          title: tr("General"),
 | 
					          title: tr("General"),
 | 
				
			||||||
          tiles: _settings.hasImage
 | 
					          tiles: _settings.hasImage
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,6 @@
 | 
				
			|||||||
import 'package:comunic/helpers/account_helper.dart';
 | 
					import 'package:comunic/helpers/account_helper.dart';
 | 
				
			||||||
import 'package:comunic/ui/dialogs/input_user_password_dialog.dart';
 | 
					import 'package:comunic/ui/dialogs/input_user_password_dialog.dart';
 | 
				
			||||||
 | 
					import 'package:comunic/ui/widgets/settings/header_spacer_section.dart';
 | 
				
			||||||
import 'package:comunic/utils/intl_utils.dart';
 | 
					import 'package:comunic/utils/intl_utils.dart';
 | 
				
			||||||
import 'package:comunic/utils/ui_utils.dart';
 | 
					import 'package:comunic/utils/ui_utils.dart';
 | 
				
			||||||
import 'package:flutter/cupertino.dart';
 | 
					import 'package:flutter/cupertino.dart';
 | 
				
			||||||
@@ -19,12 +20,13 @@ class _AccountPrivacySettingsState extends State<AccountPrivacySettings> {
 | 
				
			|||||||
  @override
 | 
					  @override
 | 
				
			||||||
  Widget build(BuildContext context) {
 | 
					  Widget build(BuildContext context) {
 | 
				
			||||||
    return SettingsList(sections: [
 | 
					    return SettingsList(sections: [
 | 
				
			||||||
 | 
					      HeadSpacerSection(),
 | 
				
			||||||
      SettingsSection(title: tr("Privacy settings"), tiles: [
 | 
					      SettingsSection(title: tr("Privacy settings"), tiles: [
 | 
				
			||||||
        SettingsTile(
 | 
					        SettingsTile(
 | 
				
			||||||
          title: tr("Delete your account"),
 | 
					          title: tr("Delete your account"),
 | 
				
			||||||
          subtitle:
 | 
					          subtitle:
 | 
				
			||||||
              tr("Permanently delete your account and all data related to it."),
 | 
					              tr("Permanently delete your account and all data related to it."),
 | 
				
			||||||
          onPressed: (_)=>_deleteAccount,
 | 
					          onPressed: (_) => _deleteAccount(),
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
      ])
 | 
					      ])
 | 
				
			||||||
    ]);
 | 
					    ]);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,6 +4,7 @@ import 'package:comunic/models/security_settings.dart';
 | 
				
			|||||||
import 'package:comunic/ui/dialogs/input_new_password_dialog.dart';
 | 
					import 'package:comunic/ui/dialogs/input_new_password_dialog.dart';
 | 
				
			||||||
import 'package:comunic/ui/dialogs/input_user_password_dialog.dart';
 | 
					import 'package:comunic/ui/dialogs/input_user_password_dialog.dart';
 | 
				
			||||||
import 'package:comunic/ui/widgets/dialogs/auto_sized_dialog_content_widget.dart';
 | 
					import 'package:comunic/ui/widgets/dialogs/auto_sized_dialog_content_widget.dart';
 | 
				
			||||||
 | 
					import 'package:comunic/ui/widgets/settings/header_spacer_section.dart';
 | 
				
			||||||
import 'package:comunic/utils/intl_utils.dart';
 | 
					import 'package:comunic/utils/intl_utils.dart';
 | 
				
			||||||
import 'package:comunic/utils/ui_utils.dart';
 | 
					import 'package:comunic/utils/ui_utils.dart';
 | 
				
			||||||
import 'package:flutter/material.dart';
 | 
					import 'package:flutter/material.dart';
 | 
				
			||||||
@@ -25,24 +26,25 @@ class _AccountSecuritySettingsScreenState
 | 
				
			|||||||
  Widget build(BuildContext context) {
 | 
					  Widget build(BuildContext context) {
 | 
				
			||||||
    return SettingsList(
 | 
					    return SettingsList(
 | 
				
			||||||
      sections: [
 | 
					      sections: [
 | 
				
			||||||
 | 
					        HeadSpacerSection(),
 | 
				
			||||||
        SettingsSection(
 | 
					        SettingsSection(
 | 
				
			||||||
          title: tr("Password"),
 | 
					          title: tr("Password"),
 | 
				
			||||||
          tiles: [
 | 
					          tiles: [
 | 
				
			||||||
            SettingsTile(
 | 
					            SettingsTile(
 | 
				
			||||||
              title: tr("Change password"),
 | 
					              title: tr("Change password"),
 | 
				
			||||||
              onPressed: (_) => _changePassword,
 | 
					              onPressed: (_) => _changePassword(),
 | 
				
			||||||
            ),
 | 
					            ),
 | 
				
			||||||
            SettingsTile(
 | 
					            SettingsTile(
 | 
				
			||||||
              title: tr("Change your security questions"),
 | 
					              title: tr("Change your security questions"),
 | 
				
			||||||
              subtitle: tr(
 | 
					              subtitle: tr(
 | 
				
			||||||
                  "Your security questions can be used to recover an access to your account when you loose your password..."),
 | 
					                  "Your security questions can be used to recover an access to your account when you loose your password..."),
 | 
				
			||||||
              onPressed: (_) => _changeSecurityQuestions,
 | 
					              onPressed: (_) => _changeSecurityQuestions(),
 | 
				
			||||||
            ),
 | 
					            ),
 | 
				
			||||||
            SettingsTile(
 | 
					            SettingsTile(
 | 
				
			||||||
              title: tr("Disconnect all your devices"),
 | 
					              title: tr("Disconnect all your devices"),
 | 
				
			||||||
              subtitle: tr(
 | 
					              subtitle: tr(
 | 
				
			||||||
                  "Disconnect all your devices from Comunic, including the current one. Use this option if one of the device you use for Comunic was stolen."),
 | 
					                  "Disconnect all your devices from Comunic, including the current one. Use this option if one of the device you use for Comunic was stolen."),
 | 
				
			||||||
              onPressed: (_) => _disconnectAllDevices,
 | 
					              onPressed: (_) => _disconnectAllDevices(),
 | 
				
			||||||
            ),
 | 
					            ),
 | 
				
			||||||
          ],
 | 
					          ],
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,6 +4,7 @@ import 'package:comunic/ui/routes/settings/account_security_settings.dart';
 | 
				
			|||||||
import 'package:comunic/ui/routes/settings/application_settings.dart';
 | 
					import 'package:comunic/ui/routes/settings/application_settings.dart';
 | 
				
			||||||
import 'package:comunic/ui/routes/settings/custom_emojies_account_settings.dart';
 | 
					import 'package:comunic/ui/routes/settings/custom_emojies_account_settings.dart';
 | 
				
			||||||
import 'package:comunic/ui/routes/settings/general_account_settings.dart';
 | 
					import 'package:comunic/ui/routes/settings/general_account_settings.dart';
 | 
				
			||||||
 | 
					import 'package:comunic/ui/widgets/settings/header_spacer_section.dart';
 | 
				
			||||||
import 'package:comunic/utils/intl_utils.dart';
 | 
					import 'package:comunic/utils/intl_utils.dart';
 | 
				
			||||||
import 'package:comunic/utils/ui_utils.dart';
 | 
					import 'package:comunic/utils/ui_utils.dart';
 | 
				
			||||||
import 'package:flutter/material.dart';
 | 
					import 'package:flutter/material.dart';
 | 
				
			||||||
@@ -145,6 +146,7 @@ class __AccountSettingsBodyState extends State<_AccountSettingsBody> {
 | 
				
			|||||||
  /// Mobile mode
 | 
					  /// Mobile mode
 | 
				
			||||||
  Widget _buildMobileMode() => SettingsList(
 | 
					  Widget _buildMobileMode() => SettingsList(
 | 
				
			||||||
        sections: [
 | 
					        sections: [
 | 
				
			||||||
 | 
					          HeadSpacerSection(),
 | 
				
			||||||
          SettingsSection(
 | 
					          SettingsSection(
 | 
				
			||||||
            title: tr("Settings"),
 | 
					            title: tr("Settings"),
 | 
				
			||||||
            tiles: _sections
 | 
					            tiles: _sections
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,6 @@
 | 
				
			|||||||
import 'package:comunic/helpers/preferences_helper.dart';
 | 
					import 'package:comunic/helpers/preferences_helper.dart';
 | 
				
			||||||
import 'package:comunic/ui/widgets/async_screen_widget.dart';
 | 
					import 'package:comunic/ui/widgets/async_screen_widget.dart';
 | 
				
			||||||
 | 
					import 'package:comunic/ui/widgets/settings/header_spacer_section.dart';
 | 
				
			||||||
import 'package:comunic/utils/intl_utils.dart';
 | 
					import 'package:comunic/utils/intl_utils.dart';
 | 
				
			||||||
import 'package:comunic/utils/ui_utils.dart';
 | 
					import 'package:comunic/utils/ui_utils.dart';
 | 
				
			||||||
import 'package:flutter/material.dart';
 | 
					import 'package:flutter/material.dart';
 | 
				
			||||||
@@ -30,6 +31,7 @@ class _ApplicationSettingsState extends State<ApplicationSettings> {
 | 
				
			|||||||
  Widget _buildSections() {
 | 
					  Widget _buildSections() {
 | 
				
			||||||
    return SettingsList(
 | 
					    return SettingsList(
 | 
				
			||||||
      sections: [
 | 
					      sections: [
 | 
				
			||||||
 | 
					        HeadSpacerSection(),
 | 
				
			||||||
        _buildAppearanceSection(),
 | 
					        _buildAppearanceSection(),
 | 
				
			||||||
        _buildGeneralSection(),
 | 
					        _buildGeneralSection(),
 | 
				
			||||||
        _buildDebugSection()
 | 
					        _buildDebugSection()
 | 
				
			||||||
@@ -67,7 +69,6 @@ class _ApplicationSettingsState extends State<ApplicationSettings> {
 | 
				
			|||||||
  SettingsSection _buildDebugSection() => SettingsSection(
 | 
					  SettingsSection _buildDebugSection() => SettingsSection(
 | 
				
			||||||
        title: tr("Debug features"),
 | 
					        title: tr("Debug features"),
 | 
				
			||||||
        tiles: [
 | 
					        tiles: [
 | 
				
			||||||
 | 
					 | 
				
			||||||
          // Force mobile mode
 | 
					          // Force mobile mode
 | 
				
			||||||
          _PreferencesSettingsTile(
 | 
					          _PreferencesSettingsTile(
 | 
				
			||||||
            preferencesKey: PreferencesKeyList.FORCE_MOBILE_MODE,
 | 
					            preferencesKey: PreferencesKeyList.FORCE_MOBILE_MODE,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,6 +5,7 @@ import 'package:comunic/models/general_settings.dart';
 | 
				
			|||||||
import 'package:comunic/ui/dialogs/multi_choices_dialog.dart';
 | 
					import 'package:comunic/ui/dialogs/multi_choices_dialog.dart';
 | 
				
			||||||
import 'package:comunic/ui/dialogs/virtual_directory_dialog.dart';
 | 
					import 'package:comunic/ui/dialogs/virtual_directory_dialog.dart';
 | 
				
			||||||
import 'package:comunic/ui/widgets/async_screen_widget.dart';
 | 
					import 'package:comunic/ui/widgets/async_screen_widget.dart';
 | 
				
			||||||
 | 
					import 'package:comunic/ui/widgets/settings/header_spacer_section.dart';
 | 
				
			||||||
import 'package:comunic/ui/widgets/settings/multi_choices_settings_tile.dart';
 | 
					import 'package:comunic/ui/widgets/settings/multi_choices_settings_tile.dart';
 | 
				
			||||||
import 'package:comunic/ui/widgets/settings/text_settings_edit_tile.dart';
 | 
					import 'package:comunic/ui/widgets/settings/text_settings_edit_tile.dart';
 | 
				
			||||||
import 'package:comunic/utils/account_utils.dart';
 | 
					import 'package:comunic/utils/account_utils.dart';
 | 
				
			||||||
@@ -53,6 +54,7 @@ class _GeneralAccountSettingsScreenState
 | 
				
			|||||||
  Widget _buildSettings() {
 | 
					  Widget _buildSettings() {
 | 
				
			||||||
    return SettingsList(
 | 
					    return SettingsList(
 | 
				
			||||||
      sections: [
 | 
					      sections: [
 | 
				
			||||||
 | 
					        HeadSpacerSection(),
 | 
				
			||||||
        SettingsSection(
 | 
					        SettingsSection(
 | 
				
			||||||
          title: tr("Main account information"),
 | 
					          title: tr("Main account information"),
 | 
				
			||||||
          tiles: _mainInformationTiles(),
 | 
					          tiles: _mainInformationTiles(),
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										7
									
								
								lib/ui/widgets/settings/header_spacer_section.dart
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								lib/ui/widgets/settings/header_spacer_section.dart
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
				
			|||||||
 | 
					import 'package:flutter/material.dart';
 | 
				
			||||||
 | 
					import 'package:settings_ui/settings_ui.dart';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// ignore: must_be_immutable
 | 
				
			||||||
 | 
					class HeadSpacerSection extends CustomSection {
 | 
				
			||||||
 | 
					  HeadSpacerSection() : super(child:  Container(height: 10));
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -40,7 +40,7 @@ class TextEditSettingsTile extends SettingsTile {
 | 
				
			|||||||
    return SettingsTile(
 | 
					    return SettingsTile(
 | 
				
			||||||
      title: title,
 | 
					      title: title,
 | 
				
			||||||
      subtitle: currValue,
 | 
					      subtitle: currValue,
 | 
				
			||||||
      onPressed: (_)=>readOnly ? null : () => _changeValue(context),
 | 
					      onPressed: readOnly ? null : (_) => _changeValue(context),
 | 
				
			||||||
    );
 | 
					    );
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user