Procházet zdrojové kódy

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

Juan Pablo Caram před 11 roky
rodič
revize
c4aa90090b
28 změnil soubory, kde provedl 96 přidání a 6 odebrání
  1. 46 6
      FlatCAMApp.py
  2. binární
      share/cancel_edit16.png
  3. binární
      share/cancel_edit32.png
  4. binární
      share/circle32.png
  5. binární
      share/copy32.png
  6. binární
      share/edit16.png
  7. binární
      share/edit32.png
  8. binární
      share/edit_ok16.png
  9. binární
      share/edit_ok32.png
  10. binární
      share/flatcam_icon128_inv.png
  11. binární
      share/graylight12.png
  12. binární
      share/greenlight12.png
  13. binární
      share/join16.png
  14. binární
      share/join32.png
  15. binární
      share/move32.png
  16. binární
      share/new_geo16.png
  17. binární
      share/new_geo32.png
  18. binární
      share/path32.png
  19. 50 0
      share/pointer.svg
  20. binární
      share/pointer32.png
  21. binární
      share/polygon32.png
  22. binární
      share/rectangle32.png
  23. binární
      share/redlight12.png
  24. binární
      share/shell16.png
  25. binární
      share/shell32.png
  26. binární
      share/union16.png
  27. binární
      share/union32.png
  28. binární
      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.")

binární
share/cancel_edit16.png


binární
share/cancel_edit32.png


binární
share/circle32.png


binární
share/copy32.png


binární
share/edit16.png


binární
share/edit32.png


binární
share/edit_ok16.png


binární
share/edit_ok32.png


binární
share/flatcam_icon128_inv.png


binární
share/graylight12.png


binární
share/greenlight12.png


binární
share/join16.png


binární
share/join32.png


binární
share/move32.png


binární
share/new_geo16.png


binární
share/new_geo32.png


binární
share/path32.png


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 50 - 0
share/pointer.svg


binární
share/pointer32.png


binární
share/polygon32.png


binární
share/rectangle32.png


binární
share/redlight12.png


binární
share/shell16.png


binární
share/shell32.png


binární
share/union16.png


binární
share/union32.png


binární
share/yellowlight12.png


Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů