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

Class Index

knotes'DockWidget (./kdeutils/knotes/docking.h:40)

class DockWidget : public QLabel 
{

  Q_OBJECT

public:
  DockWidget(const char *name=0);
  ~DockWidget();

protected:
  //void paintEvent(QPaintEvent *e);
  void mousePressEvent(QMouseEvent *e);
  void mouseReleaseEvent(QMouseEvent *e);

public slots:

  void toggle_window_state();
  void findKPostit(int);
  void exitKNotes();
  void configureKNotes();
  void help();
  void newKNote();
  void createLeftPopUp();

  void dock();
  void undock();
  //void paintIcon();

public:
  const bool isDocked();

private:

  int newID;
  bool docked;
  int toggleID;
  int pos_x;
  int pos_y;
  KPopupMenu *right_popup_m;
  KPopupMenu *left_popup_m;
  QPixmap picsmall_pixmap;

};

knotes'DockWidget::DockWidget() (./kdeutils/knotes/docking.cpp:40)

DockWidget::DockWidget(const char *name)
  : QLabel( 0, name, 0 ) 
{
  docked = false;
  pos_x = pos_y = 0;
  left_popup_m = 0;

  picsmall_pixmap = SmallIcon("knotes");
  setPixmap( picsmall_pixmap );

  //////////////////////////////////////////////////////////////////
  // popup menu for left mouse button

  createLeftPopUp();

  ///////////////////////////////////////////////////////////////////
  // right_popup menu for left mouse button

  right_popup_m = new KPopupMenu();
  right_popup_m->insertTitle( picsmall_pixmap, kapp->caption() );
  right_popup_m->insertItem (i18n("Help"),
    this,SLOT(help()));
  right_popup_m->insertItem(i18n("Configuration..."),
    this, SLOT(configureKNotes()));
  right_popup_m->insertSeparator();
  right_popup_m->insertItem (i18n("Quit"),
    this, SLOT(exitKNotes()));
}



knotes'DockWidget::~DockWidget() (./kdeutils/knotes/docking.cpp:70)

DockWidget::~DockWidget()
{
}



knotes'DockWidget::createLeftPopUp() (./kdeutils/knotes/docking.cpp:75)

void DockWidget::createLeftPopUp( void )
{
  if( left_popup_m == 0 )
  {
    left_popup_m = new KPopupMenu();
    if( left_popup_m == 0 ) { return; }
    connect( left_popup_m, SIGNAL(activated( int )),SLOT(findKPostit(int)) );
  }
  else
  {
    left_popup_m->clear();
  }

  newID = left_popup_m->insertItem(i18n("New Knote"),
    this, SLOT(newKNote()));
  left_popup_m->insertSeparator();
  for( uint i = 0; i < KPostit::PostitFilesList.count(); i++ )
  {      
    left_popup_m->insertItem (KPostit::PostitFilesList[i]);
  }
}



knotes'DockWidget::newKNote() (./kdeutils/knotes/docking.cpp:98)

void DockWidget::newKNote( void )
{
  KPostit* postit;
  if(KPostit::PostitFilesList.count() == 0 )
  {
    KPostit::PostitFilesList.append("knote 1");
    postit = new KPostit(NULL,NULL,0,KPostit::PostitFilesList.last());

    KPostit::PostitList.append(postit); 
    postit->show();
    createLeftPopUp();
  }
  else
  {
    KPostit::PostitList.first()->newKPostit(); 
  }
}



knotes'DockWidget::exitKNotes() (./kdeutils/knotes/docking.cpp:117)

void DockWidget::exitKNotes( void )
{
  if(KPostit::PostitList.count() > 0)
  {
    KPostit::PostitList.at(0)->quit();
  }
  else
  {
    QApplication::exit();
  }
}


knotes'DockWidget::configureKNotes() (./kdeutils/knotes/docking.cpp:129)

void DockWidget::configureKNotes(){


  KPostit* postit;

  if(KPostit::PostitFilesList.count() == 0 ){

    KPostit::PostitFilesList.append("knote 1");
    postit = new KPostit(NULL,NULL,0,KPostit::PostitFilesList.last());

    KPostit::PostitList.append(postit); 


  }

  KPostit::PostitList.at(0)->defaults();
  createLeftPopUp();

}



knotes'DockWidget::help() (./kdeutils/knotes/docking.cpp:150)

void DockWidget::help( void )
{
  kapp->invokeHTMLHelp("","");
}



knotes'DockWidget::dock() (./kdeutils/knotes/docking.cpp:156)

void DockWidget::dock( void ) 
{
  if( docked == false ) 
  {
    // prepare panel to accept this widget
    KWM::setDockWindow (this->winId());
    // that's all the space there is
    this->setFixedSize(24, 24);
    // finally dock the widget
    this->show();
    docked = true;
  }
}



knotes'DockWidget::undock() (./kdeutils/knotes/docking.cpp:171)

void DockWidget::undock( void ) 
{
  if( docked == true ) 
  {
    // new docking method, taken from ksirc (servercontroller.cpp)
    this->hide();
    this->recreate(0x0, 0, QPoint(0,0), FALSE); 
    docked = false;
  }
}



knotes'DockWidget::isDocked() (./kdeutils/knotes/docking.cpp:183)

const bool DockWidget::isDocked( void ) 
{
  return docked;
}



knotes'DockWidget::findKPostit() (./kdeutils/knotes/docking.cpp:189)

void DockWidget::findKPostit(int i)
{
  // convert absolute id to relative index
  i = left_popup_m->indexOf(i);

  if(KPostit::PostitList.count() > 0 && i > 1)
  {
    KPostit::PostitList.at(0)->findKPostit( i - 2 );
  }
}

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


void DockWidget::paintIcon () 
{
  bitBlt(this, 0, 0, &picsmall_pixmap);
}
*/


knotes'DockWidget::mousePressEvent() (./kdeutils/knotes/docking.cpp:213)

void DockWidget::mousePressEvent(QMouseEvent *e) 
{
  if( KContextMenuManager::showOnButtonPress() == false )
  {
    return;
  }

  if( e->button() == LeftButton ) 
  {
    left_popup_m->exec( mapToGlobal(QPoint(0,0))-QPoint(30,60) );
  }
  else if( e->button() == RightButton ) 
  {
    right_popup_m->exec( mapToGlobal(QPoint(0,0))-QPoint(30,60) );
  }
}



knotes'DockWidget::mouseReleaseEvent() (./kdeutils/knotes/docking.cpp:231)

void DockWidget::mouseReleaseEvent(QMouseEvent *e) 
{
  if( KContextMenuManager::showOnButtonPress() == true )
  {
    return;
  }

  if( e->button() == LeftButton ) 
  {
    //left_popup_m->exec( mapToGlobal(QPoint(0,0))-QPoint(30,60) );
    left_popup_m->exec( e->globalPos() );
  }
  else if( e->button() == RightButton ) 
  {
    //right_popup_m->exec( mapToGlobal(QPoint(0,0))-QPoint(30,60) );
    right_popup_m->exec( e->globalPos() );
  }

}









knotes'DockWidget::toggle_window_state() (./kdeutils/knotes/docking.cpp:258)

void DockWidget::toggle_window_state() {

  /*
  // restore/hide connect-window
  if(k != 0L)  {
    if (k->isVisible()){


    QPoint point = k->mapToGlobal (QPoint (0,0));
     pos_x = point.x();
     pos_y = point.y();
     k->hide();
    }
    else {
     k->setGeometry(
		 pos_x, 
		 pos_y,
		 k->width(),
		 k->height());

      k->show();
    }
  }
  */
}