mirror of
https://gitlab.linphone.org/BC/public/linphone-desktop.git
synced 2026-01-17 11:28:07 +00:00
Cancellable ICS in meetings view.
This commit is contained in:
parent
b080e56823
commit
10fc4e30ab
21 changed files with 134 additions and 6 deletions
|
|
@ -564,6 +564,11 @@ Server url ikke konfigureret.</translation>
|
|||
<extracomment>'Do you really want do delete this meeting?' : Warning message to confirm the deletion of a meeting.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>cancelConferenceInfo</source>
|
||||
<extracomment>'Do you really want do cancel this meeting?' : Warning message to confirm the cancellation of a meeting.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ChatConferenceInvitationMessage</name>
|
||||
|
|
|
|||
|
|
@ -564,6 +564,11 @@ Server URL ist nicht konfiguriert.</translation>
|
|||
<extracomment>'Do you really want do delete this meeting?' : Warning message to confirm the deletion of a meeting.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>cancelConferenceInfo</source>
|
||||
<extracomment>'Do you really want do cancel this meeting?' : Warning message to confirm the cancellation of a meeting.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ChatConferenceInvitationMessage</name>
|
||||
|
|
|
|||
|
|
@ -564,6 +564,11 @@ Server URL not configured.</translation>
|
|||
<extracomment>'Do you really want do delete this meeting?' : Warning message to confirm the deletion of a meeting.</extracomment>
|
||||
<translation>Do you really want do delete this meeting?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>cancelConferenceInfo</source>
|
||||
<extracomment>'Do you really want do cancel this meeting?' : Warning message to confirm the cancellation of a meeting.</extracomment>
|
||||
<translation>Do you really want do cancel this meeting?</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ChatConferenceInvitationMessage</name>
|
||||
|
|
|
|||
|
|
@ -564,6 +564,11 @@ URL del servidor no configurada.</translation>
|
|||
<extracomment>'Do you really want do delete this meeting?' : Warning message to confirm the deletion of a meeting.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>cancelConferenceInfo</source>
|
||||
<extracomment>'Do you really want do cancel this meeting?' : Warning message to confirm the cancellation of a meeting.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ChatConferenceInvitationMessage</name>
|
||||
|
|
|
|||
|
|
@ -564,6 +564,11 @@ URL du serveur non configurée.</translation>
|
|||
<extracomment>'Do you really want do delete this meeting?' : Warning message to confirm the deletion of a meeting.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>cancelConferenceInfo</source>
|
||||
<extracomment>'Do you really want do cancel this meeting?' : Warning message to confirm the cancellation of a meeting.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ChatConferenceInvitationMessage</name>
|
||||
|
|
|
|||
|
|
@ -563,6 +563,11 @@ A kiszolgáló URL-je nincs konfigurálva.</translation>
|
|||
<extracomment>'Do you really want do delete this meeting?' : Warning message to confirm the deletion of a meeting.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>cancelConferenceInfo</source>
|
||||
<extracomment>'Do you really want do cancel this meeting?' : Warning message to confirm the cancellation of a meeting.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ChatConferenceInvitationMessage</name>
|
||||
|
|
|
|||
|
|
@ -564,6 +564,11 @@ URL del server non configurato.</translation>
|
|||
<extracomment>'Do you really want do delete this meeting?' : Warning message to confirm the deletion of a meeting.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>cancelConferenceInfo</source>
|
||||
<extracomment>'Do you really want do cancel this meeting?' : Warning message to confirm the cancellation of a meeting.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ChatConferenceInvitationMessage</name>
|
||||
|
|
|
|||
|
|
@ -563,6 +563,11 @@
|
|||
<extracomment>'Do you really want do delete this meeting?' : Warning message to confirm the deletion of a meeting.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>cancelConferenceInfo</source>
|
||||
<extracomment>'Do you really want do cancel this meeting?' : Warning message to confirm the cancellation of a meeting.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ChatConferenceInvitationMessage</name>
|
||||
|
|
|
|||
|
|
@ -565,6 +565,11 @@ Nesukonfigūruotas serverio url.</translation>
|
|||
<extracomment>'Do you really want do delete this meeting?' : Warning message to confirm the deletion of a meeting.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>cancelConferenceInfo</source>
|
||||
<extracomment>'Do you really want do cancel this meeting?' : Warning message to confirm the cancellation of a meeting.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ChatConferenceInvitationMessage</name>
|
||||
|
|
|
|||
|
|
@ -564,6 +564,11 @@ URL do servidor não configurado.</translation>
|
|||
<extracomment>'Do you really want do delete this meeting?' : Warning message to confirm the deletion of a meeting.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>cancelConferenceInfo</source>
|
||||
<extracomment>'Do you really want do cancel this meeting?' : Warning message to confirm the cancellation of a meeting.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ChatConferenceInvitationMessage</name>
|
||||
|
|
|
|||
|
|
@ -565,6 +565,11 @@
|
|||
<extracomment>'Do you really want do delete this meeting?' : Warning message to confirm the deletion of a meeting.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>cancelConferenceInfo</source>
|
||||
<extracomment>'Do you really want do cancel this meeting?' : Warning message to confirm the cancellation of a meeting.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ChatConferenceInvitationMessage</name>
|
||||
|
|
|
|||
|
|
@ -564,6 +564,11 @@ Serverwebbadressen är inte konfigurerad.</translation>
|
|||
<extracomment>'Do you really want do delete this meeting?' : Warning message to confirm the deletion of a meeting.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>cancelConferenceInfo</source>
|
||||
<extracomment>'Do you really want do cancel this meeting?' : Warning message to confirm the cancellation of a meeting.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ChatConferenceInvitationMessage</name>
|
||||
|
|
|
|||
|
|
@ -563,6 +563,11 @@ Sunucu url'si yapılandırılmadı.</translation>
|
|||
<extracomment>'Do you really want do delete this meeting?' : Warning message to confirm the deletion of a meeting.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>cancelConferenceInfo</source>
|
||||
<extracomment>'Do you really want do cancel this meeting?' : Warning message to confirm the cancellation of a meeting.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ChatConferenceInvitationMessage</name>
|
||||
|
|
|
|||
|
|
@ -565,6 +565,11 @@
|
|||
<extracomment>'Do you really want do delete this meeting?' : Warning message to confirm the deletion of a meeting.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>cancelConferenceInfo</source>
|
||||
<extracomment>'Do you really want do cancel this meeting?' : Warning message to confirm the cancellation of a meeting.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ChatConferenceInvitationMessage</name>
|
||||
|
|
|
|||
|
|
@ -563,6 +563,11 @@
|
|||
<extracomment>'Do you really want do delete this meeting?' : Warning message to confirm the deletion of a meeting.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>cancelConferenceInfo</source>
|
||||
<extracomment>'Do you really want do cancel this meeting?' : Warning message to confirm the cancellation of a meeting.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ChatConferenceInvitationMessage</name>
|
||||
|
|
|
|||
|
|
@ -314,6 +314,13 @@ void ConferenceInfoModel::createConference(const int& securityLevel) {
|
|||
mConferenceScheduler->getConferenceScheduler()->setInfo(mConferenceInfo);
|
||||
}
|
||||
|
||||
void ConferenceInfoModel::cancelConference(){
|
||||
mConferenceScheduler = ConferenceScheduler::create();
|
||||
connect(mConferenceScheduler.get(), &ConferenceScheduler::invitationsSent, this, &ConferenceInfoModel::onInvitationsSent);
|
||||
connect(mConferenceScheduler.get(), &ConferenceScheduler::stateChanged, this, &ConferenceInfoModel::onStateChanged);
|
||||
mConferenceScheduler->getConferenceScheduler()->cancelConference(mConferenceInfo);
|
||||
}
|
||||
|
||||
void ConferenceInfoModel::deleteConferenceInfo(){
|
||||
if(mConferenceInfo) {
|
||||
CoreManager::getInstance()->getCore()->deleteConferenceInformation(mConferenceInfo);
|
||||
|
|
|
|||
|
|
@ -91,6 +91,7 @@ public:
|
|||
|
||||
// Tools
|
||||
Q_INVOKABLE void createConference(const int& securityLevel);
|
||||
Q_INVOKABLE void cancelConference();
|
||||
Q_INVOKABLE void deleteConferenceInfo();// Remove completly this conference info from DB
|
||||
|
||||
// SCHEDULER
|
||||
|
|
|
|||
|
|
@ -151,6 +151,8 @@ class ColorListModel : public ProxyListModel {
|
|||
ADD_COLOR_WITH_LINK("ics_fg", "", "Special text color for ICS", "j")
|
||||
ADD_COLOR("updated_ics_fg", "#EFAE00", "Special text color for updated ICS")
|
||||
ADD_COLOR("cancelled_ics_fg", "#FF0000", "Special text color for cancelled ICS")
|
||||
ADD_COLOR("cancelled_ics_bg", "#fff5fa", "Background color for cancelled ICS")
|
||||
|
||||
|
||||
// Keywords: 'mKeywordsMap'
|
||||
// s=standard, ma=main, l=list, sc=screen, me=menu
|
||||
|
|
|
|||
|
|
@ -32,6 +32,8 @@ Loader{
|
|||
property int gotoButtonMode: -1 //-1: hide, 0:goto, 1:MoreInfo
|
||||
property bool isExpanded : false
|
||||
|
||||
property bool isCancelled: conferenceInfoModel.state == LinphoneEnums.ConferenceInfoStateCancelled
|
||||
|
||||
signal expandToggle()
|
||||
signal conferenceUriCopied()
|
||||
signal conferenceRemoved()
|
||||
|
|
@ -69,7 +71,7 @@ Loader{
|
|||
expandedFitHeight = (expandedDescription.visible? expandedDescription.implicitHeight : 0)
|
||||
}
|
||||
|
||||
property int fitHeight: dateRow.implicitHeight + title.implicitHeight + participantsFitHeight + expandedFitHeight
|
||||
property int fitHeight: dateRow.implicitHeight + statusLabel.implicitHeight + title.implicitHeight + participantsFitHeight + expandedFitHeight
|
||||
property int fitWidth: Layout.minimumWidth
|
||||
anchors.fill: parent
|
||||
spacing: 0
|
||||
|
|
@ -127,6 +129,24 @@ Loader{
|
|||
text: qsTr('icsOrganizer') +' : ' +UtilsCpp.getDisplayName(mainItem.conferenceInfoModel.organizer)
|
||||
}
|
||||
}
|
||||
|
||||
Text{
|
||||
id: statusLabel
|
||||
Layout.fillWidth: true
|
||||
Layout.preferredHeight: visible ? ChatCalendarMessageStyle.lineHeight : 0
|
||||
Layout.alignment: Qt.AlignTop
|
||||
Layout.leftMargin: 10
|
||||
|
||||
visible: mainItem.isCancelled
|
||||
|
||||
elide: Text.ElideRight
|
||||
color: ChatCalendarMessageStyle.type.cancelledColor
|
||||
font.pointSize: ChatCalendarMessageStyle.type.pointSize
|
||||
font.weight: Font.Bold
|
||||
text: 'You have cancelled the conference'
|
||||
}
|
||||
|
||||
|
||||
Text{
|
||||
id: title
|
||||
Layout.fillWidth: true
|
||||
|
|
@ -279,6 +299,7 @@ Loader{
|
|||
color: ChatCalendarMessageStyle.subject.color
|
||||
font.pointSize: ChatCalendarMessageStyle.subject.pointSize
|
||||
font.weight: Font.Bold
|
||||
visible: !mainItem.isCancelled
|
||||
|
||||
//: 'Conference address' : Title for the conference address.
|
||||
text: qsTr('icsconferenceAddressTitle')
|
||||
|
|
@ -289,6 +310,7 @@ Loader{
|
|||
Layout.leftMargin: 10
|
||||
Layout.rightMargin: 10
|
||||
spacing: 10
|
||||
visible: !mainItem.isCancelled
|
||||
TextField{
|
||||
id: uriField
|
||||
readOnly: true
|
||||
|
|
@ -314,6 +336,7 @@ Loader{
|
|||
Layout.bottomMargin: 5
|
||||
Layout.rightMargin: 10
|
||||
spacing: 10
|
||||
|
||||
Item{
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
|
|
@ -322,12 +345,16 @@ Loader{
|
|||
//: 'Join' : Action button to join the conference.
|
||||
text: qsTr('icsJoinButton').toUpperCase()
|
||||
onClicked: CallsListModel.prepareConferenceCall(mainItem.conferenceInfoModel)
|
||||
visible: !mainItem.isCancelled
|
||||
}
|
||||
ActionButton{
|
||||
id: editButton
|
||||
isCustom: true
|
||||
colorSet: ChatCalendarMessageStyle.editButton
|
||||
backgroundRadius: width/2
|
||||
visible: UtilsCpp.isMe(mainItem.conferenceInfoModel.organizer) && mainItem.conferenceInfoModel.endDateTime >= new Date()
|
||||
visible: UtilsCpp.isMe(mainItem.conferenceInfoModel.organizer)
|
||||
&& mainItem.conferenceInfoModel.endDateTime >= new Date()
|
||||
&& !mainItem.isCancelled
|
||||
onClicked: {
|
||||
window.detachVirtualWindow()
|
||||
window.attachVirtualWindow(Utils.buildAppDialogUri('NewConference')
|
||||
|
|
@ -335,20 +362,32 @@ Loader{
|
|||
}
|
||||
}
|
||||
ActionButton{
|
||||
property bool isCancellable: editButton.visible
|
||||
|
||||
isCustom: true
|
||||
colorSet: ChatCalendarMessageStyle.deleteButton
|
||||
backgroundRadius: width/2
|
||||
onClicked: {
|
||||
window.attachVirtualWindow(Utils.buildCommonDialogUri('ConfirmDialog'), {
|
||||
//: 'Do you really want do cancel this meeting?' : Warning message to confirm the cancellation of a meeting.
|
||||
descriptionText: isCancellable
|
||||
? qsTr('cancelConferenceInfo')
|
||||
//: 'Do you really want do delete this meeting?' : Warning message to confirm the deletion of a meeting.
|
||||
descriptionText: qsTr('deleteConferenceInfo'),
|
||||
: qsTr('deleteConferenceInfo')
|
||||
,
|
||||
}, function (status) {
|
||||
if (status) {
|
||||
mainItem.conferenceInfoModel.deleteConferenceInfo()
|
||||
if( isCancellable)
|
||||
mainItem.conferenceInfoModel.cancelConference()
|
||||
else
|
||||
mainItem.conferenceInfoModel.deleteConferenceInfo()
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
Item{
|
||||
Layout.fillWidth: mainItem.isCancelled
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -167,8 +167,11 @@ Item{
|
|||
width: parent.width / 2
|
||||
height: calendarMessage.height
|
||||
radius: 6
|
||||
color: mainItem.filterType == ConferenceInfoProxyModel.Ended ? ConferencesStyle.conference.backgroundColor.ended
|
||||
: ConferencesStyle.conference.backgroundColor.scheduled
|
||||
color: calendarMessage.isCancelled
|
||||
? ConferencesStyle.conference.backgroundColor.cancelled
|
||||
: mainItem.filterType == ConferenceInfoProxyModel.Ended
|
||||
? ConferencesStyle.conference.backgroundColor.ended
|
||||
: ConferencesStyle.conference.backgroundColor.scheduled
|
||||
border.color: calendarMessage.containsMouse || calendarMessage.isExpanded ? ConferencesStyle.conference.selectedBorder.color : 'transparent'
|
||||
border.width: ConferencesStyle.conference.selectedBorder.width
|
||||
ChatCalendarMessage{
|
||||
|
|
|
|||
|
|
@ -57,6 +57,7 @@ QtObject {
|
|||
property color ended: ColorsList.add(sectionName+'_conference_ended_bg', 'conference_entry_bg').color
|
||||
property color scheduled: ColorsList.add(sectionName+'_conference_scheduled_bg', 'e').color
|
||||
property color hovered: ColorsList.add(sectionName+'_conference_bg_h', 'g10').color
|
||||
property color cancelled: ColorsList.add(sectionName+'_conference_cancelled_bg', 'cancelled_ics_bg').color
|
||||
}
|
||||
|
||||
property QtObject border: QtObject {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue