1 #include "confluence-userdialog.h"
6 #include "confluence-agent.h"
7 #include "confluence-user.h"
9 ConfluenceUserDialog::ConfluenceUserDialog(QWidget *parent) : QDialog(parent)
12 QDialog::setWindowTitle("VYM - " +
13 tr("Find Confluence user", "dialog window title"));
15 connect(ui.lineEdit, SIGNAL(textChanged(const QString &)), this,
16 SLOT(lineEditChanged()));
18 connect(ui.buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
19 connect(ui.buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
20 connect(ui.userListWidget, SIGNAL(itemPressed(QListWidgetItem *)), this,
21 SLOT(itemSelected(QListWidgetItem *)));
26 void ConfluenceUserDialog::keyPressEvent(QKeyEvent *e)
28 if (ui.lineEdit->hasFocus() && e->key() == Qt::Key_Down)
30 ui.userListWidget->setCurrentRow(0, QItemSelectionModel::Select);
31 ui.userListWidget->setFocus();
32 } else if (e->key() == Qt::Key_Return || e->key() == Qt::Key_Enter)
35 QDialog::keyPressEvent(e);
38 int ConfluenceUserDialog::exec()
40 int result = QDialog::exec();
42 if (userList.length() == 0) result = QDialog::Rejected;
47 ConfluenceUser ConfluenceUserDialog::getSelectedUser()
49 if (ui.userListWidget->count() > 0 && ui.userListWidget->currentRow() < ui.userListWidget->count() &&
50 ui.userListWidget->currentRow() > -1)
51 return userList.at(ui.userListWidget->currentRow());
53 return ConfluenceUser();
56 void ConfluenceUserDialog::lineEditChanged()
58 if (ui.lineEdit->text().length() > 3) {
59 ConfluenceAgent *agent = new ConfluenceAgent;
60 bool b = connect(agent, &ConfluenceAgent::foundUsers, this, &ConfluenceUserDialog::updateResultsList);
62 agent->getUsers(ui.lineEdit->text());
66 void ConfluenceUserDialog::itemSelected(QListWidgetItem *item)
68 currentRow = ui.userListWidget->row(item);
72 void ConfluenceUserDialog::updateResultsList(QList <ConfluenceUser> results)
74 ui.userListWidget->clear();
78 foreach (ConfluenceUser u, results) {
79 //qDebug() << u.getTitle() << u.getDisplayName() << u.getUserName();
81 new QListWidgetItem(u.getDisplayName() + " (" + u.getUserName() + ")", ui.userListWidget);