Update UI when changing custom path, and bug correction

This commit is contained in:
Olivier Keshavjee 2016-04-14 13:39:58 +02:00
parent 1a2a80a41a
commit 964921cba2
3 changed files with 28 additions and 12 deletions

View file

@ -24,6 +24,18 @@ class exporterDialog(QWidget, Ui_exporter):
self.settingsWidget = None self.settingsWidget = None
self.previewWidget = None self.previewWidget = None
self.populateExportList()
self.btnManageExporters.clicked.connect(self.openManager)
self.cmbExporters.currentIndexChanged.connect(self.updateUi)
self.cmbExporters.setCurrentIndex(1)
self.btnPreview.clicked.connect(self.preview)
self.btnExport.clicked.connect(self.export)
def populateExportList(self):
# Populates list # Populates list
self.cmbExporters.clear() self.cmbExporters.clear()
for E in exporter.exporters: for E in exporter.exporters:
@ -45,14 +57,6 @@ class exporterDialog(QWidget, Ui_exporter):
name = f.name if f.implemented else self.tr("{} (not implemented yet)").format(f.name) name = f.name if f.implemented else self.tr("{} (not implemented yet)").format(f.name)
self.cmbExporters.addItem(QIcon.fromTheme(f.icon), name, E.name) self.cmbExporters.addItem(QIcon.fromTheme(f.icon), name, E.name)
self.btnManageExporters.clicked.connect(self.openManager)
self.cmbExporters.currentIndexChanged.connect(self.updateUi)
self.cmbExporters.setCurrentIndex(1)
self.btnPreview.clicked.connect(self.preview)
self.btnExport.clicked.connect(self.export)
def updateUi(self, index): def updateUi(self, index):
E, F = self.getSelectedExporter() E, F = self.getSelectedExporter()
@ -123,6 +127,8 @@ class exporterDialog(QWidget, Ui_exporter):
r2 = self.geometry() r2 = self.geometry()
self.dialog.move(r2.center() - r.center()) self.dialog.move(r2.center() - r.center())
self.dialog.exportersMightHaveChanged.connect(self.populateExportList)
def setGroupWidget(self, group, widget): def setGroupWidget(self, group, widget):
"""Sets the given widget as main widget for QGroupBox group.""" """Sets the given widget as main widget for QGroupBox group."""

View file

@ -4,7 +4,7 @@ import os
from collections import OrderedDict from collections import OrderedDict
from PyQt5.QtCore import QSize from PyQt5.QtCore import QSize
from PyQt5.QtCore import Qt from PyQt5.QtCore import Qt, pyqtSignal
from PyQt5.QtGui import QIcon from PyQt5.QtGui import QIcon
from PyQt5.QtWidgets import QWidget, QListWidgetItem, QFileDialog from PyQt5.QtWidgets import QWidget, QListWidgetItem, QFileDialog
@ -12,6 +12,9 @@ from manuskript import exporter
from manuskript.ui.exporters.exportersManager_ui import Ui_ExportersManager from manuskript.ui.exporters.exportersManager_ui import Ui_ExportersManager
class exportersManager(QWidget, Ui_ExportersManager): class exportersManager(QWidget, Ui_ExportersManager):
exportersMightHaveChanged = pyqtSignal()
def __init__(self, parent=None): def __init__(self, parent=None):
QWidget.__init__(self, parent) QWidget.__init__(self, parent)
self.setupUi(self) self.setupUi(self)
@ -139,4 +142,5 @@ class exportersManager(QWidget, Ui_ExportersManager):
self.txtPath.setText(E.customPath) self.txtPath.setText(E.customPath)
self.updateUi(E.name) self.updateUi(E.name)
self.exportersMightHaveChanged.emit()

View file

@ -157,9 +157,15 @@ class exporterSettings(QWidget, Ui_exporterSettings):
else: else:
nLevel = len(s["FolderTitle"]) nLevel = len(s["FolderTitle"])
for i in range(nLevel): for i in range(nLevel):
self.tblContent.item(i + 2, 1).setCheckState(Qt.Checked if s["FolderTitle"][i] else Qt.Unchecked) item = self.tblContent.item(i + 2, 1)
self.tblContent.item(i + 2 + nLevel, 1).setCheckState(Qt.Checked if s["TextTitle"][i] else Qt.Unchecked) if item:
self.tblContent.item(i + 2 + nLevel, 2).setCheckState(Qt.Checked if s["TextText"][i] else Qt.Unchecked) item.setCheckState(Qt.Checked if s["FolderTitle"][i] else Qt.Unchecked)
item = self.tblContent.item(i + 2 + nLevel, 1)
if item:
item.setCheckState(Qt.Checked if s["TextTitle"][i] else Qt.Unchecked)
item = self.tblContent.item(i + 2 + nLevel, 2)
if item:
item.setCheckState(Qt.Checked if s["TextText"][i] else Qt.Unchecked)
self.chkContentIgnoreCompile.setChecked(s["IgnoreCompile"]) self.chkContentIgnoreCompile.setChecked(s["IgnoreCompile"])
self.chkContentParent.setChecked(s["Parent"]) self.chkContentParent.setChecked(s["Parent"])