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)
updateTitleAndStatusIcon(); 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. * @brief Update friend widget name and position.
* @param friendId Friend Id. * @param friendId Friend Id.

3
src/widget/contentdialog.h

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

14
src/widget/contentdialogmanager.cpp

@ -43,12 +43,22 @@ ContentDialog* ContentDialogManager::current()
bool ContentDialogManager::friendWidgetExists(int friendId) 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) 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, FriendWidget* ContentDialogManager::addFriendToDialog(ContentDialog* dialog,

Loading…
Cancel
Save