Fix Merge

This commit is contained in:
Kylmakalle 2025-06-09 00:42:38 +03:00
parent e8e3ca56ed
commit 5ed8a4b6f1
4 changed files with 17 additions and 7 deletions

View File

@ -89,7 +89,7 @@ func chatMessageDisplaySendMessageOptions(selfController: ChatControllerImpl, no
}
// MARK: Swiftgram
let outgoingMessageTranslateToLang = SGSimpleSettings.shared.outgoingLanguageTranslation[SGSimpleSettings.makeOutgoingLanguageTranslationKey(accountId: selfController.context.account.peerId.id._internalGetInt64Value(), peerId: peer.id.id._internalGetInt64Value())] ?? selfController.predictedChatLanguage
let outgoingMessageTranslateToLang = SGSimpleSettings.shared.outgoingLanguageTranslation[SGSimpleSettings.makeOutgoingLanguageTranslationKey(accountId: selfController.context.account.peerId.id._internalGetInt64Value(), peerId: peer.id.id._internalGetInt64Value())] ?? selfController.contentData?.state.predictedChatLanguage
let sgTranslationContext: (outgoingMessageTranslateToLang: String?, translate: (() -> Void)?, changeTranslationLanguage: (() -> ())?) = (outgoingMessageTranslateToLang: outgoingMessageTranslateToLang, translate: { [weak selfController] in
guard let selfController else { return }

View File

@ -558,6 +558,19 @@ public final class ChatControllerImpl: TelegramBaseController, ChatController, G
var translationStateDisposable: Disposable?
var premiumGiftSuggestionDisposable: Disposable?
// MARK: Swiftgram
public var overlayTitle: String? {
var title: String?
if let threadInfo = self.contentData?.state.threadInfo {
title = threadInfo.title
} else if let peerView = self.contentData?.state.peerView {
if let peer = peerViewMainPeer(peerView) {
title = EnginePeer(peer).displayTitle(strings: self.presentationData.strings, displayOrder: self.presentationData.nameDisplayOrder)
}
}
return title
}
var currentSpeechHolder: SpeechSynthesizerHolder?
var powerSavingMonitoringDisposable: Disposable?
@ -1469,7 +1482,7 @@ public final class ChatControllerImpl: TelegramBaseController, ChatController, G
if let chatPeerId = strongSelf.chatLocation.peerId {
result = SGSimpleSettings.shared.outgoingLanguageTranslation[SGSimpleSettings.makeOutgoingLanguageTranslationKey(accountId: strongSelf.context.account.peerId.id._internalGetInt64Value(), peerId: chatPeerId.id._internalGetInt64Value())]
}
return result ?? strongSelf.predictedChatLanguage
return result ?? strongSelf.contentData?.state.predictedChatLanguage
}
return nil
}, sgStartMessageEdit: { [weak self] message in

View File

@ -2093,7 +2093,7 @@ extension ChatControllerImpl {
}
}
|> distinctUntilChanged).startStrict(next: { [weak self] translationState in
if let strongSelf = self, let translationState = translationState, strongSelf.predictedChatLanguage == nil {
if let strongSelf = self, let translationState = translationState, strongSelf.state.predictedChatLanguage == nil {
let previousState = strongSelf.state
strongSelf.state.predictedChatLanguage = translationState.fromLang

View File

@ -95,10 +95,7 @@ extension ChatControllerImpl {
}
}
controller.multiplePeersSelected = { [weak self, weak controller] peers, peerMap, messageText, mode, forwardOptions, _ in
guard let strongSelf = self, let strongController = controller else {
return
}
strongController.dismiss()
let peerIds = peers.map { $0.id }
let _ = (context.engine.data.get(
EngineDataMap(