Browse Source

Merge branch 'develop_2025' of git.kdan.cc:Mac_PDF/PDF_Office into develop_2025

niehaoyu 4 months ago
parent
commit
639dc2f908

+ 34 - 22
PDF Office/PDF Master/KMClass/KMHomeViewController/Views/KMHomeQuickTools/KMNHomeQuickToolManager.swift

@@ -132,33 +132,19 @@ class KMNHomeQuickToolManager: NSObject {
         }
     }
     
+    var fullToolsItemMutableArray: [Int] = [] {
+        didSet {
+            UserDefaults.standard.set(fullToolsItemMutableArray, forKey: "kmnHomeQucikToolsFullItemsArrayKey")
+            UserDefaults.standard.synchronize()
+        }
+    }
+    
     var collapseTools: Bool = false {
         didSet {
             UserDefaults.standard.set(collapseTools ? "1":"0", forKey: "quickToolsCollapseKey")
             UserDefaults.standard.synchronize()
         }
     }
-    
-    lazy var fullToolsItemMutableArray: [Int] = {
-        return [HomeQuickToolType.Batch.rawValue,
-                HomeQuickToolType.MergePDF.rawValue,
-                HomeQuickToolType.ImageToPDF.rawValue,
-                HomeQuickToolType.OCR.rawValue,
-                HomeQuickToolType.ConvertPDF.rawValue,
-                HomeQuickToolType.PDFToWord.rawValue,
-                HomeQuickToolType.PDFToExcel.rawValue,
-                HomeQuickToolType.Compression.rawValue,
-                HomeQuickToolType.PDFToPPT.rawValue,
-                HomeQuickToolType.Security.rawValue,
-                HomeQuickToolType.FileCompare.rawValue,
-
-                HomeQuickToolType.Watermark.rawValue,
-                HomeQuickToolType.Insert.rawValue,
-                HomeQuickToolType.Extract.rawValue,
-                HomeQuickToolType.DigitalSignature.rawValue,
-                HomeQuickToolType.Print.rawValue]
-    }()
-
 
     static let defaultManager: KMNHomeQuickToolManager = {
         let singleton = KMNHomeQuickToolManager()
@@ -180,7 +166,7 @@ class KMNHomeQuickToolManager: NSObject {
                                           HomeQuickToolType.PDFToWord.rawValue,
                                           HomeQuickToolType.PDFToExcel.rawValue,
                                           HomeQuickToolType.Compression.rawValue]
-            UserDefaults.standard.set(quickToolsItemMutableArray, forKey: "kmnHomeQucikToolsItemArrayKey")
+            UserDefaults.standard.set(quickToolsItemMutableArray, forKey: key)
             UserDefaults.standard.synchronize()
         }
         
@@ -191,6 +177,32 @@ class KMNHomeQuickToolManager: NSObject {
             UserDefaults.standard.setValue(collapseTools ? "1" : "0", forKey: "quickToolsCollapseKey")
             UserDefaults.standard.synchronize()
         }
+        
+        let fullKey = "kmnHomeQucikToolsFullItemsArrayKey"
+        if UserDefaults.standard.object(forKey: fullKey) != nil {
+            fullToolsItemMutableArray = UserDefaults.standard.array(forKey: fullKey) as? [Int] ?? []
+        } else {
+            fullToolsItemMutableArray = [HomeQuickToolType.Batch.rawValue,
+                                          HomeQuickToolType.MergePDF.rawValue,
+                                          HomeQuickToolType.ImageToPDF.rawValue,
+                                          HomeQuickToolType.OCR.rawValue,
+                                          HomeQuickToolType.ConvertPDF.rawValue,
+                                          HomeQuickToolType.PDFToWord.rawValue,
+                                          HomeQuickToolType.PDFToExcel.rawValue,
+                                          HomeQuickToolType.Compression.rawValue,
+                                          HomeQuickToolType.PDFToPPT.rawValue,
+                                          HomeQuickToolType.Security.rawValue,
+                                          HomeQuickToolType.FileCompare.rawValue,
+
+                                          HomeQuickToolType.Watermark.rawValue,
+                                          HomeQuickToolType.Insert.rawValue,
+                                          HomeQuickToolType.Extract.rawValue,
+                                          HomeQuickToolType.DigitalSignature.rawValue,
+                                          HomeQuickToolType.Print.rawValue]
+            
+            UserDefaults.standard.set(fullToolsItemMutableArray, forKey: fullKey)
+            UserDefaults.standard.synchronize()
+        }
     }
     
 }

+ 21 - 0
PDF Office/PDF Master/KMClass/KMHomeViewController/Views/KMHomeQuickTools/KMNQuickToolCollectionViewItem.swift

@@ -49,6 +49,8 @@ class KMNQuickToolCollectionViewItem: NSCollectionViewItem, ComponentCardPDFTool
     override func viewDidLoad() {
         super.viewDidLoad()
         
+        self.view.wantsLayer = true
+        
         itemCardView.delegate = self
          
         tagView.properties = ComponentTagProperty(tagType: .mark_New, size: .m, text: KMLocalizedString("new"))
@@ -71,3 +73,22 @@ class KMNQuickToolCollectionViewItem: NSCollectionViewItem, ComponentCardPDFTool
     }
     
 }
+
+extension NSView {
+    func shakeAnimation() {
+        let shake = CAKeyframeAnimation(keyPath: "position")
+        shake.values = [
+            NSValue(point: CGPoint(x: self.bounds.origin.x - 5, y: self.bounds.origin.y)),
+            NSValue(point: CGPoint(x: self.bounds.origin.x + 5, y: self.bounds.origin.y)),
+            NSValue(point: CGPoint(x: self.bounds.origin.x - 5, y: self.bounds.origin.y)),
+            NSValue(point: CGPoint(x: self.bounds.origin.x + 5, y: self.bounds.origin.y)),
+            NSValue(point: CGPoint(x: self.bounds.origin.x, y: self.bounds.origin.y))
+        ]
+        shake.keyTimes = [0, 0.25, 0.5, 0.75, 1]
+        shake.duration = 0.5
+        shake.isAdditive = true
+        shake.timingFunctions = [CAMediaTimingFunction(name: .easeInEaseOut)]
+        
+        self.layer?.add(shake, forKey: "shake")
+    }
+}

+ 85 - 20
PDF Office/PDF Master/KMClass/KMHomeViewController/Views/KMHomeQuickTools/KMNQuickToolWindowController.swift

@@ -37,9 +37,11 @@ class KMNQuickToolWindowController: NSWindowController, NSCollectionViewDelegate
     private var handler: ((String?) -> Void)!
     
     var quickToolsItemMutableArray: [Int] = []
+        
+    var draggedItemIndexPath: IndexPath?
     
-    var indexPathsOfItemsBeingShowItemDragged: Set<IndexPath> = []
-       
+    var changeIndexPaths: Set<IndexPath> = []
+
     lazy var showDates: [KMNHomeQuickToolMode] = {
         var fullDatas: [KMNHomeQuickToolMode] = []
         for itemRaw in KMNHomeQuickToolManager.defaultManager.fullToolsItemMutableArray {
@@ -63,9 +65,13 @@ class KMNQuickToolWindowController: NSWindowController, NSCollectionViewDelegate
         
         showCollectionView.delegate = self
         showCollectionView.dataSource = self
-        showCollectionView.isSelectable = true
+        showCollectionView.isSelectable = true //支持拖拽需设置未True
                 
         showCollectionView.register(KMNQuickToolCollectionViewItem.self, forItemWithIdentifier: NSUserInterfaceItemIdentifier(rawValue: "KMNQuickToolShowCollectionViewItem"))
+        
+        showCollectionView.registerForDraggedTypes([.string])
+        showCollectionView.setDraggingSourceOperationMask(.every, forLocal: false)
+        showCollectionView.setDraggingSourceOperationMask(.every, forLocal: true)
     }
     
     func reloadData() {
@@ -123,6 +129,21 @@ class KMNQuickToolWindowController: NSWindowController, NSCollectionViewDelegate
             }
         }
     }
