-
Notifications
You must be signed in to change notification settings - Fork 0
/
dialogagent.cpp
executable file
·82 lines (69 loc) · 2.04 KB
/
dialogagent.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#include "dialogagent.h"
#include "ui_dialogagent.h"
#include <QDebug>
#include <QTimer>
DialogAgent::DialogAgent(const QString &details,
const QString &message,
const QString &iconName,QWidget *parent) :
QDialog(parent),
ui(new Ui::DialogAgent)
{
ui->setupUi(this);
// Q_UNUSED(actionId);
setWindowFlags(Qt::WindowStaysOnTopHint);
ui->labelMessage->setText(message);
ui->labelIcon->setPixmap(QIcon::fromTheme(iconName,QIcon::fromTheme("dialog-password")).pixmap(64, 64));
ui->textEditDetails->setText(details);
ui->textEditDetails->setVisible(false);
this->resize(this->width(),this->sizeHint().height());
this->raise();
this->activateWindow();
ui->lineEditPassword->setFocus();
}
void DialogAgent::show()
{
ui->lineEditPassword->setFocus();
this->raise();
this->activateWindow();
setFocus();
ui->lineEditPassword->setFocus();
QDialog::show();
}
DialogAgent::~DialogAgent()
{
delete ui;
}
void DialogAgent::setIdentities(const QStringList &identities)
{
foreach (QString identity, identities)
{
QString userName=identity;
// m_identityMap[userName] = identity;
ui->comboBoxIdentity->addItem(userName.section(":",-1),identity);
}
QString curUser=qgetenv("USER");
qDebug()<<"curent user :"+curUser;
int idx= ui->comboBoxIdentity->findText(curUser);
if(idx>-1)
ui->comboBoxIdentity->setCurrentIndex(idx);
}
void DialogAgent::setPrompt(const QString &text, bool echo)
{
ui->labelPrompt->setText(text);
ui->lineEditPassword->setEchoMode(echo ? QLineEdit::Normal : QLineEdit::Password);
ui->lineEditPassword->setFocus();
}
QString DialogAgent::identity()
{
int idx = ui->comboBoxIdentity->currentIndex();
return ui->comboBoxIdentity->itemData(idx).toString();
}
QString DialogAgent::response()
{
return ui->lineEditPassword->text();
}
void DialogAgent::on_toolButton_toggled(bool checked)
{
Q_UNUSED(checked);
QTimer::singleShot(10,this,SLOT(adjustMe()));
}