diff options
author | Kevin Smith <git@kismith.co.uk> | 2010-10-02 08:53:43 (GMT) |
---|---|---|
committer | Kevin Smith <git@kismith.co.uk> | 2010-10-02 09:02:15 (GMT) |
commit | 087bc243ffb53e3273580bce5ce66305841a3bff (patch) | |
tree | a09a7fd1d564f0e7164198c501d95c949f20b8dd /Swift/Controllers/RosterGroupExpandinessPersister.h | |
parent | 2fb3d3266bd22d84604688dc9ee18b17b211b91d (diff) | |
download | swift-contrib-087bc243ffb53e3273580bce5ce66305841a3bff.zip swift-contrib-087bc243ffb53e3273580bce5ce66305841a3bff.tar.bz2 |
Persist roster group expandiness.
Release-Notes: Whether roster groups are expanded or collapsed is now persisted between sessions.
Resolves: #399
Diffstat (limited to 'Swift/Controllers/RosterGroupExpandinessPersister.h')
-rw-r--r-- | Swift/Controllers/RosterGroupExpandinessPersister.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/Swift/Controllers/RosterGroupExpandinessPersister.h b/Swift/Controllers/RosterGroupExpandinessPersister.h new file mode 100644 index 0000000..545c9d0 --- /dev/null +++ b/Swift/Controllers/RosterGroupExpandinessPersister.h @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2010 Kevin Smith + * Licensed under the GNU General Public License v3. + * See Documentation/Licenses/GPLv3.txt for more information. + */ + +#pragma once + +#include <set> +#include "Swiften/Roster/Roster.h" +#include "Swiften/Settings/SettingsProvider.h" + +namespace Swift { + class RosterGroupExpandinessPersister { + public: + RosterGroupExpandinessPersister(Roster* roster, SettingsProvider* settings); + private: + void handleExpandedChanged(GroupRosterItem* group, bool expanded); + void handleGroupAdded(GroupRosterItem* group); + void load(); + void save(); + std::set<String> collapsed_; + Roster* roster_; + SettingsProvider* settings_; + static const String SettingPath; + }; +} |