Commit graph

152 commits

Author SHA1 Message Date
Mark Jerde 6efb7851bf Update to MJCloudKitUserDefaultsSync 9fef682787a549137d9c13e19ea2e4feb253e193. 2018-10-30 23:05:03 -05:00
Mark Jerde dc7b728eac Add Diagnostics to in-app settings. Move reading of acknowledgements file to constructor of the SettingsViewController to delay execution until possibly needed. 2018-10-30 23:05:03 -05:00
Mark Jerde 4ce5b1a2ad Update to MJCloudKitUserDefaultsSync f5787013f14f47055e3ae77eae821a8bbe5428a2. 2018-10-30 23:05:03 -05:00
Mark Jerde d43c0b98b8 Bump iOS version number for change to ensure correct preference setting. 2018-10-30 23:05:03 -05:00
Mark Jerde 0d57a6c6ce Ensure that the setting to save clippings is correct when iCloud Sync is enabled. 2018-10-30 23:05:03 -05:00
Mark Jerde e113959003 Add demo content for App Store screenshot use. 2018-10-30 23:05:03 -05:00
Mark Jerde 484a2f68b8 Bump iOS version number for entitlements tweak. 2018-10-30 23:05:03 -05:00
Mark Jerde cf89ed3c2f Setup separate entitlements files for macOS and iOS. 2018-10-30 23:05:03 -05:00
Mark Jerde 705284ef9d Bump version numbers.
Summary of changes since last bump:
  Moved acknowledgements into a file that can be shared by all targets.
  Added settings to Flycut iOS.
2018-10-30 23:05:03 -05:00
Mark Jerde c10e1ec185 Expand URL support and move iOS version target from 10.2 to 8.0 because everything we depend upon was available in iOS 8.0. 2018-10-30 23:05:03 -05:00
Mark Jerde adad531327 Use a DispatchSemaphore for blocking rather than a DispatchQueue. 2018-10-30 23:05:03 -05:00
Mark Jerde 99d471f46a Extend Settings access to Flycut iOS
Use InAppSettingsKit to display Settings within the app in addition to within
Settings.app.  This allows changes that initiate a user prompt to prompt the
user immediately when the change is made, rather than upon app launch as is the
case with using Settings.app, providing better user experience.

