hide/show tags panel button

This commit is contained in:
rustdesk 2023-06-29 15:18:35 +08:00
parent 137c5a00b6
commit 9f7706ca3e
2 changed files with 30 additions and 2 deletions

View File

@ -10,6 +10,8 @@ import 'package:get/get.dart';
import '../../common.dart'; import '../../common.dart';
import 'login.dart'; import 'login.dart';
final hideAbTagsPanel = false.obs;
class AddressBook extends StatefulWidget { class AddressBook extends StatefulWidget {
final EdgeInsets? menuPadding; final EdgeInsets? menuPadding;
const AddressBook({Key? key, this.menuPadding}) : super(key: key); const AddressBook({Key? key, this.menuPadding}) : super(key: key);
@ -67,7 +69,9 @@ class _AddressBookState extends State<AddressBook> {
Widget _buildAddressBookDesktop() { Widget _buildAddressBookDesktop() {
return Row( return Row(
children: [ children: [
Container( Offstage(
offstage: hideAbTagsPanel.value,
child: Container(
decoration: BoxDecoration( decoration: BoxDecoration(
borderRadius: BorderRadius.circular(12), borderRadius: BorderRadius.circular(12),
border: border:
@ -89,7 +93,7 @@ class _AddressBookState extends State<AddressBook> {
], ],
), ),
), ),
).marginOnly(right: 12.0), ).marginOnly(right: 12.0)),
_buildPeersViews() _buildPeersViews()
], ],
); );

View File

@ -69,6 +69,8 @@ class _PeerTabPageState extends State<PeerTabPage>
? PeerUiType.list ? PeerUiType.list
: PeerUiType.grid; : PeerUiType.grid;
} }
hideAbTagsPanel.value =
bind.mainGetLocalOption(key: "hideAbTagsPanel").isNotEmpty;
super.initState(); super.initState();
} }
@ -102,6 +104,28 @@ class _PeerTabPageState extends State<PeerTabPage>
offstage: gFFI.peerTabModel.currentTab == 0, offstage: gFFI.peerTabModel.currentTab == 0,
child: PeerSortDropdown().marginOnly(left: 8), child: PeerSortDropdown().marginOnly(left: 8),
), ),
Offstage(
offstage: gFFI.peerTabModel.currentTab != 3,
child: InkWell(
child: Obx(() => Container(
padding: EdgeInsets.all(4.0),
decoration: hideAbTagsPanel.value
? null
: BoxDecoration(
color: Theme.of(context).colorScheme.background,
borderRadius: BorderRadius.circular(6)),
child: Icon(
Icons.tag_rounded,
size: 18,
))),
onTap: () async {
await bind.mainSetLocalOption(
key: "hideAbTagsPanel",
value: hideAbTagsPanel.value ? "" : "Y");
hideAbTagsPanel.value = !hideAbTagsPanel.value;
},
).marginOnly(left: 8),
),
], ],
), ),
), ),