aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortassaron2017-05-30 19:31:10 -0400
committertassaron2017-05-30 19:31:10 -0400
commitca7e8bdb0dc998088aeb45a77987a78cc4656b34 (patch)
tree8f41e662740fcbb17dd2a38b5af6764429fd8a77
parent7240f25deb21db365f39d00c50eb07d41dc4c797 (diff)
the most simple way of saving dictionaries
-rw-r--r--components/__base__.py7
-rw-r--r--components/original.py8
-rw-r--r--main.py30
3 files changed, 35 insertions, 10 deletions
diff --git a/components/__base__.py b/components/__base__.py
index 87440bb..252ad03 100644
--- a/components/__base__.py
+++ b/components/__base__.py
@@ -3,6 +3,9 @@ from PyQt4 import QtGui
class Component:
def __str__(self):
return self.__doc__
+
+ def version(self):
+ return 1
def preFrameRender(self, **kwargs):
for kwarg, value in kwargs.items():
@@ -54,4 +57,8 @@ class Component:
height = int(self.worker.core.settings.value('outputHeight'))
image = Image.new("RGBA", (width, height), (0,0,0,0))
return image
+
+ def version(self):
+ # change this number to identify new versions of your component
+ return 1
'''
diff --git a/components/original.py b/components/original.py
index 47e53b8..40f51eb 100644
--- a/components/original.py
+++ b/components/original.py
@@ -32,11 +32,13 @@ class Component(__base__.Component):
self.visColor = self.RGBFromString(self.page.lineEdit_visColor.text())
self.parent.drawPreview()
- def version(self):
- return 1
+ def loadPreset(self, presetDict):
+ self.preFrameRender(**presetDict)
def savePreset(self):
- return {}
+ return { 'layout' : self.page.comboBox_visLayout.currentIndex(),
+ 'visColor' : self.page.lineEdit_visColor.text(),
+ }
def previewRender(self, previewWorker):
spectrum = numpy.fromfunction(lambda x: 0.008*(x-128)**2, (255,), dtype="int16")
diff --git a/main.py b/main.py
index 474ab29..77b56c3 100644
--- a/main.py
+++ b/main.py
@@ -179,9 +179,7 @@ class Main(QtCore.QObject):
self.window.pushButton_listMoveDown.clicked.connect(self.moveComponentDown)
self.window.pushButton_savePreset.clicked.connect(self.openSavePresetDialog)
- self.window.comboBox_openPreset.currentIndexChanged.connect( \
- lambda _: self.openPreset(self.window.comboBox_openPreset.currentIndex())
- )
+ self.window.comboBox_openPreset.currentIndexChanged.connect(self.openPreset)
self.drawPreview()
@@ -380,12 +378,30 @@ class Main(QtCore.QObject):
if not os.path.exists(dirname):
os.makedirs(dirname)
with open(os.path.join(dirname, filename), 'w') as f:
- for itemset in saveValueStore.items():
- f.write('%s=%s' % itemset)
+ f.write('%s' % repr(saveValueStore))
self.window.comboBox_openPreset.addItem(filename)
- def openPreset(self, comboBoxIndex):
- pass
+ def openPreset(self):
+ if self.window.comboBox_openPreset.currentIndex() < 1:
+ return
+ index = self.window.listWidget_componentList.currentRow()
+ if index == -1:
+ # no component selected
+ return
+ filename = self.window.comboBox_openPreset.itemText(self.window.comboBox_openPreset.currentIndex())
+ componentName = str(self.selectedComponents[index]).strip()
+ version = self.selectedComponents[index].version()
+ dirname = os.path.join(self.dataDir, 'presets', componentName, str(version))
+ filepath = os.path.join(dirname, filename)
+ if not os.path.exists(filepath):
+ self.window.comboBox_openPreset.removeItem(self.window.comboBox_openPreset.currentIndex())
+ return
+ with open(filepath, 'r') as f:
+ for line in f:
+ saveValueStore = eval(line.strip())
+ break
+ print(saveValueStore)
+
def LoadDefaultSettings(self):