mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-20 08:10:52 +01:00
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:
@@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user