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