QT += core gui TARGET = settingsreader TEMPLATE = app SOURCES += main.cpp\
#include <QtGui/QApplication> #include <QSettings> #include <QMainWindow> #include <QListWidget> #include <QDirIterator> #include <locale> #include <libintl.h> #include <QDebug> int main(int argc, char *argv[]) { QApplication a(argc, argv); QMainWindow w; QListWidget* list = new QListWidget(&w); QDirIterator iter("/usr/share/applications/hildon/"); while(iter.hasNext()) { QString path = iter.next(); qDebug() << path; if(path.endsWith(".desktop")) { QSettings settings(path, QSettings::IniFormat); settings.beginGroup("Desktop Entry"); QString name = settings.value("Name", "no name").toString(); QString comment; QString domain("maemo-af-desktop"); if(settings.contains("X-Text-Domain")) { domain = settings.value("X-Text-Domain").toString(); } name = QString::fromUtf8(dgettext(domain.toLatin1(), name.toLatin1())); if(settings.contains("Comment")) { comment = QString::fromUtf8(dgettext(domain.toLatin1(), settings.value("Comment").toString().toLatin1())); } list->addItem(name + " " + comment); } } w.setCentralWidget(list); w.show(); return a.exec(); }