From: <ibr...@us...> - 2012-04-25 15:24:53
|
Revision: 4284 http://tora.svn.sourceforge.net/tora/?rev=4284&view=rev Author: ibre5041 Date: 2012-04-25 15:24:42 +0000 (Wed, 25 Apr 2012) Log Message: ----------- Do remember last working directory when openning/closing files Modified Paths: -------------- trunk/tora/src/tochartmanager.cpp trunk/tora/src/tohelpsetup.cpp trunk/tora/src/tomain.cpp trunk/tora/src/tomarkedtext.cpp trunk/tora/src/toproject.cpp trunk/tora/src/toscript.cpp trunk/tora/src/tosqledit.cpp trunk/tora/src/toworksheetstatistic.cpp trunk/tora/src/toworksheettext.cpp trunk/tora/src/utils.cpp trunk/tora/src/utils.h Modified: trunk/tora/src/tochartmanager.cpp =================================================================== --- trunk/tora/src/tochartmanager.cpp 2012-04-25 13:53:33 UTC (rev 4283) +++ trunk/tora/src/tochartmanager.cpp 2012-04-25 15:24:42 UTC (rev 4284) @@ -904,7 +904,7 @@ void toChartManager::openChart(void) { - QString name = toOpenFilename(QString::null, QString::fromLatin1("*.csv"), this); + QString name = toOpenFilename(QString::fromLatin1("*.csv"), this); if (!name.isEmpty()) { try Modified: trunk/tora/src/tohelpsetup.cpp =================================================================== --- trunk/tora/src/tohelpsetup.cpp 2012-04-25 13:53:33 UTC (rev 4283) +++ trunk/tora/src/tohelpsetup.cpp 2012-04-25 15:24:42 UTC (rev 4284) @@ -148,7 +148,7 @@ void toHelpPrefs::oracleManuals() { // For Oracle 11g look for a file /nav/portal_3.htm which contains a list of all books - QString filename = toOpenFilename(QString::null, QString::fromLatin1("*index.htm*"), this); + QString filename = toOpenFilename(QString::fromLatin1("*index.htm*"), this); try { toHtml file(toReadFile(filename)); Modified: trunk/tora/src/tomain.cpp =================================================================== --- trunk/tora/src/tomain.cpp 2012-04-25 13:53:33 UTC (rev 4283) +++ trunk/tora/src/tomain.cpp 2012-04-25 15:24:42 UTC (rev 4284) @@ -1901,7 +1901,7 @@ void toMain::loadSession(void) { - QString filename = toOpenFilename(QString::null, QString::fromLatin1("*.tse"), this); + QString filename = toOpenFilename(QString::fromLatin1("*.tse"), this); if (!filename.isEmpty()) { try Modified: trunk/tora/src/tomarkedtext.cpp =================================================================== --- trunk/tora/src/tomarkedtext.cpp 2012-04-25 13:53:33 UTC (rev 4283) +++ trunk/tora/src/tomarkedtext.cpp 2012-04-25 15:24:42 UTC (rev 4284) @@ -350,7 +350,7 @@ if (!suggestedFile.isEmpty()) fname = suggestedFile; else - fname = toOpenFilename(QDir::currentPath(), QString::null, this); + fname = toOpenFilename(QString::null, this); if (!fname.isEmpty()) { Modified: trunk/tora/src/toproject.cpp =================================================================== --- trunk/tora/src/toproject.cpp 2012-04-25 13:53:33 UTC (rev 4283) +++ trunk/tora/src/toproject.cpp 2012-04-25 15:24:42 UTC (rev 4284) @@ -328,8 +328,7 @@ void toProjectTemplate::addFile(void) { - QString file = toOpenFilename(QString::null, - QString::fromLatin1(PROJECT_EXTENSIONS), + QString file = toOpenFilename(QString::fromLatin1(PROJECT_EXTENSIONS), toMainWidget()); if (!file.isNull()) { Modified: trunk/tora/src/toscript.cpp =================================================================== --- trunk/tora/src/toscript.cpp 2012-04-25 13:53:33 UTC (rev 4283) +++ trunk/tora/src/toscript.cpp 2012-04-25 15:24:42 UTC (rev 4284) @@ -813,7 +813,7 @@ { if (ScriptUI->OutputFile->isChecked()) { - QString f = toOpenFilename(QString::null, QString::null, this); + QString f = toOpenFilename(QString::null, this); if (!f.isEmpty()) ScriptUI->Filename->setText(f); } Modified: trunk/tora/src/tosqledit.cpp =================================================================== --- trunk/tora/src/tosqledit.cpp 2012-04-25 13:53:33 UTC (rev 4283) +++ trunk/tora/src/tosqledit.cpp 2012-04-25 15:24:42 UTC (rev 4284) @@ -288,7 +288,7 @@ { try { - QString filename = toOpenFilename(QString::null, QString::null, this); + QString filename = toOpenFilename(QString::null, this); if (!filename.isEmpty()) { toSQL::loadSQL(filename); Modified: trunk/tora/src/toworksheetstatistic.cpp =================================================================== --- trunk/tora/src/toworksheetstatistic.cpp 2012-04-25 13:53:33 UTC (rev 4283) +++ trunk/tora/src/toworksheetstatistic.cpp 2012-04-25 15:24:42 UTC (rev 4284) @@ -316,7 +316,7 @@ void toWorksheetStatistic::load(void) { - QString filename = toOpenFilename(QString::null, QString::fromLatin1("*.stat"), this); + QString filename = toOpenFilename(QString::fromLatin1("*.stat"), this); if (!filename.isEmpty()) { try Modified: trunk/tora/src/toworksheettext.cpp =================================================================== --- trunk/tora/src/toworksheettext.cpp 2012-04-25 13:53:33 UTC (rev 4283) +++ trunk/tora/src/toworksheettext.cpp 2012-04-25 15:24:42 UTC (rev 4284) @@ -97,10 +97,7 @@ if (suggestedFile != QString::null) fname = suggestedFile; else - { - QFileInfo file(filename()); - fname = toOpenFilename(file.dir().path(), QString::null, this); - } + fname = toOpenFilename(QString::null, this); if (fname.isEmpty()) return false; try Modified: trunk/tora/src/utils.cpp =================================================================== --- trunk/tora/src/utils.cpp 2012-04-25 13:53:33 UTC (rev 4283) +++ trunk/tora/src/utils.cpp 2012-04-25 15:24:42 UTC (rev 4284) @@ -827,14 +827,30 @@ QString toOpenFilename(const QString &filename, const QString &filter, QWidget *parent) { QString t = filter; + QString retval; + if (t.isEmpty()) t = GetExtensions(); - QString dir = filename; - if (dir.isNull()) - dir = toConfigurationSingle::Instance().lastDir(); + QFileInfo fi(filename); + if (!filename.isEmpty() && fi.absoluteDir().exists()) + retval = AddExt(TOFileDialog::getOpenFileName(parent, QObject::tr("Open File", "utils/toOpenFilename"), fi.absoluteFilePath(), t), t); + else + { + QString const& lastDir = toConfigurationSingle::Instance().lastDir(); + retval = AddExt(TOFileDialog::getOpenFileName(parent, QObject::tr("Open File", "utils/toOpenFilename"), lastDir, t), t); + } + if (!retval.isEmpty()) + toConfigurationSingle::Instance().setLastDir(retval); + return retval; +} - return AddExt(TOFileDialog::getOpenFileName(parent, QObject::tr("Open File", "utils/toOpenFilename"), dir, t), t); +QString toOpenFilename(const QString &filter, QWidget *parent) +{ + QFileInfo fi(toConfigurationSingle::Instance().lastDir()); + if ( fi.absoluteDir().exists()) + return toOpenFilename( fi.absolutePath(), filter, parent); + return toOpenFilename(QDir::currentPath(), filter, parent); } QString toSaveFilename(const QString &filename, const QString &filter, QWidget *parent) Modified: trunk/tora/src/utils.h =================================================================== --- trunk/tora/src/utils.h 2012-04-25 13:53:33 UTC (rev 4283) +++ trunk/tora/src/utils.h 2012-04-25 15:24:42 UTC (rev 4284) @@ -323,6 +323,12 @@ * @return Selected filename. */ QString toOpenFilename(const QString &filename, const QString &filter, QWidget *parent); +/** Pop up a dialog and choose a file to open. Uses config property LastDir. + * @param filter Filter of filenames (See @ref QFileDialog) + * @param parent Parent of dialog. + * @return Selected filename. + */ +QString toOpenFilename(const QString &filter, QWidget *parent); /** Pop up a dialog and choose a file to save to. * @param filename Default filename to open. * @param filter Filter of filenames (See @ref QFileDialog) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |