mirror of
https://github.com/olivierkes/manuskript.git
synced 2024-05-18 20:02:32 +12:00
Checkpoint: preview seems to work
This commit is contained in:
parent
316651245c
commit
543d5a232a
|
@ -55,6 +55,8 @@ class editorWidget(QWidget, Ui_editorWidget_ui):
|
|||
self.mw = mainWindow()
|
||||
self._tabWidget = None # set by mainEditor on creation
|
||||
|
||||
self._model = None
|
||||
|
||||
# def setModel(self, model):
|
||||
# self._model = model
|
||||
# self.setView()
|
||||
|
@ -83,8 +85,10 @@ class editorWidget(QWidget, Ui_editorWidget_ui):
|
|||
|
||||
if r.isValid():
|
||||
count = r.internalPointer().childCount()
|
||||
elif self._model:
|
||||
count = self._model.rootItem.childCount()
|
||||
else:
|
||||
count = self.mw.mdlOutline.rootItem.childCount()
|
||||
count = 0
|
||||
|
||||
for c in range(count):
|
||||
self.corkView.itemDelegate().sizeHintChanged.emit(r.child(c, 0))
|
||||
|
@ -102,8 +106,10 @@ class editorWidget(QWidget, Ui_editorWidget_ui):
|
|||
|
||||
if self.currentIndex.isValid():
|
||||
item = self.currentIndex.internalPointer()
|
||||
elif self._model:
|
||||
item = self._model.rootItem
|
||||
else:
|
||||
item = self.mw.mdlOutline.rootItem
|
||||
return
|
||||
|
||||
i = self._tabWidget.indexOf(self)
|
||||
self._tabWidget.setTabText(i, item.title())
|
||||
|
@ -202,7 +208,7 @@ class editorWidget(QWidget, Ui_editorWidget_ui):
|
|||
|
||||
self.txtEdits = []
|
||||
|
||||
if item != self.mw.mdlOutline.rootItem:
|
||||
if item != self._model.rootItem:
|
||||
addTitle(item)
|
||||
|
||||
addChildren(item)
|
||||
|
@ -211,7 +217,7 @@ class editorWidget(QWidget, Ui_editorWidget_ui):
|
|||
|
||||
elif item and item.isFolder() and self.folderView == "cork":
|
||||
self.stack.setCurrentIndex(2)
|
||||
self.corkView.setModel(self.mw.mdlOutline)
|
||||
self.corkView.setModel(self._model)
|
||||
self.corkView.setRootIndex(self.currentIndex)
|
||||
try:
|
||||
self.corkView.selectionModel().selectionChanged.connect(mainWindow().redacMetadata.selectionChanged, AUC)
|
||||
|
@ -225,7 +231,7 @@ class editorWidget(QWidget, Ui_editorWidget_ui):
|
|||
self.outlineView.setModelCharacters(mainWindow().mdlCharacter)
|
||||
self.outlineView.setModelLabels(mainWindow().mdlLabels)
|
||||
self.outlineView.setModelStatus(mainWindow().mdlStatus)
|
||||
self.outlineView.setModel(self.mw.mdlOutline)
|
||||
self.outlineView.setModel(self._model)
|
||||
self.outlineView.setRootIndex(self.currentIndex)
|
||||
|
||||
try:
|
||||
|
@ -242,9 +248,9 @@ class editorWidget(QWidget, Ui_editorWidget_ui):
|
|||
self.txtRedacText.setCurrentModelIndex(QModelIndex())
|
||||
|
||||
try:
|
||||
self.mw.mdlOutline.dataChanged.connect(self.modelDataChanged, AUC)
|
||||
self.mw.mdlOutline.rowsInserted.connect(self.updateIndexFromID, AUC)
|
||||
self.mw.mdlOutline.rowsRemoved.connect(self.updateIndexFromID, AUC)
|
||||
self._model.dataChanged.connect(self.modelDataChanged, AUC)
|
||||
self._model.rowsInserted.connect(self.updateIndexFromID, AUC)
|
||||
self._model.rowsRemoved.connect(self.updateIndexFromID, AUC)
|
||||
#self.mw.mdlOutline.rowsAboutToBeRemoved.connect(self.rowsAboutToBeRemoved, AUC)
|
||||
except TypeError:
|
||||
pass
|
||||
|
@ -254,8 +260,8 @@ class editorWidget(QWidget, Ui_editorWidget_ui):
|
|||
def setCurrentModelIndex(self, index=None):
|
||||
if index.isValid():
|
||||
self.currentIndex = index
|
||||
self.currentID = self.mw.mdlOutline.ID(index)
|
||||
# self._model = index.model()
|
||||
self._model = index.model()
|
||||
self.currentID = self._model.ID(index)
|
||||
else:
|
||||
self.currentIndex = QModelIndex()
|
||||
self.currentID = None
|
||||
|
@ -267,7 +273,7 @@ class editorWidget(QWidget, Ui_editorWidget_ui):
|
|||
Index might have changed (through drag an drop), so we keep current
|
||||
item's ID and update index. Item might have been deleted too.
|
||||
"""
|
||||
idx = self.mw.mdlOutline.getIndexByID(self.currentID)
|
||||
idx = self._model.getIndexByID(self.currentID)
|
||||
|
||||
# If we have an ID but the ID does not exist, it has been deleted
|
||||
if self.currentID and idx == QModelIndex():
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
import json
|
||||
import os
|
||||
|
||||
from PyQt5.QtCore import Qt, QSize, QSortFilterProxyModel
|
||||
from PyQt5.QtCore import Qt, QSize, QSortFilterProxyModel, QModelIndex
|
||||
from PyQt5.QtGui import QIcon, QFontMetrics, QFont
|
||||
from PyQt5.QtWidgets import QWidget, QTableWidgetItem, QListWidgetItem, QTreeView
|
||||
|
||||
|
@ -30,8 +30,6 @@ class generalSettings(QWidget, Ui_generalSettings):
|
|||
self.treeGeneralParent.setCurrentIndex(self.getParentIndex())
|
||||
self.chkGeneralParent.toggled.connect(self.treeGeneralParent.setVisible)
|
||||
self.treeGeneralParent.hide()
|
||||
self.treeGeneralParent.selectionModel().currentChanged.connect(
|
||||
lambda: print(self.treeGeneralParent.currentIndex().row()))
|
||||
|
||||
def getParentIndex(self):
|
||||
"""
|
||||
|
@ -44,3 +42,20 @@ class generalSettings(QWidget, Ui_generalSettings):
|
|||
idx = self.mw.treeRedacOutline.currentIndex()
|
||||
return idx
|
||||
|
||||
def importUnderID(self):
|
||||
"""
|
||||
Returns the ID of the item selected in treeGeneralParent, if checked.
|
||||
"""
|
||||
if self.chkGeneralParent.isChecked():
|
||||
idx = self.treeGeneralParent.currentIndex()
|
||||
# We used a filter proxy model, so we have to map back to source
|
||||
# to get an index from mdlOutline
|
||||
idx = self.treeGeneralParent.model().mapToSource(idx)
|
||||
if idx.isValid():
|
||||
return idx.internalPointer().ID()
|
||||
|
||||
return "0" # 0 is root's ID
|
||||
|
||||
def trimLongTitles(self):
|
||||
return self.chkGeneralTrimTitles.isChecked()
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ from PyQt5 import QtCore, QtGui, QtWidgets
|
|||
class Ui_generalSettings(object):
|
||||
def setupUi(self, generalSettings):
|
||||
generalSettings.setObjectName("generalSettings")
|
||||
generalSettings.resize(289, 396)
|
||||
generalSettings.resize(267, 401)
|
||||
self.verticalLayout_2 = QtWidgets.QVBoxLayout(generalSettings)
|
||||
self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)
|
||||
self.verticalLayout_2.setSpacing(10)
|
||||
|
@ -28,30 +28,30 @@ class Ui_generalSettings(object):
|
|||
"}")
|
||||
self.toolBox.setObjectName("toolBox")
|
||||
self.general = QtWidgets.QWidget()
|
||||
self.general.setGeometry(QtCore.QRect(0, 0, 289, 373))
|
||||
self.general.setGeometry(QtCore.QRect(0, 0, 267, 378))
|
||||
self.general.setObjectName("general")
|
||||
self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.general)
|
||||
self.verticalLayout_5.setContentsMargins(0, 0, 0, 0)
|
||||
self.verticalLayout_5.setContentsMargins(6, 6, 6, 6)
|
||||
self.verticalLayout_5.setObjectName("verticalLayout_5")
|
||||
self.formLayout_4 = QtWidgets.QFormLayout()
|
||||
self.formLayout_4.setRowWrapPolicy(QtWidgets.QFormLayout.WrapLongRows)
|
||||
self.formLayout_4.setObjectName("formLayout_4")
|
||||
self.chkGeneralParent = QtWidgets.QCheckBox(self.general)
|
||||
self.chkGeneralParent.setObjectName("chkGeneralParent")
|
||||
self.formLayout_4.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.chkGeneralParent)
|
||||
self.chkGeneralSplitScenes = QtWidgets.QCheckBox(self.general)
|
||||
self.chkGeneralSplitScenes.setObjectName("chkGeneralSplitScenes")
|
||||
self.formLayout_4.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.chkGeneralSplitScenes)
|
||||
self.formLayout_4.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.chkGeneralSplitScenes)
|
||||
self.txtGeneralSplitScenes = QtWidgets.QLineEdit(self.general)
|
||||
self.txtGeneralSplitScenes.setObjectName("txtGeneralSplitScenes")
|
||||
self.formLayout_4.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.txtGeneralSplitScenes)
|
||||
self.formLayout_4.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.txtGeneralSplitScenes)
|
||||
self.chkGeneralTrimTitles = QtWidgets.QCheckBox(self.general)
|
||||
self.chkGeneralTrimTitles.setObjectName("chkGeneralTrimTitles")
|
||||
self.formLayout_4.setWidget(3, QtWidgets.QFormLayout.SpanningRole, self.chkGeneralTrimTitles)
|
||||
self.treeGeneralParent = QtWidgets.QTreeView(self.general)
|
||||
self.treeGeneralParent.setHeaderHidden(True)
|
||||
self.treeGeneralParent.setObjectName("treeGeneralParent")
|
||||
self.formLayout_4.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.treeGeneralParent)
|
||||
self.chkGeneralTrimTitles = QtWidgets.QCheckBox(self.general)
|
||||
self.chkGeneralTrimTitles.setObjectName("chkGeneralTrimTitles")
|
||||
self.formLayout_4.setWidget(2, QtWidgets.QFormLayout.SpanningRole, self.chkGeneralTrimTitles)
|
||||
self.formLayout_4.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.treeGeneralParent)
|
||||
self.chkGeneralParent = QtWidgets.QCheckBox(self.general)
|
||||
self.chkGeneralParent.setObjectName("chkGeneralParent")
|
||||
self.formLayout_4.setWidget(0, QtWidgets.QFormLayout.SpanningRole, self.chkGeneralParent)
|
||||
self.verticalLayout_5.addLayout(self.formLayout_4)
|
||||
self.toolBox.addItem(self.general, "")
|
||||
self.verticalLayout_2.addWidget(self.toolBox)
|
||||
|
@ -64,8 +64,8 @@ class Ui_generalSettings(object):
|
|||
def retranslateUi(self, generalSettings):
|
||||
_translate = QtCore.QCoreApplication.translate
|
||||
generalSettings.setWindowTitle(_translate("generalSettings", "Form"))
|
||||
self.chkGeneralParent.setText(_translate("generalSettings", "Import under:"))
|
||||
self.chkGeneralSplitScenes.setText(_translate("generalSettings", "Split scenes at:"))
|
||||
self.chkGeneralTrimTitles.setText(_translate("generalSettings", "Trim long titles (> 32 chars)"))
|
||||
self.chkGeneralParent.setText(_translate("generalSettings", "Import under:"))
|
||||
self.toolBox.setItemText(self.toolBox.indexOf(self.general), _translate("generalSettings", "General"))
|
||||
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>289</width>
|
||||
<height>396</height>
|
||||
<width>267</width>
|
||||
<height>401</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
|
@ -53,47 +53,59 @@ QToolBox::tab:selected, QToolBox::tab:hover{
|
|||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>289</width>
|
||||
<height>373</height>
|
||||
<width>267</width>
|
||||
<height>378</height>
|
||||
</rect>
|
||||
</property>
|
||||
<attribute name="label">
|
||||
<string>General</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_5">
|
||||
<property name="leftMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<item>
|
||||
<layout class="QFormLayout" name="formLayout_4">
|
||||
<property name="rowWrapPolicy">
|
||||
<enum>QFormLayout::WrapLongRows</enum>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QCheckBox" name="chkGeneralParent">
|
||||
<property name="text">
|
||||
<string>Import under:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<item row="2" column="0">
|
||||
<widget class="QCheckBox" name="chkGeneralSplitScenes">
|
||||
<property name="text">
|
||||
<string>Split scenes at:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<item row="2" column="1">
|
||||
<widget class="QLineEdit" name="txtGeneralSplitScenes"/>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<item row="3" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="chkGeneralTrimTitles">
|
||||
<property name="text">
|
||||
<string>Trim long titles (> 32 chars)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QTreeView" name="treeGeneralParent">
|
||||
<property name="headerHidden">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="chkGeneralTrimTitles">
|
||||
<item row="0" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="chkGeneralParent">
|
||||
<property name="text">
|
||||
<string>Trim long titles (> 32 chars)</string>
|
||||
<string>Import under:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
import json
|
||||
import os
|
||||
|
||||
from PyQt5.QtCore import Qt
|
||||
from PyQt5.QtCore import Qt, QTimer
|
||||
from PyQt5.QtGui import QBrush, QColor, QIcon
|
||||
from PyQt5.QtWidgets import QWidget, QFileDialog
|
||||
|
||||
|
@ -13,6 +13,7 @@ from manuskript.ui.importers.generalSettings import generalSettings
|
|||
from manuskript.ui import style
|
||||
from manuskript import importer
|
||||
from manuskript.models.outlineModel import outlineModel
|
||||
from manuskript.enums import Outline
|
||||
|
||||
class importerDialog(QWidget, Ui_importer):
|
||||
|
||||
|
@ -35,6 +36,8 @@ class importerDialog(QWidget, Ui_importer):
|
|||
self.mw = mw
|
||||
self.fileName = ""
|
||||
self.setStyleSheet(style.mainWindowSS())
|
||||
self.tree.setStyleSheet("QTreeView{background:transparent;}")
|
||||
self.editor.setStyleSheet("QWidget{background:transparent;}")
|
||||
|
||||
# Register importFormats:
|
||||
self.importers = importer.importers
|
||||
|
@ -49,7 +52,11 @@ class importerDialog(QWidget, Ui_importer):
|
|||
self.cmbImporters.currentTextChanged.connect(self.updateSettings)
|
||||
|
||||
#self.setFileName("")
|
||||
self.setFileName("/home/olivier/Dropbox/Documents/Travail/Geekeries/Python/PyCharmProjects/manuskript/test-projects/IMPORTS/End Plan 2.opml")
|
||||
QTimer.singleShot(50, lambda:
|
||||
self.cmbImporters.setCurrentText("OPML"))
|
||||
QTimer.singleShot(50, lambda:
|
||||
self.setFileName("/home/olivier/Dropbox/Documents/Travail/Geekeries/Python/PyCharmProjects/manuskript/test-projects/IMPORTS/End Plan 2.opml")
|
||||
)
|
||||
|
||||
############################################################################
|
||||
# Combobox / Formats
|
||||
|
@ -134,8 +141,13 @@ class importerDialog(QWidget, Ui_importer):
|
|||
F = self.currentFormat()
|
||||
self.settingsWidget = generalSettings()
|
||||
self.setGroupWidget(self.grpSettings, self.settingsWidget)
|
||||
self.grpSettings.setMinimumWidth(200)
|
||||
|
||||
#TODO: custom format widget
|
||||
#toolBox = self.settingsWidget.toolBox
|
||||
#w = QWidget()
|
||||
#toolBox.insertItem(toolBox.count(), w, "Pandoc")
|
||||
#See pandoc's abstractPlainText
|
||||
|
||||
def setGroupWidget(self, group, widget):
|
||||
"""
|
||||
|
@ -163,19 +175,40 @@ class importerDialog(QWidget, Ui_importer):
|
|||
|
||||
# Temporary outlineModel
|
||||
previewModel = outlineModel(self)
|
||||
previewModel.loadFromXML(
|
||||
self.mw.mdlOutline.saveToXML(),
|
||||
fromString=True)
|
||||
|
||||
# Parent item
|
||||
ID = self.settingsWidget.importUnderID()
|
||||
parentItem = previewModel.getItemByID(ID)
|
||||
|
||||
# Calling the importer in a temporary model
|
||||
items = F.startImport(self.fileName,
|
||||
previewModel.rootItem,
|
||||
parentItem,
|
||||
self.settingsWidget)
|
||||
|
||||
# Do transformations
|
||||
# TODO
|
||||
# ------------------
|
||||
|
||||
# Trim long titles
|
||||
if self.settingsWidget.trimLongTitles():
|
||||
def trim(item):
|
||||
if len(item.title()) > 32:
|
||||
item.setData(Outline.title.value, item.title()[:32])
|
||||
for c in item.children():
|
||||
trim(c)
|
||||
for i in items:
|
||||
trim(i)
|
||||
|
||||
if items:
|
||||
self.tree.setModel(previewModel)
|
||||
for i in range(1, previewModel.columnCount()):
|
||||
self.tree.hideColumn(i)
|
||||
self.tree.selectionModel().currentChanged.connect(self.editor.setCurrentModelIndex)
|
||||
self.previewSplitter.setStretchFactor(0, 10)
|
||||
self.previewSplitter.setStretchFactor(1, 40)
|
||||
|
||||
|
||||
def startImport(self):
|
||||
pass
|
||||
|
|
|
@ -11,7 +11,7 @@ from PyQt5 import QtCore, QtGui, QtWidgets
|
|||
class Ui_importer(object):
|
||||
def setupUi(self, importer):
|
||||
importer.setObjectName("importer")
|
||||
importer.resize(694, 489)
|
||||
importer.resize(867, 560)
|
||||
self.verticalLayout = QtWidgets.QVBoxLayout(importer)
|
||||
self.verticalLayout.setObjectName("verticalLayout")
|
||||
self.horizontalLayout = QtWidgets.QHBoxLayout()
|
||||
|
@ -64,6 +64,7 @@ class Ui_importer(object):
|
|||
self.verticalLayout.addLayout(self.horizontalLayout)
|
||||
self.splitter = QtWidgets.QSplitter(importer)
|
||||
self.splitter.setOrientation(QtCore.Qt.Horizontal)
|
||||
self.splitter.setChildrenCollapsible(False)
|
||||
self.splitter.setObjectName("splitter")
|
||||
self.grpSettings = QtWidgets.QGroupBox(self.splitter)
|
||||
self.grpSettings.setObjectName("grpSettings")
|
||||
|
@ -77,16 +78,16 @@ class Ui_importer(object):
|
|||
self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)
|
||||
self.verticalLayout_2.setSpacing(0)
|
||||
self.verticalLayout_2.setObjectName("verticalLayout_2")
|
||||
self.splitter_2 = QtWidgets.QSplitter(self.grpPreview)
|
||||
self.splitter_2.setOrientation(QtCore.Qt.Horizontal)
|
||||
self.splitter_2.setObjectName("splitter_2")
|
||||
self.tree = QtWidgets.QTreeView(self.splitter_2)
|
||||
self.previewSplitter = QtWidgets.QSplitter(self.grpPreview)
|
||||
self.previewSplitter.setOrientation(QtCore.Qt.Horizontal)
|
||||
self.previewSplitter.setObjectName("previewSplitter")
|
||||
self.tree = QtWidgets.QTreeView(self.previewSplitter)
|
||||
self.tree.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
|
||||
self.tree.setHeaderHidden(True)
|
||||
self.tree.setObjectName("tree")
|
||||
self.editor = mainEditor(self.splitter_2)
|
||||
self.editor = editorWidget(self.previewSplitter)
|
||||
self.editor.setObjectName("editor")
|
||||
self.verticalLayout_2.addWidget(self.splitter_2)
|
||||
self.verticalLayout_2.addWidget(self.previewSplitter)
|
||||
self.verticalLayout.addWidget(self.splitter)
|
||||
|
||||
self.retranslateUi(importer)
|
||||
|
@ -103,4 +104,4 @@ class Ui_importer(object):
|
|||
self.grpSettings.setTitle(_translate("importer", "Settings"))
|
||||
self.grpPreview.setTitle(_translate("importer", "Preview"))
|
||||
|
||||
from manuskript.ui.editors.mainEditor import mainEditor
|
||||
from manuskript.ui.editors.editorWidget import editorWidget
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>694</width>
|
||||
<height>489</height>
|
||||
<width>867</width>
|
||||
<height>560</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
|
@ -131,6 +131,9 @@
|
|||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="childrenCollapsible">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<widget class="QGroupBox" name="grpSettings">
|
||||
<property name="title">
|
||||
<string>Settings</string>
|
||||
|
@ -174,7 +177,7 @@
|
|||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QSplitter" name="splitter_2">
|
||||
<widget class="QSplitter" name="previewSplitter">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
|
@ -186,7 +189,7 @@
|
|||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="mainEditor" name="editor" native="true"/>
|
||||
<widget class="editorWidget" name="editor" native="true"/>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
|
@ -197,9 +200,9 @@
|
|||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>mainEditor</class>
|
||||
<class>editorWidget</class>
|
||||
<extends>QWidget</extends>
|
||||
<header>manuskript.ui.editors.mainEditor.h</header>
|
||||
<header>manuskript.ui.editors.editorWidget.h</header>
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
|
|
Loading…
Reference in a new issue