Mercurial > octave-nkf
view gui/src/terminal/Pty.cpp @ 13639:b643c51ca0f7
Removed useless code.
author | Jacob Dawid <jacob.dawid@googlemail.com> |
---|---|
date | Mon, 22 Aug 2011 22:32:07 +0200 |
parents | 04931210aac0 |
children | 8afea6b9e6df |
line wrap: on
line source
/* This file is part of Konsole, an X terminal. Copyright 1997,1998 by Lars Doelle <lars.doelle@on-line.de> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Own #include "kptyprocess.h" #include "Pty.h" // System #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> #include <errno.h> #include <termios.h> #include <signal.h> // Qt #include <QtCore/QStringList> #include "kpty.h" #include "kptydevice.h" int Pty::start (const QString & program, const QStringList & programArguments) { clearProgram (); setProgram (program.toLatin1 (), programArguments.mid (1)); struct::termios ttmode; pty ()->tcGetAttr (&ttmode); if (!_xonXoff) ttmode.c_iflag &= ~(IXOFF | IXON); else ttmode.c_iflag |= (IXOFF | IXON); pty ()->tcSetAttr(&ttmode); KProcess::start (); if (!waitForStarted ()) return -1; return 0; } Pty::Pty (int masterFd, QObject * parent): KPtyProcess (masterFd, parent) { init (); } Pty::Pty (QObject * parent):KPtyProcess (parent) { init (); } void Pty::init () { _xonXoff = true; connect (pty (), SIGNAL (readyRead ()), this, SLOT (dataReceived ())); setPtyChannels (KPtyProcess::AllChannels); } Pty::~Pty () { } void Pty::sendData (const QByteArray& data) { if (!data.length ()) return; pty ()->write (data); } void Pty::dataReceived () { emit receivedData (pty ()->readAll ()); } void Pty::setupChildProcess () { KPtyProcess::setupChildProcess (); // reset all signal handlers // this ensures that terminal applications respond to // signals generated via key sequences such as Ctrl+C // (which sends SIGINT) struct sigaction action; sigemptyset (&action.sa_mask); action.sa_handler = SIG_DFL; action.sa_flags = 0; for (int signal = 1; signal < NSIG; signal++) sigaction (signal, &action, 0L); }