Skip to content

Commit 9fd12e1

Browse files
committed
PAINTROID-454: Flutter: Add Layers
1 parent d8e51d2 commit 9fd12e1

File tree

7 files changed

+445
-22
lines changed

7 files changed

+445
-22
lines changed

devtools_options.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
description: This file stores settings for Dart & Flutter DevTools.
2+
documentation: https://docs.flutter.dev/tools/devtools/extensions#configure-extension-enablement-states
3+
extensions:

ios/Podfile.lock

Lines changed: 21 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -42,22 +42,22 @@ PODS:
4242
- Flutter
4343
- integration_test (0.0.1):
4444
- Flutter
45-
- launch_review (0.0.1):
45+
- launch_review_latest (0.0.1):
4646
- Flutter
4747
- package_info_plus (0.4.5):
4848
- Flutter
4949
- path_provider_foundation (0.0.1):
5050
- Flutter
5151
- FlutterMacOS
52-
- permission_handler_apple (9.1.1):
52+
- permission_handler_apple (9.3.0):
5353
- Flutter
5454
- SDWebImage (5.19.2):
5555
- SDWebImage/Core (= 5.19.2)
5656
- SDWebImage/Core (5.19.2)
5757
- shared_preferences_foundation (0.0.1):
5858
- Flutter
5959
- FlutterMacOS
60-
- sqflite (0.0.3):
60+
- sqflite_darwin (0.0.4):
6161
- Flutter
6262
- FlutterMacOS
6363
- SwiftyGif (5.4.5)
@@ -71,12 +71,12 @@ DEPENDENCIES:
7171
- flutter_localization (from `.symlinks/plugins/flutter_localization/ios`)
7272
- image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`)
7373
- integration_test (from `.symlinks/plugins/integration_test/ios`)
74-
- launch_review (from `.symlinks/plugins/launch_review/ios`)
74+
- launch_review_latest (from `.symlinks/plugins/launch_review_latest/ios`)
7575
- package_info_plus (from `.symlinks/plugins/package_info_plus/ios`)
7676
- path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`)
7777
- permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`)
7878
- shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`)
79-
- sqflite (from `.symlinks/plugins/sqflite/darwin`)
79+
- sqflite_darwin (from `.symlinks/plugins/sqflite_darwin/darwin`)
8080
- url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
8181

8282
SPEC REPOS:
@@ -99,8 +99,8 @@ EXTERNAL SOURCES:
9999
:path: ".symlinks/plugins/image_picker_ios/ios"
100100
integration_test:
101101
:path: ".symlinks/plugins/integration_test/ios"
102-
launch_review:
103-
:path: ".symlinks/plugins/launch_review/ios"
102+
launch_review_latest:
103+
:path: ".symlinks/plugins/launch_review_latest/ios"
104104
package_info_plus:
105105
:path: ".symlinks/plugins/package_info_plus/ios"
106106
path_provider_foundation:
@@ -109,31 +109,30 @@ EXTERNAL SOURCES:
109109
:path: ".symlinks/plugins/permission_handler_apple/ios"
110110
shared_preferences_foundation:
111111
:path: ".symlinks/plugins/shared_preferences_foundation/darwin"
112-
sqflite:
113-
:path: ".symlinks/plugins/sqflite/darwin"
112+
sqflite_darwin:
113+
:path: ".symlinks/plugins/sqflite_darwin/darwin"
114114
url_launcher_ios:
115115
:path: ".symlinks/plugins/url_launcher_ios/ios"
116116

