~x2go/x2go/x2goclient_master

« back to all changes in this revision

Viewing changes to src/sessionwidget.h

  • Committer: Mihai Moldovan
  • Date: 2015-03-04 20:15:47 UTC
  • Revision ID: git-v1:b7398771a7abd84ddcff407063edb95dd0a205d3
general: move *.cpp and *.h files to src/ and *.ts files to src/i18n/.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/**************************************************************************
 
2
*   Copyright (C) 2005-2015 by Oleksandr Shneyder                         *
 
3
*   o.shneyder@phoca-gmbh.de                                              *
 
4
*                                                                         *
 
5
*   This program is free software; you can redistribute it and/or modify  *
 
6
*   it under the terms of the GNU General Public License as published by  *
 
7
*   the Free Software Foundation; either version 2 of the License, or     *
 
8
*   (at your option) any later version.                                   *
 
9
*   This program is distributed in the hope that it will be useful,       *
 
10
*   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
 
11
*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
 
12
*   GNU General Public License for more details.                          *
 
13
*                                                                         *
 
14
*   You should have received a copy of the GNU General Public License     *
 
15
*   along with this program.  If not, see <http://www.gnu.org/licenses/>. *
 
16
***************************************************************************/
 
17
 
 
18
#ifndef SESSIONWIDGET_H
 
19
#define SESSIONWIDGET_H
 
20
 
 
21
#include "configwidget.h"
 
22
 
 
23
/**
 
24
        @author Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de>
 
25
*/
 
26
class QLineEdit;
 
27
class QSpinBox;
 
28
class QPushButton;
 
29
class QComboBox;
 
30
class QLabel;
 
31
class QCheckBox;
 
32
class QGroupBox;
 
33
class QRadioButton;
 
34
class SessionWidget : public ConfigWidget
 
35
{
 
36
    Q_OBJECT
 
37
public:
 
38
    SessionWidget ( bool newSession, QString id, ONMainWindow * mv,
 
39
                    QWidget * parent = 0, Qt::WindowFlags f = 0 );
 
40
    ~SessionWidget();
 
41
    void setDefaults();
 
42
    void saveSettings();
 
43
    QString sessionName();
 
44
private slots:
 
45
    void slot_getIcon();
 
46
    void slot_getKey();
 
47
    void slot_changeCmd ( int var );
 
48
    void slot_rdpOptions();
 
49
    void slot_proxyOptions();
 
50
    void slot_proxyType();
 
51
    void slot_proxySameLogin();
 
52
    void slot_proxyGetKey();
 
53
    void slot_krbChecked();
 
54
    void slot_openFolder();
 
55
public slots:
 
56
#ifdef Q_OS_LINUX
 
57
    void slot_rdpDirectClicked();
 
58
    void slot_emitSettings();
 
59
#endif
 
60
 
 
61
private:
 
62
    enum {KDE,GNOME,LXDE,XFCE,MATE,UNITY,CINNAMON,TRINITY,OPENBOX,ICEWM,RDP,XDMCP,SHADOW,OTHER,APPLICATION,PUBLISHED};
 
63
    QLineEdit* sessName;
 
64
    QLineEdit* uname;
 
65
    QLineEdit* server;
 
66
    QSpinBox* sshPort;
 
67
    ONMainWindow* parent;
 
68
    bool newSession;
 
69
#ifdef Q_OS_LINUX
 
70
    QSpinBox* rdpPort;
 
71
#endif
 
72
    QLineEdit* key;
 
73
    QCheckBox* cbAutoLogin;
 
74
    QCheckBox* cbKrbLogin;
 
75
    QCheckBox* cbKrbDelegation;
 
76
#ifdef Q_OS_LINUX
 
77
    QCheckBox* cbDirectRDP;
 
78
#endif
 
79
    QString sessIcon;
 
80
    QPushButton* icon;
 
81
    QLineEdit* cmd;
 
82
    QComboBox* cmdCombo;
 
83
    QComboBox* sessBox;
 
84
    QLabel* leCmdIp;
 
85
    QLabel* lPort;
 
86
    QLabel* lKey;
 
87
    QLabel* lPath;
 
88
    QPushButton* pbAdvanced;
 
89
    QString rdpOptions;
 
90
    QString rdpServer;
 
91
    QString xdmcpServer;
 
92
    QPushButton* openKey;
 
93
    QGroupBox* proxyBox;
 
94
    QCheckBox* cbProxy;
 
95
    QRadioButton* rbSshProxy;
 
96
    QRadioButton* rbHttpProxy;
 
97
    QLineEdit* proxyHost;
 
98
    QSpinBox* proxyPort;
 
99
    QLineEdit* proxyLogin;
 
100
    QLabel* lProxyLogin;
 
101
    QCheckBox* cbProxySameUser;
 
102
    QCheckBox* cbProxySamePass;
 
103
    QCheckBox* cbProxyAutologin;
 
104
    QCheckBox* cbProxyKrbLogin;
 
105
    QLineEdit* proxyKey;
 
106
    QPushButton* pbOpenProxyKey;
 
107
    QLabel* proxyKeyLabel;
 
108
private:
 
109
    void readConfig();
 
110
signals:
 
111
    void nameChanged ( const QString & );
 
112
#ifdef Q_OS_LINUX
 
113
    void directRDP(bool);
 
114
    void settingsChanged(const QString &, const QString &, const QString &);
 
115
#endif
 
116
};
 
117
 
 
118
#endif