Source Code (Use browser search to find items of interest.)

Class Index

kppp'MiniTerm (./kdenetwork/kppp/miniterm.h:61)

class MiniTerm : public QDialog {
  Q_OBJECT
public:

  MiniTerm(QWidget *parent=0, const char *name=0);
  ~MiniTerm();

  void closeEvent( QCloseEvent *e );
  void resizeEvent(QResizeEvent *e);

public slots:
  void cancelbutton();
  void init();
  void readChar(unsigned char);
  void help();
  void resetModem();

protected:
  void setupToolbar();

  QPushButton *cancel;
  MyTerm *terminal;
  QTimer *inittimer;

  QMenuBar    * menubar;
  KToolBar     * toolbar;
  QPopupMenu  * m_file;
  QPopupMenu  * m_edit;
  QPopupMenu  * m_options;
  KHelpMenu  * m_help;
  QLabel      * statusbar;
  QLabel      * statusbar2;
  QPushButton *pb1;
  QPushButton *pb2;
  QPushButton *pb3;
  QPushButton *pb4;

  QPixmap pb1_pixmap;
  QPixmap pb2_pixmap;
  QPixmap pb3_pixmap;
  QPixmap pb4_pixmap;
};


kppp'MiniTerm::MiniTerm() (./kdenetwork/kppp/miniterm.cpp:45)

MiniTerm::MiniTerm(QWidget *parent, const char *name)
  : QDialog(parent, name, TRUE)
{
  setCaption(i18n("Kppp Mini-Terminal"));
  KWM::setMiniIcon(winId(), kapp->miniIcon());

  m_file = new QPopupMenu;
  m_file->insertItem( i18n("&Close"),this, SLOT(cancelbutton()) );
  m_options = new QPopupMenu;
  m_options->insertItem(i18n("&Reset Modem"),this,SLOT(resetModem()));
  m_help = 
    new KHelpMenu(this, 
		      i18n("MiniTerm - A terminal emulation for KPPP\n\n"
			   "(c) 1997 Bernd Johannes Wuebben <wuebben@kde.org>\n"
			   "(c) 1998 Harri Porten <porten@kde.org>\n"
			   "(c) 1998 Mario Weilguni <mweilguni@kde.org>\n\n" 
			   "This program is published under the GNU GPL\n"
			   "(GNU General Public License)"
			   ));
  
  menubar = new QMenuBar( this );
  menubar->insertItem( i18n("&File"), m_file );
  menubar->insertItem( i18n("&Modem"), m_options );
  menubar->insertItem( i18n("&Help"), m_help->menu());
  
  statusbar = new QLabel(this);
  statusbar->setFrameStyle(QFrame::Panel | QFrame::Sunken);

  statusbar2 = new QLabel(this);
  statusbar2->setFrameStyle(QFrame::Panel | QFrame::Sunken);

  terminal = new MyTerm(this,"term");

  setupToolbar();

  statusbar->setGeometry(0, T_HEIGHT - 20, T_WIDTH - 70, 20);
  statusbar2->setGeometry(T_WIDTH - 70, T_HEIGHT - 20, 70, 20);

  menubar->setGeometry(0,0,T_WIDTH,30);

  terminal->setGeometry(0, menubar->height() + toolbar->height() , 
   T_WIDTH,  T_HEIGHT - menubar->height() - toolbar->height() - statusbar->height());
 
  inittimer = new QTimer(this);
  connect(inittimer,SIGNAL(timeout()),this,SLOT(init()));
  inittimer->start(500);
}  



kppp'MiniTerm::~MiniTerm() (./kdenetwork/kppp/miniterm.cpp:94)

MiniTerm::~MiniTerm() {
  delete toolbar;
  delete statusbar;
  delete statusbar2;
}



kppp'MiniTerm::setupToolbar() (./kdenetwork/kppp/miniterm.cpp:101)

