Merge pull request #4499 from 21pages/chatbox

Chatbox
This commit is contained in:
RustDesk 2023-05-29 15:14:05 +08:00 committed by GitHub
commit ec3fd64da5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 31 additions and 25 deletions

View File

@ -526,6 +526,7 @@ String formatDurationToTime(Duration duration) {
closeConnection({String? id}) {
if (isAndroid || isIOS) {
gFFI.chatModel.hideChatOverlay();
Navigator.popUntil(globalKey.currentContext!, ModalRoute.withName("/"));
} else {
final controller = Get.find<DesktopTabController>();

View File

@ -47,7 +47,6 @@ class ChatPage extends StatelessWidget implements PageShape {
value: chatModel,
child: Container(
color: Theme.of(context).scaffoldBackgroundColor,
padding: EdgeInsets.all(14.0),
child: Consumer<ChatModel>(
builder: (context, chatModel, child) {
final currentUser = chatModel.currentUser;
@ -76,27 +75,20 @@ class ChatPage extends StatelessWidget implements PageShape {
fontSize: 14,
color:
Theme.of(context).textTheme.titleLarge?.color),
inputDecoration: isDesktop
? InputDecoration(
isDense: true,
hintText: translate('Write a message'),
filled: true,
fillColor:
Theme.of(context).colorScheme.background,
contentPadding: EdgeInsets.all(10),
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(10.0),
borderSide: const BorderSide(
width: 1,
style: BorderStyle.solid,
),
),
)
: defaultInputDecoration(
hintText: translate('Write a message'),
fillColor:
Theme.of(context).colorScheme.background,
),
inputDecoration: InputDecoration(
isDense: true,
hintText: translate('Write a message'),
filled: true,
fillColor: Theme.of(context).colorScheme.background,
contentPadding: EdgeInsets.all(10),
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(10.0),
borderSide: const BorderSide(
width: 1,
style: BorderStyle.solid,
),
),
),
sendButtonBuilder: defaultSendButton(
padding:
EdgeInsets.symmetric(horizontal: 6, vertical: 0),

View File

@ -71,13 +71,19 @@ class DraggableChatWindow extends StatelessWidget {
onPressed: () {
chatModel.hideChatWindowOverlay();
},
icon: const Icon(Icons.keyboard_arrow_down)),
icon: const Icon(
Icons.keyboard_arrow_down,
color: Colors.white,
)),
IconButton(
onPressed: () {
chatModel.hideChatWindowOverlay();
chatModel.hideChatIconOverlay();
},
icon: const Icon(Icons.close))
icon: const Icon(
Icons.close,
color: Colors.white,
))
],
)
],

View File

@ -7,7 +7,7 @@ import 'package:flutter_hbb/models/platform_model.dart';
import 'package:get/get_rx/src/rx_types/rx_types.dart';
import 'package:get/get.dart';
import 'package:window_manager/window_manager.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:flutter_svg/flutter_svg.dart';
import '../consts.dart';
import '../common.dart';
@ -185,6 +185,13 @@ class ChatModel with ChangeNotifier {
}
}
hideChatOverlay() {
if (!_isChatOverlayHide()) {
hideChatIconOverlay();
hideChatWindowOverlay();
}
}
showChatPage(int id) async {
if (isConnManager) {
if (!_isShowCMChatPage) {