mirror of
https://github.com/olivierkes/manuskript.git
synced 2024-05-15 02:12:29 +12:00
Cork Delegates can be very colorful
This commit is contained in:
parent
f08f975032
commit
d7af6e9162
|
@ -3,6 +3,7 @@
|
|||
|
||||
from qt import *
|
||||
from random import *
|
||||
from enums import *
|
||||
|
||||
def wordCount(text):
|
||||
return len(text.strip().replace(" ", "\n").split("\n")) if text else 0
|
||||
|
@ -30,23 +31,27 @@ def drawProgress(painter, rect, progress, radius=0):
|
|||
painter.setBrush(QColor("#dddddd"))
|
||||
painter.drawRoundedRect(rect, radius, radius)
|
||||
|
||||
painter.setBrush(QBrush(colorFromProgress(progress)))
|
||||
|
||||
r2 = QRect(rect)
|
||||
r2.setWidth(r2.width() * min(progress, 1))
|
||||
painter.drawRoundedRect(r2, radius, radius)
|
||||
|
||||
def colorFromProgress(progress):
|
||||
progress = toFloat(progress)
|
||||
c1 = QColor(Qt.red)
|
||||
c2 = QColor(Qt.blue)
|
||||
c3 = QColor(Qt.darkGreen)
|
||||
c4 = QColor("#FFA500")
|
||||
|
||||
if progress < 0.3:
|
||||
painter.setBrush(QBrush(c1))
|
||||
return c1
|
||||
elif progress < 0.8:
|
||||
painter.setBrush(QBrush(c2))
|
||||
return c2
|
||||
elif progress > 1.2:
|
||||
painter.setBrush(QBrush(c4))
|
||||
return c4
|
||||
else:
|
||||
painter.setBrush(QBrush(c3))
|
||||
|
||||
r2 = QRect(rect)
|
||||
r2.setWidth(r2.width() * min(progress, 1))
|
||||
painter.drawRoundedRect(r2, radius, radius)
|
||||
return c3
|
||||
|
||||
def mainWindow():
|
||||
for i in qApp.topLevelWidgets():
|
||||
|
@ -81,4 +86,50 @@ def randomColor(mix=None):
|
|||
g = (g + mix.green()) / 2
|
||||
b = (b + mix.blue()) / 2
|
||||
|
||||
return QColor(r, g, b)
|
||||
return QColor(r, g, b)
|
||||
|
||||
def mixColors(col1, col2, f=.5):
|
||||
f2 = 1-f
|
||||
r = col1.red() * f + col2.red() * f2
|
||||
g = col1.green() * f + col2.green() * f2
|
||||
b = col1.blue() * f + col2.blue() * f2
|
||||
return QColor(r, g, b)
|
||||
|
||||
def outlineItemColors(item):
|
||||
"Takes an OutlineItem and returns a dict of colors."
|
||||
colors = {}
|
||||
mw = mainWindow()
|
||||
|
||||
# POV
|
||||
colors["POV"] = Qt.transparent
|
||||
POV = item.data(Outline.POV.value)
|
||||
for i in range(mw.mdlPersos.rowCount()):
|
||||
if mw.mdlPersos.item(i, Perso.ID.value).text() == POV:
|
||||
colors["POV"] = iconColor(mw.mdlPersos.item(i, 0).icon())
|
||||
|
||||
# Label
|
||||
lbl = item.data(Outline.label.value)
|
||||
col = iconColor(mw.mdlLabels.item(toInt(lbl)).icon())
|
||||
if col == Qt.black:
|
||||
# Don't know why, but transparent is rendered as black
|
||||
col = QColor(Qt.transparent)
|
||||
colors["Label"] = col
|
||||
|
||||
# Progress
|
||||
pg = item.data(Outline.goalPercentage.value)
|
||||
colors["Progress"] = colorFromProgress(pg)
|
||||
|
||||
# Compile
|
||||
if item.isCompile() in [0, "0"]:
|
||||
colors["Compile"] = QColor(Qt.gray)
|
||||
else:
|
||||
colors["Compile"] = QColor(Qt.black)
|
||||
|
||||
return colors
|
||||
|
||||
def colorifyPixmap(pixmap, color):
|
||||
# FIXME: ugly
|
||||
p = QPainter(pixmap)
|
||||
p.setCompositionMode(p.CompositionMode_Overlay)
|
||||
p.fillRect(pixmap.rect(), color)
|
||||
return pixmap
|
|
@ -395,7 +395,6 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
|||
self.tabMain.setCurrentIndex(settings.lastTab)
|
||||
self.treeRedacOutline.setCurrentIndex(self.mdlOutline.indexFromPath(settings.lastIndex))
|
||||
|
||||
|
||||
# Stuff
|
||||
self.checkPersosID()
|
||||
# Adds header labels
|
||||
|
@ -658,4 +657,6 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
|||
def setViewElement(self):
|
||||
action = self.sender()
|
||||
item, part, element = action.data().split(",")
|
||||
settings.viewSettings[item][part] = element
|
||||
settings.viewSettings[item][part] = element
|
||||
if item == "Cork":
|
||||
self.redacEditor.redrawCorkItems()
|
|
@ -47,7 +47,9 @@ class editorWidget(QWidget, Ui_editorWidget_ui):
|
|||
def setCorkSizeFactor(self, v):
|
||||
self.corkView.itemDelegate().setCorkSizeFactor(v)
|
||||
settings.corkSizeFactor = v
|
||||
self.redrawCorkItems()
|
||||
|
||||
def redrawCorkItems(self):
|
||||
r = self.corkView.rootIndex()
|
||||
|
||||
if r.isValid():
|
||||
|
|
|
@ -1,13 +1,11 @@
|
|||
#!/usr/bin/env python
|
||||
#--!-- coding: utf8 --!--
|
||||
|
||||
|
||||
|
||||
|
||||
from qt import *
|
||||
from enums import *
|
||||
from functions import *
|
||||
from random import randint
|
||||
import settings
|
||||
|
||||
class corkDelegate(QStyledItemDelegate):
|
||||
|
||||
|
@ -144,6 +142,7 @@ class corkDelegate(QStyledItemDelegate):
|
|||
|
||||
item = index.internalPointer()
|
||||
self.updateRects(option, index)
|
||||
colors = outlineItemColors(item)
|
||||
|
||||
style = qApp.style()
|
||||
|
||||
|
@ -177,7 +176,12 @@ class corkDelegate(QStyledItemDelegate):
|
|||
# Background
|
||||
itemRect = self.itemRect
|
||||
p.save()
|
||||
p.setBrush(Qt.white)
|
||||
if settings.viewSettings["Cork"]["Background"] != "Nothing":
|
||||
c = colors[settings.viewSettings["Cork"]["Background"]]
|
||||
col = mixColors(c, QColor(Qt.white), .2)
|
||||
p.setBrush(col)
|
||||
else:
|
||||
p.setBrush(Qt.white)
|
||||
pen = p.pen()
|
||||
pen.setWidth(2)
|
||||
p.setPen(pen)
|
||||
|
@ -199,18 +203,16 @@ class corkDelegate(QStyledItemDelegate):
|
|||
p.restore()
|
||||
|
||||
# Label color
|
||||
lbl = item.data(Outline.label.value)
|
||||
if lbl and lbl != "0":
|
||||
it = mainWindow().mdlLabels.item(int(lbl), 0)
|
||||
if it != None:
|
||||
p.save()
|
||||
color = iconColor(it.icon())
|
||||
p.setPen(Qt.NoPen)
|
||||
p.setBrush(QBrush(color))
|
||||
p.setClipRegion(QRegion(self.labelRect))
|
||||
p.drawRoundedRect(itemRect, 10, 10)
|
||||
#p.drawRect(topRect)
|
||||
p.restore()
|
||||
if settings.viewSettings["Cork"]["Corner"] != "Nothing":
|
||||
p.save()
|
||||
color = colors[settings.viewSettings["Cork"]["Corner"]]
|
||||
p.setPen(Qt.NoPen)
|
||||
p.setBrush(color)
|
||||
p.setClipRegion(QRegion(self.labelRect))
|
||||
p.drawRoundedRect(itemRect, 10, 10)
|
||||
#p.drawRect(topRect)
|
||||
p.restore()
|
||||
p.drawLine(self.labelRect.topLeft(), self.labelRect.bottomLeft())
|
||||
|
||||
# One line summary background
|
||||
lineSummary = item.data(Outline.summarySentance.value)
|
||||
|
@ -229,6 +231,11 @@ class corkDelegate(QStyledItemDelegate):
|
|||
p.setBrush(Qt.NoBrush)
|
||||
pen = p.pen()
|
||||
pen.setWidth(2)
|
||||
if settings.viewSettings["Cork"]["Border"] != "Nothing":
|
||||
col = colors[settings.viewSettings["Cork"]["Border"]]
|
||||
if col == Qt.transparent:
|
||||
col = Qt.black
|
||||
pen.setColor(col)
|
||||
p.setPen(pen)
|
||||
p.drawRoundedRect(itemRect, 10, 10)
|
||||
p.restore()
|
||||
|
@ -241,13 +248,23 @@ class corkDelegate(QStyledItemDelegate):
|
|||
mode = QIcon.Disabled
|
||||
elif option.state & style.State_Selected:
|
||||
mode = QIcon.Selected
|
||||
index.data(Qt.DecorationRole).paint(p, iconRect, option.decorationAlignment, mode)
|
||||
#index.data(Qt.DecorationRole).paint(p, iconRect, option.decorationAlignment, mode)
|
||||
icon = index.data(Qt.DecorationRole).pixmap(iconRect.size())
|
||||
if settings.viewSettings["Cork"]["Icon"] != "Nothing":
|
||||
color = colors[settings.viewSettings["Cork"]["Icon"]]
|
||||
colorifyPixmap(icon, color)
|
||||
QIcon(icon).paint(p, iconRect, option.decorationAlignment, mode)
|
||||
|
||||
# Draw title
|
||||
p.save()
|
||||
text = index.data()
|
||||
titleRect = self.titleRect
|
||||
if text:
|
||||
if settings.viewSettings["Cork"]["Text"] != "Nothing":
|
||||
col = colors[settings.viewSettings["Cork"]["Text"]]
|
||||
if col == Qt.transparent:
|
||||
col = Qt.black
|
||||
p.setPen(col)
|
||||
f = QFont(option.font)
|
||||
#f.setPointSize(f.pointSize() + 1)
|
||||
f.setBold(True)
|
||||
|
|
|
@ -40,6 +40,8 @@ class outlineView(QTreeView, dndView, outlineBasics):
|
|||
QTreeView.setModel(self, model)
|
||||
|
||||
# Setting delegates
|
||||
self.treePlanOutlineTitleDelegate = treeOutlineTitleDelegate(self.modelPersos)
|
||||
self.setItemDelegateForColumn(Outline.title.value, self.treePlanOutlineTitleDelegate)
|
||||
self.treePlanOutlinePersoDelegate = treeOutlinePersoDelegate(self.modelPersos)
|
||||
self.setItemDelegateForColumn(Outline.POV.value, self.treePlanOutlinePersoDelegate)
|
||||
self.treePlanOutlineCompileDelegate = treeOutlineCompileDelegate()
|
||||
|
|
|
@ -4,7 +4,33 @@
|
|||
from qt import *
|
||||
from enums import *
|
||||
from functions import *
|
||||
import settings
|
||||
|
||||
class treeOutlineTitleDelegate(QStyledItemDelegate):
|
||||
def __init__(self, mdlPersos, parent=None):
|
||||
QStyledItemDelegate.__init__(self, parent)
|
||||
|
||||
def paint(self, painter, option, index):
|
||||
|
||||
item = index.internalPointer()
|
||||
colors = outlineItemColors(item)
|
||||
|
||||
# Icon
|
||||
#icon = option.icon.pixmap(option.rect.size())
|
||||
#if option.icon and settings.viewSettings["Tree"]["Icon"] != "Nothing":
|
||||
#color = colors[settings.viewSettings["Tree"]["Icon"]]
|
||||
#colorifyPixmap(icon, color)
|
||||
#option.icon = QIcon(icon)
|
||||
|
||||
## Text
|
||||
#if settings.viewSettings["Tree"]["Text"] != "Nothing":
|
||||
#color = colors[settings.viewSettings["Tree"]["Text"]]
|
||||
#print(option.palette.color(QPalette.Text))
|
||||
#option.palette.setColor(QPalette.Text, color)
|
||||
#print(option.palette.color(QPalette.Text), color)
|
||||
|
||||
|
||||
QStyledItemDelegate.paint(self, painter, option, index)
|
||||
|
||||
class treeOutlinePersoDelegate(QStyledItemDelegate):
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<outlineItem title="Nouveau" type="folder" compile="2" wordCount="15">
|
||||
<outlineItem title="Nouveau" type="text" POV="1" label="2" status="2" compile="2" text="return QTextEdit.resizeEvent(self, e) ad ad ad ad adaasd ad adsdasd ad e drset" wordCount="15"/>
|
||||
</outlineItem>
|
||||
<outlineItem title="Parent" type="folder" POV="0" compile="2" wordCount="787">
|
||||
<outlineItem title="Parent" type="folder" POV="0" label="1" compile="2" wordCount="787">
|
||||
<outlineItem title="Nouveau" type="folder" summarySentance="Résumé de la scène en une phrase" compile="2" wordCount="27">
|
||||
<outlineItem title="A" type="text" compile="2" text="§Du texteDu texteDu text ad ad ad ad a Du texteDu te asd " wordCount="13" setGoal="10"/>
|
||||
<outlineItem title="B" type="text" compile="2" setGoal="3"/>
|
||||
|
@ -53,11 +53,11 @@
|
|||
</outlineItem>
|
||||
<outlineItem title="Same title" type="text" summarySentance="Résumé court" POV="0" label="5" status="3" compile="2" text="asdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasd asd aasdasd asd asd asd asd asdasd asdaasd AAAAA" wordCount="60" setGoal="50"/>
|
||||
<outlineItem title="Nouveau" type="folder" POV="1" label="5" status="1" compile="2" wordCount="607">
|
||||
<outlineItem title="Nouveau" type="text" POV="0" label="0" status="4" compile="2" text="ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD adasaas adasds adssdawdas saasdASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD adasaas adasds adssdawdas saasdASDASd ASD ASDASd ASD ASDASd ASD aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa English French Français" wordCount="222"/>
|
||||
<outlineItem title="Avec titre" type="text" POV="0" label="1" status="4" compile="2" text="asdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasd asd aasdasd asd asd asd asd asdasd asdaasd " wordCount="58" setGoal="100"/>
|
||||
<outlineItem title="Avec titre" type="text" POV="0" label="1" status="4" compile="2" text="ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD adasaas adasds adssdawdas saasdASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD adasaas adasds adssdawdas saasdASDASd ASD ASDASd ASD ASDASd ASD aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" wordCount="211"/>
|
||||
<outlineItem title="Nouveau" type="text" POV="0" status="4" compile="2" text="ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD adasaas adasds adssdawdas saasdASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD adasaas adasds adssdawdas saasdASDASd ASD ASDASd ASD ASDASd ASD aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa English French Français" wordCount="222" setGoal="200"/>
|
||||
<outlineItem title="Avec titre" type="text" POV="2" label="1" status="4" compile="2" text="asdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasd asd aasdasd asd asd asd asd asdasd asdaasd " wordCount="58" setGoal="100"/>
|
||||
<outlineItem title="Avec titre" type="text" POV="0" label="3" status="4" compile="2" text="ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD adasaas adasds adssdawdas saasdASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD adasaas adasds adssdawdas saasdASDASd ASD ASDASd ASD ASDASd ASD aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" wordCount="211" setGoal="200"/>
|
||||
<outlineItem title="Titre cool" type="text" POV="0" label="1" status="4" compile="2" text="asdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasd asd aasdasd asd asd asd asd asdasd asdaasd " wordCount="58" setGoal="50"/>
|
||||
<outlineItem title="Avec titre" type="text" POV="0" label="1" status="4" compile="2" text="asdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasd asd aasdasd asd asd asd asd asdasd asdaasd " wordCount="58" setGoal="100"/>
|
||||
</outlineItem>
|
||||
<outlineItem title="Same title 2" type="text" summaryFull="Français French Word Mot" POV="1" label="5" status="1" compile="2" text="asdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasd asd aasdasd asd asd asd asd asdasd asdaasd asdasd asdasd asd maison français French " wordCount="67" setGoal="1000"/>
|
||||
<outlineItem title="Same title 2" type="text" summaryFull="Français French Word Mot" POV="1" label="1" status="1" compile="2" text="asdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasd asd aasdasd asd asd asd asd asdasd asdaasd asdasd asdasd asd maison français French " wordCount="67" setGoal="100"/>
|
||||
</outlineItem>
|
||||
|
|
Binary file not shown.
Loading…
Reference in a new issue