Ich brauch mal eure Hilfe...
Irgendwie ist heute der Wurm drin.
Ich muss die Ordner eines USB-Sticks durchsuchen (alle finden) und dann ein
Menü dementsprechend aufbauen. Also Unterordner = Untermenü.
und die Dateien werden dann als QActions ins dazugehörige Menü geadded.
Das soll dan etwa so aussehen wie das Starmenü von Windows oder das KDE- Menü.
Aber ich bekomme keinen Ansatz.
ordnerbaum durchiterieren
-
CaptnChaos
- Beiträge: 605
- Registriert: 28. Juni 2007 15:01
- Kontaktdaten:
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
-
CaptnChaos
- Beiträge: 605
- Registriert: 28. Juni 2007 15:01
- Kontaktdaten:
-
CaptnChaos
- Beiträge: 605
- Registriert: 28. Juni 2007 15:01
- Kontaktdaten:
Code: Alles auswählen
void Sticky::findAllFiles(QDir curDir)
{
QFileInfoList temInfo = curDir.entryInfoList(QStringList(), QDir::NoDotAndDotDot);
for(int i = 0; i < temInfo.size(); ++i)
{
if(temInfo[i].isFile())
{
if(curDir == QDir::current())
{
hauptMenu->addAction(temInfo[i].fileName());
}
else
{
subMenus.value(curDir.dirName())->addAction(temInfo[i].fileName());
}
}
else if(temInfo[i].isDir())
{
if(curDir == QDir::current())
{
QMenu *menuadd = new QMenu(temInfo[i].dir().dirName());
hauptMenu->addMenu(menuadd);
subMenus.insert(temInfo[i].dir().dirName(), menuadd);
findAllFiles(temInfo[i].dir());
}
else
{
QMenu *menuadd = new QMenu(temInfo[i].dir().dirName());
subMenus.value(curDir.dirName())->addMenu(menuadd);
subMenus.insert(temInfo[i].dir().dirName(), menuadd);
findAllFiles(temInfo[i].dir());
}
}
}
}-
CaptnChaos
- Beiträge: 605
- Registriert: 28. Juni 2007 15:01
- Kontaktdaten:
ich habs.
wens interresiert:
wens interresiert:
Code: Alles auswählen
void Sticky::findAllFiles(QDir curDir)
{
//curDir.setFilter(QDir::NoDotAndDotDot);
QFileInfoList temInfo;
temInfo = curDir.entryInfoList(QDir::NoDotAndDotDot | QDir::AllDirs | QDir::Files);
for(int i = 0; i < temInfo.size(); ++i)
{
if(temInfo[i].isFile())
{
if(curDir == QDir::current())
{
hauptMenu->addAction(temInfo[i].fileName());
//qDebug(temInfo[i].fileName().toAscii());
}
else
{
subMenus.value(curDir.dirName())->addAction(temInfo[i].fileName());
}
}
else if(temInfo[i].isDir())
{
if(curDir == QDir::current())
{
QMenu *menuadd = new QMenu(temInfo[i].fileName());
qDebug(temInfo[i].fileName().toAscii());
subMenus.insert(temInfo[i].fileName(), menuadd);
findAllFiles(QDir(temInfo[i].filePath()));
hauptMenu->addMenu(menuadd);
}
else
{
qDebug(temInfo[i].fileName().toAscii());
QMenu *menuadd = new QMenu(temInfo[i].fileName());
subMenus.insert(temInfo[i].fileName(), menuadd);
findAllFiles(QDir(temInfo[i].filePath()));
subMenus.value(curDir.dirName())->addMenu(menuadd);
}
}
}
}