summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-console/TEScreen.h8
-rw-r--r--noncore/apps/opie-console/emulation_handler.cpp17
-rw-r--r--noncore/apps/opie-console/mainwindow.cpp31
-rw-r--r--noncore/apps/opie-console/profile.h4
-rw-r--r--noncore/apps/opie-console/session.cpp12
-rw-r--r--noncore/apps/opie-console/session.h3
-rw-r--r--noncore/apps/opie-console/terminalwidget.cpp18
7 files changed, 77 insertions, 16 deletions
diff --git a/noncore/apps/opie-console/TEScreen.h b/noncore/apps/opie-console/TEScreen.h
index ba47ee5..473ce79 100644
--- a/noncore/apps/opie-console/TEScreen.h
+++ b/noncore/apps/opie-console/TEScreen.h
@@ -134,13 +134,13 @@ public: // these are all `Screen' operations
//
void ShowCharacter(unsigned short c);
//
void resizeImage(int new_lines, int new_columns);
//
ca* getCookedImage();
-
+
/*! return the number of lines. */
int getLines() { return lines; }
/*! return the number of columns. */
int getColumns() { return columns; }
/*! set the position of the history cursor. */
@@ -163,13 +163,13 @@ public: // these are all `Screen' operations
void checkSelection(int from, int to);
private: // helper
void clearImage(int loca, int loce, char c);
void moveImage(int dst, int loca, int loce);
-
+
void scrollUp(int from, int i);
void scrollDown(int from, int i);
void addHistLine();
void initTabStops();
@@ -196,13 +196,13 @@ private:
ca *image; // [lines][columns]
// history buffer ---------------
int histCursor; // display position relative to start of the history buffer
HistoryScroll hist;
-
+
// cursor location
int cuX;
int cuY;
// cursor color and rendition info
@@ -235,13 +235,13 @@ private:
UINT8 ef_fg; // These are derived from
UINT8 ef_bg; // the cu_* variables above
UINT8 ef_re; // to speed up operation
//
// save cursor, rendition & states ------------
- //
+ //
// cursor location
int sa_cuX;
int sa_cuY;
diff --git a/noncore/apps/opie-console/emulation_handler.cpp b/noncore/apps/opie-console/emulation_handler.cpp
index 9f34d2c..836a05b 100644
--- a/noncore/apps/opie-console/emulation_handler.cpp
+++ b/noncore/apps/opie-console/emulation_handler.cpp
@@ -104,12 +104,21 @@ QColor EmulationHandler::foreColor(int col) {
co = Qt::white;
break;
case Profile::Black:
qWarning("Foreground white");
co = Qt::black;
break;
+ case Profile::Green:
+ qWarning("Foreground green");
+ co = Qt::green;
+ break;
+ case Profile::Orange:
+ qWarning("Foreground orange");
+ // FIXME needs better color here
+ co = Qt::darkYellow;
+ break;
}
return co;
}
QColor EmulationHandler::backColor(int col ) {
QColor co;
@@ -122,10 +131,18 @@ QColor EmulationHandler::backColor(int col ) {
co = Qt::black;
break;
case Profile::Black:
qWarning("Background black");
co = Qt::white;
break;
+ case Profile::Green:
+ qWarning("Background black");
+ co = Qt::black;
+ break;
+ case Profile::Orange:
+ qWarning("Background black");
+ co = Qt::black;
+ break;
}
return co;
}
diff --git a/noncore/apps/opie-console/mainwindow.cpp b/noncore/apps/opie-console/mainwindow.cpp
index 6dc9e6e..b770551 100644
--- a/noncore/apps/opie-console/mainwindow.cpp
+++ b/noncore/apps/opie-console/mainwindow.cpp
@@ -311,21 +311,26 @@ void MainWindow::slotRunScript() {
*/
}
void MainWindow::slotConnect() {
if ( currentSession() ) {
bool ret = currentSession()->layer()->open();
- if(!ret) QMessageBox::warning(currentSession()->widgetStack(),
- QObject::tr("Failed"),
- QObject::tr("Connecting failed for this session."));
- }
+ if(!ret) QMessageBox::warning(currentSession()->widgetStack(),
+ QObject::tr("Failed"),
+ QObject::tr("Connecting failed for this session."));
+ m_connect->setEnabled( false );
+ m_disconnect->setEnabled( true );
+ }
}
void MainWindow::slotDisconnect() {
- if ( currentSession() )
+ if ( currentSession() ) {
currentSession()->layer()->close();
+ m_connect->setEnabled( true );
+ m_disconnect->setEnabled( false );
+ }
}
void MainWindow::slotTerminate() {
if ( currentSession() )
currentSession()->layer()->close();
@@ -402,29 +407,29 @@ void MainWindow::create( const Profile& prof ) {
m_sessions.append( ses );
tabWidget()->add( ses );
m_curSession = ses;
// dicide if its a local term ( then no connction and no tranfer), maybe make a wrapper method out of it
m_connect->setEnabled( true );
- m_disconnect->setEnabled( true );
+ m_disconnect->setEnabled( false );
m_terminate->setEnabled( true );
m_transfer->setEnabled( true );
m_recordScript->setEnabled( true );
m_saveScript->setEnabled( true );
m_runScript->setEnabled( true );
m_fullscreen->setEnabled( true );
m_closewindow->setEnabled( true );
}
void MainWindow::slotTransfer()
{
- // if ( currentSession() ) {
+ if ( currentSession() ) {
TransferDialog dlg(this);
dlg.showMaximized();
dlg.exec();
- // }
+ }
}
void MainWindow::slotOpenKeb(bool state) {
if (state) m_keyBar->show();
@@ -432,12 +437,20 @@ void MainWindow::slotOpenKeb(bool state) {
}
void MainWindow::slotSessionChanged( Session* ses ) {
if ( ses ) {
qWarning("changing %s", ses->name().latin1() );
m_curSession = ses;
+
+ if ( m_curSession->isConnected() ) {
+ m_connect->setEnabled( false );
+ m_disconnect->setEnabled( true );
+ } else {
+ m_connect->setEnabled( true );
+ m_disconnect->setEnabled( false );
+ }
}
}
void MainWindow::slotFullscreen() {
if ( m_isFullscreen ) {
@@ -452,13 +465,13 @@ void MainWindow::slotFullscreen() {
( m_curSession->widgetStack() )->reparent( 0,WStyle_Tool | WStyle_Customize | WStyle_StaysOnTop,
QPoint(0,0), false);
( m_curSession->widgetStack() )->resize(qApp->desktop()->width(), qApp->desktop()->height());
( m_curSession->widgetStack() )->setFocus();
( m_curSession->widgetStack() )->show();
- // QPushButton *cornerButton = new QPushButton( this );
+ //QPushButton *cornerButton = new QPushButton( );
//cornerButton->setPixmap( QPixmap( (const char**)menu_xpm ) );
//connect( cornerButton, SIGNAL( pressed() ), this, SLOT( slotFullscreen() ) );
// need teh scrollbar
// ( m_curSession->widgetStack() )->setCornerWidget( cornerButton );
m_fullscreen->setText( tr("Stop full screen") );
}
diff --git a/noncore/apps/opie-console/profile.h b/noncore/apps/opie-console/profile.h
index 1b71cda..64eb022 100644
--- a/noncore/apps/opie-console/profile.h
+++ b/noncore/apps/opie-console/profile.h
@@ -14,13 +14,15 @@
*/
class Profile {
public:
typedef QValueList<Profile> ValueList;
enum Color { Black = 0,
White,
- Gray };
+ Gray,
+ Green,
+ Orange};
enum Terminal {VT102 = 0, VT100 };
enum Font { Micro = 0, Small, Medium };
Profile();
Profile( const QString& name,
const QCString& iolayerName,
const QCString& termName,
diff --git a/noncore/apps/opie-console/session.cpp b/noncore/apps/opie-console/session.cpp
index f4fbcf2..d0ace6c 100644
--- a/noncore/apps/opie-console/session.cpp
+++ b/noncore/apps/opie-console/session.cpp
@@ -42,32 +42,38 @@ WidgetLayer* Session::emulationWidget() {
}
*/
void Session::connect() {
if ( !m_layer || !m_emu )
return;
+ m_connected = true;
+
qWarning("connection in session");
QObject::connect(m_layer, SIGNAL(received(const QByteArray&) ),
m_emu, SLOT(recv(const QByteArray&) ) );
QObject::connect(m_emu, SIGNAL(send(const QByteArray&) ),
m_layer, SLOT(send(const QByteArray&) ) );
-
}
+
void Session::disconnect() {
if ( !m_layer || !m_emu )
return;
+ m_connected = false;
+
QObject::disconnect(m_layer, SIGNAL(received(const QByteArray&) ),
m_emu, SLOT(recv(const QByteArray&) ) );
QObject::disconnect(m_emu, SIGNAL(send(const QByteArray&) ),
m_layer, SLOT(send(const QByteArray&) ) );
}
+
void Session::setName( const QString& na){
m_name = na;
}
+
void Session::setWidgetStack( QWidgetStack* wid ) {
delete m_emu;
m_emu = 0l;
delete m_widget;
/* the EmulationLayer was destroyed... */
@@ -85,6 +91,10 @@ void Session::setEmulationHandler( EmulationHandler* lay ) {
/*
void Session::setEmulationWidget( WidgetLayer* lay ) {
delete m_widLay;
m_widLay = lay;
}
*/
+
+bool Session::isConnected() {
+ return m_connected;
+}
diff --git a/noncore/apps/opie-console/session.h b/noncore/apps/opie-console/session.h
index c3f3661..a1121d3 100644
--- a/noncore/apps/opie-console/session.h
+++ b/noncore/apps/opie-console/session.h
@@ -56,15 +56,18 @@ public:
void setWidgetStack( QWidgetStack* widget );
void setEmulationHandler( EmulationHandler* lay );
void setIOLayer( IOLayer* );
void setName( const QString& );
+ bool isConnected();
+
private:
QString m_name;
QWidgetStack* m_widget;
IOLayer* m_layer;
EmulationHandler* m_emu;
+ bool m_connected;
};
#endif
diff --git a/noncore/apps/opie-console/terminalwidget.cpp b/noncore/apps/opie-console/terminalwidget.cpp
index 2d37be2..8badf96 100644
--- a/noncore/apps/opie-console/terminalwidget.cpp
+++ b/noncore/apps/opie-console/terminalwidget.cpp
@@ -16,13 +16,15 @@ namespace {
id_term_vt102,
id_term_ansi
};
enum ColourIds {
id_term_black,
- id_term_white
+ id_term_white,
+ id_term_green,
+ id_term_orange
};
enum FontIds {
id_size_small,
id_size_medium,
id_size_large
@@ -75,12 +77,14 @@ TerminalWidget::TerminalWidget( const QString& name, QWidget* parent,
m_terminalBox->insertItem( tr("VT 100"), id_term_vt100 );
m_terminalBox->insertItem( tr("VT 102"), id_term_vt102 );
//m_terminalBox->insertItem( tr("ANSI"), id_term_ansi );
m_colorCmb->insertItem( tr("black on white"), id_term_black );
m_colorCmb->insertItem( tr("white on black"), id_term_white );
+ m_colorCmb->insertItem( tr("green on black"), id_term_green );
+ m_colorCmb->insertItem( tr("orange on black"), id_term_orange );
// signals + slots
/*
connect(m_terminalBox, SIGNAL(activated(int) ),
this, SLOT(slotTermTerm(int) ) );
connect(m_colorBox, SIGNAL(activated(int) ),
@@ -124,12 +128,18 @@ void TerminalWidget::load( const Profile& prof ) {
case Profile::Black:
m_colorCmb->setCurrentItem(id_term_black );
break;
case Profile::White:
m_colorCmb->setCurrentItem(id_term_white );
break;
+ case Profile::Green:
+ m_colorCmb->setCurrentItem(id_term_green );
+ break;
+ case Profile::Orange:
+ m_colorCmb->setCurrentItem(id_term_orange );
+ break;
default:
break;
};
switch( fontsize ) {
case Profile::Micro:
@@ -172,12 +182,18 @@ void TerminalWidget::save( Profile& profile ) {
case id_term_black:
profile.writeEntry("Color", Profile::Black );
break;
case id_term_white:
profile.writeEntry("Color", Profile::White );
break;
+ case id_term_green:
+ profile.writeEntry("Color", Profile::Green );
+ break;
+ case id_term_orange:
+ profile.writeEntry("Color", Profile::Orange );
+ break;
default:
break;
};
if (m_sizeSmall->isChecked() ) {
profile.writeEntry("Font", Profile::Micro );