From 33616aaa064a22c56f67c129cf96fd933cb0e500 Mon Sep 17 00:00:00 2001 From: Tobias Rundstrom Date: Thu, 17 Aug 2006 16:40:26 -0400 Subject: [PATCH] "Oups" --- FileDialog.cpp | 39 +++++++++++++++++++++++++++++++++++++++ FileDialog.h | 19 +++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 FileDialog.cpp create mode 100644 FileDialog.h diff --git a/FileDialog.cpp b/FileDialog.cpp new file mode 100644 index 0000000..3eede49 --- /dev/null +++ b/FileDialog.cpp @@ -0,0 +1,39 @@ +#include "FileDialog.h" + +#include +#include + + +FileDialog::FileDialog (QWidget *parent, const QString &name) : QFileDialog (parent) +{ + QSettings s; + m_name = name; + + if (!s.contains("filedialog/" + name)) + s.setValue ("filedialog/" + name, QDir::homePath ()); + + setDirectory (s.value("filedialog/" + name).toString ()); +} + +QStringList +FileDialog::getFiles () +{ + QSettings s; + QStringList ret = getOpenFileNames (NULL, "Choose files"); + if (ret.size() > 0) + s.setValue ("filedialog/" + m_name, directory ().absolutePath ()); + return ret; + +} + +QString +FileDialog::getDirectory () +{ + QSettings s; + QString ret = getExistingDirectory (NULL, "Choose directory"); + if (!ret.isNull()) + s.setValue ("filedialog/" + m_name, directory ().absolutePath ()); + return ret; + +} + diff --git a/FileDialog.h b/FileDialog.h new file mode 100644 index 0000000..f38a9c6 --- /dev/null +++ b/FileDialog.h @@ -0,0 +1,19 @@ +#ifndef __FILEDIALOG_H__ +#define __FILEDIALOG_H__ + +#include + +class FileDialog : public QFileDialog +{ + Q_OBJECT + public: + FileDialog (QWidget *parent, const QString &name); + QString getDirectory (); + QStringList getFiles (); + + private: + QString m_name; + +}; + +#endif