diff --git a/container/sortedvector.cpp b/container/sortedvector.cpp index 2b8e6d0a72b38e1e9b7f56fb1a1ad6ebfcfe3707..c395076f0cf8348d72db6cbd2d8c07c3875d1956 100644 --- a/container/sortedvector.cpp +++ b/container/sortedvector.cpp @@ -69,3 +69,16 @@ int SortedVector<T>::findInsertPosition( const QSharedPointer<T> &pointer ) cons return row; } +template<typename T> +int SortedVector<T>::findPosition(const QSharedPointer<T> &pointer) const +{ +int row = -1; + for ( int i = 0; i < this->count(); i++ ) { + if(*( *this )[i] == *pointer){ + row = i; + break; + } + } + return row; +} + diff --git a/container/sortedvector.h b/container/sortedvector.h index e34a15e6ba48cb0d66df009cd35fe4305c772d6a..e4ce6e8917b291d41cd0bc296f8dc14a41194189 100644 --- a/container/sortedvector.h +++ b/container/sortedvector.h @@ -29,6 +29,7 @@ template<typename T> class SortedVector : public QVector<QSharedPointer<T>> public: int insertSort( const QSharedPointer<T> & ); int findInsertPosition( const QSharedPointer<T> & ) const; + int findPosition( const QSharedPointer<T> & ) const; bool operator =( const QVector<QSharedPointer<T>> &o ) { this->clear(); diff --git a/persistancelayer.cpp b/persistancelayer.cpp index 9940e8378cfe6df9513c062ea3cc5486ce145778..455805267718c47d9f4775bc0d8f39b7ff2c466b 100755 --- a/persistancelayer.cpp +++ b/persistancelayer.cpp @@ -1408,6 +1408,8 @@ QString PersistanceLayer::getNewImagePath( ) + + PersistanceLayer::~PersistanceLayer() { mDb.close(); @@ -1499,6 +1501,19 @@ void PersistanceLayer::initQueries() } +void PersistanceLayer::deleteMessage(const QString id) +{ + QSqlQuery deleteMessage(mDb); + deleteMessage.prepare("DELETE FROM messages WHERE id=:id;"); + deleteMessage.bindValue(":id",id); + if(!deleteMessage.exec()){ + qWarning() << "id: " << id; + qWarning() << deleteMessage.lastQuery(); + qWarning() << deleteMessage.executedQuery(); + qWarning() << deleteMessage.lastError(); + } +} + void PersistanceLayer::close() { persistanceLayer->deleteLater(); diff --git a/persistancelayer.h b/persistancelayer.h index bf107ed8be791c90c41a4dee3c8a318e7d188b7c..49852b9e02a4c5a10870f29d3f5eba2fa6a4f2be 100755 --- a/persistancelayer.h +++ b/persistancelayer.h @@ -94,6 +94,7 @@ class PersistanceLayer : public QObject void init(); bool mDbReady = false; + void deleteMessage(const QString id); private: void commit( void );