summaryrefslogtreecommitdiff
authorzecke <zecke>2002-10-31 16:14:20 (UTC)
committer zecke <zecke>2002-10-31 16:14:20 (UTC)
commitd2a79869efe8b18849e45b8e1beedb5108eba6ac (patch) (side-by-side diff)
tree98b5d50f696d2d411cd287f4fe1bc7e1c0f7b7a2
parentc3a6f53669140cf9e3c953772c610cd91d69ab78 (diff)
downloadopie-d2a79869efe8b18849e45b8e1beedb5108eba6ac.zip
opie-d2a79869efe8b18849e45b8e1beedb5108eba6ac.tar.gz
opie-d2a79869efe8b18849e45b8e1beedb5108eba6ac.tar.bz2
Auto connect on Locale Console again!
MyPty test if cmd is available(exists) and then either use /bin/bash or /bin/sh ConsoleConfigWidget added a comment about the expected behaviour
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-console/MyPty.cpp17
-rw-r--r--noncore/apps/opie-console/consoleconfigwidget.cpp11
-rw-r--r--noncore/apps/opie-console/profileeditordialog.cpp2
3 files changed, 25 insertions, 5 deletions
diff --git a/noncore/apps/opie-console/MyPty.cpp b/noncore/apps/opie-console/MyPty.cpp
index b0f0275..c3c58be 100644
--- a/noncore/apps/opie-console/MyPty.cpp
+++ b/noncore/apps/opie-console/MyPty.cpp
@@ -290,9 +290,24 @@ void MyPty::close() {
m_fd = openPty();
}
void MyPty::reload( const Profile& prof) {
m_env.clear();
- m_cmd = prof.readEntry("Command", "/bin/bash");
+ m_cmd = prof.readEntry("Command", "/bin/sh");
+
+ /*
+ * Lets check if m_cmd actually
+ * exists....
+ * we try to use bin/bash and if
+ * this fails we
+ * will fallback to /bin/sh
+ * which should be there 100%
+ */
+ if ( !QFile::exists(QFile::encodeName(m_cmd) ) )
+ if (QFile::exists("/bin/bash") )
+ m_cmd = "/bin/bash";
+ else
+ m_cmd = "/bin/sh";
+
int envcount = prof.readNumEntry("EnvVars", 0);
for (int i=0; i<envcount; i++) {
QString name = prof.readEntry("Env_Name_" + QString::number(i), "");
QString value = prof.readEntry("Env_Value_" + QString::number(i), "");
diff --git a/noncore/apps/opie-console/consoleconfigwidget.cpp b/noncore/apps/opie-console/consoleconfigwidget.cpp
index 70e2e78..3f2d154 100644
--- a/noncore/apps/opie-console/consoleconfigwidget.cpp
+++ b/noncore/apps/opie-console/consoleconfigwidget.cpp
@@ -23,9 +23,9 @@ ConsoleConfigWidget::ConsoleConfigWidget( const QString& name, QWidget* parent,
m_env = new QListView(this);
m_env->addColumn(tr("Name"));
m_env->addColumn(tr("Value"));
m_lay->addWidget(m_env);
-
+
QHBox *hbox = new QHBox(this);
label = new QLabel(tr("Name :"), hbox);
m_name = new QLineEdit(hbox);
m_lay->addWidget(hbox);
@@ -33,9 +33,9 @@ ConsoleConfigWidget::ConsoleConfigWidget( const QString& name, QWidget* parent,
hbox = new QHBox(this);
label = new QLabel(tr("Value :"), hbox);
m_value = new QLineEdit(hbox);
m_lay->addWidget(hbox);
-
+
hbox = new QHBox(this);
hbox->setSpacing(10);
m_remove = new QPushButton(tr("Remove"), hbox);
connect(m_remove, SIGNAL(clicked()), this, SLOT(slotRemove()));
@@ -63,10 +63,15 @@ void ConsoleConfigWidget::slotRemove() {
ConsoleConfigWidget::~ConsoleConfigWidget() {
}
void ConsoleConfigWidget::load( const Profile& prof ) {
+ /*
+ * we will use /bin/bash as default
+ * but will fallback in MyPty to /bin/sh
+ * if necessary
+ */
m_cmd->setText(prof.readEntry("Command", "/bin/bash"));
- int envcount = prof.readNumEntry("EnvVars", 0);
+ int envcount = prof.readNumEntry("EnvVars", 0);
for (int i=0; i<envcount; i++) {
QString name = prof.readEntry("Env_Name_" + QString::number(i), "");
QString value = prof.readEntry("Env_Value_" + QString::number(i), "");
if (!(name.isEmpty() || value.isEmpty())) {
diff --git a/noncore/apps/opie-console/profileeditordialog.cpp b/noncore/apps/opie-console/profileeditordialog.cpp
index fd04b6b..6b607df 100644
--- a/noncore/apps/opie-console/profileeditordialog.cpp
+++ b/noncore/apps/opie-console/profileeditordialog.cpp
@@ -199,9 +199,9 @@ void ProfileEditorDialog::slotConActivated( const QString& str ) {
// FIXME ugly hack right. Right solution would be to look into the layer and see if it
// supports auto connect and then set it as prefered
//if ( ( )->layer()->supports()[0] == 1 ) {
- if ( m_conCmb ->currentText() == tr("local Console") ) {
+ if ( m_conCmb ->currentText() == tr("Local Console") ) {
m_autoConnect->setChecked( true );
} else {
m_autoConnect->setChecked( false );
}