remove stupid group, bad implementation, buggy, and not usable

This commit is contained in:
rustdesk 2023-06-23 17:05:48 +08:00
parent 58e4d66b44
commit 31eea1482b
16 changed files with 34 additions and 35 deletions

View File

@ -21,7 +21,6 @@ import 'package:flutter_svg/flutter_svg.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:texture_rgba_renderer/texture_rgba_renderer.dart'; import 'package:texture_rgba_renderer/texture_rgba_renderer.dart';
import 'package:uni_links/uni_links.dart'; import 'package:uni_links/uni_links.dart';
import 'package:uni_links_desktop/uni_links_desktop.dart';
import 'package:url_launcher/url_launcher.dart'; import 'package:url_launcher/url_launcher.dart';
import 'package:uuid/uuid.dart'; import 'package:uuid/uuid.dart';
import 'package:win32/win32.dart' as win32; import 'package:win32/win32.dart' as win32;
@ -886,7 +885,7 @@ class CustomAlertDialog extends StatelessWidget {
child: content, child: content,
), ),
actions: actions, actions: actions,
titlePadding: MyTheme.dialogTitlePadding(content: content != null), titlePadding: MyTheme.dialogTitlePadding(),
contentPadding: contentPadding:
MyTheme.dialogContentPadding(actions: actions is List), MyTheme.dialogContentPadding(actions: actions is List),
actionsPadding: MyTheme.dialogActionsPadding(), actionsPadding: MyTheme.dialogActionsPadding(),
@ -1264,6 +1263,9 @@ Future<bool> matchPeer(String searchText, Peer peer) async {
/// Get the image for the current [platform]. /// Get the image for the current [platform].
Widget getPlatformImage(String platform, {double size = 50}) { Widget getPlatformImage(String platform, {double size = 50}) {
if (platform.isEmpty) {
return Container(width: size, height: size);
}
if (platform == kPeerPlatformMacOS) { if (platform == kPeerPlatformMacOS) {
platform = 'mac'; platform = 'mac';
} else if (platform != kPeerPlatformLinux && } else if (platform != kPeerPlatformLinux &&

View File

@ -164,6 +164,7 @@ class _AddressBookState extends State<AddressBook> {
alignment: Alignment.topLeft, alignment: Alignment.topLeft,
child: Obx(() => AddressBookPeersView( child: Obx(() => AddressBookPeersView(
menuPadding: widget.menuPadding, menuPadding: widget.menuPadding,
// ignore: invalid_use_of_protected_member
initPeers: gFFI.abModel.peers.value, initPeers: gFFI.abModel.peers.value,
))), ))),
); );

View File

@ -102,6 +102,7 @@ class _MyGroupState extends State<MyGroup> {
alignment: Alignment.topLeft, alignment: Alignment.topLeft,
child: Obx(() => MyGroupPeerView( child: Obx(() => MyGroupPeerView(
menuPadding: widget.menuPadding, menuPadding: widget.menuPadding,
// ignore: invalid_use_of_protected_member
initPeers: gFFI.groupModel.peersShow.value))), initPeers: gFFI.groupModel.peersShow.value))),
) )
], ],
@ -134,6 +135,7 @@ class _MyGroupState extends State<MyGroup> {
alignment: Alignment.topLeft, alignment: Alignment.topLeft,
child: Obx(() => MyGroupPeerView( child: Obx(() => MyGroupPeerView(
menuPadding: widget.menuPadding, menuPadding: widget.menuPadding,
// ignore: invalid_use_of_protected_member
initPeers: gFFI.groupModel.peersShow.value))), initPeers: gFFI.groupModel.peersShow.value))),
) )
], ],

View File

@ -8,7 +8,6 @@ import 'package:flutter_hbb/common.dart';
import 'package:flutter_hbb/consts.dart'; import 'package:flutter_hbb/consts.dart';
import 'package:flutter_hbb/desktop/pages/desktop_home_page.dart'; import 'package:flutter_hbb/desktop/pages/desktop_home_page.dart';
import 'package:flutter_hbb/desktop/pages/desktop_tab_page.dart'; import 'package:flutter_hbb/desktop/pages/desktop_tab_page.dart';
import 'package:flutter_hbb/models/group_model.dart';
import 'package:flutter_hbb/models/platform_model.dart'; import 'package:flutter_hbb/models/platform_model.dart';
import 'package:flutter_hbb/models/server_model.dart'; import 'package:flutter_hbb/models/server_model.dart';
import 'package:flutter_hbb/plugin/manager.dart'; import 'package:flutter_hbb/plugin/manager.dart';

