summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swift/QtUI/QtInviteToChatWindow.cpp')
-rw-r--r--Swift/QtUI/QtInviteToChatWindow.cpp22
1 files changed, 19 insertions, 3 deletions
diff --git a/Swift/QtUI/QtInviteToChatWindow.cpp b/Swift/QtUI/QtInviteToChatWindow.cpp
index d53c493..3b8f1fc 100644
--- a/Swift/QtUI/QtInviteToChatWindow.cpp
+++ b/Swift/QtUI/QtInviteToChatWindow.cpp
@@ -13,20 +13,20 @@
#include <QPushButton>
#include <QDialogButtonBox>
#include <Swift/QtUI/QtSwiftUtil.h>
namespace Swift {
QtInviteToChatWindow::QtInviteToChatWindow(QWidget* parent) : QDialog(parent) {
QBoxLayout *layout = new QBoxLayout(QBoxLayout::TopToBottom, this);
- layout->setContentsMargins(0,0,0,0);
- layout->setSpacing(2);
+ //layout->setContentsMargins(0,0,0,0);
+ //layout->setSpacing(2);
QLabel* description = new QLabel(tr("Users to invite to this chat (one per line):"));
layout->addWidget(description);
jidsLayout_ = new QBoxLayout(QBoxLayout::TopToBottom);
layout->addLayout(jidsLayout_);
QLabel* reasonLabel = new QLabel(tr("If you want to provide a reason for the invitation, enter it here"));
layout->addWidget(reasonLabel);
@@ -39,18 +39,20 @@ QtInviteToChatWindow::QtInviteToChatWindow(QWidget* parent) : QDialog(parent) {
QDialogButtonBox* buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
layout->addWidget(buttonBox);
+ jids_[0]->setFocus();
+
setModal(false);
show();
}
QtInviteToChatWindow::~QtInviteToChatWindow() {
}
void QtInviteToChatWindow::handleAccepting() {
@@ -75,19 +77,19 @@ std::vector<JID> QtInviteToChatWindow::getJIDs() const {
results.push_back(jid);
}
}
}
return results;
}
void QtInviteToChatWindow::addJIDLine() {
QLineEdit* jid = new QLineEdit(this);
- QCompleter* completer = new QCompleter(completions_, this);
+ QCompleter* completer = new QCompleter(&completions_, this);
completer->setCaseSensitivity(Qt::CaseInsensitive);
jid->setCompleter(completer);
jids_.push_back(jid);
jidsLayout_->addWidget(jid);
connect(jid, SIGNAL(textChanged(const QString&)), this, SLOT(handleJIDTextChanged()));
}
void QtInviteToChatWindow::handleJIDTextChanged() {
bool gotEmpty = false;
@@ -95,13 +97,27 @@ void QtInviteToChatWindow::handleJIDTextChanged() {
if (edit->text().isEmpty()) {
gotEmpty = true;
}
}
if (!gotEmpty) {
addJIDLine();
}
}
+typedef std::pair<JID, std::string> JIDString;
+
+void QtInviteToChatWindow::setAutoCompletions(std::vector<std::pair<JID, std::string> > completions) {
+ QStringList list;
+ foreach (JIDString jidPair, completions) {
+ QString line = P2QSTRING(jidPair.first.toString());
+ if (jidPair.second != jidPair.first.toString() && !jidPair.second.empty()) {
+ line = P2QSTRING(jidPair.second) + " - " + line;
+ }
+ list.append(line);
+ }
+ completions_.setStringList(list);
+}
+
}