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()));
}
}
}