feat: sub window custom title bar & functions
Signed-off-by: Kingtous <kingtous@qq.com>
This commit is contained in:
parent
b8f7e85c0b
commit
3cc67bf581
@ -84,6 +84,9 @@ class DesktopTabBar extends StatelessWidget {
|
||||
onPanStart: (_) {
|
||||
if (mainTab) {
|
||||
windowManager.startDragging();
|
||||
} else {
|
||||
WindowController.fromWindowId(windowId!)
|
||||
.startDragging();
|
||||
}
|
||||
},
|
||||
child: Obx(() => TabBar(
|
||||
@ -201,16 +204,15 @@ class WindowActionPanel extends StatelessWidget {
|
||||
child: Icon(
|
||||
Icons.minimize,
|
||||
color: color,
|
||||
),
|
||||
).paddingSymmetric(horizontal: 5),
|
||||
onTap: () {
|
||||
if (mainTab) {
|
||||
windowManager.minimize();
|
||||
} else {
|
||||
// TODO
|
||||
// WindowController.fromWindowId(windowId!).close();
|
||||
WindowController.fromWindowId(windowId!).minimize();
|
||||
}
|
||||
},
|
||||
).paddingOnly(right: 10),
|
||||
),
|
||||
),
|
||||
Tooltip(
|
||||
message: translate("Maximize"),
|
||||
@ -218,7 +220,8 @@ class WindowActionPanel extends StatelessWidget {
|
||||
child: Icon(
|
||||
Icons.rectangle_outlined,
|
||||
color: color,
|
||||
),
|
||||
size: 20,
|
||||
).paddingSymmetric(horizontal: 5),
|
||||
onTap: () {
|
||||
if (mainTab) {
|
||||
windowManager.isMaximized().then((maximized) {
|
||||
@ -229,11 +232,17 @@ class WindowActionPanel extends StatelessWidget {
|
||||
}
|
||||
});
|
||||
} else {
|
||||
// TODO
|
||||
// WindowController.fromWindowId(windowId!).();
|
||||
final wc = WindowController.fromWindowId(windowId!);
|
||||
wc.isMaximized().then((maximized) {
|
||||
if (maximized) {
|
||||
wc.unmaximize();
|
||||
} else {
|
||||
wc.maximize();
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
).paddingOnly(right: 10),
|
||||
),
|
||||
),
|
||||
Tooltip(
|
||||
message: translate("Close"),
|
||||
@ -241,7 +250,7 @@ class WindowActionPanel extends StatelessWidget {
|
||||
child: Icon(
|
||||
Icons.close,
|
||||
color: color,
|
||||
),
|
||||
).paddingSymmetric(horizontal: 5),
|
||||
onTap: () {
|
||||
if (mainTab) {
|
||||
windowManager.close();
|
||||
@ -249,7 +258,7 @@ class WindowActionPanel extends StatelessWidget {
|
||||
WindowController.fromWindowId(windowId!).close();
|
||||
}
|
||||
},
|
||||
).paddingOnly(right: 10),
|
||||
),
|
||||
)
|
||||
],
|
||||
);
|
||||
|
@ -1,5 +1,6 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:desktop_multi_window/desktop_multi_window.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_hbb/desktop/pages/desktop_tab_page.dart';
|
||||
import 'package:flutter_hbb/desktop/pages/server_page.dart';
|
||||
@ -32,6 +33,7 @@ Future<Null> main(List<String> args) async {
|
||||
// main window
|
||||
if (args.isNotEmpty && args.first == 'multi_window') {
|
||||
windowId = int.parse(args[1]);
|
||||
WindowController.fromWindowId(windowId!).showTitleBar(false);
|
||||
final argument = args[2].isEmpty
|
||||
? Map<String, dynamic>()
|
||||
: jsonDecode(args[2]) as Map<String, dynamic>;
|
||||
@ -134,7 +136,6 @@ void runConnectionManagerScreen() async {
|
||||
await windowManager.focus();
|
||||
})
|
||||
]);
|
||||
;
|
||||
runApp(GetMaterialApp(
|
||||
debugShowCheckedModeBanner: false,
|
||||
theme: getCurrentTheme(),
|
||||
|
@ -250,8 +250,8 @@ packages:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
path: "."
|
||||
ref: "2b1176d53f195cc55e8d37151bb3d9f6bd52fad3"
|
||||
resolved-ref: "2b1176d53f195cc55e8d37151bb3d9f6bd52fad3"
|
||||
ref: bf670217de03f4866177a9793284f4db99271c51
|
||||
resolved-ref: bf670217de03f4866177a9793284f4db99271c51
|
||||
url: "https://github.com/Kingtous/rustdesk_desktop_multi_window"
|
||||
source: git
|
||||
version: "0.1.0"
|
||||
|
@ -63,9 +63,10 @@ dependencies:
|
||||
url: https://github.com/Kingtous/rustdesk_window_manager
|
||||
ref: 028a7f6
|
||||
desktop_multi_window:
|
||||
# path: ../../rustdesk_desktop_multi_window
|
||||
git:
|
||||
url: https://github.com/Kingtous/rustdesk_desktop_multi_window
|
||||
ref: 2b1176d53f195cc55e8d37151bb3d9f6bd52fad3
|
||||
ref: bf670217de03f4866177a9793284f4db99271c51
|
||||
freezed_annotation: ^2.0.3
|
||||
tray_manager:
|
||||
git:
|
||||
|
Loading…
x
Reference in New Issue
Block a user