Engauge Digitizer  2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
MainDirectoryPersist.cpp
Go to the documentation of this file.
1 /******************************************************************************************************
2  * (C) 2018 markummitchell@github.com. This file is part of Engauge Digitizer, which is released *
3  * under GNU General Public License version 2 (GPLv2) or (at your option) any later version. See file *
4  * LICENSE or go to gnu.org/licenses for details. Distribution requires prior written permission. *
5  ******************************************************************************************************/
6 
7 #include "MainDirectoryPersist.h"
8 #include <QFileInfo>
9 
10 bool MainDirectoryPersist::m_setExportSave = false;
11 bool MainDirectoryPersist::m_setImportOpen = false;
12 QDir MainDirectoryPersist::m_directoryExportSave = QDir::current();
13 QDir MainDirectoryPersist::m_directoryImportOpen = QDir::current();
14 
16 {
17 }
18 
20 {
21  return m_directoryExportSave;
22 }
23 
25 {
26  return m_directoryImportOpen;
27 }
28 
30 {
31  m_setExportSave = true;
32  setDirectoryExportSaveFromSavedPath (QFileInfo (fileName).dir ().absolutePath());
33 }
34 
36 {
37  m_directoryExportSave = QDir(path);
38 
39  if (!m_directoryExportSave.exists ()) {
40 
41  // Directory has been (re)moved so fall back on a safe alternative
42  m_directoryExportSave = QDir::current ();
43 
44  }
45 
46  if (!m_setImportOpen) {
47 
48  // Use the export directory for import since no better alternative is available
49  m_directoryImportOpen = m_directoryExportSave;
50 
51  }
52 }
53 
55 {
56  m_setImportOpen = true;
57  setDirectoryImportLoadFromSavedPath (QFileInfo (fileName).dir ().absolutePath());
58 }
59 
61 {
62  m_directoryImportOpen = QDir (path);
63 
64  if (!m_directoryImportOpen.exists ()) {
65 
66  // Directory has been (re)moved so fall back on a safe alternative
67  m_directoryImportOpen = QDir::current ();
68 
69  }
70 
71  if (!m_setExportSave) {
72 
73  // Use the import directory for export since no better alternative is available
74  m_directoryExportSave = m_directoryImportOpen;
75 
76  }
77 }
QDir getDirectoryImportOpen() const
Get the current Import/Open directory.
MainDirectoryPersist()
Default constructor.
void setDirectoryExportSaveFromFilename(const QString &fileName)
Save the current Export/Save directory, after user has accepted the Export/Save dialog.
void setDirectoryImportOpenFromFilename(const QString &fileName)
Save the current Import/Open directory, after user has accepted the Import/Open dialog.
void setDirectoryImportLoadFromSavedPath(const QString &path)
Set the current Import/Open directory at startup to path from previous execution. ...
QDir getDirectoryExportSave() const
Get the current Export/Save directory.
void setDirectoryExportSaveFromSavedPath(const QString &path)
Set the current Export/Save directory at startup to path from previous execution. ...