insilmaril@2: #include insilmaril@2: insilmaril@2: #include "exportoofiledialog.h" insilmaril@2: insilmaril@2: ExportOOFileDialog::ExportOOFileDialog():Q3FileDialog() insilmaril@2: { insilmaril@2: init(); insilmaril@2: } insilmaril@2: insilmaril@2: ExportOOFileDialog::ExportOOFileDialog (QWidget * parent, const char* name, bool modal):Q3FileDialog(parent, name,modal) insilmaril@2: { insilmaril@2: init(); insilmaril@2: } insilmaril@2: insilmaril@2: QString ExportOOFileDialog::selectedConfig() insilmaril@2: { insilmaril@2: QStringList::Iterator itpath=configPaths.begin(); insilmaril@2: QStringList::Iterator itf=filters.begin(); insilmaril@2: while (itf != filters.end()) insilmaril@2: { insilmaril@2: if (*itf==lastFilter) return *itpath; insilmaril@2: itpath++; insilmaril@2: itf++; insilmaril@2: } insilmaril@2: qWarning ("ExportOOFileDialog::selectedConfig No filter found!"); insilmaril@2: return ""; insilmaril@2: } insilmaril@2: insilmaril@2: void ExportOOFileDialog::newConfigPath(const QString &s) insilmaril@2: { insilmaril@2: lastFilter=s; insilmaril@2: } insilmaril@2: insilmaril@2: QString ExportOOFileDialog::selectedFile() insilmaril@2: { insilmaril@2: return Q3FileDialog::selectedFile(); insilmaril@2: } insilmaril@2: insilmaril@2: insilmaril@2: void ExportOOFileDialog::addFilter(const QString &f) insilmaril@2: { insilmaril@2: lastFilter=f; insilmaril@2: filters.append (f); insilmaril@2: Q3FileDialog::addFilter (f); insilmaril@2: } insilmaril@2: insilmaril@2: void ExportOOFileDialog::init() insilmaril@2: { insilmaril@2: setMode( Q3FileDialog::AnyFile ); insilmaril@2: QDir d; insilmaril@2: d.setPath ("/usr/share/vym/exports"); insilmaril@2: scanExportConfigs(d); insilmaril@2: d.setPath (d.homeDirPath()+"/.vym/exports"); insilmaril@2: scanExportConfigs(d); insilmaril@2: d.setPath ("exports"); insilmaril@2: scanExportConfigs(d); insilmaril@2: insilmaril@2: connect ( insilmaril@2: this,SIGNAL (filterSelected(const QString&)), insilmaril@2: this, SLOT( newConfigPath(const QString &))); insilmaril@2: } insilmaril@2: insilmaril@2: void ExportOOFileDialog::scanExportConfigs(QDir dir) insilmaril@2: { insilmaril@2: // Scan existing export configurations insilmaril@2: SimpleSettings set; insilmaril@2: QFile f; insilmaril@2: if (dir.exists()) insilmaril@2: { insilmaril@2: // Traverse files insilmaril@2: QDir dir; insilmaril@2: dir.setFilter(QDir::Files | QDir::Hidden | QDir::NoSymLinks); insilmaril@2: insilmaril@2: QFileInfoList list = dir.entryInfoList(); insilmaril@2: for (int i = 0; i < list.size(); ++i) { insilmaril@2: QFileInfo fi = list.at(i); insilmaril@2: insilmaril@2: if (fi.fileName().endsWith(".conf") ) insilmaril@2: { insilmaril@2: configPaths.append (fi.absFilePath()); insilmaril@2: set.clear(); insilmaril@2: set.readSettings (fi.absFilePath()); insilmaril@2: addFilter (set.readEntry("Name") + " (*.odp)"); insilmaril@2: } insilmaril@2: } insilmaril@2: } insilmaril@2: }