Draft: Added import/export buttons to Annotation styles editor dialog
This commit is contained in:
@@ -6,8 +6,8 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>453</width>
|
||||
<height>424</height>
|
||||
<width>416</width>
|
||||
<height>542</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
@@ -22,6 +22,18 @@
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QComboBox" name="comboBoxStyles">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>60</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>The name of your style. Existing style names can be edited.</string>
|
||||
</property>
|
||||
@@ -46,11 +58,17 @@
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>60</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>110</width>
|
||||
@@ -71,11 +89,17 @@
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>60</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>110</width>
|
||||
@@ -90,6 +114,26 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButtonImport">
|
||||
<property name="toolTip">
|
||||
<string>Import styles from json file</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButtonExport">
|
||||
<property name="toolTip">
|
||||
<string>Export styles to json file</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -108,8 +152,8 @@
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>-290</y>
|
||||
<width>420</width>
|
||||
<y>0</y>
|
||||
<width>383</width>
|
||||
<height>589</height>
|
||||
</rect>
|
||||
</property>
|
||||
@@ -152,6 +196,18 @@
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QFontComboBox" name="FontName">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>60</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>The font to use for texts and dimensions</string>
|
||||
</property>
|
||||
@@ -400,6 +456,18 @@
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QComboBox" name="ArrowType">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>60</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>The type of arrows or markers to use at the end of dimension lines</string>
|
||||
</property>
|
||||
|
||||
@@ -111,6 +111,8 @@ class AnnotationStyleEditor(gui_base.GuiCommandSimplest):
|
||||
self.form.pushButtonRename.setIcon(QtGui.QIcon(":/icons/accessories-text-editor.svg"))
|
||||
self.form.pushButtonDelete.resize(self.form.pushButtonDelete.sizeHint())
|
||||
self.form.pushButtonRename.resize(self.form.pushButtonRename.sizeHint())
|
||||
self.form.pushButtonImport.setIcon(QtGui.QIcon(":/icons/Std_Import.svg"))
|
||||
self.form.pushButtonExport.setIcon(QtGui.QIcon(":/icons/Std_Export.svg"))
|
||||
|
||||
# fill the styles combo
|
||||
self.styles = self.read_meta()
|
||||
@@ -121,6 +123,8 @@ class AnnotationStyleEditor(gui_base.GuiCommandSimplest):
|
||||
self.form.comboBoxStyles.currentIndexChanged.connect(self.on_style_changed)
|
||||
self.form.pushButtonDelete.clicked.connect(self.on_delete)
|
||||
self.form.pushButtonRename.clicked.connect(self.on_rename)
|
||||
self.form.pushButtonImport.clicked.connect(self.on_import)
|
||||
self.form.pushButtonExport.clicked.connect(self.on_export)
|
||||
for attr in DEFAULT.keys():
|
||||
control = getattr(self.form, attr)
|
||||
for signal in ("clicked", "textChanged",
|
||||
@@ -280,6 +284,42 @@ class AnnotationStyleEditor(gui_base.GuiCommandSimplest):
|
||||
self.styles[newname] = value
|
||||
self.renamed[style] = newname
|
||||
|
||||
|
||||
def on_import(self):
|
||||
"""imports styles from a json file"""
|
||||
filename = QtGui.QFileDialog.getOpenFileName(
|
||||
QtGui.QApplication.activeWindow(),
|
||||
_tr("Open styles file"),
|
||||
None,
|
||||
_tr("JSON file (*.json)"))
|
||||
if filename and filename[0]:
|
||||
with open(filename[0]) as f:
|
||||
nstyles = json.load(f)
|
||||
if nstyles:
|
||||
self.styles.update(nstyles)
|
||||
l1 = self.form.comboBoxStyles.itemText(0)
|
||||
l2 = self.form.comboBoxStyles.itemText(1)
|
||||
self.form.comboBoxStyles.clear()
|
||||
self.form.comboBoxStyles.addItem(l1)
|
||||
self.form.comboBoxStyles.addItem(l2)
|
||||
for style in self.styles.keys():
|
||||
self.form.comboBoxStyles.addItem(style)
|
||||
print("Styles updated from "+filename[0])
|
||||
|
||||
|
||||
def on_export(self):
|
||||
"""exports styles to a json file"""
|
||||
filename = QtGui.QFileDialog.getSaveFileName(
|
||||
QtGui.QApplication.activeWindow(),
|
||||
_tr("Save styles file"),
|
||||
None,
|
||||
_tr("JSON file (*.json)"))
|
||||
if filename and filename[0]:
|
||||
with open(filename[0],"w") as f:
|
||||
json.dump(self.styles,f,indent=4)
|
||||
print("Styles saved to "+filename[0])
|
||||
|
||||
|
||||
def fill_editor(self, style):
|
||||
"""Fill the editor fields with the contents of a style."""
|
||||
if style is None:
|
||||
|
||||
Reference in New Issue
Block a user