Browse Source

Photos

master
marcoschmickler 4 years ago
parent
commit
4d63b3778d
  1. 37
      kplayer/core/DatabaseManager.swift
  2. 23
      kplayer/photo/SPhotoAlbumView.swift
  3. 10
      kplayer/photo/SPhotoModel.swift
  4. 1
      kplayer/photo/SPhotoScrubber.swift

37
kplayer/core/DatabaseManager.swift

@ -107,6 +107,28 @@ class DatabaseManager {
}
func saveItemMetaData(_ item: MediaItem) {
if (item.type == ItemType.PICS) {
if let oid = item.objectID {
do {
let i = try managedObjectContext.existingObject(with: oid)
if i != nil {
let snap = i as! KSnapshot
updateSnapshot(snap: snap, c: item)
print("DB -- Update snapshot at \(item.indexId)")
}
} catch {
}
}
else {
let kitem = getKItem(item)
let snap = KSnapshot(context: managedObjectContext)
snap.index = Int32(item.indexId)
kitem.addToSnapshots(snap)
updateSnapshot(snap: snap, c: item)
}
}
if (item.type == ItemType.SNAPSHOT) {
if let oid = item.objectID {
do {
@ -264,13 +286,14 @@ class DatabaseManager {
let snapshots = t.tagged as! Set<KSnapshot>
for s in snapshots {
let sitem = loadSnapshot(s: s)
sitem.parent = tag
if sitem.name == tag.name {
print(sitem.name)
}
else {
tag.children.append(sitem)
if s.item != nil {
let sitem = loadSnapshot(s: s)
sitem.parent = tag
if sitem.name == tag.name {
print(sitem.name)
} else {
tag.children.append(sitem)
}
}
}

23
kplayer/photo/SPhotoAlbumView.swift

@ -47,19 +47,30 @@ struct SPhotoAlbumView: View {
}
if more {
v.overlay(VStack {
KToggleButton(text: "spring", binding: $model.spring).frame(height: 30)
KToggleButton(text: "edit", binding: $edit).frame(height: 30)
}
.frame(width: 60, alignment: .top).offset(x: 0, y: 70), alignment: .topLeading).overlay(TagEditor(item: model.allItems[model.index])
KToggleButton(text: "spring", binding: $model.spring).frame(height: 30)
Button(action: {
saveSelectedItem()
}, label: {
Text("save")
})
.buttonStyle(BorderlessButtonStyle())
}
.frame(width: 60, alignment: .top).offset(x: 0, y: 70), alignment: .topLeading)
.overlay(TagEditor(item: model.allItems[model.index])
.frame(width: 60, alignment: .top).offset(x: 0, y: 70),
alignment: .topTrailing)
}
else {
} else {
v
}
}
func saveSelectedItem() {
let item = model.selectedItem
DatabaseManager.sharedInstance.saveItemMetaData(item)
}
func cleanup() {
for i in model.allItems {
i.thumbImage = nil

10
kplayer/photo/SPhotoModel.swift

@ -31,12 +31,20 @@ class SPhotoModel : ObservableObject {
indexItems = [MediaItem]()
var nj = -1
for i in 0...allItems.count-1 {
let j = Int((Double(i) / Double(allItems.count)) * 17.0)
allItems[i].indexId = i
let j = Int((Double(i) / Double(allItems.count)) * 17.0)
if j > nj {
nj = j
indexItems.append(allItems[i])
}
}
}
let m = MediaItem(name: selectedItem.name, path: selectedItem.path, root: selectedItem.root, type: selectedItem.type)
m.children = allItems
DatabaseManager.sharedInstance.enrichItem(m)
selectedItem.indexId = 0
}
}

1
kplayer/photo/SPhotoScrubber.swift

@ -71,6 +71,7 @@ struct SPhotoScrubber: View {
}
model.selectedItem = item
item.indexId = i
if item.thumbUrl != nil && item.thumbImage == nil {
item.thumbImage = UIImage(systemName: "repeat")

Loading…
Cancel
Save