summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorNicolas Werner <nicolas.werner@hotmail.de>2019-08-30 19:29:25 +0200
committerNicolas Werner <nicolas.werner@hotmail.de>2019-11-23 20:06:14 +0100
commit8e611abe87dd78095a35d156874a5b70ca72eb3e (patch)
treeebb6e394ca207e41e6d121857fa1266a2226ddfe /src
parentUpdate travis to xcode9.2 for macos (diff)
downloadnheko-8e611abe87dd78095a35d156874a5b70ca72eb3e.tar.xz
Replace timeline with empty qml view
Diffstat (limited to 'src')
-rw-r--r--src/ChatPage.cpp4
-rw-r--r--src/popups/UserMentions.cpp77
-rw-r--r--src/timeline2/TimelineViewManager.cpp10
-rw-r--r--src/timeline2/TimelineViewManager.h72
4 files changed, 126 insertions, 37 deletions
diff --git a/src/ChatPage.cpp b/src/ChatPage.cpp

index 21ded4b3..594a41c2 100644 --- a/src/ChatPage.cpp +++ b/src/ChatPage.cpp
@@ -44,7 +44,7 @@ #include "dialogs/ReadReceipts.h" #include "popups/UserMentions.h" -#include "timeline/TimelineViewManager.h" +#include "timeline2/TimelineViewManager.h" // TODO: Needs to be updated with an actual secret. static const std::string STORAGE_SECRET_KEY("secret"); @@ -113,7 +113,7 @@ ChatPage::ChatPage(QSharedPointer<UserSettings> userSettings, QWidget *parent) view_manager_ = new TimelineViewManager(this); contentLayout_->addWidget(top_bar_); - contentLayout_->addWidget(view_manager_); + contentLayout_->addWidget(view_manager_->getWidget()); connect(this, &ChatPage::removeTimelineEvent, diff --git a/src/popups/UserMentions.cpp b/src/popups/UserMentions.cpp
index 3480959a..3be5c462 100644 --- a/src/popups/UserMentions.cpp +++ b/src/popups/UserMentions.cpp
@@ -7,7 +7,7 @@ #include "ChatPage.h" #include "Logging.h" #include "UserMentions.h" -#include "timeline/TimelineItem.h" +//#include "timeline/TimelineItem.h" using namespace popups; @@ -116,39 +116,46 @@ UserMentions::pushItem(const QString &event_id, const QString &room_id, const QString &current_room_id) { - setUpdatesEnabled(false); - - // Add to the 'all' section - TimelineItem *view_item = new TimelineItem( - mtx::events::MessageType::Text, user_id, body, true, room_id, all_scroll_widget_); - view_item->setEventId(event_id); - view_item->hide(); - - all_scroll_layout_->addWidget(view_item); - QTimer::singleShot(0, this, [view_item, this]() { - view_item->show(); - view_item->adjustSize(); - setUpdatesEnabled(true); - }); - - // if it matches the current room... add it to the current room as well. - if (QString::compare(room_id, current_room_id, Qt::CaseInsensitive) == 0) { - // Add to the 'local' section - TimelineItem *local_view_item = new TimelineItem(mtx::events::MessageType::Text, - user_id, - body, - true, - room_id, - local_scroll_widget_); - local_view_item->setEventId(event_id); - local_view_item->hide(); - local_scroll_layout_->addWidget(local_view_item); - - QTimer::singleShot(0, this, [local_view_item]() { - local_view_item->show(); - local_view_item->adjustSize(); - }); - } + (void)event_id; + (void)user_id; + (void)body; + (void)room_id; + (void)current_room_id; + // setUpdatesEnabled(false); + // + // // Add to the 'all' section + // TimelineItem *view_item = new TimelineItem( + // mtx::events::MessageType::Text, user_id, body, true, room_id, + // all_scroll_widget_); + // view_item->setEventId(event_id); + // view_item->hide(); + // + // all_scroll_layout_->addWidget(view_item); + // QTimer::singleShot(0, this, [view_item, this]() { + // view_item->show(); + // view_item->adjustSize(); + // setUpdatesEnabled(true); + // }); + // + // // if it matches the current room... add it to the current room as well. + // if (QString::compare(room_id, current_room_id, Qt::CaseInsensitive) == 0) { + // // Add to the 'local' section + // TimelineItem *local_view_item = new + // TimelineItem(mtx::events::MessageType::Text, + // user_id, + // body, + // true, + // room_id, + // local_scroll_widget_); + // local_view_item->setEventId(event_id); + // local_view_item->hide(); + // local_scroll_layout_->addWidget(local_view_item); + // + // QTimer::singleShot(0, this, [local_view_item]() { + // local_view_item->show(); + // local_view_item->adjustSize(); + // }); + // } } void @@ -158,4 +165,4 @@ UserMentions::paintEvent(QPaintEvent *) opt.init(this); QPainter p(this); style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this); -} \ No newline at end of file +} diff --git a/src/timeline2/TimelineViewManager.cpp b/src/timeline2/TimelineViewManager.cpp new file mode 100644
index 00000000..b932b6ac --- /dev/null +++ b/src/timeline2/TimelineViewManager.cpp
@@ -0,0 +1,10 @@ +#include "TimelineViewManager.h" + +TimelineViewManager::TimelineViewManager(QWidget *parent) +{ + view = new QQuickView(); + container = QWidget::createWindowContainer(view, parent); + container->setMinimumSize(200, 200); + view->setSource(QUrl("qrc:///qml/TimelineView.qml")); + // view->rootContext()->setContextProperty(room); +} diff --git a/src/timeline2/TimelineViewManager.h b/src/timeline2/TimelineViewManager.h new file mode 100644
index 00000000..23d30065 --- /dev/null +++ b/src/timeline2/TimelineViewManager.h
@@ -0,0 +1,72 @@ +#pragma once + +#include <QQuickView> +#include <QWidget> + +#include <mtx/responses.hpp> + +#include "Cache.h" +#include "Utils.h" + +// temporary for stubs +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wunused-parameter" + +class TimelineViewManager : public QObject +{ + Q_OBJECT +public: + TimelineViewManager(QWidget *parent = 0); + QWidget *getWidget() const { return container; } + + void initialize(const mtx::responses::Rooms &rooms) {} + void addRoom(const QString &room_id) {} + + void sync(const mtx::responses::Rooms &rooms) {} + void clearAll() {} + +signals: + void clearRoomMessageCount(QString roomid); + void updateRoomsLastMessage(const QString &user, const DescInfo &info); + +public slots: + void updateReadReceipts(const QString &room_id, const std::vector<QString> &event_ids) {} + void removeTimelineEvent(const QString &room_id, const QString &event_id) {} + void initWithMessages(const std::map<QString, mtx::responses::Timeline> &msgs) {} + + void setHistoryView(const QString &room_id) {} + void queueTextMessage(const QString &msg) {} + void queueReplyMessage(const QString &reply, const RelatedInfo &related) {} + void queueEmoteMessage(const QString &msg) {} + void queueImageMessage(const QString &roomid, + const QString &filename, + const QString &url, + const QString &mime, + uint64_t dsize, + const QSize &dimensions) + {} + void queueFileMessage(const QString &roomid, + const QString &filename, + const QString &url, + const QString &mime, + uint64_t dsize) + {} + void queueAudioMessage(const QString &roomid, + const QString &filename, + const QString &url, + const QString &mime, + uint64_t dsize) + {} + void queueVideoMessage(const QString &roomid, + const QString &filename, + const QString &url, + const QString &mime, + uint64_t dsize) + {} + +private: + QQuickView *view; + QWidget *container; +}; + +#pragma GCC diagnostic pop