summaryrefslogtreecommitdiffstats
path: root/src/loginform.h
diff options
context:
space:
mode:
authorSimon Rettberg2021-08-05 10:51:39 +0200
committerSimon Rettberg2021-08-05 10:51:39 +0200
commitccd88b7fa33fc27e3d71b57f59dea55ed7430d6e (patch)
tree35edaff0695b7ed47a3f648f8295ea944935f0a0 /src/loginform.h
parentPrefix usernames that start with a digit with _x_ (diff)
downloadslxgreeter-ccd88b7fa33fc27e3d71b57f59dea55ed7430d6e.tar.gz
slxgreeter-ccd88b7fa33fc27e3d71b57f59dea55ed7430d6e.tar.xz
slxgreeter-ccd88b7fa33fc27e3d71b57f59dea55ed7430d6e.zip
Add shibboleth login via browser
Diffstat (limited to 'src/loginform.h')
-rw-r--r--src/loginform.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/loginform.h b/src/loginform.h
index 79a862e..9f65194 100644
--- a/src/loginform.h
+++ b/src/loginform.h
@@ -26,6 +26,8 @@ namespace Ui
class LoginForm;
}
+class WebView;
+
class LoginForm : public QWidget
{
Q_OBJECT
@@ -36,17 +38,25 @@ public:
virtual void setFocus(Qt::FocusReason reason);
public slots:
- void startAuthentication();
+ void startFormBasedAuthentication();
void leaveDropDownActivated(int index);
void onPrompt(QString prompt, QLightDM::Greeter::PromptType promptType);
void onMessage(QString prompt, QLightDM::Greeter::MessageType messageType);
void onAuthenticationComplete();
void cancelLogin();
void hideMessage();
+ void startAuthAs(const QString &user, const QString &pass);
+
+private slots:
+ void setBrowserSize();
+
+signals:
+ void resized();
protected:
virtual void keyPressEvent(QKeyEvent *event) override;
virtual bool eventFilter(QObject *object, QEvent *event) override;
+ virtual void resizeEvent(QResizeEvent *) override;
private:
void initialize();
@@ -56,6 +66,7 @@ private:
void setCurrentSession(QString session);
void showMessage(QString message, bool error);
void resetForm();
+ void enableInputs(bool enable);
Ui::LoginForm *ui;
QMap<int, void (QLightDM::PowerInterface::*)()> powerSlots;
@@ -63,6 +74,10 @@ private:
QTimer cancelLoginTimer;
QTimer hideMessageTimer;
QTimer resetFormTimer;
+ QString password;
+ QSize shibSize, origSize;
+
+ WebView *browser;
bool clearMsg;
int capsOn;