mirror of https://github.com/zlatinb/muwire
more efficient unsharing of nested dirs
parent
29562c42ea
commit
eb5a5198b1
|
@ -358,6 +358,7 @@ class MainFrameModel {
|
||||||
def dmtn = fileToNode.remove(e.unsharedFile)
|
def dmtn = fileToNode.remove(e.unsharedFile)
|
||||||
if (dmtn != null) {
|
if (dmtn != null) {
|
||||||
loadedFiles = fileToNode.size()
|
loadedFiles = fileToNode.size()
|
||||||
|
List<File> unshared = new ArrayList<>()
|
||||||
while (true) {
|
while (true) {
|
||||||
def parent = dmtn.getParent()
|
def parent = dmtn.getParent()
|
||||||
parent.remove(dmtn)
|
parent.remove(dmtn)
|
||||||
|
@ -366,12 +367,16 @@ class MainFrameModel {
|
||||||
if (parent.getChildCount() == 0) {
|
if (parent.getChildCount() == 0) {
|
||||||
File file = parent.getUserObject().file
|
File file = parent.getUserObject().file
|
||||||
if (core.muOptions.watchedDirectories.contains(file.toString()))
|
if (core.muOptions.watchedDirectories.contains(file.toString()))
|
||||||
core.eventBus.publish(new DirectoryUnsharedEvent(directory : parent.getUserObject().file))
|
unshared.add(file)
|
||||||
dmtn = parent
|
dmtn = parent
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
if (!unshared.isEmpty()) {
|
||||||
|
File unsharedRoot = unshared.get( unshared.size() -1 )
|
||||||
|
core.eventBus.publish(new DirectoryUnsharedEvent(directory : unsharedRoot))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
view.refreshSharedFiles()
|
view.refreshSharedFiles()
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue