Browse Source

update// reformated datastore and changed storage chatmodel to store with datastore

pull/130/head
Strider 4 years ago
parent
commit
30ddc479ba
  1. 5
      silentdragon-lite.pro
  2. 42
      src/DataStore/ChatDataStore.cpp
  3. 37
      src/DataStore/ChatDataStore.h
  4. 11
      src/DataStore/DataStore.cpp
  5. 10
      src/DataStore/DataStore.h
  6. 35
      src/DataStore/SietchDataStore.cpp
  7. 35
      src/DataStore/SietchDataStore.h
  8. 7
      src/chatmodel.cpp
  9. 2
      src/chatmodel.h
  10. 7
      src/controller.cpp
  11. 1
      src/controller.h

5
silentdragon-lite.pro

@ -71,7 +71,10 @@ SOURCES += \
src/chatbubbleme.cpp \
src/chatbubblepartner.cpp \
src/chatmodel.cpp \
src/contactmodel.cpp
src/contactmodel.cpp \
src/DataStore/DataStore.cpp \
src/DataStore/ChatDataStore.cpp \
src/DataStore/SietchDataStore.cpp
HEADERS += \
src/firsttimewizard.h \

42
src/DataStore/ChatDataStore.cpp

@ -0,0 +1,42 @@
#include "ChatDataStore.h"
ChatDataStore* ChatDataStore::getInstance()
{
if(!ChatDataStore::instanced)
{
ChatDataStore::instanced = true;
ChatDataStore::instance = new ChatDataStore();
}
return ChatDataStore::instance;
}
void ChatDataStore::clear()
{
this->data.clear();
}
void ChatDataStore::setData(QString key, ChatItem value)
{
this->data[key] = value;
}
ChatItem ChatDataStore::getData(QString key)
{
return this->data[key];
}
QString ChatDataStore::dump()
{
return "";
}
std::map<QString, ChatItem> ChatDataStore::getAllRawChatItems()
{
return this->data;
}
ChatDataStore* ChatDataStore::instance = nullptr;
bool ChatDataStore::instanced = false;

37
src/DataStore/ChatDataStore.h

@ -1,6 +1,6 @@
#ifndef CHATDATASTORE_H
#define CHATDATASTORE_H
#include "../chatmodel.h"
using json = nlohmann::json;
class ChatDataStore
@ -15,20 +15,11 @@ class ChatDataStore
}
public:
static ChatDataStore* getInstance()
{
if(!ChatDataStore::instanced)
{
ChatDataStore::instanced = true;
ChatDataStore::instance = new ChatDataStore();
}
return ChatDataStore::instance;
}
static ChatDataStore* getInstance();
void clear();
void setData(QString key, ChatItem value);
ChatItem getData(QString key);
std::map<QString, ChatItem> getAllRawChatItems();
QString dump();
~ChatDataStore()
@ -38,28 +29,6 @@ class ChatDataStore
}
};
void ChatDataStore::clear()
{
this->data.clear();
}
void ChatDataStore::setData(QString key, ChatItem value)
{
this->data[key] = value;
}
ChatItem ChatDataStore::getData(QString key)
{
return this->data[key];
}
QString ChatDataStore::dump()
{
return "";
}
ChatDataStore* ChatDataStore::instance = nullptr;
bool ChatDataStore::instanced = false;
#endif

11
src/DataStore/DataStore.cpp

@ -0,0 +1,11 @@
#include "DataStore.h"
SietchDataStore* DataStore::getSietchDataStore()
{
return SietchDataStore::getInstance();
}
ChatDataStore* DataStore::getChatDataStore()
{
return ChatDataStore::getInstance();
}

10
src/DataStore/DataStore.h

@ -11,14 +11,4 @@ class DataStore
static ChatDataStore* getChatDataStore();
};
SietchDataStore* DataStore::getSietchDataStore()
{
return SietchDataStore::getInstance();
}
ChatDataStore* DataStore::getChatDataStore()
{
return ChatDataStore::getInstance();
}
#endif

35
src/DataStore/SietchDataStore.cpp

