diff --git a/assets/images/recording_sign.svg b/assets/images/recording_sign.svg new file mode 100644 index 000000000..7bc4bc589 --- /dev/null +++ b/assets/images/recording_sign.svg @@ -0,0 +1,78 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + diff --git a/assets/images/settings_video_normal.svg b/assets/images/settings_video_normal.svg deleted file mode 100644 index edcf18833..000000000 --- a/assets/images/settings_video_normal.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - settings_video_default - Created with Sketch. - - - - - - - diff --git a/assets/images/snapshot_sign.svg b/assets/images/snapshot_sign.svg index 66c70f42f..cb9883777 100644 --- a/assets/images/snapshot_sign.svg +++ b/assets/images/snapshot_sign.svg @@ -1,13 +1,125 @@ - - - - download_ended - Created with Sketch. - - - - - - + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + - \ No newline at end of file + + diff --git a/resources.qrc b/resources.qrc index 668e6374e..c351623be 100644 --- a/resources.qrc +++ b/resources.qrc @@ -152,6 +152,7 @@ assets/images/pause_on_normal.svg assets/images/pause_on_pressed.svg assets/images/pause_on_updating.svg + assets/images/recording_sign.svg assets/images/record_off.svg assets/images/record_on.svg assets/images/screenshot_hovered.svg @@ -168,7 +169,6 @@ assets/images/settings_network_selected.svg assets/images/settings_sip_accounts_normal.svg assets/images/settings_sip_accounts_selected.svg - assets/images/settings_video_normal.svg assets/images/settings_video_selected.svg assets/images/snapshot_sign.svg assets/images/speaker_off_hovered.svg @@ -333,6 +333,7 @@ ui/modules/Linphone/Notifications/NotificationReceivedCall.qml ui/modules/Linphone/Notifications/NotificationReceivedFileMessage.qml ui/modules/Linphone/Notifications/NotificationReceivedMessage.qml + ui/modules/Linphone/Notifications/NotificationRecordingCompleted.qml ui/modules/Linphone/Notifications/NotificationSnapshotWasTaken.qml ui/modules/Linphone/Presence/PresenceLevel.qml ui/modules/Linphone/qmldir diff --git a/src/components/call/CallModel.cpp b/src/components/call/CallModel.cpp index d489dc88e..1c48b59fd 100644 --- a/src/components/call/CallModel.cpp +++ b/src/components/call/CallModel.cpp @@ -89,14 +89,16 @@ void CallModel::setRecordFile (shared_ptr &callParams) { void CallModel::updateStats (const shared_ptr &callStats) { switch (callStats->getType()) { + case linphone::StreamTypeText: + case linphone::StreamTypeUnknown: + break; + case linphone::StreamTypeAudio: updateStats(callStats, mAudioStats); break; case linphone::StreamTypeVideo: updateStats(callStats, mVideoStats); break; - default: - break; } emit statsUpdated(); @@ -211,6 +213,10 @@ void CallModel::stopRecording () { mRecording = false; mCall->stopRecording(); + App::getInstance()->getNotifier()->notifyRecordingCompleted( + ::Utils::coreStringToAppString(mCall->getParams()->getRecordFile()) + ); + emit recordingChanged(false); } diff --git a/src/components/notifier/Notifier.cpp b/src/components/notifier/Notifier.cpp index 67c76ef18..b437d88cc 100644 --- a/src/components/notifier/Notifier.cpp +++ b/src/components/notifier/Notifier.cpp @@ -79,7 +79,8 @@ const QHash Notifier::mNotifications = { { Notifier::ReceivedFileMessage, { "NotificationReceivedFileMessage.qml", 10 } }, { Notifier::ReceivedCall, { "NotificationReceivedCall.qml", 30 } }, { Notifier::NewVersionAvailable, { "NotificationNewVersionAvailable.qml", 30 } }, - { Notifier::SnapshotWasTaken, { "NotificationSnapshotWasTaken.qml", 10 } } + { Notifier::SnapshotWasTaken, { "NotificationSnapshotWasTaken.qml", 10 } }, + { Notifier::RecordingCompleted, { "NotificationRecordingCompleted.qml", 10 } } }; // ----------------------------------------------------------------------------- @@ -283,5 +284,14 @@ void Notifier::notifySnapshotWasTaken (const QString &filePath) { SHOW_NOTIFICATION(map); } +void Notifier::notifyRecordingCompleted (const QString &filePath) { + CREATE_NOTIFICATION(Notifier::RecordingCompleted); + + QVariantMap map; + map["filePath"] = filePath; + + SHOW_NOTIFICATION(map); +} + #undef SHOW_NOTIFICATION #undef CREATE_NOTIFICATION diff --git a/src/components/notifier/Notifier.hpp b/src/components/notifier/Notifier.hpp index 855882749..84fdc62ca 100644 --- a/src/components/notifier/Notifier.hpp +++ b/src/components/notifier/Notifier.hpp @@ -43,7 +43,8 @@ public: ReceivedFileMessage, ReceivedCall, NewVersionAvailable, - SnapshotWasTaken + SnapshotWasTaken, + RecordingCompleted }; void notifyReceivedMessage (const std::shared_ptr &message); @@ -51,6 +52,7 @@ public: void notifyReceivedCall (const std::shared_ptr &call); void notifyNewVersionAvailable (const QString &version, const QString &url); void notifySnapshotWasTaken (const QString &filePath); + void notifyRecordingCompleted (const QString &filePath); public slots: void deleteNotification (QVariant notification); diff --git a/ui/modules/Linphone/Notifications/NotificationRecordingCompleted.qml b/ui/modules/Linphone/Notifications/NotificationRecordingCompleted.qml new file mode 100644 index 000000000..07a3a3fa8 --- /dev/null +++ b/ui/modules/Linphone/Notifications/NotificationRecordingCompleted.qml @@ -0,0 +1,13 @@ +import Utils 1.0 + +// ============================================================================= + +NotificationBasic { + icon: 'recording_sign' + message: Utils.basename(notificationData.filePath) + handler: (function () { + Qt.openUrlExternally(Utils.dirname( + Utils.getUriFromSystemPath(notificationData.filePath) + )) + }) +} diff --git a/ui/modules/Linphone/Notifications/NotificationSnapshotWasTaken.qml b/ui/modules/Linphone/Notifications/NotificationSnapshotWasTaken.qml index 38d135ece..79fa8722b 100644 --- a/ui/modules/Linphone/Notifications/NotificationSnapshotWasTaken.qml +++ b/ui/modules/Linphone/Notifications/NotificationSnapshotWasTaken.qml @@ -4,7 +4,7 @@ import Utils 1.0 NotificationBasic { icon: 'snapshot_sign' - message: notificationData.filePath + message: Utils.basename(notificationData.filePath) handler: (function () { Qt.openUrlExternally(Utils.dirname( Utils.getUriFromSystemPath(notificationData.filePath)