summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-console/mainwindow.cpp29
1 files changed, 11 insertions, 18 deletions
diff --git a/noncore/apps/opie-console/mainwindow.cpp b/noncore/apps/opie-console/mainwindow.cpp
index ddaaf1b..c7750be 100644
--- a/noncore/apps/opie-console/mainwindow.cpp
+++ b/noncore/apps/opie-console/mainwindow.cpp
@@ -161,64 +161,48 @@ void MainWindow::initUI() {
161 m_recordScript->addTo(m_scripts); 161 m_recordScript->addTo(m_scripts);
162 connect(m_recordScript, SIGNAL(activated()), this, SLOT(slotRecordScript())); 162 connect(m_recordScript, SIGNAL(activated()), this, SLOT(slotRecordScript()));
163 163
164 m_saveScript = new QAction(tr("Save Script"), QString::null, 0, this, 0); 164 m_saveScript = new QAction(tr("Save Script"), QString::null, 0, this, 0);
165 m_saveScript->addTo(m_scripts); 165 m_saveScript->addTo(m_scripts);
166 connect(m_saveScript, SIGNAL(activated()), this, SLOT(slotSaveScript())); 166 connect(m_saveScript, SIGNAL(activated()), this, SLOT(slotSaveScript()));
167 167
168 m_runScript = new QAction(tr("Run Script"), QString::null, 0, this, 0); 168 m_runScript = new QAction(tr("Run Script"), QString::null, 0, this, 0);
169 m_runScript->addTo(m_scripts); 169 m_runScript->addTo(m_scripts);
170 connect(m_runScript, SIGNAL(activated()), this, SLOT(slotRunScript())); 170 connect(m_runScript, SIGNAL(activated()), this, SLOT(slotRunScript()));
171 171
172 /* 172 /*
173 * action that open/closes the keyboard 173 * action that open/closes the keyboard
174 */ 174 */
175 m_openKeys = new QAction (tr("Open Keyboard..."), 175 m_openKeys = new QAction (tr("Open Keyboard..."),
176 Resource::loadPixmap( "console/keys/keyboard_icon" ), 176 Resource::loadPixmap( "console/keys/keyboard_icon" ),
177 QString::null, 0, this, 0); 177 QString::null, 0, this, 0);
178 178
179 m_openKeys->setToggleAction(true); 179 m_openKeys->setToggleAction(true);
180 180
181 connect (m_openKeys, SIGNAL(toggled(bool)), 181 connect (m_openKeys, SIGNAL(toggled(bool)),
182 this, SLOT(slotOpenKeb(bool))); 182 this, SLOT(slotOpenKeb(bool)));
183 m_openKeys->addTo(m_icons); 183 m_openKeys->addTo(m_icons);
184 184
185
186 /*
187 * action that open/closes the keyboard
188
189 m_openButtons = new QAction ( tr( "Open Buttons..." ),
190 Resource::loadPixmap( "" ),
191 QString::null, 0, this, 0 );
192
193 m_openButtons->setToggleAction( true );
194
195 connect ( m_openButtons, SIGNAL( toggled( bool ) ),
196 this, SLOT( slotOpenButtons( bool ) ) );
197 m_openButtons->addTo( m_icons );
198
199 */
200
201 /* insert the submenu */ 185 /* insert the submenu */
202 m_console->insertItem(tr("New from Profile"), m_sessionsPop, 186 m_console->insertItem(tr("New from Profile"), m_sessionsPop,
203 -1, 0); 187 -1, 0);
204 188
205 /* insert the connection menu */ 189 /* insert the connection menu */
206 m_bar->insertItem( tr("Connection"), m_console ); 190 m_bar->insertItem( tr("Connection"), m_console );
207 191
208 /* the scripts menu */ 192 /* the scripts menu */
209 m_bar->insertItem( tr("Scripts"), m_scripts ); 193 m_bar->insertItem( tr("Scripts"), m_scripts );
210 194
211 /* the settings menu */ 195 /* the settings menu */
212 // m_bar->insertItem( tr("Settings"), m_settings ); 196 // m_bar->insertItem( tr("Settings"), m_settings );
213 197
214 /* and the keyboard */ 198 /* and the keyboard */
215 m_keyBar = new QToolBar(this); 199 m_keyBar = new QToolBar(this);
216 addToolBar( m_keyBar, "Keyboard", QMainWindow::Top, TRUE ); 200 addToolBar( m_keyBar, "Keyboard", QMainWindow::Top, TRUE );
217 m_keyBar->setHorizontalStretchable( TRUE ); 201 m_keyBar->setHorizontalStretchable( TRUE );
218 m_keyBar->hide(); 202 m_keyBar->hide();
219 203
220 m_kb = new FunctionKeyboard(m_keyBar); 204 m_kb = new FunctionKeyboard(m_keyBar);
221 connect(m_kb, SIGNAL(keyPressed(FKey, ushort, ushort, bool)), 205 connect(m_kb, SIGNAL(keyPressed(FKey, ushort, ushort, bool)),
222 this, SLOT(slotKeyReceived(FKey, ushort, ushort, bool))); 206 this, SLOT(slotKeyReceived(FKey, ushort, ushort, bool)));
223 207
224 m_buttonBar = new QToolBar( this ); 208 m_buttonBar = new QToolBar( this );
@@ -331,57 +315,59 @@ void MainWindow::slotRunScript() {
331 if (currentSession()) { 315 if (currentSession()) {
332 MimeTypes types; 316 MimeTypes types;
333 QStringList script; 317 QStringList script;
334 script << "text/plain"; 318 script << "text/plain";
335 script << "text/all"; 319 script << "text/all";
336 script << "application/octet-stream"; 320 script << "application/octet-stream";
337 types.insert("Script", script); 321 types.insert("Script", script);
338 QString filename = OFileDialog::getOpenFileName(2, "/", QString::null, types); 322 QString filename = OFileDialog::getOpenFileName(2, "/", QString::null, types);
339 if (!filename.isEmpty()) { 323 if (!filename.isEmpty()) {
340 Script script(DocLnk(filename).file()); 324 Script script(DocLnk(filename).file());
341 currentSession()->emulationHandler()->runScript(&script); 325 currentSession()->emulationHandler()->runScript(&script);
342 } 326 }
343 } 327 }
344} 328}
345 329
346void MainWindow::slotConnect() { 330void MainWindow::slotConnect() {
347 if ( currentSession() ) { 331 if ( currentSession() ) {
348 bool ret = currentSession()->layer()->open(); 332 bool ret = currentSession()->layer()->open();
349 if(!ret) QMessageBox::warning(currentSession()->widgetStack(), 333 if(!ret) QMessageBox::warning(currentSession()->widgetStack(),
350 QObject::tr("Failed"), 334 QObject::tr("Failed"),
351 QObject::tr("Connecting failed for this session.")); 335 QObject::tr("Connecting failed for this session."));
352 else { 336 else {
353 m_connect->setEnabled( false ); 337 m_connect->setEnabled( false );
354 m_disconnect->setEnabled( true ); 338 m_disconnect->setEnabled( true );
339 m_transfer->setEnabled( true );
355 } 340 }
356 } 341 }
357} 342}
358 343
359void MainWindow::slotDisconnect() { 344void MainWindow::slotDisconnect() {
360 if ( currentSession() ) { 345 if ( currentSession() ) {
361 currentSession()->layer()->close(); 346 currentSession()->layer()->close();
362 m_connect->setEnabled( true ); 347 m_connect->setEnabled( true );
363 m_disconnect->setEnabled( false ); 348 m_disconnect->setEnabled( false );
349 m_transfer->setEnabled( false );
364 } 350 }
365} 351}
366 352
367void MainWindow::slotTerminate() { 353void MainWindow::slotTerminate() {
368 if ( currentSession() ) 354 if ( currentSession() )
369 currentSession()->layer()->close(); 355 currentSession()->layer()->close();
370 356
371 slotClose(); 357 slotClose();
372 /* FIXME move to the next session */ 358 /* FIXME move to the next session */
373} 359}
374 360
375void MainWindow::slotConfigure() { 361void MainWindow::slotConfigure() {
376 ConfigDialog conf( manager()->all(), factory() ); 362 ConfigDialog conf( manager()->all(), factory() );
377 conf.showMaximized(); 363 conf.showMaximized();
378 364
379 int ret = conf.exec(); 365 int ret = conf.exec();
380 366
381 if ( QDialog::Accepted == ret ) { 367 if ( QDialog::Accepted == ret ) {
382 manager()->setProfiles( conf.list() ); 368 manager()->setProfiles( conf.list() );
383 manager()->save(); 369 manager()->save();
384 populateProfiles(); 370 populateProfiles();
385 } 371 }
386} 372}
387/* 373/*
@@ -426,109 +412,116 @@ void MainWindow::slotProfile( int id) {
426 Profile prof = manager()->profile( m_sessionsPop->text( id) ); 412 Profile prof = manager()->profile( m_sessionsPop->text( id) );
427 create( prof ); 413 create( prof );
428} 414}
429void MainWindow::create( const Profile& prof ) { 415void MainWindow::create( const Profile& prof ) {
430 Session *ses = manager()->fromProfile( prof, tabWidget() ); 416 Session *ses = manager()->fromProfile( prof, tabWidget() );
431 417
432 if((!ses) || (!ses->layer()) || (!ses->widgetStack())) 418 if((!ses) || (!ses->layer()) || (!ses->widgetStack()))
433 { 419 {
434 QMessageBox::warning(this, 420 QMessageBox::warning(this,
435 QObject::tr("Session failed"), 421 QObject::tr("Session failed"),
436 QObject::tr("<qt>Cannot open session: Not all components were found.</qt>")); 422 QObject::tr("<qt>Cannot open session: Not all components were found.</qt>"));
437 //if(ses) delete ses; 423 //if(ses) delete ses;
438 return; 424 return;
439 } 425 }
440 426
441 m_sessions.append( ses ); 427 m_sessions.append( ses );
442 tabWidget()->add( ses ); 428 tabWidget()->add( ses );
443 tabWidget()->repaint(); 429 tabWidget()->repaint();
444 m_curSession = ses; 430 m_curSession = ses;
445 431
446 // dicide if its a local term ( then no connction and no tranfer), maybe make a wrapper method out of it 432 // dicide if its a local term ( then no connction and no tranfer), maybe make a wrapper method out of it
447 m_connect->setEnabled( true ); 433 m_connect->setEnabled( true );
448 m_disconnect->setEnabled( false ); 434 m_disconnect->setEnabled( false );
449 m_terminate->setEnabled( true ); 435 m_terminate->setEnabled( true );
450 m_transfer->setEnabled( true );
451 m_recordScript->setEnabled( true ); 436 m_recordScript->setEnabled( true );
452 m_saveScript->setEnabled( true ); 437 m_saveScript->setEnabled( true );
453 m_runScript->setEnabled( true ); 438 m_runScript->setEnabled( true );
454 m_fullscreen->setEnabled( true ); 439 m_fullscreen->setEnabled( true );
455 m_closewindow->setEnabled( true ); 440 m_closewindow->setEnabled( true );
456 441 m_transfer->setEnabled( false );
457 442
458 // is io_layer wants direct connection, then autoconnect 443 // is io_layer wants direct connection, then autoconnect
459 //if ( ( m_curSession->layer() )->supports()[0] == 1 ) { 444 //if ( ( m_curSession->layer() )->supports()[0] == 1 ) {
460 if (prof.autoConnect()) { 445 if (prof.autoConnect()) {
461 slotConnect(); 446 slotConnect();
462 } 447 }
463 448
449
450
464 QWidget *w = currentSession()->widget(); 451 QWidget *w = currentSession()->widget();
465 if(w) w->setFocus(); 452 if(w) w->setFocus();
466} 453}
467 454
468void MainWindow::slotTransfer() 455void MainWindow::slotTransfer()
469{ 456{
470 if ( currentSession() ) { 457 if ( currentSession() ) {
471 TransferDialog dlg(currentSession()->widgetStack(), this); 458 TransferDialog dlg(currentSession()->widgetStack(), this);
472 dlg.showMaximized(); 459 dlg.showMaximized();
473 //currentSession()->widgetStack()->add(dlg); 460 //currentSession()->widgetStack()->add(dlg);
474 dlg.exec(); 461 dlg.exec();
475 } 462 }
476} 463}
477 464
478 465
479void MainWindow::slotOpenKeb(bool state) { 466void MainWindow::slotOpenKeb(bool state) {
480 467
481 if (state) m_keyBar->show(); 468 if (state) m_keyBar->show();
482 else m_keyBar->hide(); 469 else m_keyBar->hide();
483 470
484} 471}
485 472
486 473
487void MainWindow::slotOpenButtons( bool state ) { 474void MainWindow::slotOpenButtons( bool state ) {
488 475
489 if ( state ) { 476 if ( state ) {
490 m_buttonBar->show(); 477 m_buttonBar->show();
491 } else { 478 } else {
492 m_buttonBar->hide(); 479 m_buttonBar->hide();
493 } 480 }
494} 481}
495 482
496 483
497 484
498void MainWindow::slotSessionChanged( Session* ses ) { 485void MainWindow::slotSessionChanged( Session* ses ) {
499 qWarning("changed!"); 486 qWarning("changed!");
500 if ( ses ) { 487 if ( ses ) {
501 m_curSession = ses; 488 m_curSession = ses;
502 qDebug(QString("is connected : %1").arg( m_curSession->layer()->isConnected() ) ); 489 qDebug(QString("is connected : %1").arg( m_curSession->layer()->isConnected() ) );
503 if ( m_curSession->layer()->isConnected() ) { 490 if ( m_curSession->layer()->isConnected() ) {
504 m_connect->setEnabled( false ); 491 m_connect->setEnabled( false );
505 m_disconnect->setEnabled( true ); 492 m_disconnect->setEnabled( true );
506 } else { 493 } else {
507 m_connect->setEnabled( true ); 494 m_connect->setEnabled( true );
508 m_disconnect->setEnabled( false ); 495 m_disconnect->setEnabled( false );
509 } 496 }
510 497
498 if ( ( m_curSession->layer() )->supports()[1] == 0 ) {
499 m_transfer->setEnabled( false );
500 } else {
501 m_transfer->setEnabled( true );
502 }
503
511 QWidget *w = m_curSession->widget(); 504 QWidget *w = m_curSession->widget();
512 if(w) w->setFocus(); 505 if(w) w->setFocus();
513 } 506 }
514} 507}
515 508
516void MainWindow::slotFullscreen() { 509void MainWindow::slotFullscreen() {
517 510
518 511
519 512
520 if ( m_isFullscreen ) { 513 if ( m_isFullscreen ) {
521 ( m_curSession->widgetStack() )->reparent( savedParentFullscreen, 0, QPoint(0,0), true ); 514 ( m_curSession->widgetStack() )->reparent( savedParentFullscreen, 0, QPoint(0,0), true );
522 ( m_curSession->widgetStack() )->resize( savedParentFullscreen->width(), savedParentFullscreen->height() ); 515 ( m_curSession->widgetStack() )->resize( savedParentFullscreen->width(), savedParentFullscreen->height() );
523 ( m_curSession->emulationHandler() )->cornerButton()->hide(); 516 ( m_curSession->emulationHandler() )->cornerButton()->hide();
524 disconnect( ( m_curSession->emulationHandler() )->cornerButton(), SIGNAL( pressed() ), this, SLOT( slotFullscreen() ) ); 517 disconnect( ( m_curSession->emulationHandler() )->cornerButton(), SIGNAL( pressed() ), this, SLOT( slotFullscreen() ) );
525 518
526 } else { 519 } else {
527 savedParentFullscreen = ( m_curSession->widgetStack() )->parentWidget(); 520 savedParentFullscreen = ( m_curSession->widgetStack() )->parentWidget();
528 ( m_curSession->widgetStack() )->setFrameStyle( QFrame::NoFrame ); 521 ( m_curSession->widgetStack() )->setFrameStyle( QFrame::NoFrame );
529 ( m_curSession->widgetStack() )->reparent( 0, WStyle_Tool | WStyle_Customize | WStyle_StaysOnTop 522 ( m_curSession->widgetStack() )->reparent( 0, WStyle_Tool | WStyle_Customize | WStyle_StaysOnTop
530 , QPoint(0,0), false ); 523 , QPoint(0,0), false );
531 ( m_curSession->widgetStack() )->resize( qApp->desktop()->width(), qApp->desktop()->height() ); 524 ( m_curSession->widgetStack() )->resize( qApp->desktop()->width(), qApp->desktop()->height() );
532 ( m_curSession->widgetStack() )->setFocus(); 525 ( m_curSession->widgetStack() )->setFocus();
533 ( m_curSession->widgetStack() )->show(); 526 ( m_curSession->widgetStack() )->show();
534 527