Recharger la collection ne developpe plus toute l'arborescence

git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@184 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
xavierqet
2007-10-16 12:04:08 +00:00
parent b545155f7a
commit 5cb269af57
2 changed files with 22 additions and 1 deletions

View File

@@ -137,6 +137,9 @@ void ElementsPanel::addDir(QTreeWidgetItem *qtwi_parent, QString adr_dossier, QS
qtwi_dossier -> setExpanded(true); qtwi_dossier -> setExpanded(true);
qtwi_dossier -> setData(0, 42, adr_dossier); qtwi_dossier -> setData(0, 42, adr_dossier);
// reduit le dossier si besoin
qtwi_dossier -> setExpanded(!collapsed_directories.contains(adr_dossier));
// ajout des sous-categories / sous-dossiers // ajout des sous-categories / sous-dossiers
QStringList dossiers = category.entryList(QStringList(), QDir::AllDirs | QDir::NoSymLinks | QDir::NoDotAndDotDot, QDir::Name); QStringList dossiers = category.entryList(QStringList(), QDir::AllDirs | QDir::NoSymLinks | QDir::NoDotAndDotDot, QDir::Name);
foreach(QString dossier, dossiers) addDir(qtwi_dossier, adr_dossier + dossier + "/"); foreach(QString dossier, dossiers) addDir(qtwi_dossier, adr_dossier + dossier + "/");
@@ -173,6 +176,9 @@ void ElementsPanel::addFile(QTreeWidgetItem *qtwi_parent, QString fichier) {
Recharge l'arbre des elements Recharge l'arbre des elements
*/ */
void ElementsPanel::reload() { void ElementsPanel::reload() {
// sauvegarde la liste des repertoires reduits
saveCollapsedCategories();
// vide l'arbre // vide l'arbre
while (takeTopLevelItem(0)); while (takeTopLevelItem(0));
@@ -274,3 +280,17 @@ void ElementsPanel::launchCategoryEditor(const QString &filename) {
ElementsCategoryEditor ece(filename, true); ElementsCategoryEditor ece(filename, true);
if (ece.exec() == QDialog::Accepted) reload(); if (ece.exec() == QDialog::Accepted) reload();
} }
/**
Enregistre la liste des categories repliees
*/
void ElementsPanel::saveCollapsedCategories() {
collapsed_directories.clear();
QList<QTreeWidgetItem *> items = findItems("*", Qt::MatchRecursive|Qt::MatchWildcard);
foreach(QTreeWidgetItem *item, items) {
QString file = item -> data(0, 42).toString();
if (!file.endsWith(".elmt") && !item -> isExpanded()) {
collapsed_directories << file;
}
}
}

View File

@@ -29,7 +29,8 @@ class ElementsPanel : public QTreeWidget {
QFileInfo selectedFile() const; QFileInfo selectedFile() const;
void launchElementEditor(const QString &); void launchElementEditor(const QString &);
void launchCategoryEditor(const QString &); void launchCategoryEditor(const QString &);
void saveCollapsedCategories();
QStringList collapsed_directories;
public slots: public slots:
void slot_doubleClick(QTreeWidgetItem *, int); void slot_doubleClick(QTreeWidgetItem *, int);