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

Class Index

kppp'DockWidget (./kdenetwork/kppp/docking.h:36)

class DockWidget : public KDockWindow {
  Q_OBJECT
public:
  DockWidget(QWidget * parent, const char *name, PPPStats *st);
  ~DockWidget();

protected:
  void paintEvent(QPaintEvent *e);
  void showEvent(QShowEvent *) { }

private slots:
  void toggle_window_state();
  void mousePressEvent(QMouseEvent *e);

public slots:
  void paintIcon(int);
  void take_stats();
  void stop_stats();

public:
  static DockWidget *dock_widget;

private:
  int toggleID;
  PPPStats *stats;

  KPopupMenu *popup_m;

  QPixmap dock_none_pixmap;
  QPixmap dock_left_pixmap;
  QPixmap dock_right_pixmap;
  QPixmap dock_both_pixmap;
};

kppp'DockWidget::DockWidget() (./kdenetwork/kppp/docking.cpp:46)

DockWidget::DockWidget(QWidget *parent, const char *name, PPPStats *st)
  : KDockWindow(0L, name), stats(st) {

  // load pixmaps
  dock_none_pixmap = UserIcon("dock_none");
  dock_left_pixmap = UserIcon("dock_left");
  dock_right_pixmap = UserIcon("dock_right");
  dock_both_pixmap = UserIcon("dock_both");

  // popup menu for right mouse button
  popup_m = contextMenu();
  toggleID = popup_m->insertItem(i18n("Restore"),
				 this, SLOT(toggle_window_state()));
  popup_m->insertItem(i18n("Details"), parent, SLOT(showStats()));
  popup_m->insertSeparator();
  popup_m->insertItem(i18n("Disconnect"),
		      parent, SLOT(disconnect()));
  // connect to stats for little modem animation
  connect(stats, SIGNAL(statsChanged(int)), SLOT(paintIcon(int)));

  DockWidget::dock_widget = this;
}



kppp'DockWidget::~DockWidget() (./kdenetwork/kppp/docking.cpp:70)

DockWidget::~DockWidget() {
  DockWidget::dock_widget = 0;
}



kppp'DockWidget::paintEvent() (./kdenetwork/kppp/docking.cpp:75)

void DockWidget::paintEvent (QPaintEvent *) {
  paintIcon(PPPStats::BytesNone);
}



kppp'DockWidget::paintIcon() (./kdenetwork/kppp/docking.cpp:80)

void DockWidget::paintIcon (int status) {
  // animate modem lights

  const QPixmap *pixmap;

  if(this->isVisible()) {
    switch(status)
      {
      case PPPStats::BytesBoth:
        pixmap = &dock_both_pixmap;
        break;
      case PPPStats::BytesIn:
        pixmap = &dock_left_pixmap;
        break;
      case PPPStats::BytesOut:
        pixmap = &dock_right_pixmap;
        break;
      case PPPStats::BytesNone:
      default:
        pixmap = &dock_none_pixmap;
        break;
      }
      
    bitBlt(this, 0, 0, pixmap);
  }
}



kppp'DockWidget::take_stats() (./kdenetwork/kppp/docking.cpp:108)

void DockWidget::take_stats() {
  if (isVisible()) {
    stats->initStats();
    stats->start();
  }
}



kppp'DockWidget::stop_stats() (./kdenetwork/kppp/docking.cpp:116)

void DockWidget::stop_stats() {
  stats->stop();
}



kppp'DockWidget::mousePressEvent() (./kdenetwork/kppp/docking.cpp:121)

void DockWidget::mousePressEvent(QMouseEvent *e) {
  // open/close connect-window on right mouse button
  if ( e->button() == LeftButton ) {
    toggle_window_state();
  }

  // open popup menu on left mouse button
  if ( e->button() == RightButton ) {
    QString text;
    if(p_kppp->con_win->isVisible())
      text = i18n("Minimize");
    else
      text = i18n("Restore");

    popup_m->changeItem(text, toggleID);
    popup_m->popup(e->globalPos());
    popup_m->exec();
  }
}



kppp'DockWidget::toggle_window_state() (./kdenetwork/kppp/docking.cpp:142)

void DockWidget::toggle_window_state() {
  // restore/hide connect-window
  if(p_kppp != 0L)  {
    if (p_kppp->con_win->isVisible())
      p_kppp->con_win->hide();
    else {
      p_kppp->con_win->show();
      KWM::activate(p_kppp->con_win->winId());
    }
  }
}