From 780d64a34946fc202e25299cbd72cd0ded76157e Mon Sep 17 00:00:00 2001 From: NicKoehler Date: Sat, 16 Sep 2023 12:28:00 +0200 Subject: [PATCH] refactor functions --- .../lib/desktop/pages/file_manager_page.dart | 88 ++++++++----------- 1 file changed, 37 insertions(+), 51 deletions(-) diff --git a/flutter/lib/desktop/pages/file_manager_page.dart b/flutter/lib/desktop/pages/file_manager_page.dart index 3a42d2191..1ac7987d7 100644 --- a/flutter/lib/desktop/pages/file_manager_page.dart +++ b/flutter/lib/desktop/pages/file_manager_page.dart @@ -403,6 +403,7 @@ class _FileManagerViewState extends State { @override Widget build(BuildContext context) { + _handleColumnPorportions(); return Container( margin: const EdgeInsets.all(16.0), padding: const EdgeInsets.all(8.0), @@ -434,6 +435,27 @@ class _FileManagerViewState extends State { ); } + void _handleColumnPorportions() { + final windowWidthNow = MediaQuery.of(context).size.width; + if (_windowWidthPrev == null) { + _windowWidthPrev = windowWidthNow; + final defaultColumnWidth = windowWidthNow * 0.115; + _fileTransferMinimumWidth = defaultColumnWidth / 3; + _nameColWidth.value = defaultColumnWidth; + _modifiedColWidth.value = defaultColumnWidth; + _sizeColWidth.value = defaultColumnWidth; + } + + if (_windowWidthPrev != windowWidthNow) { + final difference = windowWidthNow / _windowWidthPrev!; + _windowWidthPrev = windowWidthNow; + _fileTransferMinimumWidth *= difference; + _nameColWidth.value *= difference; + _modifiedColWidth.value *= difference; + _sizeColWidth.value *= difference; + } + } + void onLocationFocusChanged() { debugPrint("focus changed on local"); if (_locationNode.hasFocus) { @@ -1148,27 +1170,19 @@ class _FileManagerViewState extends State { return false; } + void _onDrag(double dx, RxDouble column1, RxDouble column2) { + if (column1.value + dx <= _fileTransferMinimumWidth || + column2.value - dx <= _fileTransferMinimumWidth) { + return; + } + column1.value += dx; + column2.value -= dx; + column1.value = max(_fileTransferMinimumWidth, column1.value); + column2.value = max(_fileTransferMinimumWidth, column2.value); + } + Widget _buildFileBrowserHeader(BuildContext context) { final padding = EdgeInsets.all(1.0); - final windowWidthNow = MediaQuery.of(context).size.width; - if (_windowWidthPrev == null) { - _windowWidthPrev = windowWidthNow; - final defaultColumnWidth = windowWidthNow * 0.34 / 3; - _fileTransferMinimumWidth = defaultColumnWidth / 3; - _nameColWidth.value = defaultColumnWidth; - _modifiedColWidth.value = defaultColumnWidth; - _sizeColWidth.value = defaultColumnWidth; - } - - if (_windowWidthPrev != windowWidthNow) { - final difference = windowWidthNow / _windowWidthPrev!; - _windowWidthPrev = windowWidthNow; - _fileTransferMinimumWidth *= difference; - _nameColWidth.value *= difference; - _modifiedColWidth.value *= difference; - _sizeColWidth.value *= difference; - } - return SizedBox( key: _globalHeaderKey, height: kDesktopFileTransferHeaderHeight, @@ -1180,22 +1194,8 @@ class _FileManagerViewState extends State { ), DraggableDivider( axis: Axis.vertical, - onPointerMove: (dx) { - if (_nameColWidth.value + dx <= _fileTransferMinimumWidth) { - return; - } - - if (_modifiedColWidth.value - dx <= _fileTransferMinimumWidth) { - return; - } - - _nameColWidth.value += dx; - _nameColWidth.value = - max(_fileTransferMinimumWidth, _nameColWidth.value); - _modifiedColWidth.value -= dx; - _modifiedColWidth.value = - max(_fileTransferMinimumWidth, _modifiedColWidth.value); - }, + onPointerMove: (dx) => + _onDrag(dx, _nameColWidth, _modifiedColWidth), padding: padding, ), Obx( @@ -1204,22 +1204,8 @@ class _FileManagerViewState extends State { ), DraggableDivider( axis: Axis.vertical, - onPointerMove: (dx) { - if (_modifiedColWidth.value + dx <= _fileTransferMinimumWidth) { - return; - } - - if (_sizeColWidth.value - dx <= _fileTransferMinimumWidth) { - return; - } - - _modifiedColWidth.value += dx; - _modifiedColWidth.value = - max(_fileTransferMinimumWidth, _modifiedColWidth.value); - _sizeColWidth.value -= dx; - _sizeColWidth.value = - max(_fileTransferMinimumWidth, _sizeColWidth.value); - }, + onPointerMove: (dx) => + _onDrag(dx, _modifiedColWidth, _sizeColWidth), padding: padding), Expanded( child: headerItemFunc(