summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-console/default.cpp8
-rw-r--r--noncore/apps/opie-console/default.h1
-rw-r--r--noncore/apps/opie-console/function_keyboard.cpp33
-rw-r--r--noncore/apps/opie-console/function_keyboard.h16
-rw-r--r--noncore/apps/opie-console/metafactory.cpp20
-rw-r--r--noncore/apps/opie-console/metafactory.h5
-rw-r--r--noncore/apps/opie-console/profiledialogwidget.cpp11
-rw-r--r--noncore/apps/opie-console/profiledialogwidget.h11
-rw-r--r--noncore/apps/opie-console/profileeditordialog.cpp20
-rw-r--r--noncore/apps/opie-console/profileeditordialog.h7
10 files changed, 123 insertions, 9 deletions
diff --git a/noncore/apps/opie-console/default.cpp b/noncore/apps/opie-console/default.cpp
index 8b905e1..0160b56 100644
--- a/noncore/apps/opie-console/default.cpp
+++ b/noncore/apps/opie-console/default.cpp
@@ -8,8 +8,9 @@
8#include "irdaconfigwidget.h" 8#include "irdaconfigwidget.h"
9#include "btconfigwidget.h" 9#include "btconfigwidget.h"
10#include "modemconfigwidget.h" 10#include "modemconfigwidget.h"
11#include "terminalwidget.h" 11#include "terminalwidget.h"
12#include "function_keyboard.h"
12#include "MyPty.h" 13#include "MyPty.h"
13 14
14#include "default.h" 15#include "default.h"
15 16
@@ -75,8 +76,13 @@ extern "C" {
75 ProfileDialogWidget* newTerminalWidget(const QString& na, QWidget* wid) { 76 ProfileDialogWidget* newTerminalWidget(const QString& na, QWidget* wid) {
76 return new TerminalWidget(na, wid,0 ); 77 return new TerminalWidget(na, wid,0 );
77 } 78 }
78 79
80 // Function Keyboard Widget
81 ProfileDialogWidget* newKeyboardWidget(const QString& na, QWidget *wid) {
82 return new FunctionKeyboardConfig(na, wid);
83 }
84
79/* // VT Emulations 85/* // VT Emulations
80 EmulationLayer* newVT102( WidgetLayer* wid ) { 86 EmulationLayer* newVT102( WidgetLayer* wid ) {
81 return new Vt102Emulation( wid ); 87 return new Vt102Emulation( wid );
82 } 88 }
@@ -104,8 +110,10 @@ Default::Default( MetaFactory* fact ) {
104 fact->addConnectionWidgetFactory( "bt", QObject::tr("Bluetooth"), newBTWidget ); 110 fact->addConnectionWidgetFactory( "bt", QObject::tr("Bluetooth"), newBTWidget );
105 fact->addConnectionWidgetFactory( "console", QObject::tr("Console"), newConsoleWid ); 111 fact->addConnectionWidgetFactory( "console", QObject::tr("Console"), newConsoleWid );
106 112
107 fact->addTerminalWidgetFactory( "default", QObject::tr("Default Terminal"), newTerminalWidget ); 113 fact->addTerminalWidgetFactory( "default", QObject::tr("Default Terminal"), newTerminalWidget );
114 fact->addKeyboardWidgetFactory( "defaultKeys", QObject::tr("Default Keyboard"),
115 newKeyboardWidget );
108 116
109// fact->addEmulationLayer( "default", QObject::tr("Default Terminal"), newVT102 ); 117// fact->addEmulationLayer( "default", QObject::tr("Default Terminal"), newVT102 );
110} 118}
111Default::~Default() { 119Default::~Default() {
diff --git a/noncore/apps/opie-console/default.h b/noncore/apps/opie-console/default.h
index b8cda03..5b542f5 100644
--- a/noncore/apps/opie-console/default.h
+++ b/noncore/apps/opie-console/default.h
@@ -24,8 +24,9 @@ extern "C" {
24 ProfileDialogWidget* newBTWidget (const QString&, QWidget* ); 24 ProfileDialogWidget* newBTWidget (const QString&, QWidget* );
25 ProfileDialogWidget* newConsoleWid (const QString&, QWidget* ); 25 ProfileDialogWidget* newConsoleWid (const QString&, QWidget* );
26 26
27 ProfileDialogWidget* newTerminalWidget(const QString&, QWidget* ); 27 ProfileDialogWidget* newTerminalWidget(const QString&, QWidget* );
28 ProfileDialogWidget* newKeyboardWidget(const QString&, QWidget* );
28 29
29// EmulationLayer* newVT102( WidgetLayer* ); 30// EmulationLayer* newVT102( WidgetLayer* );
30}; 31};
31 32
diff --git a/noncore/apps/opie-console/function_keyboard.cpp b/noncore/apps/opie-console/function_keyboard.cpp
index 4119ad4..fd20e99 100644
--- a/noncore/apps/opie-console/function_keyboard.cpp
+++ b/noncore/apps/opie-console/function_keyboard.cpp
@@ -2,8 +2,9 @@
2#include <qsizepolicy.h> 2#include <qsizepolicy.h>
3#include <qevent.h> 3#include <qevent.h>
4#include <qwindowsystem_qws.h> 4#include <qwindowsystem_qws.h>
5#include <qapplication.h> 5#include <qapplication.h>
6#include <qlayout.h>
6 7
7FunctionKeyboard::FunctionKeyboard(QWidget *parent) : 8FunctionKeyboard::FunctionKeyboard(QWidget *parent) :
8 QFrame(parent), numRows(2), numCols(11), 9 QFrame(parent), numRows(2), numCols(11),
9 pressedRow(0), pressedCol(0) { 10 pressedRow(0), pressedCol(0) {
@@ -11,10 +12,10 @@ FunctionKeyboard::FunctionKeyboard(QWidget *parent) :
11 setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Fixed)); 12 setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Fixed));
12 13
13 Config conf("opie-console-keys"); 14 Config conf("opie-console-keys");
14 conf.setGroup("keys"); 15 conf.setGroup("keys");
15 for (int r = 0; r < numRows; r++) 16 for (uint r = 0; r < numRows; r++)
16 for (int c = 0; c < numCols; c++) { 17 for (uint c = 0; c < numCols; c++) {
17 18
18 QString handle = "r" + QString::number(r) + "c" + QString::number(c); 19 QString handle = "r" + QString::number(r) + "c" + QString::number(c);
19 QStringList value_list = conf.readListEntry( handle, '|'); 20 QStringList value_list = conf.readListEntry( handle, '|');
20 21
@@ -58,10 +59,10 @@ void FunctionKeyboard::paintEvent(QPaintEvent *e) {
58 59
59 p.drawLine(0, i, width(), i); 60 p.drawLine(0, i, width(), i);
60 } 61 }
61 62
62 for (int r = 0; r < numRows; r++) { 63 for (uint r = 0; r < numRows; r++) {
63 for (int c = 0; c < numCols; c++) { 64 for (uint c = 0; c < numCols; c++) {
64 65
65 QString handle = "r" + QString::number(r) + "c" + QString::number(c); 66 QString handle = "r" + QString::number(r) + "c" + QString::number(c);
66 if (keys.contains(handle)) { 67 if (keys.contains(handle)) {
67 68
@@ -154,4 +155,28 @@ void FunctionKeyboard::loadDefaults() {
154 keys.insert( "r1c9", FKey ("PU", 4118, 0)); 155 keys.insert( "r1c9", FKey ("PU", 4118, 0));
155 keys.insert( "r1c10", FKey ("PD", 4119, 0)); 156 keys.insert( "r1c10", FKey ("PD", 4119, 0));
156 157
157} 158}
159
160
161FunctionKeyboardConfig::FunctionKeyboardConfig(const QString& name, QWidget* parent) :
162 ProfileDialogKeyWidget(name, parent) {
163
164
165 FunctionKeyboard *kb = new FunctionKeyboard(this);
166 QGroupBox *dimentions = new QGroupBox(2, Qt::Horizontal, tr("Dimentions"), this);
167 QGroupBox *editKey = new QGroupBox(2, Qt::Horizontal, tr("Edit"), this);
168
169 QVBoxLayout *root = new QVBoxLayout(this, 2);
170 root->addWidget(kb);
171 root->addWidget(dimentions);
172 root->addWidget(editKey);
173}
174FunctionKeyboardConfig::~FunctionKeyboardConfig() {
175
176}
177void FunctionKeyboardConfig::load (const Profile& prof) {
178
179}
180void FunctionKeyboardConfig::save (Profile& prof) {
181
182}
diff --git a/noncore/apps/opie-console/function_keyboard.h b/noncore/apps/opie-console/function_keyboard.h
index 8d05e2b..2be74b4 100644
--- a/noncore/apps/opie-console/function_keyboard.h
+++ b/noncore/apps/opie-console/function_keyboard.h
@@ -3,9 +3,12 @@
3 3
4#include <qpe/config.h> 4#include <qpe/config.h>
5#include <qframe.h> 5#include <qframe.h>
6#include <qpainter.h> 6#include <qpainter.h>
7#include <qvbox.h>
8#include <qgroupbox.h>
7#include <qmap.h> 9#include <qmap.h>
10#include "profiledialogwidget.h"
8 11
9class FKey { 12class FKey {
10 13
11public: 14public:
@@ -63,5 +66,18 @@ private:
63 QObject *parent; 66 QObject *parent;
64 67
65}; 68};
66 69
70class FunctionKeyboardConfig : public ProfileDialogKeyWidget {
71 Q_OBJECT
72public:
73 FunctionKeyboardConfig(const QString& name, QWidget *wid);
74 ~FunctionKeyboardConfig();
75
76 void load(const Profile&);
77 void save(Profile&);
78
79private:
80
81};
82
67#endif 83#endif
diff --git a/noncore/apps/opie-console/metafactory.cpp b/noncore/apps/opie-console/metafactory.cpp
index 04a5dfa..0b43e17 100644
--- a/noncore/apps/opie-console/metafactory.cpp
+++ b/noncore/apps/opie-console/metafactory.cpp
@@ -17,8 +17,15 @@ void MetaFactory::addTerminalWidgetFactory( const QCString& name,
17 configWidget wid ) { 17 configWidget wid ) {
18 m_strings.insert( str, name ); 18 m_strings.insert( str, name );
19 m_termFact.insert( str, wid ); 19 m_termFact.insert( str, wid );
20} 20}
21void MetaFactory::addKeyboardWidgetFactory( const QCString& name,
22 const QString & str,
23 configWidget wid) {
24 m_strings.insert( str, name );
25 m_keyFact.insert( str, wid );
26
27}
21void MetaFactory::addIOLayerFactory( const QCString& name, 28void MetaFactory::addIOLayerFactory( const QCString& name,
22 const QString& str, 29 const QString& str,
23 iolayer lay) { 30 iolayer lay) {
24 m_strings.insert( str, name ); 31 m_strings.insert( str, name );
@@ -127,8 +134,21 @@ ProfileDialogWidget *MetaFactory::newTerminalPlugin( const QString& str, QWidget
127 wid = (*(it.data() ) )(str,parent); 134 wid = (*(it.data() ) )(str,parent);
128 } 135 }
129 return wid; 136 return wid;
130} 137}
138ProfileDialogWidget *MetaFactory::newKeyboardPlugin( const QString& str, QWidget *parent) {
139
140 if (str.isEmpty() )
141 return 0l;
142 ProfileDialogWidget* wid = 0l;
143
144 QMap<QString, configWidget>::Iterator it;
145 it = m_keyFact.find( str );
146 if ( it != m_keyFact.end() ) {
147 wid = (*(it.data() ) )(str,parent);
148 }
149 return wid;
150}
131EmulationLayer* MetaFactory::newEmulationLayer( const QString& str, WidgetLayer* wid) { 151EmulationLayer* MetaFactory::newEmulationLayer( const QString& str, WidgetLayer* wid) {
132 EmulationLayer* lay = 0l; 152 EmulationLayer* lay = 0l;
133 153
134 QMap<QString, emulationLayer>::Iterator it; 154 QMap<QString, emulationLayer>::Iterator it;
diff --git a/noncore/apps/opie-console/metafactory.h b/noncore/apps/opie-console/metafactory.h
index d6aa5e2..f89136c 100644
--- a/noncore/apps/opie-console/metafactory.h
+++ b/noncore/apps/opie-console/metafactory.h
@@ -39,8 +39,11 @@ public:
39 configWidget ); 39 configWidget );
40 void addTerminalWidgetFactory ( const QCString& internalName, 40 void addTerminalWidgetFactory ( const QCString& internalName,
41 const QString& name, 41 const QString& name,
42 configWidget ); 42 configWidget );
43 void addKeyboardWidgetFactory ( const QCString& internalName,
44 const QString& name,
45 configWidget );
43 46
44 /** 47 /**
45 * adds an IOLayer factory 48 * adds an IOLayer factory
46 */ 49 */
@@ -82,8 +85,9 @@ public:
82 */ 85 */
83 IOLayer* newIOLayer( const QString&,const Profile& ); 86 IOLayer* newIOLayer( const QString&,const Profile& );
84 ProfileDialogWidget *newConnectionPlugin ( const QString&, QWidget* ); 87 ProfileDialogWidget *newConnectionPlugin ( const QString&, QWidget* );
85 ProfileDialogWidget* newTerminalPlugin( const QString&, QWidget* ); 88 ProfileDialogWidget* newTerminalPlugin( const QString&, QWidget* );
89 ProfileDialogWidget* newKeyboardPlugin( const QString&, QWidget* );
86 EmulationLayer* newEmulationLayer(const QString&, WidgetLayer* ); 90 EmulationLayer* newEmulationLayer(const QString&, WidgetLayer* );
87 FileTransferLayer* newFileTransfer(const QString&, IOLayer* ); 91 FileTransferLayer* newFileTransfer(const QString&, IOLayer* );
88 ReceiveLayer* newReceive(const QString&, IOLayer* ); 92 ReceiveLayer* newReceive(const QString&, IOLayer* );
89 93
@@ -104,8 +108,9 @@ public:
104private: 108private:
105 QMap<QString, QCString> m_strings; 109 QMap<QString, QCString> m_strings;
106 QMap<QString, configWidget> m_conFact; 110 QMap<QString, configWidget> m_conFact;
107 QMap<QString, configWidget> m_termFact; 111 QMap<QString, configWidget> m_termFact;
112 QMap<QString, configWidget> m_keyFact;
108 QMap<QString, iolayer> m_layerFact; 113 QMap<QString, iolayer> m_layerFact;
109 QMap<QString, filelayer> m_fileFact; 114 QMap<QString, filelayer> m_fileFact;
110 QMap<QString, receivelayer> m_receiveFact; 115 QMap<QString, receivelayer> m_receiveFact;
111 QMap<QString, emulationLayer> m_emu; 116 QMap<QString, emulationLayer> m_emu;
diff --git a/noncore/apps/opie-console/profiledialogwidget.cpp b/noncore/apps/opie-console/profiledialogwidget.cpp
index 24d59bf..caad998 100644
--- a/noncore/apps/opie-console/profiledialogwidget.cpp
+++ b/noncore/apps/opie-console/profiledialogwidget.cpp
@@ -29,4 +29,15 @@ ProfileDialogConnectionWidget::~ProfileDialogConnectionWidget() {
29} 29}
30ProfileDialogWidget::Type ProfileDialogConnectionWidget::type()const { 30ProfileDialogWidget::Type ProfileDialogConnectionWidget::type()const {
31 return Connection; 31 return Connection;
32} 32}
33ProfileDialogKeyWidget::ProfileDialogKeyWidget( const QString &na,
34 QWidget *parent,
35 const char *name)
36 : ProfileDialogWidget(na, parent, name )
37{
38}
39ProfileDialogKeyWidget::~ProfileDialogKeyWidget() {
40}
41ProfileDialogWidget::Type ProfileDialogKeyWidget::type() const{
42 return Keyboard;
43}
diff --git a/noncore/apps/opie-console/profiledialogwidget.h b/noncore/apps/opie-console/profiledialogwidget.h
index 5d279e6..9d2d5ec 100644
--- a/noncore/apps/opie-console/profiledialogwidget.h
+++ b/noncore/apps/opie-console/profiledialogwidget.h
@@ -9,9 +9,10 @@ class ProfileDialogWidget : public QWidget {
9 Q_OBJECT 9 Q_OBJECT
10public: 10public:
11 enum Type { 11 enum Type {
12 Connection, 12 Connection,
13 Terminal 13 Terminal,
14 Keyboard
14 }; 15 };
15 ProfileDialogWidget( const QString& name, QWidget* parent, const char* name = 0l); 16 ProfileDialogWidget( const QString& name, QWidget* parent, const char* name = 0l);
16 ~ProfileDialogWidget(); 17 ~ProfileDialogWidget();
17 18
@@ -45,6 +46,14 @@ public:
45 ~ProfileDialogConnectionWidget(); 46 ~ProfileDialogConnectionWidget();
46 Type type() const; 47 Type type() const;
47 48
48}; 49};
50class ProfileDialogKeyWidget : public ProfileDialogWidget {
51 Q_OBJECT
52public:
53 ProfileDialogKeyWidget( const QString &name, QWidget* parent,
54 const char *name =0l);
55 ~ProfileDialogKeyWidget();
56 Type type() const;
57};
49 58
50#endif 59#endif
diff --git a/noncore/apps/opie-console/profileeditordialog.cpp b/noncore/apps/opie-console/profileeditordialog.cpp
index d124067..2dfc0fd 100644
--- a/noncore/apps/opie-console/profileeditordialog.cpp
+++ b/noncore/apps/opie-console/profileeditordialog.cpp
@@ -52,9 +52,9 @@ Profile ProfileEditorDialog::profile() const
52} 52}
53 53
54void ProfileEditorDialog::initUI() 54void ProfileEditorDialog::initUI()
55{ 55{
56 m_con = m_term = 0l; 56 m_con = m_term = m_key = 0l;
57 57
58 QVBoxLayout *mainLayout = new QVBoxLayout( this ); 58 QVBoxLayout *mainLayout = new QVBoxLayout( this );
59 tabWidget = new OTabWidget( this ); 59 tabWidget = new OTabWidget( this );
60 tabWidget->setTabStyle(OTabWidget::TextTab); 60 tabWidget->setTabStyle(OTabWidget::TextTab);
@@ -63,12 +63,14 @@ void ProfileEditorDialog::initUI()
63 /* base tabs */ 63 /* base tabs */
64 tabprof = new QWidget(this); 64 tabprof = new QWidget(this);
65 m_tabTerm = new QWidget(this); 65 m_tabTerm = new QWidget(this);
66 m_tabCon = new QWidget(this); 66 m_tabCon = new QWidget(this);
67 m_tabKey = new QWidget(this);
67 68
68 /* base layout for tabs */ 69 /* base layout for tabs */
69 m_layCon = new QHBoxLayout( m_tabCon , 2 ); 70 m_layCon = new QHBoxLayout( m_tabCon , 2 );
70 m_layTerm = new QHBoxLayout( m_tabTerm, 2 ); 71 m_layTerm = new QHBoxLayout( m_tabTerm, 2 );
72 m_layKey = new QHBoxLayout( m_tabKey, 2 );
71 73
72 // profile tab 74 // profile tab
73 75
74 QLabel *name = new QLabel(QObject::tr("Profile name"), tabprof); 76 QLabel *name = new QLabel(QObject::tr("Profile name"), tabprof);
@@ -93,8 +95,9 @@ void ProfileEditorDialog::initUI()
93 m_showconntab = 0; 95 m_showconntab = 0;
94 tabWidget->addTab(tabprof, "", QObject::tr("Profile")); 96 tabWidget->addTab(tabprof, "", QObject::tr("Profile"));
95 //tabWidget->addTab(m_tabCon, "", QObject::tr("Connection")); 97 //tabWidget->addTab(m_tabCon, "", QObject::tr("Connection"));
96 tabWidget->addTab(m_tabTerm, "", QObject::tr("Terminal")); 98 tabWidget->addTab(m_tabTerm, "", QObject::tr("Terminal"));
99 tabWidget->addTab(m_tabKey, "", QObject::tr("Special Keys"));
97 tabWidget->setCurrentTab( tabprof ); 100 tabWidget->setCurrentTab( tabprof );
98 101
99 102
100 // fill the comboboxes 103 // fill the comboboxes
@@ -111,8 +114,9 @@ void ProfileEditorDialog::initUI()
111 // load profile values 114 // load profile values
112 m_name->setText(m_prof.name()); 115 m_name->setText(m_prof.name());
113 slotConActivated( m_fact->external(m_prof.ioLayerName() ) ); 116 slotConActivated( m_fact->external(m_prof.ioLayerName() ) );
114 slotTermActivated( m_fact->external(m_prof.terminalName() ) ); 117 slotTermActivated( m_fact->external(m_prof.terminalName() ) );
118 slotKeyActivated( "Default Keyboard" );
115 setCurrent( m_fact->external(m_prof.ioLayerName() ), m_conCmb ); 119 setCurrent( m_fact->external(m_prof.ioLayerName() ), m_conCmb );
116 setCurrent( m_fact->external(m_prof.terminalName() ), m_termCmb ); 120 setCurrent( m_fact->external(m_prof.terminalName() ), m_termCmb );
117 m_autoConnect->setChecked(m_prof.autoConnect()); 121 m_autoConnect->setChecked(m_prof.autoConnect());
118 122
@@ -149,8 +153,10 @@ void ProfileEditorDialog::accept()
149 if (m_con ) 153 if (m_con )
150 m_con->save( m_prof ); 154 m_con->save( m_prof );
151 if (m_term ) 155 if (m_term )
152 m_term->save( m_prof ); 156 m_term->save( m_prof );
157 if (m_key)
158 m_key->save( m_prof );
153 159
154 QDialog::accept(); 160 QDialog::accept();
155} 161}
156 162
@@ -177,8 +183,9 @@ void ProfileEditorDialog::slotConActivated( const QString& str ) {
177 183
178 if ( m_con ) { 184 if ( m_con ) {
179 m_con->load( m_prof ); 185 m_con->load( m_prof );
180 m_layCon->addWidget( m_con ); 186 m_layCon->addWidget( m_con );
187
181 if(!m_showconntab) 188 if(!m_showconntab)
182 { 189 {
183 tabWidget->addTab( m_tabCon, "", QObject::tr("Connection") ); 190 tabWidget->addTab( m_tabCon, "", QObject::tr("Connection") );
184 tabWidget->setCurrentTab( tabprof ); 191 tabWidget->setCurrentTab( tabprof );
@@ -201,4 +208,15 @@ void ProfileEditorDialog::slotTermActivated( const QString& str ) {
201 m_layTerm->addWidget( m_term ); 208 m_layTerm->addWidget( m_term );
202 } 209 }
203} 210}
204 211
212void ProfileEditorDialog::slotKeyActivated(const QString &str) {
213 delete m_key;
214 m_key = m_fact->newKeyboardPlugin( str, m_tabKey );
215
216 if (m_key) {
217
218 m_key->load(m_prof);
219 m_layKey->addWidget(m_key);
220 }
221
222}
diff --git a/noncore/apps/opie-console/profileeditordialog.h b/noncore/apps/opie-console/profileeditordialog.h
index cbda689..6216660 100644
--- a/noncore/apps/opie-console/profileeditordialog.h
+++ b/noncore/apps/opie-console/profileeditordialog.h
@@ -32,8 +32,9 @@ public slots:
32 32
33private slots: 33private slots:
34 void slotConActivated(const QString& ); 34 void slotConActivated(const QString& );
35 void slotTermActivated( const QString& ); 35 void slotTermActivated( const QString& );
36 void slotKeyActivated(const QString&);
36private: 37private:
37 void initUI(); 38 void initUI();
38 QString profName()const; 39 QString profName()const;
39 QCString profType()const; 40 QCString profType()const;
@@ -45,11 +46,11 @@ private:
45 QLineEdit *m_name; 46 QLineEdit *m_name;
46 QComboBox *m_conCmb, *m_termCmb; 47 QComboBox *m_conCmb, *m_termCmb;
47 QCheckBox *m_autoConnect; 48 QCheckBox *m_autoConnect;
48 49
49 QWidget *m_tabCon, *m_tabTerm; 50 QWidget *m_tabCon, *m_tabTerm, *m_tabKey;
50 ProfileDialogWidget* m_con, *m_term; 51 ProfileDialogWidget* m_con, *m_term, *m_key;
51 QHBoxLayout *m_layCon, *m_layTerm; 52 QHBoxLayout *m_layCon, *m_layTerm, *m_layKey;
52 OTabWidget *tabWidget; 53 OTabWidget *tabWidget;
53 QWidget *tabprof; 54 QWidget *tabprof;
54 int m_showconntab; 55 int m_showconntab;
55}; 56};