new: setting of doubleColumn on Desktop

This commit is contained in:
lollipopkit
2023-09-07 18:54:35 +08:00
parent b55b8bf831
commit 03f9e88bad
13 changed files with 58 additions and 21 deletions

View File

@@ -36,22 +36,15 @@ class ServerPage extends StatefulWidget {
class _ServerPageState extends State<ServerPage>
with AutomaticKeepAliveClientMixin, AfterLayoutMixin {
late MediaQueryData _media;
late ServerProvider _serverProvider;
late SettingStore _settingStore;
late S _s;
final _flipedCardIds = <String>{};
final _serverProvider = locator<ServerProvider>();
final _setting = locator<SettingStore>();
String? _tag;
bool _useDoubleColumn = false;
@override
void initState() {
super.initState();
_serverProvider = locator<ServerProvider>();
_settingStore = locator<SettingStore>();
}
@override
void didChangeDependencies() {
super.didChangeDependencies();
@@ -90,7 +83,7 @@ class _ServerPageState extends State<ServerPage>
}
final filtered = _filterServers(pro);
if (_useDoubleColumn) {
if (_useDoubleColumn && _setting.doubleColumnServersPage.fetch()) {
return _buildBodyMedium(pro);
}
return _buildBodySmall(provider: pro, filtered: filtered);
@@ -297,9 +290,9 @@ class _ServerPageState extends State<ServerPage>
),
),
height13,
if (_settingStore.moveOutServerTabFuncBtns.fetch() &&
if (_setting.moveOutServerTabFuncBtns.fetch() &&
// Discussion #146
!_settingStore.serverTabUseOldUI.fetch())
!_setting.serverTabUseOldUI.fetch())
SizedBox(
height: 27,
child: ServerFuncBtns(spi: spi, s: _s),
@@ -325,7 +318,7 @@ class _ServerPageState extends State<ServerPage>
),
),
);
} else if (_settingStore.serverTabUseOldUI.fetch()) {
} else if (_setting.serverTabUseOldUI.fetch()) {
rightCorner = ServerFuncBtnsTopRight(spi: spi, s: _s);
}
return Padding(
@@ -400,7 +393,7 @@ class _ServerPageState extends State<ServerPage>
Widget _buildNet(ServerStatus ss) {
return ValueListenableBuilder<NetViewType>(
valueListenable: _settingStore.netViewType.listenable(),
valueListenable: _setting.netViewType.listenable(),
builder: (_, val, __) {
final data = val.build(ss);
return AnimatedSwitcher(
@@ -518,9 +511,9 @@ class _ServerPageState extends State<ServerPage>
if (_flipedCardIds.contains(id)) {
return 77.0;
}
if (_settingStore.moveOutServerTabFuncBtns.fetch() &&
if (_setting.moveOutServerTabFuncBtns.fetch() &&
// Discussion #146
!_settingStore.serverTabUseOldUI.fetch()) {
!_setting.serverTabUseOldUI.fetch()) {
return 132;
}
return 107;

View File

@@ -204,6 +204,7 @@ class _SettingPageState extends State<SettingPage> {
_buildMaxRetry(),
_buildDiskIgnorePath(),
_buildDeleteServers(),
if (isDesktop) _buildDoubleColumnServersPage(),
].map((e) => RoundRectCard(e)).toList(),
);
}
@@ -1057,4 +1058,11 @@ class _SettingPageState extends State<SettingPage> {
trailing: buildSwitch(context, _setting.sftpRmrfDir),
);
}
Widget _buildDoubleColumnServersPage() {
return ListTile(
title: Text(_s.doubleColumnMode),
trailing: buildSwitch(context, _setting.doubleColumnServersPage),
);
}
}