summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swift/QtUI/QtSetGroupsDialog.cpp')
-rw-r--r--Swift/QtUI/QtSetGroupsDialog.cpp106
1 files changed, 0 insertions, 106 deletions
diff --git a/Swift/QtUI/QtSetGroupsDialog.cpp b/Swift/QtUI/QtSetGroupsDialog.cpp
deleted file mode 100644
index d19a55d..0000000
--- a/Swift/QtUI/QtSetGroupsDialog.cpp
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Copyright (c) 2010 Kevin Smith
- * Licensed under the GNU General Public License v3.
- * See Documentation/Licenses/GPLv3.txt for more information.
- */
-
-#include "QtSetGroupsDialog.h"
-
-#include <algorithm>
-
-#include <QScrollArea>
-#include <QBoxLayout>
-#include <QLabel>
-#include <QDialogButtonBox>
-
-#include "Swift/QtUI/QtSwiftUtil.h"
-
-namespace Swift {
-
-QtSetGroupsDialog::QtSetGroupsDialog(ContactRosterItem* contact, const QList<QString>& allGroups) : contact_(contact) {
- //resize(300,300);
- setWindowTitle("Edit contact");
- QBoxLayout* layout = new QBoxLayout(QBoxLayout::TopToBottom, this);
- setContentsMargins(0,0,0,0);
- QScrollArea* scrollArea = new QScrollArea(this);
- layout->addWidget(scrollArea);
- scrollArea->setWidgetResizable(true);
- scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
- scrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded);
- QWidget* scroll = new QWidget(scrollArea);
- scrollArea->setWidget(scroll);
- QVBoxLayout* scrollLayout = new QVBoxLayout(scroll);
- QLabel* label = new QLabel(scroll);
- label->setText("Choose groups for " + P2QSTRING(contact->getDisplayName()) + " (" + P2QSTRING(contact->getJID().toString()) + ")");
- scrollLayout->addWidget(label);
- foreach (QString group, allGroups) {
- QCheckBox* check = new QCheckBox(scroll);
- check->setText(group);
- check->setCheckState(Qt::Unchecked);
- checkBoxes_[Q2PSTRING(group)] = check;
- scrollLayout->addWidget(check);
- }
- foreach (String group, contact->getGroups()) {
- checkBoxes_[group]->setCheckState(Qt::Checked);
- }
-
- QHBoxLayout* newGroupLayout = new QHBoxLayout();
- newGroup_ = new QCheckBox(scroll);
- newGroup_->setText("New Group:");
- newGroup_->setCheckState(Qt::Unchecked);
- newGroupLayout->addWidget(newGroup_);
- newGroupName_ = new QLineEdit(scroll);
- newGroupLayout->addWidget(newGroupName_);
- scrollLayout->addLayout(newGroupLayout);
-
- scrollLayout->addItem(new QSpacerItem(20, 73, QSizePolicy::Minimum, QSizePolicy::Expanding));
-
- QDialogButtonBox* buttons = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, Qt::Horizontal, this);
- layout->addWidget(buttons);
- connect(buttons, SIGNAL(accepted()), this, SLOT(accept()));
- connect(buttons, SIGNAL(rejected()), this, SLOT(reject()));
-}
-
-QtSetGroupsDialog::~QtSetGroupsDialog() {
- // TODO Auto-generated destructor stub
-}
-
-typedef std::pair<String, QCheckBox*> CheckStringPair;
-
-boost::shared_ptr<RegroupRosterItemUIEvent> QtSetGroupsDialog::getRegroupEvent() {
- std::vector<String> addedGroups;
- std::vector<String> removedGroups;
- std::vector<String> existingGroups = contact_->getGroups();
- int tickedCount = 0;
- bool wantsContacts = false;
- foreach (CheckStringPair pair, checkBoxes_) {
- bool existing = std::find(existingGroups.begin(), existingGroups.end(), pair.first) != existingGroups.end();
- if (pair.second->checkState() == Qt::Checked) {
- tickedCount++;
- if (pair.first == "Contacts") {
- wantsContacts = true;
- }
- if (!existing && pair.first != "Contacts") {
- addedGroups.push_back(pair.first);
- }
- } else {
- if (existing) {
- removedGroups.push_back(pair.first);
- }
- }
- }
- if (newGroup_->checkState() == Qt::Checked) {
- tickedCount++;
- String name = Q2PSTRING(newGroupName_->text());
- if (std::find(existingGroups.begin(), existingGroups.end(), name) == existingGroups.end()) {
- addedGroups.push_back(name);
- }
- }
- if (tickedCount > 1 && wantsContacts) {
- addedGroups.push_back("Contacts");
- }
- boost::shared_ptr<RegroupRosterItemUIEvent> result(new RegroupRosterItemUIEvent(contact_->getJID(), addedGroups, removedGroups));
- return result;
-}
-
-}