public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH pve_flutter_frontend] widgets: migrate from ButtonBar to OverflowBar
@ 2025-04-24 16:25 Shan Shaji
  2025-05-02  7:24 ` Michael Köppl
  2025-05-07  7:50 ` [pve-devel] applied: " Thomas Lamprecht
  0 siblings, 2 replies; 3+ messages in thread
From: Shan Shaji @ 2025-04-24 16:25 UTC (permalink / raw)
  To: pve-devel; +Cc: Shan Shaji

The `ButtonBar` widget has been deprecated as of Flutter
v3.21.0-10.0.pre. This patch replaces instance of `ButtonBar`
with `OverflowBar`.

Signed-off-by: Shan Shaji <s.shaji@proxmox.com>
---
 .../pve_task_log_expansiontile_widget.dart    | 40 +++++++++++--------
 1 file changed, 23 insertions(+), 17 deletions(-)

diff --git a/lib/widgets/pve_task_log_expansiontile_widget.dart b/lib/widgets/pve_task_log_expansiontile_widget.dart
index 6491b6b..ed4481b 100644
--- a/lib/widgets/pve_task_log_expansiontile_widget.dart
+++ b/lib/widgets/pve_task_log_expansiontile_widget.dart
@@ -119,24 +119,30 @@ class _PveTaskExpansionTileState extends State<PveTaskExpansionTile> {
           dense: true,
           subtitle: const Text('Shortlog'),
         ),
-        ButtonBar(
-          children: <Widget>[
-            if (widget.showMorePage != null)
+        Padding(
+          padding: const EdgeInsets.only(right: 8, bottom: 8),
+          child: OverflowBar(
+            alignment: MainAxisAlignment.end,
+            spacing: 8,
+            overflowAlignment: OverflowBarAlignment.end,
+            children: <Widget>[
+              if (widget.showMorePage != null)
+                OutlinedButton.icon(
+                  onPressed: () => Navigator.of(context).push(
+                      _createTaskLogRoute(taskLogBloc, widget.showMorePage)),
+                  icon: const Icon(Icons.format_list_bulleted),
+                  label: const Text('More Tasks'),
+                ),
               OutlinedButton.icon(
-                onPressed: () => Navigator.of(context).push(
-                    _createTaskLogRoute(taskLogBloc, widget.showMorePage)),
-                icon: const Icon(Icons.format_list_bulleted),
-                label: const Text('More Tasks'),
-              ),
-            OutlinedButton.icon(
-              onPressed: () => showTaskLogBottomSheet(context,
-                  taskLogBloc.apiClient, widget.task.node, widget.task.upid),
-              icon: const Icon(Icons.article),
-              label: const Text(
-                'Full Log',
-              ),
-            )
-          ],
+                onPressed: () => showTaskLogBottomSheet(context,
+                    taskLogBloc.apiClient, widget.task.node, widget.task.upid),
+                icon: const Icon(Icons.article),
+                label: const Text(
+                  'Full Log',
+                ),
+              )
+            ],
+          ),
         )
       ],
     );
-- 
2.39.5


_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [pve-devel] [PATCH pve_flutter_frontend] widgets: migrate from ButtonBar to OverflowBar
  2025-04-24 16:25 [pve-devel] [PATCH pve_flutter_frontend] widgets: migrate from ButtonBar to OverflowBar Shan Shaji
@ 2025-05-02  7:24 ` Michael Köppl
  2025-05-07  7:50 ` [pve-devel] applied: " Thomas Lamprecht
  1 sibling, 0 replies; 3+ messages in thread
From: Michael Köppl @ 2025-05-02  7:24 UTC (permalink / raw)
  To: Proxmox VE development discussion, Shan Shaji

On 4/24/25 18:25, Shan Shaji wrote:
> The `ButtonBar` widget has been deprecated as of Flutter
> v3.21.0-10.0.pre. This patch replaces instance of `ButtonBar`
> with `OverflowBar`.
> 
> Signed-off-by: Shan Shaji <s.shaji@proxmox.com>

Quickly tested this by comparing the behavior of the previously 
implemented ButtonBar and the new OverflowBar and also checking for any 
unwanted visual changes. The bar behaves and looks the same, clickable 
elements still work as expected.

I also had a look at the Flutter documentation[0] for migrating from 
ButtonBar to OverflowBar. The recommended changes to keep the behavior 
identical to the ButtonBar were made in this patch, so everything looks 
good to me.

Please consider this
Tested-By: Michael Köppl <m.koeppl@proxmox.com>
Reviewed-By: Michael Köppl <m.koeppl@proxmox.com>

[0] https://docs.flutter.dev/release/breaking-changes/deprecate-buttonbar


_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [pve-devel] applied: [PATCH pve_flutter_frontend] widgets: migrate from ButtonBar to OverflowBar
  2025-04-24 16:25 [pve-devel] [PATCH pve_flutter_frontend] widgets: migrate from ButtonBar to OverflowBar Shan Shaji
  2025-05-02  7:24 ` Michael Köppl
@ 2025-05-07  7:50 ` Thomas Lamprecht
  1 sibling, 0 replies; 3+ messages in thread
From: Thomas Lamprecht @ 2025-05-07  7:50 UTC (permalink / raw)
  To: pve-devel, pve-devel, Shan Shaji

On Thu, 24 Apr 2025 18:25:19 +0200, Shan Shaji wrote:
> The `ButtonBar` widget has been deprecated as of Flutter
> v3.21.0-10.0.pre. This patch replaces instance of `ButtonBar`
> with `OverflowBar`.
> 
> 

Applied, thanks!

[1/1] widgets: migrate from ButtonBar to OverflowBar
      commit: 6d675081083e84d4d4ea04cfa61f7148ea463db3


_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-05-07  7:51 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-04-24 16:25 [pve-devel] [PATCH pve_flutter_frontend] widgets: migrate from ButtonBar to OverflowBar Shan Shaji
2025-05-02  7:24 ` Michael Köppl
2025-05-07  7:50 ` [pve-devel] applied: " Thomas Lamprecht

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal