From 8a7b2f808552efdb556675681d3d59f9d7bfe959 Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 15 Oct 2013 00:26:57 +0200 Subject: [PATCH] Database settings now store and load color of db and compression algorithm Fixed wrong sort descriptor for modificationDate on entry view table --- HNHUi | 2 +- KeePassKit | 2 +- MacPass/DatabaseSettingsWindow.xib | 4686 ++---------------- MacPass/MPAttachmentTableDataSource.m | 53 +- MacPass/MPDatabaseSettingsWindowController.h | 2 + MacPass/MPDatabaseSettingsWindowController.m | 24 +- MacPass/MPEntryViewController.m | 2 +- 7 files changed, 533 insertions(+), 4238 deletions(-) diff --git a/HNHUi b/HNHUi index 7bf39a4b..435f37c2 160000 --- a/HNHUi +++ b/HNHUi @@ -1 +1 @@ -Subproject commit 7bf39a4be92cef2a9d4076ccd1612c92a8a0c01b +Subproject commit 435f37c2540bf66698eb66b6990343c35937eafb diff --git a/KeePassKit b/KeePassKit index 4ab74119..a232bbd6 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 4ab74119260df7ad62696d90939c46edd95eefa2 +Subproject commit a232bbd6017d0e7d5c6f1034c1001d4bc64bcc9e diff --git a/MacPass/DatabaseSettingsWindow.xib b/MacPass/DatabaseSettingsWindow.xib index bf1b227d..526a8944 100644 --- a/MacPass/DatabaseSettingsWindow.xib +++ b/MacPass/DatabaseSettingsWindow.xib @@ -1,4183 +1,503 @@ - - - - 1080 - 12E55 - 3084 - 1187.39 - 626.00 - - com.apple.InterfaceBuilder.CocoaPlugin - 3084 - - - IBNSLayoutConstraint - NSButton - NSButtonCell - NSColorWell - NSCustomObject - NSMenu - NSMenuItem - NSPopUpButton - NSPopUpButtonCell - NSScrollView - NSScroller - NSStepper - NSStepperCell - NSTabView - NSTabViewItem - NSTextField - NSTextFieldCell - NSTextView - NSView - NSWindowTemplate - - - com.apple.InterfaceBuilder.CocoaPlugin - - - PluginDependencyRecalculationVersion - - - - - MPDatabaseSettingsWindowController - - - FirstResponder - - - NSApplication - - - 7 - 2 - {{196, 240}, {546, 354}} - 1618477056 - Window - NSWindow - - - - - 256 - - - - 268 - {{473, 13}, {59, 32}} - - - _NS:9 - YES - - 67108864 - 134217728 - OK - - LucidaGrande - 13 - 1044 - - _NS:9 - - -2038284288 - 129 - - DQ - 200 - 25 - - NO - - - - 268 - {{13, 41}, {520, 307}} - - - - _NS:9 - - - 1 - - - 256 - - - - 268 - {{136, 209}, {280, 22}} - - - _NS:9 - YES - - -1804599231 - 272630784 - - - _NS:9 - - YES - - 6 - System - textBackgroundColor - - 3 - MQA - - - - 6 - System - textColor - - 3 - MAA - - - - NO - - - - 268 - {{50, 184}, {81, 17}} - - - _NS:1535 - YES - - 68157504 - 272630784 - Description: - - _NS:1535 - - - 6 - System - controlColor - - 3 - MC42NjY2NjY2NjY3AA - - - - 6 - System - controlTextColor - - - - NO - - - - 268 - {{25, 212}, {106, 17}} - - - _NS:1535 - YES - - 68157504 - 272630784 - Database name: - - _NS:1535 - - - - - NO - - - - 268 - {{134, 68}, {120, 26}} - - - _NS:9 - YES - - -2076180416 - 2048 - - _NS:9 - - 109199360 - 129 - - - 400 - 75 - - - None - - 1048576 - 2147483647 - 1 - - NSImage - NSMenuCheckmark - - - NSImage - NSMenuMixedState - - _popUpItemAction: - - - YES - - OtherViews - - - - - GZip - - 1048576 - 2147483647 - - - _popUpItemAction: - 1 - - - - - - -1 - 1 - YES - YES - 2 - - NO - - - - 268 - {{39, 73}, {92, 17}} - - - _NS:1535 - YES - - 68157504 - 272630784 - Compression: - - _NS:1535 - - - - - NO - - - - 268 - {{88, 31}, {43, 17}} - - - _NS:1535 - YES - - 68157504 - 272630784 - Color: - - _NS:1535 - - - - - NO - - - - 268 - - NSColor pasteboard type - - {{136, 28}, {44, 23}} - - - _NS:1116 - YES - NO - YES - - 1 - MC4wNTgxMzA0OTg5OCAwLjA1NTU0MTg5OTA2IDEAA - - - - - 256 - - - - 2304 - - - - 2322 - {278, 99} - - - _NS:13 - - - - - - - - - - - - 166 - - - - 278 - 1 - - - 67121127 - 0 - - - - - 6 - System - selectedTextBackgroundColor - - - - 6 - System - selectedTextColor - - - - - - - 1 - MCAwIDEAA - - - {8, -8} - 13 - - - - - - 1 - - 6 - {463, 10000000} - - - - {{1, 1}, {278, 99}} - - - _NS:11 - - - - {4, 5} - - 79691776 - - - - - - file://localhost/Applications/Xcode.app/Contents/SharedFrameworks/DVTKit.framework/Resources/DVTIbeamCursor.tiff - - - - - 3 - MCAwAA - - - - 4 - - - - 256 - {{263, 1}, {16, 99}} - - - _NS:83 - NO - - _doScroller: - 0.99137931034482762 - - - - -2147483392 - {{-100, -100}, {87, 18}} - - - _NS:33 - NO - 1 - - _doScroller: - 1 - 0.94565218687057495 - - - {{136, 100}, {280, 101}} - - - _NS:9 - 133138 - - - - 0.25 - 4 - 1 - - - {{10, 33}, {500, 261}} - - _NS:11 - - General - - - - - - - 256 - - - - 268 - {{184, 216}, {98, 18}} - - - - _NS:9 - YES - - -2080374784 - 268435456 - Protect Title - - _NS:9 - - 1211912448 - 2 - - NSImage - NSSwitch - - - NSSwitch - - - - 200 - 25 - - NO - - - - 268 - {{184, 187}, {133, 18}} - - - - _NS:9 - YES - - -2080374784 - 268435456 - Protect Username - - _NS:9 - - 1211912448 - 2 - - - - - 200 - 25 - - NO - - - - 268 - {{184, 158}, {130, 18}} - - - - _NS:9 - YES - - -2080374784 - 268435456 - Protect Password - - _NS:9 - - 1211912448 - 2 - - - - - 200 - 25 - - NO - - - - 268 - {{184, 129}, {95, 18}} - - - - _NS:9 - YES - - -2080374784 - 268435456 - Protect URL - - _NS:9 - - 1211912448 - 2 - - - - - 200 - 25 - - NO - - - - 268 - {{184, 100}, {107, 18}} - - - - _NS:9 - YES - - -2080374784 - 268435456 - Protect Notes - - _NS:9 - - 1211912448 - 2 - - - - - 200 - 25 - - NO - - - - 268 - {{29, 62}, {151, 17}} - - - - _NS:1535 - YES - - 68157504 - 272630784 - Key encryption rounds: - - _NS:1535 - - - - - NO - - - - 268 - {{185, 60}, {129, 22}} - - - - _NS:9 - YES - - -1804599231 - -1874852800 - - - _NS:9 - - YES - - - - NO - - - - 268 - {{185, 33}, {129, 19}} - - - - _NS:9 - YES - - -2080374784 - 134217728 - Benchmark - - LucidaGrande - 12 - 16 - - _NS:9 - - -2038153216 - 164 - - - 400 - 75 - - NO - - - {{10, 33}, {500, 261}} - - - - - Security - - - - - - - 256 - - - - 268 - {{70, 225}, {307, 18}} - - - _NS:9 - YES - - -1543503872 - 268435456 - Enable Entry History - - _NS:9 - - 1211912448 - 2 - - - - - 200 - 25 - - NO - - - - 268 - {{70, 126}, {138, 18}} - - - _NS:9 - YES - - -2080374784 - 268435456 - Enable Recycle Bin - - _NS:9 - - 1211912448 - 2 - - - - - 200 - 25 - - NO - - - - 268 - {{112, 103}, {187, 18}} - - - _NS:9 - YES - - -1543503872 - 268435456 - Empty Recycle Bin on Quit - - _NS:9 - - 1211912448 - 2 - - - - - 200 - 25 - - NO - - - - 268 - {{111, 202}, {98, 17}} - - - _NS:1535 - YES - - 605028416 - 272630784 - Maxium Items: - - _NS:1535 - - - - - NO - - - - 268 - {{214, 200}, {96, 22}} - - - _NS:9 - YES - - -1267728319 - 272630784 - - - _NS:9 - - YES - - - - NO - - - - 268 - {{315, 197}, {19, 27}} - - - _NS:1099 - YES - - 537657376 - 0 - _NS:1099 - - 100 - 1 - YES - - NO - - - - 268 - {{212, 122}, {220, 26}} - - - _NS:9 - {750, 750} - YES - - -2076180416 - 2048 - - _NS:9 - - 109199360 - 129 - - - 400 - 75 - - YES - - OtherViews - - - - -1 - 1 - YES - YES - 2 - - NO - - - - 268 - {{121, 169}, {88, 17}} - - - _NS:1535 - YES - - 605028416 - 272630784 - Maxium Size: - - _NS:1535 - - - - - NO - - - - 268 - {{214, 167}, {96, 22}} - - - _NS:9 - YES - - -1267728319 - 272630784 - - - _NS:9 - - YES - - - - NO - - - - 268 - {{315, 164}, {19, 27}} - - - _NS:1099 - YES - - 537657376 - 0 - _NS:1099 - - 100 - 1 - YES - - NO - - - - 268 - {{88, 66}, {121, 17}} - - _NS:1535 - YES - - 68157504 - 272630784 - Default Username: - - _NS:1535 - - - - - NO - - - - 268 - {{99, 37}, {110, 17}} - - - _NS:1535 - YES - - 68157504 - 272630784 - Template Group: - - _NS:1535 - - - - - NO - - - - 268 - {{214, 63}, {215, 22}} - - - _NS:9 - YES - - -1804599231 - 272630784 - - - _NS:9 - - YES - - - - NO - - - - 268 - {{212, 31}, {220, 27}} - - _NS:9 - YES - - -2076180416 - 2048 - - _NS:9 - - 109199360 - 129 - - - 400 - 75 - - - Item 1 - - 1048576 - 2147483647 - 1 - - - _popUpItemAction: - - - YES - - OtherViews - - - - - Item 2 - - 1048576 - 2147483647 - - - _popUpItemAction: - - - - - Item 3 - - 1048576 - 2147483647 - - - _popUpItemAction: - - - - - - 1 - YES - YES - 2 - - NO - - - {{10, 33}, {500, 261}} - - - Advanced - - - - - - - 0 - YES - YES - - - - - - - 268 - {{391, 13}, {82, 32}} - - - - _NS:9 - YES - - 67108864 - 134217728 - Cancel - - _NS:9 - - -2038284288 - 129 - - Gw - 200 - 25 - - NO - - - {546, 354} - - - - - {{0, 0}, {1920, 1058}} - {10000000000000, 10000000000000} - YES - - - - - - - window - - - - 265 - - - - databaseNameTextField - - - - 655 - - - - protectTitleCheckButton - - - - 660 - - - - protectUserNameCheckButton - - - - 661 - - - - protectPasswortCheckButton - - - - 662 - - - - protectURLCheckButton - - - - 663 - - - - protectNotesCheckButton - - - - 677 - - - - emptyRecycleBinOnQuitCheckButton - - - - 689 - - - - selectRecycleBinGroupPopUpButton - - - - 690 - - - - sectionTabView - - - - 699 - - - - enableRecycleBinCheckButton - - - - 815 - - - - save: - - - - 962 - - - - saveButton - - - - 1183 - - - - close: - - - - 1454 - - - - databaseDescriptionTextView - - - - 1553 - - - - encryptionRoundsTextField - - - - 1773 - - - - templateGroupPopUpButton - - - - 1796 - - - - defaultUsernameTextField - - - - 1819 - - - - benchmarkRounds: - - - - 1827 - - - - benchmarkButton - - - - 1828 - - - - - - 0 - - - - - - -2 - - - File's Owner - - - -1 - - - First Responder - - - -3 - - - Application - - - 1 - - - - - - - - 2 - - - - - 5 - 0 - - 6 - 1 - - 12 - - 1000 - - 6 - 24 - 3 - - - - 4 - 0 - - 4 - 1 - - 20 - - 1000 - - 8 - 29 - 3 - - - - 6 - 0 - - 6 - 1 - - 20 - - 1000 - - 8 - 29 - 3 - - - - 3 - 0 - - 4 - 1 - - 10 - - 1000 - - 6 - 24 - 3 - - - - 4 - 0 - - 4 - 1 - - 20 - - 1000 - - 8 - 29 - 3 - - - - 3 - 0 - - 3 - 1 - - 12 - - 1000 - - 9 - 40 - 3 - - - - 6 - 0 - - 6 - 1 - - 20 - - 1000 - - 9 - 40 - 3 - - - - 5 - 0 - - 5 - 1 - - 20 - - 1000 - - 9 - 40 - 3 - - - - - - - - - 288 - - - - - - - - 289 - - - - - 290 - - - - - 357 - - - - - - - - - - 358 - - - - - - - - 361 - - - - - 3 - 0 - - 4 - 1 - - 20 - - 1000 - - 6 - 24 - 3 - - - - 5 - 0 - - 6 - 1 - - 8 - - 1000 - - 6 - 24 - 3 - - - - 5 - 0 - - 5 - 1 - - 0.0 - - 1000 - - 6 - 24 - 2 - - - - 4 - 0 - - 4 - 1 - - 31 - - 1000 - - 9 - 40 - 3 - - - - 10 - 0 - - 10 - 1 - - 0.0 - - 1000 - - 9 - 40 - 2 - - - - 3 - 0 - - 4 - 1 - - 8 - - 1000 - - 6 - 24 - 3 - - - - 5 - 0 - - 5 - 1 - - 0.0 - - 1000 - - 6 - 24 - 2 - - - - 5 - 0 - - 6 - 1 - - 8 - - 1000 - - 6 - 24 - 3 - - - - 10 - 0 - - 10 - 1 - - 0.0 - - 1000 - - 6 - 24 - 2 - - - - 3 - 0 - - 4 - 1 - - 8 - - 1000 - - 6 - 24 - 3 - - - - 5 - 0 - - 6 - 1 - - 8 - - 1000 - - 6 - 24 - 3 - - - - 5 - 0 - - 5 - 1 - - 0.0 - - 1000 - - 6 - 24 - 2 - - - - 6 - 0 - - 6 - 1 - - 0.0 - - 1000 - - 6 - 24 - 2 - - - - 3 - 0 - - 3 - 1 - - 30 - - 1000 - - 3 - 9 - 3 - - - - 10 - 0 - - 10 - 1 - - 0.0 - - 1000 - - 6 - 24 - 2 - - - - 5 - 0 - - 6 - 1 - - 8 - - 1000 - - 6 - 24 - 3 - - - - 3 - 0 - - 3 - 1 - - 0.0 - - 1000 - - 6 - 24 - 2 - - - - 5 - 0 - - 5 - 1 - - 28 - - 1000 - - 3 - 9 - 3 - - - - - - - - - - - - - - 368 - - - - - - - - 369 - - - - - 5 - 0 - - 6 - 1 - - 8 - - 1000 - - 6 - 24 - 3 - - - - 5 - 0 - - 5 - 1 - - 0.0 - - 1000 - - 6 - 24 - 2 - - - - 5 - 0 - - 6 - 1 - - 8 - - 1000 - - 6 - 24 - 3 - - - - 3 - 0 - - 3 - 1 - - 0.0 - - 1000 - - 6 - 24 - 2 - - - - 4 - 0 - - 4 - 1 - - 34 - - 1000 - - 3 - 9 - 3 - - - - 11 - 0 - - 11 - 1 - - 0.0 - - 1000 - - 6 - 24 - 2 - - - - 3 - 0 - - 4 - 1 - - 7 - - 1000 - - 9 - 40 - 3 - - - - 5 - 0 - - 6 - 1 - - 8 - - 1000 - - 6 - 24 - 3 - - - - 5 - 0 - - 5 - 1 - - 0.0 - - 1000 - - 6 - 24 - 2 - - - - 4 - 1 - - 4 - 1 - - 20 - - 1000 - - 9 - 40 - 3 - - - - 3 - 0 - - 4 - 1 - - 20 - - 1000 - - 9 - 40 - 3 - - - - 6 - 0 - - 6 - 1 - - 0.0 - - 1000 - - 6 - 24 - 2 - - - - 5 - 0 - - 6 - 1 - - 8 - - 1000 - - 6 - 24 - 3 - - - - 5 - 0 - - 5 - 1 - - 0.0 - - 1000 - - 6 - 24 - 2 - - - - 10 - 0 - - 10 - 1 - - 0.0 - - 1000 - - 6 - 24 - 2 - - - - 6 - 0 - - 6 - 1 - - 0.0 - - 1000 - - 6 - 24 - 2 - - - - 3 - 0 - - 3 - 1 - - 115 - - 1000 - - 3 - 9 - 3 - - - - 5 - 0 - - 6 - 1 - - 8 - - 1000 - - 6 - 24 - 3 - - - - 10 - 0 - - 10 - 1 - - 0.0 - - 1000 - - 6 - 24 - 2 - - - - 3 - 0 - - 3 - 1 - - 72 - - 1000 - - 3 - 9 - 3 - - - - 5 - 0 - - 6 - 1 - - 8 - - 1000 - - 6 - 24 - 3 - - - - 3 - 0 - - 3 - 1 - - 0.0 - - 1000 - - 6 - 24 - 2 - - - - 5 - 0 - - 5 - 1 - - 0.0 - - 1000 - - 6 - 24 - 2 - - - - 5 - 0 - - 6 - 1 - - 8 - - 1000 - - 6 - 24 - 3 - - - - 5 - 0 - - 5 - 1 - - 0.0 - - 1000 - - 6 - 24 - 2 - - - - 11 - 0 - - 11 - 1 - - 0.0 - - 1000 - - 6 - 24 - 2 - - - - 5 - 0 - - 5 - 1 - - 0.0 - - 1000 - - 6 - 24 - 2 - - - - 10 - 0 - - 10 - 1 - - 0.0 - - 1000 - - 6 - 24 - 2 - - - - 11 - 0 - - 11 - 1 - - 0.0 - - 1000 - - 6 - 24 - 2 - - - - 3 - 0 - - 4 - 1 - - 8 - - 1000 - - 6 - 24 - 3 - - - - 5 - 0 - - 5 - 1 - - 0.0 - - 1000 - - 6 - 24 - 2 - - - - 3 - 0 - - 3 - 1 - - 20 - - 1000 - - 3 - 9 - 3 - - - - 5 - 0 - - 5 - 1 - - 72 - - 1000 - - 3 - 9 - 3 - - - - - - - - - - - - - - - - - - - - 370 - - - - - - - - 371 - - - - - 4 - 0 - - 4 - 1 - - 34 - - 1000 - - 3 - 9 - 3 - - - - 3 - 0 - - 4 - 1 - - 8 - - 1000 - - 6 - 24 - 3 - - - - 5 - 0 - - 5 - 1 - - 0.0 - - 1000 - - 6 - 24 - 2 - - - - 6 - 0 - - 6 - 1 - - 0.0 - - 1000 - - 6 - 24 - 2 - - - - 5 - 0 - - 6 - 1 - - 8 - - 1000 - - 6 - 24 - 3 - - - - 3 - 0 - - 4 - 1 - - 15 - - 1000 - - 9 - 40 - 3 - - - - 5 - 0 - - 5 - 1 - - 0.0 - - 1000 - - 6 - 24 - 2 - - - - 3 - 0 - - 4 - 1 - - 15 - - 1000 - - 9 - 40 - 3 - - - - 5 - 0 - - 5 - 1 - - 0.0 - - 1000 - - 6 - 24 - 2 - - - - 9 - 0 - - 9 - 1 - - 0.0 - - 1000 - - 6 - 24 - 2 - - - - 3 - 0 - - 3 - 1 - - 87 - - 1000 - - 3 - 9 - 3 - - - - 5 - 0 - - 5 - 1 - - 0.0 - - 1000 - - 6 - 24 - 2 - - - - 9 - 0 - - 9 - 1 - - 0.0 - - 1000 - - 5 - 22 - 2 - - - - 3 - 0 - - 3 - 1 - - 58 - - 1000 - - 3 - 9 - 3 - - - - 3 - 0 - - 3 - 1 - - 29 - - 1000 - - 3 - 9 - 3 - - - - 5 - 0 - - 5 - 1 - - 0.0 - - 1000 - - 6 - 24 - 2 - - - - 11 - 0 - - 11 - 1 - - 0.0 - - 1000 - - 6 - 24 - 2 - - - - - - - - - - - - - - 231 - - - - - - 7 - 0 - - 0 - 1 - - 280 - - 1000 - - 3 - 9 - 1 - - - - - - 232 - - - - - 256 - - - - - - - - 257 - - - - - 189 - - - - - - - - 190 - - - - - 457 - - - - - 462 - - - - - 463 - - - - - - - - 464 - - - - - 476 - - - - - - - - 477 - - - - - 504 - - - - - - - - 505 - - - - - 509 - - - - - - - - 510 - - - - - 511 - - - - - 513 - - - - - - - - 514 - - - - - 516 - - - - - 525 - - - - - 529 - - - - - 531 - - - - - - 7 - 0 - - 0 - 1 - - 303 - - 1000 - - 3 - 9 - 1 - - - - - - 532 - - - - - 535 - - - - - - - - 536 - - - - - 539 - - - - - - 8 - 0 - - 0 - 1 - - 14 - - 1000 - - 9 - 40 - 1 - - - - - - 540 - - - - - 291 - - - - - 557 - - - - - - - - 558 - - - - - 593 - - - - - - 7 - 0 - - 0 - 1 - - 96 - - 1000 - - 3 - 9 - 1 - - - - - - 594 - - - - - 595 - - - - - 599 - - - - - - - - 600 - - - - - 678 - - - - - - 7 - 0 - - 0 - 1 - - 215 - - 1000 - - 9 - 40 - 1 - - - - - - 679 - - - - - - - - 680 - - - - - - 374 - - - - - 365 - - - - - 390 - - - - - 844 - - - - - 956 - - - - - - - - 957 - - - - - 958 - - - - - 959 - - - - - 1056 - - - - - 1078 - - - - - 1096 - - - - - 1075 - - - - - 1074 - - - - - 1113 - - - - - 1268 - - - - - - - - 1269 - - - - - 1273 - - - - - - - - 1275 - - - - - 1294 - - - - - - - - 1295 - - - - - 1302 - - - - - 1304 - - - - - 1307 - - - - - 1309 - - - - - 1311 - - - - - 1321 - - - - - 1327 - - - - - 1328 - - - - - 1329 - - - - - 1330 - - - - - 1331 - - - - - 1343 - - - - - 1344 - - - - - 1387 - - - - - 1394 - - - - - - 7 - 0 - - 0 - 1 - - 115 - - 1000 - - 3 - 9 - 1 - - - - - - 1395 - - - - - - - - 1396 - - - - - - - - - 1397 - - - - - 1398 - - - - - 1404 - - - - - - - - 1405 - - - - - 1408 - - - - - 1409 - - - - - 1433 - - - - - 1434 - - - - - - - - 1435 - - - - - 1439 - - - - - 8 - 0 - - 0 - 1 - - 23 - - 1000 - - 3 - 9 - 1 - - - - 7 - 0 - - 0 - 1 - - 44 - - 1000 - - 3 - 9 - 1 - - - - - - 1441 - - - - - 1447 - - - - - 1450 - - - - - 1451 - - - - - 1452 - - - - - 1460 - - - - - 1475 - - - - - 1476 - - - - - 1529 - - - - - 1530 - - - - - - - - - - 1531 - - - - - 1532 - - - - - 1533 - - - - - 1539 - - - - - 1541 - - - - - 1542 - - - - - 1543 - - - - - 1550 - - - - - 1551 - - - - - 1552 - - - - - 1637 - - - - - 1638 - - - - - 1641 - - - - - 1643 - - - - - - - - 1644 - - - - - 1647 - - - - - - 7 - 0 - - 0 - 1 - - 129 - - 1000 - - 3 - 9 - 1 - - - - - - 1648 - - - - - - 1730 - - - - - - 8 - 0 - - 0 - 1 - - 22 - - 1000 - - 9 - 40 - 1 - - - - - - 1731 - - - - - 1734 - - - - - 1754 - - - - - 1771 - - - - - 1772 - - - - - 1774 - - - - - - - - 1775 - - - - - 506 - - - - - 490 - - - - - 1563 - - - - - 1750 - - - - - 1565 - - - - - 1564 - - - - - 1584 - - - - - - 8 - 0 - - 0 - 1 - - 17 - - 1000 - - 3 - 9 - 1 - - - - - - 1588 - - - - - 1582 - - - - - - - - 1736 - - - - - 1732 - - - - - 1591 - - - - - 1738 - - - - - - - - 1799 - - - - - 1747 - - - - - 1746 - - - - - 1745 - - - - - 1739 - - - - - - - - 1740 - - - - - - - - - - 1743 - - - - - 1742 - - - - - 1741 - - - - - 1810 - - - - - 1811 - - - - - 1812 - - - - - 1814 - - - - - 1815 - - - - - 1816 - - - - - 1817 - - - - - 1818 - - - - - 1820 - - - - - 1755 - - - - - 1776 - - - - - 1779 - - - - - 1777 - - - - - 1778 - - - - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - {{357, 418}, {480, 270}} - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - - - - - - - - - com.apple.InterfaceBuilder.CocoaPlugin - - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - - - - - - - - - - - - - - - - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - - - - - - - - - - - - - - - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - - - - 1828 - - - - - MPDatabaseSettingsWindowController - MPSheetWindowController - - id - id - id - - - - benchmarkRounds: - id - - - close: - id - - - save: - id - - - - NSTextView - NSTextField - NSTextField - NSButton - NSButton - NSTextField - NSButton - NSButton - NSButton - NSButton - NSButton - NSTabView - NSPopUpButton - NSPopUpButton - - - - databaseDescriptionTextView - NSTextView - - - databaseNameTextField - NSTextField - - - defaultUsernameTextField - NSTextField - - - emptyRecycleBinOnQuitCheckButton - NSButton - - - enableRecycleBinCheckButton - NSButton - - - encryptionRoundsTextField - NSTextField - - - protectNotesCheckButton - NSButton - - - protectPasswortCheckButton - NSButton - - - protectTitleCheckButton - NSButton - - - protectURLCheckButton - NSButton - - - protectUserNameCheckButton - NSButton - - - sectionTabView - NSTabView - - - selectRecycleBinGroupPopUpButton - NSPopUpButton - - - templateGroupPopUpButton - NSPopUpButton - - - - IBProjectSource - ./Classes/MPDatabaseSettingsWindowController.h - - - - MPSheetWindowController - NSWindowController - - IBProjectSource - ./Classes/MPSheetWindowController.h - - - - NSLayoutConstraint - NSObject - - IBProjectSource - ./Classes/NSLayoutConstraint.h - - - - - 0 - IBCocoaFramework - YES - 3 - - {11, 11} - {10, 3} - {15, 15} - - YES - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/MacPass/MPAttachmentTableDataSource.m b/MacPass/MPAttachmentTableDataSource.m index 49e86964..6e17db77 100644 --- a/MacPass/MPAttachmentTableDataSource.m +++ b/MacPass/MPAttachmentTableDataSource.m @@ -11,11 +11,7 @@ @implementation MPAttachmentTableDataSource -- (NSDragOperation)tableView:(NSTableView *)tableView - validateDrop:(id)info - proposedRow:(NSInteger)row - proposedDropOperation:(NSTableViewDropOperation)dropOperation { - +- (NSDragOperation)tableView:(NSTableView *)tableView validateDrop:(id)info proposedRow:(NSInteger)row proposedDropOperation:(NSTableViewDropOperation)dropOperation { NSPasteboard *draggingPasteBoard = [info draggingPasteboard]; NSArray *classArray = [NSArray arrayWithObject:[NSURL class]]; NSArray *arrayOfURLs = [draggingPasteBoard readObjectsForClasses:classArray options:nil]; @@ -37,11 +33,7 @@ return NSDragOperationCopy; } -- (BOOL)tableView:(NSTableView *)tableView - acceptDrop:(id)info - row:(NSInteger)row - dropOperation:(NSTableViewDropOperation)dropOperation { - +- (BOOL)tableView:(NSTableView *)tableView acceptDrop:(id)info row:(NSInteger)row dropOperation:(NSTableViewDropOperation)dropOperation { MPDocument *document = [[[tableView window] windowController] document]; id entry = document.selectedEntry; @@ -54,8 +46,10 @@ } return YES; } -/* - (BOOL)tableView:(NSTableView *)tableView writeRowsWithIndexes:(NSIndexSet *)rowIndexes toPasteboard:(NSPasteboard *)pboard { + return NO; + + /* NSString *extension; if([rowIndexes count] != 1) { @@ -77,42 +71,7 @@ [pboard setPropertyList:@[uti] forType:(NSString *)kPasteboardTypeFilePromiseContent]; [pboard setPropertyList:@[uti] forType:(NSString *)kPasteboardTypeFileURLPromise ]; - return YES; + return YES;*/ } -- (NSArray *)tableView:(NSTableView *)tableView namesOfPromisedFilesDroppedAtDestination:(NSURL *)dropDestination forDraggedRowsWithIndexes:(NSIndexSet *)indexSet { - if([indexSet count] != 1) { - return nil; // We only work with one file at a time - } - - if(![dropDestination isFileURL]) { - return nil; - } - - NSUInteger row = [indexSet lastIndex]; - NSData *fileData; - NSString *filename; - - MPDocument *document = [[[tableView window] windowController] document]; - id entry = document.selectedEntry; - - if([entry isKindOfClass:[Kdb3Entry class]]) { - Kdb3Entry *entryV3 = (Kdb3Entry *)entry; - filename = entryV3.binaryDesc; - fileData = entryV3.binary; - } - else if([entry isKindOfClass:[Kdb4Entry class]]) { - Kdb4Entry *entryV4 = (Kdb4Entry *)entry; - BinaryRef *binaryRef = entryV4.binaries[row]; - filename = binaryRef.key; - fileData = [document attachmentDataForItem:binaryRef]; - } - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{ - NSURL *writeURL = [dropDestination URLByAppendingPathComponent:filename]; - // Create unique filename if already present - [fileData writeToURL:writeURL atomically:YES]; - }); - return @[filename]; -} - */ @end diff --git a/MacPass/MPDatabaseSettingsWindowController.h b/MacPass/MPDatabaseSettingsWindowController.h index 9f3251d5..3f7a43c9 100644 --- a/MacPass/MPDatabaseSettingsWindowController.h +++ b/MacPass/MPDatabaseSettingsWindowController.h @@ -24,7 +24,9 @@ typedef NS_ENUM(NSUInteger, MPDatabaseSettingsTab) { /* General Tab */ @property (weak) IBOutlet NSTextField *databaseNameTextField; +@property (weak) IBOutlet NSPopUpButton *databaseCompressionPopupButton; @property (unsafe_unretained) IBOutlet NSTextView *databaseDescriptionTextView; +@property (weak) IBOutlet NSColorWell *databaseColorColorWell; /* Security Tab */ @property (weak) IBOutlet NSButton *protectTitleCheckButton; diff --git a/MacPass/MPDatabaseSettingsWindowController.m b/MacPass/MPDatabaseSettingsWindowController.m index 32cea240..5d95d8e8 100644 --- a/MacPass/MPDatabaseSettingsWindowController.m +++ b/MacPass/MPDatabaseSettingsWindowController.m @@ -14,6 +14,7 @@ #import "MPSettingsHelper.h" #import "MPNumericalInputFormatter.h" +#import "KPKXmlFormat.h" #import "KPKGroup.h" #import "KPKTree.h" #import "KPKMetaData.h" @@ -66,9 +67,19 @@ KPKMetaData *metaData = _document.tree.metaData; metaData.databaseDescription = [self.databaseDescriptionTextView string]; metaData.databaseName = [self.databaseNameTextField stringValue]; - - /* Display */ - + + NSInteger compressionIndex = [self.databaseCompressionPopupButton indexOfSelectedItem]; + if(compressionIndex >= KPKCompressionNone && compressionIndex < KPKCompressionCount) { + metaData.compressionAlgorithm = compressionIndex; + } + NSColor *databaseColor = [self.databaseColorColorWell color]; + if([databaseColor isEqual:[NSColor clearColor]]) { + metaData.color = nil; + } + else { + metaData.color = databaseColor; + } + /* Advanced */ metaData.recycleBinEnabled = self.trashEnabled; NSMenuItem *trashMenuItem = [self.selectRecycleBinGroupPopUpButton selectedItem]; @@ -122,7 +133,7 @@ } /* Update all stuff that might have changed */ KPKMetaData *metaData = _document.tree.metaData; - [self _setupDatabase:metaData]; + [self _setupDatabaseTab:metaData]; [self _setupProtectionTab:metaData]; [self _setupAdvancedTab:_document.tree]; self.isDirty = NO; @@ -154,9 +165,12 @@ } #pragma mark Private Helper -- (void)_setupDatabase:(KPKMetaData *)metaData { +- (void)_setupDatabaseTab:(KPKMetaData *)metaData { [self.databaseNameTextField setStringValue:metaData.databaseName]; [self.databaseDescriptionTextView setString:metaData.databaseDescription]; + [self.databaseCompressionPopupButton selectItemAtIndex:metaData.compressionAlgorithm]; + NSColor *databaseColor = metaData.color ? metaData.color : [NSColor clearColor]; + [self.databaseColorColorWell setColor:databaseColor]; } - (void)_setupProtectionTab:(KPKMetaData *)metaData { diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index 04993de2..f2133cf8 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -166,7 +166,7 @@ NSString *const _MPTAbleSecurCellView = @"PasswordCell"; NSSortDescriptor *userNameSortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"username" ascending:YES selector:@selector(compare:)]; NSSortDescriptor *urlSortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"url" ascending:YES selector:@selector(compare:)]; NSSortDescriptor *groupnameSortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"parent.name" ascending:YES selector:@selector(compare:)]; - NSSortDescriptor *dateSortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"lastModificationTime" ascending:YES selector:@selector(compare:)]; + NSSortDescriptor *dateSortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"timeInfo.lastModificationTime" ascending:YES selector:@selector(compare:)]; [titleColumn setSortDescriptorPrototype:titleColumSortDescriptor]; [userNameColumn setSortDescriptorPrototype:userNameSortDescriptor];