void MiniTerm::setupToolbar() {
  toolbar = new KToolBar( this );

  QPixmap pixmap;

  pixmap = BarIcon("exit");
  toolbar->insertButton(pixmap, 0,
		      SIGNAL(clicked()), this,
		      SLOT(cancelbutton()), TRUE, i18n("Close MiniTerm"));

  pixmap = BarIcon("back");
  toolbar->insertButton(pixmap, 0,
		      SIGNAL(clicked()), this,
		      SLOT(resetModem()), TRUE, i18n("Reset Modem"));

  pixmap = BarIcon("help");
  toolbar->insertButton(pixmap, 0,
		      SIGNAL(clicked()), this,
		      SLOT(help()), TRUE, i18n("Help"));

  toolbar->setBarPos( KToolBar::Top );
  toolbar->enableMoving(false);
  toolbar->updateRects(true);
}



kppp'MiniTerm::resizeEvent() (./kdenetwork/kppp/miniterm.cpp:127)

void MiniTerm::resizeEvent(QResizeEvent*) {
  menubar->setGeometry(0,0,width(),30);
  toolbar->setGeometry(0,menubar->height(),width(),toolbar->height());
  terminal->setGeometry(0, menubar->height() + toolbar->height() , 
			width(),  height() - menubar->height() 
			- toolbar->height() - statusbar->height());
  statusbar->setGeometry(0, height() - 20, width() - 70, 20);
  statusbar2->setGeometry(width() - 70, height() - 20, 70, 20);
}



kppp'MiniTerm::init() (./kdenetwork/kppp/miniterm.cpp:138)

void MiniTerm::init() {
  inittimer->stop();
  statusbar->setText(i18n("Initializing Modem"));
  kapp->processEvents();

  int lock = Modem::modem->lockdevice();
  if (lock == 1) {
    statusbar->setText(i18n("Sorry, modem device is locked."));
    return;
  }

  if (lock == -1) {
    statusbar->setText(i18n("Sorry, can't create modem lock file."));
    return;
  }

  if(Modem::modem->opentty()) {
    if(Modem::modem->hangup()) {
    // send a carriage return and then wait a bit so that the modem will
    // let us issue commands.
    if(gpppdata.modemPreInitDelay() > 0) {
      usleep(gpppdata.modemPreInitDelay() * 5000);
      Modem::modem->writeLine("");
      usleep(gpppdata.modemPreInitDelay() * 5000);
    }
    Modem::modem->writeLine(gpppdata.modemInitStr());
    usleep(gpppdata.modemInitDelay() * 10000);
      
      statusbar->setText(i18n("Modem Ready"));
      terminal->setFocus();
      
      kapp->processEvents();
      kapp->processEvents();

      Modem::modem->notify(this, SLOT(readChar(unsigned char)));
      return;
    }
  }
  
  // opentty() or hangup() failed 
  statusbar->setText(Modem::modem->modemMessage());
  Modem::modem->unlockdevice();
}                  



kppp'MiniTerm::readChar() (./kdenetwork/kppp/miniterm.cpp:183)

void MiniTerm::readChar(unsigned char c) {

  switch((int)c) {
  case 8:
    terminal->backspace();
    break;
  case 10:
    terminal->mynewline();
    break;
  case 13:
    terminal->myreturn();
    break;
  case 127:
    terminal->backspace();
    break;
  default:
    terminal->insertChar(c);
  }
}



kppp'MiniTerm::cancelbutton() (./kdenetwork/kppp/miniterm.cpp:204)

void MiniTerm::cancelbutton() {  
  Modem::modem->stop();

  statusbar->setText(i18n("Hanging up ..."));
  kapp->processEvents();
  kapp->flushX();

  Modem::modem->hangup();

  Modem::modem->closetty();
  Modem::modem->unlockdevice();

  reject();
}



kppp'MiniTerm::resetModem() (./kdenetwork/kppp/miniterm.cpp:220)

void MiniTerm::resetModem() {
  statusbar->setText(i18n("Resetting Modem"));
  terminal->newLine();
  kapp->processEvents();
  kapp->flushX();

  Modem::modem->hangup();

  statusbar->setText(i18n("Modem Ready"));
}



kppp'MiniTerm::closeEvent() (./kdenetwork/kppp/miniterm.cpp:232)

void MiniTerm::closeEvent( QCloseEvent *e ) {
  cancelbutton();
  e->accept();
}



kppp'MiniTerm::help() (./kdenetwork/kppp/miniterm.cpp:238)

void MiniTerm::help() {
  kapp->invokeHTMLHelp("kppp/kppp.html","");
}