@ -0,0 +1,35 @@
#include "SietchDataStore.h"
SietchDataStore* SietchDataStore::getInstance()
{
if(!SietchDataStore::instanced)
{
SietchDataStore::instanced = true;
SietchDataStore::instance = new SietchDataStore();
}
return SietchDataStore::instance;
}
void SietchDataStore::clear()
{
this->data.clear();
}
void SietchDataStore::setData(QString key, QString value)
{
this->data[key] = value;
}
QString SietchDataStore::getData(QString key)
{
return this->data[key];
}
QString SietchDataStore::dump()
{
return "";
}
SietchDataStore* SietchDataStore::instance = nullptr;
bool SietchDataStore::instanced = false;

35
src/DataStore/SietchDataStore.h

@ -15,17 +15,7 @@ class SietchDataStore
}
public:
static SietchDataStore* getInstance()
{
if(!SietchDataStore::instanced)
{
SietchDataStore::instanced = true;
SietchDataStore::instance = new SietchDataStore();
}
return SietchDataStore::instance;
}
static SietchDataStore* getInstance();
void clear();
void setData(QString key, QString value);
QString getData(QString key);
@ -38,27 +28,4 @@ class SietchDataStore
}
};
void SietchDataStore::clear()
{
this->data.clear();
}
void SietchDataStore::setData(QString key, QString value)
{
this->data[key] = value;
}
QString SietchDataStore::getData(QString key)
{
return this->data[key];
}
QString SietchDataStore::dump()
{
return "";
}
SietchDataStore* SietchDataStore::instance = nullptr;
bool SietchDataStore::instanced = false;
#endif

7
src/chatmodel.cpp

@ -13,6 +13,7 @@
#include "addressbook.h"
#include <QtWidgets>
#include <QUuid>
#include "DataStore/DataStore.h"
using namespace std;
@ -109,7 +110,7 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view)
// ui->lcdNumber->setPalette(Qt::red);
// ui->lcdNumber->display("1");
for (auto &c : this->chatItems)
for (auto &c : DataStore::getChatDataStore()->getAllRawChatItems())//this->chatItems)
for (auto &p : AddressBook::getInstance()->getAllAddressLabels())
{
//////Render only Memos for selected contacts. Do not render empty Memos //// Render only memos where cid=cid
@ -159,7 +160,7 @@ void ChatModel::renderContactRequest(){
QStandardItemModel* contactRequest = new QStandardItemModel();
for (auto &c : this->chatItems)
for (auto &c : DataStore::getChatDataStore()->getAllRawChatItems())//this->chatItems)
{
if ((c.second.getType() == "cont") && (c.second.isOutgoing() == false) && (c.second.getMemo().startsWith("{"))) {
@ -187,7 +188,7 @@ void ChatModel::renderContactRequest(){
QObject::connect(requestContact.requestContact, &QTableView::clicked, [&] () {
for (auto &c : this->chatItems){
for (auto &c : DataStore::getChatDataStore()->getAllRawChatItems()){//this->chatItems){
QModelIndex index = requestContact.requestContact->currentIndex();
QString label_contact = index.data(Qt::DisplayRole).toString();
QStandardItemModel* contactMemo = new QStandardItemModel();

2
src/chatmodel.h

@ -13,8 +13,6 @@
#include "settings.h"
#include "camount.h"
class ListViewDelegate : public QAbstractItemDelegate
{
int d_radius;

7
src/controller.cpp

@ -887,7 +887,8 @@ void Controller::refreshTransactions() {
txid,
true // is an outgoing message
);
chatModel->addMessage(item);
DataStore::getChatDataStore()->setData(chatModel->generateChatItemID(item), item);
//chatModel->addMessage(item);
}
@ -992,8 +993,8 @@ void Controller::refreshTransactions() {
txid,
false
);
chatModel->addMessage(item);
DataStore::getChatDataStore()->setData(chatModel->generateChatItemID(item), item);
//chatModel->addMessage(item);
}
}

1
src/controller.h

@ -13,7 +13,6 @@
#include "connection.h"
#include "chatmodel.h"
#include "contactmodel.h"
using json = nlohmann::json;
struct WatchedTx {

Loading…
Cancel
Save