ارفع راسك فوق انته سوري حر ... :green_heart::green_heart:

Skip to content
Snippets Groups Projects
Commit 45376a2d authored by George's avatar George
Browse files

File Manager screen

parent d157b09a
Branches
No related tags found
No related merge requests found
Showing
with 881 additions and 432 deletions
No preview for this file type
......@@ -55,6 +55,17 @@
53014FBB2C11A8E80071CE39 /* CaptureSession+Orientation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53014F8A2C11A8E80071CE39 /* CaptureSession+Orientation.swift */; };
53014FBC2C11A8E80071CE39 /* CaptureSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53014F8B2C11A8E80071CE39 /* CaptureSession.swift */; };
53014FBD2C11A8E80071CE39 /* CaptureSession+Focus.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53014F8C2C11A8E80071CE39 /* CaptureSession+Focus.swift */; };
53F21F8B2C1246AF00172BFC /* AllFolderTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53F21F892C1246AF00172BFC /* AllFolderTableViewCell.swift */; };
53F21F8C2C1246AF00172BFC /* AllFolderTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 53F21F8A2C1246AF00172BFC /* AllFolderTableViewCell.xib */; };
53F21F912C1248EC00172BFC /* FolderCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53F21F8F2C1248EC00172BFC /* FolderCollectionViewCell.swift */; };
53F21F922C1248EC00172BFC /* FolderCollectionViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 53F21F902C1248EC00172BFC /* FolderCollectionViewCell.xib */; };
53F21F9B2C1377B900172BFC /* Tajawal-ExtraBold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 53F21F942C1377B900172BFC /* Tajawal-ExtraBold.ttf */; };
53F21F9C2C1377B900172BFC /* Tajawal-Light.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 53F21F952C1377B900172BFC /* Tajawal-Light.ttf */; };
53F21F9D2C1377B900172BFC /* Tajawal-Bold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 53F21F962C1377B900172BFC /* Tajawal-Bold.ttf */; };
53F21F9E2C1377B900172BFC /* Tajawal-ExtraLight.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 53F21F972C1377B900172BFC /* Tajawal-ExtraLight.ttf */; };
53F21F9F2C1377B900172BFC /* Tajawal-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 53F21F982C1377B900172BFC /* Tajawal-Regular.ttf */; };
53F21FA02C1377B900172BFC /* Tajawal-Medium.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 53F21F992C1377B900172BFC /* Tajawal-Medium.ttf */; };
53F21FA12C1377B900172BFC /* Tajawal-Black.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 53F21F9A2C1377B900172BFC /* Tajawal-Black.ttf */; };
EC0CF1FE254D8BBF00888722 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC0CF1FD254D8BBF00888722 /* AppDelegate.swift */; };
EC0CF200254D8BBF00888722 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC0CF1FF254D8BBF00888722 /* SceneDelegate.swift */; };
EC0CF207254D8BC000888722 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = EC0CF206254D8BC000888722 /* Assets.xcassets */; };
......@@ -159,6 +170,17 @@
53014F8A2C11A8E80071CE39 /* CaptureSession+Orientation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CaptureSession+Orientation.swift"; sourceTree = "<group>"; };
53014F8B2C11A8E80071CE39 /* CaptureSession.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CaptureSession.swift; sourceTree = "<group>"; };
53014F8C2C11A8E80071CE39 /* CaptureSession+Focus.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CaptureSession+Focus.swift"; sourceTree = "<group>"; };
53F21F892C1246AF00172BFC /* AllFolderTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AllFolderTableViewCell.swift; sourceTree = "<group>"; };
53F21F8A2C1246AF00172BFC /* AllFolderTableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AllFolderTableViewCell.xib; sourceTree = "<group>"; };
53F21F8F2C1248EC00172BFC /* FolderCollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FolderCollectionViewCell.swift; sourceTree = "<group>"; };
53F21F902C1248EC00172BFC /* FolderCollectionViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = FolderCollectionViewCell.xib; sourceTree = "<group>"; };
53F21F942C1377B900172BFC /* Tajawal-ExtraBold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Tajawal-ExtraBold.ttf"; sourceTree = "<group>"; };
53F21F952C1377B900172BFC /* Tajawal-Light.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Tajawal-Light.ttf"; sourceTree = "<group>"; };
53F21F962C1377B900172BFC /* Tajawal-Bold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Tajawal-Bold.ttf"; sourceTree = "<group>"; };
53F21F972C1377B900172BFC /* Tajawal-ExtraLight.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Tajawal-ExtraLight.ttf"; sourceTree = "<group>"; };
53F21F982C1377B900172BFC /* Tajawal-Regular.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Tajawal-Regular.ttf"; sourceTree = "<group>"; };
53F21F992C1377B900172BFC /* Tajawal-Medium.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Tajawal-Medium.ttf"; sourceTree = "<group>"; };
53F21F9A2C1377B900172BFC /* Tajawal-Black.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Tajawal-Black.ttf"; sourceTree = "<group>"; };
EC0CF1FA254D8BBF00888722 /* MiniScanner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MiniScanner.app; sourceTree = BUILT_PRODUCTS_DIR; };
EC0CF1FD254D8BBF00888722 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
EC0CF1FF254D8BBF00888722 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = "<group>"; };
......@@ -207,7 +229,7 @@
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
53014F4B2C11A8E80071CE39 /* WeScan */ = {
53014F4B2C11A8E80071CE39 /* CustomWeScan */ = {
isa = PBXGroup;
children = (
53014F4C2C11A8E80071CE39 /* Localizable.strings */,
......@@ -222,7 +244,7 @@
53014F842C11A8E80071CE39 /* Protocols */,
53014F882C11A8E80071CE39 /* Session */,
);
path = WeScan;
path = CustomWeScan;
sourceTree = "<group>";
};
53014F522C11A8E80071CE39 /* Scan */ = {
......@@ -334,6 +356,47 @@
name = Frameworks;
sourceTree = "<group>";
};
53F21F862C12468900172BFC /* CustomCells */ = {
isa = PBXGroup;
children = (
53F21F8D2C1248C400172BFC /* AllFolderTableViewCell */,
);
path = CustomCells;
sourceTree = "<group>";
};
53F21F8D2C1248C400172BFC /* AllFolderTableViewCell */ = {
isa = PBXGroup;
children = (
53F21F8E2C1248D200172BFC /* CustomCells */,
53F21F892C1246AF00172BFC /* AllFolderTableViewCell.swift */,
53F21F8A2C1246AF00172BFC /* AllFolderTableViewCell.xib */,
);
path = AllFolderTableViewCell;
sourceTree = "<group>";
};
53F21F8E2C1248D200172BFC /* CustomCells */ = {
isa = PBXGroup;
children = (
53F21F8F2C1248EC00172BFC /* FolderCollectionViewCell.swift */,
53F21F902C1248EC00172BFC /* FolderCollectionViewCell.xib */,
);
path = CustomCells;
sourceTree = "<group>";
};
53F21F932C1377B900172BFC /* Fonts */ = {
isa = PBXGroup;
children = (
53F21F942C1377B900172BFC /* Tajawal-ExtraBold.ttf */,
53F21F952C1377B900172BFC /* Tajawal-Light.ttf */,
53F21F962C1377B900172BFC /* Tajawal-Bold.ttf */,
53F21F972C1377B900172BFC /* Tajawal-ExtraLight.ttf */,
53F21F982C1377B900172BFC /* Tajawal-Regular.ttf */,
53F21F992C1377B900172BFC /* Tajawal-Medium.ttf */,
53F21F9A2C1377B900172BFC /* Tajawal-Black.ttf */,
);
path = Fonts;
sourceTree = "<group>";
};
EC0CF1F1254D8BBF00888722 = {
isa = PBXGroup;
children = (
......@@ -386,6 +449,7 @@
EC8A9B06254DC2EE00F9AF99 /* Documents */ = {
isa = PBXGroup;
children = (
53F21F862C12468900172BFC /* CustomCells */,
EC8A9B1C254DCEC600F9AF99 /* File.swift */,
EC0CF217254D8DF200888722 /* Documents.storyboard */,
EC8A9B1F254DDC3400F9AF99 /* DocumentsTableViewCell.swift */,
......@@ -422,7 +486,8 @@
EC8A9B0C254DC30800F9AF99 /* Supporting Files */ = {
isa = PBXGroup;
children = (
53014F4B2C11A8E80071CE39 /* WeScan */,
53F21F932C1377B900172BFC /* Fonts */,
53014F4B2C11A8E80071CE39 /* CustomWeScan */,
EC0CF206254D8BC000888722 /* Assets.xcassets */,
EC0CF1FD254D8BBF00888722 /* AppDelegate.swift */,
EC0CF1FF254D8BBF00888722 /* SceneDelegate.swift */,
......@@ -534,21 +599,30 @@
53014FAD2C11A8E80071CE39 /* rotate.png in Resources */,
53014FB02C11A8E80071CE39 /* flashUnavailable@2x.png in Resources */,
EC702543254E1E7500BE1958 /* WalkthroughViewController.xib in Resources */,
53F21FA12C1377B900172BFC /* Tajawal-Black.ttf in Resources */,
53F21F8C2C1246AF00172BFC /* AllFolderTableViewCell.xib in Resources */,
53F21FA02C1377B900172BFC /* Tajawal-Medium.ttf in Resources */,
53014FAC2C11A8E80071CE39 /* rotate@3x.png in Resources */,
EC0CF20A254D8BC000888722 /* LaunchScreen.storyboard in Resources */,
53014FAB2C11A8E80071CE39 /* flash.png in Resources */,
53F21F9B2C1377B900172BFC /* Tajawal-ExtraBold.ttf in Resources */,
EC0CF218254D8DF200888722 /* Documents.storyboard in Resources */,
53F21F9C2C1377B900172BFC /* Tajawal-Light.ttf in Resources */,
53014FB52C11A8E80071CE39 /* enhance@2x.png in Resources */,
53014FAE2C11A8E80071CE39 /* rotate@2x.png in Resources */,
53014FB32C11A8E80071CE39 /* flash@3x.png in Resources */,
53F21F9E2C1377B900172BFC /* Tajawal-ExtraLight.ttf in Resources */,
53014FB22C11A8E80071CE39 /* flashUnavailable@3x.png in Resources */,
53014FAF2C11A8E80071CE39 /* flash@2x.png in Resources */,
53F21F9F2C1377B900172BFC /* Tajawal-Regular.ttf in Resources */,
53014FB12C11A8E80071CE39 /* flashUnavailable.png in Resources */,
53014F8D2C11A8E80071CE39 /* Localizable.strings in Resources */,
EC702541254E1E7500BE1958 /* ClassicWalkthroughViewController.xib in Resources */,
53F21F922C1248EC00172BFC /* FolderCollectionViewCell.xib in Resources */,
ECA1FAA1254DEA6A0081F00B /* DocumentPreview.storyboard in Resources */,
53014FB62C11A8E80071CE39 /* enhance.png in Resources */,
53014FB42C11A8E80071CE39 /* enhance@3x.png in Resources */,
53F21F9D2C1377B900172BFC /* Tajawal-Bold.ttf in Resources */,
EC0CF207254D8BC000888722 /* Assets.xcassets in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
......@@ -588,6 +662,7 @@
53014FA92C11A8E80071CE39 /* QuadrilateralView.swift in Sources */,
EC702546254E1E9E00BE1958 /* WalkthroughModel.swift in Sources */,
53014F912C11A8E80071CE39 /* ShutterButton.swift in Sources */,
53F21F8B2C1246AF00172BFC /* AllFolderTableViewCell.swift in Sources */,
53014FBD2C11A8E80071CE39 /* CaptureSession+Focus.swift in Sources */,
53014F982C11A8E80071CE39 /* URL+Utils.swift in Sources */,
EC8A9B00254DBFC700F9AF99 /* UserDefaults+Extensions.swift in Sources */,
......@@ -619,6 +694,7 @@
53014F8E2C11A8E80071CE39 /* ImageScannerController.swift in Sources */,
EC70252B254E066400BE1958 /* SettingsTableViewCell.swift in Sources */,
EC8A9AD0254DB5A400F9AF99 /* AppTabBarController.swift in Sources */,
53F21F912C1248EC00172BFC /* FolderCollectionViewCell.swift in Sources */,
ECD43ED625A7BA9500B5A3F2 /* ThemeManager.swift in Sources */,
53014F9C2C11A8E80071CE39 /* CGRect+Utils.swift in Sources */,
53014FA12C11A8E80071CE39 /* MultiPageScanSessionViewController.swift in Sources */,
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array/>
</plist>
......@@ -3,4 +3,117 @@
uuid = "D33AC1E3-63DB-4EB0-8F0E-71361335BCD8"
type = "1"
version = "2.0">
<Breakpoints>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "37FD8431-0BDC-4C4D-9E3F-970150E09A93"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "MiniScanner/Modules/Documents/CustomCells/AllFolderTableViewCell/AllFolderTableViewCell.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "53"
endingLineNumber = "53"
landmarkName = "collectionView(_:cellForItemAt:)"
landmarkType = "7">
<Locations>
<Location
uuid = "37FD8431-0BDC-4C4D-9E3F-970150E09A93 - a4d5abeef222e8f1"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "MiniScanner.AllFolderTableViewCell.collectionView(_: __C.UICollectionView, cellForItemAt: Foundation.IndexPath) -&gt; __C.UICollectionViewCell"
moduleName = "MiniScanner"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/g.makhoul/Downloads/miniscanner-1.0.3(6)/MiniScanner/MiniScanner/Modules/Documents/CustomCells/AllFolderTableViewCell/AllFolderTableViewCell.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "57"
endingLineNumber = "57"
offsetFromSymbolStart = "820">
</Location>
<Location
uuid = "37FD8431-0BDC-4C4D-9E3F-970150E09A93 - a4d5abeef222e875"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "MiniScanner.AllFolderTableViewCell.collectionView(_: __C.UICollectionView, cellForItemAt: Foundation.IndexPath) -&gt; __C.UICollectionViewCell"
moduleName = "MiniScanner"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/g.makhoul/Downloads/miniscanner-1.0.3(6)/MiniScanner/MiniScanner/Modules/Documents/CustomCells/AllFolderTableViewCell/AllFolderTableViewCell.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "53"
endingLineNumber = "53"
offsetFromSymbolStart = "820">
</Location>
</Locations>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "2F53B704-9817-4CEA-8BA8-B5F04FB7260F"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "MiniScanner/Modules/Documents/CustomCells/AllFolderTableViewCell/AllFolderTableViewCell.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "51"
endingLineNumber = "51"
landmarkName = "collectionView(_:cellForItemAt:)"
landmarkType = "7">
<Locations>
<Location
uuid = "2F53B704-9817-4CEA-8BA8-B5F04FB7260F - a4d5abeef222e8b7"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "MiniScanner.AllFolderTableViewCell.collectionView(_: __C.UICollectionView, cellForItemAt: Foundation.IndexPath) -&gt; __C.UICollectionViewCell"
moduleName = "MiniScanner"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/g.makhoul/Downloads/miniscanner-1.0.3(6)/MiniScanner/MiniScanner/Modules/Documents/CustomCells/AllFolderTableViewCell/AllFolderTableViewCell.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "55"
endingLineNumber = "55"
offsetFromSymbolStart = "848">
</Location>
<Location
uuid = "2F53B704-9817-4CEA-8BA8-B5F04FB7260F - a4d5abeef222e8b7"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "MiniScanner.AllFolderTableViewCell.collectionView(_: __C.UICollectionView, cellForItemAt: Foundation.IndexPath) -&gt; __C.UICollectionViewCell"
moduleName = "MiniScanner"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/g.makhoul/Downloads/miniscanner-1.0.3(6)/MiniScanner/MiniScanner/Modules/Documents/CustomCells/AllFolderTableViewCell/AllFolderTableViewCell.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "55"
endingLineNumber = "55"
offsetFromSymbolStart = "168">
</Location>
<Location
uuid = "2F53B704-9817-4CEA-8BA8-B5F04FB7260F - a4d5abeef222e83b"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "MiniScanner.AllFolderTableViewCell.collectionView(_: __C.UICollectionView, cellForItemAt: Foundation.IndexPath) -&gt; __C.UICollectionViewCell"
moduleName = "MiniScanner"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/g.makhoul/Downloads/miniscanner-1.0.3(6)/MiniScanner/MiniScanner/Modules/Documents/CustomCells/AllFolderTableViewCell/AllFolderTableViewCell.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "51"
endingLineNumber = "51"
offsetFromSymbolStart = "168">
</Location>
</Locations>
</BreakpointContent>
</BreakpointProxy>
</Breakpoints>
</Bucket>
No preview for this file type
......@@ -118,9 +118,10 @@ class AppTabBar: UITabBar {
middleButton.contentVerticalAlignment = .fill
middleButton.contentHorizontalAlignment = .fill
middleButton.imageEdgeInsets = .zero
middleButton.frame.size = CGSize(width: 80, height: 80)
middleButton.layer.cornerRadius = 32
middleButton.frame.size = CGSize(width: 100, height: 100)
middleButton.layer.masksToBounds = true
middleButton.layer.cornerRadius = 50
middleButton.center = CGPoint(x: UIScreen.main.bounds.width / 2, y: 0)
middleButton.addTarget(self, action: #selector(buttonPressed), for: .touchUpInside)
addSubview(middleButton)
......@@ -143,19 +144,20 @@ class AppTabBar: UITabBar {
}
private func createPath() -> CGPath {
let height: CGFloat = 37.0
let height: CGFloat = 120
let path = UIBezierPath()
let centerWidth = self.frame.width / 2
path.move(to: CGPoint(x: 0, y: 0)) // start top left
path.addLine(to: CGPoint(x: (centerWidth - height-20), y: 0)) // the beginning of the trough
path.addCurve(to: CGPoint(x: centerWidth, y: -height-5),
controlPoint1: CGPoint(x: (centerWidth - 40), y: 0), controlPoint2: CGPoint(x: centerWidth-50, y: -height))
path.move(to: CGPoint(x: 0, y: 0)) // start top left
path.addLine(to: CGPoint(x: (centerWidth - height * 0.5), y: 0)) // the beginning of the trough
path.addCurve(to: CGPoint(x: (centerWidth + height+20), y: 0),
controlPoint1: CGPoint(x: centerWidth+50, y:-height), controlPoint2: CGPoint(x: (centerWidth + 40), y: 0))
path.addArc(withCenter: CGPoint(x: centerWidth, y: 0),
radius: height * 0.5,
startAngle: CGFloat.pi,
endAngle: 0,
clockwise: false)
path.addLine(to: CGPoint(x: (centerWidth + height * 0.5), y: 0))
path.addLine(to: CGPoint(x: self.frame.width, y: 0))
path.addLine(to: CGPoint(x: self.frame.width, y: self.frame.height))
path.addLine(to: CGPoint(x: 0, y: self.frame.height))
......
......@@ -26,6 +26,16 @@ class LocalFileManager {
return iFinderURL
}
var scannerBatchURL: URL {
let iFinderURL = documentsURL.appendingPathComponent(AppConfigurator.BatchesFolderName, isDirectory: true)
/// Check if file not exist and create
if !filesManager.fileExists(atPath: iFinderURL.path) {
try? filesManager.createDirectory(at: iFinderURL, withIntermediateDirectories: true, attributes: nil)
}
return iFinderURL
}
/// Mapped for case insensitivity
var excludesFileExtensions: [String]? {
get {
......
......@@ -37,7 +37,7 @@ class PDFManager {
}
class func createPDFDocument(from image: UIImage, localFileManager: LocalFileManager?) {
guard let scannerURL = localFileManager?.scannerURL else { return }
guard let scannerURL = localFileManager?.scannerBatchURL else { return }
let urlPDFtoSave = scannerURL.appendingPathComponent(String.getDocumentName())
let document = PDFDocument()
......
//
// AllFolderTableViewCell.swift
// MiniScanner
//
// Created by George Makhoul on 06/06/2024.
// Copyright © 2024 AppsNectar. All rights reserved.
//
import UIKit
final class AllFolderTableViewCell: UIView {
// MARK: - Outlets
@IBOutlet weak var collectionView: UICollectionView!
// MARK: - Properties
// MARK: - LifeCycle
override func awakeFromNib() {
super.awakeFromNib()
setupCollectionView()
}
private func setupCollectionView() {
let layout = UICollectionViewFlowLayout()
layout.scrollDirection = .horizontal
layout.minimumLineSpacing = 10
layout.minimumInteritemSpacing = 10
self.collectionView.collectionViewLayout = layout
self.collectionView.delegate = self
self.collectionView.dataSource = self
self.collectionView.register(UINib(nibName: "FolderCollectionViewCell", bundle: nil), forCellWithReuseIdentifier: "FolderCollectionViewCell")
self.collectionView.reloadData()
}
}
extension AllFolderTableViewCell: UICollectionViewDelegateFlowLayout {
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
let itemHeight = collectionView.frame.height / 2.2
let itemWidth = collectionView.frame.width / 2
return CGSize(width: itemWidth, height: itemHeight)
}
}
extension AllFolderTableViewCell: UICollectionViewDelegate, UICollectionViewDataSource {
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
5
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
if let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "FolderCollectionViewCell", for: indexPath) as? FolderCollectionViewCell {
cell.set(title: "title \(indexPath.row)")
return cell
}
return UICollectionViewCell()
}
}
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="22155" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina6_12" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22131"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="System colors in document resources" minToolsVersion="11.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<view contentMode="scaleToFill" id="IMm-Qg-H9R" customClass="AllFolderTableViewCell" customModule="MiniScanner" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="335" height="323"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="none" translatesAutoresizingMaskIntoConstraints="NO" id="ATv-Qf-nQ6">
<rect key="frame" x="12" y="60" width="323" height="251"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
<collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="10" minimumInteritemSpacing="10" id="i3d-3v-3An">
<size key="itemSize" width="128" height="128"/>
<size key="headerReferenceSize" width="0.0" height="0.0"/>
<size key="footerReferenceSize" width="0.0" height="0.0"/>
<inset key="sectionInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/>
</collectionViewFlowLayout>
</collectionView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Folders" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="k4D-XM-uc5">
<rect key="frame" x="12" y="12" width="65" height="36"/>
<fontDescription key="fontDescription" type="system" pointSize="20"/>
<color key="textColor" red="0.68235294117647061" green="0.69411764705882351" blue="0.74117647058823533" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="RpH-94-tHk">
<rect key="frame" x="227" y="12" width="96" height="36"/>
<fontDescription key="fontDescription" type="system" pointSize="20"/>
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
<state key="normal" title="Add Folder">
<color key="titleColor" red="0.12156862745098039" green="0.52549019607843139" blue="1" alpha="1" colorSpace="calibratedRGB"/>
</state>
</button>
</subviews>
<viewLayoutGuide key="safeArea" id="dvn-eZ-g5z"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
<constraints>
<constraint firstItem="k4D-XM-uc5" firstAttribute="centerY" secondItem="RpH-94-tHk" secondAttribute="centerY" id="7V5-HZ-Cq4"/>
<constraint firstAttribute="trailing" secondItem="RpH-94-tHk" secondAttribute="trailing" constant="12" id="8H6-Ak-KSi"/>
<constraint firstItem="ATv-Qf-nQ6" firstAttribute="top" secondItem="RpH-94-tHk" secondAttribute="bottom" constant="12" id="Puk-Ig-Ane"/>
<constraint firstItem="k4D-XM-uc5" firstAttribute="top" secondItem="IMm-Qg-H9R" secondAttribute="top" constant="12" id="Ttt-x2-9hA"/>
<constraint firstItem="ATv-Qf-nQ6" firstAttribute="leading" secondItem="dvn-eZ-g5z" secondAttribute="leading" constant="12" id="XRa-yE-Yse"/>
<constraint firstItem="RpH-94-tHk" firstAttribute="top" secondItem="IMm-Qg-H9R" secondAttribute="top" constant="12" id="ZY4-kh-dfD"/>
<constraint firstItem="k4D-XM-uc5" firstAttribute="leading" secondItem="IMm-Qg-H9R" secondAttribute="leading" constant="12" id="b1E-9T-Z5P"/>
<constraint firstAttribute="bottom" secondItem="ATv-Qf-nQ6" secondAttribute="bottom" constant="12" id="b4H-WU-jSp"/>
<constraint firstItem="dvn-eZ-g5z" firstAttribute="trailing" secondItem="ATv-Qf-nQ6" secondAttribute="trailing" id="esV-e5-Agm"/>
</constraints>
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
<connections>
<outlet property="collectionView" destination="ATv-Qf-nQ6" id="b8i-fA-6g6"/>
</connections>
<point key="canvasLocation" x="148.85496183206106" y="308.80281690140845"/>
</view>
</objects>
<resources>
<systemColor name="systemBackgroundColor">
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</systemColor>
</resources>
</document>
//
// FolderCollectionViewCell.swift
// MiniScanner
//
// Created by George Makhoul on 06/06/2024.
// Copyright © 2024 AppsNectar. All rights reserved.
//
import UIKit
class FolderCollectionViewCell: UICollectionViewCell {
// MARK: - Outlets
@IBOutlet weak var boxView: UIView!
@IBOutlet weak var titleLabel: UILabel!
// MARK: - Properties
// MARK: - LifeCycle
override func awakeFromNib() {
super.awakeFromNib()
setupUI()
}
private func setupUI() {
boxView.layer.cornerRadius = 10
boxView.layer.shadowColor = UIColor.gray.cgColor
boxView.layer.shadowOffset = CGSize(width: 0, height: 2) // Shadow position
boxView.layer.shadowOpacity = 0.7 // Shadow opacity
boxView.layer.shadowRadius = 4.0
boxView.backgroundColor = .white // or any non-clear color
boxView.clipsToBounds = false
}
func set(title: String) {
self.titleLabel.text = title
}
}
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="22155" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina6_12" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22131"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="System colors in document resources" minToolsVersion="11.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="FolderCollectionViewCell" id="gTV-IL-0wX" customClass="FolderCollectionViewCell" customModule="MiniScanner" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="218" height="51"/>
<autoresizingMask key="autoresizingMask"/>
<view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
<rect key="frame" x="0.0" y="0.0" width="218" height="51"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="yLC-Fk-FwR">
<rect key="frame" x="5" y="5" width="208" height="41"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="D7K-ZB-UlJ">
<rect key="frame" x="5" y="5" width="198" height="31"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
<constraints>
<constraint firstAttribute="bottom" secondItem="D7K-ZB-UlJ" secondAttribute="bottom" constant="5" id="24v-2D-M4k"/>
<constraint firstItem="D7K-ZB-UlJ" firstAttribute="top" secondItem="yLC-Fk-FwR" secondAttribute="top" constant="5" id="61w-s3-ojR"/>
<constraint firstItem="D7K-ZB-UlJ" firstAttribute="leading" secondItem="yLC-Fk-FwR" secondAttribute="leading" constant="5" id="EIl-rx-0Rh"/>
<constraint firstAttribute="trailing" secondItem="D7K-ZB-UlJ" secondAttribute="trailing" constant="5" id="Vjk-bg-gFN"/>
</constraints>
</view>
</subviews>
</view>
<viewLayoutGuide key="safeArea" id="ZTg-uK-7eu"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="trailing" secondItem="yLC-Fk-FwR" secondAttribute="trailing" constant="5" id="Tqy-Hv-2JL"/>
<constraint firstItem="yLC-Fk-FwR" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" constant="5" id="aYS-RK-wgU"/>
<constraint firstItem="yLC-Fk-FwR" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" constant="5" id="mKT-ym-FYc"/>
<constraint firstAttribute="bottom" secondItem="yLC-Fk-FwR" secondAttribute="bottom" constant="5" id="xkr-S4-MSG"/>
</constraints>
<size key="customSize" width="218" height="51"/>
<connections>
<outlet property="boxView" destination="yLC-Fk-FwR" id="fP8-gO-B1P"/>
<outlet property="titleLabel" destination="D7K-ZB-UlJ" id="ymJ-OO-6sG"/>
</connections>
<point key="canvasLocation" x="174.04580152671755" y="61.619718309859159"/>
</collectionViewCell>
</objects>
<resources>
<systemColor name="systemBackgroundColor">
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</systemColor>
</resources>
</document>
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="17701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="NRZ-n7-XkU">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="22155" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="NRZ-n7-XkU">
<device id="retina6_1" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="17703"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22131"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="System colors in document resources" minToolsVersion="11.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
......@@ -19,7 +19,7 @@
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
<prototypes>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="DocumentsTableViewCell" rowHeight="89" id="Mdk-jc-rWc" customClass="DocumentsTableViewCell" customModule="MiniScanner" customModuleProvider="target">
<rect key="frame" x="0.0" y="28" width="414" height="89"/>
<rect key="frame" x="0.0" y="50" width="414" height="89"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="Mdk-jc-rWc" id="4dt-n0-cfY">
<rect key="frame" x="0.0" y="0.0" width="414" height="89"/>
......@@ -134,7 +134,7 @@
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
<prototypes>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="SettingsTableViewCell" rowHeight="50" id="1SO-UK-YpT" customClass="SettingsTableViewCell" customModule="MiniScanner" customModuleProvider="target">
<rect key="frame" x="0.0" y="28" width="414" height="50"/>
<rect key="frame" x="0.0" y="50" width="414" height="50"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="1SO-UK-YpT" id="n7G-Id-eYr">
<rect key="frame" x="0.0" y="0.0" width="414" height="50"/>
......@@ -200,26 +200,27 @@
<tabBar key="tabBar" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" itemPositioning="fill" id="UOw-xw-62P" customClass="AppTabBar" customModule="MiniScanner" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="1000" height="1000"/>
<autoresizingMask key="autoresizingMask"/>
<color key="tintColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<color key="barTintColor" systemColor="systemBackgroundColor"/>
</tabBar>
<connections>
<segue destination="cKa-08-wzp" kind="relationship" relationship="viewControllers" id="smJ-BA-5nz"/>
<segue destination="X96-Kr-3o1" kind="relationship" relationship="viewControllers" id="mEc-1I-9A0"/>
<segue destination="OGd-a1-RyU" kind="relationship" relationship="viewControllers" id="A2s-tX-G5V"/>
<segue destination="cKa-08-wzp" kind="relationship" relationship="viewControllers" id="cmG-E6-cLT"/>
<segue destination="X96-Kr-3o1" kind="relationship" relationship="viewControllers" id="wZA-Em-Yv2"/>
<segue destination="OGd-a1-RyU" kind="relationship" relationship="viewControllers" id="cRB-zr-FXl"/>
</connections>
</tabBarController>
<placeholder placeholderIdentifier="IBFirstResponder" id="OcG-fV-cWh" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="100" y="175"/>
</scene>
<!--Documents-->
<!--Base Navigation View Controller-->
<scene sceneID="0Jn-Mr-Pmn">
<objects>
<navigationController automaticallyAdjustsScrollViewInsets="NO" id="cKa-08-wzp" customClass="BaseNavigationViewController" customModule="MiniScanner" customModuleProvider="target" sceneMemberID="viewController">
<tabBarItem key="tabBarItem" title="Documents" image="folder" catalog="system" id="AZk-pC-62k"/>
<tabBarItem key="tabBarItem" title="" image="Files" id="AZk-pC-62k"/>
<toolbarItems/>
<navigationBar key="navigationBar" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" id="GtO-Qf-J4v">
<rect key="frame" x="0.0" y="44" width="414" height="44"/>
<rect key="frame" x="0.0" y="48" width="414" height="44"/>
<autoresizingMask key="autoresizingMask"/>
</navigationBar>
<nil name="viewControllers"/>
......@@ -231,14 +232,14 @@
</objects>
<point key="canvasLocation" x="1124.6376811594205" y="-98.4375"/>
</scene>
<!--Settings-->
<!--Navigation Controller-->
<scene sceneID="uqv-8W-A0Z">
<objects>
<navigationController automaticallyAdjustsScrollViewInsets="NO" id="OGd-a1-RyU" sceneMemberID="viewController">
<tabBarItem key="tabBarItem" title="Settings" image="settings" id="zH9-VT-a3h"/>
<tabBarItem key="tabBarItem" title="" image="Gallery" id="zH9-VT-a3h"/>
<toolbarItems/>
<navigationBar key="navigationBar" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" id="HL0-yh-IYt">
<rect key="frame" x="0.0" y="44" width="414" height="44"/>
<rect key="frame" x="0.0" y="48" width="414" height="44"/>
<autoresizingMask key="autoresizingMask"/>
</navigationBar>
<nil name="viewControllers"/>
......@@ -252,8 +253,8 @@
</scene>
</scenes>
<resources>
<image name="folder" catalog="system" width="128" height="97"/>
<image name="settings" width="24" height="24"/>
<image name="Files" width="46" height="47"/>
<image name="Gallery" width="35" height="34"/>
<systemColor name="systemBackgroundColor">
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</systemColor>
......
......@@ -24,14 +24,15 @@ final class DocumentsTableViewController: UITableViewController {
private var localFileManager: LocalFileManager?
private var sortType: SortyFileType = .date
private let noDocumentsimageView = UIImageView(image: UIImage(named: "box"))
// private let noDocumentsimageView = UIImageView(image: UIImage(named: "box"))
private var renameAlertController: UIAlertController?
private var renameFileName: String?
override func viewDidLoad() {
super.viewDidLoad()
navigationItem.title = Constants.title
navigationItem.title = "File Manager"
tableView.tableFooterView = UIView()
localFileManager = LocalFileManager()
tabBarController?.delegate = UIApplication.shared.delegate as? UITabBarControllerDelegate
......@@ -42,19 +43,6 @@ final class DocumentsTableViewController: UITableViewController {
NotificationCenter.default.addObserver(self, selector: #selector(fetchViewModels),
name: NSNotification.Name.ReloadViewModels, object: nil)
if let view = navigationController?.view {
noDocumentsimageView.translatesAutoresizingMaskIntoConstraints = false
noDocumentsimageView.contentMode = .scaleAspectFit
view.addSubview(noDocumentsimageView)
NSLayoutConstraint.activate([
noDocumentsimageView.topAnchor.constraint(equalTo: view.topAnchor, constant: Constants.topBottom),
noDocumentsimageView.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: -Constants.topBottom),
noDocumentsimageView.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: Constants.margin),
noDocumentsimageView.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -Constants.margin)
])
}
if UserDefaults.standard.startsAppWithCamera {
openCamera()
}
......@@ -75,12 +63,6 @@ final class DocumentsTableViewController: UITableViewController {
let viewModels = localFileManager?.filesForDirectory(directoryURL, sortType: sortType) else { return }
self.viewModels = viewModels
tableView.reloadData()
if viewModels.isEmpty {
noDocumentsimageView.isHidden = false
} else {
noDocumentsimageView.isHidden = true
}
}
// MARK: - Table view data source
......@@ -95,6 +77,17 @@ final class DocumentsTableViewController: UITableViewController {
return viewModels.count
}
override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let nib = UINib(nibName: "AllFolderTableViewCell", bundle: nil)
let header = nib.instantiate(withOwner: nil, options: nil).first as? AllFolderTableViewCell
return header
}
override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
220
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
guard let cell = tableView.dequeueReusableCell(withIdentifier: Constants.cellReuseIdentifier,
for: indexPath) as? DocumentsTableViewCell else { return UITableViewCell() }
......@@ -104,6 +97,7 @@ final class DocumentsTableViewController: UITableViewController {
cell.configure(with: viewModel, image: localFileManager?.getThumbnail(for: viewModel.fileURL))
return cell
}
override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
......@@ -261,9 +255,9 @@ final class DocumentsTableViewController: UITableViewController {
} catch {
return
}
if self.viewModels.isEmpty {
self.noDocumentsimageView.isHidden = false
}
// if self.viewModels.isEmpty {
// self.noDocumentsimageView.isHidden = false
// }
}
}
......
......@@ -12,7 +12,6 @@ final class SettingsViewController: UITableViewController {
}
private func setupViewModels() {
title = "Settings".localized
navigationController?.navigationBar.prefersLargeTitles = true
let isPhotoEditing = { isEditing in
......
No preview for this file type
......@@ -35,6 +35,7 @@ struct AppConfigurator {
}
static let DocumentsFolderName = "ScannerApp"
static let BatchesFolderName = "Batches"
static let ThumbnailsFolderName = ".ThumbnailImages"
}
......
No preview for this file type
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "library_svgrepo.com.svg",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment