F4A9B8D41B975029005786C2 /* SlotItemShortName.plist in Resources */ = {isa = PBXBuildFile; fileRef = F4A9B8D21B975029005786C2 /* SlotItemShortName.plist */; };
F4A9B8D71B99D5B7005786C2 /* Taihi.txt in Resources */ = {isa = PBXBuildFile; fileRef = F4A9B8D51B99D5B7005786C2 /* Taihi.txt */; };
F4A9B8D91BA40ED1005786C2 /* LICENSE in Resources */ = {isa = PBXBuildFile; fileRef = F4A9B8D81BA40ED1005786C2 /* LICENSE */; };
- F4A9E7FB1D045BC100F91746 /* HMScreenshotModel.m in Sources */ = {isa = PBXBuildFile; fileRef = F4A9E7F61D045BC100F91746 /* HMScreenshotModel.m */; };
F4AA05FB192B92C800844688 /* Temporary.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = F4AA05F9192B92C700844688 /* Temporary.xcdatamodeld */; };
F4AA59141E1C951F001667AF /* HMTimerCountFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4AA59131E1C951F001667AF /* HMTimerCountFormatter.swift */; };
F4AA59161E1C9C5D001667AF /* ValueTransformerRegister.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4AA59151E1C9C5D001667AF /* ValueTransformerRegister.swift */; };
F4A9B8D31B975029005786C2 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = ja; path = ja.lproj/SlotItemShortName.plist; sourceTree = "<group>"; };
F4A9B8D61B99D5B7005786C2 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text; name = ja; path = ja.lproj/Taihi.txt; sourceTree = "<group>"; };
F4A9B8D81BA40ED1005786C2 /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LICENSE; sourceTree = "<group>"; };
- F4A9E7F51D045BC100F91746 /* HMScreenshotModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HMScreenshotModel.h; sourceTree = "<group>"; };
- F4A9E7F61D045BC100F91746 /* HMScreenshotModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HMScreenshotModel.m; sourceTree = "<group>"; };
F4AA05FA192B92C800844688 /* Temporary.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = Temporary.xcdatamodel; sourceTree = "<group>"; };
F4AA59131E1C951F001667AF /* HMTimerCountFormatter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HMTimerCountFormatter.swift; sourceTree = "<group>"; };
F4AA59151E1C9C5D001667AF /* ValueTransformerRegister.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ValueTransformerRegister.swift; sourceTree = "<group>"; };
F4A9E7F21D045B8800F91746 /* ScreenshotList */ = {
isa = PBXGroup;
children = (
- F4A9E7F51D045BC100F91746 /* HMScreenshotModel.h */,
- F4A9E7F61D045BC100F91746 /* HMScreenshotModel.m */,
F42CFE171E3C12AA000B4F9B /* HMScreenshotInformation.swift */,
F4E5FF0F1E17A83D0026868C /* HMScreenshotListWindowController.swift */,
F41465761DB4F1A700D68C97 /* HMScreenshotListWindowController.xib */,
F4E7802E18DC3AF00011BC4C /* LocalData.xcdatamodeld in Sources */,
F4F9F88F1C6B6ACA00D0EE76 /* HMKCNyukyoDock+CoreDataProperties.m in Sources */,
F44BC7151E2914FE004644E3 /* HMMemberBasicCommand.swift in Sources */,
- F4A9E7FB1D045BC100F91746 /* HMScreenshotModel.m in Sources */,
F47215AC1E1FA2460083D3BC /* HMTemporaryDataStore.swift in Sources */,
F448F9981B75A128004901AD /* HMKCBasic.m in Sources */,
F4D05BC81E0C0DA100688D66 /* HMAirBaseWindowController.swift in Sources */,
import Cocoa
+class HMScreenshotModel: NSObject {
+ dynamic var screenshots: [HMScreenshotInformation] = []
+ dynamic var sortDescriptors: [NSSortDescriptor]?
+ dynamic var selectedIndexes: IndexSet?
+ dynamic var filterPredicate: NSPredicate?
+}
+
class HMScreenshotInformation: NSObject, NSCoding {
let url: URL
var creationDate: Date? {
return attr?.tagNames
}
private(set) var version: Int
-// var path: String {
-// return url.path
-// }
init(url: URL, version: Int = 0) {
self.url = url
}
let imageTypes = NSImage.imageTypes()
let ws = NSWorkspace.shared()
- var current = screenshots.screenshots ?? []
+ var current = screenshots.screenshots
let newFiles: [URL] = f.flatMap {
guard let type = try? ws.type(ofFile: $0.path) else { return nil }
if imageTypes.contains(type) {
.map { $0.url.path }
.map { "(\"\($0)\" as POSIX file)" }
let list = posixPaths.joined(separator: " , ")
- let bracedList = "{ \(list) }"
let script = "tell application \"Finder\"\n"
- + " delete \(bracedList)\n"
+ + " delete { \(list) }\n"
+ "end tell"
guard let aps = NSAppleScript(source: script) else { return }
aps.executeAndReturnError(nil)
+++ /dev/null
-//
-// HMScreenshotModel.h
-// testScreenshotForKCD
-//
-// Created by Hori,Masaki on 2016/03/29.
-// Copyright © 2016年 Hori,Masaki. All rights reserved.
-//
-
-#import <Foundation/Foundation.h>
-
-@class HMScreenshotInformation;
-
-@interface HMScreenshotModel : NSObject
-@property (copy) NSArray<HMScreenshotInformation *> *screenshots;
-@property (copy) NSArray<NSSortDescriptor *> *sortDescriptors;
-@property (copy) NSIndexSet *selectedIndexes;
-@property (strong) NSPredicate *filterPredicate;
-@end
+++ /dev/null
-//
-// HMScreenshotModel.m
-// testScreenshotForKCD
-//
-// Created by Hori,Masaki on 2016/03/29.
-// Copyright © 2016年 Hori,Masaki. All rights reserved.
-//
-
-#import "HMScreenshotModel.h"
-
-#import "KCD-Swift.h"
-
-
-@implementation HMScreenshotModel
-
-- (id)description
-{
- return [NSString stringWithFormat:
- @"screenshot count -> %ld\n"
- @"sortDescriptors -> %@\n"
- @"selectionIndexes -> %@\n"
- @"filterPredicate -> %@",
- self.screenshots.count,
- self.sortDescriptors,
- self.selectedIndexes,
- self.filterPredicate];
-}
-
-@end
#import "HMJSONReciever.h"
-#import "HMScreenshotModel.h"
-
// Core Data
#import "HMCoreDataManager.h"