15 #include <QtGui/QFileDialog>
29 #include <QtCore/QtDebug>
37 if (startWith.isNull())
39 return WorkingDirectory;
43 return WorkingDirectory +
"/" + startWith;
52 std::string ExampleDir;
59 QMessageBox::Ok, QMessageBox::Ok);
65 const QString & startWith,
66 const QString & filter,
67 const QString & caption,
68 QString * pSelectedFilter,
69 QFileDialog::Options options)
71 QString newFilter = filter;
73 if (filter.indexOf(
"(*)") < 0)
74 newFilter +=
";;Any File (*)";
76 QString newFile = QFileDialog::getOpenFileName(parent,
92 const QString & startWith,
93 const QString & filter,
94 const QString & caption,
95 QString * pSelectedFilter,
96 QFileDialog::Options options)
98 QString newFile, newFilter = filter;
101 if (!pSelectedFilter)
102 pSelectedFilter =
new QString(
"");
104 if (filter.indexOf(
"(*)") < 0)
105 newFilter +=
";;Any File (*)";
110 newFile = QFileDialog::getSaveFileName(parent,
113 newFilter, pSelectedFilter,
114 QFileDialog::DontConfirmOverwrite | options);
119 return QString::null;
121 if (pSelectedFilter->indexOf(
"(*)") >= 0)
126 if (!suffix.length())
132 QRegExp rx(
"\\.\\S{1,4}$");
134 if (rx.indexIn(fileName) < 0)
137 "Filename can have an extension 1 to 4 characters long.",
138 QMessageBox::Ok, QMessageBox::Ok);
143 QRegExp rxDigits(
"\\.\\d{1,4}$");
145 if (rxDigits.indexIn(fileName) > 0)
148 "All characters in the file extension cannot be digits.",
149 QMessageBox::Ok, QMessageBox::Ok);
156 while (fileValid ==
false);
160 qDebug() <<
"user's Filter = " << *pSelectedFilter;
static bool isDir(const std::string &path)
static std::string fileName(const std::string &path)
static StandardButton information(QWidget *parent, const QString &title, const QString &text, StandardButtons buttons=Ok, StandardButton defaultButton=NoButton)
void setWorkingDirectory(const std::string &workingDirectory)
static std::string dirName(const std::string &path)
static void openExampleDir()
static CConfigurationFile * getConfiguration()
static QString StartWith(const QString &startWith)
static QString getOpenFileName(QWidget *parent=0, const char *name=0, const QString &startWith=QString::null, const QString &filter=QString::null, const QString &caption=QString::null, QString *pSelectedFilter=NULL, QFileDialog::Options options=0)
static void getValue(const std::string &name, CType &value)
static std::string suffix(const std::string &path)
static QString getSaveFileName(QWidget *parent=0, const char *name=0, const QString &startWith=QString::null, const QString &filter=QString::null, const QString &caption=QString::null, QString *pSelectedFilter=NULL, QFileDialog::Options options=0)