Move acknowledgements from preferences panel into a text file that is sourced into the preferences panel on macOS and the settings bundle (in-app only) on iOS.
2018-10-30 23:05:03 -05:00
Mark Jerde 6f72517444 Modify InAppSettingsKit to recognize a Key key on Group elements allowing the footer text to be pulled from UserDefaults as an alternative to the FooterText key. 2018-10-30 23:05:03 -05:00
Mark Jerde 189bd3ce82 Modify InAppSettingsKit to only post TextField changes to _settingsStore (NSUSerDefaults) when the edit is complete rather than after every addition or deletion of individual characters. This avoids excessive noise for observers. 2018-10-30 23:05:03 -05:00
Mark Jerde d1502bc3bf Import InAppSettingsKit 0ea1b98eb8ea3293845b86dfa0358ccd4d11e65f to provide the settings panel within the app. This makes the settings easier to find for users who are not familiar with the iOS Settings.app approach and allows Flycut to provide user feedback in cases like shrinking the stack immediately when the setting is changed rather than a delayed cause-effect which would appear clunky. 2018-10-30 23:05:03 -05:00
Mark Jerde 1eedd23e35 Update to MJCloudKitUserDefaultsSync 631f00fad92c72d600bd94caccf3818cc4ad6f7c. 2018-10-30 23:05:03 -05:00
Mark Jerde d65a709aae Move observers for events that should involve the Model from the AppDelegate to the ViewController, eliminating a messy linkage from AppDelegate to ViewController. 2018-10-30 23:05:03 -05:00
Mark Jerde 2a9197dccf Bump version numbers. 2018-10-30 23:05:03 -05:00
Mark Jerde 1eef30cbd1 Move saveForgotten settings from FlycutOperator to AppController since they are reasonable to have different preference on different platform. Ensure that they are disabled on iOS for now, since they would be inaccessible files. 2018-10-30 23:05:03 -05:00
Mark Jerde 94757b6290 Add support for additional pasteboard item type that is sufficiently compatible with what Flycut supports. 2018-10-30 23:05:03 -05:00
Mark Jerde 4d11c5e934 Add mechanism to prompt user only if necessary, after receiving first sync pull, to merge or overwrite existing lists or disable sync. Include support for merge at initial pull, seubsequent pulls, and conflict resolution. Ask user if they would like to enable iCloud Sync on first iOS launch since preferences are not yet implemented on that platform. 2018-10-30 23:05:03 -05:00
Mark Jerde 442a5252a3 Add non-persisted journaling to FlycutStore to inform merge processes and sync processes. 2018-10-30 23:05:03 -05:00
Mark Jerde b2ca345074 Change saveForgottenClippings from acting only when a clipping is added, and sometimes saving when a duplicate is ignored and thus nothing forgotten, to saving when informed by the store that something is being forgotten. Includes safeguards to not save a forgoten clipping if the user initiated the forgetting via delete or save-and-delete, or when a clipping is moved to the favorites store. 2018-10-30 23:05:03 -05:00
Mark Jerde f2fad2a8da Add mechanism to prevent saving the engine if there have been no changes since it was last saved. This becomes important with iCloud Sync to prevent pushing an update whenever the app is closed, unloaded, or other activities that invoke saveEngine. 2018-10-30 23:05:03 -05:00
Mark Jerde 5a81af5942 Move pollPBTimer to a run loop and mode that allows it to keep firing while the menu is open. 2018-10-30 23:05:03 -05:00
Mark Jerde c125b4de17 Connect AppController as delegate for FlycutStore to complete a proper MVC pattern to dynamically update the menu and bezel if displayed. Previously, changes from pollPB: would be received but not reflected in the displayed bezel until the user navigated, producing a confusing experience. Now pollPB: and iCloud Sync changes are reflected in what is seen real time. 2018-10-30 23:05:03 -05:00
Mark Jerde 13ceb8d7d0 Add support for iCloud Sync. 2018-10-30 23:05:03 -05:00
Mark Jerde 7958af9110 Switch to my code signing and get CloudKit working on both iOS and macOS at the same time. 2018-10-22 22:47:25 -05:00
Mark Jerde 603ac66511 Add MJCloudKitUserDefaultsSync to the project. 2018-10-22 22:47:25 -05:00
Mark Jerde 8b9cdcce52 Import MJCloudKitUserDefaultsSync 9dca4718726025350c480f1fb56dc928fdd29a71 to provide synchronization of Flycut data via iCloud. This would be a great opportunity to use Git submodules, but is currently imported to match with the existing style of the code base (ShortcutRecorder, SGHotKeysLib, and UKPrefsPanel). 2018-10-22 22:47:25 -05:00
Mark Jerde 28bfca83f4 Decrease redundant object instantiations by using dequeueReusableCell and creating the MGSwipeButton instances only once. 2018-10-22 22:47:25 -05:00
Mark Jerde 5fdf4dd742 Move displayNum and displayLen back to AppController since they are UI-specific. 2018-10-22 22:47:25 -05:00
Mark Jerde 4eb0921677 Add documentation for cross-referencing App Store relases with code revisions. 2018-10-22 22:47:25 -05:00
Mark Jerde 3e4ea04567 Set temp values needed for the iOS version. 2018-10-22 22:47:25 -05:00
Mark Jerde 08c5eb29d4 Update documentation for iOS app. 2018-10-22 22:47:25 -05:00
Mark Jerde aa83f93754 Convert to use MGSwipeTableCell to provide better swipe capabilities. 2018-10-22 22:47:25 -05:00
Mark Jerde 4fd18601e4 Add MGSwipeTableCell to the project. 2018-10-22 22:47:25 -05:00
Mark Jerde d96df4d8f2 Import MGSwipeTableCell 7dbd771c897d3c439d0d7a3f0140fcc881e2a5a0 to provide higher-quality swipe handling than the APIs provide. This would be a great opportunity to use Git submodules, but is currently imported to match with the existing style of the code base (ShortcutRecorder, SGHotKeysLib, and UKPrefsPanel). 2018-10-22 22:47:24 -05:00
Mark Jerde 3210b31350 Initial minimum-functional Flycut iOS app. Due to iOS security mechanisms preventing persistent pasteboard visibility, this app will only add clippings when active and checks for a new clipping when activated. Hence the usage mode is to copy something, then open Flycut and it will add the current clipping to the store. App displays a list of the clippings, most recent on top, and places them on the pasteboard when tapped. Future plans include a more refined visual style, action extensions, access to settings, and iCloud sync. 2018-10-22 22:47:24 -05:00
Mark Jerde f383482e4a Divide AppController into two files, one for UI and one for management of clipping stores. 2018-10-22 22:47:24 -05:00
Mark Jerde 7027778271 Add FlycutOperator files to project, to be used to divide AppController into two files, one for UI and one for management of clipping stores. 2018-10-22 22:47:24 -05:00
Alex Richardson d9d4e4e823 Fix pointer to interger conversion errors 2017-10-08 12:11:44 +01:00
Gennadii Potapov 717496b778 Update readme.md 2016-12-22 22:20:01 +08:00
Gennadiy Potapov fe5bb2130e Add delay for searchbox focus as workaround on Sierra 2016-12-21 19:48:32 +08:00
Gennadiy Potapov c26f4dfd77 version 1.8.1 2016-10-02 14:26:15 +08:00
Gennadii Potapov 9adbacf412 Merge pull request #113 from whitingj/master
This pull request fixes #45
2016-08-10 14:15:03 +08:00
Jeff Whiting 50b2cb7051 Fixed some whitespace problems (the project seems to prefer tabs). 2016-08-09 00:37:56 -06:00
Jeff Whiting 63e95e399a Flycut no longer activates its application when showing the bezel. To make the bezel continue to show up and not steal focus we now create a NSPanel with NSNonactivatingPanelMask and set the NSPanel level to be above all other windows. This should hopefully prevent issue #45 with multiple monitors.
https://github.com/TermiT/Flycut/issues/45
2016-08-09 00:30:02 -06:00
Gennadiy Potapov aa14d73e98 Merge pull request #104 from mortonfox/patch-1
Fix typo
2016-04-20 13:16:41 +08:00
Morton Fox b9a6c9bc66 Fix typo 2016-04-20 01:11:00 -04:00