refactor: rename to peer_card.dart and peers_view.dart
This commit is contained in:
parent
36cd262227
commit
9bbc3376a4
@ -1,6 +1,6 @@
|
|||||||
import 'package:contextmenu/contextmenu.dart';
|
import 'package:contextmenu/contextmenu.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_hbb/common/widgets/peer_widget.dart';
|
import 'package:flutter_hbb/common/widgets/peers_view.dart';
|
||||||
import 'package:flutter_hbb/models/ab_model.dart';
|
import 'package:flutter_hbb/models/ab_model.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
@ -174,7 +174,7 @@ class _AddressBookState extends State<AddressBook> {
|
|||||||
Expanded(
|
Expanded(
|
||||||
child: Align(
|
child: Align(
|
||||||
alignment: Alignment.topLeft,
|
alignment: Alignment.topLeft,
|
||||||
child: AddressBookPeerWidget()),
|
child: AddressBookPeersView()),
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
));
|
));
|
||||||
|
@ -489,7 +489,6 @@ abstract class BasePeerCard extends StatelessWidget {
|
|||||||
await bind.mainRemovePeer(id: id);
|
await bind.mainRemovePeer(id: id);
|
||||||
removePreference(id);
|
removePreference(id);
|
||||||
await reloadFunc();
|
await reloadFunc();
|
||||||
// Get.forceAppUpdate(); // TODO use inner model / state
|
|
||||||
}();
|
}();
|
||||||
},
|
},
|
||||||
dismissOnClicked: true,
|
dismissOnClicked: true,
|
@ -1,6 +1,6 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_hbb/common/widgets/peer_widget.dart';
|
import 'package:flutter_hbb/common/widgets/peers_view.dart';
|
||||||
import 'package:flutter_hbb/common/widgets/peercard_widget.dart';
|
import 'package:flutter_hbb/common/widgets/peer_card.dart';
|
||||||
import 'package:flutter_hbb/consts.dart';
|
import 'package:flutter_hbb/consts.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
|
||||||
|
@ -11,34 +11,34 @@ import 'package:window_manager/window_manager.dart';
|
|||||||
import '../../common.dart';
|
import '../../common.dart';
|
||||||
import '../../models/peer_model.dart';
|
import '../../models/peer_model.dart';
|
||||||
import '../../models/platform_model.dart';
|
import '../../models/platform_model.dart';
|
||||||
import 'peercard_widget.dart';
|
import 'peer_card.dart';
|
||||||
|
|
||||||
typedef OffstageFunc = bool Function(Peer peer);
|
typedef OffstageFunc = bool Function(Peer peer);
|
||||||
typedef PeerCardWidgetFunc = Widget Function(Peer peer);
|
typedef PeerCardBuilder = BasePeerCard Function(Peer peer);
|
||||||
|
|
||||||
/// for peer search text, global obs value
|
/// for peer search text, global obs value
|
||||||
final peerSearchText = "".obs;
|
final peerSearchText = "".obs;
|
||||||
final peerSearchTextController =
|
final peerSearchTextController =
|
||||||
TextEditingController(text: peerSearchText.value);
|
TextEditingController(text: peerSearchText.value);
|
||||||
|
|
||||||
class _PeerWidget extends StatefulWidget {
|
class _PeersView extends StatefulWidget {
|
||||||
final Peers peers;
|
final Peers peers;
|
||||||
final OffstageFunc offstageFunc;
|
final OffstageFunc offstageFunc;
|
||||||
final PeerCardWidgetFunc peerCardWidgetFunc;
|
final PeerCardBuilder peerCardBuilder;
|
||||||
|
|
||||||
const _PeerWidget(
|
const _PeersView(
|
||||||
{required this.peers,
|
{required this.peers,
|
||||||
required this.offstageFunc,
|
required this.offstageFunc,
|
||||||
required this.peerCardWidgetFunc,
|
required this.peerCardBuilder,
|
||||||
Key? key})
|
Key? key})
|
||||||
: super(key: key);
|
: super(key: key);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
_PeerWidgetState createState() => _PeerWidgetState();
|
_PeersViewState createState() => _PeersViewState();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// State for the peer widget.
|
/// State for the peer widget.
|
||||||
class _PeerWidgetState extends State<_PeerWidget> with WindowListener {
|
class _PeersViewState extends State<_PeersView> with WindowListener {
|
||||||
static const int _maxQueryCount = 3;
|
static const int _maxQueryCount = 3;
|
||||||
final space = isDesktop ? 12.0 : 8.0;
|
final space = isDesktop ? 12.0 : 8.0;
|
||||||
final _curPeers = <String>{};
|
final _curPeers = <String>{};
|
||||||
@ -60,7 +60,7 @@ class _PeerWidgetState extends State<_PeerWidget> with WindowListener {
|
|||||||
return width;
|
return width;
|
||||||
}();
|
}();
|
||||||
|
|
||||||
_PeerWidgetState() {
|
_PeersViewState() {
|
||||||
_startCheckOnlines();
|
_startCheckOnlines();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -119,7 +119,7 @@ class _PeerWidgetState extends State<_PeerWidget> with WindowListener {
|
|||||||
}
|
}
|
||||||
_lastChangeTime = DateTime.now();
|
_lastChangeTime = DateTime.now();
|
||||||
},
|
},
|
||||||
child: widget.peerCardWidgetFunc(peer),
|
child: widget.peerCardBuilder(peer),
|
||||||
);
|
);
|
||||||
cards.add(Offstage(
|
cards.add(Offstage(
|
||||||
key: ValueKey("off${peer.id}"),
|
key: ValueKey("off${peer.id}"),
|
||||||
@ -198,39 +198,39 @@ class _PeerWidgetState extends State<_PeerWidget> with WindowListener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
abstract class BasePeerWidget extends StatelessWidget {
|
abstract class BasePeersView extends StatelessWidget {
|
||||||
final String name;
|
final String name;
|
||||||
final String loadEvent;
|
final String loadEvent;
|
||||||
final OffstageFunc offstageFunc;
|
final OffstageFunc offstageFunc;
|
||||||
final PeerCardWidgetFunc peerCardWidgetFunc;
|
final PeerCardBuilder peerCardBuilder;
|
||||||
final List<Peer> initPeers;
|
final List<Peer> initPeers;
|
||||||
|
|
||||||
const BasePeerWidget({
|
const BasePeersView({
|
||||||
Key? key,
|
Key? key,
|
||||||
required this.name,
|
required this.name,
|
||||||
required this.loadEvent,
|
required this.loadEvent,
|
||||||
required this.offstageFunc,
|
required this.offstageFunc,
|
||||||
required this.peerCardWidgetFunc,
|
required this.peerCardBuilder,
|
||||||
required this.initPeers,
|
required this.initPeers,
|
||||||
}) : super(key: key);
|
}) : super(key: key);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return _PeerWidget(
|
return _PeersView(
|
||||||
peers: Peers(name: name, loadEvent: loadEvent, peers: initPeers),
|
peers: Peers(name: name, loadEvent: loadEvent, peers: initPeers),
|
||||||
offstageFunc: offstageFunc,
|
offstageFunc: offstageFunc,
|
||||||
peerCardWidgetFunc: peerCardWidgetFunc);
|
peerCardBuilder: peerCardBuilder);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class RecentPeerWidget extends BasePeerWidget {
|
class RecentPeersView extends BasePeersView {
|
||||||
RecentPeerWidget({Key? key})
|
RecentPeersView({Key? key})
|
||||||
: super(
|
: super(
|
||||||
key: key,
|
key: key,
|
||||||
name: 'recent peer',
|
name: 'recent peer',
|
||||||
loadEvent: 'load_recent_peers',
|
loadEvent: 'load_recent_peers',
|
||||||
offstageFunc: (Peer peer) => false,
|
offstageFunc: (Peer peer) => false,
|
||||||
peerCardWidgetFunc: (Peer peer) => RecentPeerCard(
|
peerCardBuilder: (Peer peer) => RecentPeerCard(
|
||||||
peer: peer,
|
peer: peer,
|
||||||
),
|
),
|
||||||
initPeers: [],
|
initPeers: [],
|
||||||
@ -244,14 +244,14 @@ class RecentPeerWidget extends BasePeerWidget {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class FavoritePeerWidget extends BasePeerWidget {
|
class FavoritePeersView extends BasePeersView {
|
||||||
FavoritePeerWidget({Key? key})
|
FavoritePeersView({Key? key})
|
||||||
: super(
|
: super(
|
||||||
key: key,
|
key: key,
|
||||||
name: 'favorite peer',
|
name: 'favorite peer',
|
||||||
loadEvent: 'load_fav_peers',
|
loadEvent: 'load_fav_peers',
|
||||||
offstageFunc: (Peer peer) => false,
|
offstageFunc: (Peer peer) => false,
|
||||||
peerCardWidgetFunc: (Peer peer) => FavoritePeerCard(
|
peerCardBuilder: (Peer peer) => FavoritePeerCard(
|
||||||
peer: peer,
|
peer: peer,
|
||||||
),
|
),
|
||||||
initPeers: [],
|
initPeers: [],
|
||||||
@ -265,14 +265,14 @@ class FavoritePeerWidget extends BasePeerWidget {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class DiscoveredPeerWidget extends BasePeerWidget {
|
class DiscoveredPeersView extends BasePeersView {
|
||||||
DiscoveredPeerWidget({Key? key})
|
DiscoveredPeersView({Key? key})
|
||||||
: super(
|
: super(
|
||||||
key: key,
|
key: key,
|
||||||
name: 'discovered peer',
|
name: 'discovered peer',
|
||||||
loadEvent: 'load_lan_peers',
|
loadEvent: 'load_lan_peers',
|
||||||
offstageFunc: (Peer peer) => false,
|
offstageFunc: (Peer peer) => false,
|
||||||
peerCardWidgetFunc: (Peer peer) => DiscoveredPeerCard(
|
peerCardBuilder: (Peer peer) => DiscoveredPeerCard(
|
||||||
peer: peer,
|
peer: peer,
|
||||||
),
|
),
|
||||||
initPeers: [],
|
initPeers: [],
|
||||||
@ -286,15 +286,15 @@ class DiscoveredPeerWidget extends BasePeerWidget {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class AddressBookPeerWidget extends BasePeerWidget {
|
class AddressBookPeersView extends BasePeersView {
|
||||||
AddressBookPeerWidget({Key? key})
|
AddressBookPeersView({Key? key})
|
||||||
: super(
|
: super(
|
||||||
key: key,
|
key: key,
|
||||||
name: 'address book peer',
|
name: 'address book peer',
|
||||||
loadEvent: 'load_address_book_peers',
|
loadEvent: 'load_address_book_peers',
|
||||||
offstageFunc: (Peer peer) =>
|
offstageFunc: (Peer peer) =>
|
||||||
!_hitTag(gFFI.abModel.selectedTags, peer.tags),
|
!_hitTag(gFFI.abModel.selectedTags, peer.tags),
|
||||||
peerCardWidgetFunc: (Peer peer) => AddressBookPeerCard(
|
peerCardBuilder: (Peer peer) => AddressBookPeerCard(
|
||||||
peer: peer,
|
peer: peer,
|
||||||
),
|
),
|
||||||
initPeers: _loadPeers(),
|
initPeers: _loadPeers(),
|
@ -11,7 +11,7 @@ import 'package:url_launcher/url_launcher_string.dart';
|
|||||||
import '../../common.dart';
|
import '../../common.dart';
|
||||||
import '../../common/formatter/id_formatter.dart';
|
import '../../common/formatter/id_formatter.dart';
|
||||||
import '../../common/widgets/peer_tab_page.dart';
|
import '../../common/widgets/peer_tab_page.dart';
|
||||||
import '../../common/widgets/peer_widget.dart';
|
import '../../common/widgets/peers_view.dart';
|
||||||
import '../../models/platform_model.dart';
|
import '../../models/platform_model.dart';
|
||||||
|
|
||||||
/// Connection page for connecting to a remote peer.
|
/// Connection page for connecting to a remote peer.
|
||||||
@ -74,9 +74,9 @@ class _ConnectionPageState extends State<ConnectionPage> {
|
|||||||
translate('Address Book')
|
translate('Address Book')
|
||||||
],
|
],
|
||||||
children: [
|
children: [
|
||||||
RecentPeerWidget(),
|
RecentPeersView(),
|
||||||
FavoritePeerWidget(),
|
FavoritePeersView(),
|
||||||
DiscoveredPeerWidget(),
|
DiscoveredPeersView(),
|
||||||
const AddressBook(),
|
const AddressBook(),
|
||||||
],
|
],
|
||||||
)),
|
)),
|
||||||
|
@ -10,7 +10,7 @@ import 'package:url_launcher/url_launcher.dart';
|
|||||||
import '../../common.dart';
|
import '../../common.dart';
|
||||||
import '../../common/widgets/address_book.dart';
|
import '../../common/widgets/address_book.dart';
|
||||||
import '../../common/widgets/peer_tab_page.dart';
|
import '../../common/widgets/peer_tab_page.dart';
|
||||||
import '../../common/widgets/peer_widget.dart';
|
import '../../common/widgets/peers_view.dart';
|
||||||
import '../../consts.dart';
|
import '../../consts.dart';
|
||||||
import '../../models/model.dart';
|
import '../../models/model.dart';
|
||||||
import '../../models/platform_model.dart';
|
import '../../models/platform_model.dart';
|
||||||
@ -84,9 +84,9 @@ class _ConnectionPageState extends State<ConnectionPage> {
|
|||||||
translate('Address Book')
|
translate('Address Book')
|
||||||
],
|
],
|
||||||
children: [
|
children: [
|
||||||
RecentPeerWidget(),
|
RecentPeersView(),
|
||||||
FavoritePeerWidget(),
|
FavoritePeersView(),
|
||||||
DiscoveredPeerWidget(),
|
DiscoveredPeersView(),
|
||||||
const AddressBook(),
|
const AddressBook(),
|
||||||
],
|
],
|
||||||
)),
|
)),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user