diff --git a/CMakeLists.txt b/CMakeLists.txt index 3384e04af0ed91ae381e31623b684eb4b9856063..b058758192903c605c4f40cdeb2b940a42e750af 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -145,7 +145,7 @@ ENDIF(${ENABLE_VIDEO} MATCHES true) FIND_PACKAGE(Qt5Core REQUIRED) FIND_PACKAGE(Qt5DBus) -ADD_DEFINITIONS(-DQT_DISABLE_DEPRECATED_BEFORE=0) +# ADD_DEFINITIONS(-DQT_DISABLE_DEPRECATED_BEFORE=1) SET(GENERIC_LIB_VERSION "1.4.1") diff --git a/src/accountmodel.cpp b/src/accountmodel.cpp index 30978066f0484bae2e39a2317dd637d410b80d02..7c18b2f24347c92a480d790bfca8e693d7546aad 100644 --- a/src/accountmodel.cpp +++ b/src/accountmodel.cpp @@ -69,7 +69,6 @@ int AccountListNoCheckProxyModel::rowCount(const QModelIndex& parentIdx ) const AccountModelPrivate::AccountModelPrivate(AccountModel* parent) : QObject(parent),q_ptr(parent), m_pIP2IP(nullptr) { - setupRoleName(); } ///Constructors @@ -110,53 +109,56 @@ AccountModel::~AccountModel() delete d_ptr; } -void AccountModelPrivate::setupRoleName() -{ - QHash<int, QByteArray> roles = q_ptr->roleNames(); - roles.insert(Account::Role::Alias ,QByteArray("alias" )); - roles.insert(Account::Role::Proto ,QByteArray("protocol" )); - roles.insert(Account::Role::Hostname ,QByteArray("hostname" )); - roles.insert(Account::Role::Username ,QByteArray("username" )); - roles.insert(Account::Role::Mailbox ,QByteArray("mailbox" )); - roles.insert(Account::Role::Proxy ,QByteArray("proxy" )); - roles.insert(Account::Role::TlsPassword ,QByteArray("tlsPassword" )); - roles.insert(Account::Role::TlsCaListCertificate ,QByteArray("tlsCaListCertificate" )); - roles.insert(Account::Role::TlsCertificate ,QByteArray("tlsCertificate" )); - roles.insert(Account::Role::TlsPrivateKeyCertificate ,QByteArray("tlsPrivateKeyCertificate" )); - roles.insert(Account::Role::TlsServerName ,QByteArray("tlsServerName" )); - roles.insert(Account::Role::SipStunServer ,QByteArray("sipStunServer" )); - roles.insert(Account::Role::PublishedAddress ,QByteArray("publishedAddress" )); - roles.insert(Account::Role::LocalInterface ,QByteArray("localInterface" )); - roles.insert(Account::Role::RingtonePath ,QByteArray("ringtonePath" )); - roles.insert(Account::Role::TlsMethod ,QByteArray("tlsMethod" )); - roles.insert(Account::Role::RegistrationExpire ,QByteArray("registrationExpire" )); - roles.insert(Account::Role::TlsNegotiationTimeoutSec ,QByteArray("tlsNegotiationTimeoutSec" )); - roles.insert(Account::Role::TlsNegotiationTimeoutMsec,QByteArray("tlsNegotiationTimeoutMsec" )); - roles.insert(Account::Role::LocalPort ,QByteArray("localPort" )); - roles.insert(Account::Role::TlsListenerPort ,QByteArray("tlsListenerPort" )); - roles.insert(Account::Role::PublishedPort ,QByteArray("publishedPort" )); - roles.insert(Account::Role::Enabled ,QByteArray("enabled" )); - roles.insert(Account::Role::AutoAnswer ,QByteArray("autoAnswer" )); - roles.insert(Account::Role::TlsVerifyServer ,QByteArray("tlsVerifyServer" )); - roles.insert(Account::Role::TlsVerifyClient ,QByteArray("tlsVerifyClient" )); - roles.insert(Account::Role::TlsRequireClientCertificate,QByteArray("tlsRequireClientCertificate" )); - roles.insert(Account::Role::TlsEnabled ,QByteArray("tlsEnabled" )); - roles.insert(Account::Role::DisplaySasOnce ,QByteArray("displaySasOnce" )); - roles.insert(Account::Role::SrtpRtpFallback ,QByteArray("srtpRtpFallback" )); - roles.insert(Account::Role::ZrtpDisplaySas ,QByteArray("zrtpDisplaySas" )); - roles.insert(Account::Role::ZrtpNotSuppWarning ,QByteArray("zrtpNotSuppWarning" )); - roles.insert(Account::Role::ZrtpHelloHash ,QByteArray("zrtpHelloHash" )); - roles.insert(Account::Role::SipStunEnabled ,QByteArray("sipStunEnabled" )); - roles.insert(Account::Role::PublishedSameAsLocal ,QByteArray("publishedSameAsLocal" )); - roles.insert(Account::Role::RingtoneEnabled ,QByteArray("ringtoneEnabled" )); - roles.insert(Account::Role::dTMFType ,QByteArray("dTMFType" )); - roles.insert(Account::Role::Id ,QByteArray("id" )); - roles.insert(Account::Role::Object ,QByteArray("object" )); - roles.insert(Account::Role::TypeName ,QByteArray("typeName" )); - roles.insert(Account::Role::PresenceStatus ,QByteArray("presenceStatus" )); - roles.insert(Account::Role::PresenceMessage ,QByteArray("presenceMessage" )); - - q_ptr->setRoleNames(roles); +QHash<int,QByteArray> AccountModel::roleNames() const +{ + static QHash<int, QByteArray> roles = QAbstractItemModel::roleNames(); + static bool initRoles = false; + if (!initRoles) { + initRoles = true; + roles.insert(Account::Role::Alias ,QByteArray("alias" )); + roles.insert(Account::Role::Proto ,QByteArray("protocol" )); + roles.insert(Account::Role::Hostname ,QByteArray("hostname" )); + roles.insert(Account::Role::Username ,QByteArray("username" )); + roles.insert(Account::Role::Mailbox ,QByteArray("mailbox" )); + roles.insert(Account::Role::Proxy ,QByteArray("proxy" )); + roles.insert(Account::Role::TlsPassword ,QByteArray("tlsPassword" )); + roles.insert(Account::Role::TlsCaListCertificate ,QByteArray("tlsCaListCertificate" )); + roles.insert(Account::Role::TlsCertificate ,QByteArray("tlsCertificate" )); + roles.insert(Account::Role::TlsPrivateKeyCertificate ,QByteArray("tlsPrivateKeyCertificate" )); + roles.insert(Account::Role::TlsServerName ,QByteArray("tlsServerName" )); + roles.insert(Account::Role::SipStunServer ,QByteArray("sipStunServer" )); + roles.insert(Account::Role::PublishedAddress ,QByteArray("publishedAddress" )); + roles.insert(Account::Role::LocalInterface ,QByteArray("localInterface" )); + roles.insert(Account::Role::RingtonePath ,QByteArray("ringtonePath" )); + roles.insert(Account::Role::TlsMethod ,QByteArray("tlsMethod" )); + roles.insert(Account::Role::RegistrationExpire ,QByteArray("registrationExpire" )); + roles.insert(Account::Role::TlsNegotiationTimeoutSec ,QByteArray("tlsNegotiationTimeoutSec" )); + roles.insert(Account::Role::TlsNegotiationTimeoutMsec,QByteArray("tlsNegotiationTimeoutMsec" )); + roles.insert(Account::Role::LocalPort ,QByteArray("localPort" )); + roles.insert(Account::Role::TlsListenerPort ,QByteArray("tlsListenerPort" )); + roles.insert(Account::Role::PublishedPort ,QByteArray("publishedPort" )); + roles.insert(Account::Role::Enabled ,QByteArray("enabled" )); + roles.insert(Account::Role::AutoAnswer ,QByteArray("autoAnswer" )); + roles.insert(Account::Role::TlsVerifyServer ,QByteArray("tlsVerifyServer" )); + roles.insert(Account::Role::TlsVerifyClient ,QByteArray("tlsVerifyClient" )); + roles.insert(Account::Role::TlsRequireClientCertificate,QByteArray("tlsRequireClientCertificate" )); + roles.insert(Account::Role::TlsEnabled ,QByteArray("tlsEnabled" )); + roles.insert(Account::Role::DisplaySasOnce ,QByteArray("displaySasOnce" )); + roles.insert(Account::Role::SrtpRtpFallback ,QByteArray("srtpRtpFallback" )); + roles.insert(Account::Role::ZrtpDisplaySas ,QByteArray("zrtpDisplaySas" )); + roles.insert(Account::Role::ZrtpNotSuppWarning ,QByteArray("zrtpNotSuppWarning" )); + roles.insert(Account::Role::ZrtpHelloHash ,QByteArray("zrtpHelloHash" )); + roles.insert(Account::Role::SipStunEnabled ,QByteArray("sipStunEnabled" )); + roles.insert(Account::Role::PublishedSameAsLocal ,QByteArray("publishedSameAsLocal" )); + roles.insert(Account::Role::RingtoneEnabled ,QByteArray("ringtoneEnabled" )); + roles.insert(Account::Role::dTMFType ,QByteArray("dTMFType" )); + roles.insert(Account::Role::Id ,QByteArray("id" )); + roles.insert(Account::Role::Object ,QByteArray("object" )); + roles.insert(Account::Role::TypeName ,QByteArray("typeName" )); + roles.insert(Account::Role::PresenceStatus ,QByteArray("presenceStatus" )); + roles.insert(Account::Role::PresenceMessage ,QByteArray("presenceMessage" )); + } + return roles; } ///Get the IP2IP account diff --git a/src/accountmodel.h b/src/accountmodel.h index 6b82f52bf7c04830602af2ff101edf41d763f12e..adb1a82cb78cca9a01a087429d36fc9d6a838994 100644 --- a/src/accountmodel.h +++ b/src/accountmodel.h @@ -52,22 +52,23 @@ public: //Getters Q_INVOKABLE Account* getById ( const QByteArray& id, bool ph = false) const; int size ( ) const; - static Account* currentAccount ( ); + static Account* currentAccount ( ) ; Account* getAccountByModelIndex ( const QModelIndex& item ) const; - static QString getSimilarAliasIndex ( const QString& alias ); + static QString getSimilarAliasIndex ( const QString& alias ) ; Account* ip2ip ( ) const; bool isPresenceEnabled ( ) const; bool isPresencePublishSupported ( ) const; bool isPresenceSubscribeSupported( ) const; //Abstract model accessors - QVariant data ( const QModelIndex& index, int role = Qt::DisplayRole ) const; - int rowCount ( const QModelIndex& parent = QModelIndex() ) const; - Qt::ItemFlags flags ( const QModelIndex& index ) const; + virtual QVariant data ( const QModelIndex& index, int role = Qt::DisplayRole ) const override; + virtual int rowCount ( const QModelIndex& parent = QModelIndex() ) const override; + virtual Qt::ItemFlags flags ( const QModelIndex& index ) const override; + virtual bool setData ( const QModelIndex& index, const QVariant &value, int role) override; + virtual QHash<int,QByteArray> roleNames( ) const override; //Setters - void setPriorAccount ( const Account* ); - virtual bool setData ( const QModelIndex& index, const QVariant &value, int role); + void setPriorAccount ( const Account* ); //Mutators Q_INVOKABLE Account* add ( const QString& alias ); diff --git a/src/accountstatusmodel.cpp b/src/accountstatusmodel.cpp index 96ce35a560cb31e2d7dda2414d65b2f56b397ebc..668601d3e6d71205b069f768a99b706adc8a45fb 100644 --- a/src/accountstatusmodel.cpp +++ b/src/accountstatusmodel.cpp @@ -344,6 +344,17 @@ d_ptr(new AccountStatusModelPrivate(parent)) AccountStatusModel::~AccountStatusModel() {} +QHash<int,QByteArray> AccountStatusModel::roleNames() const +{ + static QHash<int, QByteArray> roles = QAbstractItemModel::roleNames(); + /*static bool initRoles = false; + if (!initRoles) { + initRoles = true; + + }*/ + return roles; +} + //Model functions QVariant AccountStatusModel::data( const QModelIndex& index, int role) const { diff --git a/src/accountstatusmodel.h b/src/accountstatusmodel.h index bddb74a954f60e0009c8bf6896d454b4de55debb..f753545f4d6486207bec3dca0893f596079a2a8c 100644 --- a/src/accountstatusmodel.h +++ b/src/accountstatusmodel.h @@ -60,6 +60,7 @@ public: virtual int columnCount ( const QModelIndex& parent = QModelIndex() ) const override; virtual Qt::ItemFlags flags ( const QModelIndex& index ) const override; virtual bool setData ( const QModelIndex& index, const QVariant &value, int role) override; + virtual QHash<int,QByteArray> roleNames() const override; private: //Private mutators diff --git a/src/audio/alsapluginmodel.cpp b/src/audio/alsapluginmodel.cpp index 482849cb62a85c5e45a22c0017f485a98d9ec99a..9553c5d68043e8a02723f66cffa866d8ea548ad9 100644 --- a/src/audio/alsapluginmodel.cpp +++ b/src/audio/alsapluginmodel.cpp @@ -33,7 +33,7 @@ private: AlsaPluginModelPrivate::AlsaPluginModelPrivate(Audio::AlsaPluginModel* parent) : q_ptr(parent) { - + } ///Constructor @@ -47,7 +47,18 @@ d_ptr(new AlsaPluginModelPrivate(this)) ///Destructor Audio::AlsaPluginModel::~AlsaPluginModel() { - + +} + +QHash<int,QByteArray> Audio::AlsaPluginModel::roleNames() const +{ + static QHash<int, QByteArray> roles = QAbstractItemModel::roleNames(); + /*static bool initRoles = false; + if (!initRoles) { + initRoles = true; + + }*/ + return roles; } ///Re-implement QAbstractListModel data diff --git a/src/audio/alsapluginmodel.h b/src/audio/alsapluginmodel.h index 84d41854aa8a004f452d11e58b7f3bad1f454776..5436c6002f8c481c8d369279e7a8b5106e2c3850 100644 --- a/src/audio/alsapluginmodel.h +++ b/src/audio/alsapluginmodel.h @@ -41,6 +41,7 @@ public: virtual int rowCount( const QModelIndex& parent = QModelIndex() ) const override; virtual Qt::ItemFlags flags ( const QModelIndex& index ) const override; virtual bool setData ( const QModelIndex& index, const QVariant &value, int role) override; + virtual QHash<int,QByteArray> roleNames() const override; //Getters QModelIndex currentPlugin() const; diff --git a/src/audio/codecmodel.cpp b/src/audio/codecmodel.cpp index 1b350f78672fb03e55d0a06ba66d94ecfa9efb8d..a33563eb38b0aeccfc27eba4c55b6eb3e707477a 100644 --- a/src/audio/codecmodel.cpp +++ b/src/audio/codecmodel.cpp @@ -61,12 +61,6 @@ QAbstractListModel(account?(QObject*)account:(QObject*)QCoreApplication::instanc { d_ptr->m_pAccount = account; setObjectName("CodecModel: "+(account?account->id():"Unknown")); - QHash<int, QByteArray> roles = roleNames(); - roles.insert(Audio::CodecModel::Role::ID ,QByteArray("id")); - roles.insert(Audio::CodecModel::Role::NAME ,QByteArray("name")); - roles.insert(Audio::CodecModel::Role::BITRATE ,QByteArray("bitrate")); - roles.insert(Audio::CodecModel::Role::SAMPLERATE,QByteArray("samplerate")); - setRoleNames(roles); } Audio::CodecModel::~CodecModel() @@ -78,6 +72,20 @@ Audio::CodecModel::~CodecModel() } } +QHash<int,QByteArray> Audio::CodecModel::roleNames() const +{ + static QHash<int, QByteArray> roles = QAbstractItemModel::roleNames(); + static bool initRoles = false; + if (!initRoles) { + initRoles = true; + roles.insert(Audio::CodecModel::Role::ID ,QByteArray("id")); + roles.insert(Audio::CodecModel::Role::NAME ,QByteArray("name")); + roles.insert(Audio::CodecModel::Role::BITRATE ,QByteArray("bitrate")); + roles.insert(Audio::CodecModel::Role::SAMPLERATE,QByteArray("samplerate")); + } + return roles; +} + ///Model data QVariant Audio::CodecModel::data(const QModelIndex& idx, int role) const { if(idx.column() == 0 && role == Qt::DisplayRole ) { diff --git a/src/audio/codecmodel.h b/src/audio/codecmodel.h index 9b8e420e355cda7f1aa18acc24a17f4d54465603..01829a07d0a640bd97904a8394ba45163bc0fed0 100644 --- a/src/audio/codecmodel.h +++ b/src/audio/codecmodel.h @@ -52,10 +52,11 @@ public: virtual ~CodecModel(); //Abstract model member - QVariant data (const QModelIndex& index, int role = Qt::DisplayRole ) const override; - int rowCount (const QModelIndex& parent = QModelIndex() ) const override; - Qt::ItemFlags flags (const QModelIndex& index ) const override; + virtual QVariant data (const QModelIndex& index, int role = Qt::DisplayRole ) const override; + virtual int rowCount (const QModelIndex& parent = QModelIndex() ) const override; + virtual Qt::ItemFlags flags (const QModelIndex& index ) const override; virtual bool setData (const QModelIndex& index, const QVariant &value, int role ) override; + virtual QHash<int,QByteArray> roleNames() const override; //Mutator QModelIndex add(); diff --git a/src/audio/inputdevicemodel.cpp b/src/audio/inputdevicemodel.cpp index 9e510299c688d731126eb40fd9ac1bf612518d23..4e3f7b9b9040c52401813ad36df2b2ff374703d9 100644 --- a/src/audio/inputdevicemodel.cpp +++ b/src/audio/inputdevicemodel.cpp @@ -34,7 +34,18 @@ private: InputDeviceModelPrivate::InputDeviceModelPrivate(Audio::InputDeviceModel* parent) : q_ptr(parent) { - + +} + +QHash<int,QByteArray> Audio::InputDeviceModel::roleNames() const +{ + static QHash<int, QByteArray> roles = QAbstractItemModel::roleNames(); + /*static bool initRoles = false; + if (!initRoles) { + initRoles = true; + + }*/ + return roles; } ///Constructor diff --git a/src/audio/inputdevicemodel.h b/src/audio/inputdevicemodel.h index 2abc25df3f0b5f3c6b4bb5e4dbb8cc2a5acb7b5c..f71b4fbfb1e9729c9b33823814f136901c91c495 100644 --- a/src/audio/inputdevicemodel.h +++ b/src/audio/inputdevicemodel.h @@ -41,6 +41,7 @@ public: virtual int rowCount( const QModelIndex& parent = QModelIndex() ) const override; virtual Qt::ItemFlags flags ( const QModelIndex& index ) const override; virtual bool setData ( const QModelIndex& index, const QVariant &value, int role) override; + virtual QHash<int,QByteArray> roleNames() const override; //Getters QModelIndex currentDevice() const; diff --git a/src/audio/managermodel.cpp b/src/audio/managermodel.cpp index 9fd9af47e08920f144a167d63f8779f0afb17e4e..72981a2560421d182ab5f2e31faa34f15b61a160 100644 --- a/src/audio/managermodel.cpp +++ b/src/audio/managermodel.cpp @@ -75,6 +75,17 @@ Audio::ManagerModel::~ManagerModel() d_ptr->m_lDeviceList.clear(); } +QHash<int,QByteArray> Audio::ManagerModel::roleNames() const +{ + static QHash<int, QByteArray> roles = QAbstractItemModel::roleNames(); + /*static bool initRoles = false; + if (!initRoles) { + initRoles = true; + + }*/ + return roles; +} + ///Re-implement QAbstractListModel data QVariant Audio::ManagerModel::data( const QModelIndex& index, int role) const { diff --git a/src/audio/managermodel.h b/src/audio/managermodel.h index 5ed998ca1c22da13e583a120cfc4430dbf2a4fbb..40217217d407d7f7175beb90c3f920cdf19bf9d9 100644 --- a/src/audio/managermodel.h +++ b/src/audio/managermodel.h @@ -47,6 +47,7 @@ public: virtual int rowCount( const QModelIndex& parent = QModelIndex() ) const override; virtual Qt::ItemFlags flags ( const QModelIndex& index ) const override; virtual bool setData ( const QModelIndex& index, const QVariant &value, int role) override; + virtual QHash<int,QByteArray> roleNames() const override; //Getters QModelIndex currentManagerIndex() const; diff --git a/src/audio/outputdevicemodel.cpp b/src/audio/outputdevicemodel.cpp index 987f0b8cc6c93f118076c857c2487fff7a62e044..9a4daa8081ee8f88a552f2d8f3c3c91179754d4f 100644 --- a/src/audio/outputdevicemodel.cpp +++ b/src/audio/outputdevicemodel.cpp @@ -36,7 +36,7 @@ private: OutputDeviceModelPrivate::OutputDeviceModelPrivate(Audio::OutputDeviceModel* parent) : q_ptr(parent) { - + } ///Constructor @@ -50,7 +50,18 @@ d_ptr(new OutputDeviceModelPrivate(this)) ///Destructor Audio::OutputDeviceModel::~OutputDeviceModel() { - + +} + +QHash<int,QByteArray> Audio::OutputDeviceModel::roleNames() const +{ + static QHash<int, QByteArray> roles = QAbstractItemModel::roleNames(); + /*static bool initRoles = false; + if (!initRoles) { + initRoles = true; + + }*/ + return roles; } ///Re-implement QAbstractListModel data diff --git a/src/audio/outputdevicemodel.h b/src/audio/outputdevicemodel.h index faabf5a5573deb023dc5d2df563651ddad8ec5fb..3b79e1c4363fbbb6aa91666a2f356c608a084cba 100644 --- a/src/audio/outputdevicemodel.h +++ b/src/audio/outputdevicemodel.h @@ -41,6 +41,7 @@ public: virtual int rowCount( const QModelIndex& parent = QModelIndex() ) const override; virtual Qt::ItemFlags flags ( const QModelIndex& index ) const override; virtual bool setData ( const QModelIndex& index, const QVariant &value, int role) override; + virtual QHash<int,QByteArray> roleNames() const override; //Getters QModelIndex currentDevice() const; diff --git a/src/audio/ringtonedevicemodel.cpp b/src/audio/ringtonedevicemodel.cpp index aa2d308eb1bd053c7eb89ff5cb129bd00f796fe7..46710d0434256711972b6025447c3c19f878c23f 100644 --- a/src/audio/ringtonedevicemodel.cpp +++ b/src/audio/ringtonedevicemodel.cpp @@ -48,7 +48,18 @@ d_ptr(new RingtoneDeviceModelPrivate(this)) ///Destructor Audio::RingtoneDeviceModel::~RingtoneDeviceModel() { - + +} + +QHash<int,QByteArray> Audio::RingtoneDeviceModel::roleNames() const +{ + static QHash<int, QByteArray> roles = QAbstractItemModel::roleNames(); + /*static bool initRoles = false; + if (!initRoles) { + initRoles = true; + + }*/ + return roles; } ///Re-implement QAbstractListModel data diff --git a/src/audio/ringtonedevicemodel.h b/src/audio/ringtonedevicemodel.h index 54b6715abf15ff69c170125fff71ca593025da79..750566b42534c06f485db29c97ae4caaded8ff11 100644 --- a/src/audio/ringtonedevicemodel.h +++ b/src/audio/ringtonedevicemodel.h @@ -41,6 +41,7 @@ public: virtual int rowCount( const QModelIndex& parent = QModelIndex() ) const override; virtual Qt::ItemFlags flags ( const QModelIndex& index ) const override; virtual bool setData ( const QModelIndex& index, const QVariant &value, int role) override; + virtual QHash<int,QByteArray> roleNames() const override; //Getters QModelIndex currentDevice() const; diff --git a/src/bookmarkmodel.cpp b/src/bookmarkmodel.cpp index 0acfa5d7e926f91cb4a7a5b4fb9ae6b28dbc03e5..837e3db9b75837a72cb900e99302981450e4854b 100644 --- a/src/bookmarkmodel.cpp +++ b/src/bookmarkmodel.cpp @@ -159,6 +159,17 @@ BookmarkModel* BookmarkModel::instance() return m_spInstance; } +QHash<int,QByteArray> BookmarkModel::roleNames() const +{ + static QHash<int, QByteArray> roles = QAbstractItemModel::roleNames(); + static bool initRoles = false; + if (!initRoles) { + initRoles = true; + roles[Call::Role::Name] = CallModel::instance()->roleNames()[Call::Role::Name]; + } + return roles; +} + ///Reload bookmark cateogries void BookmarkModel::reloadCategories() { diff --git a/src/bookmarkmodel.h b/src/bookmarkmodel.h index 37195d84e997b3f87482c5ddb75fa4d63bd36ce4..d7b08d17e0623c3a62efcb694c74d2d770ef71b9 100644 --- a/src/bookmarkmodel.h +++ b/src/bookmarkmodel.h @@ -67,6 +67,7 @@ public: virtual QStringList mimeTypes ( ) const override; virtual QMimeData* mimeData ( const QModelIndexList &indexes ) const override; virtual QVariant headerData ( int section, Qt::Orientation orientation, int role = Qt::DisplayRole ) const override; + virtual QHash<int,QByteArray> roleNames() const override; //Management void remove (const QModelIndex& idx ); diff --git a/src/callmodel.cpp b/src/callmodel.cpp index 683c56414ca09a31f2c69319c0b9e3d341976b7e..1b6a08a0aecc03250ad13f747742d0737ef218c9 100644 --- a/src/callmodel.cpp +++ b/src/callmodel.cpp @@ -82,7 +82,6 @@ public: //Helpers bool isPartOf(const QModelIndex& confIdx, Call* call); - void initRoles(); void removeConference ( Call* conf ); void removeInternal(InternalStruct* internal); @@ -139,7 +138,6 @@ CallModel::CallModel() : QAbstractItemModel(QCoreApplication::instance()),d_ptr( void CallModelPrivate::init() { static bool dbusInit = false; - initRoles(); if (!dbusInit) { CallManagerInterface& callManager = DBus::CallManager::instance(); #ifdef ENABLE_VIDEO @@ -209,35 +207,39 @@ CallModel::~CallModel() #endif //ENABLE_LIBWRAP } -void CallModelPrivate::initRoles() +QHash<int,QByteArray> CallModel::roleNames() const { - QHash<int, QByteArray> roles = q_ptr->roleNames(); - roles.insert(Call::Role::Name ,QByteArray("name")); - roles.insert(Call::Role::Number ,QByteArray("number")); - roles.insert(Call::Role::Direction2 ,QByteArray("direction")); - roles.insert(Call::Role::Date ,QByteArray("date")); - roles.insert(Call::Role::Length ,QByteArray("length")); - roles.insert(Call::Role::FormattedDate ,QByteArray("formattedDate")); - roles.insert(Call::Role::HasRecording ,QByteArray("hasRecording")); - roles.insert(Call::Role::Historystate ,QByteArray("historyState")); - roles.insert(Call::Role::Filter ,QByteArray("filter")); - roles.insert(Call::Role::FuzzyDate ,QByteArray("fuzzyDate")); - roles.insert(Call::Role::IsBookmark ,QByteArray("isBookmark")); - roles.insert(Call::Role::Security ,QByteArray("security")); - roles.insert(Call::Role::Department ,QByteArray("department")); - roles.insert(Call::Role::Email ,QByteArray("email")); - roles.insert(Call::Role::Organisation ,QByteArray("organisation")); - roles.insert(Call::Role::Object ,QByteArray("object")); - roles.insert(Call::Role::PhotoPtr ,QByteArray("photoPtr")); - roles.insert(Call::Role::CallState ,QByteArray("callState")); - roles.insert(Call::Role::Id ,QByteArray("id")); - roles.insert(Call::Role::StartTime ,QByteArray("startTime")); - roles.insert(Call::Role::StopTime ,QByteArray("stopTime")); - roles.insert(Call::Role::DropState ,QByteArray("dropState")); - roles.insert(Call::Role::DTMFAnimState ,QByteArray("dTMFAnimState")); - roles.insert(Call::Role::LastDTMFidx ,QByteArray("lastDTMFidx")); - roles.insert(Call::Role::IsRecording ,QByteArray("isRecording")); - q_ptr->setRoleNames(roles); + static QHash<int, QByteArray> roles = QAbstractItemModel::roleNames(); + static bool initRoles = false; + if (!initRoles) { + initRoles = true; + roles.insert(Call::Role::Name ,QByteArray("name")); + roles.insert(Call::Role::Number ,QByteArray("number")); + roles.insert(Call::Role::Direction2 ,QByteArray("direction")); + roles.insert(Call::Role::Date ,QByteArray("date")); + roles.insert(Call::Role::Length ,QByteArray("length")); + roles.insert(Call::Role::FormattedDate ,QByteArray("formattedDate")); + roles.insert(Call::Role::HasRecording ,QByteArray("hasRecording")); + roles.insert(Call::Role::Historystate ,QByteArray("historyState")); + roles.insert(Call::Role::Filter ,QByteArray("filter")); + roles.insert(Call::Role::FuzzyDate ,QByteArray("fuzzyDate")); + roles.insert(Call::Role::IsBookmark ,QByteArray("isBookmark")); + roles.insert(Call::Role::Security ,QByteArray("security")); + roles.insert(Call::Role::Department ,QByteArray("department")); + roles.insert(Call::Role::Email ,QByteArray("email")); + roles.insert(Call::Role::Organisation ,QByteArray("organisation")); + roles.insert(Call::Role::Object ,QByteArray("object")); + roles.insert(Call::Role::PhotoPtr ,QByteArray("photoPtr")); + roles.insert(Call::Role::CallState ,QByteArray("callState")); + roles.insert(Call::Role::Id ,QByteArray("id")); + roles.insert(Call::Role::StartTime ,QByteArray("startTime")); + roles.insert(Call::Role::StopTime ,QByteArray("stopTime")); + roles.insert(Call::Role::DropState ,QByteArray("dropState")); + roles.insert(Call::Role::DTMFAnimState ,QByteArray("dTMFAnimState")); + roles.insert(Call::Role::LastDTMFidx ,QByteArray("lastDTMFidx")); + roles.insert(Call::Role::IsRecording ,QByteArray("isRecording")); + } + return roles; } @@ -254,14 +256,12 @@ int CallModel::size() } ///Return the action call list - CallList CallModel::getActiveCalls() +CallList CallModel::getActiveCalls() { CallList callList; - #pragma GCC diagnostic ignored "-Wshadow" foreach(InternalStruct* internalS, d_ptr->m_lInternalModel) { callList.push_back(internalS->call_real); if (internalS->m_lChildren.size()) { - #pragma GCC diagnostic ignored "-Wshadow" foreach(InternalStruct* childInt,internalS->m_lChildren) { callList.push_back(childInt->call_real); } diff --git a/src/callmodel.h b/src/callmodel.h index 6854e66671f3d7b07eedafc090b436a1c8704048..5fe3fc660497aca9615e73c272943e500eb38c23 100644 --- a/src/callmodel.h +++ b/src/callmodel.h @@ -97,6 +97,7 @@ class LIB_EXPORT CallModel : public QAbstractItemModel virtual QStringList mimeTypes ( ) const override; virtual QMimeData* mimeData ( const QModelIndexList &indexes ) const override; virtual bool dropMimeData ( const QMimeData* data, Qt::DropAction action, int row, int column, const QModelIndex& parent ) override; + virtual QHash<int,QByteArray> roleNames() const override; //Singleton static CallModel* instance(); diff --git a/src/certificatemodel.cpp b/src/certificatemodel.cpp index c6334eb75666f7b377f484dd843b45061288d4a2..cb3a2738eb8d662bb0d741eefb671c34f7fd1a2b 100644 --- a/src/certificatemodel.cpp +++ b/src/certificatemodel.cpp @@ -114,6 +114,17 @@ CertificateModel* CertificateModel::instance() return CertificateModelPrivate::m_spInstance; } +QHash<int,QByteArray> CertificateModel::roleNames() const +{ + static QHash<int, QByteArray> roles = QAbstractItemModel::roleNames(); + /*static bool initRoles = false; + if (!initRoles) { + initRoles = true; + + }*/ + return roles; +} + void CertificateNode::setStrings(const QString& col1, const QVariant& col2, const QString& tooltip) { m_Col1 = col1; diff --git a/src/certificatemodel.h b/src/certificatemodel.h index f71df11bb21131bd1d5ea33658079335dd001f44..f5107923070db3a3b6358a62efc8b2997249a8ff 100644 --- a/src/certificatemodel.h +++ b/src/certificatemodel.h @@ -47,6 +47,7 @@ public: virtual QModelIndex parent ( const QModelIndex& index ) const override; virtual QModelIndex index ( int row, int column, const QModelIndex& parent=QModelIndex()) const override; virtual QVariant headerData ( int section, Qt::Orientation, int role = Qt::DisplayRole ) const override; + virtual QHash<int,QByteArray> roleNames() const override; //Mutator Certificate* getCertificate(const QUrl& path, Certificate::Type type = Certificate::Type::NONE); diff --git a/src/ciphermodel.cpp b/src/ciphermodel.cpp index dd6a77d8fa14965701d3ef205160f2a5ba2d2c15..dff4060984a74bf12e79caa807e2548d3058b448 100644 --- a/src/ciphermodel.cpp +++ b/src/ciphermodel.cpp @@ -83,6 +83,17 @@ d_ptr(new CipherModelPrivate(parent)) CipherModel::~CipherModel() {} +QHash<int,QByteArray> CipherModel::roleNames() const +{ + static QHash<int, QByteArray> roles = QAbstractItemModel::roleNames(); + static bool initRoles = false; + /*if (!initRoles) { + initRoles = true; + + }*/ + return roles; +} + //Model functions QVariant CipherModel::data( const QModelIndex& index, int role) const { diff --git a/src/ciphermodel.h b/src/ciphermodel.h index 98b4c0a1525e53f99248ebda17d657829a743365..0fa83d9da1c70bf82d75f4859bdb43c8548dcad4 100644 --- a/src/ciphermodel.h +++ b/src/ciphermodel.h @@ -47,6 +47,7 @@ public: virtual int rowCount ( const QModelIndex& parent = QModelIndex() ) const override; virtual Qt::ItemFlags flags ( const QModelIndex& index ) const override; virtual bool setData ( const QModelIndex& index, const QVariant &value, int role) override; + virtual QHash<int,QByteArray> roleNames() const override; private: diff --git a/src/collectionmodel.cpp b/src/collectionmodel.cpp index 9e895a11837bfcd6889cbadb2ba582159499f99c..4ddc32675244adf3b6eeb7ad6ee29df9b3bb03ee 100644 --- a/src/collectionmodel.cpp +++ b/src/collectionmodel.cpp @@ -77,6 +77,17 @@ CollectionModel::~CollectionModel() } } +QHash<int,QByteArray> CollectionModel::roleNames() const +{ + static QHash<int, QByteArray> roles = QAbstractItemModel::roleNames(); + /*static bool initRoles = false; + if (!initRoles) { + initRoles = true; + + }*/ + return roles; +} + QVariant CollectionModel::data (const QModelIndex& idx, int role) const { if (idx.isValid()) { diff --git a/src/collectionmodel.h b/src/collectionmodel.h index 1c871ff6de23686b273fad206062c329533a4fae..aaec265929e07c96df94664b01ee9769e2174f06 100644 --- a/src/collectionmodel.h +++ b/src/collectionmodel.h @@ -47,6 +47,7 @@ public: virtual bool setData (const QModelIndex& index, const QVariant &value, int role ) override; virtual QModelIndex parent ( const QModelIndex& index ) const override; virtual QModelIndex index ( int row, int column, const QModelIndex& parent=QModelIndex()) const override; + virtual QHash<int,QByteArray> roleNames() const override; CollectionInterface* backendAt(const QModelIndex& index); diff --git a/src/contactproxymodel.cpp b/src/contactproxymodel.cpp index 0fc82317724214f3ffe9dcd8c2cae56a32b7baf8..430bac02d423b8095f48f6156691fc94f9a63d60 100644 --- a/src/contactproxymodel.cpp +++ b/src/contactproxymodel.cpp @@ -195,17 +195,6 @@ ContactProxyModel::ContactProxyModel(int role, bool showAll) : QAbstractItemMode d_ptr->m_lMimes << RingMimes::PLAIN_TEXT << RingMimes::PHONENUMBER; connect(PersonModel::instance(),SIGNAL(reloaded()),d_ptr.data(),SLOT(reloadCategories())); connect(PersonModel::instance(),SIGNAL(newContactAdded(Person*)),d_ptr.data(),SLOT(slotContactAdded(Person*))); - QHash<int, QByteArray> roles = roleNames(); - roles.insert(PersonModel::Role::Organization ,QByteArray("organization") ); - roles.insert(PersonModel::Role::Group ,QByteArray("group") ); - roles.insert(PersonModel::Role::Department ,QByteArray("department") ); - roles.insert(PersonModel::Role::PreferredEmail ,QByteArray("preferredEmail") ); - roles.insert(PersonModel::Role::FormattedLastUsed ,QByteArray("formattedLastUsed")); - roles.insert(PersonModel::Role::IndexedLastUsed ,QByteArray("indexedLastUsed") ); - roles.insert(PersonModel::Role::DatedLastUsed ,QByteArray("datedLastUsed") ); - roles.insert(PersonModel::Role::Filter ,QByteArray("filter") ); - roles.insert(PersonModel::Role::DropState ,QByteArray("dropState") ); - setRoleNames(roles); } ContactProxyModel::~ContactProxyModel() @@ -215,6 +204,25 @@ ContactProxyModel::~ContactProxyModel() } } +QHash<int,QByteArray> ContactProxyModel::roleNames() const +{ + static QHash<int, QByteArray> roles = QAbstractItemModel::roleNames(); + static bool initRoles = false; + if (!initRoles) { + initRoles = true; + roles.insert(PersonModel::Role::Organization ,QByteArray("organization") ); + roles.insert(PersonModel::Role::Group ,QByteArray("group") ); + roles.insert(PersonModel::Role::Department ,QByteArray("department") ); + roles.insert(PersonModel::Role::PreferredEmail ,QByteArray("preferredEmail") ); + roles.insert(PersonModel::Role::FormattedLastUsed ,QByteArray("formattedLastUsed")); + roles.insert(PersonModel::Role::IndexedLastUsed ,QByteArray("indexedLastUsed") ); + roles.insert(PersonModel::Role::DatedLastUsed ,QByteArray("datedLastUsed") ); + roles.insert(PersonModel::Role::Filter ,QByteArray("filter") ); + roles.insert(PersonModel::Role::DropState ,QByteArray("dropState") ); + } + return roles; +} + ContactTopLevelItem* ContactProxyModelPrivate::getContactTopLevelItem(const QString& category) { if (!m_hCategories[category]) { diff --git a/src/contactproxymodel.h b/src/contactproxymodel.h index a33bc18fd25353d0a0b427b56cc81fcae2c51dfa..f6b39c0cfe24bea3fc79666424f4b45033d8be27 100644 --- a/src/contactproxymodel.h +++ b/src/contactproxymodel.h @@ -60,6 +60,7 @@ public: virtual QStringList mimeTypes ( ) const override; virtual QMimeData* mimeData ( const QModelIndexList &indexes ) const override; virtual bool dropMimeData ( const QMimeData*, Qt::DropAction, int, int, const QModelIndex& ) override; + virtual QHash<int,QByteArray> roleNames() const override; //Getter static int acceptedPayloadTypes(); diff --git a/src/credentialmodel.cpp b/src/credentialmodel.cpp index cb2c7dcf6321d0e73aaf456212d9a566184eb503..b729c8660c6a2cf80f32a41d98c131f6db576b14 100644 --- a/src/credentialmodel.cpp +++ b/src/credentialmodel.cpp @@ -39,10 +39,6 @@ CredentialModel::CredentialModel(QObject* par) : QAbstractListModel(par?par:QCor d_ptr(new CredentialModelPrivate()) { QHash<int, QByteArray> roles = roleNames(); - roles.insert(CredentialModel::Role::NAME ,QByteArray("name")); - roles.insert(CredentialModel::Role::PASSWORD,QByteArray("password")); - roles.insert(CredentialModel::Role::REALM ,QByteArray("realm")); - setRoleNames(roles); } CredentialModel::~CredentialModel() @@ -52,6 +48,19 @@ CredentialModel::~CredentialModel() } } +QHash<int,QByteArray> CredentialModel::roleNames() const +{ + static QHash<int, QByteArray> roles = QAbstractItemModel::roleNames(); + static bool initRoles = false; + if (!initRoles) { + initRoles = true; + roles.insert(CredentialModel::Role::NAME ,QByteArray("name")); + roles.insert(CredentialModel::Role::PASSWORD,QByteArray("password")); + roles.insert(CredentialModel::Role::REALM ,QByteArray("realm")); + } + return roles; +} + ///Model data QVariant CredentialModel::data(const QModelIndex& idx, int role) const { if (idx.column() == 0) { diff --git a/src/credentialmodel.h b/src/credentialmodel.h index c065c33c2165f9b0930b082fcb56d484a7a20dcc..b208af43152b3df852dc1aaa2ff9653cc54f3577 100644 --- a/src/credentialmodel.h +++ b/src/credentialmodel.h @@ -48,6 +48,7 @@ public: int rowCount(const QModelIndex& parent = QModelIndex() ) const override; Qt::ItemFlags flags(const QModelIndex& index ) const override; virtual bool setData(const QModelIndex& index, const QVariant &value, int role) override; + virtual QHash<int,QByteArray> roleNames() const override; //Mutator QModelIndex addCredentials(); diff --git a/src/historymodel.cpp b/src/historymodel.cpp index a101aab3efa35411c73e7bb3d83a14a98c2882a4..9023b683d5e4e8b9b74480ddb1b0465ee2d47ca6 100644 --- a/src/historymodel.cpp +++ b/src/historymodel.cpp @@ -191,33 +191,6 @@ HistoryModel::HistoryModel():QAbstractItemModel(QCoreApplication::instance()),d_ { m_spInstance = this; d_ptr->m_lMimes << RingMimes::PLAIN_TEXT << RingMimes::PHONENUMBER << RingMimes::HISTORYID; - QHash<int, QByteArray> roles = roleNames(); - roles.insert(Call::Role::Name ,QByteArray("name" )); - roles.insert(Call::Role::Number ,QByteArray("number" )); - roles.insert(Call::Role::Direction2 ,QByteArray("direction" )); - roles.insert(Call::Role::Date ,QByteArray("date" )); - roles.insert(Call::Role::Length ,QByteArray("length" )); - roles.insert(Call::Role::FormattedDate ,QByteArray("formattedDate" )); - roles.insert(Call::Role::HasRecording ,QByteArray("hasRecording" )); - roles.insert(Call::Role::Historystate ,QByteArray("historyState" )); - roles.insert(Call::Role::Filter ,QByteArray("filter" )); - roles.insert(Call::Role::FuzzyDate ,QByteArray("fuzzyDate" )); - roles.insert(Call::Role::IsBookmark ,QByteArray("isBookmark" )); - roles.insert(Call::Role::Security ,QByteArray("security" )); - roles.insert(Call::Role::Department ,QByteArray("department" )); - roles.insert(Call::Role::Email ,QByteArray("email" )); - roles.insert(Call::Role::Organisation ,QByteArray("organisation" )); - roles.insert(Call::Role::Object ,QByteArray("object" )); - roles.insert(Call::Role::PhotoPtr ,QByteArray("photoPtr" )); - roles.insert(Call::Role::CallState ,QByteArray("callState" )); - roles.insert(Call::Role::Id ,QByteArray("id" )); - roles.insert(Call::Role::StartTime ,QByteArray("startTime" )); - roles.insert(Call::Role::StopTime ,QByteArray("stopTime" )); - roles.insert(Call::Role::DropState ,QByteArray("dropState" )); - roles.insert(Call::Role::DTMFAnimState ,QByteArray("dTMFAnimState" )); - roles.insert(Call::Role::LastDTMFidx ,QByteArray("lastDTMFidx" )); - roles.insert(Call::Role::IsRecording ,QByteArray("isRecording" )); - setRoleNames(roles); } //initHistory ///Destructor @@ -235,6 +208,41 @@ HistoryModel::~HistoryModel() m_spInstance = nullptr; } +QHash<int,QByteArray> HistoryModel::roleNames() const +{ + static QHash<int, QByteArray> roles = QAbstractItemModel::roleNames(); + static bool initRoles = false; + if (!initRoles) { + initRoles = true; + roles.insert(Call::Role::Name ,QByteArray("name" )); + roles.insert(Call::Role::Number ,QByteArray("number" )); + roles.insert(Call::Role::Direction2 ,QByteArray("direction" )); + roles.insert(Call::Role::Date ,QByteArray("date" )); + roles.insert(Call::Role::Length ,QByteArray("length" )); + roles.insert(Call::Role::FormattedDate ,QByteArray("formattedDate" )); + roles.insert(Call::Role::HasRecording ,QByteArray("hasRecording" )); + roles.insert(Call::Role::Historystate ,QByteArray("historyState" )); + roles.insert(Call::Role::Filter ,QByteArray("filter" )); + roles.insert(Call::Role::FuzzyDate ,QByteArray("fuzzyDate" )); + roles.insert(Call::Role::IsBookmark ,QByteArray("isBookmark" )); + roles.insert(Call::Role::Security ,QByteArray("security" )); + roles.insert(Call::Role::Department ,QByteArray("department" )); + roles.insert(Call::Role::Email ,QByteArray("email" )); + roles.insert(Call::Role::Organisation ,QByteArray("organisation" )); + roles.insert(Call::Role::Object ,QByteArray("object" )); + roles.insert(Call::Role::PhotoPtr ,QByteArray("photoPtr" )); + roles.insert(Call::Role::CallState ,QByteArray("callState" )); + roles.insert(Call::Role::Id ,QByteArray("id" )); + roles.insert(Call::Role::StartTime ,QByteArray("startTime" )); + roles.insert(Call::Role::StopTime ,QByteArray("stopTime" )); + roles.insert(Call::Role::DropState ,QByteArray("dropState" )); + roles.insert(Call::Role::DTMFAnimState ,QByteArray("dTMFAnimState" )); + roles.insert(Call::Role::LastDTMFidx ,QByteArray("lastDTMFidx" )); + roles.insert(Call::Role::IsRecording ,QByteArray("isRecording" )); + } + return roles; +} + ///Singleton HistoryModel* HistoryModel::instance() { diff --git a/src/historymodel.h b/src/historymodel.h index 6ee0954d18f54ba59b6bc9f24ce7bda3ac7f9393..af0e034057750c77f0a39c93cdd97a242cfba94a 100644 --- a/src/historymodel.h +++ b/src/historymodel.h @@ -81,7 +81,7 @@ public: virtual QMimeData* mimeData ( const QModelIndexList &indexes ) const override; virtual bool dropMimeData( const QMimeData*, Qt::DropAction, int, int, const QModelIndex& ) override; virtual bool insertRows ( int row, int count, const QModelIndex & parent = QModelIndex() ) override; - + virtual QHash<int,QByteArray> roleNames() const override; private: //Constructor diff --git a/src/historytimecategorymodel.cpp b/src/historytimecategorymodel.cpp index 1192619d088ac65ff450b18d7110e4346a66fb16..169a6ed79e6f1d97619fdd36a6a8ad5b2af88bde 100644 --- a/src/historytimecategorymodel.cpp +++ b/src/historytimecategorymodel.cpp @@ -56,6 +56,17 @@ HistoryTimeCategoryModel::HistoryTimeCategoryModel(QObject* parent) : QAbstractL m_lCategories << tr("Never") ;//24 } +QHash<int,QByteArray> HistoryTimeCategoryModel::roleNames() const +{ + static QHash<int, QByteArray> roles = QAbstractItemModel::roleNames(); + /*static bool initRoles = false; + if (!initRoles) { + initRoles = true; + + }*/ + return roles; +} + //Abstract model member QVariant HistoryTimeCategoryModel::data(const QModelIndex& index, int role ) const { diff --git a/src/historytimecategorymodel.h b/src/historytimecategorymodel.h index 735fbfea83d74ca5a844062fb997c856263c88e2..38c03b39eb446e90323285b8dfef4be5fa43653f 100644 --- a/src/historytimecategorymodel.h +++ b/src/historytimecategorymodel.h @@ -67,6 +67,7 @@ public: virtual int rowCount(const QModelIndex& parent = QModelIndex() ) const override; virtual Qt::ItemFlags flags (const QModelIndex& index ) const override; virtual bool setData (const QModelIndex& index, const QVariant &value, int role) override; + virtual QHash<int,QByteArray> roleNames() const override; //Getters static QString indexToName(int idx); diff --git a/src/instantmessagingmodel.cpp b/src/instantmessagingmodel.cpp index d96fdb6e218b7918b30a17b7fc403163aca17859..5400c8a7435007ab6819af03095bf201659b41db 100644 --- a/src/instantmessagingmodel.cpp +++ b/src/instantmessagingmodel.cpp @@ -33,14 +33,6 @@ InstantMessagingModelPrivate::InstantMessagingModelPrivate(InstantMessagingModel InstantMessagingModel::InstantMessagingModel(Call* call, QObject* par) : QAbstractListModel(par), d_ptr(new InstantMessagingModelPrivate(this)) { d_ptr->m_pCall = call; - //QStringList callList = callManager.getCallList(); - QHash<int, QByteArray> roles = roleNames(); - roles.insert(InstantMessagingModel::Role::TYPE ,QByteArray("type")); - roles.insert(InstantMessagingModel::Role::FROM ,QByteArray("from")); - roles.insert(InstantMessagingModel::Role::TEXT ,QByteArray("text")); - roles.insert(InstantMessagingModel::Role::IMAGE ,QByteArray("image")); - roles.insert(InstantMessagingModel::Role::CONTACT ,QByteArray("contact")); - setRoleNames(roles); } InstantMessagingModel::~InstantMessagingModel() @@ -48,6 +40,21 @@ InstantMessagingModel::~InstantMessagingModel() // delete d_ptr; } +QHash<int,QByteArray> InstantMessagingModel::roleNames() const +{ + static QHash<int, QByteArray> roles = QAbstractItemModel::roleNames(); + static bool initRoles = false; + if (!initRoles) { + initRoles = true; + roles.insert(InstantMessagingModel::Role::TYPE ,QByteArray( "type" )); + roles.insert(InstantMessagingModel::Role::FROM ,QByteArray( "from" )); + roles.insert(InstantMessagingModel::Role::TEXT ,QByteArray( "text" )); + roles.insert(InstantMessagingModel::Role::IMAGE ,QByteArray( "image" )); + roles.insert(InstantMessagingModel::Role::CONTACT ,QByteArray( "contact" )); + } + return roles; +} + ///Get data from the model QVariant InstantMessagingModel::data( const QModelIndex& idx, int role) const { diff --git a/src/instantmessagingmodel.h b/src/instantmessagingmodel.h index 38e744498cdf5dd7014a3c0e91a210abd885df16..1e25911d9d8527256439512854586d9d99e6a840 100644 --- a/src/instantmessagingmodel.h +++ b/src/instantmessagingmodel.h @@ -60,10 +60,11 @@ public: virtual ~InstantMessagingModel(); //Abstract model function - QVariant data ( const QModelIndex& index, int role = Qt::DisplayRole ) const override; - int rowCount ( const QModelIndex& parent = QModelIndex() ) const override; - Qt::ItemFlags flags ( const QModelIndex& index ) const override; + virtual QVariant data ( const QModelIndex& index, int role = Qt::DisplayRole ) const override; + virtual int rowCount ( const QModelIndex& parent = QModelIndex() ) const override; + virtual Qt::ItemFlags flags ( const QModelIndex& index ) const override; virtual bool setData ( const QModelIndex& index, const QVariant &value, int role) override; + virtual QHash<int,QByteArray> roleNames() const override; private: const QScopedPointer<InstantMessagingModelPrivate> d_ptr; diff --git a/src/keyexchangemodel.cpp b/src/keyexchangemodel.cpp index e23d4e4285909e4a395e839e8213e1d41864f3ed..99e3d116897243e33d0057d40d15b81b440832e2 100644 --- a/src/keyexchangemodel.cpp +++ b/src/keyexchangemodel.cpp @@ -53,6 +53,17 @@ KeyExchangeModel::~KeyExchangeModel() // delete d_ptr; } +QHash<int,QByteArray> KeyExchangeModel::roleNames() const +{ + static QHash<int, QByteArray> roles = QAbstractItemModel::roleNames(); + /*static bool initRoles = false; + if (!initRoles) { + initRoles = true; + + }*/ + return roles; +} + //Model functions QVariant KeyExchangeModel::data( const QModelIndex& index, int role) const { diff --git a/src/keyexchangemodel.h b/src/keyexchangemodel.h index 5b28ae23e4a6d1237961c7cb8ce7d4ac2af29a7c..1f1d44fef05ebc122567078b676596d2dd04df1b 100644 --- a/src/keyexchangemodel.h +++ b/src/keyexchangemodel.h @@ -75,6 +75,7 @@ public: virtual int rowCount ( const QModelIndex& parent = QModelIndex() ) const override; virtual Qt::ItemFlags flags ( const QModelIndex& index ) const override; virtual bool setData ( const QModelIndex& index, const QVariant &value, int role) override; + virtual QHash<int,QByteArray> roleNames() const override; //Getters QModelIndex toIndex (KeyExchangeModel::Type type) const; diff --git a/src/lastusednumbermodel.cpp b/src/lastusednumbermodel.cpp index 562f9945cbf792d4d789d4b6ecb717fedfc387a6..c01ce96f6a7d69a084072188569687095cbca079 100644 --- a/src/lastusednumbermodel.cpp +++ b/src/lastusednumbermodel.cpp @@ -67,6 +67,17 @@ LastUsedNumberModel* LastUsedNumberModel::instance() return m_spInstance; } +QHash<int,QByteArray> LastUsedNumberModel::roleNames() const +{ + static QHash<int, QByteArray> roles = QAbstractItemModel::roleNames(); + /*static bool initRoles = false; + if (!initRoles) { + initRoles = true; + + }*/ + return roles; +} + ///Push 'call' phoneNumber on the top of the stack void LastUsedNumberModel::addCall(Call* call) { diff --git a/src/lastusednumbermodel.h b/src/lastusednumbermodel.h index 484d6810d625888608d64767996dad8f687b2fc7..3a972dfd4b5210f2781f0acfbf238ddf0c50f75d 100644 --- a/src/lastusednumbermodel.h +++ b/src/lastusednumbermodel.h @@ -40,6 +40,7 @@ public: virtual int rowCount ( const QModelIndex& parent = QModelIndex() ) const override; virtual Qt::ItemFlags flags ( const QModelIndex& index ) const override; virtual bool setData ( const QModelIndex& index, const QVariant &value, int role) override; + virtual QHash<int,QByteArray> roleNames() const override; //Mutator Q_INVOKABLE void addCall(Call* call); diff --git a/src/networkinterfacemodel.cpp b/src/networkinterfacemodel.cpp index 45b6acd0a254e40a9b1d4a99beaaa71b232c1fb3..2f28250fe0126e8b141ed6573b2f0d0209a80524 100644 --- a/src/networkinterfacemodel.cpp +++ b/src/networkinterfacemodel.cpp @@ -38,6 +38,17 @@ d_ptr(new NetworkInterfaceModelPrivate()) d_ptr->m_Interfaces = DBus::ConfigurationManager::instance().getAllIpInterfaceByName(); } +QHash<int,QByteArray> NetworkInterfaceModel::roleNames() const +{ + static QHash<int, QByteArray> roles = QAbstractItemModel::roleNames(); + /*static bool initRoles = false; + if (!initRoles) { + initRoles = true; + + }*/ + return roles; +} + //Model functions QVariant NetworkInterfaceModel::data( const QModelIndex& index, int role) const { diff --git a/src/networkinterfacemodel.h b/src/networkinterfacemodel.h index 2af3d38a9b3dcaef7ddfd1c35be5681531598134..29e597352e0e68b2ce3d3d710b0dac64b58bc5a0 100644 --- a/src/networkinterfacemodel.h +++ b/src/networkinterfacemodel.h @@ -40,7 +40,7 @@ public: virtual int rowCount ( const QModelIndex& parent = QModelIndex() ) const override; virtual Qt::ItemFlags flags ( const QModelIndex& index ) const override; virtual bool setData ( const QModelIndex& index, const QVariant &value, int role) override; - + virtual QHash<int,QByteArray> roleNames() const override; //Singleton static NetworkInterfaceModel* instance(); diff --git a/src/numbercategorymodel.cpp b/src/numbercategorymodel.cpp index 0d2c7845e9ad6987a6dff8565b5cdba4d5873500..d6d4367d8c0760d457363be624ef6bc1e4cd5df0 100644 --- a/src/numbercategorymodel.cpp +++ b/src/numbercategorymodel.cpp @@ -48,6 +48,17 @@ NumberCategoryModel::~NumberCategoryModel() // delete d_ptr; } +QHash<int,QByteArray> NumberCategoryModel::roleNames() const +{ + static QHash<int, QByteArray> roles = QAbstractItemModel::roleNames(); + static bool initRoles = false; + if (!initRoles) { + initRoles = true; + roles[Role::INDEX] = "index"; + } + return roles; +} + //Abstract model member QVariant NumberCategoryModel::data(const QModelIndex& index, int role) const { diff --git a/src/numbercategorymodel.h b/src/numbercategorymodel.h index 4a5f7ddcf270ceb11804a9d8df6a843677a6c7aa..974be02fac239cacf6573790d95d0e3b035f2048 100644 --- a/src/numbercategorymodel.h +++ b/src/numbercategorymodel.h @@ -40,6 +40,7 @@ public: virtual int rowCount (const QModelIndex& parent = QModelIndex() ) const override; virtual Qt::ItemFlags flags (const QModelIndex& index ) const override; virtual bool setData (const QModelIndex& index, const QVariant &value, int role) override; + virtual QHash<int,QByteArray> roleNames() const override; //Mutator NumberCategory* addCategory(const QString& name, const QVariant& icon, int index = -1, bool enabled = true); diff --git a/src/numbercompletionmodel.cpp b/src/numbercompletionmodel.cpp index 580a49fa6c2ef8b449c684923aa23b53454544b5..affe6d9d3d185ac3b80f5031917b69452529ba0c 100644 --- a/src/numbercompletionmodel.cpp +++ b/src/numbercompletionmodel.cpp @@ -86,6 +86,19 @@ NumberCompletionModel::~NumberCompletionModel() } +QHash<int,QByteArray> NumberCompletionModel::roleNames() const +{ + static QHash<int, QByteArray> roles = QAbstractItemModel::roleNames(); + static bool initRoles = false; + if (!initRoles) { + initRoles = true; + roles[Role::ALTERNATE_ACCOUNT]= "AlternateAccount"; + roles[Role::FORCE_ACCOUNT ]= "ForceAccount"; + roles[Role::ACCOUNT ]= "Account"; + } + return roles; +} + QVariant NumberCompletionModel::data(const QModelIndex& index, int role ) const { if (!index.isValid()) return QVariant(); diff --git a/src/numbercompletionmodel.h b/src/numbercompletionmodel.h index 72dd3e06aa5a84ea80496f4ebb0829224c36f735..772ca94144f14416fddac4a192b3bc1022179de9 100644 --- a/src/numbercompletionmodel.h +++ b/src/numbercompletionmodel.h @@ -53,6 +53,7 @@ public: virtual bool setData ( const QModelIndex& index, const QVariant &value, int role ) override; virtual int columnCount( const QModelIndex& parent = QModelIndex() ) const override; virtual QVariant headerData ( int section, Qt::Orientation orientation, int role = Qt::DisplayRole ) const override; + virtual QHash<int,QByteArray> roleNames() const override; //Setters void setCall(Call* call); diff --git a/src/personmodel.cpp b/src/personmodel.cpp index 6e16e9b02141de5b2541a67980642bdb12ad9c15..67f816ec1d7320ec8679f23a9614f521e6ed25c0 100644 --- a/src/personmodel.cpp +++ b/src/personmodel.cpp @@ -94,6 +94,25 @@ PersonModel* PersonModel::instance() { * * ****************************************************************************/ +QHash<int,QByteArray> PersonModel::roleNames() const +{ + static QHash<int, QByteArray> roles = QAbstractItemModel::roleNames(); + static bool initRoles = false; + if (!initRoles) { + initRoles = true; + roles[ Role::Organization ] = "Organization"; + roles[ Role::Group ] = "Group"; + roles[ Role::Department ] = "Department"; + roles[ Role::PreferredEmail ] = "PreferredEmail"; + roles[ Role::FormattedLastUsed ] = "FormattedLastUsed"; + roles[ Role::IndexedLastUsed ] = "IndexedLastUsed"; + roles[ Role::DatedLastUsed ] = "DatedLastUsed"; + roles[ Role::Active ] = "Active"; + roles[ Role::Filter ] = "Filter"; //All roles, all at once + roles[ Role::DropState ] = "DropState"; //State for drag and drop + } + return roles; +} bool PersonModel::setData( const QModelIndex& idx, const QVariant &value, int role) { diff --git a/src/personmodel.h b/src/personmodel.h index 91d55e1e874936a2132af95dd50936a1a2369e73..1888b91c3de2533380f0f889e5e246ae9291b167 100644 --- a/src/personmodel.h +++ b/src/personmodel.h @@ -82,6 +82,7 @@ public: virtual QModelIndex parent ( const QModelIndex& index ) const override; virtual QModelIndex index ( int row, int column, const QModelIndex& parent=QModelIndex()) const override; virtual QVariant headerData ( int section, Qt::Orientation orientation, int role = Qt::DisplayRole ) const override; + virtual QHash<int,QByteArray> roleNames() const override; //Singleton static PersonModel* instance(); diff --git a/src/phonedirectorymodel.cpp b/src/phonedirectorymodel.cpp index bfccd93dc3e6ccf4484c5a816036452a928b2822..2fa54407e19d873967ff4b650405fc12a772232c 100644 --- a/src/phonedirectorymodel.cpp +++ b/src/phonedirectorymodel.cpp @@ -85,6 +85,17 @@ PhoneDirectoryModel* PhoneDirectoryModel::instance() return m_spInstance; } +QHash<int,QByteArray> PhoneDirectoryModel::roleNames() const +{ + static QHash<int, QByteArray> roles = QAbstractItemModel::roleNames(); + /*static bool initRoles = false; + if (!initRoles) { + initRoles = true; + + }*/ + return roles; +} + QVariant PhoneDirectoryModel::data(const QModelIndex& index, int role ) const { if (!index.isValid() || index.row() >= d_ptr->m_lNumbers.size()) return QVariant(); diff --git a/src/phonedirectorymodel.h b/src/phonedirectorymodel.h index 483db4645ae0954e4df3875a2e1aa6596a4ed626..1a409aa9b0788340764bf077a4bc7e0ebcdc2baa 100644 --- a/src/phonedirectorymodel.h +++ b/src/phonedirectorymodel.h @@ -63,6 +63,7 @@ public: virtual Qt::ItemFlags flags (const QModelIndex& index ) const override; virtual bool setData (const QModelIndex& index, const QVariant &value, int role ) override; virtual QVariant headerData (int section, Qt::Orientation orientation, int role = Qt::DisplayRole ) const override; + virtual QHash<int,QByteArray> roleNames() const override; //Singleton static PhoneDirectoryModel* instance(); diff --git a/src/presencestatusmodel.cpp b/src/presencestatusmodel.cpp index c655941bd7be20910e3ff2644bc1608f251ded67..3dd21754c3a7477a928c8bba9da28168d5efee29 100644 --- a/src/presencestatusmodel.cpp +++ b/src/presencestatusmodel.cpp @@ -61,6 +61,17 @@ PresenceStatusModel::~PresenceStatusModel() } } +QHash<int,QByteArray> PresenceStatusModel::roleNames() const +{ + static QHash<int, QByteArray> roles = QAbstractItemModel::roleNames(); + /*static bool initRoles = false; + if (!initRoles) { + initRoles = true; + + }*/ + return roles; +} + ///Get model data QVariant PresenceStatusModel::data(const QModelIndex& index, int role ) const { @@ -158,7 +169,7 @@ bool PresenceStatusModel::setData(const QModelIndex& index, const QVariant &valu break; case PresenceStatusModel::Columns::Color: if (role == Qt::EditRole) { - + } break; case PresenceStatusModel::Columns::Status: diff --git a/src/presencestatusmodel.h b/src/presencestatusmodel.h index d5f0111b439a433122e4b988fb56fe68c1b2c467..bf17c384dfc1157b64f31b16eee656c8a3aa7703 100644 --- a/src/presencestatusmodel.h +++ b/src/presencestatusmodel.h @@ -82,6 +82,7 @@ public: virtual Qt::ItemFlags flags (const QModelIndex& index ) const override; virtual bool setData (const QModelIndex& index, const QVariant &value, int role ) override; virtual QVariant headerData (int section, Qt::Orientation orientation, int role = Qt::DisplayRole ) const override; + virtual QHash<int,QByteArray> roleNames() const override; //Singleton static PresenceStatusModel* instance(); diff --git a/src/private/accountmodel_p.h b/src/private/accountmodel_p.h index f312ca1bf52207170fd0e4ad6919da0eadc91c53..02f880bb9454433ac3496869de66cbf0cc02ef68 100644 --- a/src/private/accountmodel_p.h +++ b/src/private/accountmodel_p.h @@ -34,7 +34,6 @@ public: //Constructor AccountModelPrivate(AccountModel* parent); void init(); - void setupRoleName(); //Helpers Account* firstRegisteredAccount() const; diff --git a/src/profilemodel.cpp b/src/profilemodel.cpp index 2cb5b81d44c99204ed011c8e2af46637eec737c2..05ee6b2be60be5b256387c16fc61df8060131f53 100644 --- a/src/profilemodel.cpp +++ b/src/profilemodel.cpp @@ -646,6 +646,17 @@ ProfileModel::~ProfileModel() delete d_ptr; } +QHash<int,QByteArray> ProfileModel::roleNames() const +{ + static QHash<int, QByteArray> roles = AccountModel::instance()->roleNames(); + /*static bool initRoles = false; + if (!initRoles) { + initRoles = true; + + }*/ + return roles; +} + QModelIndex ProfileModel::mapToSource(const QModelIndex& idx) const { if (!idx.isValid() || !idx.parent().isValid() || idx.model() != this) diff --git a/src/profilemodel.h b/src/profilemodel.h index 66622ef2ce6b19a2c7af4b30c0740b08102aeec3..28cde02a739b904b08c18eb7d7fddd316960b137 100644 --- a/src/profilemodel.h +++ b/src/profilemodel.h @@ -52,6 +52,7 @@ public: virtual QStringList mimeTypes ( ) const override; virtual QMimeData* mimeData ( const QModelIndexList &indexes ) const override; virtual bool dropMimeData( const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override; + virtual QHash<int,QByteArray> roleNames() const override; //Getter QModelIndex mapToSource (const QModelIndex& idx) const; diff --git a/src/ringtonemodel.cpp b/src/ringtonemodel.cpp index 2bcbc2fda51d6749dda6b0d35310895a6adc1a83..91aa2d2675ee49b4ebe33c889f02a100602fd58a 100644 --- a/src/ringtonemodel.cpp +++ b/src/ringtonemodel.cpp @@ -51,6 +51,18 @@ RingToneModel::~RingToneModel() } } +QHash<int,QByteArray> RingToneModel::roleNames() const +{ + static QHash<int, QByteArray> roles = QAbstractItemModel::roleNames(); + static bool initRoles = false; + if (!initRoles) { + initRoles = true; + roles[Role::IsPlaying ] = "IsPlaying"; + roles[Role::FullPath ] = "FullPath"; + } + return roles; +} + QVariant RingToneModel::data( const QModelIndex& index, int role ) const { if (!index.isValid()) diff --git a/src/ringtonemodel.h b/src/ringtonemodel.h index fa967726849e3abed35071d14ab5580262c7c22a..25d3b90a533637c89db438d00d94dff9f40b7cb3 100644 --- a/src/ringtonemodel.h +++ b/src/ringtonemodel.h @@ -41,11 +41,12 @@ public: virtual ~RingToneModel(); //Model functions - QVariant data ( const QModelIndex& index, int role = Qt::DisplayRole ) const; - int rowCount ( const QModelIndex& parent = QModelIndex() ) const; - int columnCount ( const QModelIndex& parent = QModelIndex() ) const; - Qt::ItemFlags flags ( const QModelIndex& index ) const; - virtual bool setData ( const QModelIndex& index, const QVariant &value, int role) ; + virtual QVariant data ( const QModelIndex& index, int role = Qt::DisplayRole ) const override; + virtual int rowCount ( const QModelIndex& parent = QModelIndex() ) const override; + virtual int columnCount ( const QModelIndex& parent = QModelIndex() ) const override; + virtual Qt::ItemFlags flags ( const QModelIndex& index ) const override; + virtual bool setData ( const QModelIndex& index, const QVariant &value, int role) override; + virtual QHash<int,QByteArray> roleNames() const override; //Getters QString currentRingTone() const; diff --git a/src/securityvalidationmodel.cpp b/src/securityvalidationmodel.cpp index 39de71bfd6492d2e064b44d40dd5aa052bef659a..c1804738249e14a832e176dbc5c011ebabc14759 100644 --- a/src/securityvalidationmodel.cpp +++ b/src/securityvalidationmodel.cpp @@ -95,6 +95,17 @@ SecurityValidationModel::~SecurityValidationModel() } +QHash<int,QByteArray> SecurityValidationModel::roleNames() const +{ + static QHash<int, QByteArray> roles = QAbstractItemModel::roleNames(); + static bool initRoles = false; + if (!initRoles) { + initRoles = true; + roles[Role::SeverityRole] = "SeverityRole"; + } + return roles; +} + QVariant SecurityValidationModel::data( const QModelIndex& index, int role) const { if (index.isValid()) { diff --git a/src/securityvalidationmodel.h b/src/securityvalidationmodel.h index c88064618b193e9f4f25eb0a62a389f6cdccb8e2..1b2bf57745f4396b17b7508b00ff0dbabd020315 100644 --- a/src/securityvalidationmodel.h +++ b/src/securityvalidationmodel.h @@ -107,10 +107,11 @@ public: //Model functions - QVariant data ( const QModelIndex& index, int role = Qt::DisplayRole ) const; - int rowCount ( const QModelIndex& parent = QModelIndex() ) const; - Qt::ItemFlags flags ( const QModelIndex& index ) const; - virtual bool setData ( const QModelIndex& index, const QVariant &value, int role) ; + virtual QVariant data ( const QModelIndex& index, int role = Qt::DisplayRole ) const override; + virtual int rowCount ( const QModelIndex& parent = QModelIndex() ) const override; + virtual Qt::ItemFlags flags ( const QModelIndex& index ) const override; + virtual bool setData ( const QModelIndex& index, const QVariant &value, int role) override; + virtual QHash<int,QByteArray> roleNames() const override; //Getter QList<Flaw*> currentFlaws(); diff --git a/src/tlsmethodmodel.cpp b/src/tlsmethodmodel.cpp index 276c3ff4d311519f473535352baa37af8782cb92..00936a01950b8f787ea2b8583710a23e93e5126d 100644 --- a/src/tlsmethodmodel.cpp +++ b/src/tlsmethodmodel.cpp @@ -34,6 +34,17 @@ d_ptr(new TlsMethodModelPrivate()) } +QHash<int,QByteArray> TlsMethodModel::roleNames() const +{ + static QHash<int, QByteArray> roles = QAbstractItemModel::roleNames(); + /*static bool initRoles = false; + if (!initRoles) { + initRoles = true; + + }*/ + return roles; +} + //Model functions QVariant TlsMethodModel::data( const QModelIndex& index, int role) const { diff --git a/src/tlsmethodmodel.h b/src/tlsmethodmodel.h index 1fee183e0a932b9bd6acdbb5dd39c5a62b74ad90..03c28190abc3b6dbadd0147e0712f1e8f87df789 100644 --- a/src/tlsmethodmodel.h +++ b/src/tlsmethodmodel.h @@ -68,6 +68,7 @@ public: virtual int rowCount ( const QModelIndex& parent = QModelIndex() ) const override; virtual Qt::ItemFlags flags ( const QModelIndex& index ) const override; virtual bool setData ( const QModelIndex& index, const QVariant &value, int role) override; + virtual QHash<int,QByteArray> roleNames() const override; //Getters QModelIndex toIndex (TlsMethodModel::Type type); diff --git a/src/useractionmodel.h b/src/useractionmodel.h index d0ca7e4afd94a82f8200ff75cdede440d1a349f3..52828a6eb6e0a95ef4eb7b11fe849b9eb758e576 100644 --- a/src/useractionmodel.h +++ b/src/useractionmodel.h @@ -29,6 +29,8 @@ class UserActionModelPrivate; /** * @class UserActionModel Hold available actions for a given call state + * + * @todo This is not a model yet, however, it would be nice if it was **/ class LIB_EXPORT UserActionModel : public QObject/*QAbstractItemModel*/ { #pragma GCC diagnostic push @@ -80,6 +82,7 @@ public: // virtual int columnCount(const QModelIndex& parent = QModelIndex() ) const; // virtual Qt::ItemFlags flags (const QModelIndex& index ) const; // virtual bool setData (const QModelIndex& index, const QVariant &value, int role); +// virtual QHash<int,QByteArray> roleNames() const override; //Getters Q_INVOKABLE bool isActionEnabled ( UserActionModel::Action action ) const; diff --git a/src/video/codecmodel2.cpp b/src/video/codecmodel2.cpp index 1f3b942cac9699711b41ac538b4097487aec2da7..6f998e121a85aaa282090a47ebebcf59e30f4ee7 100644 --- a/src/video/codecmodel2.cpp +++ b/src/video/codecmodel2.cpp @@ -57,6 +57,17 @@ Video::CodecModel2::~CodecModel2() // delete d_ptr; } +QHash<int,QByteArray> Video::CodecModel2::roleNames() const +{ + static QHash<int, QByteArray> roles = QAbstractItemModel::roleNames(); + /*static bool initRoles = false; + if (!initRoles) { + initRoles = true; + + }*/ + return roles; +} + ///Get data from the model QVariant Video::CodecModel2::data( const QModelIndex& idx, int role) const { diff --git a/src/video/codecmodel2.h b/src/video/codecmodel2.h index 4b669148fcaf75998390ae0606b72bc7b679b185..076a2fd22fd9726f2a674b111c16d213253c2ad9 100644 --- a/src/video/codecmodel2.h +++ b/src/video/codecmodel2.h @@ -58,6 +58,7 @@ public: virtual int rowCount ( const QModelIndex& parent = QModelIndex() ) const override; virtual Qt::ItemFlags flags ( const QModelIndex& index ) const override; virtual bool setData ( const QModelIndex& index, const QVariant &value, int role) override; + virtual QHash<int,QByteArray> roleNames() const override; void reload(); void save(); diff --git a/src/video/devicemodel.cpp b/src/video/devicemodel.cpp index 1cedab04176140612914e9d367209978f835f50a..2e8b3fd8b1c55d35b78a9b49d1d9403cd3e24ef6 100644 --- a/src/video/devicemodel.cpp +++ b/src/video/devicemodel.cpp @@ -70,6 +70,17 @@ Video::DeviceModel* Video::DeviceModel::instance() return m_spInstance; } +QHash<int,QByteArray> Video::DeviceModel::roleNames() const +{ + static QHash<int, QByteArray> roles = QAbstractItemModel::roleNames(); + /*static bool initRoles = false; + if (!initRoles) { + initRoles = true; + + }*/ + return roles; +} + ///Get data from the model QVariant Video::DeviceModel::data( const QModelIndex& idx, int role) const { diff --git a/src/video/devicemodel.h b/src/video/devicemodel.h index 314d1ebc0ffb33eb0ca6e1c6f1aa07ee0bd0452c..a208c6ca1a7e6616dccb8730099f8a42a6e8fc4a 100644 --- a/src/video/devicemodel.h +++ b/src/video/devicemodel.h @@ -49,6 +49,7 @@ public: virtual int rowCount ( const QModelIndex& parent = QModelIndex() ) const override; virtual Qt::ItemFlags flags ( const QModelIndex& index ) const override; virtual bool setData ( const QModelIndex& index, const QVariant &value, int role) override; + virtual QHash<int,QByteArray> roleNames() const override; static DeviceModel* instance(); diff --git a/src/video/sourcesmodel.cpp b/src/video/sourcesmodel.cpp index dae4830e79f2b5dba50d2241a88cc10d233cf49a..ad7356d9ae3a8f311b8b77331789824678073334 100644 --- a/src/video/sourcesmodel.cpp +++ b/src/video/sourcesmodel.cpp @@ -50,7 +50,7 @@ public: Video::SourcesModelPrivate::SourcesModelPrivate() : m_CurrentSelection(-1) { - + } Video::SourcesModel* Video::SourcesModel::m_spInstance = nullptr; @@ -68,6 +68,17 @@ Video::SourcesModel* Video::SourcesModel::instance() return m_spInstance; } +QHash<int,QByteArray> Video::SourcesModel::roleNames() const +{ + static QHash<int, QByteArray> roles = QAbstractItemModel::roleNames(); + static bool initRoles = false; + if (!initRoles) { + initRoles = true; + + } + return roles; +} + QVariant Video::SourcesModel::data( const QModelIndex& index, int role ) const { switch (index.row()) { diff --git a/src/video/sourcesmodel.h b/src/video/sourcesmodel.h index 23c0cf6b33264f94cc3e629dd660fae341725afb..1e0cfcb4b60c2aac3ab1bdd74c1486c24cb1779f 100644 --- a/src/video/sourcesmodel.h +++ b/src/video/sourcesmodel.h @@ -42,6 +42,7 @@ public: virtual int rowCount ( const QModelIndex& parent = QModelIndex() ) const override; virtual Qt::ItemFlags flags ( const QModelIndex& index ) const override; virtual bool setData ( const QModelIndex& index, const QVariant &value, int role) override; + virtual QHash<int,QByteArray> roleNames() const override; Device* deviceAt(const QModelIndex& idx) const;