import 'package:flutter/material.dart'; import 'package:toolbox/core/persistant_store.dart'; import 'package:toolbox/core/utils/platform.dart'; import 'package:toolbox/data/model/ssh/virtual_key.dart'; import '../model/app/net_view.dart'; import '../res/default.dart'; class SettingStore extends PersistentStore { StoreProperty get primaryColor => property( 'primaryColor', defaultValue: 4287106639, ); StoreProperty get serverStatusUpdateInterval => property( 'serverStatusUpdateInterval', defaultValue: defaultUpdateInterval, ); // Lanch page idx StoreProperty get launchPage => property( 'launchPage', defaultValue: defaultLaunchPageIdx, ); // Version of store db StoreProperty get storeVersion => property('storeVersion', defaultValue: 0); StoreProperty get termColorIdx => property('termColorIdx', defaultValue: 0); // Max retry count when connect to server StoreProperty get maxRetryCount => property('maxRetryCount', defaultValue: 2); // Night mode: 0 -> auto, 1 -> light, 2 -> dark StoreProperty get themeMode => property('themeMode', defaultValue: 0); // Font file path StoreProperty get fontPath => property('fontPath'); // Backgroud running (Android) StoreProperty get bgRun => property('bgRun', defaultValue: isAndroid); // Server order StoreProperty> get serverOrder => property('serverOrder', defaultValue: null); StoreProperty> get snippetOrder => property( 'snippetOrder', defaultValue: null, ); // Server details page cards order StoreProperty> get detailCardOrder => property('detailCardPrder', defaultValue: defaultDetailCardOrder); // SSH term font size StoreProperty get termFontSize => property('termFontSize', defaultValue: 13); // Server detail disk ignore path StoreProperty> get diskIgnorePath => property('diskIgnorePath', defaultValue: defaultDiskIgnorePath); // Locale StoreProperty get locale => property('locale', defaultValue: null); // SSH virtual key (ctrl | alt) auto turn off StoreProperty get sshVirtualKeyAutoOff => property('sshVirtualKeyAutoOff', defaultValue: true); // Editor theme StoreProperty get editorTheme => property('editorTheme', defaultValue: defaultEditorTheme); StoreProperty get editorDarkTheme => property('editorDarkTheme', defaultValue: defaultEditorDarkTheme); StoreProperty get fullScreen => property('fullScreen', defaultValue: false); StoreProperty get fullScreenJitter => property('fullScreenJitter', defaultValue: true); StoreProperty get fullScreenRotateQuarter => property('fullScreenRotateQuarter', defaultValue: 1); StoreProperty get keyboardType => property('keyboardType', defaultValue: TextInputType.text.index); StoreProperty> get sshVirtKeys => property('sshVirtKeys', defaultValue: defaultSSHVirtKeys); StoreProperty get netViewType => property('netViewType', defaultValue: NetViewType.speed); // Only valid on iOS StoreProperty get autoUpdateHomeWidget => property('autoUpdateHomeWidget', defaultValue: isIOS); StoreProperty get autoCheckAppUpdate => property('autoCheckAppUpdate', defaultValue: true); /// Display server tab function buttons on the bottom of each server card if [true] /// /// Otherwise, display them on the top of server detail page StoreProperty get moveOutServerTabFuncBtns => property('moveOutServerTabFuncBtns', defaultValue: true); }