Browse Source

Photos

master
marcoschmickler 4 years ago
parent
commit
4d63b3778d
  1. 27
      kplayer/core/DatabaseManager.swift
  2. 19
      kplayer/photo/SPhotoAlbumView.swift
  3. 8
      kplayer/photo/SPhotoModel.swift
  4. 1
      kplayer/photo/SPhotoScrubber.swift

27
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,15 +286,16 @@ class DatabaseManager {
let snapshots = t.tagged as! Set<KSnapshot>
for s in snapshots {
if s.item != nil {
let sitem = loadSnapshot(s: s)
sitem.parent = tag
if sitem.name == tag.name {
print(sitem.name)
}
else {
} else {
tag.children.append(sitem)
}
}
}
res.append(tag)
}

19
kplayer/photo/SPhotoAlbumView.swift

@ -48,18 +48,29 @@ 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)
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: .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

8
kplayer/photo/SPhotoModel.swift

@ -31,6 +31,7 @@ class SPhotoModel : ObservableObject {
indexItems = [MediaItem]()
var nj = -1
for i in 0...allItems.count-1 {
allItems[i].indexId = i
let j = Int((Double(i) / Double(allItems.count)) * 17.0)
if j > nj {
nj = j
@ -38,5 +39,12 @@ class SPhotoModel : ObservableObject {
}
}
}
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