Skip to content
Snippets Groups Projects
Select Git revision
  • 453b6128af44f3fcef03f316bf166bc8c546f665
  • master default protected
  • 56-upgrade-framework-and-dependencies
  • 39-improve-app-metadata
  • 28-add-high-scores
  • 32-add-block-size-limit-parameter
  • 29-use-real-board-painter-to-draw-parameters-items
  • Release_0.9.0_47 protected
  • Release_0.8.2_46 protected
  • Release_0.8.1_45 protected
  • Release_0.8.0_44 protected
  • Release_0.7.0_43 protected
  • Release_0.6.0_42 protected
  • Release_0.5.0_41 protected
  • Release_0.4.2_40 protected
  • Release_0.4.1_39 protected
  • Release_0.4.0_38 protected
  • Release_0.3.1_37 protected
  • Release_0.3.0_36 protected
  • Release_0.2.1_35 protected
  • Release_0.2.0_34 protected
  • Release_0.1.1_33 protected
  • Release_0.1.0_32 protected
  • Release_0.0.31_31 protected
  • Release_0.0.30_30 protected
  • Release_0.0.29_29 protected
  • Release_0.0.28_28 protected
27 results

settings_state.dart

Blame
  • settings_global_cubit.dart 2.30 KiB
    import 'package:flutter/material.dart';
    import 'package:flutter_custom_toolbox/flutter_toolbox.dart';
    
    import 'package:jeweled/config/default_global_settings.dart';
    import 'package:jeweled/models/settings/settings_global.dart';
    
    part 'settings_global_state.dart';
    
    class GlobalSettingsCubit extends HydratedCubit<GlobalSettingsState> {
      GlobalSettingsCubit() : super(GlobalSettingsState(settings: GlobalSettings.createDefault()));
    
      void setValues({
        String? colorsTheme,
        String? graphicTheme,
      }) {
        emit(
          GlobalSettingsState(
            settings: GlobalSettings(
              colorsTheme: colorsTheme ?? state.settings.colorsTheme,
              graphicTheme: graphicTheme ?? state.settings.graphicTheme,
            ),
          ),
        );
      }
    
      String getParameterValue(String code) {
        switch (code) {
          case DefaultGlobalSettings.parameterCodeColorsTheme:
            return GlobalSettings.getColorsThemeValueFromUnsafe(state.settings.colorsTheme);
          case DefaultGlobalSettings.parameterCodeGraphicsTheme:
            return GlobalSettings.getGraphicThemeValueFromUnsafe(state.settings.graphicTheme);
        }
        return '';
      }
    
      void setParameterValue(String code, String value) {
        final String colorsTheme = code == DefaultGlobalSettings.parameterCodeColorsTheme
            ? value
            : getParameterValue(DefaultGlobalSettings.parameterCodeColorsTheme);
        final String graphicTheme = code == DefaultGlobalSettings.parameterCodeGraphicsTheme
            ? value
            : getParameterValue(DefaultGlobalSettings.parameterCodeGraphicsTheme);
    
        setValues(
          colorsTheme: colorsTheme,
          graphicTheme: graphicTheme,
        );
      }
    
      @override
      GlobalSettingsState? fromJson(Map<String, dynamic> json) {
        final String colorsTheme = json[DefaultGlobalSettings.parameterCodeColorsTheme] as String;
        final String graphicTheme =
            json[DefaultGlobalSettings.parameterCodeGraphicsTheme] as String;
    
        return GlobalSettingsState(
          settings: GlobalSettings(
            colorsTheme: colorsTheme,
            graphicTheme: graphicTheme,
          ),
        );
      }
    
      @override
      Map<String, dynamic>? toJson(GlobalSettingsState state) {
        return <String, dynamic>{
          DefaultGlobalSettings.parameterCodeColorsTheme: state.settings.colorsTheme,
          DefaultGlobalSettings.parameterCodeGraphicsTheme: state.settings.graphicTheme,
        };
      }
    }