MessageWidget::MessageWidget(QWidget *parent) : QWidget(parent), ui(new Ui::MessageWidget) { ui->setupUi(this); QSettings settings; ip = settings.value("wlanIP").toString(); port = settings.value("sPort").toInt(); this->setLayout(ui->layoutMessages); this->sortModel.setSourceModel(&messageModel); this->sortModel.setSortCaseSensitivity(Qt::CaseInsensitive); this->sortModel.setDynamicSortFilter(true); this->sortModel.setFilterRole(MessageModel::ThreadIdRole); this->sortModel.setSortRole(MessageModel::TimeStampRole); this->sortModel.sort(0, Qt::DescendingOrder); this->sortThreadModel.setSourceModel(&this->messageThreadModel); this->sortThreadModel.setSortCaseSensitivity(Qt::CaseInsensitive); this->sortThreadModel.setDynamicSortFilter(true); this->sortThreadModel.setSortRole(MessageThreadModel::TimeStampRole); this->sortThreadModel.sort(0, Qt::DescendingOrder); this->sortContactModel.setSourceModel(&this->contactModel); this->sortContactModel.setSortCaseSensitivity(Qt::CaseInsensitive); this->sortContactModel.setDynamicSortFilter(true); this->sortContactModel.setFilterRole(ContactModel::NameRole); this->sortContactModel.setSortRole(ContactModel::NameRole); this->sortContactModel.sort(0, Qt::AscendingOrder); this->messageCount=0; this->qmlView = new QDeclarativeView; this->qmlViewCtx = this->qmlView->rootContext(); if (QFile::exists("qml/messageView.qml")) this->qmlView->setSource(QUrl::fromLocalFile("qml/messageView.qml")); else //this->qmlView->setSource(QUrl::fromLocalFile("../messages/qml/messageView.qml")); this->qmlView->setSource(QUrl("qrc:/qml/qml/messageView.qml")); this->qmlViewCtx->setContextProperty("threadModel", &sortThreadModel); this->qmlViewCtx->setContextProperty("contactModel", &sortContactModel); this->qmlViewCtx->setContextProperty("messageModel", &sortModel); this->qmlViewCtx->setContextProperty("myNickname", "Me"); this->qmlViewCtx->setContextProperty("contactDefault", "qrc:/icons/contactDefault.png"); qmlView->setResizeMode(QDeclarativeView::SizeRootObjectToView); this->qmlViewCtx->setContextProperty("messageWidget", this); ui->layoutMessages->addWidget(this->qmlView,1,1); socket = new QTcpSocket(); connect(socket, SIGNAL(readyRead()), this, SLOT(readMesg())); connect(socket,SIGNAL(readChannelFinished()), this, SLOT(readFinshed())); ts = new SocketThread(); connect(ts,SIGNAL(readData(QString)), this, SLOT(readData(QString))); on_pushButton_pressed(); }
MessageWidget::MessageWidget(QWidget *parent, QString clientIP) : QWidget(parent), ui(new Ui::MessageWidget) { ui->setupUi(this); this->setLayout(ui->layoutMessages); this->sortModel.setSourceModel(&messageModel); this->sortModel.setSortCaseSensitivity(Qt::CaseInsensitive); this->sortModel.setDynamicSortFilter(true); this->sortModel.setFilterRole(MessageModel::ThreadIdRole); this->sortModel.setSortRole(MessageModel::TimeStampRole); this->sortModel.sort(0, Qt::DescendingOrder); this->sortThreadModel.setSourceModel(&this->messageThreadModel); this->sortThreadModel.setSortCaseSensitivity(Qt::CaseInsensitive); this->sortThreadModel.setDynamicSortFilter(true); this->sortThreadModel.setSortRole(MessageThreadModel::TimeStampRole); this->sortThreadModel.sort(0, Qt::DescendingOrder); this->sortContactModel.setSourceModel(&this->contactModel); this->sortContactModel.setSortCaseSensitivity(Qt::CaseInsensitive); this->sortContactModel.setDynamicSortFilter(true); this->sortContactModel.setFilterRole(ContactModel::NameRole); this->sortContactModel.setSortRole(ContactModel::NameRole); this->sortContactModel.sort(0, Qt::AscendingOrder); this->messageCount=0; this->qmlView = new QDeclarativeView; this->qmlViewCtx = this->qmlView->rootContext(); if (QFile::exists("qml/messageView.qml")) this->qmlView->setSource(QUrl::fromLocalFile("qml/messageView.qml")); else //this->qmlView->setSource(QUrl::fromLocalFile("../messages/qml/messageView.qml")); this->qmlView->setSource(QUrl("qrc:/qml/qml/messageView.qml")); this->qmlViewCtx->setContextProperty("threadModel", &sortThreadModel); this->qmlViewCtx->setContextProperty("contactModel", &sortContactModel); this->qmlViewCtx->setContextProperty("messageModel", &sortModel); this->qmlViewCtx->setContextProperty("myNickname", "Me"); this->qmlViewCtx->setContextProperty("contactDefault", "qrc:/icons/contactDefault.png"); qmlView->setResizeMode(QDeclarativeView::SizeRootObjectToView); this->qmlViewCtx->setContextProperty("messageWidget", this); ui->layoutMessages->addWidget(this->qmlView,1,1); //QSettings settings; //this->sdk = settings.value("sdkPath").toString(); this->tcpServer.listen(QHostAddress::Any,4445); connect(&this->tcpServer, SIGNAL(newConnection()), this, SLOT(newConnection())); this->clientIP = clientIP; on_pushButton_pressed(); }