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

Class Index

kcontrol'KCursorConfig (./kdebase/kcontrol/root/main.h:12)

class KCursorConfig : public KConfigWidget
{
  Q_OBJECT
public:
  QButtonGroup * qbg;
  KCursorConfig( QWidget *parent=0, const char *name=0, bool init=FALSE );
  ~KCursorConfig();
  void loadSettings();
  void applySettings();
  void setCustom(QString);
  void GetSettings();
  void saveParams();
  void initCheck();

public slots:
  void wastoggled(int);
  void browseSelected();

protected:
  virtual void resizeEvent(QResizeEvent *);

private:
  const QCursor * cursors[numcursors];
  QRadioButton * cnames[numcursors];
  QPushButton * browse;
  QPoint calcpos(int);
  KConfig * config;
  int mysel;
  QString custom;

};


kcontrol'KCursorConfig::KCursorConfig() (./kdebase/kcontrol/root/main.cpp:34)

KCursorConfig::KCursorConfig(QWidget * parent,const char * name,bool init)
  : KConfigWidget(parent,name)
{
  qbg=0;
  if(init)
    dogui=false;
  else
    dogui=true;
  if(dogui) {
    browse=new QPushButton("Browse",this);
    browse->show();
  }
  config=kapp->getConfig();
  GetSettings();
  if(init)
    saveParams();
}


kcontrol'KCursorConfig::wastoggled() (./kdebase/kcontrol/root/main.cpp:55)

void KCursorConfig::wastoggled(int n)
{
  mysel=n;
}


kcontrol'KCursorConfig::initCheck() (./kdebase/kcontrol/root/main.cpp:60)

void KCursorConfig::initCheck()
{
  if(!squingle) {
    cursors[0]=&Qt::arrowCursor;
    cnames[0]=new QRadioButton("Arrow",this);
    cursors[1]=&Qt::upArrowCursor;
    cnames[1]=new QRadioButton("Up arrow",this);
    cursors[2]=&Qt::crossCursor;
    cnames[2]=new QRadioButton("Cross",this);
    cursors[3]=&Qt::waitCursor;
    cnames[3]=new QRadioButton("Wait",this);
    cursors[4]=&Qt::ibeamCursor;
    cnames[4]=new QRadioButton("Ibeam",this);
    cursors[5]=&Qt::sizeVerCursor;
    cnames[5]=new QRadioButton("Vertical size",this);
    cursors[6]=&Qt::sizeHorCursor;
    cnames[6]=new QRadioButton("Horizontal size",this);
    cursors[7]=&Qt::sizeBDiagCursor;
    cnames[7]=new QRadioButton("Diagonal 1",this);
    cursors[8]=&Qt::sizeFDiagCursor;
    cnames[8]=new QRadioButton("Diagonal 2",this);
    cursors[9]=&Qt::sizeAllCursor;
    cnames[9]=new QRadioButton("All size",this);
    cursors[10]=&Qt::splitVCursor;
    cnames[10]=new QRadioButton("Split V",this);
    cursors[11]=&Qt::splitHCursor;
    cnames[11]=new QRadioButton("Split H",this);
    cursors[12]=&Qt::pointingHandCursor;
    cnames[12]=new QRadioButton("Pointing hand",this);
    cursors[13]=new QCursor();      // Default cursor if no custom
    cnames[13]=new QRadioButton("Custom",this);
    squingle=true;
  }
}


kcontrol'KCursorConfig::resizeEvent() (./kdebase/kcontrol/root/main.cpp:95)

void KCursorConfig::resizeEvent(QResizeEvent * qre)
{
  int loopc;
  if(!squangle) {
    initCheck();
    qbg=new QButtonGroup();
    connect(qbg,SIGNAL(clicked(int)),this,SLOT(wastoggled(int)));
    connect(browse,SIGNAL(clicked()),this,SLOT(browseSelected()));
    for(loopc=0;loopc<numcursors;loopc++) {
      qbg->insert(cnames[loopc],loopc);
      if(loopc==mysel) {
        cnames[loopc]->toggle();
      }
      cnames[loopc]->show();
      cnames[loopc]->setCursor(*cursors[loopc]);
    }
    squangle=true;
  }

  int ww=qre->size().width();
  int hh=(qre->size().height())-40;
  int xx=20;
  int yy=20;
  int midpos=ww/2;
  int sizeit=(hh-20)/((numcursors+1)/2);
  for(loopc=0;loopc<numcursors;loopc+=2) {
    cnames[loopc]->setGeometry(xx,yy+(loopc/2*sizeit),midpos-40,sizeit-5);
    if(loopc+1<numcursors) {
      cnames[loopc+1]->setGeometry(xx+(midpos+20),yy+(loopc/2*sizeit),
                                   ww-40,sizeit-5); 
    }
  }
  browse->move(20,qre->size().height()-40);
}


kcontrol'KCursorConfig::~KCursorConfig() (./kdebase/kcontrol/root/main.cpp:130)

KCursorConfig::~KCursorConfig()
{
  if(qbg)
    delete qbg;
}


kcontrol'KCursorConfig::setCustom() (./kdebase/kcontrol/root/main.cpp:136)

void KCursorConfig::setCustom(QString s)
{
  printf("Loading %s\n",s.ascii());
  custom=s;
  QPixmap wuggle(s.ascii());
  if(!wuggle.isNull()) {
     // Colour cursors appear to be impossible, grr
     QBitmap a;
     QBitmap b;
     a=wuggle;
     if(wuggle.mask()) {
       b=*wuggle.mask();
     } else {
       b=wuggle.createHeuristicMask();
     }
     delete cursors[13];
     cursors[13]=new QCursor(a,b);
     cnames[13]->setCursor(*cursors[13]);
  }
}


kcontrol'KCursorConfig::GetSettings() (./kdebase/kcontrol/root/main.cpp:157)

void KCursorConfig::GetSettings()
{
  initCheck();
  config->setGroup("Root cursor");
  mysel=config->readNumEntry("Cursor number",-1);
  config->setGroup("Custom");
  QString wibble;
  wibble=config->readEntry("Bitmap","");
  custom=wibble;
  if(wibble!="") {
    setCustom(wibble);
  }
  if(mysel==-1) {
    mysel=5;
  }
  if(qbg)
    qbg->setButton(mysel);
  QApplication::desktop()->setCursor(*cursors[mysel]);
}


kcontrol'KCursorConfig::browseSelected() (./kdebase/kcontrol/root/main.cpp:177)

void KCursorConfig::browseSelected()
{
  QString ret;
  ret=KFileDialog::getOpenFileName();
  if(ret) {
    setCustom(ret);
  }  
}


kcontrol'KCursorConfig::saveParams() (./kdebase/kcontrol/root/main.cpp:186)

void KCursorConfig::saveParams()
{
  config->setGroup("Root cursor");
  config->writeEntry("Cursor number",mysel);
  config->setGroup("Custom");
  config->writeEntry("Bitmap",custom);
  config->sync();
  QApplication::desktop()->setCursor(*cursors[mysel]);
}


kcontrol'KCursorConfig::loadSettings() (./kdebase/kcontrol/root/main.cpp:196)

void KCursorConfig::loadSettings()
{
  GetSettings();
}


kcontrol'KCursorConfig::applySettings() (./kdebase/kcontrol/root/main.cpp:201)

void KCursorConfig::applySettings()
{
  saveParams();
}