itom  4.1.0
userManagementEdit.h
1 /* ********************************************************************
2  itom software
3  URL: http://www.uni-stuttgart.de/ito
4  Copyright (C) 2020, Institut fuer Technische Optik (ITO),
5  Universitaet Stuttgart, Germany
6 
7  This file is part of itom.
8 
9  itom is free software; you can redistribute it and/or modify it
10  under the terms of the GNU Library General Public Licence as published by
11  the Free Software Foundation; either version 2 of the Licence, or (at
12  your option) any later version.
13 
14  itom is distributed in the hope that it will be useful, but
15  WITHOUT ANY WARRANTY; without even the implied warranty of
16  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library
17  General Public Licence for more details.
18 
19  You should have received a copy of the GNU Library General Public License
20  along with itom. If not, see <http://www.gnu.org/licenses/>.
21 *********************************************************************** */
22 
23 #ifndef USERMANAGEMENTEDITWIDGET_H
24 #define USERMANAGEMENTEDITWIDGET_H
25 
26 #include "../models/UserModel.h"
27 
28 #include <qdialog.h>
29 
30 #include "ui_userManagementEdit.h"
31 
32 namespace ito {
33 
34 class DialogUserManagementEdit : public QDialog
35 {
36  Q_OBJECT
37 
38  public:
39  DialogUserManagementEdit(const QString &filename, UserModel *userModel, QWidget * parent = 0, Qt::WindowFlags f = 0, bool isStandardUser = false);
41  Ui::userManagementEdit ui;
42 
43  private:
44  void updateScriptButtons();
45  void enableWidgetsByUserRole(const UserRole currentUserRole, const UserFeatures &currentFeatures, const UserRole userRole, const UserFeatures &features);
46 
47  UserModel *m_userModel;
48  bool saveUser();
49  QString m_fileName;
50  QByteArray m_oldPassword;
51  QString m_osUser;
52  bool m_showsStandardUser;
53 
54  protected:
55  QString clearName(const QString &name);
56 
57  private slots:
58  void on_buttonBox_clicked(QAbstractButton* btn);
59  void on_lv_startUpScripts_currentRowChanged(int row);
60  void on_lineEdit_name_textChanged(const QString &text);
61  void on_cmdAutoID_toggled(bool checked);
62 
63  public slots:
64  void on_pb_addScript_clicked();
65  void on_pb_removeScript_clicked();
66  void on_pb_downScript_clicked();
67  void on_pb_upScript_clicked();
68  void on_cmdUseWindowsUser_clicked();
69 };
70 
71 } //end namespace ito
72 
73 #endif //USERMANAGEMENTEDITWIDGET_H
Definition: userManagementEdit.h:34
class for for visualizing the available users
Definition: UserModel.h:80
Definition: apiFunctionsGraph.cpp:39
UserRole
Enumeration that defines some user roles.
Definition: UserModel.h:32
void enableWidgetsByUserRole(const UserRole currentUserRole, const UserFeatures &currentFeatures, const UserRole userRole, const UserFeatures &features)
sets the enabled and check state of many controls depending on the rights of the currently logged use...
Definition: userManagementEdit.cpp:292