+
+    private func updateCellOpacity(at location: NSPoint, opacity: CGFloat) {
+        let pointInCollectionView = showCollectionView.convert(location, from: nil)
+        if let indexPath = showCollectionView.indexPathForItem(at: pointInCollectionView) {
+            if let item = showCollectionView.item(at: indexPath) as? KMNQuickToolCollectionViewItem {
+                item.view.alphaValue = opacity
+            }
+        }
+    }
+    
+    private func resetCellOpacity() {
+        for item in showCollectionView.visibleItems() {
+            item.view.alphaValue = 1.0
+        }
+    }
     
     //MARK: - Action
     @objc func cancelButtonClicked(_ sender: NSView) {
@@ -131,16 +152,21 @@ class KMNQuickToolWindowController: NSWindowController, NSCollectionViewDelegate
     
     @objc func applyButtonClicked(_ sender: NSView) {
         var seleteDatas:[Int] = []
+        var fullDatas:[Int] = []
+
         for i in 0 ... showDates.count-1 {
             let indexPath = NSIndexPath(forItem: i, inSection: 0)
             if let cell = showCollectionView.item(at: indexPath as IndexPath) as? KMNQuickToolCollectionViewItem {
                 if cell.itemCardView.properties.isSelected == true {
                     seleteDatas.append(cell.quickToolModel.quickToolType.rawValue)
                 }
+                fullDatas.append(cell.quickToolModel.quickToolType.rawValue)
             }
         }
         
         KMNHomeQuickToolManager.defaultManager.quickToolsItemMutableArray = seleteDatas
+        KMNHomeQuickToolManager.defaultManager.fullToolsItemMutableArray = fullDatas
+
         self.delegate?.quickToolWindowControllerUpdate()
         
         parentWindow?.endSheet(self.window!)
@@ -198,7 +224,7 @@ class KMNQuickToolWindowController: NSWindowController, NSCollectionViewDelegate
     }
     
     public func collectionView(_ collectionView: NSCollectionView, layout collectionViewLayout: NSCollectionViewLayout, insetForSectionAt section: Int) -> NSEdgeInsets {
-        return NSEdgeInsetsMake(0, 0, 0, 0)
+        return NSEdgeInsetsMake(0, 8, 0, 0)
     }
     
     //MARK: - NSCollectionViewDelegate
@@ -206,30 +232,69 @@ class KMNQuickToolWindowController: NSWindowController, NSCollectionViewDelegate
     func collectionView(_ collectionView: NSCollectionView, canDragItemsAt indexPaths: Set<IndexPath>, with event: NSEvent) -> Bool {
         return true
     }
-    
-    func collectionView(_ collectionView: NSCollectionView, draggingSession session: NSDraggingSession, endedAt screenPoint: NSPoint, dragOperation operation: NSDragOperation) {
-        
+
+    func collectionView(_ collectionView: NSCollectionView, pasteboardWriterForItemAt indexPath: IndexPath) -> NSPasteboardWriting? {
+        return String(indexPath.item) as NSPasteboardWriting
+    }
+
+    func collectionView(_ collectionView: NSCollectionView, validateDrop draggingInfo: NSDraggingInfo, proposedIndexPath proposedDropIndexPath: AutoreleasingUnsafeMutablePointer<NSIndexPath>, dropOperation proposedDropOperation: UnsafeMutablePointer<NSCollectionView.DropOperation>) -> NSDragOperation {
+        resetCellOpacity()
+        updateCellOpacity(at: draggingInfo.draggingLocation, opacity: 0.5)
+        return .move
     }
     
     func collectionView(_ collectionView: NSCollectionView, draggingSession session: NSDraggingSession, willBeginAt screenPoint: NSPoint, forItemsAt indexPaths: Set<IndexPath>) {
-        indexPathsOfItemsBeingShowItemDragged = indexPaths
+        draggedItemIndexPath = indexPaths.first
     }
-
     
-    func collectionView(_ collectionView: NSCollectionView, validateDrop info: NSDraggingInfo, proposedItem: NSCollectionViewItem?, proposedChildIndex index: Int) -> NSDragOperation {
-            return .move
+    func collectionView(_ collectionView: NSCollectionView, acceptDrop draggingInfo: NSDraggingInfo, indexPath: IndexPath, dropOperation: NSCollectionView.DropOperation) -> Bool {
+        let result = false
+        
+        let toItemIndex = indexPath.item
+        guard let fromItemIndex = draggedItemIndexPath?.item else {
+            return result
         }
-
-    func collectionView(_ collectionView: NSCollectionView, acceptDrop info: NSDraggingInfo, toItemAt indexPath: IndexPath?) -> Bool {
-        guard let draggingItem = info.draggingPasteboard.pasteboardItems?.first,
-              let sourceIndex = draggingItem.string(forType: .string),
-              let sourceIndexInt = Int(sourceIndex),
-              let destinationIndex = indexPath?.item else { return false }
         
-        let mode = showDates.remove(at: sourceIndexInt)
-        showDates.insert(mode, at: destinationIndex)
-        collectionView.animator().reloadData()
+        // 确保索引有效
+        if fromItemIndex < 0 || fromItemIndex >= showDates.count || toItemIndex < 0 || toItemIndex > showDates.count {
+            return result // 无效索引
+        }
+        var indexPaths: Set<IndexPath> = []
+
+        if dropOperation == .before {
+            let num = showDates[fromItemIndex]
+            showDates.insert(num, at: toItemIndex)
+            
+            if toItemIndex > fromItemIndex { // 向后移动
+                showDates.remove(at: fromItemIndex)
+            } else {
+                showDates.remove(at: fromItemIndex + 1)
+            }
+            
+            for i in min(fromItemIndex, toItemIndex)..<(max(fromItemIndex, toItemIndex)+1) {
+                indexPaths.insert(IndexPath(item: i, section: 0))
+            }
+            showCollectionView.reloadItems(at: indexPaths)
+        } else {
+            let fromIndexPath = IndexPath(item: fromItemIndex, section: 0)
+            indexPaths = [indexPath, fromIndexPath]
+            
+            showDates.swapAt(fromItemIndex, toItemIndex)
+            showCollectionView.reloadItems(at: indexPaths)
+        }
+        changeIndexPaths = indexPaths
         return true
     }
     
+    func collectionView(_ collectionView: NSCollectionView, draggingSession session: NSDraggingSession, endedAt screenPoint: NSPoint, dragOperation operation: NSDragOperation) {
+        for targetIndexPath in changeIndexPaths {
+            let targetItem = collectionView.item(at: targetIndexPath)
+            targetItem?.view.shakeAnimation()
+        }
+        
+        changeIndexPaths = []
+        resetCellOpacity()
+    }
+    
+    
 }

+ 21 - 21
PDF Office/PDF Master/KMClass/KMHomeViewController/Views/KMHomeQuickTools/KMNQuickToolWindowController.xib

@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22505" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21507" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
     <dependencies>
         <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22505"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21507"/>
         <capability name="Named colors" minToolsVersion="9.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
@@ -28,19 +28,19 @@
             <windowStyleMask key="styleMask" closable="YES" miniaturizable="YES" resizable="YES"/>
             <windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
             <rect key="contentRect" x="196" y="240" width="992" height="594"/>
-            <rect key="screenRect" x="0.0" y="0.0" width="1920" height="1055"/>
+            <rect key="screenRect" x="0.0" y="0.0" width="2560" height="1415"/>
             <view key="contentView" id="se5-gp-TjO">
                 <rect key="frame" x="0.0" y="0.0" width="890" height="404"/>
                 <autoresizingMask key="autoresizingMask"/>
                 <subviews>
                     <box boxType="custom" borderWidth="0.0" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="PzQ-6r-gIb">
-                        <rect key="frame" x="24" y="24" width="842" height="364"/>
+                        <rect key="frame" x="0.0" y="24" width="866" height="364"/>
                         <view key="contentView" id="XD9-Oh-u1l">
-                            <rect key="frame" x="0.0" y="0.0" width="842" height="364"/>
+                            <rect key="frame" x="0.0" y="0.0" width="866" height="364"/>
                             <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                             <subviews>
                                 <box boxType="custom" cornerRadius="5" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="WfX-Hc-I5n">
-                                    <rect key="frame" x="0.0" y="304" width="842" height="33"/>
+                                    <rect key="frame" x="24" y="304" width="842" height="33"/>
                                     <view key="contentView" id="3O4-nr-hIA">
                                         <rect key="frame" x="1" y="1" width="840" height="31"/>
                                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
@@ -53,7 +53,7 @@
                                                 </constraints>
                                                 <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="KMNImageNameQuickToolsHelp" id="1wA-8D-Jcg"/>
                                             </imageView>
-                                            <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="0ED-Jy-uWU">
+                                            <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="0ED-Jy-uWU">
                                                 <rect key="frame" x="22" y="8" width="812" height="15"/>
                                                 <textFieldCell key="cell" lineBreakMode="truncatingTail" title="Drag and drop to add, remove and reorder the tools." id="lQe-KS-C4c">
                                                     <font key="font" metaFont="cellTitle"/>
@@ -74,19 +74,19 @@
                                     <color key="fillColor" name="KM_D2D1D2_Color"/>
                                 </box>
                                 <box boxType="custom" borderWidth="0.0" cornerRadius="4" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="C5e-7T-r0t">
-                                    <rect key="frame" x="0.0" y="48" width="842" height="240"/>
+                                    <rect key="frame" x="0.0" y="48" width="866" height="240"/>
                                     <view key="contentView" id="Bex-Lq-nUJ">
-                                        <rect key="frame" x="0.0" y="0.0" width="842" height="240"/>
+                                        <rect key="frame" x="0.0" y="0.0" width="866" height="240"/>
                                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                         <subviews>
                                             <scrollView wantsLayer="YES" borderType="none" autohidesScrollers="YES" horizontalLineScroll="10" horizontalPageScroll="10" verticalLineScroll="10" verticalPageScroll="10" hasHorizontalScroller="NO" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="tHN-Oe-HB5">
-                                                <rect key="frame" x="0.0" y="0.0" width="842" height="240"/>
+                                                <rect key="frame" x="16" y="0.0" width="850" height="240"/>
                                                 <clipView key="contentView" id="BYI-tL-dNC">
-                                                    <rect key="frame" x="0.0" y="0.0" width="842" height="240"/>
+                                                    <rect key="frame" x="0.0" y="0.0" width="850" height="240"/>
                                                     <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                                     <subviews>
                                                         <collectionView id="wAw-Av-b3Z">
-                                                            <rect key="frame" x="0.0" y="0.0" width="842" height="240"/>
+                                                            <rect key="frame" x="0.0" y="0.0" width="850" height="240"/>
                                                             <autoresizingMask key="autoresizingMask" widthSizable="YES"/>
                                                             <collectionViewFlowLayout key="collectionViewLayout" minimumInteritemSpacing="10" minimumLineSpacing="10" id="0r2-LD-XQD">
                                                                 <size key="itemSize" width="50" height="50"/>
@@ -109,7 +109,7 @@
                                         <constraints>
                                             <constraint firstAttribute="trailing" secondItem="tHN-Oe-HB5" secondAttribute="trailing" id="6uI-ys-Jsq"/>
                                             <constraint firstAttribute="bottom" secondItem="tHN-Oe-HB5" secondAttribute="bottom" id="CNj-7J-Gje"/>
-                                            <constraint firstItem="tHN-Oe-HB5" firstAttribute="leading" secondItem="Bex-Lq-nUJ" secondAttribute="leading" id="cKK-CP-4Al"/>
+                                            <constraint firstItem="tHN-Oe-HB5" firstAttribute="leading" secondItem="Bex-Lq-nUJ" secondAttribute="leading" constant="16" id="cKK-CP-4Al"/>
                                             <constraint firstItem="tHN-Oe-HB5" firstAttribute="top" secondItem="Bex-Lq-nUJ" secondAttribute="top" id="l5c-fU-EXg"/>
                                         </constraints>
                                     </view>
@@ -118,21 +118,21 @@
                                     </constraints>
                                 </box>
                                 <customView translatesAutoresizingMaskIntoConstraints="NO" id="EqT-1m-hfn" customClass="ComponentButton" customModule="KMComponentLibrary">
-                                    <rect key="frame" x="780" y="0.0" width="62" height="32"/>
+                                    <rect key="frame" x="804" y="0.0" width="62" height="32"/>
                                     <constraints>
                                         <constraint firstAttribute="height" constant="32" id="OTA-GD-Fvs"/>
                                         <constraint firstAttribute="width" constant="62" id="fdc-3V-tDF"/>
                                     </constraints>
                                 </customView>
                                 <customView translatesAutoresizingMaskIntoConstraints="NO" id="AP7-0o-u2C" customClass="ComponentButton" customModule="KMComponentLibrary">
-                                    <rect key="frame" x="710" y="0.0" width="62" height="32"/>
+                                    <rect key="frame" x="734" y="0.0" width="62" height="32"/>
                                     <constraints>
                                         <constraint firstAttribute="height" constant="32" id="Dfu-Qc-NFu"/>
                                         <constraint firstAttribute="width" constant="62" id="vZ5-A8-cib"/>
                                     </constraints>
                                 </customView>
-                                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="WSN-lK-cnp">
-                                    <rect key="frame" x="-2" y="347" width="846" height="17"/>
+                                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="WSN-lK-cnp">
+                                    <rect key="frame" x="22" y="347" width="846" height="17"/>
                                     <textFieldCell key="cell" lineBreakMode="clipping" title="Manage Quick Tools" id="9yS-DW-MxA">
                                         <font key="font" metaFont="systemBold" size="14"/>
                                         <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -144,9 +144,9 @@
                                 <constraint firstItem="C5e-7T-r0t" firstAttribute="top" secondItem="WfX-Hc-I5n" secondAttribute="bottom" constant="16" id="0nU-p0-iKX"/>
                                 <constraint firstAttribute="trailing" secondItem="EqT-1m-hfn" secondAttribute="trailing" id="0sX-hV-vag"/>
                                 <constraint firstItem="C5e-7T-r0t" firstAttribute="leading" secondItem="XD9-Oh-u1l" secondAttribute="leading" id="5Er-FJ-LiM"/>
-                                <constraint firstItem="WSN-lK-cnp" firstAttribute="leading" secondItem="XD9-Oh-u1l" secondAttribute="leading" id="NLS-oP-mSz"/>
+                                <constraint firstItem="WSN-lK-cnp" firstAttribute="leading" secondItem="XD9-Oh-u1l" secondAttribute="leading" constant="24" id="NLS-oP-mSz"/>
                                 <constraint firstAttribute="bottom" secondItem="EqT-1m-hfn" secondAttribute="bottom" id="NbQ-HQ-IYt"/>
-                                <constraint firstItem="WfX-Hc-I5n" firstAttribute="leading" secondItem="XD9-Oh-u1l" secondAttribute="leading" id="OgG-eN-sBq"/>
+                                <constraint firstItem="WfX-Hc-I5n" firstAttribute="leading" secondItem="XD9-Oh-u1l" secondAttribute="leading" constant="24" id="OWM-7z-0FM"/>
                                 <constraint firstItem="WSN-lK-cnp" firstAttribute="top" secondItem="XD9-Oh-u1l" secondAttribute="top" id="Veb-Jg-dIj"/>
                                 <constraint firstItem="EqT-1m-hfn" firstAttribute="leading" secondItem="AP7-0o-u2C" secondAttribute="trailing" constant="8" id="bnC-rd-qMx"/>
                                 <constraint firstItem="WfX-Hc-I5n" firstAttribute="top" secondItem="WSN-lK-cnp" secondAttribute="bottom" constant="10" id="eV0-Gu-iab"/>
@@ -158,13 +158,13 @@
                             </constraints>
                         </view>
                         <constraints>
-                            <constraint firstAttribute="width" constant="842" id="ZbP-2p-xXv"/>
+                            <constraint firstAttribute="width" constant="866" id="ZbP-2p-xXv"/>
                         </constraints>
                     </box>
                 </subviews>
                 <constraints>
                     <constraint firstAttribute="bottom" secondItem="PzQ-6r-gIb" secondAttribute="bottom" constant="24" id="I8o-R4-2AL"/>
-                    <constraint firstItem="PzQ-6r-gIb" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="24" id="N6w-7n-och"/>
+                    <constraint firstItem="PzQ-6r-gIb" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" id="N6w-7n-och"/>
                     <constraint firstAttribute="trailing" secondItem="PzQ-6r-gIb" secondAttribute="trailing" constant="24" id="mN8-nz-apG"/>
                     <constraint firstItem="PzQ-6r-gIb" firstAttribute="top" secondItem="se5-gp-TjO" secondAttribute="top" constant="16" id="nbR-q9-B0o"/>
                 </constraints>