"No information" if device last updated date is invalid #LINQT-1646

do not display group call in meeting list
display cancelled meetings

fix account audio devices

meeting description uncapitalize #LINQT-1892
This commit is contained in:
Gaelle Braud 2025-09-29 13:14:59 +02:00
parent faa8f73230
commit 580819df3a
10 changed files with 860 additions and 833 deletions

View file

@ -78,10 +78,10 @@ void ConferenceInfoList::setSelf(QSharedPointer<ConferenceInfoList> me) {
}
items->push_back(nullptr); // Add Dummy conference for today
for (auto conferenceInfo : conferenceInfos) {
if (conferenceInfo->getState() == linphone::ConferenceInfo::State::Cancelled) {
auto myAddress = defaultAccount->getParams()->getIdentityAddress();
if (!myAddress || myAddress->weakEqual(conferenceInfo->getOrganizer())) continue;
}
// if (conferenceInfo->getState() == linphone::ConferenceInfo::State::Cancelled) {
// auto myAddress = defaultAccount->getParams()->getIdentityAddress();
// if (!myAddress || myAddress->weakEqual(conferenceInfo->getOrganizer())) continue;
// }
auto confInfoCore = build(conferenceInfo);
// Cancelled conference organized ourself me must be hidden
if (confInfoCore) {

View file

@ -76,6 +76,7 @@ bool ConferenceInfoProxy::SortFilterList::filterAcceptsRow(int sourceRow, const
auto list = qobject_cast<ConferenceInfoList *>(sourceModel());
auto ciCore = list->getAt<ConferenceInfoCore>(sourceRow);
if (ciCore) {
if (ciCore->getDuration() == 0) return false;
bool searchTextInSubject = false;
bool searchTextInParticipant = false;
if (ciCore->getSubject().contains(mFilterText, Qt::CaseInsensitive)) searchTextInSubject = true;

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -255,7 +255,7 @@ QVariantList SettingsModel::getCaptureDevices() const {
shared_ptr<linphone::Core> core = CoreModel::getInstance()->getCore();
QVariantList list;
for (const auto &device : core->getAudioDevices()) {
for (const auto &device : core->getExtendedAudioDevices()) {
if (device->hasCapability(linphone::AudioDevice::Capabilities::CapabilityRecord)) {
list << ToolModel::createVariant(device);
} else if (device->hasCapability(linphone::AudioDevice::Capabilities::CapabilityAll)) {
@ -270,7 +270,7 @@ QVariantList SettingsModel::getPlaybackDevices() const {
shared_ptr<linphone::Core> core = CoreModel::getInstance()->getCore();
QVariantList list;
for (const auto &device : core->getAudioDevices()) {
for (const auto &device : core->getExtendedAudioDevices()) {
if (device->hasCapability(linphone::AudioDevice::Capabilities::CapabilityPlay)) {
list << ToolModel::createVariant(device);
} else if (device->hasCapability(linphone::AudioDevice::Capabilities::CapabilityAll)) {
@ -286,7 +286,7 @@ QVariantList SettingsModel::getRingerDevices() const {
shared_ptr<linphone::Core> core = CoreModel::getInstance()->getCore();
QVariantList list;
for (const auto &device : core->getAudioDevices()) {
for (const auto &device : core->getExtendedAudioDevices()) {
if (device->hasCapability(linphone::AudioDevice::Capabilities::CapabilityPlay))
list << ToolModel::createVariant(device);
}

View file

@ -348,6 +348,7 @@ QString Utils::formatElapsedTime(int seconds, bool dotsSeparator) {
}
QString Utils::formatDate(QDateTime date, bool includeTime, bool includeDateIfToday, QString format) {
if (!date.isValid()) return QString();
date = getOffsettedUTC(date);
QString dateDay;
//: "Aujourd'hui"

View file

@ -389,7 +389,7 @@ ListView {
}
ColumnLayout {
spacing: parent.spacing
visible: modelData && !modelData.core.isReadOnly && modelData.core.isGroupChat
visible: modelData && !modelData.core.isReadOnly && modelData.core.isGroupChat || false
Rectangle {
Layout.fillWidth: true
Layout.preferredHeight: Math.min(1, Math.round(1 * DefaultStyle.dp))

View file

@ -258,7 +258,7 @@ AbstractSettingsLayout {
Component.onCompleted: loading = true
model: AccountDeviceProxy {
id: accountDeviceProxy
account: model
account: mainItem.model
onDevicesSet: devices.loading = false;
onRequestError: (errorMessage) => {
devices.loading = false;
@ -329,6 +329,7 @@ AbstractSettingsLayout {
font: Typography.p2
}
EffectImage {
visible: dateText.lastDate != ""
Layout.preferredWidth: Math.round(20 * DefaultStyle.dp)
Layout.preferredHeight: Math.round(20 * DefaultStyle.dp)
imageSource: AppIcons.calendarBlank
@ -336,11 +337,17 @@ AbstractSettingsLayout {
fillMode: Image.PreserveAspectFit
}
Text {
text: UtilsCpp.formatDate(modelData.core.lastUpdateTimestamp,false)
id: dateText
property string lastDate: UtilsCpp.formatDate(modelData.core.lastUpdateTimestamp,false)
text: lastDate != ""
? lastDate
//: "No information"
: qsTr("device_last_updated_time_no_info")
color: DefaultStyle.main2_600
font: Typography.p1
}
EffectImage {
visible: dateText.lastDate != ""
Layout.preferredWidth: Math.round(20 * DefaultStyle.dp)
Layout.preferredHeight: Math.round(20 * DefaultStyle.dp)
imageSource: AppIcons.clock
@ -348,6 +355,7 @@ AbstractSettingsLayout {
fillMode: Image.PreserveAspectFit
}
Text {
visible: dateText.lastDate != ""
text: UtilsCpp.formatTime(modelData.core.lastUpdateTimestamp)
color: DefaultStyle.main2_600
font: Typography.p1

View file

@ -818,7 +818,6 @@ AbstractMainPage {
Layout.fillWidth: true
font {
pixelSize: Math.round(14 * DefaultStyle.dp)
capitalization: Font.Capitalize
}
}
}