diff options
author | Kevin Smith <git@kismith.co.uk> | 2011-10-07 14:09:27 (GMT) |
---|---|---|
committer | Kevin Smith <git@kismith.co.uk> | 2011-10-07 14:11:23 (GMT) |
commit | b2f58c4f3eb93e3a32062670df5eb6682aed273a (patch) | |
tree | 737884f5e3e826407466290cf7c324c4f0069dd0 /Swift/QtUI/QtAffiliationEditor.h | |
parent | 7f7b05d8d242a9b73b7d9f971779c6af19980f76 (diff) | |
download | swift-contrib-b2f58c4f3eb93e3a32062670df5eb6682aed273a.zip swift-contrib-b2f58c4f3eb93e3a32062670df5eb6682aed273a.tar.bz2 |
Allow affiliation editing in MUCs.
Resolves: #986
Resolves: #988
Diffstat (limited to 'Swift/QtUI/QtAffiliationEditor.h')
-rw-r--r-- | Swift/QtUI/QtAffiliationEditor.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/Swift/QtUI/QtAffiliationEditor.h b/Swift/QtUI/QtAffiliationEditor.h new file mode 100644 index 0000000..913b2cc --- /dev/null +++ b/Swift/QtUI/QtAffiliationEditor.h @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2011 Kevin Smith + * Licensed under the GNU General Public License v3. + * See Documentation/Licenses/GPLv3.txt for more information. + */ + +#pragma once + +#include <vector> +#include <map> + +#include <QDialog> +#include <Swift/QtUI/ui_QtAffiliationEditor.h> + +#include <Swiften/JID/JID.h> +#include <Swiften/Elements/MUCOccupant.h> + +namespace Swift { + class QtAffiliationEditor : public QDialog { + Q_OBJECT + public: + QtAffiliationEditor(QWidget* parent = NULL); + ~QtAffiliationEditor(); + void setAffiliations(MUCOccupant::Affiliation, const std::vector<JID>& jids); + const std::vector<std::pair<MUCOccupant::Affiliation, JID> >& getChanges() const; + private slots: + void handleCurrentIndexChanged(int); + void handleAddClicked(); + void handleRemoveClicked(); + private: + typedef std::pair<MUCOccupant::Affiliation, JID> ChangePair; + MUCOccupant::Affiliation affiliationFromIndex(int affiliation); + Ui::QtAffiliationEditor ui_; + std::map<MUCOccupant::Affiliation, std::vector<JID> > affiliations_; + std::vector<ChangePair> changes_; + }; +}
\ No newline at end of file |