feat: add tray icon to status bar

Signed-off-by: Kingtous <kingtous@qq.com>
This commit is contained in:
Kingtous
2022-06-02 16:23:20 +08:00
parent 1f9655d632
commit d81d785722
7 changed files with 92 additions and 14 deletions

View File

@@ -52,12 +52,7 @@ class _ConnectionPageState extends State<ConnectionPage> {
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
getUpdateUI(),
Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
getSearchBarUI(),
],
),
getSearchBarUI(),
SizedBox(height: 12),
getPeers(),
]),

View File

@@ -1,9 +1,13 @@
import 'package:flutter/material.dart';
import 'dart:io';
import 'package:flutter/material.dart' hide MenuItem;
import 'package:flutter_hbb/common.dart';
import 'package:flutter_hbb/desktop/pages/connection_page.dart';
import 'package:flutter_hbb/desktop/widgets/titlebar_widget.dart';
import 'package:flutter_hbb/models/model.dart';
import 'package:provider/provider.dart';
import 'package:tray_manager/tray_manager.dart';
import 'package:window_manager/window_manager.dart';
class DesktopHomePage extends StatefulWidget {
DesktopHomePage({Key? key}) : super(key: key);
@@ -14,7 +18,7 @@ class DesktopHomePage extends StatefulWidget {
const borderColor = Color(0xFF2F65BA);
class _DesktopHomePageState extends State<DesktopHomePage> {
class _DesktopHomePageState extends State<DesktopHomePage> with TrayListener {
@override
Widget build(BuildContext context) {
return Scaffold(
@@ -203,4 +207,30 @@ class _DesktopHomePageState extends State<DesktopHomePage> {
buildRecentSession(BuildContext context) {
return Center(child: Text("waiting implementation"));
}
@override
void onTrayMenuItemClick(MenuItem menuItem) {
print("click ${menuItem.key}");
switch (menuItem.key) {
case "quit":
exit(0);
case "show":
windowManager.show();
break;
default:
break;
}
}
@override
void initState() {
super.initState();
trayManager.addListener(this);
}
@override
void dispose() {
trayManager.removeListener(this);
super.dispose();
}
}