Browse Source

refactor: Rewrite widget exists check

reviewable/pr5471/r3
Diadlo 7 years ago
parent
commit
9129f256fa
No known key found for this signature in database
GPG Key ID: 5AF9F2E29107C727
  1. 10
      src/widget/contentdialog.cpp
  2. 3
      src/widget/contentdialog.h
  3. 14
      src/widget/contentdialogmanager.cpp

10
src/widget/contentdialog.cpp

@ -611,6 +611,16 @@ void ContentDialog::activate(GenericChatroomWidget* widget) @@ -611,6 +611,16 @@ void ContentDialog::activate(GenericChatroomWidget* widget)
updateTitleAndStatusIcon();
}
bool ContentDialog::containsFriend(int friendId) const
{
return friendWidgets.contains(friendId);
}
bool ContentDialog::containsGroup(int groupId) const
{
return groupWidgets.contains(groupId);
}
/**
* @brief Update friend widget name and position.
* @param friendId Friend Id.

3
src/widget/contentdialog.h

@ -77,6 +77,9 @@ public: @@ -77,6 +77,9 @@ public:
void focusFriend(int friendId);
void focusGroup(int groupId);
bool containsFriend(int friendId) const;
bool containsGroup(int groupId) const;
signals:
void friendDialogShown(const Friend* f);
void groupDialogShown(Group* g);

14
src/widget/contentdialogmanager.cpp

@ -43,12 +43,22 @@ ContentDialog* ContentDialogManager::current() @@ -43,12 +43,22 @@ ContentDialog* ContentDialogManager::current()
bool ContentDialogManager::friendWidgetExists(int friendId)
{
return existsWidget(friendId, friendList);
const auto dialog = friendDialogs.value(friendId, nullptr);
if (dialog == nullptr) {
return false;
}
return dialog->containsFriend(friendId);
}
bool ContentDialogManager::groupWidgetExists(int groupId)
{
return existsWidget(groupId, groupList);
const auto dialog = groupDialogs.value(groupId, nullptr);
if (dialog == nullptr) {
return false;
}
return dialog->containsGroup(groupId);
}
FriendWidget* ContentDialogManager::addFriendToDialog(ContentDialog* dialog,

Loading…
Cancel
Save