void FriendListWidget::moveWidget(FriendWidget* w, Status s, bool add) { if (mode == Name) { int circleId = Settings::getInstance().getFriendCircleID(FriendList::findFriend(w->friendId)->getToxId()); CircleWidget* circleWidget = CircleWidget::getFromID(circleId); if (circleWidget == nullptr || add) { if (circleId != -1) Settings::getInstance().setFriendCircleID(FriendList::findFriend(w->friendId)->getToxId(), -1); listLayout->addFriendWidget(w, s); return; } circleWidget->addFriendWidget(w, s); } else { Friend* contact = FriendList::findFriend(w->friendId); QDate activityDate = getDateFriend(contact); Time time = getTime(activityDate); CategoryWidget* categoryWidget = dynamic_cast<CategoryWidget*>(activityLayout->itemAt(time)->widget()); categoryWidget->addFriendWidget(contact->getFriendWidget(), contact->getStatus()); categoryWidget->show(); } }
void FriendListWidget::moveWidget(FriendWidget* widget, Status s, bool add) { if (mode == Name) { Friend* f = FriendList::findFriend(widget->friendId); int circleId = Settings::getInstance().getFriendCircleID(f->getPublicKey()); CircleWidget* circleWidget = CircleWidget::getFromID(circleId); if (circleWidget == nullptr || add) { if (circleId != -1) Settings::getInstance().setFriendCircleID(f->getPublicKey(), -1); listLayout->addFriendWidget(widget, s); return; } circleWidget->addFriendWidget(widget, s); } else { Friend* contact = FriendList::findFriend(widget->friendId); QDate activityDate = getDateFriend(contact); int time = static_cast<int>(getTime(activityDate)); QWidget* w = activityLayout->itemAt(time)->widget(); CategoryWidget* categoryWidget = qobject_cast<CategoryWidget*>(w); categoryWidget->addFriendWidget(widget, contact->getStatus()); categoryWidget->show(); } }