From 1e90106a08a2eab90218b9e587ad7ce68ed0a4e9 Mon Sep 17 00:00:00 2001 From: Diadlo Date: Sun, 6 Aug 2017 13:08:11 +0300 Subject: [PATCH] refactor(groupwidget): Move updatTitle in GroupWidget Also, remove unused now slot ContentDialog::updateGroupWidget --- src/widget/contentdialog.cpp | 21 --------------------- src/widget/contentdialog.h | 1 - src/widget/groupwidget.cpp | 7 +++++++ src/widget/groupwidget.h | 1 + 4 files changed, 8 insertions(+), 22 deletions(-) diff --git a/src/widget/contentdialog.cpp b/src/widget/contentdialog.cpp index 6a294277c..fc6ed76b6 100644 --- a/src/widget/contentdialog.cpp +++ b/src/widget/contentdialog.cpp @@ -191,8 +191,6 @@ GroupWidget* ContentDialog::addGroup(int groupId, const QString& name) groupLayout.addSortedWidget(groupWidget); Group* group = groupWidget->getGroup(); - connect(group, &Group::titleChanged, this, &ContentDialog::updateGroupWidget); - connect(group, &Group::userListChanged, this, &ContentDialog::updateGroupWidget); connect(groupWidget, &GroupWidget::chatroomWidgetClicked, this, &ContentDialog::activate); connect(groupWidget, &FriendWidget::newWindowOpened, this, &ContentDialog::openNewDialog); @@ -244,11 +242,6 @@ void ContentDialog::removeGroup(int groupId) { Group* group = GroupList::findGroup(groupId); - if (group) { - disconnect(group, &Group::titleChanged, this, &ContentDialog::updateGroupWidget); - disconnect(group, &Group::userListChanged, this, &ContentDialog::updateGroupWidget); - } - auto iter = groupList.find(groupId); if (iter == groupList.end()) { return; @@ -752,20 +745,6 @@ void ContentDialog::updateFriendWidget(uint32_t friendId, QString alias) friendLayout->addFriendWidget(friendWidget, status); } -/** - * @brief Update group widget name and 'status'. - * @param groupId Id of group to update. - */ -void ContentDialog::updateGroupWidget(uint32_t groupId) -{ - Group* g = GroupList::findGroup(groupId); - QString name = g->getName(); - - ContactInfo info = groupList.find(groupId).value(); - GroupWidget* widget = static_cast(std::get<1>(info)); - widget->setName(name); -} - /** * @brief Handler of `groupchatPositionChanged` action. * Move group layout on the top or on the buttom. diff --git a/src/widget/contentdialog.h b/src/widget/contentdialog.h index 7de1e35ea..711689be1 100644 --- a/src/widget/contentdialog.h +++ b/src/widget/contentdialog.h @@ -103,7 +103,6 @@ private slots: void activate(GenericChatroomWidget* widget); void openNewDialog(GenericChatroomWidget* widget); void updateFriendWidget(uint32_t friendId, QString alias); - void updateGroupWidget(uint32_t groupId); void onGroupchatPositionChanged(bool top); private: diff --git a/src/widget/groupwidget.cpp b/src/widget/groupwidget.cpp index 5bc3140b1..b5053e024 100644 --- a/src/widget/groupwidget.cpp +++ b/src/widget/groupwidget.cpp @@ -53,6 +53,7 @@ GroupWidget::GroupWidget(int groupId, const QString& name, bool compact) setAcceptDrops(true); Group* g = GroupList::findGroup(groupId); + connect(g, &Group::titleChanged, this, &GroupWidget::updateTitle); connect(g, &Group::userListChanged, this, &GroupWidget::updateUserCount); connect(nameLabel, &CroppingLabel::editFinished, this, &GroupWidget::setTitle); Translator::registerHandler(std::bind(&GroupWidget::retranslateUi, this), this); @@ -69,6 +70,12 @@ void GroupWidget::setTitle(const QString& newName) g->setName(newName); } +void GroupWidget::updateTitle(uint32_t groupId, const QString& newName) +{ + Q_UNUSED(groupId); + nameLabel->setText(newName); +} + void GroupWidget::contextMenuEvent(QContextMenuEvent* event) { if (!active) diff --git a/src/widget/groupwidget.h b/src/widget/groupwidget.h index 4cb335a4e..946d7071c 100644 --- a/src/widget/groupwidget.h +++ b/src/widget/groupwidget.h @@ -53,6 +53,7 @@ protected: private slots: void retranslateUi(); void setTitle(const QString& newName); + void updateTitle(uint32_t groupId, const QString& newName); void updateUserCount(); public: