summaryrefslogtreecommitdiff
authorzecke <zecke>2002-10-22 14:25:05 (UTC)
committer zecke <zecke>2002-10-22 14:25:05 (UTC)
commit53a21f61d99d62e62412e1b5ca9bde085b25bde5 (patch) (side-by-side diff)
tree894a1162468586710213945647d835dd94a3f5f1
parente006ea7655b455974ae64c30098eeecb7304508b (diff)
downloadopie-53a21f61d99d62e62412e1b5ca9bde085b25bde5.zip
opie-53a21f61d99d62e62412e1b5ca9bde085b25bde5.tar.gz
opie-53a21f61d99d62e62412e1b5ca9bde085b25bde5.tar.bz2
set $TERM in MyPty according to the terminal type
emulation_handler set the keyfilter right for the right terminal filetransfer fix warnings profile add Linux, XTerm as Emulation options TerminalWidget add Linux,XTerm
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-console/MyPty.cpp19
-rw-r--r--noncore/apps/opie-console/MyPty.h1
-rw-r--r--noncore/apps/opie-console/emulation_handler.cpp17
-rw-r--r--noncore/apps/opie-console/filetransfer.cpp3
-rw-r--r--noncore/apps/opie-console/filetransfer.h8
-rw-r--r--noncore/apps/opie-console/profile.h5
-rw-r--r--noncore/apps/opie-console/terminalwidget.cpp24
7 files changed, 61 insertions, 16 deletions
diff --git a/noncore/apps/opie-console/MyPty.cpp b/noncore/apps/opie-console/MyPty.cpp
index 6b0d6f2..16bb5ff 100644
--- a/noncore/apps/opie-console/MyPty.cpp
+++ b/noncore/apps/opie-console/MyPty.cpp
@@ -176,5 +176,5 @@ int MyPty::run(const char* cmd, QStrList &, const char*, int)
ttmode.c_cc[VERASE] = 8;
tcsetattr( STDIN_FILENO, TCSANOW, &ttmode );
- setenv("TERM","vt100",1);
+ setenv("TERM",m_term,1);
setenv("COLORTERM","0",1);
@@ -237,6 +237,21 @@ int MyPty::openPty()
Create an instance.
*/
-MyPty::MyPty(const Profile&) : m_cpid(0)
+MyPty::MyPty(const Profile& prof) : m_cpid(0)
{
+
+ int term = prof.readNumEntry("Terminal", Profile::VT100 );
+ switch( term ) {
+ default:
+ case Profile::VT100:
+ case Profile::VT102:
+ m_term = "vt100";
+ break;
+ case Profile::Linux:
+ m_term = "linux";
+ break;
+ case Profile::XTerm:
+ m_term = "xterm";
+ break;
+ }
m_sn_e = 0l;
m_sn_r = 0l;
diff --git a/noncore/apps/opie-console/MyPty.h b/noncore/apps/opie-console/MyPty.h
index 81abad5..7561ca3 100644
--- a/noncore/apps/opie-console/MyPty.h
+++ b/noncore/apps/opie-console/MyPty.h
@@ -95,4 +95,5 @@ private:
QSocketNotifier* m_sn_e;
QSocketNotifier* m_sn_r;
+ char* m_term;
};
diff --git a/noncore/apps/opie-console/emulation_handler.cpp b/noncore/apps/opie-console/emulation_handler.cpp
index df8e573..bdc8b43 100644
--- a/noncore/apps/opie-console/emulation_handler.cpp
+++ b/noncore/apps/opie-console/emulation_handler.cpp
@@ -40,5 +40,20 @@ void EmulationHandler::load( const Profile& prof) {
int num = prof.readNumEntry("Color");
setColor( foreColor(num), backColor(num) );
- m_teWid->setBackgroundColor(backColor(num) );
+ m_teWid->setBackgroundColor(backColor(num) );
+
+ int term = prof.readNumEntry("Terminal", 0) ;
+ switch(term) {
+ default:
+ case Profile::VT102:
+ case Profile::VT100:
+ m_teEmu->setKeytrans("vt100.keytab");
+ break;
+ case Profile::Linux:
+ m_teEmu->setKeytrans("linux.keytab");
+ break;
+ case Profile::XTerm:
+ m_teEmu->setKeytrans("default.Keytab");
+ break;
+ }
}
void EmulationHandler::recv( const QByteArray& ar) {
diff --git a/noncore/apps/opie-console/filetransfer.cpp b/noncore/apps/opie-console/filetransfer.cpp
index b81c2a2..221838c 100644
--- a/noncore/apps/opie-console/filetransfer.cpp
+++ b/noncore/apps/opie-console/filetransfer.cpp
@@ -61,4 +61,5 @@ void FileTransfer::sendFile( const QString& file ) {
char* typus;
switch(m_type ) {
+ default:
case SZ:
typus = "";
@@ -233,5 +234,5 @@ void FileTransfer::slotProgress( const QStringList& list ) {
void FileTransfer::cancel() {
if(m_pid > 0) ::kill(m_pid,9 );
-
+
}
void FileTransfer::slotExec() {
diff --git a/noncore/apps/opie-console/filetransfer.h b/noncore/apps/opie-console/filetransfer.h
index 9cc1e8d..8f55041 100644
--- a/noncore/apps/opie-console/filetransfer.h
+++ b/noncore/apps/opie-console/filetransfer.h
@@ -34,10 +34,5 @@ private slots:
void slotExec();
private:
- /*
- * FIXME? What does happen if we've
- * two FileTransfers at a time?
- * Have a procctl which does listen
- * for termination and then send a signal
- */
+ Type m_type;
pid_t m_pid;
int m_fd;
@@ -47,5 +42,4 @@ private:
int m_term[2];
QString m_file;
- Type m_type;
QSocketNotifier *m_not;
QSocketNotifier* m_proc;
diff --git a/noncore/apps/opie-console/profile.h b/noncore/apps/opie-console/profile.h
index 4f9e9c2..eeda1b6 100644
--- a/noncore/apps/opie-console/profile.h
+++ b/noncore/apps/opie-console/profile.h
@@ -21,5 +21,8 @@ public:
Green,
Orange};
- enum Terminal {VT102 = 0, VT100 };
+ enum Terminal {VT102 = 0, VT100,
+ Ansi,
+ Linux,
+ XTerm };
enum Font { Micro = 0, Small, Medium };
Profile();
diff --git a/noncore/apps/opie-console/terminalwidget.cpp b/noncore/apps/opie-console/terminalwidget.cpp
index 8badf96..eae94c3 100644
--- a/noncore/apps/opie-console/terminalwidget.cpp
+++ b/noncore/apps/opie-console/terminalwidget.cpp
@@ -13,7 +13,8 @@
namespace {
enum TermIds {
- id_term_vt100,
+ id_term_vt100 = 0,
id_term_vt102,
- id_term_ansi
+ id_term_linux,
+ id_term_xterm
};
@@ -75,6 +76,9 @@ TerminalWidget::TerminalWidget( const QString& name, QWidget* parent,
// Fill in some options
- m_terminalBox->insertItem( tr("VT 100"), id_term_vt100 );
- m_terminalBox->insertItem( tr("VT 102"), id_term_vt102 );
+ qWarning("Options for terminal box");
+ m_terminalBox->insertItem( tr("VT 100"), 0 ); // /*, id_term_vt100*/ );
+ m_terminalBox->insertItem( tr("VT 102"), 1 ); // /* , id_term_vt102 */);
+ m_terminalBox->insertItem( tr("Linux Console"), 2 ); //, id_term_linux );
+ m_terminalBox->insertItem( tr("X-Terminal"), 3 ); //, id_term_xterm );
//m_terminalBox->insertItem( tr("ANSI"), id_term_ansi );
@@ -121,4 +125,10 @@ void TerminalWidget::load( const Profile& prof ) {
m_terminalBox->setCurrentItem(id_term_vt102 );
break;
+ case Profile::Linux:
+ m_terminalBox->setCurrentItem(id_term_linux );
+ break;
+ case Profile::XTerm:
+ m_terminalBox->setCurrentItem(id_term_xterm );
+ break;
default:
break;
@@ -171,4 +181,10 @@ void TerminalWidget::save( Profile& profile ) {
profile.writeEntry("Terminal", Profile::VT102 );
break;
+ case id_term_linux:
+ profile.writeEntry("Terminal", Profile::Linux );
+ break;
+ case id_term_xterm:
+ profile.writeEntry("Terminal", Profile::XTerm );
+ break;
//case id_term_ansi:
// profile.writeEntry("Terminal", Profile::VT102 );