View File

@ -1,6 +1,5 @@
import 'dart:async'; import 'dart:async';
import 'dart:io'; import 'dart:io';
import 'dart:ui' as ui;
import 'package:desktop_multi_window/desktop_multi_window.dart'; import 'package:desktop_multi_window/desktop_multi_window.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';

View File

@ -1,7 +1,6 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_hbb/common.dart'; import 'package:flutter_hbb/common.dart';
import 'package:flutter_hbb/desktop/pages/file_manager_tab_page.dart'; import 'package:flutter_hbb/desktop/pages/file_manager_tab_page.dart';
import 'package:flutter_hbb/desktop/widgets/refresh_wrapper.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
/// multi-tab file transfer remote screen /// multi-tab file transfer remote screen

View File

@ -1,7 +1,6 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_hbb/common.dart'; import 'package:flutter_hbb/common.dart';
import 'package:flutter_hbb/desktop/pages/port_forward_tab_page.dart'; import 'package:flutter_hbb/desktop/pages/port_forward_tab_page.dart';
import 'package:flutter_hbb/desktop/widgets/refresh_wrapper.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
/// multi-tab file port forward screen /// multi-tab file port forward screen

View File

@ -4,7 +4,6 @@ import 'package:flutter/material.dart';
import 'package:flutter_hbb/common.dart'; import 'package:flutter_hbb/common.dart';
import 'package:flutter_hbb/desktop/pages/remote_tab_page.dart'; import 'package:flutter_hbb/desktop/pages/remote_tab_page.dart';
import 'package:flutter_hbb/models/platform_model.dart'; import 'package:flutter_hbb/models/platform_model.dart';
import 'package:flutter_hbb/desktop/widgets/refresh_wrapper.dart';
import 'package:flutter_hbb/models/state_model.dart'; import 'package:flutter_hbb/models/state_model.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';

View File

