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

Class Index

kpresenter'AFChoose (./koffice/kpresenter/autoformEdit/afchoose.h:43)

class AFChoose : public QTabDialog
{
  Q_OBJECT

public:

  // constructor - destructor
  AFChoose(QWidget *parent=0,const char *name=0);
  ~AFChoose();

protected:

  // structure of a group
  struct Group
  {
    QFileInfo dir;
    QString name;
    QWidget *tab;
    KIconLoaderCanvas *loadWid;
    QLabel *label;
  };

  // set groups
  void getGroups();

  // setup tabs
  void setupTabs();

  // resize event
  void resizeEvent(QResizeEvent *);

  // ********** variables **********

  // list of groups and a pointer to a group
  QList<Group> groupList;
  Group *grpPtr;

private slots:

  // name changed
  void nameChanged(const QString &);

  // autoform chosen
  void chosen();

signals:

  //autoform chosen
  void formChosen(const QString &);

};

kpresenter'AFChoose::AFChoose() (./koffice/kpresenter/autoformEdit/afchoose.cc:34)

AFChoose::AFChoose(QWidget *parent,const char *name)
    :QTabDialog(parent,name,true)
{
    setCancelButton(i18n("Cancel"));
    setOkButton(i18n("OK"));
    groupList.setAutoDelete(true);
    getGroups();
    setupTabs();
    connect(this,SIGNAL(applyButtonPressed()),this,SLOT(chosen()));
}

/*===================== destrcutor ===============================*/

kpresenter'AFChoose::~AFChoose() (./koffice/kpresenter/autoformEdit/afchoose.cc:46)

AFChoose::~AFChoose()
{
}

/*======================= get Groups =============================*/

kpresenter'AFChoose::getGroups() (./koffice/kpresenter/autoformEdit/afchoose.cc:51)

void AFChoose::getGroups()
{
    // global autoforms
    QString afDir = locate( "autoforms", ".autoforms", KPresenterFactory::global() );

    QFile f( afDir );
    if ( f.open(IO_ReadOnly) ) {
	QTextStream t( &f );
	QString s;
	while ( !t.eof() ) {
	    s = t.readLine();
	    if ( !s.isEmpty() ) {
		grpPtr = new Group;
		grpPtr->dir.setFile( QFileInfo( afDir ).dirPath() + "/" + s.simplifyWhiteSpace() );
		grpPtr->name = s.simplifyWhiteSpace();
		groupList.append( grpPtr );
	    }
	}
	f.close();
    }
}

/*======================= setup Tabs =============================*/

kpresenter'AFChoose::setupTabs() (./koffice/kpresenter/autoformEdit/afchoose.cc:74)

void AFChoose::setupTabs()
{
    if (!groupList.isEmpty())
    {
	for (grpPtr=groupList.first();grpPtr != 0;grpPtr=groupList.next())
	{
	    grpPtr->tab = new QVBox(this);
	    grpPtr->loadWid = new KIconLoaderCanvas(grpPtr->tab);
	    qDebug( "%s", grpPtr->dir.absFilePath().latin1() );
	    // Changes for the new KIconLoaderCanvas (Werner)
	    QDir d( grpPtr->dir.absFilePath() );
	    d.setNameFilter( "*.png" );
	    if( d.exists() ) {
		QStringList files=d.entryList( QDir::Files | QDir::Readable, QDir::Name );
		for(unsigned int i=0; i<files.count(); ++i)
		    files[i]=grpPtr->dir.absFilePath() + QChar('/') + files[i];		
		grpPtr->loadWid->loadFiles(files);
	    }
	    //grpPtr->loadWid->loadDir(grpPtr->dir.absFilePath(),"*.png");
	    grpPtr->loadWid->setBackgroundColor(colorGroup().base());
	    grpPtr->loadWid->show();
	    connect(grpPtr->loadWid,SIGNAL(nameChanged(const QString &)),
		    this,SLOT(nameChanged(const QString &)));
//	  connect(grpPtr->loadWid,SIGNAL(doubleClicked()),
//		  this,SLOT(chosen()));
//	  connect(grpPtr->loadWid,SIGNAL(doubleClicked()),
//		  this,SLOT(accept()));
	    grpPtr->label = new QLabel(grpPtr->tab);
	    grpPtr->label->setText(" ");
	    grpPtr->label->setMaximumHeight(grpPtr->label->sizeHint().height());
	    //grpPtr->tab->setMinimumSize(400,300);
	    addTab(grpPtr->tab,grpPtr->name);
	}
    }
}

/*====================== resize event ============================*/

kpresenter'AFChoose::resizeEvent() (./koffice/kpresenter/autoformEdit/afchoose.cc:111)

void AFChoose::resizeEvent(QResizeEvent *e)
{
    QTabDialog::resizeEvent(e);
//   if (!groupList.isEmpty())
//     {
//	 for (grpPtr=groupList.first();grpPtr != 0;grpPtr=groupList.next())
//	{
//	  grpPtr->loadWid->resize(grpPtr->tab->width(),grpPtr->tab->height()-30);
//	  grpPtr->label->setGeometry(10,grpPtr->tab->height()-30,
//				     grpPtr->tab->width()-10,30);
//	}
//     }
}

/*====================== name changed ===========================*/

kpresenter'AFChoose::nameChanged() (./koffice/kpresenter/autoformEdit/afchoose.cc:126)

void AFChoose::nameChanged(const QString & name)
{
    QFileInfo fi(name);

    if (!groupList.isEmpty())
    {
	for (grpPtr=groupList.first();grpPtr != 0;grpPtr=groupList.next())
	{
	    grpPtr->label->setText(fi.baseName());
	    if (grpPtr->label->text().isEmpty())
		grpPtr->label->setText(" ");
	}
    }
}

/*======================= form chosen ==========================*/

kpresenter'AFChoose::chosen() (./koffice/kpresenter/autoformEdit/afchoose.cc:142)

void AFChoose::chosen()
{
    if (!groupList.isEmpty())
    {
	for (grpPtr=groupList.first();grpPtr != 0;grpPtr=groupList.next())
	{
	    if (grpPtr->tab->isVisible() && !grpPtr->loadWid->getCurrent().isEmpty())
		emit formChosen(QString(grpPtr->name + "/" + grpPtr->loadWid->getCurrent()));
	}
    }
}