summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swift/Controllers/Roster/GroupRosterItem.h')
-rw-r--r--Swift/Controllers/Roster/GroupRosterItem.h20
1 files changed, 14 insertions, 6 deletions
diff --git a/Swift/Controllers/Roster/GroupRosterItem.h b/Swift/Controllers/Roster/GroupRosterItem.h
index a4e008f..ebb3849 100644
--- a/Swift/Controllers/Roster/GroupRosterItem.h
+++ b/Swift/Controllers/Roster/GroupRosterItem.h
@@ -18,25 +18,33 @@ class GroupRosterItem : public RosterItem {
public:
GroupRosterItem(const std::string& name, GroupRosterItem* parent, bool sortByStatus);
virtual ~GroupRosterItem();
+
const std::vector<RosterItem*>& getChildren() const;
const std::vector<RosterItem*>& getDisplayedChildren() const;
+
void addChild(RosterItem* item);
- ContactRosterItem* removeChild(const JID& jid);
- GroupRosterItem* removeGroupChild(const std::string& group);
+ std::unique_ptr<ContactRosterItem> removeChild(const JID& jid);
+ std::unique_ptr<GroupRosterItem> removeGroupChild(const std::string& group);
void removeAll();
+
void setDisplayed(RosterItem* item, bool displayed);
- boost::signals2::signal<void ()> onChildrenChanged;
- static bool itemLessThanWithStatus(const RosterItem* left, const RosterItem* right);
- static bool itemLessThanWithoutStatus(const RosterItem* left, const RosterItem* right);
void setExpanded(bool expanded);
bool isExpanded() const;
- boost::signals2::signal<void (bool)> onExpandedChanged;
void setManualSort(const std::string& manualSortValue);
virtual const std::string& getSortableDisplayName() const;
+
+ boost::signals2::signal<void (bool)> onExpandedChanged;
+ boost::signals2::signal<void ()> onChildrenChanged;
+
+ static bool itemLessThanWithStatus(const RosterItem* left, const RosterItem* right);
+ static bool itemLessThanWithoutStatus(const RosterItem* left, const RosterItem* right);
+
private:
void handleChildrenChanged(GroupRosterItem* group);
void handleDataChanged(RosterItem* item);
bool sortDisplayed();
+
+ private:
std::string name_;
bool expanded_;
std::vector<RosterItem*> children_;