diff --git a/lib/app/powermode/presentation/panels/images_panel.dart b/lib/app/powermode/presentation/panels/images_panel.dart index e17e35f..e043b96 100644 --- a/lib/app/powermode/presentation/panels/images_panel.dart +++ b/lib/app/powermode/presentation/panels/images_panel.dart @@ -39,9 +39,10 @@ class _ImagesPanelState extends State { PowerDataHandler.dateFilterChangeListeners.add(rebuild); PowerDataHandler.searchTypeChangeListeners.add(rebuild); PowerDataHandler.searchTextChangeListeners.add(rebuild); - setState(() { - initialized = true; - }); + initialized = true; + if (mounted) { + setState(() {}); + } }, ); } diff --git a/lib/app/powermode/presentation/panels/widgets/power_search_field.dart b/lib/app/powermode/presentation/panels/widgets/power_search_field.dart index 2125465..d81fdf6 100644 --- a/lib/app/powermode/presentation/panels/widgets/power_search_field.dart +++ b/lib/app/powermode/presentation/panels/widgets/power_search_field.dart @@ -1,4 +1,5 @@ import 'package:cliptopia/app/powermode/domain/entity/typedefs.dart'; +import 'package:cliptopia/app/powermode/presentation/states/power_mode_loaded_state_view.dart'; import 'package:cliptopia/config/themes/app_theme.dart'; import 'package:cliptopia/core/powermode/power_data_handler.dart'; import 'package:cliptopia/core/storage/storage.dart'; @@ -12,7 +13,7 @@ class PowerSearchField extends StatefulWidget { } class _PowerSearchFieldState extends State { - final focusNode = FocusNode(); + final focusNode = appFocusNode; final TextEditingController controller = TextEditingController(); diff --git a/lib/app/powermode/presentation/states/power_mode_loaded_state_view.dart b/lib/app/powermode/presentation/states/power_mode_loaded_state_view.dart index 17af185..0747857 100644 --- a/lib/app/powermode/presentation/states/power_mode_loaded_state_view.dart +++ b/lib/app/powermode/presentation/states/power_mode_loaded_state_view.dart @@ -130,43 +130,44 @@ class _PowerModeLoadedStateViewState extends State { final defaultViewMode = Storage.get(StorageKeys.viewMode, fallback: StorageValues.defaultViewMode) == StorageValues.defaultViewMode; - return CallbackShortcuts( - bindings: { - const SingleActivator(LogicalKeyboardKey.escape): () => - Injector.find().endSession(), - const SingleActivator(LogicalKeyboardKey.keyI, control: true): () { - if (Storage.get(StorageKeys.hideImagePanelKey, fallback: false)) { - TempStorage.toggle(StorageKeys.hideImagePanelKey, fallback: false); + return Focus( + autofocus: true, + child: CallbackShortcuts( + bindings: { + const SingleActivator(LogicalKeyboardKey.escape): () => + Injector.find().endSession(), + const SingleActivator(LogicalKeyboardKey.keyI, control: true): () { + if (Storage.get(StorageKeys.hideImagePanelKey, fallback: false)) { + TempStorage.toggle(StorageKeys.hideImagePanelKey, + fallback: false); + rebuild(); + } + }, + const SingleActivator(LogicalKeyboardKey.keyI, + control: true, shift: true): () { + if (Storage.isSensitivityOn()) { + TempStorage.set(StorageKeys.sensitivity, + !TempStorage.canShowSensitiveContent()); + rebuild(); + } + }, + const SingleActivator(LogicalKeyboardKey.keyT, alt: true): () { + PowerDataHandler.searchTypeUpdate(PowerSearchType.Text); rebuild(); - } - }, - const SingleActivator(LogicalKeyboardKey.keyI, - control: true, shift: true): () { - if (Storage.isSensitivityOn()) { - TempStorage.set(StorageKeys.sensitivity, - !TempStorage.canShowSensitiveContent()); + }, + const SingleActivator(LogicalKeyboardKey.keyR, alt: true): () { + PowerDataHandler.searchTypeUpdate(PowerSearchType.Regex); rebuild(); - } - }, - const SingleActivator(LogicalKeyboardKey.keyT, alt: true): () { - PowerDataHandler.searchTypeUpdate(PowerSearchType.Text); - rebuild(); - }, - const SingleActivator(LogicalKeyboardKey.keyR, alt: true): () { - PowerDataHandler.searchTypeUpdate(PowerSearchType.Regex); - rebuild(); - }, - const SingleActivator(LogicalKeyboardKey.keyI, alt: true): () { - PowerDataHandler.searchTypeUpdate(PowerSearchType.Image); - rebuild(); - }, - const SingleActivator(LogicalKeyboardKey.keyC, alt: true): () { - PowerDataHandler.searchTypeUpdate(PowerSearchType.Comment); - rebuild(); + }, + const SingleActivator(LogicalKeyboardKey.keyI, alt: true): () { + PowerDataHandler.searchTypeUpdate(PowerSearchType.Image); + rebuild(); + }, + const SingleActivator(LogicalKeyboardKey.keyC, alt: true): () { + PowerDataHandler.searchTypeUpdate(PowerSearchType.Comment); + rebuild(); + }, }, - }, - child: Focus( - focusNode: appFocusNode, child: Scaffold( backgroundColor: Colors.transparent, body: GestureDetector(