summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swift/QtUI')
-rw-r--r--Swift/QtUI/QtInviteToChatWindow.cpp18
-rw-r--r--Swift/QtUI/QtInviteToChatWindow.h2
2 files changed, 14 insertions, 6 deletions
diff --git a/Swift/QtUI/QtInviteToChatWindow.cpp b/Swift/QtUI/QtInviteToChatWindow.cpp
index 3b8f1fc..ce6dea0 100644
--- a/Swift/QtUI/QtInviteToChatWindow.cpp
+++ b/Swift/QtUI/QtInviteToChatWindow.cpp
@@ -26,30 +26,30 @@ QtInviteToChatWindow::QtInviteToChatWindow(QWidget* parent) : QDialog(parent) {
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);
reason_ = new QLineEdit(this);
layout->addWidget(reason_);
- addJIDLine();
connect(this, SIGNAL(accepted()), this, SLOT(handleAccepting()));
connect(this, SIGNAL(rejected()), this, SLOT(handleRejecting()));
- QDialogButtonBox* buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
+ buttonBox_ = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
- connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
- connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
+ connect(buttonBox_, SIGNAL(accepted()), this, SLOT(accept()));
+ connect(buttonBox_, SIGNAL(rejected()), this, SLOT(reject()));
- layout->addWidget(buttonBox);
+ layout->addWidget(buttonBox_);
+ addJIDLine();
jids_[0]->setFocus();
setModal(false);
show();
}
QtInviteToChatWindow::~QtInviteToChatWindow() {
@@ -80,21 +80,27 @@ std::vector<JID> QtInviteToChatWindow::getJIDs() const {
}
return results;
}
void QtInviteToChatWindow::addJIDLine() {
QLineEdit* jid = new QLineEdit(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()));
+ if (!jids_.empty()) {
+ setTabOrder(jids_.back(), jid);
+ }
+ jids_.push_back(jid);
+ setTabOrder(jid, reason_);
+ setTabOrder(reason_, buttonBox_);
+ //setTabOrder(buttonBox_, jids_[0]);
}
void QtInviteToChatWindow::handleJIDTextChanged() {
bool gotEmpty = false;
foreach(QLineEdit* edit, jids_) {
if (edit->text().isEmpty()) {
gotEmpty = true;
}
}
diff --git a/Swift/QtUI/QtInviteToChatWindow.h b/Swift/QtUI/QtInviteToChatWindow.h
index a0167db..dd8743a 100644
--- a/Swift/QtUI/QtInviteToChatWindow.h
+++ b/Swift/QtUI/QtInviteToChatWindow.h
@@ -7,18 +7,19 @@
#pragma once
#include <Swift/Controllers/UIInterfaces/InviteToChatWindow.h>
#include <QDialog>
#include <QStringListModel>
class QLineEdit;
class QBoxLayout;
+class QDialogButtonBox;
namespace Swift {
class QtInviteToChatWindow : public QDialog, public InviteToChatWindow {
Q_OBJECT
public:
QtInviteToChatWindow(QWidget* parent = NULL);
virtual ~QtInviteToChatWindow();
virtual std::string getReason() const;
@@ -30,13 +31,14 @@ namespace Swift {
private slots:
void handleJIDTextChanged();
void handleAccepting();
void handleRejecting();
private:
QStringListModel completions_;
QLineEdit* reason_;
QBoxLayout* jidsLayout_;
std::vector<QLineEdit*> jids_;
+ QDialogButtonBox* buttonBox_;
};
}