mirror of
https://github.com/rustdesk/rustdesk.git
synced 2025-12-12 19:17:58 +00:00
flutter_desktop: remove animation & adjust popup menu
Signed-off-by: fufesou <shuanglongchen@yeah.net>
This commit is contained in:
@@ -11,7 +11,8 @@ import '../../mobile/pages/settings_page.dart';
|
||||
import '../../models/platform_model.dart';
|
||||
|
||||
class AddressBook extends StatefulWidget {
|
||||
const AddressBook({Key? key}) : super(key: key);
|
||||
final EdgeInsets? menuPadding;
|
||||
const AddressBook({Key? key, this.menuPadding}) : super(key: key);
|
||||
|
||||
@override
|
||||
State<StatefulWidget> createState() {
|
||||
@@ -180,7 +181,9 @@ class _AddressBookState extends State<AddressBook> {
|
||||
Expanded(
|
||||
child: Align(
|
||||
alignment: Alignment.topLeft,
|
||||
child: AddressBookPeersView()),
|
||||
child: AddressBookPeersView(
|
||||
menuPadding: widget.menuPadding,
|
||||
)),
|
||||
)
|
||||
],
|
||||
));
|
||||
|
||||
@@ -14,7 +14,7 @@ import '../../desktop/widgets/popup_menu.dart';
|
||||
class _PopupMenuTheme {
|
||||
static const Color commonColor = MyTheme.accent;
|
||||
// kMinInteractiveDimension
|
||||
static const double height = 25.0;
|
||||
static const double height = 20.0;
|
||||
static const double dividerHeight = 3.0;
|
||||
}
|
||||
|
||||
@@ -319,8 +319,10 @@ class _PeerCardState extends State<_PeerCard>
|
||||
|
||||
abstract class BasePeerCard extends StatelessWidget {
|
||||
final Peer peer;
|
||||
final EdgeInsets? menuPadding;
|
||||
|
||||
BasePeerCard({required this.peer, Key? key}) : super(key: key);
|
||||
BasePeerCard({required this.peer, this.menuPadding, Key? key})
|
||||
: super(key: key);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
@@ -365,6 +367,7 @@ abstract class BasePeerCard extends StatelessWidget {
|
||||
isRDP: isRDP,
|
||||
);
|
||||
},
|
||||
padding: menuPadding,
|
||||
dismissOnClicked: true,
|
||||
);
|
||||
}
|
||||
@@ -414,17 +417,25 @@ abstract class BasePeerCard extends StatelessWidget {
|
||||
Expanded(
|
||||
child: Align(
|
||||
alignment: Alignment.centerRight,
|
||||
child: IconButton(
|
||||
padding: EdgeInsets.zero,
|
||||
icon: const Icon(Icons.edit),
|
||||
onPressed: () => _rdpDialog(id),
|
||||
),
|
||||
child: Transform.scale(
|
||||
scale: 0.8,
|
||||
child: IconButton(
|
||||
icon: const Icon(Icons.edit),
|
||||
padding: EdgeInsets.zero,
|
||||
onPressed: () {
|
||||
if (Navigator.canPop(context)) {
|
||||
Navigator.pop(context);
|
||||
}
|
||||
_rdpDialog(id);
|
||||
},
|
||||
)),
|
||||
))
|
||||
],
|
||||
)),
|
||||
proc: () {
|
||||
connect(context, id, isRDP: true);
|
||||
},
|
||||
padding: menuPadding,
|
||||
dismissOnClicked: true,
|
||||
);
|
||||
}
|
||||
@@ -439,6 +450,7 @@ abstract class BasePeerCard extends StatelessWidget {
|
||||
proc: () {
|
||||
bind.mainWol(id: id);
|
||||
},
|
||||
padding: menuPadding,
|
||||
dismissOnClicked: true,
|
||||
);
|
||||
}
|
||||
@@ -447,6 +459,7 @@ abstract class BasePeerCard extends StatelessWidget {
|
||||
Future<MenuEntryBase<String>> _forceAlwaysRelayAction(String id) async {
|
||||
const option = 'force-always-relay';
|
||||
return MenuEntrySwitch<String>(
|
||||
switchType: SwitchType.scheckbox,
|
||||
text: translate('Always connect via relay'),
|
||||
getter: () async {
|
||||
return (await bind.mainGetPeerOption(id: id, key: option)).isNotEmpty;
|
||||
@@ -461,7 +474,8 @@ abstract class BasePeerCard extends StatelessWidget {
|
||||
}
|
||||
await bind.mainSetPeerOption(id: id, key: option, value: value);
|
||||
},
|
||||
dismissOnClicked: false,
|
||||
padding: menuPadding,
|
||||
dismissOnClicked: true,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -475,6 +489,7 @@ abstract class BasePeerCard extends StatelessWidget {
|
||||
proc: () {
|
||||
_rename(id, isAddressBook);
|
||||
},
|
||||
padding: menuPadding,
|
||||
dismissOnClicked: true,
|
||||
);
|
||||
}
|
||||
@@ -494,6 +509,7 @@ abstract class BasePeerCard extends StatelessWidget {
|
||||
await reloadFunc();
|
||||
}();
|
||||
},
|
||||
padding: menuPadding,
|
||||
dismissOnClicked: true,
|
||||
);
|
||||
}
|
||||
@@ -508,6 +524,7 @@ abstract class BasePeerCard extends StatelessWidget {
|
||||
proc: () {
|
||||
bind.mainForgetPassword(id: id);
|
||||
},
|
||||
padding: menuPadding,
|
||||
dismissOnClicked: true,
|
||||
);
|
||||
}
|
||||
@@ -528,6 +545,7 @@ abstract class BasePeerCard extends StatelessWidget {
|
||||
}
|
||||
}();
|
||||
},
|
||||
padding: menuPadding,
|
||||
dismissOnClicked: true,
|
||||
);
|
||||
}
|
||||
@@ -549,6 +567,7 @@ abstract class BasePeerCard extends StatelessWidget {
|
||||
}
|
||||
}();
|
||||
},
|
||||
padding: menuPadding,
|
||||
dismissOnClicked: true,
|
||||
);
|
||||
}
|
||||
@@ -616,7 +635,8 @@ abstract class BasePeerCard extends StatelessWidget {
|
||||
}
|
||||
|
||||
class RecentPeerCard extends BasePeerCard {
|
||||
RecentPeerCard({required Peer peer, Key? key}) : super(peer: peer, key: key);
|
||||
RecentPeerCard({required Peer peer, EdgeInsets? menuPadding, Key? key})
|
||||
: super(peer: peer, menuPadding: menuPadding, key: key);
|
||||
|
||||
@override
|
||||
Future<List<MenuEntryBase<String>>> _buildMenuItems(
|
||||
@@ -645,8 +665,8 @@ class RecentPeerCard extends BasePeerCard {
|
||||
}
|
||||
|
||||
class FavoritePeerCard extends BasePeerCard {
|
||||
FavoritePeerCard({required Peer peer, Key? key})
|
||||
: super(peer: peer, key: key);
|
||||
FavoritePeerCard({required Peer peer, EdgeInsets? menuPadding, Key? key})
|
||||
: super(peer: peer, menuPadding: menuPadding, key: key);
|
||||
|
||||
@override
|
||||
Future<List<MenuEntryBase<String>>> _buildMenuItems(
|
||||
@@ -677,8 +697,8 @@ class FavoritePeerCard extends BasePeerCard {
|
||||
}
|
||||
|
||||
class DiscoveredPeerCard extends BasePeerCard {
|
||||
DiscoveredPeerCard({required Peer peer, Key? key})
|
||||
: super(peer: peer, key: key);
|
||||
DiscoveredPeerCard({required Peer peer, EdgeInsets? menuPadding, Key? key})
|
||||
: super(peer: peer, menuPadding: menuPadding, key: key);
|
||||
|
||||
@override
|
||||
Future<List<MenuEntryBase<String>>> _buildMenuItems(
|
||||
@@ -706,8 +726,8 @@ class DiscoveredPeerCard extends BasePeerCard {
|
||||
}
|
||||
|
||||
class AddressBookPeerCard extends BasePeerCard {
|
||||
AddressBookPeerCard({required Peer peer, Key? key})
|
||||
: super(peer: peer, key: key);
|
||||
AddressBookPeerCard({required Peer peer, EdgeInsets? menuPadding, Key? key})
|
||||
: super(peer: peer, menuPadding: menuPadding, key: key);
|
||||
|
||||
@override
|
||||
Future<List<MenuEntryBase<String>>> _buildMenuItems(
|
||||
@@ -748,6 +768,7 @@ class AddressBookPeerCard extends BasePeerCard {
|
||||
await gFFI.abModel.updateAb();
|
||||
}();
|
||||
},
|
||||
padding: super.menuPadding,
|
||||
dismissOnClicked: true,
|
||||
);
|
||||
}
|
||||
@@ -762,6 +783,7 @@ class AddressBookPeerCard extends BasePeerCard {
|
||||
proc: () {
|
||||
_abEditTag(id);
|
||||
},
|
||||
padding: super.menuPadding,
|
||||
dismissOnClicked: true,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -224,7 +224,7 @@ abstract class BasePeersView extends StatelessWidget {
|
||||
}
|
||||
|
||||
class RecentPeersView extends BasePeersView {
|
||||
RecentPeersView({Key? key})
|
||||
RecentPeersView({Key? key, EdgeInsets? menuPadding})
|
||||
: super(
|
||||
key: key,
|
||||
name: 'recent peer',
|
||||
@@ -232,6 +232,7 @@ class RecentPeersView extends BasePeersView {
|
||||
offstageFunc: (Peer peer) => false,
|
||||
peerCardBuilder: (Peer peer) => RecentPeerCard(
|
||||
peer: peer,
|
||||
menuPadding: menuPadding,
|
||||
),
|
||||
initPeers: [],
|
||||
);
|
||||
@@ -245,7 +246,7 @@ class RecentPeersView extends BasePeersView {
|
||||
}
|
||||
|
||||
class FavoritePeersView extends BasePeersView {
|
||||
FavoritePeersView({Key? key})
|
||||
FavoritePeersView({Key? key, EdgeInsets? menuPadding})
|
||||
: super(
|
||||
key: key,
|
||||
name: 'favorite peer',
|
||||
@@ -253,6 +254,7 @@ class FavoritePeersView extends BasePeersView {
|
||||
offstageFunc: (Peer peer) => false,
|
||||
peerCardBuilder: (Peer peer) => FavoritePeerCard(
|
||||
peer: peer,
|
||||
menuPadding: menuPadding,
|
||||
),
|
||||
initPeers: [],
|
||||
);
|
||||
@@ -266,7 +268,7 @@ class FavoritePeersView extends BasePeersView {
|
||||
}
|
||||
|
||||
class DiscoveredPeersView extends BasePeersView {
|
||||
DiscoveredPeersView({Key? key})
|
||||
DiscoveredPeersView({Key? key, EdgeInsets? menuPadding})
|
||||
: super(
|
||||
key: key,
|
||||
name: 'discovered peer',
|
||||
@@ -274,6 +276,7 @@ class DiscoveredPeersView extends BasePeersView {
|
||||
offstageFunc: (Peer peer) => false,
|
||||
peerCardBuilder: (Peer peer) => DiscoveredPeerCard(
|
||||
peer: peer,
|
||||
menuPadding: menuPadding,
|
||||
),
|
||||
initPeers: [],
|
||||
);
|
||||
@@ -287,7 +290,7 @@ class DiscoveredPeersView extends BasePeersView {
|
||||
}
|
||||
|
||||
class AddressBookPeersView extends BasePeersView {
|
||||
AddressBookPeersView({Key? key})
|
||||
AddressBookPeersView({Key? key, EdgeInsets? menuPadding})
|
||||
: super(
|
||||
key: key,
|
||||
name: 'address book peer',
|
||||
@@ -296,6 +299,7 @@ class AddressBookPeersView extends BasePeersView {
|
||||
!_hitTag(gFFI.abModel.selectedTags, peer.tags),
|
||||
peerCardBuilder: (Peer peer) => AddressBookPeerCard(
|
||||
peer: peer,
|
||||
menuPadding: menuPadding,
|
||||
),
|
||||
initPeers: _loadPeers(),
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user