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

Class Index

kdewizard'DrivePage (./kdebase/kdewizard/drivepage.h:9)

class DrivePage : public QWidget
{
  Q_OBJECT
  
public:

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

public slots:

  void floppy1();
  void floppy2();
  void cdrom();

private:

  QLineEdit *edit1, *edit2, *edit3;

  void toggleDrive(QString file, QString name, QString mount, QString icon);
  
};


kdewizard'DrivePage::DrivePage() (./kdebase/kdewizard/drivepage.cpp:15)

DrivePage::DrivePage(QWidget *parent, const char *name)
  : QWidget(parent,name)
{
  QGridLayout *grid = new QGridLayout(this, 8,4, 8);

  QPixmap pixmap(locate("appdata", "html/wizard_small.png"));
  QLabel *l = new QLabel(this);
  l->setPixmap(pixmap);
  l->setFixedSize(pixmap.size());
  grid->addMultiCellWidget(l, 0,1 ,2,3, AlignRight);

  l = new QLabel(i18n("Ok, now we should add some nice icons for "
		      "your disc and cdrom drives to the desktop. "
		      "You just have to click the drive icon to "
		      "create/delete the icon. In rare cases, it "
		      "will be necessary to correct the drive info."), this);
  l->setAlignment(WordBreak);
  l->setBackgroundColor(white);
  grid->addMultiCellWidget(l, 0,1, 0,1);
  grid->setRowStretch(0,1);

  l = new QLabel(i18n("1st Floppy Disc drive"), this);
  l->setMinimumSize(l->sizeHint());
  l->setAlignment(AlignTop);
  l->setBackgroundColor(white);
  grid->addWidget(l, 3,1);

  QButton *button = new QPushButton(this);
  button->setPixmap(DesktopIcon("3floppy_unmount"));
  button->setFixedSize(button->sizeHint());
  grid->addWidget(button, 3,0);
  connect(button, SIGNAL(clicked()), this, SLOT(floppy1()));

  edit1 = new QLineEdit(this);
  edit1->setText("/dev/fd0");
  grid->addWidget(edit1,3,2);

  l = new QLabel(i18n("2nd Floppy Disc drive"), this);
  l->setMinimumSize(l->sizeHint());
  l->setAlignment(AlignTop);
  l->setBackgroundColor(white);
  grid->addWidget(l, 4,1);

  button = new QPushButton(this);
  button->setPixmap(DesktopIcon("5floppy_unmount"));
  button->setFixedSize(button->sizeHint());
  grid->addWidget(button, 4,0);
  connect(button, SIGNAL(clicked()), this, SLOT(floppy2()));

  edit2 = new QLineEdit(this);
  edit2->setText("/dev/fd1");
  grid->addWidget(edit2,4,2);

  l = new QLabel(i18n("CD-ROM drive"), this);
  l->setMinimumSize(l->sizeHint());
  l->setAlignment(AlignTop);
  l->setBackgroundColor(white);
  grid->addWidget(l, 5,1);

  button = new QPushButton(this);
  button->setPixmap(DesktopIcon("cdrom_unmount"));
  button->setFixedSize(button->sizeHint());
  grid->addWidget(button, 5,0);
  connect(button, SIGNAL(clicked()), this, SLOT(cdrom()));

  edit3 = new QLineEdit(this);
  edit3->setText("/dev/cdrom");
  grid->addWidget(edit3,5,2);

  grid->setRowStretch(6,1);

  setBackgroundColor(white);
}



kdewizard'DrivePage::floppy1() (./kdebase/kdewizard/drivepage.cpp:90)

void DrivePage::floppy1()
{
  toggleDrive("Floppy.desktop", i18n("Floppy disc"), edit1->text(), "3floppy");
}



kdewizard'DrivePage::floppy2() (./kdebase/kdewizard/drivepage.cpp:96)

void DrivePage::floppy2()
{
  toggleDrive("Floppy_2.desktop", i18n("Floppy disc"), edit2->text(), "5floppy");
}



kdewizard'DrivePage::cdrom() (./kdebase/kdewizard/drivepage.cpp:102)

void DrivePage::cdrom()
{
  toggleDrive("CD-ROM.desktop", i18n("CD-ROM"), edit3->text(), "cdrom");
}



kdewizard'DrivePage::toggleDrive() (./kdebase/kdewizard/drivepage.cpp:108)

void DrivePage::toggleDrive(QString file, QString name, QString mount, QString icon)
{
  QFile kdelnk(QDir::homeDirPath()+"/Desktop/"+file);

  if (kdelnk.exists())
    kdelnk.remove();
  else {
    if (kdelnk.open(IO_WriteOnly)) {
      QTextStream text(&kdelnk);

      text << "# KDE Config File\n";
      text << "[KDE Desktop Entry]\n";
      text << "Name=" << name << "\n";
      text << "Icon=" << icon << "_mount.png\n";
      text << "UnmountIcon=" << icon << "_unmount.png\n";
      text << "ReadOnly=0\n";
      text << "FSType=Default\n";
      text << "Type=FSDevice\n";
      text << "Dev=" << mount << "\n";

      kdelnk.close();
    }
  }

  // FIXME: implement this as soon as kdesktop is finished
  // KFM kfm;
  // kfm.refreshDesktop();
}