fix #LINQT-1833 select chat when one result in chat list after research \
fix notify account when not sender \ display security settings ui \ rename hide_sip_addresses flag \ fix #LINQT-1843 disconnect old chatroom properly to avoid having message from another chatroom in the new one selected
This commit is contained in:
parent
98d9179419
commit
34106a8008
18 changed files with 34 additions and 27 deletions
|
|
@ -55,6 +55,7 @@ ChatList::~ChatList() {
|
|||
|
||||
void ChatList::connectItem(QSharedPointer<ChatCore> chat) {
|
||||
connect(chat.get(), &ChatCore::deleted, this, [this, chat] {
|
||||
disconnect(chat.get());
|
||||
remove(chat);
|
||||
// We cannot use countChanged here because it is called before mList
|
||||
// really has removed the item, then emit specific signal
|
||||
|
|
|
|||
|
|
@ -76,9 +76,10 @@ void EventLogList::connectItem(const QSharedPointer<EventLogCore> item) {
|
|||
void EventLogList::setChatCore(QSharedPointer<ChatCore> core) {
|
||||
if (mChatCore != core) {
|
||||
if (mChatCore) disconnect(mChatCore.get(), &ChatCore::eventListChanged, this, nullptr);
|
||||
if (mChatCore) disconnect(mChatCore.get(), &ChatCore::eventsInserted, this, nullptr);
|
||||
mChatCore = core;
|
||||
if (mChatCore) connect(mChatCore.get(), &ChatCore::eventListChanged, this, &EventLogList::lUpdate);
|
||||
if (mChatCore)
|
||||
if (mChatCore) {
|
||||
connect(mChatCore.get(), &ChatCore::eventListChanged, this, &EventLogList::lUpdate);
|
||||
connect(mChatCore.get(), &ChatCore::eventsInserted, this, [this](QList<QSharedPointer<EventLogCore>> list) {
|
||||
auto eventsList = getSharedList<EventLogCore>();
|
||||
for (auto &event : list) {
|
||||
|
|
@ -92,6 +93,7 @@ void EventLogList::setChatCore(QSharedPointer<ChatCore> core) {
|
|||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
emit eventChanged();
|
||||
lUpdate();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -326,7 +326,9 @@ void Notifier::notifyReceivedMessages(const std::shared_ptr<linphone::ChatRoom>
|
|||
auto receiverAccount = ToolModel::findAccount(message->getToAddress());
|
||||
if (receiverAccount) {
|
||||
auto senderAccount = ToolModel::findAccount(message->getFromAddress());
|
||||
if (senderAccount) {
|
||||
auto currentAccount = CoreModel::getInstance()->getCore()->getDefaultAccount();
|
||||
if (senderAccount && senderAccount->getContactAddress()->weakEqual(currentAccount->getContactAddress())) {
|
||||
qDebug() << "sender is current account, return";
|
||||
return;
|
||||
}
|
||||
auto accountModel = Utils::makeQObject_ptr<AccountModel>(receiverAccount);
|
||||
|
|
|
|||
|
|
@ -111,7 +111,7 @@ SettingsCore::SettingsCore(QObject *parent) : QObject(parent) {
|
|||
INIT_CORE_MEMBER(AssistantDisableQrCode, settingsModel)
|
||||
|
||||
INIT_CORE_MEMBER(AssistantHideThirdPartyAccount, settingsModel)
|
||||
INIT_CORE_MEMBER(OnlyDisplaySipUriUsername, settingsModel)
|
||||
INIT_CORE_MEMBER(HideSipAddresses, settingsModel)
|
||||
INIT_CORE_MEMBER(DarkModeAllowed, settingsModel)
|
||||
INIT_CORE_MEMBER(MaxAccount, settingsModel)
|
||||
INIT_CORE_MEMBER(AssistantGoDirectlyToThirdPartySipAccountLogin, settingsModel)
|
||||
|
|
@ -189,7 +189,7 @@ SettingsCore::SettingsCore(const SettingsCore &settingsCore) {
|
|||
mAssistantDisableQrCode = settingsCore.mAssistantDisableQrCode;
|
||||
|
||||
mAssistantHideThirdPartyAccount = settingsCore.mAssistantHideThirdPartyAccount;
|
||||
mOnlyDisplaySipUriUsername = settingsCore.mOnlyDisplaySipUriUsername;
|
||||
mHideSipAddresses = settingsCore.mHideSipAddresses;
|
||||
mDarkModeAllowed = settingsCore.mDarkModeAllowed;
|
||||
mMaxAccount = settingsCore.mMaxAccount;
|
||||
mAssistantGoDirectlyToThirdPartySipAccountLogin = settingsCore.mAssistantGoDirectlyToThirdPartySipAccountLogin;
|
||||
|
|
@ -398,7 +398,7 @@ void SettingsCore::setSelf(QSharedPointer<SettingsCore> me) {
|
|||
DEFINE_CORE_GETSET_CONNECT(mSettingsModelConnection, SettingsCore, SettingsModel, settingsModel, bool,
|
||||
assistantHideThirdPartyAccount, AssistantHideThirdPartyAccount)
|
||||
DEFINE_CORE_GETSET_CONNECT(mSettingsModelConnection, SettingsCore, SettingsModel, settingsModel, bool,
|
||||
onlyDisplaySipUriUsername, OnlyDisplaySipUriUsername)
|
||||
hideSipAddresses, HideSipAddresses)
|
||||
DEFINE_CORE_GETSET_CONNECT(mSettingsModelConnection, SettingsCore, SettingsModel, settingsModel, bool,
|
||||
darkModeAllowed, DarkModeAllowed)
|
||||
DEFINE_CORE_GETSET_CONNECT(mSettingsModelConnection, SettingsCore, SettingsModel, settingsModel, int, maxAccount,
|
||||
|
|
@ -515,7 +515,7 @@ void SettingsCore::reset(const SettingsCore &settingsCore) {
|
|||
setAssistantDisableQrCode(settingsCore.mAssistantDisableQrCode);
|
||||
|
||||
setAssistantHideThirdPartyAccount(settingsCore.mAssistantHideThirdPartyAccount);
|
||||
setOnlyDisplaySipUriUsername(settingsCore.mOnlyDisplaySipUriUsername);
|
||||
setHideSipAddresses(settingsCore.mHideSipAddresses);
|
||||
setDarkModeAllowed(settingsCore.mDarkModeAllowed);
|
||||
setMaxAccount(settingsCore.mMaxAccount);
|
||||
setAssistantGoDirectlyToThirdPartySipAccountLogin(settingsCore.mAssistantGoDirectlyToThirdPartySipAccountLogin);
|
||||
|
|
@ -1017,7 +1017,7 @@ void SettingsCore::writeIntoModel(std::shared_ptr<SettingsModel> model) const {
|
|||
model->setAssistantDisableQrCode(mAssistantDisableQrCode);
|
||||
|
||||
model->setAssistantHideThirdPartyAccount(mAssistantHideThirdPartyAccount);
|
||||
model->setOnlyDisplaySipUriUsername(mOnlyDisplaySipUriUsername);
|
||||
model->setHideSipAddresses(mHideSipAddresses);
|
||||
model->setDarkModeAllowed(mDarkModeAllowed);
|
||||
model->setMaxAccount(mMaxAccount);
|
||||
model->setAssistantGoDirectlyToThirdPartySipAccountLogin(mAssistantGoDirectlyToThirdPartySipAccountLogin);
|
||||
|
|
@ -1086,7 +1086,7 @@ void SettingsCore::writeFromModel(const std::shared_ptr<SettingsModel> &model) {
|
|||
mAssistantDisableQrCode = model->getAssistantDisableQrCode();
|
||||
|
||||
mAssistantHideThirdPartyAccount = model->getAssistantHideThirdPartyAccount();
|
||||
mOnlyDisplaySipUriUsername = model->getOnlyDisplaySipUriUsername();
|
||||
mHideSipAddresses = model->getHideSipAddresses();
|
||||
mDarkModeAllowed = model->getDarkModeAllowed();
|
||||
mMaxAccount = model->getMaxAccount();
|
||||
mAssistantGoDirectlyToThirdPartySipAccountLogin = model->getAssistantGoDirectlyToThirdPartySipAccountLogin();
|
||||
|
|
|
|||
|
|
@ -221,7 +221,7 @@ public:
|
|||
DECLARE_CORE_GETSET_MEMBER(bool, assistantHideCreateAccount, AssistantHideCreateAccount)
|
||||
DECLARE_CORE_GETSET_MEMBER(bool, assistantDisableQrCode, AssistantDisableQrCode)
|
||||
DECLARE_CORE_GETSET_MEMBER(bool, assistantHideThirdPartyAccount, AssistantHideThirdPartyAccount)
|
||||
DECLARE_CORE_GETSET_MEMBER(bool, onlyDisplaySipUriUsername, OnlyDisplaySipUriUsername)
|
||||
DECLARE_CORE_GETSET_MEMBER(bool, hideSipAddresses, HideSipAddresses)
|
||||
DECLARE_CORE_GETSET_MEMBER(bool, darkModeAllowed, DarkModeAllowed)
|
||||
DECLARE_CORE_GETSET_MEMBER(int, maxAccount, MaxAccount)
|
||||
DECLARE_CORE_GETSET_MEMBER(bool,
|
||||
|
|
|
|||
|
|
@ -807,7 +807,7 @@ void SettingsModel::notifyConfigReady(){
|
|||
DEFINE_NOTIFY_CONFIG_READY(assistantHideCreateAccount, AssistantHideCreateAccount)
|
||||
DEFINE_NOTIFY_CONFIG_READY(assistantDisableQrCode, AssistantDisableQrCode)
|
||||
DEFINE_NOTIFY_CONFIG_READY(assistantHideThirdPartyAccount, AssistantHideThirdPartyAccount)
|
||||
DEFINE_NOTIFY_CONFIG_READY(onlyDisplaySipUriUsername, OnlyDisplaySipUriUsername)
|
||||
DEFINE_NOTIFY_CONFIG_READY(hideSipAddresses, HideSipAddresses)
|
||||
DEFINE_NOTIFY_CONFIG_READY(darkModeAllowed, DarkModeAllowed)
|
||||
DEFINE_NOTIFY_CONFIG_READY(assistantGoDirectlyToThirdPartySipAccountLogin,
|
||||
AssistantGoDirectlyToThirdPartySipAccountLogin)
|
||||
|
|
@ -871,9 +871,9 @@ DEFINE_GETSET_CONFIG(SettingsModel,
|
|||
DEFINE_GETSET_CONFIG(SettingsModel,
|
||||
bool,
|
||||
Bool,
|
||||
onlyDisplaySipUriUsername,
|
||||
OnlyDisplaySipUriUsername,
|
||||
"only_display_sip_uri_username",
|
||||
hideSipAddresses,
|
||||
HideSipAddresses,
|
||||
"hide_sip_addresses",
|
||||
false)
|
||||
DEFINE_GETSET_CONFIG(SettingsModel,
|
||||
bool,
|
||||
|
|
|
|||
|
|
@ -178,7 +178,7 @@ public:
|
|||
DECLARE_GETSET(bool, assistantHideCreateAccount, AssistantHideCreateAccount)
|
||||
DECLARE_GETSET(bool, assistantDisableQrCode, AssistantDisableQrCode)
|
||||
DECLARE_GETSET(bool, assistantHideThirdPartyAccount, AssistantHideThirdPartyAccount)
|
||||
DECLARE_GETSET(bool, onlyDisplaySipUriUsername, OnlyDisplaySipUriUsername)
|
||||
DECLARE_GETSET(bool, hideSipAddresses, HideSipAddresses)
|
||||
DECLARE_GETSET(bool, darkModeAllowed, DarkModeAllowed)
|
||||
DECLARE_GETSET(int, maxAccount, MaxAccount)
|
||||
DECLARE_GETSET(bool, assistantGoDirectlyToThirdPartySipAccountLogin, AssistantGoDirectlyToThirdPartySipAccountLogin)
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ ColumnLayout {
|
|||
Layout.fillWidth: true
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
visible: mainItem.specificAddress != ""
|
||||
text: SettingsCpp.onlyDisplaySipUriUsername ? UtilsCpp.getUsername(mainItem.specificAddress) : mainItem.specificAddress
|
||||
text: SettingsCpp.hideSipAddresses ? UtilsCpp.getUsername(mainItem.specificAddress) : mainItem.specificAddress
|
||||
elide: Text.ElideMiddle
|
||||
maximumLineCount: 1
|
||||
font {
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ Loader{
|
|||
: contact
|
||||
? contact.core.defaultAddress
|
||||
: ''
|
||||
readonly property string address: SettingsCpp.onlyDisplaySipUriUsername ? UtilsCpp.getUsername(_address) : _address
|
||||
readonly property string address: SettingsCpp.hideSipAddresses ? UtilsCpp.getUsername(_address) : _address
|
||||
property var displayNameObj: UtilsCpp.getDisplayName(_address)
|
||||
property var displayNameVal: account && account.core.displayName
|
||||
? account.core.displayName
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@ FocusScope {
|
|||
Layout.topMargin: Math.round(2 * DefaultStyle.dp)
|
||||
Layout.fillWidth: true
|
||||
visible: mainItem.showDefaultAddress
|
||||
property string address: SettingsCpp.onlyDisplaySipUriUsername
|
||||
property string address: SettingsCpp.hideSipAddresses
|
||||
? UtilsCpp.getUsername(mainItem.addressFromFilter)
|
||||
: mainItem.addressFromFilter
|
||||
text: UtilsCpp.boldTextPart(address, mainItem.highlightText)
|
||||
|
|
|
|||
|
|
@ -187,7 +187,7 @@ Item {
|
|||
Layout.fillWidth: true
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
property string _text: mainItem.call && mainItem.call.core.remoteAddress
|
||||
text: SettingsCpp.onlyDisplaySipUriUsername ? UtilsCpp.getUsername(_text) : _text
|
||||
text: SettingsCpp.hideSipAddresses ? UtilsCpp.getUsername(_text) : _text
|
||||
color: DefaultStyle.grey_0
|
||||
font {
|
||||
pixelSize: Math.round(14 * DefaultStyle.dp)
|
||||
|
|
@ -264,7 +264,7 @@ Item {
|
|||
: mainItem.account && mainItem.identityAddress
|
||||
? mainItem.identityAddress.value
|
||||
: ""
|
||||
text: SettingsCpp.onlyDisplaySipUriUsername ? UtilsCpp.getUsername(_text) : _text
|
||||
text: SettingsCpp.hideSipAddresses ? UtilsCpp.getUsername(_text) : _text
|
||||
color: DefaultStyle.grey_0
|
||||
font {
|
||||
pixelSize: Math.round(14 * DefaultStyle.dp)
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ ColumnLayout{
|
|||
id: mainItem
|
||||
property AccountGui account: null
|
||||
property string topText: account ? account.core.displayName : ""
|
||||
property string bottomText: account ? SettingsCpp.onlyDisplaySipUriUsername ? UtilsCpp.getUsername(account.core.identityAddress) : account.core.identityAddress : ""
|
||||
property string bottomText: account ? SettingsCpp.hideSipAddresses ? UtilsCpp.getUsername(account.core.identityAddress) : account.core.identityAddress : ""
|
||||
spacing: 0
|
||||
width: topTextItem.implicitWidth
|
||||
Text {
|
||||
|
|
|
|||
|
|
@ -300,7 +300,7 @@ MainRightPanel {
|
|||
if (text.length != 0) mainItem.contact.core.setAddressAt(index, label, text)
|
||||
}
|
||||
property string _initialText: modelData.address
|
||||
initialText: SettingsCpp.onlyDisplaySipUriUsername ? UtilsCpp.getUsername(_initialText) : _initialText
|
||||
initialText: SettingsCpp.hideSipAddresses ? UtilsCpp.getUsername(_initialText) : _initialText
|
||||
backgroundColor: DefaultStyle.grey_0
|
||||
focus: true
|
||||
KeyNavigation.right: removeAddressButton
|
||||
|
|
|
|||
|
|
@ -23,6 +23,8 @@ AbstractSettingsMenu {
|
|||
{title: qsTr("settings_meetings_title"), layout: "MeetingsSettingsLayout", visible: !SettingsCpp.disableMeetingsFeature},
|
||||
//: "Affichage"
|
||||
//{title: qsTr("settings_user_interface_title"), layout: "DisplaySettingsLayout"},
|
||||
//: "Security"
|
||||
{title: qsTr("settings_security_title"), layout: "SecuritySettingsLayout"},
|
||||
//: "Réseau"
|
||||
{title: qsTr("settings_network_title"), layout: "NetworkSettingsLayout"},
|
||||
//: "Paramètres avancés"
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ import QtQuick.Layouts
|
|||
import QtQuick.Controls.Basic as Control
|
||||
import SettingsCpp 1.0
|
||||
import Linphone
|
||||
import UtilsCpp
|
||||
|
||||
AbstractSettingsLayout {
|
||||
width: parent?.width
|
||||
|
|
|
|||
|
|
@ -187,8 +187,9 @@ AbstractMainPage {
|
|||
searchBar: searchBar
|
||||
Control.ScrollBar.vertical: scrollbar
|
||||
|
||||
onCurrentIndexChanged: {
|
||||
mainItem.selectedChatGui = model.getAt(currentIndex)
|
||||
onChatClicked: (chat) => {
|
||||
console.log("chat clicked")
|
||||
mainItem.selectedChatGui = chat
|
||||
}
|
||||
|
||||
Connections {
|
||||
|
|
|
|||
|
|
@ -517,7 +517,7 @@ FriendGui{
|
|||
Text {
|
||||
Layout.fillWidth: true
|
||||
property string _text: listViewModelData.address
|
||||
text: SettingsCpp.onlyDisplaySipUriUsername ? UtilsCpp.getUsername(_text) : _text
|
||||
text: SettingsCpp.hideSipAddresses ? UtilsCpp.getUsername(_text) : _text
|
||||
font {
|
||||
pixelSize: Typography.p1.pixelSize
|
||||
weight: Typography.p1.weight
|
||||
|
|
|
|||
|
|
@ -119,7 +119,7 @@ ApplicationWindow {
|
|||
}
|
||||
Text {
|
||||
Layout.leftMargin: Math.round(5 * DefaultStyle.dp)
|
||||
text: SettingsCpp.onlyDisplaySipUriUsername ? UtilsCpp.getUsername(modelData.address) : modelData.address
|
||||
text: SettingsCpp.hideSipAddresses ? UtilsCpp.getUsername(modelData.address) : modelData.address
|
||||
font {
|
||||
pixelSize: Typography.p1.pixelSize
|
||||
weight: Typography.p1.weight
|
||||
|
|
|
|||
Loading…
Reference in a new issue