mirror of
https://github.com/olivierkes/manuskript.git
synced 2024-05-10 16:02:33 +12:00
Fixes a bug in #169: crash when moving around folders with the same name
This commit is contained in:
parent
c9fc18f685
commit
276559bc04
|
@ -295,7 +295,7 @@ def saveProject(zip=None):
|
|||
files.append(("settings.txt", settings.save(protocol=0)))
|
||||
|
||||
project = mw.currentProject
|
||||
|
||||
|
||||
# We check if the file exist and we have write access. If the file does
|
||||
# not exists, we check the parent folder, because it might be a new project.
|
||||
if os.path.exists(project) and not os.access(project, os.W_OK) or \
|
||||
|
@ -411,7 +411,7 @@ def saveProject(zip=None):
|
|||
# Write the project file's content
|
||||
with open(project, "w", encoding='utf8') as f:
|
||||
f.write("1") # Format number
|
||||
|
||||
|
||||
return True
|
||||
|
||||
|
||||
|
@ -569,9 +569,18 @@ def outlineItemPath(item):
|
|||
else:
|
||||
# Count the number of siblings for padding '0'
|
||||
siblings = item.parent().childCount()
|
||||
|
||||
# We check if multiple items have the same name
|
||||
# If so, we add "-ID" to their name
|
||||
siblingsNames = [s.title() for s in item.parent().children()]
|
||||
if siblingsNames.count(item.title()) > 1:
|
||||
title = "{}-{}".format(item.title(), item.ID())
|
||||
else:
|
||||
title = item.title()
|
||||
|
||||
name = "{ID}-{name}{ext}".format(
|
||||
ID=str(item.row()).zfill(len(str(siblings))),
|
||||
name=slugify(item.title()),
|
||||
name=slugify(title),
|
||||
ext="" if item.type() == "folder" else ".md"
|
||||
)
|
||||
return outlineItemPath(item.parent()) + [name]
|
||||
|
@ -649,7 +658,7 @@ def loadProject(project, zip=None):
|
|||
# Saves to cache (only if we loaded from disk and not zip)
|
||||
global cache
|
||||
cache = files
|
||||
|
||||
|
||||
# FIXME: watch directory for changes
|
||||
|
||||
# Sort files by keys
|
||||
|
|
Loading…
Reference in a new issue