@ -1,6 +1,4 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/src/widgets/framework.dart';
import 'package:flutter/src/widgets/placeholder.dart';
class DraggableDivider extends StatefulWidget { class DraggableDivider extends StatefulWidget {
final Axis axis; final Axis axis;
@ -28,8 +26,9 @@ class _DraggableDividerState extends State<DraggableDivider> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Listener( return Listener(
onPointerMove: (event) { onPointerMove: (event) {
final dl = final dl = widget.axis == Axis.horizontal
widget.axis == Axis.horizontal ? event.localDelta.dy : event.localDelta.dx; ? event.localDelta.dy
: event.localDelta.dx;
widget.onPointerMove?.call(dl); widget.onPointerMove?.call(dl);
}, },
onPointerHover: (event) => widget.onHover?.call(), onPointerHover: (event) => widget.onHover?.call(),

View File

@ -1378,7 +1378,6 @@ class PopupMenuButtonState<T> extends State<PopupMenuButton<T>> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final IconThemeData iconTheme = IconTheme.of(context);
final bool enableFeedback = widget.enableFeedback ?? final bool enableFeedback = widget.enableFeedback ??
PopupMenuTheme.of(context).enableFeedback ?? PopupMenuTheme.of(context).enableFeedback ??
true; true;

View File

@ -204,6 +204,7 @@ typedef LabelGetter = Rx<String> Function(String key);
int _lastClickTime = int _lastClickTime =
DateTime.now().millisecondsSinceEpoch - bind.getDoubleClickTime() - 1000; DateTime.now().millisecondsSinceEpoch - bind.getDoubleClickTime() - 1000;
// ignore: must_be_immutable
class DesktopTab extends StatelessWidget { class DesktopTab extends StatelessWidget {
final bool showLogo; final bool showLogo;
final bool showTitle; final bool showTitle;

View File

@ -717,13 +717,11 @@ RawGestureDetector getMixinGestureDetector({
HoldTapMoveGestureRecognizer: HoldTapMoveGestureRecognizer:
GestureRecognizerFactoryWithHandlers<HoldTapMoveGestureRecognizer>( GestureRecognizerFactoryWithHandlers<HoldTapMoveGestureRecognizer>(
() => HoldTapMoveGestureRecognizer(), () => HoldTapMoveGestureRecognizer(),
(instance) => { (instance) => instance
instance
..onHoldDragStart = onHoldDragStart ..onHoldDragStart = onHoldDragStart
..onHoldDragUpdate = onHoldDragUpdate ..onHoldDragUpdate = onHoldDragUpdate
..onHoldDragCancel = onHoldDragCancel ..onHoldDragCancel = onHoldDragCancel
..onHoldDragEnd = onHoldDragEnd ..onHoldDragEnd = onHoldDragEnd),
}),
DoubleFinerTapGestureRecognizer: GestureRecognizerFactoryWithHandlers< DoubleFinerTapGestureRecognizer: GestureRecognizerFactoryWithHandlers<
DoubleFinerTapGestureRecognizer>( DoubleFinerTapGestureRecognizer>(
() => DoubleFinerTapGestureRecognizer(), (instance) { () => DoubleFinerTapGestureRecognizer(), (instance) {

View File

@ -30,13 +30,17 @@ class GroupModel {
initialized = false; initialized = false;
} }
Future<void> pull({force = true}) async { Future<void> pull({force = true, quiet = false}) async {
/*
if (!force && initialized) return; if (!force && initialized) return;
if (!quiet) {
groupLoading.value = true; groupLoading.value = true;
groupLoadError.value = ""; groupLoadError.value = "";
}
await _pull(); await _pull();
groupLoading.value = false; groupLoading.value = false;
initialized = true; initialized = true;
*/
} }
Future<void> _pull() async { Future<void> _pull() async {
@ -137,7 +141,8 @@ class GroupModel {
final api = "${await bind.mainGetApiServer()}/api/peers"; final api = "${await bind.mainGetApiServer()}/api/peers";
try { try {
var uri0 = Uri.parse(api); var uri0 = Uri.parse(api);
final pageSize = 20; final pageSize =
20; // ????????????????????????????????????????????????????? stupid stupis, how about >20 peers
var total = 0; var total = 0;
int current = 0; int current = 0;
var queryParameters = { var queryParameters = {

View File

@ -16,7 +16,7 @@ class PeerTabModel with ChangeNotifier {
'Favorites', 'Favorites',
'Discovered', 'Discovered',
'Address Book', 'Address Book',
defaultGroupTabname, //defaultGroupTabname,
]; ];
final List<IconData> icons = [ final List<IconData> icons = [
Icons.access_time_filled, Icons.access_time_filled,

View File

@ -1,10 +1,8 @@
import 'dart:convert'; import 'dart:convert';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_hbb/common.dart'; import 'package:flutter_hbb/common.dart';
import 'package:flutter_hbb/models/platform_model.dart'; import 'package:flutter_hbb/models/platform_model.dart';
import 'package:get/get.dart';
void showPeerSelectionDialog( void showPeerSelectionDialog(
{bool singleSelection = false, {bool singleSelection = false,
@ -49,8 +47,7 @@ void showPeerSelectionDialog(
height: 50.0, height: 50.0,
decoration: BoxDecoration( decoration: BoxDecoration(
color: Theme.of(context).highlightColor, color: Theme.of(context).highlightColor,
borderRadius: BorderRadius.circular(12.0) borderRadius: BorderRadius.circular(12.0)),
),
padding: EdgeInsets.symmetric(horizontal: 16.0, vertical: 4.0), padding: EdgeInsets.symmetric(horizontal: 16.0, vertical: 4.0),
margin: EdgeInsets.symmetric(vertical: 4.0), margin: EdgeInsets.symmetric(vertical: 4.0),
child: Row( child: Row(
@ -58,14 +55,18 @@ void showPeerSelectionDialog(
mainAxisSize: MainAxisSize.max, mainAxisSize: MainAxisSize.max,
children: [ children: [
// platform // platform
SizedBox(width: 8.0,), SizedBox(
width: 8.0,
),
Column( Column(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
getPlatformImage(platform, size: 34.0), getPlatformImage(platform, size: 34.0),
], ],
), ),
SizedBox(width: 8.0,), SizedBox(
width: 8.0,
),
// id/alias // id/alias
Expanded(child: Text(alias.isEmpty ? id : alias)), Expanded(child: Text(alias.isEmpty ? id : alias)),
], ],

View File

@ -16,10 +16,6 @@ class RdPlatformChannel {
final MethodChannel _osxMethodChannel = final MethodChannel _osxMethodChannel =
MethodChannel("org.rustdesk.rustdesk/macos"); MethodChannel("org.rustdesk.rustdesk/macos");
final MethodChannel _winMethodChannel =
MethodChannel("org.rustdesk.rustdesk/windows");
final MethodChannel _linuxMethodChannel =
MethodChannel("org.rustdesk.rustdesk/linux");
/// Change the theme of the system window /// Change the theme of the system window
Future<void> changeSystemWindowTheme(SystemWindowTheme theme) { Future<void> changeSystemWindowTheme(SystemWindowTheme theme) {