From 6c25f7e6556f9319261e1c798ba2eaf7286c4290 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 17 May 2017 10:52:56 +0200 Subject: [PATCH] feat(app): rename `SmartSearchBarModel` to `SipAddressesProxyModel` --- linphone-desktop/CMakeLists.txt | 4 ++-- linphone-desktop/src/app/App.cpp | 2 +- .../src/components/Components.hpp | 2 +- .../conference/ConferenceHelperModel.cpp | 6 ++--- .../src/components/contact/ContactModel.hpp | 2 +- .../SipAddressesProxyModel.cpp} | 24 +++++++------------ .../SipAddressesProxyModel.hpp} | 16 ++++++------- .../SmartSearchBar/SmartSearchBar.qml | 10 ++++---- .../ui/views/App/Main/MainWindow.qml | 2 +- 9 files changed, 30 insertions(+), 38 deletions(-) rename linphone-desktop/src/components/{smart-search-bar/SmartSearchBarModel.cpp => sip-addresses/SipAddressesProxyModel.cpp} (81%) rename linphone-desktop/src/components/{smart-search-bar/SmartSearchBarModel.hpp => sip-addresses/SipAddressesProxyModel.hpp} (81%) diff --git a/linphone-desktop/CMakeLists.txt b/linphone-desktop/CMakeLists.txt index 0c3adca4d..c296d1d24 100644 --- a/linphone-desktop/CMakeLists.txt +++ b/linphone-desktop/CMakeLists.txt @@ -119,8 +119,8 @@ set(SOURCES src/components/settings/AccountSettingsModel.cpp src/components/settings/SettingsModel.cpp src/components/sip-addresses/SipAddressesModel.cpp + src/components/sip-addresses/SipAddressesProxyModel.cpp src/components/sip-addresses/SipAddressObserver.cpp - src/components/smart-search-bar/SmartSearchBarModel.cpp src/components/sound-player/SoundPlayer.cpp src/components/timeline/TimelineModel.cpp src/externals/single-application/SingleApplication.cpp @@ -161,8 +161,8 @@ set(HEADERS src/components/settings/AccountSettingsModel.hpp src/components/settings/SettingsModel.hpp src/components/sip-addresses/SipAddressesModel.hpp + src/components/sip-addresses/SipAddressesProxyModel.hpp src/components/sip-addresses/SipAddressObserver.hpp - src/components/smart-search-bar/SmartSearchBarModel.hpp src/components/sound-player/SoundPlayer.hpp src/components/timeline/TimelineModel.hpp src/externals/single-application/SingleApplication.hpp diff --git a/linphone-desktop/src/app/App.cpp b/linphone-desktop/src/app/App.cpp index 3cf7d1379..54b99f7a2 100644 --- a/linphone-desktop/src/app/App.cpp +++ b/linphone-desktop/src/app/App.cpp @@ -347,7 +347,7 @@ void App::registerTypes () { registerType("ChatProxyModel"); registerType("ConferenceHelperModel"); registerType("ContactsListProxyModel"); - registerType("SmartSearchBarModel"); + registerType("SipAddressesProxyModel"); registerType("SoundPlayer"); registerSingletonType("AudioCodecsModel"); diff --git a/linphone-desktop/src/components/Components.hpp b/linphone-desktop/src/components/Components.hpp index 58d91f880..fea615669 100644 --- a/linphone-desktop/src/components/Components.hpp +++ b/linphone-desktop/src/components/Components.hpp @@ -36,7 +36,7 @@ #include "core/CoreManager.hpp" #include "presence/OwnPresenceModel.hpp" #include "settings/AccountSettingsModel.hpp" -#include "smart-search-bar/SmartSearchBarModel.hpp" +#include "sip-addresses/SipAddressesProxyModel.hpp" #include "sound-player/SoundPlayer.hpp" #include "timeline/TimelineModel.hpp" diff --git a/linphone-desktop/src/components/conference/ConferenceHelperModel.cpp b/linphone-desktop/src/components/conference/ConferenceHelperModel.cpp index 2e5040f68..4871af27a 100644 --- a/linphone-desktop/src/components/conference/ConferenceHelperModel.cpp +++ b/linphone-desktop/src/components/conference/ConferenceHelperModel.cpp @@ -22,7 +22,7 @@ #include "../../Utils.hpp" #include "../core/CoreManager.hpp" -#include "../smart-search-bar/SmartSearchBarModel.hpp" +#include "../sip-addresses/SipAddressesProxyModel.hpp" #include "ConferenceHelperModel.hpp" @@ -39,7 +39,7 @@ ConferenceHelperModel::ConferenceHelperModel (QObject *parent) : QSortFilterProx QObject::connect(calls, &CallsListModel::rowsAboutToBeRemoved, this, &ConferenceHelperModel::handleCallsAboutToBeRemoved); QObject::connect(calls, &CallsListModel::callRunning, this, &ConferenceHelperModel::handleCallRunning); - setSourceModel(new SmartSearchBarModel(this)); + setSourceModel(new SipAddressesProxyModel(this)); } QHash ConferenceHelperModel::roleNames () const { @@ -51,7 +51,7 @@ QHash ConferenceHelperModel::roleNames () const { // ----------------------------------------------------------------------------- void ConferenceHelperModel::setFilter (const QString &pattern) { - static_cast(sourceModel())->setFilter(pattern); + static_cast(sourceModel())->setFilter(pattern); } // ----------------------------------------------------------------------------- diff --git a/linphone-desktop/src/components/contact/ContactModel.hpp b/linphone-desktop/src/components/contact/ContactModel.hpp index fede6cfce..d7198286e 100644 --- a/linphone-desktop/src/components/contact/ContactModel.hpp +++ b/linphone-desktop/src/components/contact/ContactModel.hpp @@ -38,7 +38,7 @@ class ContactModel : public QObject { // Grant access to `mLinphoneFriend`. friend class ContactsListModel; friend class ContactsListProxyModel; - friend class SmartSearchBarModel; + friend class SipAddressesProxyModel; public: ContactModel (QObject *parent, std::shared_ptr linphoneFriend); diff --git a/linphone-desktop/src/components/smart-search-bar/SmartSearchBarModel.cpp b/linphone-desktop/src/components/sip-addresses/SipAddressesProxyModel.cpp similarity index 81% rename from linphone-desktop/src/components/smart-search-bar/SmartSearchBarModel.cpp rename to linphone-desktop/src/components/sip-addresses/SipAddressesProxyModel.cpp index e77e322eb..6e78d0f2b 100644 --- a/linphone-desktop/src/components/smart-search-bar/SmartSearchBarModel.cpp +++ b/linphone-desktop/src/components/sip-addresses/SipAddressesProxyModel.cpp @@ -1,5 +1,5 @@ /* - * SmartSearchBarModel.cpp + * SipAddressesProxyModel.cpp * Copyright (C) 2017 Belledonne Communications, Grenoble, France * * This program is free software; you can redistribute it and/or @@ -22,7 +22,7 @@ #include "../core/CoreManager.hpp" -#include "SmartSearchBarModel.hpp" +#include "SipAddressesProxyModel.hpp" #define WEIGHT_POS_0 5 #define WEIGHT_POS_1 4 @@ -32,36 +32,30 @@ // ============================================================================= -const QRegExp SmartSearchBarModel::mSearchSeparators("^[^_.-;@ ][_.-;@ ]"); +const QRegExp SipAddressesProxyModel::mSearchSeparators("^[^_.-;@ ][_.-;@ ]"); // ----------------------------------------------------------------------------- -SmartSearchBarModel::SmartSearchBarModel (QObject *parent) : QSortFilterProxyModel(parent) { +SipAddressesProxyModel::SipAddressesProxyModel (QObject *parent) : QSortFilterProxyModel(parent) { setSourceModel(CoreManager::getInstance()->getSipAddressesModel()); sort(0); } -QHash SmartSearchBarModel::roleNames () const { - QHash roles; - roles[Qt::DisplayRole] = "$entry"; - return roles; -} - // ----------------------------------------------------------------------------- -void SmartSearchBarModel::setFilter (const QString &pattern) { +void SipAddressesProxyModel::setFilter (const QString &pattern) { mFilter = pattern; invalidate(); } // ----------------------------------------------------------------------------- -bool SmartSearchBarModel::filterAcceptsRow (int sourceRow, const QModelIndex &sourceParent) const { +bool SipAddressesProxyModel::filterAcceptsRow (int sourceRow, const QModelIndex &sourceParent) const { const QModelIndex &index = sourceModel()->index(sourceRow, 0, sourceParent); return computeEntryWeight(index.data().toMap()) > 0; } -bool SmartSearchBarModel::lessThan (const QModelIndex &left, const QModelIndex &right) const { +bool SipAddressesProxyModel::lessThan (const QModelIndex &left, const QModelIndex &right) const { const QVariantMap &mapA = sourceModel()->data(left).toMap(); const QVariantMap &mapB = sourceModel()->data(right).toMap(); @@ -100,7 +94,7 @@ bool SmartSearchBarModel::lessThan (const QModelIndex &left, const QModelIndex & return sipAddressA <= sipAddressB; } -int SmartSearchBarModel::computeEntryWeight (const QVariantMap &entry) const { +int SipAddressesProxyModel::computeEntryWeight (const QVariantMap &entry) const { int weight = computeStringWeight(entry["sipAddress"].toString().mid(4)); const ContactModel *contact = entry.value("contact").value(); @@ -110,7 +104,7 @@ int SmartSearchBarModel::computeEntryWeight (const QVariantMap &entry) const { return weight; } -int SmartSearchBarModel::computeStringWeight (const QString &string) const { +int SipAddressesProxyModel::computeStringWeight (const QString &string) const { int index = -1; int offset = -1; diff --git a/linphone-desktop/src/components/smart-search-bar/SmartSearchBarModel.hpp b/linphone-desktop/src/components/sip-addresses/SipAddressesProxyModel.hpp similarity index 81% rename from linphone-desktop/src/components/smart-search-bar/SmartSearchBarModel.hpp rename to linphone-desktop/src/components/sip-addresses/SipAddressesProxyModel.hpp index 681d958b5..0d7b9d151 100644 --- a/linphone-desktop/src/components/smart-search-bar/SmartSearchBarModel.hpp +++ b/linphone-desktop/src/components/sip-addresses/SipAddressesProxyModel.hpp @@ -1,5 +1,5 @@ /* - * SmartSearchBarModel.hpp + * SipAddressesProxyModel.hpp * Copyright (C) 2017 Belledonne Communications, Grenoble, France * * This program is free software; you can redistribute it and/or @@ -20,21 +20,19 @@ * Author: Ronan Abhamon */ -#ifndef SMART_SEARCH_BAR_MODEL_H_ -#define SMART_SEARCH_BAR_MODEL_H_ +#ifndef SIP_ADDRESSES_PROXY_MODEL_H_ +#define SIP_ADDRESSES_PROXY_MODEL_H_ #include // ============================================================================= -class SmartSearchBarModel : public QSortFilterProxyModel { +class SipAddressesProxyModel : public QSortFilterProxyModel { Q_OBJECT; public: - SmartSearchBarModel (QObject *parent = Q_NULLPTR); - ~SmartSearchBarModel () = default; - - QHash roleNames () const override; + SipAddressesProxyModel (QObject *parent = Q_NULLPTR); + ~SipAddressesProxyModel () = default; Q_INVOKABLE void setFilter (const QString &pattern); @@ -51,4 +49,4 @@ private: static const QRegExp mSearchSeparators; }; -#endif // SMART_SEARCH_BAR_MODEL_H_ +#endif // SIP_ADDRESSES_PROXY_MODEL_H_ diff --git a/linphone-desktop/ui/modules/Linphone/SmartSearchBar/SmartSearchBar.qml b/linphone-desktop/ui/modules/Linphone/SmartSearchBar/SmartSearchBar.qml index 0513d99d2..b259968bc 100644 --- a/linphone-desktop/ui/modules/Linphone/SmartSearchBar/SmartSearchBar.qml +++ b/linphone-desktop/ui/modules/Linphone/SmartSearchBar/SmartSearchBar.qml @@ -207,7 +207,7 @@ SearchBox { Contact { Layout.fillHeight: true Layout.fillWidth: true - entry: $entry + entry: $sipAddress MouseArea { anchors.fill: parent @@ -219,7 +219,7 @@ SearchBox { onClicked: { searchBox.closeMenu() - searchBox.entryClicked($entry) + searchBox.entryClicked($sipAddress) } } } @@ -235,7 +235,7 @@ SearchBox { icon: 'video_call' onClicked: { searchBox.closeMenu() - searchBox.launchVideoCall($entry.sipAddress) + searchBox.launchVideoCall($sipAddress.sipAddress) } } @@ -243,7 +243,7 @@ SearchBox { icon: 'call' onClicked: { searchBox.closeMenu() - searchBox.launchCall($entry.sipAddress) + searchBox.launchCall($sipAddress.sipAddress) } } @@ -251,7 +251,7 @@ SearchBox { icon: 'chat' onClicked: { searchBox.closeMenu() - searchBox.launchChat($entry.sipAddress) + searchBox.launchChat($sipAddress.sipAddress) } } } diff --git a/linphone-desktop/ui/views/App/Main/MainWindow.qml b/linphone-desktop/ui/views/App/Main/MainWindow.qml index e2689b284..8c6f4f5cb 100644 --- a/linphone-desktop/ui/views/App/Main/MainWindow.qml +++ b/linphone-desktop/ui/views/App/Main/MainWindow.qml @@ -154,7 +154,7 @@ ApplicationWindow { maxMenuHeight: MainWindowStyle.searchBox.maxHeight placeholderText: qsTr('mainSearchBarPlaceholder') - model: SmartSearchBarModel {} + model: SipAddressesProxyModel {} onAddContact: window.setView('ContactEdit', { sipAddress: sipAddress