README
[n9profile] / networkprofile.h
1 #ifndef NETWORKPROFILE_H
2 #define NETWORKPROFILE_H
3
4 #include <QWidget>
5 #include <QtCore/QString>
6 #include <QSystemNetworkInfo>
7 QTM_USE_NAMESPACE
8 class QStandardItemModel;
9 class QModelIndex;
10 class QItemSelectionModel;
11 class QStringList;
12 class QSettings;
13 class QTimer;
14
15 /** \class NetWorkProfile
16   \brief class for setting profile based on network rules
17  */
18 class NetWorkProfile : public QWidget
19 {
20     Q_OBJECT
21 public:
22     explicit NetWorkProfile(QWidget *parent = 0, QSettings *sett = 0);
23     void Init();
24     void ShowDialog();
25     void createModels(QStandardItemModel * cellM, QStandardItemModel * wifiM);
26
27 signals:
28     void s_network_profile(QString profile);
29
30 public slots:
31     void SetProfilenames(QStringList  list_of_profiles_n);
32     void DeletedProfile(QString name);
33
34 private slots:
35     void ChangeInCellLocation();
36
37 private:
38     QSystemNetworkInfo * p_networkcl;
39     QTimer *timer;
40     QSettings * settings;
41     QString profile_Currently;
42     QString CellLocation;
43     QString WifiName;
44
45     void SetProfile();
46
47     QString FindWifiNameInModel(QString WifiNam);
48     QString FindIDLocInModel(QString IDCell);
49
50     QStandardItemModel *model_of_CellId;
51     QItemSelectionModel *selModel_CellId;
52     QStandardItemModel *model_of_WifiIf;
53     QItemSelectionModel* selModel_WifiIf;
54
55     void setProfile();
56
57     QStringList list_of_profiles;
58
59   private slots:
60     void ChangeInModel();
61     void ChangeInWifiName(QSystemNetworkInfo::NetworkMode,  QString );
62 };
63
64 #endif // NETWORKPROFILE_H