Jelajahi Sumber

Settings and recent items now saved to propper location. Added missing icons.

Juan Pablo Caram 11 tahun lalu
induk
melakukan
c4aa90090b
28 mengubah file dengan 96 tambahan dan 6 penghapusan
  1. 46 6
      FlatCAMApp.py
  2. TEMPAT SAMPAH
      share/cancel_edit16.png
  3. TEMPAT SAMPAH
      share/cancel_edit32.png
  4. TEMPAT SAMPAH
      share/circle32.png
  5. TEMPAT SAMPAH
      share/copy32.png
  6. TEMPAT SAMPAH
      share/edit16.png
  7. TEMPAT SAMPAH
      share/edit32.png
  8. TEMPAT SAMPAH
      share/edit_ok16.png
  9. TEMPAT SAMPAH
      share/edit_ok32.png
  10. TEMPAT SAMPAH
      share/flatcam_icon128_inv.png
  11. TEMPAT SAMPAH
      share/graylight12.png
  12. TEMPAT SAMPAH
      share/greenlight12.png
  13. TEMPAT SAMPAH
      share/join16.png
  14. TEMPAT SAMPAH
      share/join32.png
  15. TEMPAT SAMPAH
      share/move32.png
  16. TEMPAT SAMPAH
      share/new_geo16.png
  17. TEMPAT SAMPAH
      share/new_geo32.png
  18. TEMPAT SAMPAH
      share/path32.png
  19. 50 0
      share/pointer.svg
  20. TEMPAT SAMPAH
      share/pointer32.png
  21. TEMPAT SAMPAH
      share/polygon32.png
  22. TEMPAT SAMPAH
      share/rectangle32.png
  23. TEMPAT SAMPAH
      share/redlight12.png
  24. TEMPAT SAMPAH
      share/shell16.png
  25. TEMPAT SAMPAH
      share/shell32.png
  26. TEMPAT SAMPAH
      share/union16.png
  27. TEMPAT SAMPAH
      share/union32.png
  28. TEMPAT SAMPAH
      share/yellowlight12.png

+ 46 - 6
FlatCAMApp.py

@@ -76,9 +76,49 @@ class App(QtCore.QObject):
         """
 
         App.log.info("FlatCAM Starting...")
-        self.path = os.path.dirname(sys.argv[0])
+
+        ###################
+        ### OS-specific ###
+        ###################
+
+        if sys.platform == 'win32':
+            from win32com.shell import shell, shellcon
+            App.log.debug("Win32!")
+            self.data_path = shell.SHGetFolderPath(0, shellcon.CSIDL_APPDATA, None, 0) + \
+                '/FlatCAM'
+        else:  # Linux/Unix/MacOS
+            self.data_path = os.path.expanduser('~') + \
+                '/.FlatCAM'
+
+        ###############################
+        ### Setup folders and files ###
+        ###############################
+
+        if not os.path.exists(self.data_path):
+            os.makedirs(self.data_path)
+            App.log.debug('Created data folder: ' + self.data_path)
+
+        try:
+            f = open(self.data_path + '/defaults.json')
+            f.close()
+        except IOError:
+            App.log.debug('Creating empty defaults.json')
+            f = open(self.data_path + '/defaults.json', 'w')
+            json.dump({}, f)
+            f.close()
+
+        try:
+            f = open(self.data_path + '/recent.json')
+            f.close()
+        except IOError:
+            App.log.debug('Creating empty recent.json')
+            f = open(self.data_path + '/recent.json', 'w')
+            json.dump([], f)
+            f.close()
+
+        #self.path = os.path.dirname(sys.argv[0])
         #App.log.debug("Running in " + os.path.realpath(__file__))
-        App.log.debug("Running in " + self.path)
+        #App.log.debug("Running in " + self.path)
 
         QtCore.QObject.__init__(self)
 
@@ -571,7 +611,7 @@ class App(QtCore.QObject):
         :return: None
         """
         try:
-            f = open(self.path + "/defaults.json")
+            f = open(self.data_path + "/defaults.json")
             options = f.read()
             f.close()
         except IOError:
@@ -612,7 +652,7 @@ class App(QtCore.QObject):
             self.recent.pop()
 
         try:
-            f = open('recent.json', 'w')
+            f = open(self.data_path + '/recent.json', 'w')
         except IOError:
             App.log.error("Failed to open recent items file for writing.")
             self.inform.emit('Failed to open recent files file for writing.')
@@ -787,7 +827,7 @@ class App(QtCore.QObject):
 
         ## Read options from file ##
         try:
-            f = open(self.path + "/defaults.json")
+            f = open(self.data_path + "/defaults.json")
             options = f.read()
             f.close()
         except:
@@ -2209,7 +2249,7 @@ class App(QtCore.QObject):
 
         # Open file
         try:
-            f = open('recent.json')
+            f = open(self.data_path + '/recent.json')
         except IOError:
             App.log.error("Failed to load recent item list.")
             self.inform.emit("[error] Failed to load recent item list.")

TEMPAT SAMPAH
share/cancel_edit16.png


TEMPAT SAMPAH
share/cancel_edit32.png


TEMPAT SAMPAH
share/circle32.png


TEMPAT SAMPAH
share/copy32.png


TEMPAT SAMPAH
share/edit16.png


TEMPAT SAMPAH
share/edit32.png


TEMPAT SAMPAH
share/edit_ok16.png


TEMPAT SAMPAH
share/edit_ok32.png


TEMPAT SAMPAH
share/flatcam_icon128_inv.png


TEMPAT SAMPAH
share/graylight12.png


TEMPAT SAMPAH
share/greenlight12.png


TEMPAT SAMPAH
share/join16.png


TEMPAT SAMPAH
share/join32.png


TEMPAT SAMPAH
share/move32.png


TEMPAT SAMPAH
share/new_geo16.png


TEMPAT SAMPAH
share/new_geo32.png


TEMPAT SAMPAH
share/path32.png


File diff ditekan karena terlalu besar
+ 50 - 0
share/pointer.svg


TEMPAT SAMPAH
share/pointer32.png


TEMPAT SAMPAH
share/polygon32.png


TEMPAT SAMPAH
share/rectangle32.png


TEMPAT SAMPAH
share/redlight12.png


TEMPAT SAMPAH
share/shell16.png


TEMPAT SAMPAH
share/shell32.png


TEMPAT SAMPAH
share/union16.png


TEMPAT SAMPAH
share/union32.png


TEMPAT SAMPAH
share/yellowlight12.png


Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini