qTox  Version: nightly | Commit: bc751c8e1cac455f9690654fcfe0f560d2d7dfdd
loginscreen.h
Go to the documentation of this file.
1 /*
2  Copyright © 2015-2019 by The qTox Project Contributors
3 
4  This file is part of qTox, a Qt-based graphical interface for Tox.
5 
6  qTox is libre software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  qTox is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with qTox. If not, see <http://www.gnu.org/licenses/>.
18 */
19 
20 
21 #pragma once
22 
23 #include <QDialog>
24 #include <QShortcut>
25 #include <QToolButton>
26 
27 class Profile;
28 
29 namespace Ui {
30 class LoginScreen;
31 }
32 
33 class LoginScreen : public QDialog
34 {
35  Q_OBJECT
36 
37 public:
38  LoginScreen(const QString& initialProfileName = QString(), QWidget* parent = nullptr);
39  ~LoginScreen();
40  bool event(QEvent* event) final;
41 
42 signals:
43 
44  void windowStateChanged(Qt::WindowStates states);
45  void autoLoginChanged(bool state);
46  void createNewProfile(QString name, const QString& pass);
47  void loadProfile(QString name, const QString& pass);
48 
49 public slots:
50  void onProfileLoaded();
51  void onProfileLoadFailed();
52  void onAutoLoginChanged(bool state);
53 
54 private slots:
55  void onAutoLoginCheckboxChanged(int state);
56  void onLoginUsernameSelected(const QString& name);
57  void onPasswordEdited();
58  // Buttons to change page
60  void onLoginPageClicked();
61  // Buttons to submit form
62  void onCreateNewProfile();
63  void onLogin();
64  void onImportProfile();
65 
66 private:
67  void reset(const QString& initialProfileName = QString());
68  void retranslateUi();
69  void showCapsIndicator();
70  void hideCapsIndicator();
71  void checkCapsLock();
72 
73 private:
74  Ui::LoginScreen* ui;
75  QShortcut quitShortcut;
76 };
LoginScreen::onImportProfile
void onImportProfile()
Definition: loginscreen.cpp:238
LoginScreen::hideCapsIndicator
void hideCapsIndicator()
LoginScreen::loadProfile
void loadProfile(QString name, const QString &pass)
LoginScreen
Definition: loginscreen.h:33
LoginScreen::onPasswordEdited
void onPasswordEdited()
Definition: loginscreen.cpp:222
Profile
Handles all qTox internal paths.
Definition: profile.h:42
LoginScreen::ui
Ui::LoginScreen * ui
Definition: loginscreen.h:74
LoginScreen::event
bool event(QEvent *event) final
Definition: loginscreen.cpp:119
LoginScreen::checkCapsLock
void checkCapsLock()
LoginScreen::autoLoginChanged
void autoLoginChanged(bool state)
LoginScreen::onProfileLoaded
void onProfileLoaded()
Definition: loginscreen.cpp:102
LoginScreen::onCreateNewProfile
void onCreateNewProfile()
Definition: loginscreen.cpp:145
Ui
Definition: filetransferwidget.h:30
LoginScreen::onNewProfilePageClicked
void onNewProfilePageClicked()
Definition: loginscreen.cpp:135
LoginScreen::onLoginPageClicked
void onLoginPageClicked()
Definition: loginscreen.cpp:140
LoginScreen::quitShortcut
QShortcut quitShortcut
Definition: loginscreen.h:75
LoginScreen::createNewProfile
void createNewProfile(QString name, const QString &pass)
LoginScreen::onProfileLoadFailed
void onProfileLoadFailed()
Definition: loginscreen.cpp:107
LoginScreen::onAutoLoginChanged
void onAutoLoginChanged(bool state)
Definition: loginscreen.cpp:114
LoginScreen::onLoginUsernameSelected
void onLoginUsernameSelected(const QString &name)
Definition: loginscreen.cpp:178
LoginScreen::onLogin
void onLogin()
Definition: loginscreen.cpp:200
LoginScreen::windowStateChanged
void windowStateChanged(Qt::WindowStates states)
LoginScreen::onAutoLoginCheckboxChanged
void onAutoLoginCheckboxChanged(int state)
Definition: loginscreen.cpp:227
LoginScreen::retranslateUi
void retranslateUi()
Definition: loginscreen.cpp:233
LoginScreen::LoginScreen
LoginScreen(const QString &initialProfileName=QString(), QWidget *parent=nullptr)
Definition: loginscreen.cpp:35
LoginScreen::showCapsIndicator
void showCapsIndicator()
LoginScreen::reset
void reset(const QString &initialProfileName=QString())
Resets the UI, clears all fields.
Definition: loginscreen.cpp:78
LoginScreen::~LoginScreen
~LoginScreen()
Definition: loginscreen.cpp:69