117117
SPEC CHECKSUMS:
118-
device_info_plus: c6fb39579d0f423935b0c9ce7ee2f44b71b9fce6
118+
device_info_plus: 335f3ce08d2e174b9fdc3db3db0f4e3b1f66bd89
119119
DKImagePickerController: 946cec48c7873164274ecc4624d19e3da4c1ef3c
120120
DKPhotoGallery: b3834fecb755ee09a593d7c9e389d8b5d6deed60
121-
file_picker: b159e0c068aef54932bb15dc9fd1571818edaf49
121+
file_picker: a0560bc09d61de87f12d246fc47d2119e6ef37be
122122
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
123-
flutter_localization: f43b18844a2b3d2c71fd64f04ffd6b1e64dd54d4
124-
image_picker_ios: 99dfe1854b4fa34d0364e74a78448a0151025425
125-
integration_test: 252f60fa39af5e17c3aa9899d35d908a0721b573
126-
launch_review: 75d5a956ba8eaa493e9c9d4bf4c05e505e8d5ed0
127-
package_info_plus: 115f4ad11e0698c8c1c5d8a689390df880f47e85
128-
path_provider_foundation: 3784922295ac71e43754bd15e0653ccfd36a147c
129-
permission_handler_apple: e76247795d700c14ea09e3a2d8855d41ee80a2e6
123+
flutter_localization: 72299fb6cb4e51cae587bd953ed0b958040b71e6
124+
image_picker_ios: 7fe1ff8e34c1790d6fff70a32484959f563a928a
125+
integration_test: 4a889634ef21a45d28d50d622cf412dc6d9f586e
126+
launch_review_latest: 28e236fc255d91ec1430c39f951c4db1398c79c1
127+
package_info_plus: af8e2ca6888548050f16fa2f1938db7b5a5df499
128+
path_provider_foundation: 080d55be775b7414fd5a5ef3ac137b97b097e564
129+
permission_handler_apple: 4ed2196e43d0651e8ff7ca3483a069d469701f2d
130130
SDWebImage: dfe95b2466a9823cf9f0c6d01217c06550d7b29a
131-
shared_preferences_foundation: b4c3b4cddf1c21f02770737f147a3f5da9d39695
132-
sqflite: 673a0e54cc04b7d6dba8d24fb8095b31c3a99eec
131+
shared_preferences_foundation: 9e1978ff2562383bd5676f64ec4e9aa8fa06a6f7
132+
sqflite_darwin: 20b2a3a3b70e43edae938624ce550a3cbf66a3d0
133133
SwiftyGif: 706c60cf65fa2bc5ee0313beece843c8eb8194d4
134-
url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe
134+
url_launcher_ios: 694010445543906933d732453a59da0a173ae33d
135135

136136
PODFILE CHECKSUM: aa9c826e174e713c4dad1b0d2110be4d87591fc5
137137

138138
COCOAPODS: 1.16.2
139-
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import 'package:riverpod_annotation/riverpod_annotation.dart';
2+
3+
part 'layers_panel_visibility_state_provider.g.dart';
4+
5+
@riverpod
6+
class LayersPanelVisibilityStateProvider
7+
extends _$LayersPanelVisibilityStateProvider {
8+
void toggleVisibility() {
9+
state = !state;
10+
}
11+
12+
void show() {
13+
state = true;
14+
}
15+
16+
void hide() {
17+
state = false;
18+
}
19+
20+
@override
21+
bool build() {
22+
return false;
23+
}
24+
}

lib/core/providers/state/layers_panel_visibility_state_provider.g.dart

Lines changed: 27 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/ui/pages/workspace_page/components/bottom_bar/bottom_nav_bar.dart

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import 'package:colorpicker/colorpicker.dart';
55

66
import 'package:paintroid/core/enums/tool_types.dart';
77
import 'package:paintroid/core/localization/app_localizations.dart';
8+
import 'package:paintroid/core/providers/state/layers_panel_visibility_state_provider.dart';
89
import 'package:paintroid/core/providers/state/paint_provider.dart';
910
import 'package:paintroid/core/providers/state/tool_options_visibility_state_provider.dart';
1011
import 'package:paintroid/core/providers/state/toolbox_state_provider.dart';
@@ -92,6 +93,9 @@ void _onNavigationItemSelected(int index, BuildContext context, WidgetRef ref) {
9293
case BottomNavBarItem.COLOR:
9394
_showColorPicker(context, ref);
9495
break;
96+
case BottomNavBarItem.LAYERS:
97+
_handleLayersPanelVisibility(ref);
98+
break;
9599
default:
96100
return;
97101
}
@@ -112,6 +116,10 @@ void _handleToolOptionsVisibility(WidgetRef ref) {
112116
ref.read(toolOptionsVisibilityStateProvider.notifier).toggleVisibility();
113117
}
114118

119+
void _handleLayersPanelVisibility(WidgetRef ref) {
120+
ref.read(layersPanelVisibilityStateProvider.notifier).toggleVisibility();
121+
}
122+
115123
void _showColorPicker(BuildContext context, WidgetRef ref) {
116124
showModalBottomSheet(
117125
context: context,

0 commit comments

Comments
 (0)