-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathMainWindow.h
executable file
·94 lines (78 loc) · 3.7 KB
/
MainWindow.h
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
83
84
85
86
87
88
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
//
#include "ui_mainwindow.h"
#include "ui_UserProperties.h"
#include "ui_EditProperties.h"
#include "ui_GroupProperties.h"
#include "ui_Settings.h"
#include "ui_About.h"
#include "userproperties.h"
#include "editProperties.h"
#include "groupProperties.h"
#include "Settings.h"
#include "About.h"
#include "users.h"
#include "myLibb.h"
#include "groups.h"
#include "models.h"
#include "pathfile.h"
#include <unistd.h>
/**
* Η MainWindow είναι η κλάση ορίου-διεπαφής στην οποία βρίσκεται η αρχική φόρμα που εμφανίζεται στο πρόγραμμα. Σε αυτήν την φόρμα εμφανίζονται και οι βασικές πληροφορίες για τους χρήστες και τις ομάδες του συστήματος. Οι περισσότερες ενέργειες του προγράμματος ξεκινάνε από την MainWindow,ανάμεσα τους και οι ενέργειες της εισαγωγής,διαγραφής,επεξεργασίας,αναζήτησης χρηστών και ομάδων. Επικοινωνεί με όλες τις κλάσεις του προγράμματος για να είναι εφικτή η δημιουργία αντικειμένων από αυτές. Οι περισσότερες συναρτήσεις της αντιστοιχούν στις ενέργειες που μπορεί να εκτελέσει ο διαχειριστής από την αρχική φόρμα. Για κάθε ενέργεια που ξεκινάει από την φόρμα,υπάρχει και μια σύνδεση στον constructor της κλάσης που συνδέει το κάθε signal-ενέργεια με την αντίστοιχη slot-υλοποίηση και είναι της μορφής :
connect( addUserBtn,SIGNAL( clicked() ),this,SLOT( addUserBtnClicked() ) );
Στο παραπάνω παράδειγμα αντιστοιχίζεται το 'κλικ' στο κουμπί της εισαγωγής νέου χρήστη με την συνάρτηση addUserBtnClicked().Έτσι μόλις πατηθεί το κουμπί για την εισαγωγή το πρόγραμμα θα υλοποιήσει τον κώδικα που βρίσκεται μέσα στην addUserBtnClicked().
*/
class MainWindow : public QMainWindow, public Ui::MainWindow
{
Q_OBJECT
public:
MainWindow( QWidget * parent = 0, Qt::WindowFlags f = 0 );
~MainWindow();
protected:
bool eventFilter(QObject* obj , QEvent* e);
public slots:
void reloadUsersAndGroups();
private:
QStandardItemModel *userModel;
QStandardItemModel *groupModel;
QStandardItemModel *foundedUserModel;
QStandardItemModel *foundedGroupModel;
QString log;
QString fnam;
QString office1 ;
QString office2 ;
QString address ;
QString dir;
QString ui;
QStringList shell;
struct passwd *users_info;
struct group *groups_info;
void loadUsersAndGroups( );
void initialize();
Spc *spc;
private slots:
void tabChanged( int tab );
void aboutUserManager();
void folderSizeCheckBoxClicked();
void addGroupBtnClicked();
void setPassMenu();
void searchUserBtnClicked();
void addUserBtnClicked();
void searchGroupBtnClicked();
void UserDetails();
void GroupDetails(const QModelIndex &index );
void beautyTree( QTreeView *tree, int columns );
void getSelectedUserInfo( const QModelIndex &index );
void getSelectedGroupInfo( const QModelIndex &index );
void clearEditBoxes();
void calculateFolderSize();
void deleteUser();
int deleteGroup();
void EditUser();
void editGroup();
void getEditDetails(const QModelIndex&);
void openSettings();
void createBackup();
};
#endif