| 
				
			 | 
			
			
				@@ -311,6 +311,20 @@ class ZefyrToolbarState extends State<ZefyrToolbar> 
			 | 
		
	
		
			
			| 
				311
			 | 
			
				311
			 | 
			
			
				     super.dispose(); 
			 | 
		
	
		
			
			| 
				312
			 | 
			
				312
			 | 
			
			
				   } 
			 | 
		
	
		
			
			| 
				313
			 | 
			
				313
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				
			 | 
			
				314
			 | 
			
			
				+  Widget buildTrailing() { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				315
			 | 
			
			
				+    Widget widget; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				316
			 | 
			
			
				+    TargetPlatform platform = Theme.of(context).platform; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				317
			 | 
			
			
				+    switch (platform) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				318
			 | 
			
			
				+      case TargetPlatform.iOS: 
			 | 
		
	
		
			
			| 
				
			 | 
			
				319
			 | 
			
			
				+      case TargetPlatform.android: 
			 | 
		
	
		
			
			| 
				
			 | 
			
				320
			 | 
			
			
				+        widget = hasOverlay ? buildButton(context, ZefyrToolbarAction.showKeyboard) : buildButton(context, ZefyrToolbarAction.hideKeyboard); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				321
			 | 
			
			
				+        break; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				322
			 | 
			
			
				+      default: 
			 | 
		
	
		
			
			| 
				
			 | 
			
				323
			 | 
			
			
				+        break; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				324
			 | 
			
			
				+    } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				325
			 | 
			
			
				+    return widget; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				326
			 | 
			
			
				+  } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				327
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				314
			 | 
			
				328
			 | 
			
			
				   @override 
			 | 
		
	
		
			
			| 
				315
			 | 
			
				329
			 | 
			
			
				   Widget build(BuildContext context) { 
			 | 
		
	
		
			
			| 
				316
			 | 
			
				330
			 | 
			
			
				     if (MediaQuery.of(context).viewInsets.bottom > 0) { 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -326,10 +340,11 @@ class ZefyrToolbarState extends State<ZefyrToolbar> 
			 | 
		
	
		
			
			| 
				326
			 | 
			
				340
			 | 
			
			
				     ); 
			 | 
		
	
		
			
			| 
				327
			 | 
			
				341
			 | 
			
			
				     final layers = <Widget>[]; 
			 | 
		
	
		
			
			| 
				328
			 | 
			
				342
			 | 
			
			
				     Widget overlay; 
			 | 
		
	
		
			
			| 
				329
			 | 
			
				
			 | 
			
			
				- 
			 | 
		
	
		
			
			| 
				
			 | 
			
				343
			 | 
			
			
				+    var trailing = buildTrailing(); 
			 | 
		
	
		
			
			| 
				330
			 | 
			
				344
			 | 
			
			
				     // Must set unique key for the toolbar to prevent it from reconstructing 
			 | 
		
	
		
			
			| 
				331
			 | 
			
				345
			 | 
			
			
				     // new state each time we toggle overlay. 
			 | 
		
	
		
			
			| 
				332
			 | 
			
				346
			 | 
			
			
				     final bottons = <Widget>[ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				347
			 | 
			
			
				+      if (trailing != null) 
			 | 
		
	
		
			
			| 
				333
			 | 
			
				348
			 | 
			
			
				       kToolbarDivider, 
			 | 
		
	
		
			
			| 
				334
			 | 
			
				349
			 | 
			
			
				       Expanded(child: ListView( 
			 | 
		
	
		
			
			| 
				335
			 | 
			
				350
			 | 
			
			
				         scrollDirection: Axis.horizontal, 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -353,7 +368,8 @@ class ZefyrToolbarState extends State<ZefyrToolbar> 
			 | 
		
	
		
			
			| 
				353
			 | 
			
				368
			 | 
			
			
				       body: Row( 
			 | 
		
	
		
			
			| 
				354
			 | 
			
				369
			 | 
			
			
				         children: bottons, 
			 | 
		
	
		
			
			| 
				355
			 | 
			
				370
			 | 
			
			
				       ), 
			 | 
		
	
		
			
			| 
				356
			 | 
			
				
			 | 
			
			
				-      trailing: hasOverlay ? buildButton(context, ZefyrToolbarAction.showKeyboard) : buildButton(context, ZefyrToolbarAction.hideKeyboard), 
			 | 
		
	
		
			
			| 
				
			 | 
			
				371
			 | 
			
			
				+      trailing: trailing, 
			 | 
		
	
		
			
			| 
				
			 | 
			
				372
			 | 
			
			
				+      autoImplyTrailing: false, 
			 | 
		
	
		
			
			| 
				357
			 | 
			
				373
			 | 
			
			
				     ); 
			 | 
		
	
		
			
			| 
				358
			 | 
			
				374
			 | 
			
			
				     layers.add(toolbar); 
			 | 
		
	
		
			
			| 
				359
			 | 
			
				375
			 | 
			
			
				     if (hasOverlay) { 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -384,23 +400,6 @@ class ZefyrToolbarState extends State<ZefyrToolbar> 
			 | 
		
	
		
			
			| 
				384
			 | 
			
				400
			 | 
			
			
				       ), 
			 | 
		
	
		
			
			| 
				385
			 | 
			
				401
			 | 
			
			
				     ); 
			 | 
		
	
		
			
			| 
				386
			 | 
			
				402
			 | 
			
			
				   } 
			 | 
		
	
		
			
			| 
				387
			 | 
			
				
			 | 
			
			
				- 
			 | 
		
	
		
			
			| 
				388
			 | 
			
				
			 | 
			
			
				-  List<Widget> _buildButtons(BuildContext context) { 
			 | 
		
	
		
			
			| 
				389
			 | 
			
				
			 | 
			
			
				-    final buttons = <Widget>[ 
			 | 
		
	
		
			
			| 
				390
			 | 
			
				
			 | 
			
			
				-      HeadingButton(), 
			 | 
		
	
		
			
			| 
				391
			 | 
			
				
			 | 
			
			
				-      buildButton(context, ZefyrToolbarAction.emoji), 
			 | 
		
	
		
			
			| 
				392
			 | 
			
				
			 | 
			
			
				-      if (editor.imageDelegate != null) ImageButton(), 
			 | 
		
	
		
			
			| 
				393
			 | 
			
				
			 | 
			
			
				-      // ImageButton(), 
			 | 
		
	
		
			
			| 
				394
			 | 
			
				
			 | 
			
			
				-      LinkButton(), 
			 | 
		
	
		
			
			| 
				395
			 | 
			
				
			 | 
			
			
				-       
			 | 
		
	
		
			
			| 
				396
			 | 
			
				
			 | 
			
			
				-      // buildButton(context, ZefyrToolbarAction.bulletList), 
			 | 
		
	
		
			
			| 
				397
			 | 
			
				
			 | 
			
			
				-      // buildButton(context, ZefyrToolbarAction.numberList), 
			 | 
		
	
		
			
			| 
				398
			 | 
			
				
			 | 
			
			
				-      // buildButton(context, ZefyrToolbarAction.quote), 
			 | 
		
	
		
			
			| 
				399
			 | 
			
				
			 | 
			
			
				-      // buildButton(context, ZefyrToolbarAction.code), 
			 | 
		
	
		
			
			| 
				400
			 | 
			
				
			 | 
			
			
				-      // buildButton(context, ZefyrToolbarAction.horizontalRule), 
			 | 
		
	
		
			
			| 
				401
			 | 
			
				
			 | 
			
			
				-    ]; 
			 | 
		
	
		
			
			| 
				402
			 | 
			
				
			 | 
			
			
				-    return buttons; 
			 | 
		
	
		
			
			| 
				403
			 | 
			
				
			 | 
			
			
				-  } 
			 | 
		
	
		
			
			| 
				404
			 | 
			
				403
			 | 
			
			
				 } 
			 | 
		
	
		
			
			| 
				405
			 | 
			
				404
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				406
			 | 
			
				405
			 | 
			
			
				 /// Scrollable list of toolbar buttons. 
			 |