From c8b274ecfe195a1c7d6da448e76224753de63d57 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 3 May 2020 13:28:41 +0200 Subject: [PATCH] switch to listview for contacts --- src/chatmodel.cpp | 10 +++++----- src/contactmodel.cpp | 25 +++++++++++++++++++------ src/contactmodel.h | 2 +- src/controller.cpp | 2 +- src/controller.h | 2 +- src/mainwindow.ui | 2 +- 6 files changed, 28 insertions(+), 15 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 679b0c5..aad9a8d 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -99,7 +99,7 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) { - QStandardItemModel* myModel = new QStandardItemModel(); + QStandardItemModel* chat = new QStandardItemModel(); for (auto &c : this->chatItems) @@ -121,7 +121,7 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) QStandardItem* Items = new QStandardItem(c.second.toChatLine()); Items->setData("Incoming", Qt::UserRole +1); - myModel->appendRow(Items); + chat->appendRow(Items); ui->listChat->setResizeMode(QListView::Adjust); @@ -129,7 +129,7 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) ui->listChat->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); ui->listChat->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); ui->listChat->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); - ui->listChat->setModel(myModel); + ui->listChat->setModel(chat); ui->listChat->setMinimumSize(200,350); ui->listChat->setItemDelegate(new ListViewDelegate()); // ui->listChat->setStyleSheet("background-image: url(res/hushdark.png)"); /////Todo set an png as Watermark backgroung in listChat @@ -148,7 +148,7 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) QStandardItem* Items1 = new QStandardItem(c.second.toChatLine()); Items1->setData("Outgoing", Qt::UserRole +1); - myModel->appendRow(Items1); + chat->appendRow(Items1); qDebug()<text(); } @@ -157,7 +157,7 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) ui->listChat->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); ui->listChat->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); ui->listChat->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); - ui->listChat->setModel(myModel); + ui->listChat->setModel(chat); ui->listChat->setMinimumSize(200,350); ui->listChat->setItemDelegate(new ListViewDelegate()); ui->listChat->show(); diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp index 0e9a6ea..e4d32e1 100644 --- a/src/contactmodel.cpp +++ b/src/contactmodel.cpp @@ -2,15 +2,28 @@ #include "addressbook.h" #include "mainwindow.h" -void ContactModel::renderContactList(QListWidget* view) +void ContactModel::renderContactList(QListView* view) { - while(view->count() > 0) - { - view->takeItem(0); - } + QStandardItemModel* contact = new QStandardItemModel(); + //} for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) { - view->addItem(c.getName()); + // view->addItem(c.getName()); + + + QStandardItem* Items = new QStandardItem(c.getName()); + contact->appendRow(Items); + // view->setItemDelegate({text: contact}) + // width: view->width }) + // height: avatar.implicitHeight, + // leftPadding: avatar.implicitWidth + 32}) + + // Image { + // id: avatar + // source: "qrc:/" + modelData.replace(" ", "_") + ".png" + // } + //} + view->setModel(contact); } diff --git a/src/contactmodel.h b/src/contactmodel.h index 886b285..b97cc8a 100644 --- a/src/contactmodel.h +++ b/src/contactmodel.h @@ -74,7 +74,7 @@ class ContactModel { public: ContactModel() {} - void renderContactList(QListWidget* view); + void renderContactList(QListView* view); }; #endif \ No newline at end of file diff --git a/src/controller.cpp b/src/controller.cpp index 7db0ff0..577d438 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -1029,7 +1029,7 @@ void Controller::refreshChat(QListView *listWidget) } -void Controller::refreshContacts(QListWidget *listWidget) +void Controller::refreshContacts(QListView *listWidget) { contactModel->renderContactList(listWidget); } diff --git a/src/controller.h b/src/controller.h index 59cfa40..bc56587 100644 --- a/src/controller.h +++ b/src/controller.h @@ -73,7 +73,7 @@ public: void refreshAUDCAP(); void refreshChat(QListView *listWidget); - void refreshContacts(QListWidget *listWidget); + void refreshContacts(QListView *listWidget); void executeStandardUITransaction(Tx tx); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 56b180b..e58e4ad 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1328,7 +1328,7 @@ HushChat - + 0