summaryrefslogtreecommitdiff
authorzecke <zecke>2002-10-24 12:13:09 (UTC)
committer zecke <zecke>2002-10-24 12:13:09 (UTC)
commitacf708cee945b8b843b0132672d79f5c4571c22b (patch) (unidiff)
tree96b6bee6e6df3c6a252ff5680275f7080ad93729
parent41c59e994e023f5c236502538f54d0f3fce8435a (diff)
downloadopie-acf708cee945b8b843b0132672d79f5c4571c22b.zip
opie-acf708cee945b8b843b0132672d79f5c4571c22b.tar.gz
opie-acf708cee945b8b843b0132672d79f5c4571c22b.tar.bz2
Fixed warnings
Now we're down to two warning with number conversions Enable Saving Sessions Enable Copy and Paste
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-console/MyPty.cpp2
-rw-r--r--noncore/apps/opie-console/TEWidget.cpp27
-rw-r--r--noncore/apps/opie-console/TEWidget.h20
-rw-r--r--noncore/apps/opie-console/emulation_handler.cpp6
-rw-r--r--noncore/apps/opie-console/emulation_handler.h4
-rw-r--r--noncore/apps/opie-console/file_layer.cpp4
-rw-r--r--noncore/apps/opie-console/io_bt.cpp7
-rw-r--r--noncore/apps/opie-console/io_irda.cpp5
-rw-r--r--noncore/apps/opie-console/mainwindow.cpp49
-rw-r--r--noncore/apps/opie-console/mainwindow.h7
-rw-r--r--noncore/apps/opie-console/opie-console.control2
-rw-r--r--noncore/apps/opie-console/profilemanager.cpp4
-rw-r--r--noncore/apps/opie-console/receive_layer.cpp3
-rw-r--r--noncore/apps/opie-console/session.cpp7
-rw-r--r--noncore/apps/opie-console/session.h7
15 files changed, 123 insertions, 31 deletions
diff --git a/noncore/apps/opie-console/MyPty.cpp b/noncore/apps/opie-console/MyPty.cpp
index 16bb5ff..984e347 100644
--- a/noncore/apps/opie-console/MyPty.cpp
+++ b/noncore/apps/opie-console/MyPty.cpp
@@ -105,17 +105,16 @@ void MyPty::setSize(int lines, int columns)
105 if(m_fd < 0) return; 105 if(m_fd < 0) return;
106 ioctl(m_fd,TIOCSWINSZ,(char *)&wsize); 106 ioctl(m_fd,TIOCSWINSZ,(char *)&wsize);
107} 107}
108 108
109 109
110void MyPty::donePty() 110void MyPty::donePty()
111{ 111{
112 // This is code from the Qt DumbTerminal example 112 // This is code from the Qt DumbTerminal example
113 int status = 0;
114 113
115 ::close(m_fd); 114 ::close(m_fd);
116 115
117 if (m_cpid) { 116 if (m_cpid) {
118 kill(m_cpid, SIGHUP); 117 kill(m_cpid, SIGHUP);
119 //waitpid(m_cpid, &status, 0); 118 //waitpid(m_cpid, &status, 0);
120 delete m_sn_e; 119 delete m_sn_e;
121 delete m_sn_r; 120 delete m_sn_r;
@@ -252,16 +251,17 @@ MyPty::MyPty(const Profile& prof) : m_cpid(0)
252 case Profile::XTerm: 251 case Profile::XTerm:
253 m_term = "xterm"; 252 m_term = "xterm";
254 break; 253 break;
255 } 254 }
256 m_sn_e = 0l; 255 m_sn_e = 0l;
257 m_sn_r = 0l; 256 m_sn_r = 0l;
258 m_fd = openPty(); 257 m_fd = openPty();
259 ProcCtl* ctl = ProcCtl::self(); 258 ProcCtl* ctl = ProcCtl::self();
259 Q_UNUSED(ctl);
260} 260}
261 261
262/*! 262/*!
263 Destructor. 263 Destructor.
264 Note that the related client program is not killed 264 Note that the related client program is not killed
265 (yet) when a instance is deleted. 265 (yet) when a instance is deleted.
266*/ 266*/
267MyPty::~MyPty() 267MyPty::~MyPty()
diff --git a/noncore/apps/opie-console/TEWidget.cpp b/noncore/apps/opie-console/TEWidget.cpp
index f3f462f..e4415dc 100644
--- a/noncore/apps/opie-console/TEWidget.cpp
+++ b/noncore/apps/opie-console/TEWidget.cpp
@@ -90,16 +90,41 @@
90#define rimX 0 // left/right rim width 90#define rimX 0 // left/right rim width
91#define rimY 0 // top/bottom rim high 91#define rimY 0 // top/bottom rim high
92 92
93#define SCRWIDTH 16 // width of the scrollbar 93#define SCRWIDTH 16 // width of the scrollbar
94 94
95#define yMouseScroll 1 95#define yMouseScroll 1
96// scroll increment used when dragging selection at top/bottom of window. 96// scroll increment used when dragging selection at top/bottom of window.
97 97
98/* Button XPM */
99namespace {
100static char * menu_xpm[] = {
101"12 12 5 1",
102 " c None",
103 ".c #000000",
104 "+c #FFFDAD",
105 "@c #FFFF00",
106 "#c #E5E100",
107" ",
108" ",
109" ......... ",
110" .+++++++. ",
111" .+@@@@#. ",
112" .+@@@#. ",
113" .+@@#. ",
114" .+@#. ",
115" .+#. ",
116" .+. ",
117" .. ",
118" "};
119
120}
121
122
98/* ------------------------------------------------------------------------- */ 123/* ------------------------------------------------------------------------- */
99/* */ 124/* */
100/* Colors */ 125/* Colors */
101/* */ 126/* */
102/* ------------------------------------------------------------------------- */ 127/* ------------------------------------------------------------------------- */
103 128
104//FIXME: the default color table is in session.C now. 129//FIXME: the default color table is in session.C now.
105// We need a way to get rid of this one, here. 130// We need a way to get rid of this one, here.
@@ -1236,17 +1261,17 @@ void TEWidget::dropEvent(QDropEvent* event)
1236 currentSession->getEmulation()->sendString(dropText.local8Bit()); 1261 currentSession->getEmulation()->sendString(dropText.local8Bit());
1237 } 1262 }
1238 // Paste it 1263 // Paste it
1239 } 1264 }
1240} 1265}
1241#endif 1266#endif
1242 1267
1243 1268
1244void TEWidget::drop_menu_activated(int item) 1269void TEWidget::drop_menu_activated(int)
1245{ 1270{
1246#ifndef QT_NO_DRAGANDDROP 1271#ifndef QT_NO_DRAGANDDROP
1247 switch (item) 1272 switch (item)
1248 { 1273 {
1249 case 0: // paste 1274 case 0: // paste
1250 currentSession->getEmulation()->sendString(dropText.local8Bit()); 1275 currentSession->getEmulation()->sendString(dropText.local8Bit());
1251// KWM::activate((Window)this->winId()); 1276// KWM::activate((Window)this->winId());
1252 break; 1277 break;
diff --git a/noncore/apps/opie-console/TEWidget.h b/noncore/apps/opie-console/TEWidget.h
index 1b5300f..f03a16e 100644
--- a/noncore/apps/opie-console/TEWidget.h
+++ b/noncore/apps/opie-console/TEWidget.h
@@ -29,35 +29,17 @@
29#include <qpushbutton.h> 29#include <qpushbutton.h>
30 30
31#include "TECommon.h" 31#include "TECommon.h"
32 32
33extern unsigned short vt100_graphics[32]; 33extern unsigned short vt100_graphics[32];
34 34
35 35
36 36
37static char * menu_xpm[] = { 37
38"12 12 5 1",
39 " c None",
40 ".c #000000",
41 "+c #FFFDAD",
42 "@c #FFFF00",
43 "#c #E5E100",
44" ",
45" ",
46" ......... ",
47" .+++++++. ",
48" .+@@@@#. ",
49" .+@@@#. ",
50" .+@@#. ",
51" .+@#. ",
52" .+#. ",
53" .+. ",
54" .. ",
55" "};
56 38
57class TESession; 39class TESession;
58 40
59// class Konsole; 41// class Konsole;
60 42
61class TEWidget : public QFrame 43class TEWidget : public QFrame
62// a widget representing attributed text 44// a widget representing attributed text
63{ 45{
diff --git a/noncore/apps/opie-console/emulation_handler.cpp b/noncore/apps/opie-console/emulation_handler.cpp
index bdc8b43..bb3dd28 100644
--- a/noncore/apps/opie-console/emulation_handler.cpp
+++ b/noncore/apps/opie-console/emulation_handler.cpp
@@ -187,8 +187,14 @@ void EmulationHandler::clearScript() {
187 m_script = 0; 187 m_script = 0;
188 } 188 }
189} 189}
190 190
191void EmulationHandler::runScript(const Script *script) { 191void EmulationHandler::runScript(const Script *script) {
192 emit send(script->script()); 192 emit send(script->script());
193} 193}
194 194
195void EmulationHandler::copy() {
196 m_teWid->emitSelection();
197}
198void EmulationHandler::paste() {
199 m_teWid->pasteClipboard();
200}
diff --git a/noncore/apps/opie-console/emulation_handler.h b/noncore/apps/opie-console/emulation_handler.h
index 7ca2cf3..12abbc5 100644
--- a/noncore/apps/opie-console/emulation_handler.h
+++ b/noncore/apps/opie-console/emulation_handler.h
@@ -44,17 +44,17 @@ public:
44 * delete all components 44 * delete all components
45 */ 45 */
46 ~EmulationHandler(); 46 ~EmulationHandler();
47 47
48 void load( const Profile& ); 48 void load( const Profile& );
49 QWidget* widget(); 49 QWidget* widget();
50 void setColor( const QColor& fore, const QColor& back ); 50 void setColor( const QColor& fore, const QColor& back );
51 QPushButton* cornerButton(); 51 QPushButton* cornerButton();
52 52
53 /* Scripts */ 53 /* Scripts */
54 /* Create a new script and record all typed characters */ 54 /* Create a new script and record all typed characters */
55 void startRecording(); 55 void startRecording();
56 56
57 /* Return whether we are currently recording a script */ 57 /* Return whether we are currently recording a script */
58 bool isRecording(); 58 bool isRecording();
59 59
60 /* Return the current script (or NULL) */ 60 /* Return the current script (or NULL) */
@@ -68,16 +68,18 @@ public:
68 68
69signals: 69signals:
70 void send( const QByteArray& ); 70 void send( const QByteArray& );
71 void changeSize(int rows, int cols ); 71 void changeSize(int rows, int cols );
72 72
73 73
74public slots: 74public slots:
75 void recv( const QByteArray& ); 75 void recv( const QByteArray& );
76 void paste();
77 void copy();
76 78
77private slots: 79private slots:
78 void recvEmulation( const char*, int len ); 80 void recvEmulation( const char*, int len );
79private: 81private:
80 QFont font( int ); 82 QFont font( int );
81 QColor foreColor(int ); 83 QColor foreColor(int );
82 QColor backColor(int ); 84 QColor backColor(int );
83 85
diff --git a/noncore/apps/opie-console/file_layer.cpp b/noncore/apps/opie-console/file_layer.cpp
index 43e9c8f..0c83700 100644
--- a/noncore/apps/opie-console/file_layer.cpp
+++ b/noncore/apps/opie-console/file_layer.cpp
@@ -6,18 +6,18 @@
6FileTransferLayer::FileTransferLayer(IOLayer *layer) 6FileTransferLayer::FileTransferLayer(IOLayer *layer)
7 : QObject(), m_layer( layer ) 7 : QObject(), m_layer( layer )
8{ 8{
9} 9}
10 10
11FileTransferLayer::~FileTransferLayer() { 11FileTransferLayer::~FileTransferLayer() {
12} 12}
13 13
14void FileTransferLayer::sendFile(const QFile& file) { 14void FileTransferLayer::sendFile(const QFile&) {
15 15
16} 16}
17 17
18void FileTransferLayer::sendFile(const QString& file) { 18void FileTransferLayer::sendFile(const QString&) {
19} 19}
20 20
21IOLayer* FileTransferLayer::layer() { 21IOLayer* FileTransferLayer::layer() {
22 return m_layer; 22 return m_layer;
23} 23}
diff --git a/noncore/apps/opie-console/io_bt.cpp b/noncore/apps/opie-console/io_bt.cpp
index 4486eea..8dd8151 100644
--- a/noncore/apps/opie-console/io_bt.cpp
+++ b/noncore/apps/opie-console/io_bt.cpp
@@ -19,43 +19,45 @@ void IOBt::close() {
19 // still need error handling 19 // still need error handling
20 if ( m_attach ) { 20 if ( m_attach ) {
21 delete m_attach; 21 delete m_attach;
22 m_attach = 0; 22 m_attach = 0;
23 } 23 }
24} 24}
25 25
26bool IOBt::open() { 26bool IOBt::open() {
27 bool ret = false;
27 28
28 // only set up bt stuff if mac address was set, otherwise use the device set 29 // only set up bt stuff if mac address was set, otherwise use the device set
29 if ( !m_mac.isEmpty() ) { 30 if ( !m_mac.isEmpty() ) {
30 31
31 // now it should also be checked, if there is a connection to the device with that mac allready 32 // now it should also be checked, if there is a connection to the device with that mac allready
32 // hciattach here 33 // hciattach here
33 m_attach = new OProcess(); 34 m_attach = new OProcess();
34 *m_attach << "hciattach /dev/ttyS2 any 57600"; 35 *m_attach << "hciattach /dev/ttyS2 any 57600";
35 36
36 // then start hcid, then rcfomm handling (m_mac) 37 // then start hcid, then rcfomm handling (m_mac)
37 38
38 connect( m_attach, SIGNAL( processExited( OProcess* ) ), 39 connect( m_attach, SIGNAL( processExited( OProcess* ) ),
39 this, SLOT( slotExited( OProcess* ) ) ); 40 this, SLOT( slotExited( OProcess* ) ) );
40 41
41 if ( m_attach->start() ) { 42 if ( m_attach->start() ) {
42 IOSerial::open(); 43 ret = IOSerial::open();
43 } else { 44 } else {
44 qWarning("could not attach to device"); 45 qWarning("could not attach to device");
45 delete m_attach; 46 delete m_attach;
46 m_attach = 0; 47 m_attach = 0;
47 } 48 }
48 } else { 49 } else {
49 // directly to the normal serial 50 // directly to the normal serial
50 // TODO: look first if the connection really exists. ( is set up ) 51 // TODO: look first if the connection really exists. ( is set up )
51 52
52 IOSerial::open(); 53 ret =IOSerial::open();
53 } 54 }
55 return ret;
54} 56}
55 57
56void IOBt::reload( const Profile &config ) { 58void IOBt::reload( const Profile &config ) {
57 m_device = config.readEntry("Device", BT_DEFAULT_DEVICE); 59 m_device = config.readEntry("Device", BT_DEFAULT_DEVICE);
58 m_mac = config.readEntry("Mac", BT_DEFAULT_MAC); 60 m_mac = config.readEntry("Mac", BT_DEFAULT_MAC);
59 m_baud = config.readNumEntry("Baud", BT_DEFAULT_BAUD); 61 m_baud = config.readNumEntry("Baud", BT_DEFAULT_BAUD);
60 m_parity = config.readNumEntry("Parity", BT_DEFAULT_PARITY); 62 m_parity = config.readNumEntry("Parity", BT_DEFAULT_PARITY);
61 m_dbits = config.readNumEntry("DataBits", BT_DEFAULT_DBITS); 63 m_dbits = config.readNumEntry("DataBits", BT_DEFAULT_DBITS);
@@ -69,9 +71,10 @@ QString IOBt::identifier() const {
69} 71}
70 72
71QString IOBt::name() const { 73QString IOBt::name() const {
72 return "BLuetooth IO Layer"; 74 return "BLuetooth IO Layer";
73} 75}
74 76
75void IOBt::slotExited( OProcess* proc ){ 77void IOBt::slotExited( OProcess* proc ){
76 close(); 78 close();
79 delete proc;
77} 80}
diff --git a/noncore/apps/opie-console/io_irda.cpp b/noncore/apps/opie-console/io_irda.cpp
index 56a373c..b3b693f 100644
--- a/noncore/apps/opie-console/io_irda.cpp
+++ b/noncore/apps/opie-console/io_irda.cpp
@@ -16,32 +16,34 @@ IOIrda::~IOIrda() {
16void IOIrda::close() { 16void IOIrda::close() {
17 17
18 IOSerial::close(); 18 IOSerial::close();
19 // still need error handling 19 // still need error handling
20 delete m_attach; 20 delete m_attach;
21} 21}
22 22
23bool IOIrda::open() { 23bool IOIrda::open() {
24 bool ret;
24 25
25 // irdaattach here 26 // irdaattach here
26 m_attach = new OProcess(); 27 m_attach = new OProcess();
27 *m_attach << "irattach /dev/ttyS2 -s"; 28 *m_attach << "irattach /dev/ttyS2 -s";
28 29
29 connect( m_attach, SIGNAL( processExited( OProcess* ) ), 30 connect( m_attach, SIGNAL( processExited( OProcess* ) ),
30 this, SLOT( slotExited( OProcess* ) ) ); 31 this, SLOT( slotExited( OProcess* ) ) );
31 32
32 if ( m_attach->start() ) { 33 if ( m_attach->start() ) {
33 IOSerial::open(); 34 ret= IOSerial::open();
34 } else { 35 } else {
35 // emit error!!! 36 // emit error!!!
36 qWarning("could not attach to device"); 37 qWarning("could not attach to device");
37 delete m_attach; 38 delete m_attach;
38 m_attach = 0l; 39 m_attach = 0l;
39 } 40 }
41 return ret;
40} 42}
41 43
42void IOIrda::reload( const Profile &config ) { 44void IOIrda::reload( const Profile &config ) {
43 m_device = config.readEntry("Device", IRDA_DEFAULT_DEVICE); 45 m_device = config.readEntry("Device", IRDA_DEFAULT_DEVICE);
44 m_baud = config.readNumEntry("Baud", IRDA_DEFAULT_BAUD); 46 m_baud = config.readNumEntry("Baud", IRDA_DEFAULT_BAUD);
45 m_parity = config.readNumEntry("Parity", IRDA_DEFAULT_PARITY); 47 m_parity = config.readNumEntry("Parity", IRDA_DEFAULT_PARITY);
46 m_dbits = config.readNumEntry("DataBits", IRDA_DEFAULT_DBITS); 48 m_dbits = config.readNumEntry("DataBits", IRDA_DEFAULT_DBITS);
47 m_sbits = config.readNumEntry("StopBits", IRDA_DEFAULT_SBITS); 49 m_sbits = config.readNumEntry("StopBits", IRDA_DEFAULT_SBITS);
@@ -54,9 +56,10 @@ QString IOIrda::identifier() const {
54} 56}
55 57
56QString IOIrda::name() const { 58QString IOIrda::name() const {
57 return "Irda IO Layer"; 59 return "Irda IO Layer";
58} 60}
59 61
60void IOIrda::slotExited(OProcess* proc ){ 62void IOIrda::slotExited(OProcess* proc ){
61 close(); 63 close();
64 delete proc;
62} 65}
diff --git a/noncore/apps/opie-console/mainwindow.cpp b/noncore/apps/opie-console/mainwindow.cpp
index e2f4d12..02a3fa9 100644
--- a/noncore/apps/opie-console/mainwindow.cpp
+++ b/noncore/apps/opie-console/mainwindow.cpp
@@ -84,16 +84,26 @@ void MainWindow::initUI() {
84 QAction* a = new QAction(tr("New Connection"), 84 QAction* a = new QAction(tr("New Connection"),
85 Resource::loadPixmap( "new" ), 85 Resource::loadPixmap( "new" ),
86 QString::null, 0, this, 0); 86 QString::null, 0, this, 0);
87 a->addTo( m_console ); 87 a->addTo( m_console );
88 a->addTo( m_icons ); 88 a->addTo( m_icons );
89 connect(a, SIGNAL(activated() ), 89 connect(a, SIGNAL(activated() ),
90 this, SLOT(slotNew() ) ); 90 this, SLOT(slotNew() ) );
91 91
92 m_console->insertSeparator();
93 /* save icon is not available */
94 a = new QAction(tr("Save Connection"),
95 Resource::loadPixmap("save"), QString::null,
96 0, this, 0 );
97 a->addTo( m_console );
98 connect(a, SIGNAL(activated() ),
99 this, SLOT(slotSaveSession() ) );
100 m_console->insertSeparator();
101
92 /* 102 /*
93 * connect action 103 * connect action
94 */ 104 */
95 m_connect = new QAction(); 105 m_connect = new QAction();
96 m_connect->setText( tr("Connect") ); 106 m_connect->setText( tr("Connect") );
97 m_connect->addTo( m_console ); 107 m_connect->addTo( m_console );
98 connect(m_connect, SIGNAL(activated() ), 108 connect(m_connect, SIGNAL(activated() ),
99 this, SLOT(slotConnect() ) ); 109 this, SLOT(slotConnect() ) );
@@ -171,17 +181,17 @@ void MainWindow::initUI() {
171 181
172 connect (m_openKeys, SIGNAL(toggled(bool)), 182 connect (m_openKeys, SIGNAL(toggled(bool)),
173 this, SLOT(slotOpenKeb(bool))); 183 this, SLOT(slotOpenKeb(bool)));
174 m_openKeys->addTo(m_icons); 184 m_openKeys->addTo(m_icons);
175 185
176 186
177 /* 187 /*
178 * action that open/closes the keyboard 188 * action that open/closes the keyboard
179 189
180 m_openButtons = new QAction ( tr( "Open Buttons..." ), 190 m_openButtons = new QAction ( tr( "Open Buttons..." ),
181 Resource::loadPixmap( "" ), 191 Resource::loadPixmap( "" ),
182 QString::null, 0, this, 0 ); 192 QString::null, 0, this, 0 );
183 193
184 m_openButtons->setToggleAction( true ); 194 m_openButtons->setToggleAction( true );
185 195
186 connect ( m_openButtons, SIGNAL( toggled( bool ) ), 196 connect ( m_openButtons, SIGNAL( toggled( bool ) ),
187 this, SLOT( slotOpenButtons( bool ) ) ); 197 this, SLOT( slotOpenButtons( bool ) ) );
@@ -217,16 +227,30 @@ void MainWindow::initUI() {
217 m_buttonBar->setHorizontalStretchable( TRUE ); 227 m_buttonBar->setHorizontalStretchable( TRUE );
218 m_buttonBar->hide(); 228 m_buttonBar->hide();
219 229
220 /* 230 /*
221 m_qb = new QuickButton( m_buttonBar ); 231 m_qb = new QuickButton( m_buttonBar );
222 connect( m_qb, SIGNAL( keyPressed( ushort, ushort, bool, bool, bool) ), 232 connect( m_qb, SIGNAL( keyPressed( ushort, ushort, bool, bool, bool) ),
223 this, SLOT( slotKeyReceived( ushort, ushort, bool, bool, bool) ) ); 233 this, SLOT( slotKeyReceived( ushort, ushort, bool, bool, bool) ) );
224 */ 234 */
235 /* now add the copy and paste actions */
236 a = new QAction(tr("Copy"),
237 Resource::loadPixmap("copy"), QString::null,
238 0, this, 0 );
239 //a->addTo( m_icons );
240 connect( a, SIGNAL(activated() ),
241 this, SLOT(slotCopy() ) );
242
243 a = new QAction(tr("Paste"),
244 Resource::loadPixmap("paste"), QString::null,
245 0, this, 0 );
246 a->addTo( m_icons );
247 connect( a, SIGNAL(activated() ),
248 this, SLOT(slotPaste() ) );
225 249
226 250
227 m_connect->setEnabled( false ); 251 m_connect->setEnabled( false );
228 m_disconnect->setEnabled( false ); 252 m_disconnect->setEnabled( false );
229 m_terminate->setEnabled( false ); 253 m_terminate->setEnabled( false );
230 m_transfer->setEnabled( false ); 254 m_transfer->setEnabled( false );
231 m_recordScript->setEnabled( false ); 255 m_recordScript->setEnabled( false );
232 m_saveScript->setEnabled( false ); 256 m_saveScript->setEnabled( false );
@@ -534,8 +558,31 @@ void MainWindow::slotKeyReceived(FKey k, ushort, ushort, bool pressed) {
534 558
535 QKeyEvent ke(state, k.qcode, k.unicode, 0, QString(QChar(k.unicode))); 559 QKeyEvent ke(state, k.qcode, k.unicode, 0, QString(QChar(k.unicode)));
536 560
537 // where should i send this event? doesnt work sending it here 561 // where should i send this event? doesnt work sending it here
538 QApplication::sendEvent((QObject *)m_curSession->widget(), &ke); 562 QApplication::sendEvent((QObject *)m_curSession->widget(), &ke);
539 ke.ignore(); 563 ke.ignore();
540 } 564 }
541} 565}
566void MainWindow::slotCopy() {
567 if (!currentSession() ) return;
568 currentSession()->emulationHandler()->copy();
569}
570void MainWindow::slotPaste() {
571 if (!currentSession() ) return;
572 currentSession()->emulationHandler()->paste();
573}
574
575/*
576 * Save the session
577 */
578
579void MainWindow::slotSaveSession() {
580 if (!currentSession() ) {
581 QMessageBox::information(this, tr("Save Connection"),
582 tr("<qt>There is no Connection.</qt>"), 1 );
583 return;
584 }
585 manager()->add( currentSession()->profile() );
586 manager()->save();
587 populateProfiles();
588}
diff --git a/noncore/apps/opie-console/mainwindow.h b/noncore/apps/opie-console/mainwindow.h
index 0f52e76..16b6252 100644
--- a/noncore/apps/opie-console/mainwindow.h
+++ b/noncore/apps/opie-console/mainwindow.h
@@ -65,16 +65,23 @@ private slots:
65 void slotOpenButtons(bool); 65 void slotOpenButtons(bool);
66 void slotRecordScript(); 66 void slotRecordScript();
67 void slotSaveScript(); 67 void slotSaveScript();
68 void slotRunScript(); 68 void slotRunScript();
69 void slotFullscreen(); 69 void slotFullscreen();
70 void slotSessionChanged( Session* ); 70 void slotSessionChanged( Session* );
71 void slotKeyReceived(FKey, ushort, ushort, bool); 71 void slotKeyReceived(FKey, ushort, ushort, bool);
72 72
73 /* what could these both slot do? */
74 void slotCopy();
75 void slotPaste();
76
77 /* save the currentSession() to Profiles */
78 void slotSaveSession();
79
73private: 80private:
74 void initUI(); 81 void initUI();
75 void populateProfiles(); 82 void populateProfiles();
76 void create( const Profile& ); 83 void create( const Profile& );
77 /** 84 /**
78 * the current session 85 * the current session
79 */ 86 */
80 Session* m_curSession; 87 Session* m_curSession;
diff --git a/noncore/apps/opie-console/opie-console.control b/noncore/apps/opie-console/opie-console.control
index d41ef58..8541d22 100644
--- a/noncore/apps/opie-console/opie-console.control
+++ b/noncore/apps/opie-console/opie-console.control
@@ -1,9 +1,9 @@
1Files: bin/opie-console apps/Applications/opie-console.desktop pics/console/* etc/keytabs/default.Keytab 1Files: bin/opie-console apps/Applications/opie-console.desktop pics/console/* etc/keytabs/default.Keytab bin/sz bin/rz
2Priority: optional 2Priority: optional
3Section: opie/applications 3Section: opie/applications
4Maintainer: Opie team <opie@handhelds.org> 4Maintainer: Opie team <opie@handhelds.org>
5Architecture: arm 5Architecture: arm
6Version: 0.6-$SUB_VERSION 6Version: 0.6-$SUB_VERSION
7Depends: qpe-base ($QPE_VERSION), libopie ($QPE_VERSION), opie-console-help-en 7Depends: qpe-base ($QPE_VERSION), libopie ($QPE_VERSION), opie-console-help-en
8License: GPL 8License: GPL
9Description: Opie terminal app 9Description: Opie terminal app
diff --git a/noncore/apps/opie-console/profilemanager.cpp b/noncore/apps/opie-console/profilemanager.cpp
index 5d39d96..cad2567 100644
--- a/noncore/apps/opie-console/profilemanager.cpp
+++ b/noncore/apps/opie-console/profilemanager.cpp
@@ -88,16 +88,17 @@ Session* ProfileManager::fromProfile( const Profile& prof, QWidget* parent) {
88 QWidgetStack *stack = new QWidgetStack( parent ); 88 QWidgetStack *stack = new QWidgetStack( parent );
89 session->setWidgetStack( stack ); 89 session->setWidgetStack( stack );
90 QWidget* dummy = new QHBox( stack ); 90 QWidget* dummy = new QHBox( stack );
91 stack->raiseWidget( dummy ); 91 stack->raiseWidget( dummy );
92 92
93 EmulationHandler* handler = new EmulationHandler(prof,dummy ); 93 EmulationHandler* handler = new EmulationHandler(prof,dummy );
94 session->setEmulationHandler( handler ); 94 session->setEmulationHandler( handler );
95 session->connect(); 95 session->connect();
96 session->setProfile( prof );
96 97
97 return session; 98 return session;
98} 99}
99void ProfileManager::save( ) { 100void ProfileManager::save( ) {
100 QFile::remove( (QString(getenv("HOME") )+ "/Settings/opie-console-profiles.conf" ) ); 101 QFile::remove( (QString(getenv("HOME") )+ "/Settings/opie-console-profiles.conf" ) );
101 ProfileConfig conf("opie-console-profiles"); 102 ProfileConfig conf("opie-console-profiles");
102 Profile::ValueList::Iterator it2; 103 Profile::ValueList::Iterator it2;
103 for (it2 = m_list.begin(); it2 != m_list.end(); ++it2 ) { 104 for (it2 = m_list.begin(); it2 != m_list.end(); ++it2 ) {
@@ -116,16 +117,19 @@ void ProfileManager::save( ) {
116 conf.writeEntry( "iolayer", str ); 117 conf.writeEntry( "iolayer", str );
117 conf.writeEntry( "term", QString::fromUtf8( (*it2).terminalName() ) ); 118 conf.writeEntry( "term", QString::fromUtf8( (*it2).terminalName() ) );
118 conf.writeEntry( "autoConnect", (*it2).autoConnect()); 119 conf.writeEntry( "autoConnect", (*it2).autoConnect());
119 conf.writeEntry( "back", (*it2).background() ); 120 conf.writeEntry( "back", (*it2).background() );
120 conf.writeEntry( "fore", (*it2).foreground() ); 121 conf.writeEntry( "fore", (*it2).foreground() );
121 conf.writeEntry( "terminal", (*it2).terminal() ); 122 conf.writeEntry( "terminal", (*it2).terminal() );
122 } 123 }
123} 124}
125void ProfileManager::add( const Profile& prof) {
126 m_list.append( prof );
127}
124void ProfileManager::setProfiles( const Profile::ValueList& list ) { 128void ProfileManager::setProfiles( const Profile::ValueList& list ) {
125 m_list = list; 129 m_list = list;
126}; 130};
127Profile ProfileManager::profile( const QString& name )const { 131Profile ProfileManager::profile( const QString& name )const {
128 Profile prof; 132 Profile prof;
129 Profile::ValueList::ConstIterator it; 133 Profile::ValueList::ConstIterator it;
130 for ( it = m_list.begin(); it != m_list.end(); ++it ) { 134 for ( it = m_list.begin(); it != m_list.end(); ++it ) {
131 if ( name == (*it).name() ) { 135 if ( name == (*it).name() ) {
diff --git a/noncore/apps/opie-console/receive_layer.cpp b/noncore/apps/opie-console/receive_layer.cpp
index 05e2c67..bbde339 100644
--- a/noncore/apps/opie-console/receive_layer.cpp
+++ b/noncore/apps/opie-console/receive_layer.cpp
@@ -1,10 +1,11 @@
1#include <unistd.h> 1#include <unistd.h>
2 2
3#include <qdir.h>
3#include <qstring.h> 4#include <qstring.h>
4#include <qfile.h> 5#include <qfile.h>
5 6
6#include "io_layer.h" 7#include "io_layer.h"
7#include "receive_layer.h" 8#include "receive_layer.h"
8 9
9ReceiveLayer::ReceiveLayer( IOLayer* lay, const QString& startDir ) 10ReceiveLayer::ReceiveLayer( IOLayer* lay, const QString& startDir )
10 : QObject(), m_curDir( startDir ), m_layer(lay ) 11 : QObject(), m_curDir( startDir ), m_layer(lay )
@@ -14,17 +15,17 @@ ReceiveLayer::ReceiveLayer( IOLayer* lay, const QString& startDir )
14ReceiveLayer::~ReceiveLayer() { 15ReceiveLayer::~ReceiveLayer() {
15 16
16} 17}
17IOLayer* ReceiveLayer::layer() { 18IOLayer* ReceiveLayer::layer() {
18 return m_layer; 19 return m_layer;
19} 20}
20QString ReceiveLayer::currentDir()const{ 21QString ReceiveLayer::currentDir()const{
21 if (m_curDir.isEmpty() ) 22 if (m_curDir.isEmpty() )
22 return QString::fromLocal8Bit( ::getwd(NULL) ); 23 return QDir::currentDirPath();
23 return m_curDir; 24 return m_curDir;
24} 25}
25void ReceiveLayer::changeDir( const QString& str) { 26void ReceiveLayer::changeDir( const QString& str) {
26 ::chdir( str.latin1() ); 27 ::chdir( str.latin1() );
27} 28}
28void ReceiveLayer::receive( const QString& dir, Mode, Features ) { 29void ReceiveLayer::receive( const QString& dir, Mode, Features ) {
29 receive( dir ); 30 receive( dir );
30} 31}
diff --git a/noncore/apps/opie-console/session.cpp b/noncore/apps/opie-console/session.cpp
index 03d0fcd..c166d95 100644
--- a/noncore/apps/opie-console/session.cpp
+++ b/noncore/apps/opie-console/session.cpp
@@ -1,10 +1,11 @@
1 1
2 2
3#include "profile.h"
3#include "io_layer.h" 4#include "io_layer.h"
4#include "file_layer.h" 5#include "file_layer.h"
5#include "emulation_handler.h" 6#include "emulation_handler.h"
6#include "session.h" 7#include "session.h"
7 8
8 9
9Session::Session() { 10Session::Session() {
10 m_widget = 0l; 11 m_widget = 0l;
@@ -37,16 +38,19 @@ EmulationHandler* Session::emulationHandler() {
37 return m_emu; 38 return m_emu;
38} 39}
39QWidget* Session::widget() { 40QWidget* Session::widget() {
40 if (!m_emu ) 41 if (!m_emu )
41 return 0l; 42 return 0l;
42 43
43 return m_emu->widget(); 44 return m_emu->widget();
44} 45}
46Profile Session::profile()const {
47 return m_prof;
48}
45/* 49/*
46WidgetLayer* Session::emulationWidget() { 50WidgetLayer* Session::emulationWidget() {
47 return m_widLay; 51 return m_widLay;
48} 52}
49*/ 53*/
50void Session::connect() { 54void Session::connect() {
51 if ( !m_layer || !m_emu ) 55 if ( !m_layer || !m_emu )
52 return; 56 return;
@@ -86,15 +90,18 @@ void Session::setIOLayer( IOLayer* lay ) {
86 delete m_layer; 90 delete m_layer;
87 m_layer = lay; 91 m_layer = lay;
88} 92}
89 93
90void Session::setEmulationHandler( EmulationHandler* lay ) { 94void Session::setEmulationHandler( EmulationHandler* lay ) {
91 delete m_emu; 95 delete m_emu;
92 m_emu = lay; 96 m_emu = lay;
93} 97}
98void Session::setProfile( const Profile& prof ) {
99 m_prof = prof;
100}
94/* 101/*
95void Session::setEmulationWidget( WidgetLayer* lay ) { 102void Session::setEmulationWidget( WidgetLayer* lay ) {
96 delete m_widLay; 103 delete m_widLay;
97 m_widLay = lay; 104 m_widLay = lay;
98} 105}
99*/ 106*/
100 107
diff --git a/noncore/apps/opie-console/session.h b/noncore/apps/opie-console/session.h
index 83b2046..f60a6c0 100644
--- a/noncore/apps/opie-console/session.h
+++ b/noncore/apps/opie-console/session.h
@@ -1,13 +1,15 @@
1#ifndef OPIE_SESSION_H 1#ifndef OPIE_SESSION_H
2#define OPIE_SESSION_H 2#define OPIE_SESSION_H
3 3
4#include <qwidgetstack.h> 4#include <qwidgetstack.h>
5 5
6#include "profile.h"
7
6class IOLayer; 8class IOLayer;
7class EmulationHandler; 9class EmulationHandler;
8/** 10/**
9 * This is a Session. A session contains 11 * This is a Session. A session contains
10 * a QWidget pointer and a IOLayer 12 * a QWidget pointer and a IOLayer
11 * Imagine a session like a collection of what 13 * Imagine a session like a collection of what
12 * is needed to show your widget in a tab ;) 14 * is needed to show your widget in a tab ;)
13 */ 15 */
@@ -37,16 +39,17 @@ public:
37 QWidget* widget(); 39 QWidget* widget();
38 40
39 /** 41 /**
40 * return the layer 42 * return the layer
41 */ 43 */
42 IOLayer* layer(); 44 IOLayer* layer();
43 45
44 EmulationHandler* emulationHandler(); 46 EmulationHandler* emulationHandler();
47 Profile profile()const;
45 48
46 /* 49 /*
47 * connects the data flow from 50 * connects the data flow from
48 * the IOLayer to the EmulationLayer 51 * the IOLayer to the EmulationLayer
49 */ 52 */
50 void connect(); 53 void connect();
51 54
52 /* 55 /*
@@ -54,19 +57,21 @@ public:
54 * this will be done for ft 57 * this will be done for ft
55 */ 58 */
56 void disconnect(); 59 void disconnect();
57 60
58 void setWidgetStack( QWidgetStack* widget ); 61 void setWidgetStack( QWidgetStack* widget );
59 void setEmulationHandler( EmulationHandler* lay ); 62 void setEmulationHandler( EmulationHandler* lay );
60 void setIOLayer( IOLayer* ); 63 void setIOLayer( IOLayer* );
61 void setName( const QString& ); 64 void setName( const QString& );
65 void setProfile( const Profile& );
62 66
63private: 67private:
64 QString m_name; 68 QString m_name;
65 QWidgetStack* m_widget; 69 QWidgetStack* m_widget;
66 IOLayer* m_layer; 70 IOLayer* m_layer;
67 EmulationHandler* m_emu; 71 EmulationHandler* m_emu;
68 bool m_connected; 72 bool m_connected : 1;
73 Profile m_prof;
69 74
70}; 75};
71 76
72#endif 77#endif