├── Lupinus ├── Lupinus.plist ├── Makefile ├── Tweak.h ├── control └── theos ├── New Cydia Versions ├── SwipeSelection Free │ ├── Header.h │ ├── Layout │ │ └── Library │ │ │ └── MobileSubstrate │ │ │ └── DynamicLibraries │ │ │ ├── SwipeSelection_legacy.dylib │ │ │ └── SwipeSelection_legacy.plist │ ├── Makefile │ ├── SSKHSettingsController.h │ ├── SSKHSettingsController.m │ ├── SSPanGestureRecognizer.h │ ├── SSPanGestureRecognizer.m │ ├── SwipeSelection.plist │ ├── Tweak.mm │ └── control └── SwipeSelection Pro │ ├── Header.h │ ├── Layout │ └── Library │ │ ├── MobileSubstrate │ │ └── DynamicLibraries │ │ │ ├── SwipeSelectionProLegacy.dylib │ │ │ └── SwipeSelectionProLegacy.plist │ │ ├── PreferenceBundles │ │ └── SwipeSelectionProLegacy.bundle │ │ │ ├── README.md │ │ │ ├── ar.lproj │ │ │ └── SwipeSelectionPro.strings │ │ │ ├── de.lproj │ │ │ └── SwipeSelectionPro.strings │ │ │ ├── en.lproj │ │ │ └── SwipeSelectionPro.strings │ │ │ ├── es.lproj │ │ │ └── SwipeSelectionPro.strings │ │ │ ├── es_MX.lproj │ │ │ └── SwipeSelectionPro.strings │ │ │ ├── fi.lproj │ │ │ └── SwipeSelectionPro.strings │ │ │ ├── fr.lproj │ │ │ └── SwipeSelectionPro.strings │ │ │ ├── fr_CA.lproj │ │ │ └── SwipeSelectionPro.strings │ │ │ ├── he_IL.lproj │ │ │ └── SwipeSelectionPro.strings │ │ │ ├── hu.lproj │ │ │ └── SwipeSelectionPro.strings │ │ │ ├── id.lproj │ │ │ └── SwipeSelectionPro.strings │ │ │ ├── ko.lproj │ │ │ └── SwipeSelectionPro.strings │ │ │ ├── pt.lproj │ │ │ └── SwipeSelectionPro.strings │ │ │ ├── pt_BR.lproj │ │ │ └── SwipeSelectionPro.strings │ │ │ ├── ro.lproj │ │ │ └── SwipeSelectionPro.strings │ │ │ ├── sv.lproj │ │ │ └── SwipeSelectionPro.strings │ │ │ ├── tr.lproj │ │ │ └── SwipeSelectionPro.strings │ │ │ ├── vi.lproj │ │ │ └── SwipeSelectionPro.strings │ │ │ ├── zh-Hans.lproj │ │ │ └── SwipeSelectionPro.strings │ │ │ ├── zh-Hant.lproj │ │ │ └── SwipeSelectionPro.strings │ │ │ ├── zh_CN.lproj │ │ │ └── SwipeSelectionPro.strings │ │ │ └── zh_TW.lproj │ │ │ └── SwipeSelectionPro.strings │ │ └── PreferenceLoader │ │ └── Preferences │ │ └── SwipeSelectionProLegacy.plist │ ├── Makefile │ ├── SSKHSettingsController.h │ ├── SSKHSettingsController.m │ ├── SSPanGestureRecognizer.h │ ├── SSPanGestureRecognizer.m │ ├── SwipeSelectionPro.plist │ ├── Tweak.mm │ ├── control │ └── swipeselectionpro │ ├── Makefile │ ├── Resources │ ├── Info.plist │ ├── README.md │ ├── SwipeSelectionPro.plist │ ├── SwipeSelectionPro.png │ ├── SwipeSelectionPro@2x.png │ ├── SwipeSelectionPro@3x.png │ ├── ar.lproj │ │ └── SwipeSelectionPro.strings │ ├── de.lproj │ │ └── SwipeSelectionPro.strings │ ├── en.lproj │ │ └── SwipeSelectionPro.strings │ ├── es.lproj │ │ └── SwipeSelectionPro.strings │ ├── es_MX.lproj │ │ └── SwipeSelectionPro.strings │ ├── fi.lproj │ │ └── SwipeSelectionPro.strings │ ├── fr.lproj │ │ └── SwipeSelectionPro.strings │ ├── fr_CA.lproj │ │ └── SwipeSelectionPro.strings │ ├── he_IL.lproj │ │ └── SwipeSelectionPro.strings │ ├── hu.lproj │ │ └── SwipeSelectionPro.strings │ ├── id.lproj │ │ └── SwipeSelectionPro.strings │ ├── ko.lproj │ │ └── SwipeSelectionPro.strings │ ├── pt.lproj │ │ └── SwipeSelectionPro.strings │ ├── pt_BR.lproj │ │ └── SwipeSelectionPro.strings │ ├── ro.lproj │ │ └── SwipeSelectionPro.strings │ ├── sv.lproj │ │ └── SwipeSelectionPro.strings │ ├── tr.lproj │ │ └── SwipeSelectionPro.strings │ ├── vi.lproj │ │ └── SwipeSelectionPro.strings │ ├── zh-Hans.lproj │ │ └── SwipeSelectionPro.strings │ ├── zh-Hant.lproj │ │ └── SwipeSelectionPro.strings │ ├── zh_CN.lproj │ │ └── SwipeSelectionPro.strings │ └── zh_TW.lproj │ │ └── SwipeSelectionPro.strings │ ├── SwipeSelectionPro.mm │ └── entry.plist ├── ReadMe.md ├── SwipeSelection Xcode ├── SwipeSelection Test.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ └── contents.xcworkspacedata └── SwipeSelection Test │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json │ ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard │ ├── Info.plist │ ├── Tweak.m │ ├── ViewController.h │ ├── ViewController.m │ ├── main.m │ ├── swizzling.h │ └── swizzling.m ├── SwipeSelection ├── Icon@2x.png ├── Icon@3x.png ├── Icon_512.png ├── Makefile ├── README.md ├── SwipeSelection.plist ├── Tweak.mm └── control └── SwipeSelectionPro ├── Header.h ├── Makefile ├── SSKHSettingsController.h ├── SSKHSettingsController.m ├── SSPanGestureRecognizer.h ├── SSPanGestureRecognizer.m ├── SwipeSelectionPro.plist ├── Tweak.mm ├── control └── swipeselectionpro ├── Makefile ├── Resources ├── Info.plist ├── README.md ├── SwipeSelectionPro.plist ├── SwipeSelectionPro.png ├── SwipeSelectionPro@2x.png ├── SwipeSelectionPro@3x.png ├── ar.lproj │ └── SwipeSelectionPro.strings ├── de.lproj │ └── SwipeSelectionPro.strings ├── en.lproj │ └── SwipeSelectionPro.strings ├── es.lproj │ └── SwipeSelectionPro.strings ├── es_MX.lproj │ └── SwipeSelectionPro.strings ├── fi.lproj │ └── SwipeSelectionPro.strings ├── fr.lproj │ └── SwipeSelectionPro.strings ├── fr_CA.lproj │ └── SwipeSelectionPro.strings ├── he_IL.lproj │ └── SwipeSelectionPro.strings ├── hu.lproj │ └── SwipeSelectionPro.strings ├── id.lproj │ └── SwipeSelectionPro.strings ├── ko.lproj │ └── SwipeSelectionPro.strings ├── pt.lproj │ └── SwipeSelectionPro.strings ├── pt_BR.lproj │ └── SwipeSelectionPro.strings ├── ro.lproj │ └── SwipeSelectionPro.strings ├── sv.lproj │ └── SwipeSelectionPro.strings ├── tr.lproj │ └── SwipeSelectionPro.strings ├── vi.lproj │ └── SwipeSelectionPro.strings ├── zh-Hans.lproj │ └── SwipeSelectionPro.strings ├── zh-Hant.lproj │ └── SwipeSelectionPro.strings ├── zh_CN.lproj │ └── SwipeSelectionPro.strings └── zh_TW.lproj │ └── SwipeSelectionPro.strings ├── SwipeSelectionPro.mm └── entry.plist /Lupinus/Lupinus.plist: -------------------------------------------------------------------------------- 1 | { 2 | Filter = { 3 | Bundles = ( 4 | "com.apple.UIKit", 5 | ); 6 | }; 7 | } -------------------------------------------------------------------------------- /Lupinus/Makefile: -------------------------------------------------------------------------------- 1 | THEOS_PACKAGE_DIR_NAME = debs 2 | TARGET =: clang 3 | ARCHS = arm64 armv7 armv7s 4 | 5 | DEBUG = 0 6 | GO_EASY_ON_ME = 1 7 | LDFLAGS += -Wl,-segalign,0x4000 8 | include $(THEOS)/makefiles/common.mk 9 | 10 | TWEAK_NAME = Lupinus 11 | Lupinus_FILES = Tweak.xm 12 | Lupinus_FRAMEWORKS = UIKit Foundation 13 | 14 | Lupinus_CFLAGS += -DVERBOSE 15 | Lupinus_LDFLAGS += -lAccessibility 16 | Lupinus_CFLAGS += -fobjc-arc 17 | 18 | include $(THEOS_MAKE_PATH)/tweak.mk 19 | # SUBPROJECTS += Preferences 20 | include $(THEOS_MAKE_PATH)/aggregate.mk 21 | 22 | sync: stage 23 | rsync -e "ssh -p 2222" -avz .theos/_/Library/MobileSubstrate/DynamicLibraries/* root@127.0.0.1:/Library/MobileSubstrate/DynamicLibraries/ 24 | ssh root@127.0.0.1 -p 2222 killall SpringBoard -------------------------------------------------------------------------------- /Lupinus/Tweak.h: -------------------------------------------------------------------------------- 1 | #include 2 | #import 3 | #import 4 | #import 5 | #import 6 | 7 | #define notificationDimTag @"setKeyboardToDim" 8 | 9 | typedef void* CDUnknownBlockType; 10 | 11 | 12 | static BOOL shiftByOtherKey = NO; 13 | static BOOL isLongPressed = NO; 14 | static BOOL isDeleteKey = NO; 15 | static BOOL isInternationalKey = NO; 16 | static BOOL isMoreKey = NO; 17 | 18 | static BOOL isTwoFingerOn = NO; 19 | 20 | static BOOL isSwiping = NO; 21 | 22 | static BOOL isForceTouchDown = NO; 23 | 24 | /// TextInout 25 | @protocol UITextInputPrivate //, UITextInputTraits_Private, UITextSelectingContainer> 26 | -(BOOL)shouldEnableAutoShift; 27 | -(NSRange)selectionRange; 28 | -(CGRect)rectForNSRange:(NSRange)nsrange; 29 | -(NSRange)_markedTextNSRange; 30 | //-(id)selectedDOMRange; 31 | //-(id)wordInRange:(id)range; 32 | //-(void)setSelectedDOMRange:(id)range affinityDownstream:(BOOL)downstream; 33 | //-(void)replaceRangeWithTextWithoutClosingTyping:(id)textWithoutClosingTyping replacementText:(id)text; 34 | //-(CGRect)rectContainingCaretSelection; 35 | -(void)moveBackward:(unsigned)backward; 36 | -(void)moveForward:(unsigned)forward; 37 | -(unsigned short)characterBeforeCaretSelection; 38 | -(id)wordContainingCaretSelection; 39 | -(id)wordRangeContainingCaretSelection; 40 | -(id)markedText; 41 | -(void)setMarkedText:(id)text; 42 | -(BOOL)hasContent; 43 | -(void)selectAll; 44 | -(id)textColorForCaretSelection; 45 | -(id)fontForCaretSelection; 46 | -(BOOL)hasSelection; 47 | @end 48 | 49 | 50 | @interface UIKeyboardImpl : UIView 51 | +(UIKeyboardImpl*)sharedInstance; 52 | +(UIKeyboardImpl*)activeInstance; 53 | @property (readonly, assign, nonatomic) UIResponder *privateInputDelegate; 54 | @property (readonly, assign, nonatomic) UIResponder *inputDelegate; 55 | -(BOOL)isLongPress; 56 | -(id)_layout; 57 | -(BOOL)callLayoutIsShiftKeyBeingHeld; 58 | -(void)handleDelete; 59 | -(void)handleDeleteAsRepeat:(BOOL)repeat; 60 | -(void)handleDeleteWithNonZeroInputCount; 61 | -(void)stopAutoDelete; 62 | -(BOOL)handwritingPlane; 63 | 64 | -(void)updateForChangedSelection; 65 | 66 | -(void)clearSelection; 67 | -(void)collapseSelection; 68 | 69 | // // SwipeSelection 70 | // -(void)_KHKeyboardGestureDidPan:(UIPanGestureRecognizer*)gesture; 71 | // -(void)SS_revealSelection:(UIView*)inputView; 72 | @end 73 | 74 | /** Text Selection Stuff **/ 75 | @interface _UIKeyboardTextSelectionController : NSObject 76 | -(void)setCursorPosition:(UITextPosition *)arg1 ; 77 | -(void)beginFloatingCursorAtPoint:(CGPoint)arg1 ; 78 | -(void)beginSelection; 79 | -(void)updateFloatingCursorAtPoint:(CGPoint)arg1 ; 80 | -(void)updateSelectionWithExtentPoint:(CGPoint)arg1 executionContext:(id)arg2 ; 81 | -(void)selectPositionAtPoint:(CGPoint)arg1 executionContext:(id)arg2 ; 82 | 83 | -(void)endSelection; 84 | -(void)endFloatingCursor; 85 | 86 | -(void)switchToRangedSelection; 87 | 88 | -(CGRect)caretRectForCursorPosition; 89 | 90 | -(void)setSelectionGranularity:(long long)arg1 ; 91 | -(void)setCaretRectForCursorPosition:(CGRect)arg1 ; 92 | 93 | -(UITextPosition *)cursorPosition; 94 | @end 95 | 96 | /** Text Gesture Stuff **/ 97 | @interface _UIKeyboardTextSelectionGestureController : NSObject 98 | +(id)sharedInstance; 99 | -(_UIKeyboardTextSelectionController *)selectionController; 100 | 101 | -(void)setLastPanTranslation:(CGPoint)arg1 ; 102 | -(CGPoint)cursorLocationForTranslation:(CGPoint)arg1; 103 | -(void)indirectCursorPanGestureWithState:(long long)arg1 withTranslation:(CGPoint)arg2 withFlickDirection:(unsigned long long)arg3 ; 104 | -(CGPoint)acceleratedTranslation:(CGPoint)arg1 velocity:(CGPoint)arg2 final:(BOOL)arg3 ; 105 | @end 106 | 107 | @interface _UITextSelectionForceGesture : UILongPressGestureRecognizer 108 | 109 | @end 110 | 111 | 112 | 113 | /** Keyboard hit stuff **/ 114 | @interface UIKBKey : NSObject 115 | @property(copy) NSString *representedString; 116 | @end 117 | 118 | @interface UIKeyboardLayout : UIView 119 | - (UIKBKey *)keyHitTest:(CGPoint)point; 120 | @end 121 | 122 | @interface UIKeyboardLayoutStar : UIKeyboardLayout 123 | - (UIKBKey *)keyHitTest:(CGPoint)arg1; 124 | -(id)keyHitTestWithoutCharging:(CGPoint)arg1; 125 | -(id)keyHitTestClosestToPoint:(CGPoint)arg1; 126 | -(id)keyHitTestContainingPoint:(CGPoint)arg1; 127 | - (void)setKeyboardToDim:(NSNotification*) notification; 128 | - (void)setKeyboardDim:(BOOL)arg1 ; 129 | 130 | -(BOOL)SS_shouldSelect; 131 | -(BOOL)SS_disableSwipes; 132 | -(BOOL)isShiftKeyBeingHeld; 133 | -(void)deleteAction; 134 | @end 135 | 136 | @interface UIKBTree : NSObject 137 | +(id)keyboard; 138 | +(id)key; 139 | +(id)shapesForControlKeyShapes:(id)arg1 options:(int)arg2; 140 | +(id)mergeStringForKeyName:(id)arg1; 141 | +(BOOL)shouldSkipCacheString:(id)arg1; 142 | +(id)stringForType:(int)arg1; 143 | +(id)treeOfType:(int)arg1; 144 | +(id)uniqueName; 145 | 146 | @property(retain, nonatomic) NSString *layoutTag; 147 | @property(retain, nonatomic) NSMutableDictionary *cache; 148 | @property(retain, nonatomic) NSMutableArray *subtrees; 149 | @property(retain, nonatomic) NSMutableDictionary *properties; 150 | @property(retain, nonatomic) NSString *name; 151 | @property(nonatomic) int type; 152 | 153 | -(int)flickDirection; 154 | 155 | - (BOOL)isLeafType; 156 | - (BOOL)usesKeyCharging; 157 | - (BOOL)usesAdaptiveKeys; 158 | - (BOOL)modifiesKeyplane; 159 | - (BOOL)avoidsLanguageIndicator; 160 | - (BOOL)isAlphabeticPlane; 161 | - (BOOL)noLanguageIndicator; 162 | - (BOOL)isLetters; 163 | - (BOOL)subtreesAreOrdered; 164 | @end 165 | 166 | 167 | /// iOS 7 Task Execution 168 | /// Handle Delete Key 169 | @class UIKeyboardTaskExecutionContext; 170 | 171 | @interface UIKeyboardTaskQueue : NSObject 172 | -(void)finishExecution; 173 | @end 174 | 175 | @interface UIKeyboardTaskExecutionContext : NSObject 176 | @property(readonly, nonatomic) UIKeyboardTaskQueue *executionQueue; 177 | @end 178 | 179 | 180 | 181 | 182 | 183 | -------------------------------------------------------------------------------- /Lupinus/control: -------------------------------------------------------------------------------- 1 | Package: tw.garynil.Lupinus 2 | Name: Lupinus 3 | Architecture: iphoneos-arm 4 | Description: With Lupinus, you can move the cursor or select text by swiping on keyboard (without 3D touch) as a trackpad with one of your finger. Both vertical and horizontal directions are supported. 5 | Homepage: https://garynil.tw 6 | Author: Gary niL 7 | Section: Tweaks 8 | Depends: mobilesubstrate, firmware (>= 9.0), preferenceloader, applist, net.angelxwind.karenprefs, net.angelxwind.karenlocalizer 9 | Conflicts: com.iky1e.swipeselection, com.iky1e.swipeselection-pro 10 | Version: 1.0 11 | Maintainer: Gary Lin 12 | Icon: file:///Library/PreferenceBundles/Lupinus.bundle/icon.png -------------------------------------------------------------------------------- /Lupinus/theos: -------------------------------------------------------------------------------- 1 | /opt/theos -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Free/Header.h: -------------------------------------------------------------------------------- 1 | // 2 | // Header.h 3 | // 4 | // 5 | // Created by Kyle Howells on 09/01/2014. 6 | // 7 | // 8 | 9 | #pragma mark - Imports 10 | 11 | #import 12 | #import 13 | #import 14 | #import 15 | 16 | #import "SSKHSettingsController.h" 17 | 18 | 19 | 20 | 21 | 22 | #pragma mark - Helpers 23 | 24 | #define SET_IF_TRUE(_value_, _variable_) ((_value_) ? _variable_ = _value_ : _variable_ = _variable_) 25 | #define KH_POSITIVE(_x_) (((_x_) < 0) ? (-(_x_)) : (_x_)) 26 | 27 | 28 | 29 | 30 | 31 | 32 | #pragma mark - Headers 33 | 34 | /// iOS 7 Task Execution 35 | @class UIKeyboardTaskExecutionContext; 36 | 37 | 38 | @interface UIKeyboardTaskQueue : NSObject 39 | @property(retain, nonatomic) UIKeyboardTaskExecutionContext *executionContext; 40 | -(BOOL)isMainThreadExecutingTask; 41 | -(void)performTask:(id)arg1; 42 | -(void)waitUntilAllTasksAreFinished; 43 | -(void)addDeferredTask:(id)arg1; 44 | -(void)addTask:(id)arg1; 45 | -(void)promoteDeferredTaskIfIdle; 46 | -(void)performDeferredTaskIfIdle; 47 | -(void)performTaskOnMainThread:(id)arg1 waitUntilDone:(void)arg2; 48 | -(void)finishExecution; 49 | -(void)continueExecutionOnMainThread; 50 | -(void)unlock; 51 | -(BOOL)tryLockWhenReadyForMainThread; 52 | -(void)lockWhenReadyForMainThread; 53 | -(void)lock; 54 | @end 55 | 56 | 57 | @interface UIKeyboardTaskExecutionContext : NSObject 58 | @property(readonly, nonatomic) UIKeyboardTaskQueue *executionQueue; 59 | 60 | -(void)transferExecutionToMainThreadWithTask:(id)arg1; 61 | -(void)returnExecutionToParent; 62 | -(id)childWithContinuation:(id)arg1; 63 | -(id)initWithParentContext:(id)arg1 continuation:(id)arg2; 64 | -(id)initWithExecutionQueue:(id)arg1; 65 | @end 66 | 67 | 68 | 69 | /** iOS 7 **/ 70 | @interface UIKBTree : NSObject 71 | +(id)keyboard; 72 | +(id)key; 73 | +(id)shapesForControlKeyShapes:(id)arg1 options:(int)arg2; 74 | +(id)mergeStringForKeyName:(id)arg1; 75 | +(BOOL)shouldSkipCacheString:(id)arg1; 76 | +(id)stringForType:(int)arg1; 77 | +(id)treeOfType:(int)arg1; 78 | +(id)uniqueName; 79 | 80 | @property(retain, nonatomic) NSString *layoutTag; 81 | @property(retain, nonatomic) NSMutableDictionary *cache; 82 | @property(retain, nonatomic) NSMutableArray *subtrees; 83 | @property(retain, nonatomic) NSMutableDictionary *properties; 84 | @property(retain, nonatomic) NSString *name; 85 | @property(nonatomic) int type; 86 | -(BOOL)isLeafType; 87 | -(BOOL)usesKeyCharging; 88 | -(BOOL)usesAdaptiveKeys; 89 | -(BOOL)modifiesKeyplane; 90 | -(BOOL)avoidsLanguageIndicator; 91 | -(BOOL)isAlphabeticPlane; 92 | -(BOOL)noLanguageIndicator; 93 | -(BOOL)isLetters; 94 | -(BOOL)subtreesAreOrdered; 95 | 96 | -(NSString*)representedString; 97 | -(NSString*)fullRepresentedString; 98 | @end 99 | 100 | 101 | 102 | 103 | @interface UIKeyboardLayout : UIView 104 | -(UIKBTree*)keyHitTest:(CGPoint)point; 105 | @end 106 | 107 | 108 | @interface UIKeyboardLayoutStar : UIKeyboardLayout 109 | @property(retain) UIKBTree * activeKey; 110 | @property BOOL autoShift; 111 | @property BOOL didLongPress; 112 | @property(readonly) UIKBTree * keyboard; 113 | @property(copy) NSString * keyboardName; 114 | @property(readonly) UIKBTree * keyplane; 115 | @property(copy) NSString * keyplaneName; 116 | @property(copy) NSString * localizedInputKey; 117 | @property(readonly) NSString * localizedInputMode; 118 | @property int playKeyClickSoundOn; 119 | @property(copy) NSString * preTouchKeyplaneName; 120 | @property BOOL shift; 121 | @property(readonly) BOOL showDictationKey; 122 | 123 | // iOS 7 124 | -(id)keyHitTest:(CGPoint)arg1; 125 | -(id)keyHitTestWithoutCharging:(CGPoint)arg1; 126 | -(id)keyHitTestClosestToPoint:(CGPoint)arg1; 127 | -(id)keyHitTestContainingPoint:(CGPoint)arg1; 128 | 129 | -(BOOL)isShiftKeyBeingHeld; 130 | -(BOOL)handwritingPlane; 131 | 132 | //-(BOOL)SS_shouldSelect; 133 | //-(BOOL)SS_disableSwipes; 134 | @end 135 | 136 | 137 | @interface UIKeyboardImpl : UIView 138 | +(UIKeyboardImpl*)sharedInstance; 139 | +(UIKeyboardImpl*)activeInstance; 140 | //@property (readonly, assign, nonatomic) UIResponder *privateInputDelegate; 141 | @property (readonly, assign, nonatomic) UIResponder *inputDelegate; 142 | 143 | -(NSString*)UILanguagePreference; 144 | -(NSString*)_getCurrentKeyboardName; 145 | -(NSString*)_getCurrentKeyplaneName; 146 | -(NSString*)_getLocalizedInputMode; 147 | 148 | -(BOOL)isLongPress; 149 | -(UIKeyboardLayout*)_layout; 150 | -(BOOL)callLayoutIsShiftKeyBeingHeld; 151 | -(void)_KHKeyboardGestureDidPan:(UIPanGestureRecognizer*)gesture; 152 | -(void)handleDelete; 153 | -(void)handleDeleteAsRepeat:(BOOL)repeat; 154 | -(void)handleDeleteWithNonZeroInputCount; 155 | -(void)stopAutoDelete; 156 | -(BOOL)handwritingPlane; 157 | 158 | -(void)updateForChangedSelection; 159 | @end 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | // 182 | // Random Selection visible stuff, must find something better 183 | // 184 | 185 | @interface UIFieldEditor : NSObject 186 | +(UIFieldEditor*)sharedFieldEditor; 187 | -(void)revealSelection; 188 | @end 189 | 190 | @interface UIView(Private_text) 191 | -(CGRect)caretRect; 192 | -(void)_scrollRectToVisible:(CGRect)visible animated:(BOOL)animated; 193 | 194 | -(void)scrollSelectionToVisible:(BOOL)arg1; 195 | @end 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | // Safari webview 208 | 209 | @interface WKContentView : UIView 210 | -(void)moveByOffset:(NSInteger)offset; 211 | @end 212 | 213 | -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Free/Layout/Library/MobileSubstrate/DynamicLibraries/SwipeSelection_legacy.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kylehowells/SwipeSelection/40901b6c08cc1b1298e287caf9156e4711824f37/New Cydia Versions/SwipeSelection Free/Layout/Library/MobileSubstrate/DynamicLibraries/SwipeSelection_legacy.dylib -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Free/Layout/Library/MobileSubstrate/DynamicLibraries/SwipeSelection_legacy.plist: -------------------------------------------------------------------------------- 1 | Filter = { 2 | Bundles = ("com.apple.UIKit"); 3 | CoreFoundationVersion = (550.32, 1240.10); 4 | }; 5 | SupportsRoot = 1; -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Free/Makefile: -------------------------------------------------------------------------------- 1 | ARCHS=armv7 arm64 2 | TARGET = iphone:9.3 3 | 4 | include $(THEOS)/makefiles/common.mk 5 | 6 | TWEAK_NAME = SwipeSelection 7 | SwipeSelection_FILES = Tweak.xm SSPanGestureRecognizer.m SSKHSettingsController.m 8 | SwipeSelection_FRAMEWORKS = UIKit Foundation CoreGraphics 9 | SwipeSelection_LDFLAGS += -Wl,-segalign,4000 10 | 11 | include $(THEOS_MAKE_PATH)/tweak.mk 12 | 13 | after-install:: 14 | install.exec "killall -9 SpringBoard" 15 | -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Free/SSKHSettingsController.h: -------------------------------------------------------------------------------- 1 | // 2 | // SSKHSettingsController.h 3 | // 4 | // 5 | // Created by Kyle Howells on 09/01/2014. 6 | // 7 | // 8 | 9 | #import 10 | 11 | typedef enum { 12 | SSSwipeWholeKeyboard = 1, // Everything 13 | SSSwipeAvoidSpacebar = 2, // Exclude space bar 14 | SSSwipeOnlySpaceBar = 3 // Only space bar 15 | } SSSwipeableArea; 16 | 17 | typedef enum { 18 | SSSwipeSpeedSlowest = -2, 19 | SSSwipeSpeedSlower = -1, 20 | SSSwipeSpeedNormal = 0, 21 | SSSwipeSpeedFaster = 1, 22 | SSSwipeSpeedFastest = 2 23 | } SSSwipeSpeed; 24 | 25 | 26 | typedef enum { 27 | SSSwipeSensitivityNormal = 1, 28 | SSSwipeSensitivityReduced = 2, 29 | SSSwipeSensitivityInsensitive = 3 30 | } SSSwipeSensitivity; 31 | 32 | 33 | 34 | @interface SSKHSettingsController : NSObject 35 | +(void)loadSettings; 36 | 37 | +(void)setEnabled:(BOOL)enabled; 38 | 39 | +(BOOL)enabled; 40 | +(BOOL)tripleTapToggles; 41 | +(BOOL)threeFingerSwipe; 42 | 43 | +(SSSwipeableArea)swipeableArea; 44 | +(SSSwipeSpeed)swipeSpeed; 45 | +(SSSwipeSensitivity)swipeSensitivity; 46 | @end 47 | -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Free/SSKHSettingsController.m: -------------------------------------------------------------------------------- 1 | // 2 | // SSKHSettingsController.m 3 | // 4 | // 5 | // Created by Kyle Howells on 09/01/2014. 6 | // 7 | // 8 | 9 | 10 | // 11 | // - FREE VERSION HAS NO SETTINGS - 12 | // 13 | 14 | 15 | 16 | #import "SSKHSettingsController.h" 17 | #import 18 | 19 | #ifndef kCFCoreFoundationVersionNumber_iOS_8_0 20 | #define kCFCoreFoundationVersionNumber_iOS_8_0 1140.10 21 | #endif 22 | 23 | 24 | 25 | 26 | #define SETTINGS_FILE @"/User/Library/Preferences/com.iky1e.swipeselection.plist" 27 | 28 | static NSDictionary *settings = nil; 29 | 30 | 31 | 32 | @implementation SSKHSettingsController 33 | 34 | +(void)load{ 35 | [self loadSettings]; 36 | } 37 | +(void)loadSettings{ 38 | // Do nothing, settings will be `nil` and all the settings will fall back to their defaults 39 | /*[settings release]; 40 | settings = nil; 41 | settings = [[NSDictionary alloc] initWithContentsOfFile:SETTINGS_FILE];*/ 42 | } 43 | 44 | +(id)objectForKey:(NSString*)key{ 45 | return [settings objectForKey:key]; 46 | } 47 | 48 | 49 | +(void)setEnabled:(BOOL)enabled{ 50 | // if (!settings) { 51 | // [self loadSettings]; 52 | // } 53 | 54 | // NSMutableDictionary *newSettings = [settings mutableCopy]; 55 | // [newSettings setObject:[NSNumber numberWithBool:enabled] forKey:@"SSEnabled"]; 56 | // [newSettings writeToFile:SETTINGS_FILE atomically:YES]; 57 | // [newSettings release]; 58 | 59 | // [self loadSettings]; 60 | 61 | // notify_post("com.iky1e.swipeselection/internal_settingschanged"); 62 | } 63 | +(BOOL)enabled{ 64 | id temp = [self objectForKey:@"SSEnabled"]; 65 | return (temp ? [temp boolValue] : YES); 66 | } 67 | 68 | 69 | +(BOOL)tripleTapToggles{ 70 | id temp = [self objectForKey:@"SSTripleTap"]; 71 | return (temp ? [temp boolValue] : NO); 72 | } 73 | 74 | +(BOOL)threeFingerSwipe{ 75 | id temp = [self objectForKey:@"SSTripleSwipe"]; 76 | return (temp ? [temp boolValue] : NO); 77 | } 78 | 79 | 80 | +(SSSwipeableArea)swipeableArea{ 81 | id temp = [self objectForKey:@"SSSwipeArea"]; 82 | return (temp ? [temp intValue] : SSSwipeWholeKeyboard); 83 | } 84 | 85 | +(SSSwipeSpeed)swipeSpeed{ 86 | id temp = [self objectForKey:@"SSSwipeSpeed"]; 87 | return (temp ? [temp intValue] : SSSwipeSpeedNormal); 88 | } 89 | 90 | +(SSSwipeSensitivity)swipeSensitivity{ 91 | id temp = [self objectForKey:@"SSSwipeSensitivity"]; 92 | return (temp ? [temp intValue] : SSSwipeSensitivityNormal); 93 | } 94 | 95 | @end 96 | 97 | -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Free/SSPanGestureRecognizer.h: -------------------------------------------------------------------------------- 1 | // 2 | // SSPanGestureRecognizer.h 3 | // 4 | // 5 | // Created by Kyle Howells on 09/01/2014. 6 | // 7 | // 8 | 9 | #import 10 | 11 | @interface SSPanGestureRecognizer : UIPanGestureRecognizer 12 | @end 13 | -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Free/SSPanGestureRecognizer.m: -------------------------------------------------------------------------------- 1 | // 2 | // SSPanGestureRecognizer.m 3 | // 4 | // 5 | // Created by Kyle Howells on 09/01/2014. 6 | // 7 | // 8 | 9 | #import "SSPanGestureRecognizer.h" 10 | #import 11 | 12 | 13 | Class AKFlickGestureRecognizer(){ 14 | static Class AKFlickGestureRecognizer_Class = nil; 15 | static BOOL checked = NO; 16 | 17 | if (!checked) { 18 | AKFlickGestureRecognizer_Class = objc_getClass("AKFlickGestureRecognizer"); 19 | } 20 | 21 | return AKFlickGestureRecognizer_Class; 22 | } 23 | 24 | 25 | @implementation SSPanGestureRecognizer 26 | -(BOOL)canBePreventedByGestureRecognizer:(UIGestureRecognizer *)preventingGestureRecognizer{ 27 | 28 | // UIPanGestureRecognizer = emoji scroll view. AKFlickGestureRecognizer = a picture drawing keyboard tweak I can't remember the name of 29 | if ([preventingGestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]] && 30 | ([preventingGestureRecognizer isKindOfClass:AKFlickGestureRecognizer()] == NO)) 31 | { 32 | return YES; 33 | } 34 | 35 | return NO; 36 | } 37 | 38 | -(BOOL)canPreventGestureRecognizer:(UIGestureRecognizer *)gestureRecognizer{ 39 | return NO; 40 | } 41 | @end 42 | -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Free/SwipeSelection.plist: -------------------------------------------------------------------------------- 1 | Filter = { 2 | Bundles = ("com.apple.UIKit"); 3 | CoreFoundationVersion = (1240.10); 4 | }; 5 | SupportsRoot = 1; -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Free/control: -------------------------------------------------------------------------------- 1 | Package: com.iky1e.swipeselection 2 | Name: SwipeSelection 3 | Depends: mobilesubstrate 4 | Conflicts: com.iky1e.swipeselection-pro 5 | Version: 1.0.3 6 | Architecture: iphoneos-arm 7 | Description: Swipe along the keyboard to move the cursor and select text. 8 | Maintainer: Kyle Howells 9 | Author: Kyle Howells 10 | Section: Tweaks 11 | -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/Header.h: -------------------------------------------------------------------------------- 1 | // 2 | // Header.h 3 | // 4 | // 5 | // Created by Kyle Howells on 09/01/2014. 6 | // 7 | // 8 | 9 | #pragma mark - Imports 10 | 11 | #import 12 | #import 13 | #import 14 | #import 15 | 16 | #import "SSKHSettingsController.h" 17 | 18 | 19 | 20 | 21 | 22 | #pragma mark - Helpers 23 | 24 | #define SET_IF_TRUE(_value_, _variable_) ((_value_) ? _variable_ = _value_ : _variable_ = _variable_) 25 | #define KH_POSITIVE(_x_) (((_x_) < 0) ? (-(_x_)) : (_x_)) 26 | 27 | 28 | 29 | 30 | 31 | 32 | #pragma mark - Headers 33 | 34 | /// iOS 7 Task Execution 35 | @class UIKeyboardTaskExecutionContext; 36 | 37 | 38 | @interface UIKeyboardTaskQueue : NSObject 39 | @property(retain, nonatomic) UIKeyboardTaskExecutionContext *executionContext; 40 | -(BOOL)isMainThreadExecutingTask; 41 | -(void)performTask:(id)arg1; 42 | -(void)waitUntilAllTasksAreFinished; 43 | -(void)addDeferredTask:(id)arg1; 44 | -(void)addTask:(id)arg1; 45 | -(void)promoteDeferredTaskIfIdle; 46 | -(void)performDeferredTaskIfIdle; 47 | -(void)performTaskOnMainThread:(id)arg1 waitUntilDone:(void)arg2; 48 | -(void)finishExecution; 49 | -(void)continueExecutionOnMainThread; 50 | -(void)unlock; 51 | -(BOOL)tryLockWhenReadyForMainThread; 52 | -(void)lockWhenReadyForMainThread; 53 | -(void)lock; 54 | @end 55 | 56 | 57 | @interface UIKeyboardTaskExecutionContext : NSObject 58 | @property(readonly, nonatomic) UIKeyboardTaskQueue *executionQueue; 59 | 60 | -(void)transferExecutionToMainThreadWithTask:(id)arg1; 61 | -(void)returnExecutionToParent; 62 | -(id)childWithContinuation:(id)arg1; 63 | -(id)initWithParentContext:(id)arg1 continuation:(id)arg2; 64 | -(id)initWithExecutionQueue:(id)arg1; 65 | @end 66 | 67 | 68 | 69 | /** iOS 7 **/ 70 | @interface UIKBTree : NSObject 71 | +(id)keyboard; 72 | +(id)key; 73 | +(id)shapesForControlKeyShapes:(id)arg1 options:(int)arg2; 74 | +(id)mergeStringForKeyName:(id)arg1; 75 | +(BOOL)shouldSkipCacheString:(id)arg1; 76 | +(id)stringForType:(int)arg1; 77 | +(id)treeOfType:(int)arg1; 78 | +(id)uniqueName; 79 | 80 | @property(retain, nonatomic) NSString *layoutTag; 81 | @property(retain, nonatomic) NSMutableDictionary *cache; 82 | @property(retain, nonatomic) NSMutableArray *subtrees; 83 | @property(retain, nonatomic) NSMutableDictionary *properties; 84 | @property(retain, nonatomic) NSString *name; 85 | @property(nonatomic) int type; 86 | -(BOOL)isLeafType; 87 | -(BOOL)usesKeyCharging; 88 | -(BOOL)usesAdaptiveKeys; 89 | -(BOOL)modifiesKeyplane; 90 | -(BOOL)avoidsLanguageIndicator; 91 | -(BOOL)isAlphabeticPlane; 92 | -(BOOL)noLanguageIndicator; 93 | -(BOOL)isLetters; 94 | -(BOOL)subtreesAreOrdered; 95 | 96 | -(NSString*)representedString; 97 | -(NSString*)fullRepresentedString; 98 | @end 99 | 100 | 101 | 102 | 103 | @interface UIKeyboardLayout : UIView 104 | -(UIKBTree*)keyHitTest:(CGPoint)point; 105 | @end 106 | 107 | 108 | @interface UIKeyboardLayoutStar : UIKeyboardLayout 109 | @property(retain) UIKBTree * activeKey; 110 | @property BOOL autoShift; 111 | @property BOOL didLongPress; 112 | @property(readonly) UIKBTree * keyboard; 113 | @property(copy) NSString * keyboardName; 114 | @property(readonly) UIKBTree * keyplane; 115 | @property(copy) NSString * keyplaneName; 116 | @property(copy) NSString * localizedInputKey; 117 | @property(readonly) NSString * localizedInputMode; 118 | @property int playKeyClickSoundOn; 119 | @property(copy) NSString * preTouchKeyplaneName; 120 | @property BOOL shift; 121 | @property(readonly) BOOL showDictationKey; 122 | 123 | // iOS 7 124 | -(id)keyHitTest:(CGPoint)arg1; 125 | -(id)keyHitTestWithoutCharging:(CGPoint)arg1; 126 | -(id)keyHitTestClosestToPoint:(CGPoint)arg1; 127 | -(id)keyHitTestContainingPoint:(CGPoint)arg1; 128 | 129 | -(BOOL)isShiftKeyBeingHeld; 130 | -(BOOL)handwritingPlane; 131 | 132 | //-(BOOL)SS_shouldSelect; 133 | //-(BOOL)SS_disableSwipes; 134 | @end 135 | 136 | 137 | @interface UIKeyboardImpl : UIView 138 | +(UIKeyboardImpl*)sharedInstance; 139 | +(UIKeyboardImpl*)activeInstance; 140 | //@property (readonly, assign, nonatomic) UIResponder *privateInputDelegate; 141 | @property (readonly, assign, nonatomic) UIResponder *inputDelegate; 142 | 143 | -(NSString*)UILanguagePreference; 144 | -(NSString*)_getCurrentKeyboardName; 145 | -(NSString*)_getCurrentKeyplaneName; 146 | -(NSString*)_getLocalizedInputMode; 147 | 148 | -(BOOL)isLongPress; 149 | -(UIKeyboardLayout*)_layout; 150 | -(BOOL)callLayoutIsShiftKeyBeingHeld; 151 | -(void)_KHKeyboardGestureDidPan:(UIPanGestureRecognizer*)gesture; 152 | -(void)handleDelete; 153 | -(void)handleDeleteAsRepeat:(BOOL)repeat; 154 | -(void)handleDeleteWithNonZeroInputCount; 155 | -(void)stopAutoDelete; 156 | -(BOOL)handwritingPlane; 157 | 158 | -(void)updateForChangedSelection; 159 | @end 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | // 182 | // Random Selection visible stuff, must find something better 183 | // 184 | 185 | @interface UIFieldEditor : NSObject 186 | +(UIFieldEditor*)sharedFieldEditor; 187 | -(void)revealSelection; 188 | @end 189 | 190 | @interface UIView(Private_text) 191 | -(CGRect)caretRect; 192 | -(void)_scrollRectToVisible:(CGRect)visible animated:(BOOL)animated; 193 | 194 | -(void)scrollSelectionToVisible:(BOOL)arg1; 195 | @end 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | // Safari webview 208 | 209 | @interface WKContentView : UIView 210 | -(void)moveByOffset:(NSInteger)offset; 211 | @end 212 | 213 | -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/Layout/Library/MobileSubstrate/DynamicLibraries/SwipeSelectionProLegacy.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kylehowells/SwipeSelection/40901b6c08cc1b1298e287caf9156e4711824f37/New Cydia Versions/SwipeSelection Pro/Layout/Library/MobileSubstrate/DynamicLibraries/SwipeSelectionProLegacy.dylib -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/Layout/Library/MobileSubstrate/DynamicLibraries/SwipeSelectionProLegacy.plist: -------------------------------------------------------------------------------- 1 | Filter = { 2 | Bundles = ("com.apple.UIKit"); 3 | CoreFoundationVersion = (847.20, 1240.10); 4 | }; 5 | SupportsRoot = 1; -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/Layout/Library/PreferenceBundles/SwipeSelectionProLegacy.bundle/README.md: -------------------------------------------------------------------------------- 1 | # SwipeSelectionPro-Localizations 2 | The translations of SwipeSelection Pro's settings 3 | 4 | To contribute: Fork the repo, make the correction/addition and then submit a pull request. 5 | 6 | This is the best list of languages and their corresponding short codes I've found: http://www.opensource.apple.com/source/CF/CF-476.14/CFLocaleIdentifier.c 7 | -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/Layout/Library/PreferenceBundles/SwipeSelectionProLegacy.bundle/ar.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "مفعّل"; 5 | 6 | SETTINGS = "الإعدادات"; 7 | 8 | TRIPLE_TAP = "ثلاث لمسات"; 9 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "اضغط على مفتاح SHIFT ثلاث مرات متتالية لتفعيل و إلغاء SwipeSelection"; 10 | 11 | 12 | SWIPE_AREA = "منطقة اللّمس"; 13 | KEYBOARD_SWIPABLE_AREA = "المنطقة في لوحة المفاتيح التي تتلقّى اللّمسات و الإيماءات"; 14 | 15 | WHOLE_KEYBOARD = "كل لوحة المفاتيح (الافتراضي)"; 16 | EXCLUDING_SPACEBAR = "كل لوحة المفاتيح عدى المسافة"; 17 | JUST_SPACEBAR = "المسافة فقط"; 18 | 19 | 20 | SENSITIVITY = "الحساسية"; 21 | SWIPE_SENSITIVITY = "مقدار حساسية SwipeSelection اثناء تحريكك لاصبعك على لوحة المفاتيح"; 22 | 23 | NORMAL = "متوسط"; 24 | REDUCED = "منخفض"; 25 | INSENSITIVE = "غير حساس"; 26 | 27 | 28 | SWIPE_SPEED = "سرعة التحريك"; 29 | SWIPE_SPEED_FOOTER = "سرعة المؤشر عند تحريكك لاصبعك على لوحة المفاتيح"; 30 | 31 | SLOWEST = "الأبطأ"; 32 | SLOWER = "بطيء"; 33 | NORMAL = "متوسط"; 34 | FASTER = "سريع"; 35 | FASTEST = "الأسرع"; 36 | 37 | THREE_FINGER_SWIPE = "التحريك بثلاث أصابع"; 38 | THREE_FINGER_SWIPE_FOOTER = "اسحب على لوحة المفاتيح بثلاثة أصابع للانتقال الى نهاية او بداية المستند. (ينصح به فقط على الiPad)"; 39 | } -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/Layout/Library/PreferenceBundles/SwipeSelectionProLegacy.bundle/de.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Aktiviert"; 5 | 6 | SETTINGS = "Einstellungen"; 7 | 8 | TRIPLE_TAP = "Dreifach Tippen"; 9 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Dreimal den Shift Key drücken um SwipeSelection zu aktivieren oder zu deaktivieren"; 10 | 11 | 12 | 13 | SWIPE_AREA = "Streich Bereich"; 14 | KEYBOARD_SWIPABLE_AREA = "Der Bereich der Tastatur der zum Swipen verfügbar ist"; 15 | 16 | WHOLE_KEYBOARD = "Ganze Tastatur (Standart)"; 17 | EXCLUDING_SPACEBAR = "Alles aber Leertaste"; 18 | JUST_SPACEBAR = "Nur die Leertaste"; 19 | 20 | 21 | SENSITIVITY = "Empfindlichkeit"; 22 | SWIPE_SENSITIVITY = "Wie empfindlich sollte SwipeSelection zu Ihrem Finger sein?"; 23 | NORMAL = "Normal"; 24 | REDUCED = "Reduziert"; 25 | INSENSITIVE = "Unempfindlich"; 26 | 27 | 28 | SWIPE_SPEED = "Wisch Geschwindigkeit"; 29 | SWIPE_SPEED_FOOTER = "Wie schnell soll sich der Cursor bewegen bei einer Wischbewegung"; 30 | SLOWEST = "Langsamsten"; 31 | SLOWER = "Langsam"; 32 | NORMAL = "Normal"; 33 | FASTER = "Schneller"; 34 | FASTEST = "Schnellstes"; 35 | 36 | THREE_FINGER_SWIPE = "3 Finger Wisch"; 37 | THREE_FINGER_SWIPE_FOOTER = "Streichen Sie mit 3 Fingern um an den Anfang oder das Ende eines Dokumentes zu gelangen (nur auf dem iPad empfohlen)"; 38 | } -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/Layout/Library/PreferenceBundles/SwipeSelectionProLegacy.bundle/en.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Enabled"; 5 | 6 | SETTINGS = "Settings"; 7 | 8 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Triple tap the shift key to toggle SwipeSelection ON and OFF"; 9 | 10 | TRIPLE_TAP = "Triple Tap"; 11 | 12 | KEYBOARD_SWIPABLE_AREA = "The area of the keyboard which should be swipeable"; 13 | 14 | 15 | SWIPE_AREA = "Swipe Area"; 16 | WHOLE_KEYBOARD = "Whole keyboard (Default)"; 17 | EXCLUDING_SPACEBAR = "Everything but the spacebar"; 18 | JUST_SPACEBAR = "Just the spacebar"; 19 | 20 | 21 | SENSITIVITY = "Sensitivity"; 22 | SWIPE_SENSITIVITY = "How sensitive SwipeSelection should be to you moving your finger"; 23 | NORMAL = "Normal"; 24 | REDUCED = "Reduced"; 25 | INSENSITIVE = "Insensitive"; 26 | 27 | 28 | SWIPE_SPEED = "Swipe Speed"; 29 | SWIPE_SPEED_FOOTER = "How fast should the cursor move as you swipe"; 30 | SLOWEST = "Slowest"; 31 | SLOWER = "Slower"; 32 | NORMAL = "Normal"; 33 | FASTER = "Faster"; 34 | FASTEST = "Fastest"; 35 | 36 | THREE_FINGER_SWIPE = "3 Finger Swipe"; 37 | THREE_FINGER_SWIPE_FOOTER = "Swipe with 3 fingers to move to the beginning or end of a document. (only advisable on iPad)"; 38 | } -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/Layout/Library/PreferenceBundles/SwipeSelectionProLegacy.bundle/es.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Habilitado"; 5 | 6 | SETTINGS = "Configuración"; 7 | 8 | 9 | TRIPLE_TAP = "Pulsa Tres Veces"; 10 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Pulsa tres veces la tecla Shift para activar/desactivar SwipeSelection"; 11 | 12 | 13 | SWIPE_AREA = "Area de Deslizamiento"; 14 | KEYBOARD_SWIPABLE_AREA = "El área del teclado que debería ser deslizable."; 15 | 16 | WHOLE_KEYBOARD = "Todo el teclado (Por defecto)"; 17 | EXCLUDING_SPACEBAR = "Todo menos la barra espaciadora"; 18 | JUST_SPACEBAR = "Sólo la barra espaciadora"; 19 | 20 | 21 | SENSITIVITY = "Sensibilidad"; 22 | SWIPE_SENSITIVITY = "Cómo de sensible tiene que ser SwipeSelection para detectar el movimiento de tu dedo."; 23 | 24 | NORMAL = "Normal"; 25 | REDUCED = "Reducido"; 26 | INSENSITIVE = "Insensible"; 27 | 28 | 29 | SWIPE_SPEED = "Velocidad de deslizamiento"; 30 | SWIPE_SPEED_FOOTER = "Qué tan rápido se debería mover el cursor al deslizar"; 31 | 32 | SLOWEST = "Más lento"; 33 | SLOWER = "Lento"; 34 | NORMAL = "Normal"; 35 | FASTER = "Rápido"; 36 | FASTEST = "Más rapido"; 37 | 38 | 39 | THREE_FINGER_SWIPE = "Deslizamiento de 3 dedos"; 40 | THREE_FINGER_SWIPE_FOOTER = "Desliza con 3 dedos para moverte al principio o final de un documento. (sólo es aconsejable para iPad)"; 41 | } -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/Layout/Library/PreferenceBundles/SwipeSelectionProLegacy.bundle/es_MX.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Activado"; 5 | SETTINGS = "Ajustes"; 6 | 7 | 8 | TRIPLE_TAP = "Pulsa Tres Veces"; 9 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Toca tres veces la tecla shift para Encender / Apagar SwipeSelection"; 10 | 11 | 12 | SWIPE_AREA = "Area de Deslizamiento"; 13 | KEYBOARD_SWIPABLE_AREA = "El área del teclado en la que puedes deslizar"; 14 | 15 | WHOLE_KEYBOARD = "Todo el teclado (Por defecto)"; 16 | EXCLUDING_SPACEBAR = "Todo excepto la barra de espacio"; 17 | JUST_SPACEBAR = "Sólo la barra de espacio"; 18 | 19 | 20 | SENSITIVITY = "Sensibilidad"; 21 | SWIPE_SENSITIVITY = "Qué tan sensible SwipeSelection debe ser al mover tu dedo"; 22 | NORMAL = "Normal"; 23 | REDUCED = "Reducida"; 24 | INSENSITIVE = "Insensible"; 25 | 26 | 27 | SWIPE_SPEED = "Velocidad de deslizamiento"; 28 | SWIPE_SPEED_FOOTER = "Qué tan rápido se mueve el cursor mientras deslizas"; 29 | SLOWEST = "Más lenta"; 30 | SLOWER = "Lenta"; 31 | NORMAL = "Normal"; 32 | FASTER = "Rápido"; 33 | FASTEST = "Más rápido"; 34 | 35 | THREE_FINGER_SWIPE = "Deslice de 3 dedos"; 36 | THREE_FINGER_SWIPE_FOOTER = "Desliza 3 dedos para ir al principio o final de un documento. (Recomendado sólo para iPad)"; 37 | } -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/Layout/Library/PreferenceBundles/SwipeSelectionProLegacy.bundle/fi.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Käytössä"; 5 | 6 | SETTINGS = "Asetukset"; 7 | 8 | 9 | TRIPLE_TAP = "Kolmoisnapautus"; 10 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Kolmoisnapauta Vaihto-näppäintä asettaaksesi SwipeSelectionin KÄYTTÖÖN tai POIS KÄYTÖSTÄ."; 11 | 12 | 13 | SWIPE_AREA = "Pyyhkäisyalue"; 14 | KEYBOARD_SWIPABLE_AREA = "Näppäimistön alue, jonka tulisi olla pyyhkäistävä"; 15 | WHOLE_KEYBOARD = "Koko näppäimistö (Oletus)"; 16 | EXCLUDING_SPACEBAR = "Kaikki paitsi välilyönti"; 17 | JUST_SPACEBAR = "Vain välilyönti"; 18 | 19 | 20 | SENSITIVITY = "Herkkyys"; 21 | SWIPE_SENSITIVITY = "Kuinka herkkäSwipeSelectionin tulisi olla sormesi liikkeelle"; 22 | NORMAL = "Normaali"; 23 | REDUCED = "Pienempi"; 24 | INSENSITIVE = "Pienin"; 25 | 26 | 27 | SWIPE_SPEED = "Pyyhkäisynopeus"; 28 | SWIPE_SPEED_FOOTER = "Kuinka nopeasti kursorin tulisi liikkua pyyhkäistessäsiswipe"; 29 | SLOWEST = "Hitain"; 30 | SLOWER = "Hitaampi"; 31 | NORMAL = "Normaali"; 32 | FASTER = "Nopeampi"; 33 | FASTEST = "Nopein"; 34 | 35 | THREE_FINGER_SWIPE = "Kolmen sormen pyyhkäisy"; 36 | THREE_FINGER_SWIPE_FOOTER = "Pyyhkäise kolmella sormella liikkuaksesi dokumentin alkuun tai loppuun. (suositeltavaa vain iPadilla)"; 37 | } -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/Layout/Library/PreferenceBundles/SwipeSelectionProLegacy.bundle/fr.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Activer"; 5 | 6 | SETTINGS = "Paramètres"; 7 | 8 | 9 | TRIPLE_TAP = "Appuyer trois fois"; 10 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Appuyer trois fois sur la touche Shift pour activer/désactiver SwipeSelectionOFF"; 11 | 12 | 13 | SWIPE_AREA = "Zone de glisse"; 14 | KEYBOARD_SWIPABLE_AREA = "La zone du clavier qui peut swipe"; 15 | 16 | WHOLE_KEYBOARD = "Tout le clavier"; 17 | EXCLUDING_SPACEBAR = "Partout sauf la barre d'espace"; 18 | JUST_SPACEBAR = "La barre d'espace"; 19 | 20 | 21 | SENSITIVITY = "Sensibilité"; 22 | SWIPE_SENSITIVITY = "À quelle sensibilité doit être SwipeSelection ?"; 23 | 24 | NORMAL = "Normale"; 25 | REDUCED = "Limitée"; 26 | INSENSITIVE = "Faible"; 27 | 28 | 29 | SWIPE_SPEED = "Vitesse du swipe"; 30 | SWIPE_SPEED_FOOTER = "À quelle vitesse le curseur doit bouger quand on swipe"; 31 | 32 | SLOWEST = "Très lent"; 33 | SLOWER = "Lent"; 34 | NORMAL = "Normal"; 35 | FASTER = "Rapide"; 36 | FASTEST = "Très rapide"; 37 | 38 | 39 | THREE_FINGER_SWIPE = "Swipe avec 3 doigts"; 40 | THREE_FINGER_SWIPE_FOOTER = "Utiliser trois doigts pour aller au début ou à la fin du texte. (Optimisé pour iPad)"; 41 | } 42 | -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/Layout/Library/PreferenceBundles/SwipeSelectionProLegacy.bundle/fr_CA.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Permettre"; 5 | 6 | SETTINGS = "Paramètres"; 7 | 8 | 9 | TRIPLE_TAP = "Triple-tap"; 10 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Triple-tap sur la touche Maj pour habiliter SwipeSelection"; 11 | 12 | 13 | SWIPE_AREA = "Zone de Glissement"; 14 | KEYBOARD_SWIPABLE_AREA = "La zone du clavier qui doivent être glisseable"; 15 | WHOLE_KEYBOARD = "Tout le clavier (Défaut)"; 16 | EXCLUDING_SPACEBAR = "Tous moins la barre d'espace"; 17 | JUST_SPACEBAR = "Seulement la barre d'espace"; 18 | 19 | 20 | SENSITIVITY = "Sensibilité"; 21 | SWIPE_SENSITIVITY = "Comment sensible SwipeSelection doit être pour vous déplaçant votre doigt"; 22 | 23 | NORMAL = "Normal"; 24 | REDUCED = "Reduit"; 25 | INSENSITIVE = "Insensible"; 26 | 27 | 28 | SWIPE_SPEED = "Vitesse de Glissement"; 29 | SWIPE_SPEED_FOOTER = "Quelle vitesse faut déplacer le curseur lorsque vous tapez"; 30 | 31 | SLOWEST = "Plus lent"; 32 | SLOWER = "Lent"; 33 | NORMAL = "Normal"; 34 | FASTER = "Rapide"; 35 | FASTEST = "Plus Rapide"; 36 | 37 | 38 | THREE_FINGER_SWIPE = "Glissement à trois doigts"; 39 | THREE_FINGER_SWIPE_FOOTER = "Glisse avec trois doigts pour déplacer au début ou à la fin d'un document. (conseillé uniquement sur iPad)"; 40 | } -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/Layout/Library/PreferenceBundles/SwipeSelectionProLegacy.bundle/he_IL.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "מופעל"; 5 | 6 | SETTINGS = "הגדרות"; 7 | 8 | 9 | TRIPLE_TAP = "הקשה משולשת"; 10 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "לחץ הקשה משולשת על כפתור השיפט (לא בעברית) כדי להדליק ולכבות את SwipeSelection"; 11 | 12 | 13 | SWIPE_AREA = "אזור החלקה"; 14 | KEYBOARD_SWIPABLE_AREA = "האזור של המקלדת שיהיה ניתן להחליק בו"; 15 | 16 | WHOLE_KEYBOARD = "כל המקלדת (ברירת מחדל)"; 17 | EXCLUDING_SPACEBAR = "הכל מלבד שורת הרווח"; 18 | JUST_SPACEBAR = "רק שורת הרווח"; 19 | 20 | 21 | SENSITIVITY = "רגישות"; 22 | SWIPE_SENSITIVITY = "כמה רגיש על SwipeSelection להיות להחלקת האצבע"; 23 | 24 | NORMAL = "נורמלי"; 25 | REDUCED = "מצומצם"; 26 | INSENSITIVE = "לא רגיש"; 27 | 28 | 29 | SWIPE_SPEED = "מהירות החלקה"; 30 | SWIPE_SPEED_FOOTER = "כמה מהר על הסמן לזוז כאשר אתה מחליק"; 31 | 32 | SLOWEST = "הכי איטי"; 33 | SLOWER = "איטי יותר"; 34 | NORMAL = "נורמלי"; 35 | FASTER = "מהיר יותר"; 36 | FASTEST = "הכי מהיר"; 37 | 38 | 39 | THREE_FINGER_SWIPE = "החלקה ב3 אצבעות"; 40 | THREE_FINGER_SWIPE_FOOTER = "החלק עם 3 אצבעות כדי לזוז להתחלת או סוף המסמך (מומלץ רק בiPad)"; 41 | } -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/Layout/Library/PreferenceBundles/SwipeSelectionProLegacy.bundle/hu.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Engedélyezve"; 5 | 6 | SETTINGS = "Beállítások"; 7 | 8 | 9 | TRIPLE_TAP = "Tripla bökés"; 10 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Bökj háromszor a shift gombra, hogy ki-be kapcsold a SwipeSelection-t."; 11 | 12 | 13 | SWIPE_AREA = "Gesztus terület"; 14 | KEYBOARD_SWIPABLE_AREA = "A billentyűzet azon része, ahol tudsz gesztusokat véghez vinni."; 15 | 16 | WHOLE_KEYBOARD = "Teljes billentyűzet (alapértelmezett)"; 17 | EXCLUDING_SPACEBAR = "Mindenhol, kivéve a szóköz billentyűn"; 18 | JUST_SPACEBAR = "Csak a szóköz billentyűn"; 19 | 20 | 21 | SENSITIVITY = "Érzékenység"; 22 | SWIPE_SENSITIVITY = "Itt módosíthatod, hogy milyen érzékeny legyen a SwipeSelection az ujjad mozgatására."; 23 | NORMAL = "Normál"; 24 | REDUCED = "Csökkentett"; 25 | INSENSITIVE = "Érzéketlen"; 26 | 27 | 28 | SWIPE_SPEED = "Gesztus sebesség"; 29 | SWIPE_SPEED_FOOTER = "Itt módosíthatod, hogy milyen gyorsan mozogjon a kurzor, ha húzod az ujjad."; 30 | SLOWEST = "Leglassabb"; 31 | SLOWER = "Lassabb"; 32 | NORMAL = "Normál"; 33 | FASTER = "Gyorsabb"; 34 | FASTEST = "Leggyorssabb"; 35 | 36 | THREE_FINGER_SWIPE = "Három ujjas húzás"; 37 | THREE_FINGER_SWIPE_FOOTER = "Húzd három ujjad, hogy a dokumentum elejére ugorhass. Ez a funkció csak iPaden érhető el."; 38 | } -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/Layout/Library/PreferenceBundles/SwipeSelectionProLegacy.bundle/id.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Diaktifkan"; 5 | 6 | SETTINGS = "Pengaturan"; 7 | 8 | 9 | TRIPLE_TAP = "Tiga Kali Tekan Layatr"; 10 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Tiga kali sentuh tombol Shift untuk mengaktifkan SwipeSelection ON dan OFF-t."; 11 | 12 | 13 | SWIPE_AREA = "Daerah Menggeser"; 14 | KEYBOARD_SWIPABLE_AREA = "Area keyboard yang dapat di-swipe"; 15 | 16 | WHOLE_KEYBOARD = "Keseluruhan Keyboard (Bawaan)"; 17 | EXCLUDING_SPACEBAR = "Seluruh keyboard kecuali tombol spasi"; 18 | JUST_SPACEBAR = "Hanya Tombol Spasi"; 19 | 20 | 21 | SENSITIVITY = "Tingkat kepekaan"; 22 | SWIPE_SENSITIVITY = "Tingkat kepekaan SwipeSelection untuk gerakan jari anda"; 23 | NORMAL = "Normal"; 24 | REDUCED = "Dikurangi"; 25 | INSENSITIVE = "Kurang Sensitif"; 26 | 27 | 28 | SWIPE_SPEED = "Kecepatan menggeser"; 29 | SWIPE_SPEED_FOOTER = "Seberapa cepat gerakan kursor ketika anda melakukan sentuhan"; 30 | SLOWEST = "Paling lambat"; 31 | SLOWER = "Lebih lambat"; 32 | NORMAL = "Normal"; 33 | FASTER = "Cepat"; 34 | FASTEST = "Paling cepat"; 35 | 36 | THREE_FINGER_SWIPE = "Sentuhan dengan 3 jari"; 37 | THREE_FINGER_SWIPE_FOOTER = "Swipe dengan 3 jari untuk pindah ke awal atau akhir dokumen. (Hanya dianjurkan pada iPad)"; 38 | } -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/Layout/Library/PreferenceBundles/SwipeSelectionProLegacy.bundle/ko.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | /* ko_KR */ 5 | 6 | ENABLED = "활성화 시키기"; 7 | 8 | SETTINGS = "설정"; 9 | 10 | 11 | TRIPLE_TAP = "삼중 탭"; 12 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "SwipeSelection 을 활성화 하려면 'Shift' 버튼을 삼중 탭 하세요"; 13 | 14 | 15 | SWIPE_AREA = "스와이프 적용 범위"; 16 | KEYBOARD_SWIPABLE_AREA = "키보드 상에서 스와이프 가능한 범위를 설정합니다"; 17 | 18 | 19 | SENSITIVITY = "민감도"; 20 | SWIPE_SENSITIVITY = "SwipeSelection 의 민감도를 조정할 수 있습니다"; 21 | 22 | 23 | SWIPE_SPEED = "스와이프 속도"; 24 | SWIPE_SPEED_FOOTER = "스와이프시 커서의 움직임 속도를 조절할 수 있습니다"; 25 | 26 | THREE_FINGER_SWIPE = "세 손가락으로 옮기기"; 27 | THREE_FINGER_SWIPE_FOOTER = "세 손가락으로 옮기기를 사용해 문서의 처음이나 끝 부분으로 이동할수 있습니다. ( 아이패드에서만 사용하길 권장합니다)"; 28 | 29 | 30 | WHOLE_KEYBOARD = "키보드 전체 영역"; 31 | EXCLUDING_SPACEBAR = "스페이스 버튼 제외"; 32 | JUST_SPACEBAR = "스페이스 바 범위만"; 33 | 34 | 35 | NORMAL = "기본 설정"; 36 | REDUCED = "덜 민감하게"; 37 | INSENSITIVE = "더 민감하게"; 38 | 39 | 40 | SLOWEST = "가장 느린 속도"; 41 | SLOWER = "느린 속도"; 42 | NORMAL = "기본 설정"; 43 | FASTER = "빠른 속도"; 44 | FASTEST = "가장 빠른 속도"; 45 | } -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/Layout/Library/PreferenceBundles/SwipeSelectionProLegacy.bundle/pt.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Ativo"; 5 | 6 | SETTINGS = "Definições"; 7 | 8 | 9 | TRIPLE_TAP = "Três Toques"; 10 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Três toques no botão shift pata ativar ou desativar o SwipeSelection-t."; 11 | 12 | 13 | SWIPE_AREA = "Área do Deslize"; 14 | KEYBOARD_SWIPABLE_AREA = "A área do teclado que deveria ser deslizável"; 15 | 16 | 17 | SENSITIVITY = "Sensitividade"; 18 | SWIPE_SENSITIVITY = "Quão sensível o SwipeSelection deve ser movendo o seu dedo"; 19 | 20 | 21 | SWIPE_SPEED = "Rapidez do Deslize"; 22 | SWIPE_SPEED_FOOTER = "Quão rápido deveria ser o movimento do cursor enquanto desliza"; 23 | 24 | THREE_FINGER_SWIPE = "Deslize com três dedos"; 25 | THREE_FINGER_SWIPE_FOOTER = "Deslize com três dedos para mover o início ou fim de um documento. (Apenas recomendado para iPad)"; 26 | 27 | 28 | 29 | WHOLE_KEYBOARD = "Todo o teclado (Defeito)"; 30 | EXCLUDING_SPACEBAR = "Tudo menos a barra de espaços"; 31 | JUST_SPACEBAR = "Apenas a barra de espaços"; 32 | 33 | 34 | NORMAL = "Normal"; 35 | REDUCED = "Reduzido"; 36 | INSENSITIVE = "Insensível"; 37 | 38 | 39 | SLOWEST = "O mais lento"; 40 | SLOWER = "Mais lento"; 41 | NORMAL = "Normal"; 42 | FASTER = "Mais rápido"; 43 | FASTEST = "O mais rápido"; 44 | } -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/Layout/Library/PreferenceBundles/SwipeSelectionProLegacy.bundle/pt_BR.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Ativado"; 5 | 6 | SETTINGS = "Configurações"; 7 | 8 | 9 | TRIPLE_TAP = "Três toques"; 10 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Toque três vezes a tecla Shift para ativar ou desativar o SwipeSelection-t."; 11 | 12 | 13 | SWIPE_AREA = "Área para Deslizar"; 14 | KEYBOARD_SWIPABLE_AREA = "A área no teclado que permite o swipe"; 15 | 16 | WHOLE_KEYBOARD = "Todo o Teclado (Padrão)"; 17 | EXCLUDING_SPACEBAR = "Tudo exceto a barra de espaço"; 18 | JUST_SPACEBAR = "Somente a barra de espaço"; 19 | 20 | 21 | SENSITIVITY = "Sensitividade"; 22 | SWIPE_SENSITIVITY = "Quão sensível SwipeSelection deve ser quando você está mexendo seu dedo"; 23 | NORMAL = "Normal"; 24 | REDUCED = "Reduzido"; 25 | INSENSITIVE = "Insensível"; 26 | 27 | 28 | SWIPE_SPEED = "Velocidade do Deslizamento"; 29 | SWIPE_SPEED_FOOTER = "Quão rápido o cursor deve se mover enquanto você realiza o movimento de swipe"; 30 | SLOWEST = "Muito lento"; 31 | SLOWER = "Lento"; 32 | NORMAL = "Normal"; 33 | FASTER = "Rápido"; 34 | FASTEST = "Muito rápido"; 35 | 36 | THREE_FINGER_SWIPE = "Deslizar de 3 dedos"; 37 | THREE_FINGER_SWIPE_FOOTER = "Deslizar com 3 dedos para movimentar o curso do início ao fim de um texto. (Isto é prático só no iPad)"; 38 | } -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/Layout/Library/PreferenceBundles/SwipeSelectionProLegacy.bundle/ro.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Activat"; 5 | 6 | SETTINGS = "Setări"; 7 | 8 | 9 | TRIPLE_TAP = "Triplu tap"; 10 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Apasă de trei ori tasta shift pentru a activa/dezactiva SwipeSelection"; 11 | 12 | 13 | SWIPE_AREA = "Zonă pentru swipe"; 14 | KEYBOARD_SWIPABLE_AREA = "Zona tastaturii care nu ar trebui să fie swipe-uita"; 15 | 16 | 17 | SENSITIVITY = "Sensibilitate"; 18 | SWIPE_SENSITIVITY = "Cât de senzitiv ar trebui să fie SwipeSelection"; 19 | 20 | 21 | SWIPE_SPEED = "Viteza swipe-ului"; 22 | SWIPE_SPEED_FOOTER = "Cât de rapid ar trebui să se miște cursorul când faci un swipe"; 23 | 24 | THREE_FINGER_SWIPE = "Swipe cu 3 degete"; 25 | THREE_FINGER_SWIPE_FOOTER = "Poți face un swipe cu 3 degete pentru a muta cursorul la începutul sau finalul documentului (doar pe iPad)"; 26 | 27 | 28 | WHOLE_KEYBOARD = "Toată tastatura (implicit)"; 29 | EXCLUDING_SPACEBAR = "Totul excluzând tasta space"; 30 | JUST_SPACEBAR = "Doar tasta space"; 31 | 32 | 33 | NORMAL = "Normal"; 34 | REDUCED = "Redus"; 35 | INSENSITIVE = "Insenzitiv"; 36 | 37 | 38 | SLOWEST = "Cel mai încet"; 39 | SLOWER = "Mai încet"; 40 | NORMAL = "Normal"; 41 | FASTER = "Mai rapid"; 42 | FASTEST = "Cel mai rapid"; 43 | } -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/Layout/Library/PreferenceBundles/SwipeSelectionProLegacy.bundle/sv.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Aktiverad"; 5 | 6 | SETTINGS = "Inställningar"; 7 | 8 | 9 | TRIPLE_TAP = "Tre tryck"; 10 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Tryck tre gånger på shift knappen för att aktivera eller avaktivera SwipeSelection"; 11 | 12 | 13 | SWIPE_AREA = "Drag området"; 14 | KEYBOARD_SWIPABLE_AREA = "Området på tangentbordet som ska vara till för drag funktionen"; 15 | 16 | 17 | SENSITIVITY = "Känslighet"; 18 | SWIPE_SENSITIVITY = "Hur känsligt SwipeSelection ska vara när du rör fingret"; 19 | 20 | 21 | SWIPE_SPEED = "Drag Hastighet"; 22 | SWIPE_SPEED_FOOTER = "Hur fort teckenvisaren ska röra sig när du drar"; 23 | 24 | THREE_FINGER_SWIPE = "Tre finger drag"; 25 | THREE_FINGER_SWIPE_FOOTER = "Drag med tre fingrar för att flytta teckenvisaren till slutet eller början av en text (endast för iPad)"; 26 | 27 | 28 | WHOLE_KEYBOARD = "Hela tangentbordet (Standard)"; 29 | EXCLUDING_SPACEBAR = "Allt förutom mellanslag"; 30 | JUST_SPACEBAR = "Bara mellanslag"; 31 | 32 | 33 | NORMAL = "Normal"; 34 | REDUCED = "Slöare"; 35 | INSENSITIVE = "Okänslig"; 36 | 37 | 38 | SLOWEST = "Slöast"; 39 | SLOWER = "Slö"; 40 | NORMAL = "Normal"; 41 | FASTER = "Snabbare"; 42 | FASTEST = "Snabbast"; 43 | } -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/Layout/Library/PreferenceBundles/SwipeSelectionProLegacy.bundle/tr.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Etkin"; 5 | 6 | SETTINGS = "Ayarlar"; 7 | 8 | 9 | TRIPLE_TAP = "3 Kere Tıklama"; 10 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Shift tuşuna 3 kere basılınca SwipeSelection'ı AÇIK veya KAPALI konuma getirir"; 11 | 12 | 13 | SWIPE_AREA = "Kaydırma Alanı"; 14 | KEYBOARD_SWIPABLE_AREA = "Klavyenin kaydırılabilinen alanını belirler"; 15 | 16 | 17 | SENSITIVITY = "Hassasiyet"; 18 | SWIPE_SENSITIVITY = "SwipeSelection parmağınızı kaydırmanıza ne kadar hassas olmasını belirler"; 19 | 20 | 21 | SWIPE_SPEED = "Kaydırma Hızı"; 22 | SWIPE_SPEED_FOOTER = "Siz kaydırdıkça imleç ne kadar hızlı hareket etmesini belirler"; 23 | 24 | THREE_FINGER_SWIPE = "3 Parmakla Kaydırma"; 25 | THREE_FINGER_SWIPE_FOOTER = "3 parmakla kaydırıp dosyanın başına veya sonuna gider. (Sadece iPad için önerilir)"; 26 | 27 | 28 | WHOLE_KEYBOARD = "Bütün Klavye (Varsayılan)"; 29 | EXCLUDING_SPACEBAR = "Boşluk Tuşu Hariç Heryer"; 30 | JUST_SPACEBAR = "Sadece Boşluk Tuşu"; 31 | 32 | 33 | NORMAL = "Normal"; 34 | REDUCED = "Azaltılmış"; 35 | INSENSITIVE = "Hassas Değil"; 36 | 37 | 38 | SLOWEST = "Çok Yavaş"; 39 | SLOWER = "Yavaş"; 40 | NORMAL = "Normal"; 41 | FASTER = "Hızlı"; 42 | FASTEST = "Çok Hızlı"; 43 | } -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/Layout/Library/PreferenceBundles/SwipeSelectionProLegacy.bundle/vi.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Kích hoạt"; 5 | SETTINGS = "Thiết lập"; 6 | 7 | 8 | TRIPLE_TAP = "Gõ ba lần"; 9 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Gõ nhanh ba lần phím shift để chuyển đổi SwipeSelection sang BẬT và TẮT"; 10 | 11 | 12 | SWIPE_AREA = "Khu vực vuốt"; 13 | KEYBOARD_SWIPABLE_AREA = "Khu vực của bàn phím có thể dùng để vuốt"; 14 | 15 | 16 | SENSITIVITY = "Độ nhạy"; 17 | SWIPE_SENSITIVITY = "Độ nhạy của SwipeSelection khi bạn di chuyển ngón tay"; 18 | 19 | 20 | SWIPE_SPEED = "Tốc độ vuốt"; 21 | SWIPE_SPEED_FOOTER = "Tốc độ di chuyển con trỏ khi bạn vuốt"; 22 | 23 | THREE_FINGER_SWIPE = "Vuốt bằng 3 ngón"; 24 | THREE_FINGER_SWIPE_FOOTER = "Vuốt bằng 3 ngón để di chuyển tới đầu hoặc cuối một văn bản. (chỉ hữu dụng trên iPad)"; 25 | 26 | 27 | WHOLE_KEYBOARD = "Toàn bộ bàn phím (Mặc định)"; 28 | EXCLUDING_SPACEBAR = "Tất cả mọi nơi trừ thanh spacbar"; 29 | JUST_SPACEBAR = "Chỉ thanh spacebar"; 30 | 31 | 32 | NORMAL = "Trung bình"; 33 | REDUCED = "Giảm"; 34 | INSENSITIVE = "Vô hiệu"; 35 | 36 | 37 | SLOWEST = "Chậm nhất"; 38 | SLOWER = "Chậm vừa"; 39 | NORMAL = "Trung bình"; 40 | FASTER = "Nhanh vừa"; 41 | FASTEST = "Nhanh nhất"; 42 | } -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/Layout/Library/PreferenceBundles/SwipeSelectionProLegacy.bundle/zh-Hans.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "启用"; 5 | 6 | SETTINGS = "设定"; 7 | 8 | TRIPLE_TAP = "三击"; 9 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "连击Shift键3次来关闭或启动SwipeSelection"; 10 | 11 | 12 | THREE_FINGER_SWIPE = "三指滑动"; 13 | THREE_FINGER_SWIPE_FOOTER = "三指滑动让光标移动到文档的开头或结尾(只适合ipad)"; 14 | 15 | 16 | 17 | SWIPE_AREA = "滑动区域"; 18 | KEYBOARD_SWIPABLE_AREA = "可滑动的键盘区域"; 19 | 20 | WHOLE_KEYBOARD = "全键盘(预设)"; 21 | EXCLUDING_SPACEBAR = "所有的空格"; 22 | JUST_SPACEBAR = "只有空格键"; 23 | 24 | 25 | 26 | SENSITIVITY = "灵敏度"; 27 | SWIPE_SENSITIVITY = "手指滑动灵敏度"; 28 | 29 | REDUCED = "减少"; 30 | INSENSITIVE = "无反应"; 31 | 32 | 33 | 34 | SWIPE_SPEED = "滑动速度"; 35 | SWIPE_SPEED_FOOTER = "SwipeSelection的灵敏度指的是在键盘上移动你的手指"; 36 | 37 | SLOWEST = "最慢"; 38 | SLOWER = "较慢"; 39 | NORMAL = "正常"; 40 | FASTER = "较快"; 41 | FASTEST = "最快"; 42 | } -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/Layout/Library/PreferenceBundles/SwipeSelectionProLegacy.bundle/zh-Hant.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "啟用"; 5 | 6 | SETTINGS = "設定"; 7 | 8 | 9 | TRIPLE_TAP = "三擊"; 10 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "連擊Shift鍵3次來關閉或啟動SwipeSelection"; 11 | 12 | 13 | SWIPE_AREA = "滑動區域"; 14 | KEYBOARD_SWIPABLE_AREA = "可滑動的鍵盤區域"; 15 | 16 | 17 | SENSITIVITY = "靈敏度"; 18 | SWIPE_SENSITIVITY = "手指滑動靈敏度"; 19 | 20 | 21 | SWIPE_SPEED = "滑動速度"; 22 | SWIPE_SPEED_FOOTER = "SwipeSelection的靈敏度指的是在鍵盤上移動你的手指"; 23 | 24 | THREE_FINGER_SWIPE = "三指滑動"; 25 | THREE_FINGER_SWIPE_FOOTER = "三指滑動讓光標移動到文檔的開頭或結尾(只適合ipad)"; 26 | 27 | 28 | WHOLE_KEYBOARD = "全鍵盤(預設)"; 29 | EXCLUDING_SPACEBAR = "所有的空格"; 30 | JUST_SPACEBAR = "只有空格鍵"; 31 | 32 | 33 | NORMAL = "正常"; 34 | REDUCED = "減少"; 35 | INSENSITIVE = "無反應"; 36 | 37 | 38 | SLOWEST = "最慢"; 39 | SLOWER = "較慢"; 40 | NORMAL = "正常"; 41 | FASTER = "較快"; 42 | FASTEST = "最快"; 43 | } -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/Layout/Library/PreferenceBundles/SwipeSelectionProLegacy.bundle/zh_CN.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "启用"; 5 | 6 | SETTINGS = "设定"; 7 | 8 | TRIPLE_TAP = "三击"; 9 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "连击Shift键3次来关闭或启动SwipeSelection"; 10 | 11 | 12 | THREE_FINGER_SWIPE = "三指滑动"; 13 | THREE_FINGER_SWIPE_FOOTER = "三指滑动让光标移动到文档的开头或结尾(只适合ipad)"; 14 | 15 | 16 | 17 | SWIPE_AREA = "滑动区域"; 18 | KEYBOARD_SWIPABLE_AREA = "可滑动的键盘区域"; 19 | 20 | WHOLE_KEYBOARD = "全键盘(预设)"; 21 | EXCLUDING_SPACEBAR = "所有的空格"; 22 | JUST_SPACEBAR = "只有空格键"; 23 | 24 | 25 | 26 | SENSITIVITY = "灵敏度"; 27 | SWIPE_SENSITIVITY = "手指滑动灵敏度"; 28 | 29 | REDUCED = "减少"; 30 | INSENSITIVE = "无反应"; 31 | 32 | 33 | 34 | SWIPE_SPEED = "滑动速度"; 35 | SWIPE_SPEED_FOOTER = "SwipeSelection的灵敏度指的是在键盘上移动你的手指"; 36 | 37 | SLOWEST = "最慢"; 38 | SLOWER = "较慢"; 39 | NORMAL = "正常"; 40 | FASTER = "较快"; 41 | FASTEST = "最快"; 42 | } -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/Layout/Library/PreferenceBundles/SwipeSelectionProLegacy.bundle/zh_TW.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "啟用"; 5 | 6 | SETTINGS = "設定"; 7 | 8 | 9 | TRIPLE_TAP = "連點三下"; 10 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "連點三下 Shift 鍵以切換 SwipeSelection 的開關"; 11 | 12 | 13 | SWIPE_AREA = "滑動區域"; 14 | KEYBOARD_SWIPABLE_AREA = "鍵盤上可滑動的區域"; 15 | 16 | 17 | SENSITIVITY = "敏感度"; 18 | SWIPE_SENSITIVITY = "SwipeSelection 對於手指的滑動應該多敏感"; 19 | 20 | 21 | SWIPE_SPEED = "滑動速度"; 22 | SWIPE_SPEED_FOOTER = "手指滑動時游標應該移動多快"; 23 | 24 | THREE_FINGER_SWIPE = "三指滑動"; 25 | THREE_FINGER_SWIPE_FOOTER = "滑動三指以從文件的開端或尾端開始。(僅建議使用於 iPad"; 26 | 27 | 28 | WHOLE_KEYBOARD = "全鍵盤(預設"; 29 | EXCLUDING_SPACEBAR = "全鍵盤,排除空白鍵"; 30 | JUST_SPACEBAR = "只有空白鍵"; 31 | 32 | 33 | NORMAL = "普通"; 34 | REDUCED = "降低"; 35 | INSENSITIVE = "靈敏"; 36 | 37 | 38 | SLOWEST = "最慢"; 39 | SLOWER = "慢"; 40 | NORMAL = "普通"; 41 | FASTER = "快"; 42 | FASTEST = "最快"; 43 | } -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/Layout/Library/PreferenceLoader/Preferences/SwipeSelectionProLegacy.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | entry 6 | 7 | bundle 8 | SwipeSelectionPro 9 | cell 10 | PSLinkCell 11 | detail 12 | SwipeSelectionProListController 13 | icon 14 | SwipeSelectionPro.png 15 | isController 16 | 1 17 | label 18 | SwipeSelection 19 | 20 | pl_filter 21 | 22 | CoreFoundationVersion 23 | 24 | 847.20 25 | 1240.10 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/Makefile: -------------------------------------------------------------------------------- 1 | ARCHS=armv7 arm64 2 | TARGET = iphone:9.3 3 | 4 | include $(THEOS)/makefiles/common.mk 5 | 6 | TWEAK_NAME = SwipeSelectionPro 7 | SwipeSelectionPro_FILES = Tweak.xm SSPanGestureRecognizer.m SSKHSettingsController.m 8 | SwipeSelectionPro_FRAMEWORKS = UIKit Foundation CoreGraphics 9 | SwipeSelectionPro_LDFLAGS += -Wl,-segalign,4000 10 | 11 | include $(THEOS_MAKE_PATH)/tweak.mk 12 | 13 | after-install:: 14 | install.exec "killall -9 SpringBoard" 15 | SUBPROJECTS += swipeselectionpro 16 | include $(THEOS_MAKE_PATH)/aggregate.mk 17 | -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/SSKHSettingsController.h: -------------------------------------------------------------------------------- 1 | // 2 | // SSKHSettingsController.h 3 | // 4 | // 5 | // Created by Kyle Howells on 09/01/2014. 6 | // 7 | // 8 | 9 | #import 10 | 11 | typedef enum { 12 | SSSwipeWholeKeyboard = 1, // Everything 13 | SSSwipeAvoidSpacebar = 2, // Exclude space bar 14 | SSSwipeOnlySpaceBar = 3 // Only space bar 15 | } SSSwipeableArea; 16 | 17 | typedef enum { 18 | SSSwipeSpeedSlowest = -2, 19 | SSSwipeSpeedSlower = -1, 20 | SSSwipeSpeedNormal = 0, 21 | SSSwipeSpeedFaster = 1, 22 | SSSwipeSpeedFastest = 2 23 | } SSSwipeSpeed; 24 | 25 | 26 | typedef enum { 27 | SSSwipeSensitivityNormal = 1, 28 | SSSwipeSensitivityReduced = 2, 29 | SSSwipeSensitivityInsensitive = 3 30 | } SSSwipeSensitivity; 31 | 32 | 33 | 34 | @interface SSKHSettingsController : NSObject 35 | +(void)loadSettings; 36 | 37 | +(void)setEnabled:(BOOL)enabled; 38 | 39 | +(BOOL)enabled; 40 | +(BOOL)tripleTapToggles; 41 | +(BOOL)threeFingerSwipe; 42 | 43 | +(SSSwipeableArea)swipeableArea; 44 | +(SSSwipeSpeed)swipeSpeed; 45 | +(SSSwipeSensitivity)swipeSensitivity; 46 | @end 47 | -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/SSKHSettingsController.m: -------------------------------------------------------------------------------- 1 | // 2 | // SSKHSettingsController.m 3 | // 4 | // 5 | // Created by Kyle Howells on 09/01/2014. 6 | // 7 | // 8 | 9 | #import "SSKHSettingsController.h" 10 | #import 11 | 12 | 13 | @interface NSUserDefaults (Private) 14 | -(instancetype)_initWithSuiteName:(id)arg1 container:(id)arg2; 15 | -(id)objectForKey:(NSString *)defaultName inDomain:(id)domainName; 16 | - (void)setObject:(id)arg1 forKey:(id)arg2 inDomain:(id)arg3; 17 | @end 18 | 19 | #ifndef kCFCoreFoundationVersionNumber_iOS_8_0 20 | #define kCFCoreFoundationVersionNumber_iOS_8_0 1140.10 21 | #endif 22 | 23 | 24 | 25 | 26 | #define SETTINGS_FILE @"/User/Library/Preferences/com.iky1e.swipeselection.plist" 27 | 28 | static NSDictionary *settings = nil; 29 | 30 | 31 | 32 | @implementation SSKHSettingsController 33 | 34 | +(void)load{ 35 | [self loadSettings]; 36 | } 37 | +(void)loadSettings{ 38 | [settings release]; 39 | settings = nil; 40 | settings = [[NSDictionary alloc] initWithContentsOfFile:SETTINGS_FILE]; 41 | } 42 | 43 | +(id)objectForKey:(NSString*)key{ 44 | return [settings objectForKey:key]; 45 | } 46 | 47 | 48 | +(void)setEnabled:(BOOL)enabled{ 49 | if (!settings) { 50 | [self loadSettings]; 51 | } 52 | 53 | NSMutableDictionary *newSettings = [settings mutableCopy]; 54 | [newSettings setObject:[NSNumber numberWithBool:enabled] forKey:@"SSEnabled"]; 55 | [newSettings writeToFile:SETTINGS_FILE atomically:YES]; 56 | [newSettings release]; 57 | 58 | [self loadSettings]; 59 | 60 | notify_post("com.iky1e.swipeselection/internal_settingschanged"); 61 | } 62 | +(BOOL)enabled{ 63 | id temp = [self objectForKey:@"SSEnabled"]; 64 | return (temp ? [temp boolValue] : YES); 65 | } 66 | 67 | 68 | +(BOOL)tripleTapToggles{ 69 | id temp = [self objectForKey:@"SSTripleTap"]; 70 | return (temp ? [temp boolValue] : NO); 71 | } 72 | 73 | +(BOOL)threeFingerSwipe{ 74 | id temp = [self objectForKey:@"SSTripleSwipe"]; 75 | return (temp ? [temp boolValue] : NO); 76 | } 77 | 78 | 79 | +(SSSwipeableArea)swipeableArea{ 80 | id temp = [self objectForKey:@"SSSwipeArea"]; 81 | return (temp ? [temp intValue] : SSSwipeWholeKeyboard); 82 | } 83 | 84 | +(SSSwipeSpeed)swipeSpeed{ 85 | id temp = [self objectForKey:@"SSSwipeSpeed"]; 86 | return (temp ? [temp intValue] : SSSwipeSpeedNormal); 87 | } 88 | 89 | +(SSSwipeSensitivity)swipeSensitivity{ 90 | id temp = [self objectForKey:@"SSSwipeSensitivity"]; 91 | return (temp ? [temp intValue] : SSSwipeSensitivityNormal); 92 | } 93 | 94 | @end 95 | 96 | -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/SSPanGestureRecognizer.h: -------------------------------------------------------------------------------- 1 | // 2 | // SSPanGestureRecognizer.h 3 | // 4 | // 5 | // Created by Kyle Howells on 09/01/2014. 6 | // 7 | // 8 | 9 | #import 10 | 11 | @interface SSPanGestureRecognizer : UIPanGestureRecognizer 12 | @end 13 | -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/SSPanGestureRecognizer.m: -------------------------------------------------------------------------------- 1 | // 2 | // SSPanGestureRecognizer.m 3 | // 4 | // 5 | // Created by Kyle Howells on 09/01/2014. 6 | // 7 | // 8 | 9 | #import "SSPanGestureRecognizer.h" 10 | #import 11 | 12 | 13 | Class AKFlickGestureRecognizer(){ 14 | static Class AKFlickGestureRecognizer_Class = nil; 15 | static BOOL checked = NO; 16 | 17 | if (!checked) { 18 | AKFlickGestureRecognizer_Class = objc_getClass("AKFlickGestureRecognizer"); 19 | } 20 | 21 | return AKFlickGestureRecognizer_Class; 22 | } 23 | 24 | 25 | @implementation SSPanGestureRecognizer 26 | -(BOOL)canBePreventedByGestureRecognizer:(UIGestureRecognizer *)preventingGestureRecognizer{ 27 | 28 | 29 | if ([preventingGestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]] && 30 | ([preventingGestureRecognizer isKindOfClass:AKFlickGestureRecognizer()] == NO)) 31 | { 32 | return YES; 33 | } 34 | 35 | return NO; 36 | } 37 | 38 | -(BOOL)canPreventGestureRecognizer:(UIGestureRecognizer *)gestureRecognizer{ 39 | return NO; 40 | } 41 | @end 42 | -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/SwipeSelectionPro.plist: -------------------------------------------------------------------------------- 1 | Filter = { 2 | Bundles = ("com.apple.UIKit"); 3 | CoreFoundationVersion = (1240.10); 4 | }; 5 | SupportsRoot = 1; -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/control: -------------------------------------------------------------------------------- 1 | Package: com.iky1e.swipeselection-pro 2 | Name: SwipeSelection Pro 3 | Depends: mobilesubstrate 4 | Conflicts: com.iky1e.swipeselection 5 | Version: 1.0.3 6 | Architecture: iphoneos-arm 7 | Description: Swipe along the keyboard to move the cursor and select text. 8 | Maintainer: Kyle Howells 9 | Author: Kyle Howells 10 | Section: Tweaks 11 | -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/swipeselectionpro/Makefile: -------------------------------------------------------------------------------- 1 | ARCHS=armv7 arm64 2 | 3 | include $(THEOS)/makefiles/common.mk 4 | 5 | BUNDLE_NAME = SwipeSelectionPro 6 | SwipeSelectionPro_FILES = SwipeSelectionPro.mm 7 | SwipeSelectionPro_INSTALL_PATH = /Library/PreferenceBundles 8 | SwipeSelectionPro_FRAMEWORKS = UIKit 9 | SwipeSelectionPro_PRIVATE_FRAMEWORKS = Preferences 10 | 11 | include $(THEOS_MAKE_PATH)/bundle.mk 12 | 13 | internal-stage:: 14 | $(ECHO_NOTHING)mkdir -p $(THEOS_STAGING_DIR)/Library/PreferenceLoader/Preferences$(ECHO_END) 15 | $(ECHO_NOTHING)cp entry.plist $(THEOS_STAGING_DIR)/Library/PreferenceLoader/Preferences/SwipeSelectionPro.plist$(ECHO_END) 16 | -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/swipeselectionpro/Resources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | SwipeSelectionPro 9 | CFBundleIdentifier 10 | com.iky1e.swipeselection-pro-settings 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | BNDL 15 | CFBundleShortVersionString 16 | 1.0.0 17 | CFBundleSignature 18 | ???? 19 | CFBundleVersion 20 | 1.0 21 | DTPlatformName 22 | iphoneos 23 | MinimumOSVersion 24 | 3.0 25 | NSPrincipalClass 26 | SwipeSelectionProListController 27 | 28 | 29 | -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/swipeselectionpro/Resources/README.md: -------------------------------------------------------------------------------- 1 | # SwipeSelectionPro-Localizations 2 | The translations of SwipeSelection Pro's settings 3 | 4 | To contribute: Fork the repo, make the correction/addition and then submit a pull request. 5 | 6 | This is the best list of languages and their corresponding short codes I've found: http://www.opensource.apple.com/source/CF/CF-476.14/CFLocaleIdentifier.c 7 | -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/swipeselectionpro/Resources/SwipeSelectionPro.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | title 6 | SWIPESELECTION 7 | 8 | items 9 | 10 | 11 | 12 | cell 13 | PSGroupCell 14 | 15 | 16 | cell 17 | PSSwitchCell 18 | default 19 | 20 | defaults 21 | com.iky1e.swipeselection 22 | key 23 | SSEnabled 24 | label 25 | ENABLED 26 | PostNotification 27 | com.iky1e.swipeselection/settingschanged 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | cell 37 | PSGroupCell 38 | label 39 | SETTINGS 40 | 41 | footerText 42 | TRIPLE_TAP_SHIFT_TO_TOGGLE 43 | 44 | 45 | cell 46 | PSSwitchCell 47 | default 48 | 49 | defaults 50 | com.iky1e.swipeselection 51 | key 52 | SSTripleTap 53 | label 54 | TRIPLE_TAP 55 | PostNotification 56 | com.iky1e.swipeselection/settingschanged 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | cell 65 | PSGroupCell 66 | footerText 67 | KEYBOARD_SWIPABLE_AREA 68 | 69 | 70 | cell 71 | PSLinkListCell 72 | default 73 | 1 74 | detail 75 | PSListItemsController 76 | key 77 | SSSwipeArea 78 | label 79 | SWIPE_AREA 80 | validTitles 81 | 82 | WHOLE_KEYBOARD 83 | EXCLUDING_SPACEBAR 84 | JUST_SPACEBAR 85 | 86 | validValues 87 | 88 | 1 89 | 2 90 | 3 91 | 92 | defaults 93 | com.iky1e.swipeselection 94 | PostNotification 95 | com.iky1e.swipeselection/settingschanged 96 | 97 | 98 | 99 | 100 | 101 | cell 102 | PSGroupCell 103 | footerText 104 | SWIPE_SENSITIVITY 105 | 106 | 107 | cell 108 | PSLinkListCell 109 | default 110 | 1 111 | detail 112 | PSListItemsController 113 | key 114 | SSSwipeSensitivity 115 | label 116 | SENSITIVITY 117 | validTitles 118 | 119 | NORMAL 120 | REDUCED 121 | INSENSITIVE 122 | 123 | validValues 124 | 125 | 1 126 | 2 127 | 3 128 | 129 | defaults 130 | com.iky1e.swipeselection 131 | PostNotification 132 | com.iky1e.swipeselection/settingschanged 133 | 134 | 135 | 136 | 137 | 138 | 139 | cell 140 | PSGroupCell 141 | footerText 142 | SWIPE_SPEED_FOOTER 143 | 144 | 145 | cell 146 | PSLinkListCell 147 | default 148 | 0 149 | detail 150 | PSListItemsController 151 | key 152 | SSSwipeSpeed 153 | label 154 | SWIPE_SPEED 155 | validTitles 156 | 157 | SLOWEST 158 | SLOWER 159 | NORMAL 160 | FASTER 161 | FASTEST 162 | 163 | validValues 164 | 165 | -2 166 | -1 167 | 0 168 | 1 169 | 2 170 | 171 | defaults 172 | com.iky1e.swipeselection 173 | PostNotification 174 | com.iky1e.swipeselection/settingschanged 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | cell 185 | PSGroupCell 186 | footerText 187 | THREE_FINGER_SWIPE_FOOTER 188 | 189 | 190 | cell 191 | PSSwitchCell 192 | default 193 | 194 | defaults 195 | com.iky1e.swipeselection 196 | key 197 | SSTripleSwipe 198 | label 199 | THREE_FINGER_SWIPE 200 | PostNotification 201 | com.iky1e.swipeselection/settingschanged 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 248 | 249 | 250 | 251 | 252 | 253 | -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/swipeselectionpro/Resources/SwipeSelectionPro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kylehowells/SwipeSelection/40901b6c08cc1b1298e287caf9156e4711824f37/New Cydia Versions/SwipeSelection Pro/swipeselectionpro/Resources/SwipeSelectionPro.png -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/swipeselectionpro/Resources/SwipeSelectionPro@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kylehowells/SwipeSelection/40901b6c08cc1b1298e287caf9156e4711824f37/New Cydia Versions/SwipeSelection Pro/swipeselectionpro/Resources/SwipeSelectionPro@2x.png -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/swipeselectionpro/Resources/SwipeSelectionPro@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kylehowells/SwipeSelection/40901b6c08cc1b1298e287caf9156e4711824f37/New Cydia Versions/SwipeSelection Pro/swipeselectionpro/Resources/SwipeSelectionPro@3x.png -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/swipeselectionpro/Resources/ar.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "مفعّل"; 5 | 6 | SETTINGS = "الإعدادات"; 7 | 8 | TRIPLE_TAP = "ثلاث لمسات"; 9 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "اضغط على مفتاح SHIFT ثلاث مرات متتالية لتفعيل و إلغاء SwipeSelection"; 10 | 11 | 12 | SWIPE_AREA = "منطقة اللّمس"; 13 | KEYBOARD_SWIPABLE_AREA = "المنطقة في لوحة المفاتيح التي تتلقّى اللّمسات و الإيماءات"; 14 | 15 | WHOLE_KEYBOARD = "كل لوحة المفاتيح (الافتراضي)"; 16 | EXCLUDING_SPACEBAR = "كل لوحة المفاتيح عدى المسافة"; 17 | JUST_SPACEBAR = "المسافة فقط"; 18 | 19 | 20 | SENSITIVITY = "الحساسية"; 21 | SWIPE_SENSITIVITY = "مقدار حساسية SwipeSelection اثناء تحريكك لاصبعك على لوحة المفاتيح"; 22 | 23 | NORMAL = "متوسط"; 24 | REDUCED = "منخفض"; 25 | INSENSITIVE = "غير حساس"; 26 | 27 | 28 | SWIPE_SPEED = "سرعة التحريك"; 29 | SWIPE_SPEED_FOOTER = "سرعة المؤشر عند تحريكك لاصبعك على لوحة المفاتيح"; 30 | 31 | SLOWEST = "الأبطأ"; 32 | SLOWER = "بطيء"; 33 | NORMAL = "متوسط"; 34 | FASTER = "سريع"; 35 | FASTEST = "الأسرع"; 36 | 37 | THREE_FINGER_SWIPE = "التحريك بثلاث أصابع"; 38 | THREE_FINGER_SWIPE_FOOTER = "اسحب على لوحة المفاتيح بثلاثة أصابع للانتقال الى نهاية او بداية المستند. (ينصح به فقط على الiPad)"; 39 | } -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/swipeselectionpro/Resources/de.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Aktiviert"; 5 | 6 | SETTINGS = "Einstellungen"; 7 | 8 | TRIPLE_TAP = "Dreifach Tippen"; 9 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Dreimal den Shift Key drücken um SwipeSelection zu aktivieren oder zu deaktivieren"; 10 | 11 | 12 | 13 | SWIPE_AREA = "Streich Bereich"; 14 | KEYBOARD_SWIPABLE_AREA = "Der Bereich der Tastatur der zum Swipen verfügbar ist"; 15 | 16 | WHOLE_KEYBOARD = "Ganze Tastatur (Standart)"; 17 | EXCLUDING_SPACEBAR = "Alles aber Leertaste"; 18 | JUST_SPACEBAR = "Nur die Leertaste"; 19 | 20 | 21 | SENSITIVITY = "Empfindlichkeit"; 22 | SWIPE_SENSITIVITY = "Wie empfindlich sollte SwipeSelection zu Ihrem Finger sein?"; 23 | NORMAL = "Normal"; 24 | REDUCED = "Reduziert"; 25 | INSENSITIVE = "Unempfindlich"; 26 | 27 | 28 | SWIPE_SPEED = "Wisch Geschwindigkeit"; 29 | SWIPE_SPEED_FOOTER = "Wie schnell soll sich der Cursor bewegen bei einer Wischbewegung"; 30 | SLOWEST = "Langsamsten"; 31 | SLOWER = "Langsam"; 32 | NORMAL = "Normal"; 33 | FASTER = "Schneller"; 34 | FASTEST = "Schnellstes"; 35 | 36 | THREE_FINGER_SWIPE = "3 Finger Wisch"; 37 | THREE_FINGER_SWIPE_FOOTER = "Streichen Sie mit 3 Fingern um an den Anfang oder das Ende eines Dokumentes zu gelangen (nur auf dem iPad empfohlen)"; 38 | } -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/swipeselectionpro/Resources/en.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Enabled"; 5 | 6 | SETTINGS = "Settings"; 7 | 8 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Triple tap the shift key to toggle SwipeSelection ON and OFF"; 9 | 10 | TRIPLE_TAP = "Triple Tap"; 11 | 12 | KEYBOARD_SWIPABLE_AREA = "The area of the keyboard which should be swipeable"; 13 | 14 | 15 | SWIPE_AREA = "Swipe Area"; 16 | WHOLE_KEYBOARD = "Whole keyboard (Default)"; 17 | EXCLUDING_SPACEBAR = "Everything but the spacebar"; 18 | JUST_SPACEBAR = "Just the spacebar"; 19 | 20 | 21 | SENSITIVITY = "Sensitivity"; 22 | SWIPE_SENSITIVITY = "How sensitive SwipeSelection should be to you moving your finger"; 23 | NORMAL = "Normal"; 24 | REDUCED = "Reduced"; 25 | INSENSITIVE = "Insensitive"; 26 | 27 | 28 | SWIPE_SPEED = "Swipe Speed"; 29 | SWIPE_SPEED_FOOTER = "How fast should the cursor move as you swipe"; 30 | SLOWEST = "Slowest"; 31 | SLOWER = "Slower"; 32 | NORMAL = "Normal"; 33 | FASTER = "Faster"; 34 | FASTEST = "Fastest"; 35 | 36 | THREE_FINGER_SWIPE = "3 Finger Swipe"; 37 | THREE_FINGER_SWIPE_FOOTER = "Swipe with 3 fingers to move to the beginning or end of a document. (only advisable on iPad)"; 38 | } -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/swipeselectionpro/Resources/es.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Habilitado"; 5 | 6 | SETTINGS = "Configuración"; 7 | 8 | 9 | TRIPLE_TAP = "Pulsa Tres Veces"; 10 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Pulsa tres veces la tecla Shift para activar/desactivar SwipeSelection"; 11 | 12 | 13 | SWIPE_AREA = "Area de Deslizamiento"; 14 | KEYBOARD_SWIPABLE_AREA = "El área del teclado que debería ser deslizable."; 15 | 16 | WHOLE_KEYBOARD = "Todo el teclado (Por defecto)"; 17 | EXCLUDING_SPACEBAR = "Todo menos la barra espaciadora"; 18 | JUST_SPACEBAR = "Sólo la barra espaciadora"; 19 | 20 | 21 | SENSITIVITY = "Sensibilidad"; 22 | SWIPE_SENSITIVITY = "Cómo de sensible tiene que ser SwipeSelection para detectar el movimiento de tu dedo."; 23 | 24 | NORMAL = "Normal"; 25 | REDUCED = "Reducido"; 26 | INSENSITIVE = "Insensible"; 27 | 28 | 29 | SWIPE_SPEED = "Velocidad de deslizamiento"; 30 | SWIPE_SPEED_FOOTER = "Qué tan rápido se debería mover el cursor al deslizar"; 31 | 32 | SLOWEST = "Más lento"; 33 | SLOWER = "Lento"; 34 | NORMAL = "Normal"; 35 | FASTER = "Rápido"; 36 | FASTEST = "Más rapido"; 37 | 38 | 39 | THREE_FINGER_SWIPE = "Deslizamiento de 3 dedos"; 40 | THREE_FINGER_SWIPE_FOOTER = "Desliza con 3 dedos para moverte al principio o final de un documento. (sólo es aconsejable para iPad)"; 41 | } -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/swipeselectionpro/Resources/es_MX.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Activado"; 5 | SETTINGS = "Ajustes"; 6 | 7 | 8 | TRIPLE_TAP = "Pulsa Tres Veces"; 9 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Toca tres veces la tecla shift para Encender / Apagar SwipeSelection"; 10 | 11 | 12 | SWIPE_AREA = "Area de Deslizamiento"; 13 | KEYBOARD_SWIPABLE_AREA = "El área del teclado en la que puedes deslizar"; 14 | 15 | WHOLE_KEYBOARD = "Todo el teclado (Por defecto)"; 16 | EXCLUDING_SPACEBAR = "Todo excepto la barra de espacio"; 17 | JUST_SPACEBAR = "Sólo la barra de espacio"; 18 | 19 | 20 | SENSITIVITY = "Sensibilidad"; 21 | SWIPE_SENSITIVITY = "Qué tan sensible SwipeSelection debe ser al mover tu dedo"; 22 | NORMAL = "Normal"; 23 | REDUCED = "Reducida"; 24 | INSENSITIVE = "Insensible"; 25 | 26 | 27 | SWIPE_SPEED = "Velocidad de deslizamiento"; 28 | SWIPE_SPEED_FOOTER = "Qué tan rápido se mueve el cursor mientras deslizas"; 29 | SLOWEST = "Más lenta"; 30 | SLOWER = "Lenta"; 31 | NORMAL = "Normal"; 32 | FASTER = "Rápido"; 33 | FASTEST = "Más rápido"; 34 | 35 | THREE_FINGER_SWIPE = "Deslice de 3 dedos"; 36 | THREE_FINGER_SWIPE_FOOTER = "Desliza 3 dedos para ir al principio o final de un documento. (Recomendado sólo para iPad)"; 37 | } -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/swipeselectionpro/Resources/fi.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Käytössä"; 5 | 6 | SETTINGS = "Asetukset"; 7 | 8 | 9 | TRIPLE_TAP = "Kolmoisnapautus"; 10 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Kolmoisnapauta Vaihto-näppäintä asettaaksesi SwipeSelectionin KÄYTTÖÖN tai POIS KÄYTÖSTÄ."; 11 | 12 | 13 | SWIPE_AREA = "Pyyhkäisyalue"; 14 | KEYBOARD_SWIPABLE_AREA = "Näppäimistön alue, jonka tulisi olla pyyhkäistävä"; 15 | WHOLE_KEYBOARD = "Koko näppäimistö (Oletus)"; 16 | EXCLUDING_SPACEBAR = "Kaikki paitsi välilyönti"; 17 | JUST_SPACEBAR = "Vain välilyönti"; 18 | 19 | 20 | SENSITIVITY = "Herkkyys"; 21 | SWIPE_SENSITIVITY = "Kuinka herkkäSwipeSelectionin tulisi olla sormesi liikkeelle"; 22 | NORMAL = "Normaali"; 23 | REDUCED = "Pienempi"; 24 | INSENSITIVE = "Pienin"; 25 | 26 | 27 | SWIPE_SPEED = "Pyyhkäisynopeus"; 28 | SWIPE_SPEED_FOOTER = "Kuinka nopeasti kursorin tulisi liikkua pyyhkäistessäsiswipe"; 29 | SLOWEST = "Hitain"; 30 | SLOWER = "Hitaampi"; 31 | NORMAL = "Normaali"; 32 | FASTER = "Nopeampi"; 33 | FASTEST = "Nopein"; 34 | 35 | THREE_FINGER_SWIPE = "Kolmen sormen pyyhkäisy"; 36 | THREE_FINGER_SWIPE_FOOTER = "Pyyhkäise kolmella sormella liikkuaksesi dokumentin alkuun tai loppuun. (suositeltavaa vain iPadilla)"; 37 | } -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/swipeselectionpro/Resources/fr.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Activer"; 5 | 6 | SETTINGS = "Paramètres"; 7 | 8 | 9 | TRIPLE_TAP = "Appuyer trois fois"; 10 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Appuyer trois fois sur la touche Shift pour activer/désactiver SwipeSelectionOFF"; 11 | 12 | 13 | SWIPE_AREA = "Zone de glisse"; 14 | KEYBOARD_SWIPABLE_AREA = "La zone du clavier qui peut swipe"; 15 | 16 | WHOLE_KEYBOARD = "Tout le clavier"; 17 | EXCLUDING_SPACEBAR = "Partout sauf la barre d'espace"; 18 | JUST_SPACEBAR = "La barre d'espace"; 19 | 20 | 21 | SENSITIVITY = "Sensibilité"; 22 | SWIPE_SENSITIVITY = "À quelle sensibilité doit être SwipeSelection ?"; 23 | 24 | NORMAL = "Normale"; 25 | REDUCED = "Limitée"; 26 | INSENSITIVE = "Faible"; 27 | 28 | 29 | SWIPE_SPEED = "Vitesse du swipe"; 30 | SWIPE_SPEED_FOOTER = "À quelle vitesse le curseur doit bouger quand on swipe"; 31 | 32 | SLOWEST = "Très lent"; 33 | SLOWER = "Lent"; 34 | NORMAL = "Normal"; 35 | FASTER = "Rapide"; 36 | FASTEST = "Très rapide"; 37 | 38 | 39 | THREE_FINGER_SWIPE = "Swipe avec 3 doigts"; 40 | THREE_FINGER_SWIPE_FOOTER = "Utiliser trois doigts pour aller au début ou à la fin du texte. (Optimisé pour iPad)"; 41 | } 42 | -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/swipeselectionpro/Resources/fr_CA.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Permettre"; 5 | 6 | SETTINGS = "Paramètres"; 7 | 8 | 9 | TRIPLE_TAP = "Triple-tap"; 10 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Triple-tap sur la touche Maj pour habiliter SwipeSelection"; 11 | 12 | 13 | SWIPE_AREA = "Zone de Glissement"; 14 | KEYBOARD_SWIPABLE_AREA = "La zone du clavier qui doivent être glisseable"; 15 | WHOLE_KEYBOARD = "Tout le clavier (Défaut)"; 16 | EXCLUDING_SPACEBAR = "Tous moins la barre d'espace"; 17 | JUST_SPACEBAR = "Seulement la barre d'espace"; 18 | 19 | 20 | SENSITIVITY = "Sensibilité"; 21 | SWIPE_SENSITIVITY = "Comment sensible SwipeSelection doit être pour vous déplaçant votre doigt"; 22 | 23 | NORMAL = "Normal"; 24 | REDUCED = "Reduit"; 25 | INSENSITIVE = "Insensible"; 26 | 27 | 28 | SWIPE_SPEED = "Vitesse de Glissement"; 29 | SWIPE_SPEED_FOOTER = "Quelle vitesse faut déplacer le curseur lorsque vous tapez"; 30 | 31 | SLOWEST = "Plus lent"; 32 | SLOWER = "Lent"; 33 | NORMAL = "Normal"; 34 | FASTER = "Rapide"; 35 | FASTEST = "Plus Rapide"; 36 | 37 | 38 | THREE_FINGER_SWIPE = "Glissement à trois doigts"; 39 | THREE_FINGER_SWIPE_FOOTER = "Glisse avec trois doigts pour déplacer au début ou à la fin d'un document. (conseillé uniquement sur iPad)"; 40 | } -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/swipeselectionpro/Resources/he_IL.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "מופעל"; 5 | 6 | SETTINGS = "הגדרות"; 7 | 8 | 9 | TRIPLE_TAP = "הקשה משולשת"; 10 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "לחץ הקשה משולשת על כפתור השיפט (לא בעברית) כדי להדליק ולכבות את SwipeSelection"; 11 | 12 | 13 | SWIPE_AREA = "אזור החלקה"; 14 | KEYBOARD_SWIPABLE_AREA = "האזור של המקלדת שיהיה ניתן להחליק בו"; 15 | 16 | WHOLE_KEYBOARD = "כל המקלדת (ברירת מחדל)"; 17 | EXCLUDING_SPACEBAR = "הכל מלבד שורת הרווח"; 18 | JUST_SPACEBAR = "רק שורת הרווח"; 19 | 20 | 21 | SENSITIVITY = "רגישות"; 22 | SWIPE_SENSITIVITY = "כמה רגיש על SwipeSelection להיות להחלקת האצבע"; 23 | 24 | NORMAL = "נורמלי"; 25 | REDUCED = "מצומצם"; 26 | INSENSITIVE = "לא רגיש"; 27 | 28 | 29 | SWIPE_SPEED = "מהירות החלקה"; 30 | SWIPE_SPEED_FOOTER = "כמה מהר על הסמן לזוז כאשר אתה מחליק"; 31 | 32 | SLOWEST = "הכי איטי"; 33 | SLOWER = "איטי יותר"; 34 | NORMAL = "נורמלי"; 35 | FASTER = "מהיר יותר"; 36 | FASTEST = "הכי מהיר"; 37 | 38 | 39 | THREE_FINGER_SWIPE = "החלקה ב3 אצבעות"; 40 | THREE_FINGER_SWIPE_FOOTER = "החלק עם 3 אצבעות כדי לזוז להתחלת או סוף המסמך (מומלץ רק בiPad)"; 41 | } -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/swipeselectionpro/Resources/hu.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Engedélyezve"; 5 | 6 | SETTINGS = "Beállítások"; 7 | 8 | 9 | TRIPLE_TAP = "Tripla bökés"; 10 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Bökj háromszor a shift gombra, hogy ki-be kapcsold a SwipeSelection-t."; 11 | 12 | 13 | SWIPE_AREA = "Gesztus terület"; 14 | KEYBOARD_SWIPABLE_AREA = "A billentyűzet azon része, ahol tudsz gesztusokat véghez vinni."; 15 | 16 | WHOLE_KEYBOARD = "Teljes billentyűzet (alapértelmezett)"; 17 | EXCLUDING_SPACEBAR = "Mindenhol, kivéve a szóköz billentyűn"; 18 | JUST_SPACEBAR = "Csak a szóköz billentyűn"; 19 | 20 | 21 | SENSITIVITY = "Érzékenység"; 22 | SWIPE_SENSITIVITY = "Itt módosíthatod, hogy milyen érzékeny legyen a SwipeSelection az ujjad mozgatására."; 23 | NORMAL = "Normál"; 24 | REDUCED = "Csökkentett"; 25 | INSENSITIVE = "Érzéketlen"; 26 | 27 | 28 | SWIPE_SPEED = "Gesztus sebesség"; 29 | SWIPE_SPEED_FOOTER = "Itt módosíthatod, hogy milyen gyorsan mozogjon a kurzor, ha húzod az ujjad."; 30 | SLOWEST = "Leglassabb"; 31 | SLOWER = "Lassabb"; 32 | NORMAL = "Normál"; 33 | FASTER = "Gyorsabb"; 34 | FASTEST = "Leggyorssabb"; 35 | 36 | THREE_FINGER_SWIPE = "Három ujjas húzás"; 37 | THREE_FINGER_SWIPE_FOOTER = "Húzd három ujjad, hogy a dokumentum elejére ugorhass. Ez a funkció csak iPaden érhető el."; 38 | } -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/swipeselectionpro/Resources/id.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Diaktifkan"; 5 | 6 | SETTINGS = "Pengaturan"; 7 | 8 | 9 | TRIPLE_TAP = "Tiga Kali Tekan Layatr"; 10 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Tiga kali sentuh tombol Shift untuk mengaktifkan SwipeSelection ON dan OFF-t."; 11 | 12 | 13 | SWIPE_AREA = "Daerah Menggeser"; 14 | KEYBOARD_SWIPABLE_AREA = "Area keyboard yang dapat di-swipe"; 15 | 16 | WHOLE_KEYBOARD = "Keseluruhan Keyboard (Bawaan)"; 17 | EXCLUDING_SPACEBAR = "Seluruh keyboard kecuali tombol spasi"; 18 | JUST_SPACEBAR = "Hanya Tombol Spasi"; 19 | 20 | 21 | SENSITIVITY = "Tingkat kepekaan"; 22 | SWIPE_SENSITIVITY = "Tingkat kepekaan SwipeSelection untuk gerakan jari anda"; 23 | NORMAL = "Normal"; 24 | REDUCED = "Dikurangi"; 25 | INSENSITIVE = "Kurang Sensitif"; 26 | 27 | 28 | SWIPE_SPEED = "Kecepatan menggeser"; 29 | SWIPE_SPEED_FOOTER = "Seberapa cepat gerakan kursor ketika anda melakukan sentuhan"; 30 | SLOWEST = "Paling lambat"; 31 | SLOWER = "Lebih lambat"; 32 | NORMAL = "Normal"; 33 | FASTER = "Cepat"; 34 | FASTEST = "Paling cepat"; 35 | 36 | THREE_FINGER_SWIPE = "Sentuhan dengan 3 jari"; 37 | THREE_FINGER_SWIPE_FOOTER = "Swipe dengan 3 jari untuk pindah ke awal atau akhir dokumen. (Hanya dianjurkan pada iPad)"; 38 | } -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/swipeselectionpro/Resources/ko.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | /* ko_KR */ 5 | 6 | ENABLED = "활성화 시키기"; 7 | 8 | SETTINGS = "설정"; 9 | 10 | 11 | TRIPLE_TAP = "삼중 탭"; 12 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "SwipeSelection 을 활성화 하려면 'Shift' 버튼을 삼중 탭 하세요"; 13 | 14 | 15 | SWIPE_AREA = "스와이프 적용 범위"; 16 | KEYBOARD_SWIPABLE_AREA = "키보드 상에서 스와이프 가능한 범위를 설정합니다"; 17 | 18 | 19 | SENSITIVITY = "민감도"; 20 | SWIPE_SENSITIVITY = "SwipeSelection 의 민감도를 조정할 수 있습니다"; 21 | 22 | 23 | SWIPE_SPEED = "스와이프 속도"; 24 | SWIPE_SPEED_FOOTER = "스와이프시 커서의 움직임 속도를 조절할 수 있습니다"; 25 | 26 | THREE_FINGER_SWIPE = "세 손가락으로 옮기기"; 27 | THREE_FINGER_SWIPE_FOOTER = "세 손가락으로 옮기기를 사용해 문서의 처음이나 끝 부분으로 이동할수 있습니다. ( 아이패드에서만 사용하길 권장합니다)"; 28 | 29 | 30 | WHOLE_KEYBOARD = "키보드 전체 영역"; 31 | EXCLUDING_SPACEBAR = "스페이스 버튼 제외"; 32 | JUST_SPACEBAR = "스페이스 바 범위만"; 33 | 34 | 35 | NORMAL = "기본 설정"; 36 | REDUCED = "덜 민감하게"; 37 | INSENSITIVE = "더 민감하게"; 38 | 39 | 40 | SLOWEST = "가장 느린 속도"; 41 | SLOWER = "느린 속도"; 42 | NORMAL = "기본 설정"; 43 | FASTER = "빠른 속도"; 44 | FASTEST = "가장 빠른 속도"; 45 | } -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/swipeselectionpro/Resources/pt.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Ativo"; 5 | 6 | SETTINGS = "Definições"; 7 | 8 | 9 | TRIPLE_TAP = "Três Toques"; 10 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Três toques no botão shift pata ativar ou desativar o SwipeSelection-t."; 11 | 12 | 13 | SWIPE_AREA = "Área do Deslize"; 14 | KEYBOARD_SWIPABLE_AREA = "A área do teclado que deveria ser deslizável"; 15 | 16 | 17 | SENSITIVITY = "Sensitividade"; 18 | SWIPE_SENSITIVITY = "Quão sensível o SwipeSelection deve ser movendo o seu dedo"; 19 | 20 | 21 | SWIPE_SPEED = "Rapidez do Deslize"; 22 | SWIPE_SPEED_FOOTER = "Quão rápido deveria ser o movimento do cursor enquanto desliza"; 23 | 24 | THREE_FINGER_SWIPE = "Deslize com três dedos"; 25 | THREE_FINGER_SWIPE_FOOTER = "Deslize com três dedos para mover o início ou fim de um documento. (Apenas recomendado para iPad)"; 26 | 27 | 28 | 29 | WHOLE_KEYBOARD = "Todo o teclado (Defeito)"; 30 | EXCLUDING_SPACEBAR = "Tudo menos a barra de espaços"; 31 | JUST_SPACEBAR = "Apenas a barra de espaços"; 32 | 33 | 34 | NORMAL = "Normal"; 35 | REDUCED = "Reduzido"; 36 | INSENSITIVE = "Insensível"; 37 | 38 | 39 | SLOWEST = "O mais lento"; 40 | SLOWER = "Mais lento"; 41 | NORMAL = "Normal"; 42 | FASTER = "Mais rápido"; 43 | FASTEST = "O mais rápido"; 44 | } -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/swipeselectionpro/Resources/pt_BR.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Ativado"; 5 | 6 | SETTINGS = "Configurações"; 7 | 8 | 9 | TRIPLE_TAP = "Três toques"; 10 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Toque três vezes a tecla Shift para ativar ou desativar o SwipeSelection-t."; 11 | 12 | 13 | SWIPE_AREA = "Área para Deslizar"; 14 | KEYBOARD_SWIPABLE_AREA = "A área no teclado que permite o swipe"; 15 | 16 | WHOLE_KEYBOARD = "Todo o Teclado (Padrão)"; 17 | EXCLUDING_SPACEBAR = "Tudo exceto a barra de espaço"; 18 | JUST_SPACEBAR = "Somente a barra de espaço"; 19 | 20 | 21 | SENSITIVITY = "Sensitividade"; 22 | SWIPE_SENSITIVITY = "Quão sensível SwipeSelection deve ser quando você está mexendo seu dedo"; 23 | NORMAL = "Normal"; 24 | REDUCED = "Reduzido"; 25 | INSENSITIVE = "Insensível"; 26 | 27 | 28 | SWIPE_SPEED = "Velocidade do Deslizamento"; 29 | SWIPE_SPEED_FOOTER = "Quão rápido o cursor deve se mover enquanto você realiza o movimento de swipe"; 30 | SLOWEST = "Muito lento"; 31 | SLOWER = "Lento"; 32 | NORMAL = "Normal"; 33 | FASTER = "Rápido"; 34 | FASTEST = "Muito rápido"; 35 | 36 | THREE_FINGER_SWIPE = "Deslizar de 3 dedos"; 37 | THREE_FINGER_SWIPE_FOOTER = "Deslizar com 3 dedos para movimentar o curso do início ao fim de um texto. (Isto é prático só no iPad)"; 38 | } -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/swipeselectionpro/Resources/ro.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Activat"; 5 | 6 | SETTINGS = "Setări"; 7 | 8 | 9 | TRIPLE_TAP = "Triplu tap"; 10 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Apasă de trei ori tasta shift pentru a activa/dezactiva SwipeSelection"; 11 | 12 | 13 | SWIPE_AREA = "Zonă pentru swipe"; 14 | KEYBOARD_SWIPABLE_AREA = "Zona tastaturii care nu ar trebui să fie swipe-uita"; 15 | 16 | 17 | SENSITIVITY = "Sensibilitate"; 18 | SWIPE_SENSITIVITY = "Cât de senzitiv ar trebui să fie SwipeSelection"; 19 | 20 | 21 | SWIPE_SPEED = "Viteza swipe-ului"; 22 | SWIPE_SPEED_FOOTER = "Cât de rapid ar trebui să se miște cursorul când faci un swipe"; 23 | 24 | THREE_FINGER_SWIPE = "Swipe cu 3 degete"; 25 | THREE_FINGER_SWIPE_FOOTER = "Poți face un swipe cu 3 degete pentru a muta cursorul la începutul sau finalul documentului (doar pe iPad)"; 26 | 27 | 28 | WHOLE_KEYBOARD = "Toată tastatura (implicit)"; 29 | EXCLUDING_SPACEBAR = "Totul excluzând tasta space"; 30 | JUST_SPACEBAR = "Doar tasta space"; 31 | 32 | 33 | NORMAL = "Normal"; 34 | REDUCED = "Redus"; 35 | INSENSITIVE = "Insenzitiv"; 36 | 37 | 38 | SLOWEST = "Cel mai încet"; 39 | SLOWER = "Mai încet"; 40 | NORMAL = "Normal"; 41 | FASTER = "Mai rapid"; 42 | FASTEST = "Cel mai rapid"; 43 | } -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/swipeselectionpro/Resources/sv.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Aktiverad"; 5 | 6 | SETTINGS = "Inställningar"; 7 | 8 | 9 | TRIPLE_TAP = "Tre tryck"; 10 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Tryck tre gånger på shift knappen för att aktivera eller avaktivera SwipeSelection"; 11 | 12 | 13 | SWIPE_AREA = "Drag området"; 14 | KEYBOARD_SWIPABLE_AREA = "Området på tangentbordet som ska vara till för drag funktionen"; 15 | 16 | 17 | SENSITIVITY = "Känslighet"; 18 | SWIPE_SENSITIVITY = "Hur känsligt SwipeSelection ska vara när du rör fingret"; 19 | 20 | 21 | SWIPE_SPEED = "Drag Hastighet"; 22 | SWIPE_SPEED_FOOTER = "Hur fort teckenvisaren ska röra sig när du drar"; 23 | 24 | THREE_FINGER_SWIPE = "Tre finger drag"; 25 | THREE_FINGER_SWIPE_FOOTER = "Drag med tre fingrar för att flytta teckenvisaren till slutet eller början av en text (endast för iPad)"; 26 | 27 | 28 | WHOLE_KEYBOARD = "Hela tangentbordet (Standard)"; 29 | EXCLUDING_SPACEBAR = "Allt förutom mellanslag"; 30 | JUST_SPACEBAR = "Bara mellanslag"; 31 | 32 | 33 | NORMAL = "Normal"; 34 | REDUCED = "Slöare"; 35 | INSENSITIVE = "Okänslig"; 36 | 37 | 38 | SLOWEST = "Slöast"; 39 | SLOWER = "Slö"; 40 | NORMAL = "Normal"; 41 | FASTER = "Snabbare"; 42 | FASTEST = "Snabbast"; 43 | } -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/swipeselectionpro/Resources/tr.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Etkin"; 5 | 6 | SETTINGS = "Ayarlar"; 7 | 8 | 9 | TRIPLE_TAP = "3 Kere Tıklama"; 10 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Shift tuşuna 3 kere basılınca SwipeSelection'ı AÇIK veya KAPALI konuma getirir"; 11 | 12 | 13 | SWIPE_AREA = "Kaydırma Alanı"; 14 | KEYBOARD_SWIPABLE_AREA = "Klavyenin kaydırılabilinen alanını belirler"; 15 | 16 | 17 | SENSITIVITY = "Hassasiyet"; 18 | SWIPE_SENSITIVITY = "SwipeSelection parmağınızı kaydırmanıza ne kadar hassas olmasını belirler"; 19 | 20 | 21 | SWIPE_SPEED = "Kaydırma Hızı"; 22 | SWIPE_SPEED_FOOTER = "Siz kaydırdıkça imleç ne kadar hızlı hareket etmesini belirler"; 23 | 24 | THREE_FINGER_SWIPE = "3 Parmakla Kaydırma"; 25 | THREE_FINGER_SWIPE_FOOTER = "3 parmakla kaydırıp dosyanın başına veya sonuna gider. (Sadece iPad için önerilir)"; 26 | 27 | 28 | WHOLE_KEYBOARD = "Bütün Klavye (Varsayılan)"; 29 | EXCLUDING_SPACEBAR = "Boşluk Tuşu Hariç Heryer"; 30 | JUST_SPACEBAR = "Sadece Boşluk Tuşu"; 31 | 32 | 33 | NORMAL = "Normal"; 34 | REDUCED = "Azaltılmış"; 35 | INSENSITIVE = "Hassas Değil"; 36 | 37 | 38 | SLOWEST = "Çok Yavaş"; 39 | SLOWER = "Yavaş"; 40 | NORMAL = "Normal"; 41 | FASTER = "Hızlı"; 42 | FASTEST = "Çok Hızlı"; 43 | } -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/swipeselectionpro/Resources/vi.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Kích hoạt"; 5 | SETTINGS = "Thiết lập"; 6 | 7 | 8 | TRIPLE_TAP = "Gõ ba lần"; 9 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Gõ nhanh ba lần phím shift để chuyển đổi SwipeSelection sang BẬT và TẮT"; 10 | 11 | 12 | SWIPE_AREA = "Khu vực vuốt"; 13 | KEYBOARD_SWIPABLE_AREA = "Khu vực của bàn phím có thể dùng để vuốt"; 14 | 15 | 16 | SENSITIVITY = "Độ nhạy"; 17 | SWIPE_SENSITIVITY = "Độ nhạy của SwipeSelection khi bạn di chuyển ngón tay"; 18 | 19 | 20 | SWIPE_SPEED = "Tốc độ vuốt"; 21 | SWIPE_SPEED_FOOTER = "Tốc độ di chuyển con trỏ khi bạn vuốt"; 22 | 23 | THREE_FINGER_SWIPE = "Vuốt bằng 3 ngón"; 24 | THREE_FINGER_SWIPE_FOOTER = "Vuốt bằng 3 ngón để di chuyển tới đầu hoặc cuối một văn bản. (chỉ hữu dụng trên iPad)"; 25 | 26 | 27 | WHOLE_KEYBOARD = "Toàn bộ bàn phím (Mặc định)"; 28 | EXCLUDING_SPACEBAR = "Tất cả mọi nơi trừ thanh spacbar"; 29 | JUST_SPACEBAR = "Chỉ thanh spacebar"; 30 | 31 | 32 | NORMAL = "Trung bình"; 33 | REDUCED = "Giảm"; 34 | INSENSITIVE = "Vô hiệu"; 35 | 36 | 37 | SLOWEST = "Chậm nhất"; 38 | SLOWER = "Chậm vừa"; 39 | NORMAL = "Trung bình"; 40 | FASTER = "Nhanh vừa"; 41 | FASTEST = "Nhanh nhất"; 42 | } -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/swipeselectionpro/Resources/zh-Hans.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "启用"; 5 | 6 | SETTINGS = "设定"; 7 | 8 | TRIPLE_TAP = "三击"; 9 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "连击Shift键3次来关闭或启动SwipeSelection"; 10 | 11 | 12 | THREE_FINGER_SWIPE = "三指滑动"; 13 | THREE_FINGER_SWIPE_FOOTER = "三指滑动让光标移动到文档的开头或结尾(只适合ipad)"; 14 | 15 | 16 | 17 | SWIPE_AREA = "滑动区域"; 18 | KEYBOARD_SWIPABLE_AREA = "可滑动的键盘区域"; 19 | 20 | WHOLE_KEYBOARD = "全键盘(预设)"; 21 | EXCLUDING_SPACEBAR = "所有的空格"; 22 | JUST_SPACEBAR = "只有空格键"; 23 | 24 | 25 | 26 | SENSITIVITY = "灵敏度"; 27 | SWIPE_SENSITIVITY = "手指滑动灵敏度"; 28 | 29 | REDUCED = "减少"; 30 | INSENSITIVE = "无反应"; 31 | 32 | 33 | 34 | SWIPE_SPEED = "滑动速度"; 35 | SWIPE_SPEED_FOOTER = "SwipeSelection的灵敏度指的是在键盘上移动你的手指"; 36 | 37 | SLOWEST = "最慢"; 38 | SLOWER = "较慢"; 39 | NORMAL = "正常"; 40 | FASTER = "较快"; 41 | FASTEST = "最快"; 42 | } -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/swipeselectionpro/Resources/zh-Hant.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "啟用"; 5 | 6 | SETTINGS = "設定"; 7 | 8 | 9 | TRIPLE_TAP = "三擊"; 10 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "連擊Shift鍵3次來關閉或啟動SwipeSelection"; 11 | 12 | 13 | SWIPE_AREA = "滑動區域"; 14 | KEYBOARD_SWIPABLE_AREA = "可滑動的鍵盤區域"; 15 | 16 | 17 | SENSITIVITY = "靈敏度"; 18 | SWIPE_SENSITIVITY = "手指滑動靈敏度"; 19 | 20 | 21 | SWIPE_SPEED = "滑動速度"; 22 | SWIPE_SPEED_FOOTER = "SwipeSelection的靈敏度指的是在鍵盤上移動你的手指"; 23 | 24 | THREE_FINGER_SWIPE = "三指滑動"; 25 | THREE_FINGER_SWIPE_FOOTER = "三指滑動讓光標移動到文檔的開頭或結尾(只適合ipad)"; 26 | 27 | 28 | WHOLE_KEYBOARD = "全鍵盤(預設)"; 29 | EXCLUDING_SPACEBAR = "所有的空格"; 30 | JUST_SPACEBAR = "只有空格鍵"; 31 | 32 | 33 | NORMAL = "正常"; 34 | REDUCED = "減少"; 35 | INSENSITIVE = "無反應"; 36 | 37 | 38 | SLOWEST = "最慢"; 39 | SLOWER = "較慢"; 40 | NORMAL = "正常"; 41 | FASTER = "較快"; 42 | FASTEST = "最快"; 43 | } -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/swipeselectionpro/Resources/zh_CN.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "启用"; 5 | 6 | SETTINGS = "设定"; 7 | 8 | TRIPLE_TAP = "三击"; 9 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "连击Shift键3次来关闭或启动SwipeSelection"; 10 | 11 | 12 | THREE_FINGER_SWIPE = "三指滑动"; 13 | THREE_FINGER_SWIPE_FOOTER = "三指滑动让光标移动到文档的开头或结尾(只适合ipad)"; 14 | 15 | 16 | 17 | SWIPE_AREA = "滑动区域"; 18 | KEYBOARD_SWIPABLE_AREA = "可滑动的键盘区域"; 19 | 20 | WHOLE_KEYBOARD = "全键盘(预设)"; 21 | EXCLUDING_SPACEBAR = "所有的空格"; 22 | JUST_SPACEBAR = "只有空格键"; 23 | 24 | 25 | 26 | SENSITIVITY = "灵敏度"; 27 | SWIPE_SENSITIVITY = "手指滑动灵敏度"; 28 | 29 | REDUCED = "减少"; 30 | INSENSITIVE = "无反应"; 31 | 32 | 33 | 34 | SWIPE_SPEED = "滑动速度"; 35 | SWIPE_SPEED_FOOTER = "SwipeSelection的灵敏度指的是在键盘上移动你的手指"; 36 | 37 | SLOWEST = "最慢"; 38 | SLOWER = "较慢"; 39 | NORMAL = "正常"; 40 | FASTER = "较快"; 41 | FASTEST = "最快"; 42 | } -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/swipeselectionpro/Resources/zh_TW.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "啟用"; 5 | 6 | SETTINGS = "設定"; 7 | 8 | 9 | TRIPLE_TAP = "連點三下"; 10 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "連點三下 Shift 鍵以切換 SwipeSelection 的開關"; 11 | 12 | 13 | SWIPE_AREA = "滑動區域"; 14 | KEYBOARD_SWIPABLE_AREA = "鍵盤上可滑動的區域"; 15 | 16 | 17 | SENSITIVITY = "敏感度"; 18 | SWIPE_SENSITIVITY = "SwipeSelection 對於手指的滑動應該多敏感"; 19 | 20 | 21 | SWIPE_SPEED = "滑動速度"; 22 | SWIPE_SPEED_FOOTER = "手指滑動時游標應該移動多快"; 23 | 24 | THREE_FINGER_SWIPE = "三指滑動"; 25 | THREE_FINGER_SWIPE_FOOTER = "滑動三指以從文件的開端或尾端開始。(僅建議使用於 iPad"; 26 | 27 | 28 | WHOLE_KEYBOARD = "全鍵盤(預設"; 29 | EXCLUDING_SPACEBAR = "全鍵盤,排除空白鍵"; 30 | JUST_SPACEBAR = "只有空白鍵"; 31 | 32 | 33 | NORMAL = "普通"; 34 | REDUCED = "降低"; 35 | INSENSITIVE = "靈敏"; 36 | 37 | 38 | SLOWEST = "最慢"; 39 | SLOWER = "慢"; 40 | NORMAL = "普通"; 41 | FASTER = "快"; 42 | FASTEST = "最快"; 43 | } -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/swipeselectionpro/SwipeSelectionPro.mm: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | 4 | @interface SwipeSelectionProListController: PSListController 5 | @end 6 | 7 | @implementation SwipeSelectionProListController 8 | - (id)specifiers { 9 | if(_specifiers == nil) { 10 | _specifiers = [[self loadSpecifiersFromPlistName:@"SwipeSelectionPro" target:self] retain]; 11 | } 12 | return _specifiers; 13 | } 14 | 15 | 16 | 17 | // iOS 8 fix (official cfprefs API's don't work in sandboxed apps) 18 | 19 | #define SETTINGS_FILE @"/User/Library/Preferences/com.iky1e.swipeselection.plist" 20 | // http://iphonedevwiki.net/index.php/PreferenceBundles#Into_sandboxed.2Funsandboxed_processes_in_iOS_8 21 | 22 | -(id)readPreferenceValue:(PSSpecifier*)specifier { 23 | NSDictionary *exampleTweakSettings = [NSDictionary dictionaryWithContentsOfFile:SETTINGS_FILE]; 24 | if (!exampleTweakSettings[specifier.properties[@"key"]]) { 25 | return specifier.properties[@"default"]; 26 | } 27 | return exampleTweakSettings[specifier.properties[@"key"]]; 28 | } 29 | 30 | -(void)setPreferenceValue:(id)value specifier:(PSSpecifier*)specifier { 31 | NSMutableDictionary *defaults = [NSMutableDictionary dictionary]; 32 | [defaults addEntriesFromDictionary:[NSDictionary dictionaryWithContentsOfFile:SETTINGS_FILE]]; 33 | [defaults setObject:value forKey:specifier.properties[@"key"]]; 34 | [defaults writeToFile:SETTINGS_FILE atomically:YES]; 35 | 36 | CFStringRef toPost = (CFStringRef)specifier.properties[@"PostNotification"]; 37 | if (toPost) { 38 | CFNotificationCenterPostNotification(CFNotificationCenterGetDarwinNotifyCenter(), toPost, NULL, NULL, YES); 39 | } 40 | } 41 | 42 | @end 43 | 44 | // vim:ft=objc 45 | -------------------------------------------------------------------------------- /New Cydia Versions/SwipeSelection Pro/swipeselectionpro/entry.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | entry 6 | 7 | bundle 8 | SwipeSelectionPro 9 | cell 10 | PSLinkCell 11 | detail 12 | SwipeSelectionProListController 13 | icon 14 | SwipeSelectionPro.png 15 | isController 16 | 1 17 | label 18 | SwipeSelection 19 | 20 | 21 | CoreFoundationVersion 22 | 23 | 1240.10 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /ReadMe.md: -------------------------------------------------------------------------------- 1 | # SwipeSelection Beta ( ≥ iOS 9) 2 | 3 | Explanation of the differnt folders in this repo. 4 | 5 | ``` 6 | Cydia Version: This directory contains the NEW SwipeSelection & SwipeSelection code we will be releasing. 7 | 8 | Lupinus: This directory has your fork of the free SwipeSelection with the trackpad mode added. 9 | 10 | SwipeSelection Xcode: This contains my experiement to run SwipeSelection on unjailbroken devices. 11 | 12 | SwipeSelection: This is the SwipeSelection code for the version currently in Cydia. 13 | 14 | SwipeSelection Pro: This is the SwipeSelection Pro code for the version currently in Cydia. 15 | ``` 16 | 17 | [Lupinus by GaryniL](https://github.com/GaryniL/SwipeSelection-Beta) 18 | 19 | 20 | ## TODO: Add SwipeSelection Features 21 | 22 | Btw: The SwipeSelection code is a bit of a mess. I rewrote it and cleaned it up in SwipeSelection Pro. I only kept SwipeSelection the way it is for backwards compatibility with iOS 4 and 5. As this version won't need to support anything below iOS 9 we should base it on SwipeSelection Pro's code. 23 | 24 | 25 | 1. [x] Proof of concept 26 | 27 | 2. [x] Start selecting text when starting dragging from the shift or delete keys. 28 | 3. [ ] Don't trigger delete on touch down, only touch up or long press. 29 | 4. [ ] Don't trigger if the starting key is the 123 key, or world key. 30 | 31 | 5. [x] When selecting text pick the first cursor if the user begins the swipe going left, or up. 32 | 6. [x] When selecting pick the second cursor if the users swipe starts by going right, or down. 33 | 7. [ ] When selecting text, did it need to cancel previous select text range? 34 | 35 | 8. [ ] Look into how to make the keyboard change into the trackpad mode (-setDimmed: is not it) 36 | 37 | 9. [ ] Solve the problem conflicting with buildin version (only enable one at a time) 38 | 39 | 40 | ## Question 41 | - Todo 2: Please help me check if the recent version (0227) is same as SS 42 | - Todo 3: Not really get what this means, but I implement it with method same as SS code on Github 43 | - Todo 4: Is the world key means international keys? If it does, I finished. 44 | Yes, I said "world" key because iOS uses an icon of the globe for that key. 45 | 46 | - Todo 5&6: Please check the recent version 47 | - Todo 7: What do you think about this question? 48 | - Todo 8: I tried to figure out how to make it, however, didn't find out. I think I will try to figure it out in future work. 49 | 50 | ## Progress 51 | - 0227 Gary Finished selecting text with shift and delete key 52 | 53 | 54 | ----- 55 | 56 | 57 | # Keyboard Behaviours 58 | 59 | There are a few subtle keyboard behaviours I've added over time to SwipeSelection (added as people have complained I broke them). 60 | 61 | **Quick Access to Numbers** 62 | 63 | Using a latin based keyboard layout (English) you can tough down on the "123" key. The keyboard will instantly change to the numbers keyboard. If you keep your finger pressed down you can: swipe over, select a number, lift your finger and the keyboard will type that key and instantly return to the letters keyboard. 64 | This allows quick access to the numbers keyboard and so I disable SwipeSelection from starting if the user starts by touching the "more" key. 65 | 66 | **Handwriting** 67 | 68 | SwipeSelection breaks handwriting keyboards, used mostly by some asian languages. So it gets disabled if the keyboard is a handwriting keyboard. 69 | 70 | **Viber** 71 | 72 | The chat app "Viber" has (had?) a custom text view that crashes with SwipeSelection. So I diable it for that text view. `VBEmoticonsContentTextView` 73 | 74 | **Emoji** 75 | 76 | The Emoji keyboard is just a scroll view with emoji's listed. SwipeSelection used to trigger when you scrolled the emoji view (I can't remember how I fixed that). 77 | 78 | 79 | # SwipeSelection Behaviour 80 | 81 | As well as keyboard behaviour we need to avoid breaking there are some ways SwipeSelection changes the keyboard. 82 | 83 | **Selection Keys** 84 | 85 | Although the [original concept video](https://www.youtube.com/watch?v=RGQTaHGQ04Q) used only the shift key, it's useful on the iPhone to be able to drag from either side of the keyboard to select text (so the "shift", "delete" keys on English keyboard, and the "delete" and "ء" keys on Arabic? keyboards (I've forgotten what language I added that for). 86 | 87 | **Moving the cursor** 88 | 89 | When you move the cursor with SwipeSelection it should start from as far in the direction the user is going as possible. 90 | So if there is an existing select range when the user starts moving the cursor left we should pick the left most (the start point in English) position to start the cursor from and invalidate the existing selection range. 91 | If the user swipes down the bottom point of the selection should be taken as the starting point for the cursor to move from. 92 | 93 | **Selection** 94 | 95 | When you select text with SwipeSelection and there is an existing select range it should follow a similar pattern as when moving the cursor, except it extends the existing selection range. 96 | So if the user swipes down the bottom point of the existing selection range will be the part that moves, leaving the upper start point where it is. 97 | 98 | -------------------------------------------------------------------------------- /SwipeSelection Xcode/SwipeSelection Test.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | CC887D151E609BFE000E6F31 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = CC887D141E609BFE000E6F31 /* main.m */; }; 11 | CC887D181E609BFE000E6F31 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = CC887D171E609BFE000E6F31 /* AppDelegate.m */; }; 12 | CC887D1B1E609BFE000E6F31 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CC887D1A1E609BFE000E6F31 /* ViewController.m */; }; 13 | CC887D1E1E609BFE000E6F31 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = CC887D1C1E609BFE000E6F31 /* Main.storyboard */; }; 14 | CC887D201E609BFE000E6F31 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = CC887D1F1E609BFE000E6F31 /* Assets.xcassets */; }; 15 | CC887D231E609BFE000E6F31 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = CC887D211E609BFE000E6F31 /* LaunchScreen.storyboard */; }; 16 | CC887D2B1E609FB0000E6F31 /* Tweak.m in Sources */ = {isa = PBXBuildFile; fileRef = CC887D2A1E609FB0000E6F31 /* Tweak.m */; }; 17 | CC887D2D1E60A7EF000E6F31 /* swizzling.m in Sources */ = {isa = PBXBuildFile; fileRef = CC887D2C1E60A7EF000E6F31 /* swizzling.m */; }; 18 | /* End PBXBuildFile section */ 19 | 20 | /* Begin PBXFileReference section */ 21 | CC887D101E609BFE000E6F31 /* SwipeSelection Test.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "SwipeSelection Test.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 22 | CC887D141E609BFE000E6F31 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 23 | CC887D161E609BFE000E6F31 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; 24 | CC887D171E609BFE000E6F31 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; 25 | CC887D191E609BFE000E6F31 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; 26 | CC887D1A1E609BFE000E6F31 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; 27 | CC887D1D1E609BFE000E6F31 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 28 | CC887D1F1E609BFE000E6F31 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 29 | CC887D221E609BFE000E6F31 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 30 | CC887D241E609BFE000E6F31 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 31 | CC887D2A1E609FB0000E6F31 /* Tweak.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Tweak.m; sourceTree = ""; }; 32 | CC887D2C1E60A7EF000E6F31 /* swizzling.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = swizzling.m; sourceTree = ""; }; 33 | CC887D2E1E60A806000E6F31 /* swizzling.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = swizzling.h; sourceTree = ""; }; 34 | /* End PBXFileReference section */ 35 | 36 | /* Begin PBXFrameworksBuildPhase section */ 37 | CC887D0D1E609BFE000E6F31 /* Frameworks */ = { 38 | isa = PBXFrameworksBuildPhase; 39 | buildActionMask = 2147483647; 40 | files = ( 41 | ); 42 | runOnlyForDeploymentPostprocessing = 0; 43 | }; 44 | /* End PBXFrameworksBuildPhase section */ 45 | 46 | /* Begin PBXGroup section */ 47 | CC887D071E609BFE000E6F31 = { 48 | isa = PBXGroup; 49 | children = ( 50 | CC887D121E609BFE000E6F31 /* SwipeSelection Test */, 51 | CC887D111E609BFE000E6F31 /* Products */, 52 | ); 53 | sourceTree = ""; 54 | }; 55 | CC887D111E609BFE000E6F31 /* Products */ = { 56 | isa = PBXGroup; 57 | children = ( 58 | CC887D101E609BFE000E6F31 /* SwipeSelection Test.app */, 59 | ); 60 | name = Products; 61 | sourceTree = ""; 62 | }; 63 | CC887D121E609BFE000E6F31 /* SwipeSelection Test */ = { 64 | isa = PBXGroup; 65 | children = ( 66 | CC887D161E609BFE000E6F31 /* AppDelegate.h */, 67 | CC887D171E609BFE000E6F31 /* AppDelegate.m */, 68 | CC887D191E609BFE000E6F31 /* ViewController.h */, 69 | CC887D1A1E609BFE000E6F31 /* ViewController.m */, 70 | CC887D2A1E609FB0000E6F31 /* Tweak.m */, 71 | CC887D2E1E60A806000E6F31 /* swizzling.h */, 72 | CC887D2C1E60A7EF000E6F31 /* swizzling.m */, 73 | CC887D1C1E609BFE000E6F31 /* Main.storyboard */, 74 | CC887D1F1E609BFE000E6F31 /* Assets.xcassets */, 75 | CC887D211E609BFE000E6F31 /* LaunchScreen.storyboard */, 76 | CC887D241E609BFE000E6F31 /* Info.plist */, 77 | CC887D131E609BFE000E6F31 /* Supporting Files */, 78 | ); 79 | path = "SwipeSelection Test"; 80 | sourceTree = ""; 81 | }; 82 | CC887D131E609BFE000E6F31 /* Supporting Files */ = { 83 | isa = PBXGroup; 84 | children = ( 85 | CC887D141E609BFE000E6F31 /* main.m */, 86 | ); 87 | name = "Supporting Files"; 88 | sourceTree = ""; 89 | }; 90 | /* End PBXGroup section */ 91 | 92 | /* Begin PBXNativeTarget section */ 93 | CC887D0F1E609BFE000E6F31 /* SwipeSelection Test */ = { 94 | isa = PBXNativeTarget; 95 | buildConfigurationList = CC887D271E609BFE000E6F31 /* Build configuration list for PBXNativeTarget "SwipeSelection Test" */; 96 | buildPhases = ( 97 | CC887D0C1E609BFE000E6F31 /* Sources */, 98 | CC887D0D1E609BFE000E6F31 /* Frameworks */, 99 | CC887D0E1E609BFE000E6F31 /* Resources */, 100 | ); 101 | buildRules = ( 102 | ); 103 | dependencies = ( 104 | ); 105 | name = "SwipeSelection Test"; 106 | productName = "SwipeSelection Test"; 107 | productReference = CC887D101E609BFE000E6F31 /* SwipeSelection Test.app */; 108 | productType = "com.apple.product-type.application"; 109 | }; 110 | /* End PBXNativeTarget section */ 111 | 112 | /* Begin PBXProject section */ 113 | CC887D081E609BFE000E6F31 /* Project object */ = { 114 | isa = PBXProject; 115 | attributes = { 116 | LastUpgradeCheck = 0820; 117 | ORGANIZATIONNAME = "Kyle Howells"; 118 | TargetAttributes = { 119 | CC887D0F1E609BFE000E6F31 = { 120 | CreatedOnToolsVersion = 8.2.1; 121 | DevelopmentTeam = NFTL2336WY; 122 | ProvisioningStyle = Automatic; 123 | }; 124 | }; 125 | }; 126 | buildConfigurationList = CC887D0B1E609BFE000E6F31 /* Build configuration list for PBXProject "SwipeSelection Test" */; 127 | compatibilityVersion = "Xcode 3.2"; 128 | developmentRegion = English; 129 | hasScannedForEncodings = 0; 130 | knownRegions = ( 131 | en, 132 | Base, 133 | ); 134 | mainGroup = CC887D071E609BFE000E6F31; 135 | productRefGroup = CC887D111E609BFE000E6F31 /* Products */; 136 | projectDirPath = ""; 137 | projectRoot = ""; 138 | targets = ( 139 | CC887D0F1E609BFE000E6F31 /* SwipeSelection Test */, 140 | ); 141 | }; 142 | /* End PBXProject section */ 143 | 144 | /* Begin PBXResourcesBuildPhase section */ 145 | CC887D0E1E609BFE000E6F31 /* Resources */ = { 146 | isa = PBXResourcesBuildPhase; 147 | buildActionMask = 2147483647; 148 | files = ( 149 | CC887D231E609BFE000E6F31 /* LaunchScreen.storyboard in Resources */, 150 | CC887D201E609BFE000E6F31 /* Assets.xcassets in Resources */, 151 | CC887D1E1E609BFE000E6F31 /* Main.storyboard in Resources */, 152 | ); 153 | runOnlyForDeploymentPostprocessing = 0; 154 | }; 155 | /* End PBXResourcesBuildPhase section */ 156 | 157 | /* Begin PBXSourcesBuildPhase section */ 158 | CC887D0C1E609BFE000E6F31 /* Sources */ = { 159 | isa = PBXSourcesBuildPhase; 160 | buildActionMask = 2147483647; 161 | files = ( 162 | CC887D1B1E609BFE000E6F31 /* ViewController.m in Sources */, 163 | CC887D2D1E60A7EF000E6F31 /* swizzling.m in Sources */, 164 | CC887D181E609BFE000E6F31 /* AppDelegate.m in Sources */, 165 | CC887D2B1E609FB0000E6F31 /* Tweak.m in Sources */, 166 | CC887D151E609BFE000E6F31 /* main.m in Sources */, 167 | ); 168 | runOnlyForDeploymentPostprocessing = 0; 169 | }; 170 | /* End PBXSourcesBuildPhase section */ 171 | 172 | /* Begin PBXVariantGroup section */ 173 | CC887D1C1E609BFE000E6F31 /* Main.storyboard */ = { 174 | isa = PBXVariantGroup; 175 | children = ( 176 | CC887D1D1E609BFE000E6F31 /* Base */, 177 | ); 178 | name = Main.storyboard; 179 | sourceTree = ""; 180 | }; 181 | CC887D211E609BFE000E6F31 /* LaunchScreen.storyboard */ = { 182 | isa = PBXVariantGroup; 183 | children = ( 184 | CC887D221E609BFE000E6F31 /* Base */, 185 | ); 186 | name = LaunchScreen.storyboard; 187 | sourceTree = ""; 188 | }; 189 | /* End PBXVariantGroup section */ 190 | 191 | /* Begin XCBuildConfiguration section */ 192 | CC887D251E609BFE000E6F31 /* Debug */ = { 193 | isa = XCBuildConfiguration; 194 | buildSettings = { 195 | ALWAYS_SEARCH_USER_PATHS = NO; 196 | CLANG_ANALYZER_NONNULL = YES; 197 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 198 | CLANG_CXX_LIBRARY = "libc++"; 199 | CLANG_ENABLE_MODULES = YES; 200 | CLANG_ENABLE_OBJC_ARC = YES; 201 | CLANG_WARN_BOOL_CONVERSION = YES; 202 | CLANG_WARN_CONSTANT_CONVERSION = YES; 203 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 204 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 205 | CLANG_WARN_EMPTY_BODY = YES; 206 | CLANG_WARN_ENUM_CONVERSION = YES; 207 | CLANG_WARN_INFINITE_RECURSION = YES; 208 | CLANG_WARN_INT_CONVERSION = YES; 209 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 210 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 211 | CLANG_WARN_UNREACHABLE_CODE = YES; 212 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 213 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 214 | COPY_PHASE_STRIP = NO; 215 | DEBUG_INFORMATION_FORMAT = dwarf; 216 | ENABLE_STRICT_OBJC_MSGSEND = YES; 217 | ENABLE_TESTABILITY = YES; 218 | GCC_C_LANGUAGE_STANDARD = gnu99; 219 | GCC_DYNAMIC_NO_PIC = NO; 220 | GCC_NO_COMMON_BLOCKS = YES; 221 | GCC_OPTIMIZATION_LEVEL = 0; 222 | GCC_PREPROCESSOR_DEFINITIONS = ( 223 | "DEBUG=1", 224 | "$(inherited)", 225 | ); 226 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 227 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 228 | GCC_WARN_UNDECLARED_SELECTOR = YES; 229 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 230 | GCC_WARN_UNUSED_FUNCTION = YES; 231 | GCC_WARN_UNUSED_VARIABLE = YES; 232 | IPHONEOS_DEPLOYMENT_TARGET = 10.2; 233 | MTL_ENABLE_DEBUG_INFO = YES; 234 | ONLY_ACTIVE_ARCH = YES; 235 | SDKROOT = iphoneos; 236 | TARGETED_DEVICE_FAMILY = "1,2"; 237 | }; 238 | name = Debug; 239 | }; 240 | CC887D261E609BFE000E6F31 /* Release */ = { 241 | isa = XCBuildConfiguration; 242 | buildSettings = { 243 | ALWAYS_SEARCH_USER_PATHS = NO; 244 | CLANG_ANALYZER_NONNULL = YES; 245 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 246 | CLANG_CXX_LIBRARY = "libc++"; 247 | CLANG_ENABLE_MODULES = YES; 248 | CLANG_ENABLE_OBJC_ARC = YES; 249 | CLANG_WARN_BOOL_CONVERSION = YES; 250 | CLANG_WARN_CONSTANT_CONVERSION = YES; 251 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 252 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 253 | CLANG_WARN_EMPTY_BODY = YES; 254 | CLANG_WARN_ENUM_CONVERSION = YES; 255 | CLANG_WARN_INFINITE_RECURSION = YES; 256 | CLANG_WARN_INT_CONVERSION = YES; 257 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 258 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 259 | CLANG_WARN_UNREACHABLE_CODE = YES; 260 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 261 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 262 | COPY_PHASE_STRIP = NO; 263 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 264 | ENABLE_NS_ASSERTIONS = NO; 265 | ENABLE_STRICT_OBJC_MSGSEND = YES; 266 | GCC_C_LANGUAGE_STANDARD = gnu99; 267 | GCC_NO_COMMON_BLOCKS = YES; 268 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 269 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 270 | GCC_WARN_UNDECLARED_SELECTOR = YES; 271 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 272 | GCC_WARN_UNUSED_FUNCTION = YES; 273 | GCC_WARN_UNUSED_VARIABLE = YES; 274 | IPHONEOS_DEPLOYMENT_TARGET = 10.2; 275 | MTL_ENABLE_DEBUG_INFO = NO; 276 | SDKROOT = iphoneos; 277 | TARGETED_DEVICE_FAMILY = "1,2"; 278 | VALIDATE_PRODUCT = YES; 279 | }; 280 | name = Release; 281 | }; 282 | CC887D281E609BFE000E6F31 /* Debug */ = { 283 | isa = XCBuildConfiguration; 284 | buildSettings = { 285 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 286 | DEVELOPMENT_TEAM = NFTL2336WY; 287 | INFOPLIST_FILE = "SwipeSelection Test/Info.plist"; 288 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 289 | PRODUCT_BUNDLE_IDENTIFIER = "com.ikyle.SwipeSelection-Test"; 290 | PRODUCT_NAME = "$(TARGET_NAME)"; 291 | }; 292 | name = Debug; 293 | }; 294 | CC887D291E609BFE000E6F31 /* Release */ = { 295 | isa = XCBuildConfiguration; 296 | buildSettings = { 297 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 298 | DEVELOPMENT_TEAM = NFTL2336WY; 299 | INFOPLIST_FILE = "SwipeSelection Test/Info.plist"; 300 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 301 | PRODUCT_BUNDLE_IDENTIFIER = "com.ikyle.SwipeSelection-Test"; 302 | PRODUCT_NAME = "$(TARGET_NAME)"; 303 | }; 304 | name = Release; 305 | }; 306 | /* End XCBuildConfiguration section */ 307 | 308 | /* Begin XCConfigurationList section */ 309 | CC887D0B1E609BFE000E6F31 /* Build configuration list for PBXProject "SwipeSelection Test" */ = { 310 | isa = XCConfigurationList; 311 | buildConfigurations = ( 312 | CC887D251E609BFE000E6F31 /* Debug */, 313 | CC887D261E609BFE000E6F31 /* Release */, 314 | ); 315 | defaultConfigurationIsVisible = 0; 316 | defaultConfigurationName = Release; 317 | }; 318 | CC887D271E609BFE000E6F31 /* Build configuration list for PBXNativeTarget "SwipeSelection Test" */ = { 319 | isa = XCConfigurationList; 320 | buildConfigurations = ( 321 | CC887D281E609BFE000E6F31 /* Debug */, 322 | CC887D291E609BFE000E6F31 /* Release */, 323 | ); 324 | defaultConfigurationIsVisible = 0; 325 | }; 326 | /* End XCConfigurationList section */ 327 | }; 328 | rootObject = CC887D081E609BFE000E6F31 /* Project object */; 329 | } 330 | -------------------------------------------------------------------------------- /SwipeSelection Xcode/SwipeSelection Test.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /SwipeSelection Xcode/SwipeSelection Test/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // SwipeSelection Test 4 | // 5 | // Created by Kyle Howells on 24/02/2017. 6 | // Copyright © 2017 Kyle Howells. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /SwipeSelection Xcode/SwipeSelection Test/AppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.m 3 | // SwipeSelection Test 4 | // 5 | // Created by Kyle Howells on 24/02/2017. 6 | // Copyright © 2017 Kyle Howells. All rights reserved. 7 | // 8 | 9 | #import "AppDelegate.h" 10 | 11 | @interface AppDelegate () 12 | 13 | @end 14 | 15 | @implementation AppDelegate 16 | 17 | 18 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 19 | // Override point for customization after application launch. 20 | return YES; 21 | } 22 | 23 | 24 | - (void)applicationWillResignActive:(UIApplication *)application { 25 | // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. 26 | // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game. 27 | } 28 | 29 | 30 | - (void)applicationDidEnterBackground:(UIApplication *)application { 31 | // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 32 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. 33 | } 34 | 35 | 36 | - (void)applicationWillEnterForeground:(UIApplication *)application { 37 | // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background. 38 | } 39 | 40 | 41 | - (void)applicationDidBecomeActive:(UIApplication *)application { 42 | // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. 43 | } 44 | 45 | 46 | - (void)applicationWillTerminate:(UIApplication *)application { 47 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. 48 | } 49 | 50 | 51 | @end 52 | -------------------------------------------------------------------------------- /SwipeSelection Xcode/SwipeSelection Test/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "ipad", 35 | "size" : "29x29", 36 | "scale" : "1x" 37 | }, 38 | { 39 | "idiom" : "ipad", 40 | "size" : "29x29", 41 | "scale" : "2x" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "size" : "40x40", 46 | "scale" : "1x" 47 | }, 48 | { 49 | "idiom" : "ipad", 50 | "size" : "40x40", 51 | "scale" : "2x" 52 | }, 53 | { 54 | "idiom" : "ipad", 55 | "size" : "76x76", 56 | "scale" : "1x" 57 | }, 58 | { 59 | "idiom" : "ipad", 60 | "size" : "76x76", 61 | "scale" : "2x" 62 | } 63 | ], 64 | "info" : { 65 | "version" : 1, 66 | "author" : "xcode" 67 | } 68 | } -------------------------------------------------------------------------------- /SwipeSelection Xcode/SwipeSelection Test/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /SwipeSelection Xcode/SwipeSelection Test/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. 29 | 30 | Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda. Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. 31 | 32 | Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. 33 | 34 | Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda. 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /SwipeSelection Xcode/SwipeSelection Test/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | LSRequiresIPhoneOS 22 | 23 | UILaunchStoryboardName 24 | LaunchScreen 25 | UIMainStoryboardFile 26 | Main 27 | UIRequiredDeviceCapabilities 28 | 29 | armv7 30 | 31 | UISupportedInterfaceOrientations 32 | 33 | UIInterfaceOrientationPortrait 34 | UIInterfaceOrientationLandscapeLeft 35 | UIInterfaceOrientationLandscapeRight 36 | 37 | UISupportedInterfaceOrientations~ipad 38 | 39 | UIInterfaceOrientationPortrait 40 | UIInterfaceOrientationPortraitUpsideDown 41 | UIInterfaceOrientationLandscapeLeft 42 | UIInterfaceOrientationLandscapeRight 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /SwipeSelection Xcode/SwipeSelection Test/Tweak.m: -------------------------------------------------------------------------------- 1 | // 2 | // Tweak.m 3 | // SwipeSelection Test 4 | // 5 | // Created by Kyle Howells on 24/02/2017. 6 | // Copyright © 2017 Kyle Howells. All rights reserved. 7 | // 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | // 18 | // TODO: Add SwipeSelection Features 19 | // 20 | // [x] Proof of concept 21 | // 22 | // [ ] Start selecting text when starting dragging from the shift or delete keys. 23 | // [ ] Don't trigger delete on touch down, only touch up or long press. 24 | // [ ] Don't trigger if the starting key is the 123 key, or world key. 25 | // 26 | // [ ] When selecting text pick the first cursor if the user begins the swipe going left, or up. 27 | // [ ] When selecting pick the second cursor if the users swipe starts by going right, or down. 28 | // 29 | // [ ] Look into how to make the keyboard change into the trackpad mode (-setDimmed: is not it) 30 | // 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | #import 42 | @import UIKit; 43 | 44 | 45 | #pragma mark - Imports 46 | 47 | #import 48 | #import 49 | #import 50 | #import 51 | #import "swizzling.h" 52 | 53 | 54 | 55 | @interface _UIKeyboardTextSelectionController : NSObject 56 | -(void)setCursorPosition:(UITextPosition *)arg1 ; 57 | -(void)beginFloatingCursorAtPoint:(CGPoint)arg1 ; 58 | -(void)beginSelection; 59 | -(void)updateFloatingCursorAtPoint:(CGPoint)arg1 ; 60 | -(void)updateSelectionWithExtentPoint:(CGPoint)arg1 executionContext:(id)arg2 ; 61 | -(void)selectPositionAtPoint:(CGPoint)arg1 executionContext:(id)arg2 ; 62 | 63 | -(void)endSelection; 64 | -(void)endFloatingCursor; 65 | 66 | -(void)switchToRangedSelection; 67 | 68 | -(CGRect)caretRectForCursorPosition; 69 | 70 | -(void)setSelectionGranularity:(NSInteger)arg1 ; 71 | -(void)setCaretRectForCursorPosition:(CGRect)arg1 ; 72 | 73 | -(UITextPosition *)cursorPosition; 74 | @end 75 | 76 | 77 | 78 | @interface _UIKeyboardTextSelectionGestureController : NSObject 79 | +(id)sharedInstance; 80 | -(_UIKeyboardTextSelectionController *)selectionController; 81 | 82 | -(void)setLastPanTranslation:(CGPoint)arg1 ; 83 | -(CGPoint)cursorLocationForTranslation:(CGPoint)arg1; 84 | -(void)indirectCursorPanGestureWithState:(NSInteger)arg1 withTranslation:(CGPoint)arg2 withFlickDirection:(NSUInteger)arg3 ; 85 | -(CGPoint)acceleratedTranslation:(CGPoint)arg1 velocity:(CGPoint)arg2 final:(BOOL)arg3 ; 86 | 87 | -(void)configureOneFingerForcePressRecognizer:(id)arg1 ; 88 | -(void)configureTwoFingerPanGestureRecognizer:(id)arg1 ; 89 | -(void)configureTwoFingerTapGestureRecognizer:(id)arg1 ; 90 | @end 91 | 92 | 93 | 94 | @interface UIKBKey : NSObject 95 | @property(copy) NSString *representedString; 96 | @end 97 | 98 | @interface UIKeyboardLayout : UIView 99 | - (UIKBKey *)keyHitTest:(CGPoint)point; 100 | @end 101 | 102 | @interface UIKeyboardLayoutStar : UIKeyboardLayout 103 | - (UIKBKey *)keyHitTest:(CGPoint)arg1; 104 | - (void)setKeyboardDim:(BOOL)arg1 ; 105 | @end 106 | 107 | 108 | 109 | 110 | @protocol UITextInputPrivate 111 | @end 112 | 113 | @interface UIKeyboardImpl : UIView 114 | +(UIKeyboardImpl*)sharedInstance; 115 | +(UIKeyboardImpl*)activeInstance; 116 | @property (readonly, assign, nonatomic) UIResponder *privateInputDelegate; 117 | @property (readonly, assign, nonatomic) UIResponder *inputDelegate; 118 | -(void)handleDelete; 119 | -(void)handleDeleteAsRepeat:(BOOL)repeat; 120 | -(void)handleDeleteWithNonZeroInputCount; 121 | 122 | -(UIKeyboardLayout*)_layout; 123 | 124 | -(void)clearSelection; 125 | -(void)collapseSelection; 126 | @end 127 | 128 | 129 | 130 | 131 | #pragma mark - Constants 132 | 133 | #define notificationDimTag @"setKeyboardToDim" 134 | 135 | static BOOL isInternationalKey = NO; 136 | static BOOL isTwoFingerOn = NO; 137 | static BOOL isSwiping = NO; 138 | static BOOL isForceTouchDown = NO; 139 | 140 | 141 | 142 | 143 | 144 | 145 | #pragma mark - Hooks 146 | 147 | 148 | #pragma mark Stop Force Touch 149 | 150 | @implementation UIView (_UIKeyboardTextSelectionGestureController_Extras) 151 | 152 | static void (*configureOneFingerForcePressRecognizer)(id, SEL, id) = NULL; 153 | 154 | static void swizzle_configureOneFingerForcePressRecognizer(_UIKeyboardTextSelectionGestureController *self, SEL _cmd, id arg1) 155 | { 156 | // Do nothing 157 | } 158 | 159 | 160 | + (void)load 161 | { 162 | Class _UIKeyboardTextSelectionGestureController = objc_getClass("_UIKeyboardTextSelectionGestureController"); 163 | SwizzleSelector(_UIKeyboardTextSelectionGestureController, @selector(configureOneFingerForcePressRecognizer:), swizzle_configureOneFingerForcePressRecognizer, &configureOneFingerForcePressRecognizer); 164 | } 165 | 166 | @end 167 | 168 | // Turns into ^^^ that 169 | //%hook _UIKeyboardTextSelectionGestureController 170 | //// Stop forcetouch 171 | //-(void)configureOneFingerForcePressRecognizer:(id)arg1 {} 172 | //%end 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | #pragma mark UIKeyboardImpl 181 | 182 | // We can't use %new, or add it as a category because we can't link against UIKeyboardImpl. 183 | // So stick it on UIKeyboardImpl's superclass which we can link to, and it will inherit the method. 184 | @interface UIView (SwipeSelection_extras) 185 | -(void)ss_gs_extra_KeyboardGestureDidPan:(UIPanGestureRecognizer*)gesture; 186 | @end 187 | 188 | @implementation UIView (SwipeSelection_extras) 189 | 190 | -(void)ss_gs_extra_KeyboardGestureDidPan:(UIPanGestureRecognizer*)gesture{ 191 | 192 | int touchesCount = [gesture numberOfTouches]; 193 | 194 | _UIKeyboardTextSelectionGestureController* _textSelectionGestureController = [objc_getClass("_UIKeyboardTextSelectionGestureController") sharedInstance]; 195 | 196 | // _UIKeyboardTextSelectionController* _textSelectionController = MSHookIvar<_UIKeyboardTextSelectionController*>(self, "_textSelectionController"); 197 | _UIKeyboardTextSelectionController* _textSelectionController = [_textSelectionGestureController selectionController]; 198 | 199 | static CGPoint initialPosition; 200 | static CGPoint previousPosition; 201 | static CGPoint initialCursorPosition; 202 | static CGRect initialCursor; 203 | // Control Flags 204 | static BOOL hasStarted = NO; 205 | 206 | UIKeyboardImpl *keyboardImpl = (UIKeyboardImpl*)self; 207 | 208 | if (gesture.state == UIGestureRecognizerStateEnded || gesture.state == UIGestureRecognizerStateCancelled) { 209 | [_textSelectionController endSelection]; 210 | [_textSelectionController endFloatingCursor]; 211 | hasStarted = NO; 212 | initialCursor = [_textSelectionController caretRectForCursorPosition]; 213 | initialCursorPosition = CGPointMake(initialCursor.origin.x,initialCursor.origin.y); 214 | 215 | isTwoFingerOn = NO; 216 | } 217 | else if (gesture.state == UIGestureRecognizerStateBegan) { 218 | initialCursor = [_textSelectionController caretRectForCursorPosition]; 219 | initialCursorPosition = CGPointMake(initialCursor.origin.x, initialCursor.origin.y); 220 | 221 | previousPosition = [gesture locationInView:self]; 222 | initialPosition = previousPosition; 223 | 224 | // 還原設置,以防其他觸摸按鍵失效 225 | gesture.cancelsTouchesInView = NO; 226 | 227 | if (touchesCount > 1) { 228 | isTwoFingerOn = YES; 229 | } 230 | 231 | } 232 | else if (gesture.state == UIGestureRecognizerStateChanged) { 233 | 234 | // Basic position record 235 | CGPoint position = [gesture locationInView:self]; 236 | CGPoint delta = CGPointMake(position.x - previousPosition.x, position.y - previousPosition.y); 237 | CGPoint offsetToInitial = CGPointMake(position.x - initialPosition.x, position.y - initialPosition.y); 238 | // CGPoint transPosition = [_textSelectionGestureController cursorLocationForTranslation:position]; 239 | 240 | // CGPoint tPosition = [gesture translationInView:self]; 241 | CGPoint tVelocity = [gesture velocityInView:self]; 242 | // Some variables 243 | CGFloat thresholdX = 10; 244 | CGFloat thresholdY = 0; 245 | 246 | // 如果按住換語言按鈕 247 | // 要放在threshold前,不然手勢會取消語言view 248 | if (isInternationalKey == YES) { 249 | // gesture.cancelsTouchesInView = NO; 250 | return ; 251 | } 252 | 253 | if (isForceTouchDown == YES){ 254 | return ; 255 | } 256 | 257 | if ((hasStarted == NO && delta.x < thresholdX && delta.x > (-thresholdX)) 258 | && (hasStarted == NO && delta.y < thresholdY && delta.y > (-thresholdY)) 259 | ){ 260 | return; 261 | } 262 | 263 | id privateInputDelegate = nil; 264 | if ([keyboardImpl respondsToSelector:@selector(privateInputDelegate)]) { 265 | privateInputDelegate = (id)keyboardImpl.privateInputDelegate; 266 | } 267 | if (!privateInputDelegate && [keyboardImpl respondsToSelector:@selector(inputDelegate)]) { 268 | privateInputDelegate = (id)keyboardImpl.inputDelegate; 269 | } 270 | 271 | if (hasStarted == NO){ 272 | initialCursor = [_textSelectionController caretRectForCursorPosition]; 273 | initialCursorPosition = CGPointMake(initialCursor.origin.x,initialCursor.origin.y); 274 | [_textSelectionController beginFloatingCursorAtPoint:initialCursorPosition]; 275 | [_textSelectionController beginSelection]; 276 | 277 | if (privateInputDelegate != nil && [NSStringFromClass([privateInputDelegate class]) isEqualToString:@"UnifiedField"]) { 278 | [keyboardImpl collapseSelection]; 279 | } 280 | } 281 | 282 | /* 283 | ######################### 284 | START 285 | ######################### 286 | */ 287 | 288 | gesture.cancelsTouchesInView = YES; 289 | hasStarted = YES; 290 | // Set keyboard dim giving feedback 291 | // [[NSNotificationCenter defaultCenter] postNotificationName:notificationDimTag object:nil]; 292 | 293 | // UIKeyboardLayoutStar *layout = [keyboardImpl _layout]; 294 | // if ([layout respondsToSelector:@selector(setKeyboardDim:)]) { 295 | // [layout setKeyboardDim:YES]; 296 | // } 297 | 298 | 299 | double velocityY = floor(tVelocity.y / 30); 300 | double velocityX = floor(tVelocity.x / 50); 301 | CGPoint realPositionToView = CGPointMake(initialCursorPosition.x+offsetToInitial.x+velocityX, initialCursorPosition.y+offsetToInitial.y+velocityY); //+transPosition.y 302 | 303 | if (isTwoFingerOn == YES){ 304 | [_textSelectionController switchToRangedSelection]; 305 | [_textSelectionController updateFloatingCursorAtPoint:realPositionToView];//一般字黃色游標 arg1 = point是transPosition 306 | [_textSelectionController updateSelectionWithExtentPoint:realPositionToView executionContext:nil]; // 選字, point = transPosition 307 | } else { 308 | BOOL isUITextView = [privateInputDelegate isKindOfClass:[UITextView class] ]; 309 | BOOL isUITextField = [privateInputDelegate isKindOfClass:[UITextField class] ]; 310 | 311 | // UnifiedField 312 | if (isUITextView) { 313 | UITextView* inputView = (UITextView*)privateInputDelegate; 314 | if(inputView.frame.size.height <= 35){ 315 | // One line textview 316 | realPositionToView = CGPointMake(initialCursorPosition.x+offsetToInitial.x+velocityX, initialCursorPosition.y + 10); //+transPosition.y 317 | } 318 | } 319 | 320 | if (isUITextField) { 321 | realPositionToView = CGPointMake(initialCursorPosition.x+offsetToInitial.x+velocityX, initialCursorPosition.y + 10); //+transPosition.y 322 | } 323 | 324 | [_textSelectionGestureController indirectCursorPanGestureWithState:UIGestureRecognizerStateChanged withTranslation:realPositionToView withFlickDirection:0]; 325 | // [_textSelectionController selectPositionAtPoint:pointInView executionContext:nil]; //一般字 arg1 = point是transPosition 326 | } 327 | 328 | previousPosition = position; 329 | } 330 | } 331 | 332 | @end 333 | 334 | 335 | // Now to hook the initWithFrame method 336 | 337 | @implementation UIView (UIKeyboardImpl_Extras) 338 | 339 | static id (*keyboard_initWithFrame)(id, SEL, CGRect) = NULL; 340 | 341 | static id swizzle_keyboard_initWithFrame(id self, SEL _cmd, CGRect frame) 342 | { 343 | if ((self = keyboard_initWithFrame(self, _cmd, frame))) { 344 | UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(ss_gs_extra_KeyboardGestureDidPan:)]; 345 | pan.cancelsTouchesInView = NO; 346 | [self addGestureRecognizer:pan]; 347 | } 348 | return self; 349 | } 350 | 351 | // Should use +load, but it should also be _UIKeyboardTextSelectionGestureController's +load method 352 | + (void)load 353 | { 354 | Class _UIKeyboardImpl_ = objc_getClass("UIKeyboardImpl"); 355 | SwizzleSelector(_UIKeyboardImpl_, @selector(initWithFrame:), swizzle_keyboard_initWithFrame, &keyboard_initWithFrame); 356 | } 357 | 358 | @end 359 | 360 | /* Becomes the above ^^^^ 361 | %hook UIKeyboardImpl 362 | 363 | // So I add GestureRecognizer here 364 | -(id)initWithFrame:(CGRect)rect{ 365 | id orig = %orig; 366 | 367 | if (orig){ 368 | _UIKeyboardTextSelectionGestureController* _textSelectionGestureController = [objc_getClass("_UIKeyboardTextSelectionGestureController") sharedInstance]; 369 | UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(GS_KeyboardGestureDidPan:)]; 370 | pan.cancelsTouchesInView = NO; 371 | [self addGestureRecognizer:pan]; 372 | } 373 | 374 | return orig; 375 | } 376 | 377 | */ 378 | 379 | 380 | 381 | 382 | 383 | 384 | 385 | 386 | 387 | 388 | 389 | 390 | #pragma mark Keyboard View Itself 391 | /* 392 | %hook UIKeyboardLayoutStar 393 | 394 | // Add Notification here 395 | -(id)initWithFrame:(CGRect)arg1 { 396 | [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(setKeyboardToDim:) name:notificationDimTag object:nil]; 397 | return %orig(); 398 | } 399 | %new 400 | -(void) setKeyboardToDim:(NSNotification*) notification { 401 | // [notification object]; 402 | [self setKeyboardDim:YES]; 403 | // NSLog(@"[GGGGGG] setKeyboardToDim %@",notification); 404 | } 405 | 406 | 407 | 408 | -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { 409 | UITouch *touch = [touches anyObject]; 410 | UIKBKey *keyObject = [self keyHitTest:[touch locationInView:touch.view]]; 411 | NSString *key = [[keyObject representedString] lowercaseString]; 412 | 413 | // International key 414 | if ([key isEqualToString:@"international"] || [key isEqualToString:@"emojiinternational"]) { 415 | isInternationalKey = YES; 416 | } else { 417 | isInternationalKey = NO; 418 | } 419 | 420 | %orig; 421 | } 422 | 423 | -(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event { 424 | UITouch *touch = [touches anyObject]; 425 | UIKBKey *keyObject = [self keyHitTest:[touch locationInView:touch.view]]; 426 | NSString *key = [[keyObject representedString] lowercaseString]; 427 | 428 | // International key 429 | if ([key isEqualToString:@"international"] || [key isEqualToString:@"emojiinternational"]) { 430 | isInternationalKey = YES; 431 | } else { 432 | isInternationalKey = NO; 433 | } 434 | 435 | %orig; 436 | } 437 | 438 | -(void)touchesCancelled:(id)arg1 withEvent:(id)arg2 { 439 | %orig(arg1, arg2); 440 | } 441 | 442 | -(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { 443 | isInternationalKey = NO; 444 | %orig; 445 | } 446 | 447 | %end // UIKeyboardLayoutStar end 448 | */ 449 | 450 | 451 | static id (*original_keyboard_touchBeganMethod)(id self, SEL _cmd, NSSet *touches, UIEvent *event) = NULL; 452 | static id (*original_keyboard_touchMovedMethod)(id self, SEL _cmd, NSSet *touches, UIEvent *event) = NULL; 453 | static id (*original_keyboard_touchesEndedMethod)(id self, SEL _cmd, NSSet *touches, UIEvent *event) = NULL; 454 | 455 | static void keyboard_touchBeganMethod(id self, SEL _cmd, NSSet *touches, UIEvent *event) 456 | { 457 | UITouch *touch = [touches anyObject]; 458 | UIKBKey *keyObject = [self keyHitTest:[touch locationInView:touch.view]]; 459 | NSString *key = [[keyObject representedString] lowercaseString]; 460 | 461 | // International key 462 | if ([key isEqualToString:@"international"] || [key isEqualToString:@"emojiinternational"]) { 463 | isInternationalKey = YES; 464 | } else { 465 | isInternationalKey = NO; 466 | } 467 | 468 | original_keyboard_touchBeganMethod(self, _cmd, touches, event); 469 | } 470 | static void keyboard_touchMovedMethod(id self, SEL _cmd, NSSet *touches, UIEvent *event) 471 | { 472 | UITouch *touch = [touches anyObject]; 473 | UIKBKey *keyObject = [self keyHitTest:[touch locationInView:touch.view]]; 474 | NSString *key = [[keyObject representedString] lowercaseString]; 475 | 476 | // International key 477 | if ([key isEqualToString:@"international"] || [key isEqualToString:@"emojiinternational"]) { 478 | isInternationalKey = YES; 479 | } else { 480 | isInternationalKey = NO; 481 | } 482 | 483 | original_keyboard_touchMovedMethod(self, _cmd, touches, event); 484 | } 485 | static void keyboard_touchesEndedMethod(id self, SEL _cmd, NSSet *touches, UIEvent *event) 486 | { 487 | isInternationalKey = NO; 488 | original_keyboard_touchesEndedMethod(self, _cmd, touches, event); 489 | } 490 | 491 | 492 | @implementation UIView (UIKeyboardLayoutStar_Extras) 493 | 494 | + (void)load 495 | { 496 | Class _UIKeyboardLayoutStar_ = objc_getClass("UIKeyboardLayoutStar"); 497 | 498 | SwizzleSelector(_UIKeyboardLayoutStar_, @selector(touchesBegan:withEvent:), keyboard_touchBeganMethod, &original_keyboard_touchBeganMethod); 499 | SwizzleSelector(_UIKeyboardLayoutStar_, @selector(touchesMoved:withEvent:), keyboard_touchMovedMethod, &original_keyboard_touchMovedMethod); 500 | SwizzleSelector(_UIKeyboardLayoutStar_, @selector(touchesEnded:withEvent:), keyboard_touchesEndedMethod, &original_keyboard_touchesEndedMethod); 501 | } 502 | 503 | @end 504 | 505 | 506 | 507 | 508 | 509 | 510 | -------------------------------------------------------------------------------- /SwipeSelection Xcode/SwipeSelection Test/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // SwipeSelection Test 4 | // 5 | // Created by Kyle Howells on 24/02/2017. 6 | // Copyright © 2017 Kyle Howells. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /SwipeSelection Xcode/SwipeSelection Test/ViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // SwipeSelection Test 4 | // 5 | // Created by Kyle Howells on 24/02/2017. 6 | // Copyright © 2017 Kyle Howells. All rights reserved. 7 | // 8 | 9 | #import "ViewController.h" 10 | 11 | @interface ViewController () 12 | @property (nonatomic, strong) IBOutlet UITextView *textView; 13 | @end 14 | 15 | 16 | @implementation ViewController 17 | 18 | - (void)viewDidLoad { 19 | [super viewDidLoad]; 20 | [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardFrameChanged:) name:UIKeyboardDidChangeFrameNotification object:nil]; 21 | } 22 | 23 | 24 | -(void)keyboardFrameChanged:(NSNotification*)notification { 25 | NSDictionary *info = [notification userInfo]; 26 | NSValue *kbFrameValue = [info objectForKey:UIKeyboardFrameEndUserInfoKey]; 27 | CGRect kbFrame = kbFrameValue.CGRectValue; 28 | 29 | NSLog(@"Rect: %@", NSStringFromCGRect( kbFrame )); 30 | 31 | CGRect frameOverlap = [self.textView convertRect:kbFrame fromView:nil]; 32 | 33 | UIEdgeInsets contentInset = self.textView.contentInset; 34 | contentInset.bottom = MAX(self.textView.frame.size.height - frameOverlap.origin.y, 0); 35 | self.textView.contentInset = contentInset; 36 | } 37 | 38 | @end 39 | -------------------------------------------------------------------------------- /SwipeSelection Xcode/SwipeSelection Test/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // SwipeSelection Test 4 | // 5 | // Created by Kyle Howells on 24/02/2017. 6 | // Copyright © 2017 Kyle Howells. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /SwipeSelection Xcode/SwipeSelection Test/swizzling.h: -------------------------------------------------------------------------------- 1 | // 2 | // swizzling.h 3 | // SwipeSelection Test 4 | // 5 | // Created by Kyle Howells on 24/02/2017. 6 | // Copyright © 2017 Kyle Howells. All rights reserved. 7 | // 8 | 9 | #ifndef swizzling_h 10 | #define swizzling_h 11 | 12 | // From: https://gist.github.com/defagos/1312fec96b48540efa5c 13 | // Per recomendation from: https://twitter.com/steipete/status/560046678439628800 14 | 15 | 16 | #import 17 | #import 18 | 19 | #define SwizzleSelector(clazz, selector, newImplementation, pPreviousImplementation) \ 20 | (*pPreviousImplementation) = (__typeof((*pPreviousImplementation)))class_swizzleSelector((clazz), (selector), (IMP)(newImplementation)) 21 | 22 | #define SwizzleClassSelector(clazz, selector, newImplementation, pPreviousImplementation) \ 23 | (*pPreviousImplementation) = (__typeof((*pPreviousImplementation)))class_swizzleClassSelector((clazz), (selector), (IMP)(newImplementation)) 24 | 25 | #define SwizzleSelectorWithBlock_Begin(clazz, selector) { \ 26 | SEL _cmd = selector; \ 27 | __block IMP _imp = class_swizzleSelectorWithBlock((clazz), (selector), 28 | #define SwizzleSelectorWithBlock_End );} 29 | 30 | #define SwizzleClassSelectorWithBlock_Begin(clazz, selector) { \ 31 | SEL _cmd = selector; \ 32 | __block IMP _imp = class_swizzleClassSelectorWithBlock((clazz), (selector), 33 | #define SwizzleClassSelectorWithBlock_End );} 34 | 35 | 36 | IMP class_swizzleSelector(Class clazz, SEL selector, IMP newImplementation); 37 | IMP class_swizzleClassSelector(Class clazz, SEL selector, IMP newImplementation); 38 | IMP class_swizzleClassSelectorWithBlock(Class clazz, SEL selector, id newImplementationBlock); 39 | 40 | 41 | #endif /* swizzling_h */ 42 | -------------------------------------------------------------------------------- /SwipeSelection Xcode/SwipeSelection Test/swizzling.m: -------------------------------------------------------------------------------- 1 | // 2 | // swizzling.m 3 | // SwipeSelection Test 4 | // 5 | // Created by Kyle Howells on 24/02/2017. 6 | // Copyright © 2017 Kyle Howells. All rights reserved. 7 | // 8 | 9 | #import "swizzling.h" 10 | 11 | IMP class_swizzleSelector(Class clazz, SEL selector, IMP newImplementation) 12 | { 13 | // If the method does not exist for this class, do nothing 14 | Method method = class_getInstanceMethod(clazz, selector); 15 | if (! method) { 16 | // Cannot swizzle methods which are not implemented by the class or one of its parents 17 | return NULL; 18 | } 19 | 20 | // Make sure the class implements the method. If this is not the case, inject an implementation, only calling 'super' 21 | const char *types = method_getTypeEncoding(method); 22 | 23 | #if !defined(__arm64__) 24 | NSUInteger returnSize = 0; 25 | NSGetSizeAndAlignment(types, &returnSize, NULL); 26 | 27 | // Large structs on 32-bit architectures 28 | if (sizeof(void *) == 4 && types[0] == _C_STRUCT_B && returnSize != 1 && returnSize != 2 && returnSize != 4 && returnSize != 8) { 29 | class_addMethod(clazz, selector, imp_implementationWithBlock(^(__unsafe_unretained id self, va_list argp) { 30 | struct objc_super super = { 31 | .receiver = self, 32 | .super_class = class_getSuperclass(clazz) 33 | }; 34 | 35 | // Sufficiently large struct 36 | typedef struct LargeStruct_ { 37 | char dummy[16]; 38 | } LargeStruct; 39 | 40 | // Cast the call to objc_msgSendSuper_stret appropriately 41 | LargeStruct (*objc_msgSendSuper_stret_typed)(struct objc_super *, SEL, va_list) = (void *)&objc_msgSendSuper_stret; 42 | return objc_msgSendSuper_stret_typed(&super, selector, argp); 43 | }), types); 44 | } 45 | // All other cases 46 | else { 47 | #endif 48 | class_addMethod(clazz, selector, imp_implementationWithBlock(^(__unsafe_unretained id self, va_list argp) { 49 | struct objc_super super = { 50 | .receiver = self, 51 | .super_class = class_getSuperclass(clazz) 52 | }; 53 | 54 | // Cast the call to objc_msgSendSuper appropriately 55 | id (*objc_msgSendSuper_typed)(struct objc_super *, SEL, va_list) = (void *)&objc_msgSendSuper; 56 | return objc_msgSendSuper_typed(&super, selector, argp); 57 | }), types); 58 | #if !defined(__arm64__) 59 | } 60 | #endif 61 | 62 | // Swizzling 63 | return class_replaceMethod(clazz, selector, newImplementation, types); 64 | } 65 | 66 | IMP class_swizzleClassSelector(Class clazz, SEL selector, IMP newImplementation) 67 | { 68 | return class_swizzleSelector(object_getClass(clazz), selector, newImplementation); 69 | } 70 | 71 | IMP class_swizzleSelectorWithBlock(Class clazz, SEL selector, id newImplementationBlock) 72 | { 73 | IMP newImplementation = imp_implementationWithBlock(newImplementationBlock); 74 | return class_swizzleSelector(clazz, selector, newImplementation); 75 | } 76 | 77 | IMP class_swizzleClassSelectorWithBlock(Class clazz, SEL selector, id newImplementationBlock) 78 | { 79 | IMP newImplementation = imp_implementationWithBlock(newImplementationBlock); 80 | return class_swizzleClassSelector(clazz, selector, newImplementation); 81 | } 82 | 83 | -------------------------------------------------------------------------------- /SwipeSelection/Icon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kylehowells/SwipeSelection/40901b6c08cc1b1298e287caf9156e4711824f37/SwipeSelection/Icon@2x.png -------------------------------------------------------------------------------- /SwipeSelection/Icon@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kylehowells/SwipeSelection/40901b6c08cc1b1298e287caf9156e4711824f37/SwipeSelection/Icon@3x.png -------------------------------------------------------------------------------- /SwipeSelection/Icon_512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kylehowells/SwipeSelection/40901b6c08cc1b1298e287caf9156e4711824f37/SwipeSelection/Icon_512.png -------------------------------------------------------------------------------- /SwipeSelection/Makefile: -------------------------------------------------------------------------------- 1 | ARCHS=armv7 arm64 2 | TARGET = iphone:9.1 3 | 4 | include /opt/theos/makefiles/common.mk 5 | 6 | TWEAK_NAME = SwipeSelection 7 | SwipeSelection_FILES = Tweak.xm 8 | SwipeSelection_FRAMEWORKS = UIKit Foundation CoreGraphics 9 | SwipeSelection_LDFLAGS += -Wl,-segalign,4000 10 | 11 | include $(THEOS_MAKE_PATH)/tweak.mk 12 | 13 | 14 | after-install:: 15 | install.exec "killall -9 SpringBoard" 16 | -------------------------------------------------------------------------------- /SwipeSelection/README.md: -------------------------------------------------------------------------------- 1 | SwipeSelection 2 | ============== 3 | 4 | An improvement to iOS's text editing that allows you to move the cursor and select text using gestures on the keyboard itself. 5 | -------------------------------------------------------------------------------- /SwipeSelection/SwipeSelection.plist: -------------------------------------------------------------------------------- 1 | Filter = {Bundles = ("com.apple.UIKit");}; 2 | SupportsRoot = 1; -------------------------------------------------------------------------------- /SwipeSelection/control: -------------------------------------------------------------------------------- 1 | Package: com.iky1e.swipeselection 2 | Name: SwipeSelection 3 | Depends: mobilesubstrate 4 | Version: 1.5.2 5 | Architecture: iphoneos-arm 6 | Description: Swipe along the keyboard to move the cursor and select text. 7 | Maintainer: Kyle Howells 8 | Author: Kyle Howells 9 | Section: Tweaks 10 | -------------------------------------------------------------------------------- /SwipeSelectionPro/Header.h: -------------------------------------------------------------------------------- 1 | // 2 | // Header.h 3 | // 4 | // 5 | // Created by Kyle Howells on 09/01/2014. 6 | // 7 | // 8 | 9 | #pragma mark - Imports 10 | 11 | #import 12 | #import 13 | #import 14 | #import 15 | 16 | #import "SSKHSettingsController.h" 17 | 18 | 19 | 20 | 21 | 22 | #pragma mark - Helpers 23 | 24 | #define SET_IF_TRUE(_value_, _variable_) ((_value_) ? _variable_ = _value_ : _variable_ = _variable_) 25 | #define KH_POSITIVE(_x_) (((_x_) < 0) ? (-(_x_)) : (_x_)) 26 | 27 | 28 | 29 | 30 | 31 | 32 | #pragma mark - Headers 33 | 34 | /// iOS 7 Task Execution 35 | @class UIKeyboardTaskExecutionContext; 36 | 37 | 38 | @interface UIKeyboardTaskQueue : NSObject 39 | @property(retain, nonatomic) UIKeyboardTaskExecutionContext *executionContext; 40 | -(BOOL)isMainThreadExecutingTask; 41 | -(void)performTask:(id)arg1; 42 | -(void)waitUntilAllTasksAreFinished; 43 | -(void)addDeferredTask:(id)arg1; 44 | -(void)addTask:(id)arg1; 45 | -(void)promoteDeferredTaskIfIdle; 46 | -(void)performDeferredTaskIfIdle; 47 | -(void)performTaskOnMainThread:(id)arg1 waitUntilDone:(void)arg2; 48 | -(void)finishExecution; 49 | -(void)continueExecutionOnMainThread; 50 | -(void)unlock; 51 | -(BOOL)tryLockWhenReadyForMainThread; 52 | -(void)lockWhenReadyForMainThread; 53 | -(void)lock; 54 | @end 55 | 56 | 57 | @interface UIKeyboardTaskExecutionContext : NSObject 58 | @property(readonly, nonatomic) UIKeyboardTaskQueue *executionQueue; 59 | 60 | -(void)transferExecutionToMainThreadWithTask:(id)arg1; 61 | -(void)returnExecutionToParent; 62 | -(id)childWithContinuation:(id)arg1; 63 | -(id)initWithParentContext:(id)arg1 continuation:(id)arg2; 64 | -(id)initWithExecutionQueue:(id)arg1; 65 | @end 66 | 67 | 68 | 69 | /** iOS 7 **/ 70 | @interface UIKBTree : NSObject 71 | +(id)keyboard; 72 | +(id)key; 73 | +(id)shapesForControlKeyShapes:(id)arg1 options:(int)arg2; 74 | +(id)mergeStringForKeyName:(id)arg1; 75 | +(BOOL)shouldSkipCacheString:(id)arg1; 76 | +(id)stringForType:(int)arg1; 77 | +(id)treeOfType:(int)arg1; 78 | +(id)uniqueName; 79 | 80 | @property(retain, nonatomic) NSString *layoutTag; 81 | @property(retain, nonatomic) NSMutableDictionary *cache; 82 | @property(retain, nonatomic) NSMutableArray *subtrees; 83 | @property(retain, nonatomic) NSMutableDictionary *properties; 84 | @property(retain, nonatomic) NSString *name; 85 | @property(nonatomic) int type; 86 | -(BOOL)isLeafType; 87 | -(BOOL)usesKeyCharging; 88 | -(BOOL)usesAdaptiveKeys; 89 | -(BOOL)modifiesKeyplane; 90 | -(BOOL)avoidsLanguageIndicator; 91 | -(BOOL)isAlphabeticPlane; 92 | -(BOOL)noLanguageIndicator; 93 | -(BOOL)isLetters; 94 | -(BOOL)subtreesAreOrdered; 95 | 96 | -(NSString*)representedString; 97 | -(NSString*)fullRepresentedString; 98 | @end 99 | 100 | 101 | 102 | 103 | @interface UIKeyboardLayout : UIView 104 | -(UIKBTree*)keyHitTest:(CGPoint)point; 105 | @end 106 | 107 | 108 | @interface UIKeyboardLayoutStar : UIKeyboardLayout 109 | @property(retain) UIKBTree * activeKey; 110 | @property BOOL autoShift; 111 | @property BOOL didLongPress; 112 | @property(readonly) UIKBTree * keyboard; 113 | @property(copy) NSString * keyboardName; 114 | @property(readonly) UIKBTree * keyplane; 115 | @property(copy) NSString * keyplaneName; 116 | @property(copy) NSString * localizedInputKey; 117 | @property(readonly) NSString * localizedInputMode; 118 | @property int playKeyClickSoundOn; 119 | @property(copy) NSString * preTouchKeyplaneName; 120 | @property BOOL shift; 121 | @property(readonly) BOOL showDictationKey; 122 | 123 | // iOS 7 124 | -(id)keyHitTest:(CGPoint)arg1; 125 | -(id)keyHitTestWithoutCharging:(CGPoint)arg1; 126 | -(id)keyHitTestClosestToPoint:(CGPoint)arg1; 127 | -(id)keyHitTestContainingPoint:(CGPoint)arg1; 128 | 129 | -(BOOL)isShiftKeyBeingHeld; 130 | -(BOOL)handwritingPlane; 131 | 132 | //-(BOOL)SS_shouldSelect; 133 | //-(BOOL)SS_disableSwipes; 134 | @end 135 | 136 | 137 | @interface UIKeyboardImpl : UIView 138 | +(UIKeyboardImpl*)sharedInstance; 139 | +(UIKeyboardImpl*)activeInstance; 140 | //@property (readonly, assign, nonatomic) UIResponder *privateInputDelegate; 141 | @property (readonly, assign, nonatomic) UIResponder *inputDelegate; 142 | 143 | -(NSString*)UILanguagePreference; 144 | -(NSString*)_getCurrentKeyboardName; 145 | -(NSString*)_getCurrentKeyplaneName; 146 | -(NSString*)_getLocalizedInputMode; 147 | 148 | -(BOOL)isLongPress; 149 | -(UIKeyboardLayout*)_layout; 150 | -(BOOL)callLayoutIsShiftKeyBeingHeld; 151 | -(void)_KHKeyboardGestureDidPan:(UIPanGestureRecognizer*)gesture; 152 | -(void)handleDelete; 153 | -(void)handleDeleteAsRepeat:(BOOL)repeat; 154 | -(void)handleDeleteWithNonZeroInputCount; 155 | -(void)stopAutoDelete; 156 | -(BOOL)handwritingPlane; 157 | 158 | -(void)updateForChangedSelection; 159 | @end 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | // 182 | // Random Selection visible stuff, must find something better 183 | // 184 | 185 | @interface UIFieldEditor : NSObject 186 | +(UIFieldEditor*)sharedFieldEditor; 187 | -(void)revealSelection; 188 | @end 189 | 190 | @interface UIView(Private_text) 191 | -(CGRect)caretRect; 192 | -(void)_scrollRectToVisible:(CGRect)visible animated:(BOOL)animated; 193 | 194 | -(void)scrollSelectionToVisible:(BOOL)arg1; 195 | @end 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | // Safari webview 208 | 209 | @interface WKContentView : UIView 210 | -(void)moveByOffset:(NSInteger)offset; 211 | @end 212 | 213 | -------------------------------------------------------------------------------- /SwipeSelectionPro/Makefile: -------------------------------------------------------------------------------- 1 | ARCHS=armv7 arm64 2 | TARGET = iphone:9.3 3 | 4 | include $(THEOS)/makefiles/common.mk 5 | 6 | TWEAK_NAME = SwipeSelectionPro 7 | SwipeSelectionPro_FILES = Tweak.xm SSPanGestureRecognizer.m SSKHSettingsController.m 8 | SwipeSelectionPro_FRAMEWORKS = UIKit Foundation CoreGraphics 9 | SwipeSelectionPro_LDFLAGS += -Wl,-segalign,4000 10 | 11 | include $(THEOS_MAKE_PATH)/tweak.mk 12 | 13 | after-install:: 14 | install.exec "killall -9 SpringBoard" 15 | SUBPROJECTS += swipeselectionpro 16 | include $(THEOS_MAKE_PATH)/aggregate.mk 17 | -------------------------------------------------------------------------------- /SwipeSelectionPro/SSKHSettingsController.h: -------------------------------------------------------------------------------- 1 | // 2 | // SSKHSettingsController.h 3 | // 4 | // 5 | // Created by Kyle Howells on 09/01/2014. 6 | // 7 | // 8 | 9 | #import 10 | 11 | typedef enum { 12 | SSSwipeWholeKeyboard = 1, // Everything 13 | SSSwipeAvoidSpacebar = 2, // Exclude space bar 14 | SSSwipeOnlySpaceBar = 3 // Only space bar 15 | } SSSwipeableArea; 16 | 17 | typedef enum { 18 | SSSwipeSpeedSlowest = -2, 19 | SSSwipeSpeedSlower = -1, 20 | SSSwipeSpeedNormal = 0, 21 | SSSwipeSpeedFaster = 1, 22 | SSSwipeSpeedFastest = 2 23 | } SSSwipeSpeed; 24 | 25 | 26 | typedef enum { 27 | SSSwipeSensitivityNormal = 1, 28 | SSSwipeSensitivityReduced = 2, 29 | SSSwipeSensitivityInsensitive = 3 30 | } SSSwipeSensitivity; 31 | 32 | 33 | 34 | @interface SSKHSettingsController : NSObject 35 | +(void)loadSettings; 36 | 37 | +(void)setEnabled:(BOOL)enabled; 38 | 39 | +(BOOL)enabled; 40 | +(BOOL)tripleTapToggles; 41 | +(BOOL)threeFingerSwipe; 42 | 43 | +(SSSwipeableArea)swipeableArea; 44 | +(SSSwipeSpeed)swipeSpeed; 45 | +(SSSwipeSensitivity)swipeSensitivity; 46 | @end 47 | -------------------------------------------------------------------------------- /SwipeSelectionPro/SSKHSettingsController.m: -------------------------------------------------------------------------------- 1 | // 2 | // SSKHSettingsController.m 3 | // 4 | // 5 | // Created by Kyle Howells on 09/01/2014. 6 | // 7 | // 8 | 9 | #import "SSKHSettingsController.h" 10 | #import 11 | 12 | 13 | @interface NSUserDefaults (Private) 14 | -(instancetype)_initWithSuiteName:(id)arg1 container:(id)arg2; 15 | -(id)objectForKey:(NSString *)defaultName inDomain:(id)domainName; 16 | - (void)setObject:(id)arg1 forKey:(id)arg2 inDomain:(id)arg3; 17 | @end 18 | 19 | #ifndef kCFCoreFoundationVersionNumber_iOS_8_0 20 | #define kCFCoreFoundationVersionNumber_iOS_8_0 1140.10 21 | #endif 22 | 23 | 24 | 25 | 26 | #define SETTINGS_FILE @"/User/Library/Preferences/com.iky1e.swipeselection.plist" 27 | 28 | static NSDictionary *settings = nil; 29 | 30 | 31 | 32 | @implementation SSKHSettingsController 33 | 34 | +(void)load{ 35 | [self loadSettings]; 36 | } 37 | +(void)loadSettings{ 38 | [settings release]; 39 | settings = nil; 40 | settings = [[NSDictionary alloc] initWithContentsOfFile:SETTINGS_FILE]; 41 | } 42 | 43 | +(id)objectForKey:(NSString*)key{ 44 | return [settings objectForKey:key]; 45 | } 46 | 47 | 48 | +(void)setEnabled:(BOOL)enabled{ 49 | if (!settings) { 50 | [self loadSettings]; 51 | } 52 | 53 | NSMutableDictionary *newSettings = [settings mutableCopy]; 54 | [newSettings setObject:[NSNumber numberWithBool:enabled] forKey:@"SSEnabled"]; 55 | [newSettings writeToFile:SETTINGS_FILE atomically:YES]; 56 | [newSettings release]; 57 | 58 | [self loadSettings]; 59 | 60 | notify_post("com.iky1e.swipeselection/internal_settingschanged"); 61 | } 62 | +(BOOL)enabled{ 63 | id temp = [self objectForKey:@"SSEnabled"]; 64 | return (temp ? [temp boolValue] : YES); 65 | } 66 | 67 | 68 | +(BOOL)tripleTapToggles{ 69 | id temp = [self objectForKey:@"SSTripleTap"]; 70 | return (temp ? [temp boolValue] : NO); 71 | } 72 | 73 | +(BOOL)threeFingerSwipe{ 74 | id temp = [self objectForKey:@"SSTripleSwipe"]; 75 | return (temp ? [temp boolValue] : NO); 76 | } 77 | 78 | 79 | +(SSSwipeableArea)swipeableArea{ 80 | id temp = [self objectForKey:@"SSSwipeArea"]; 81 | return (temp ? [temp intValue] : SSSwipeWholeKeyboard); 82 | } 83 | 84 | +(SSSwipeSpeed)swipeSpeed{ 85 | id temp = [self objectForKey:@"SSSwipeSpeed"]; 86 | return (temp ? [temp intValue] : SSSwipeSpeedNormal); 87 | } 88 | 89 | +(SSSwipeSensitivity)swipeSensitivity{ 90 | id temp = [self objectForKey:@"SSSwipeSensitivity"]; 91 | return (temp ? [temp intValue] : SSSwipeSensitivityNormal); 92 | } 93 | 94 | @end 95 | 96 | -------------------------------------------------------------------------------- /SwipeSelectionPro/SSPanGestureRecognizer.h: -------------------------------------------------------------------------------- 1 | // 2 | // SSPanGestureRecognizer.h 3 | // 4 | // 5 | // Created by Kyle Howells on 09/01/2014. 6 | // 7 | // 8 | 9 | #import 10 | 11 | @interface SSPanGestureRecognizer : UIPanGestureRecognizer 12 | @end 13 | -------------------------------------------------------------------------------- /SwipeSelectionPro/SSPanGestureRecognizer.m: -------------------------------------------------------------------------------- 1 | // 2 | // SSPanGestureRecognizer.m 3 | // 4 | // 5 | // Created by Kyle Howells on 09/01/2014. 6 | // 7 | // 8 | 9 | #import "SSPanGestureRecognizer.h" 10 | #import 11 | 12 | 13 | Class AKFlickGestureRecognizer(){ 14 | static Class AKFlickGestureRecognizer_Class = nil; 15 | static BOOL checked = NO; 16 | 17 | if (!checked) { 18 | AKFlickGestureRecognizer_Class = objc_getClass("AKFlickGestureRecognizer"); 19 | } 20 | 21 | return AKFlickGestureRecognizer_Class; 22 | } 23 | 24 | 25 | @implementation SSPanGestureRecognizer 26 | -(BOOL)canBePreventedByGestureRecognizer:(UIGestureRecognizer *)preventingGestureRecognizer{ 27 | 28 | 29 | if ([preventingGestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]] && 30 | ([preventingGestureRecognizer isKindOfClass:AKFlickGestureRecognizer()] == NO)) 31 | { 32 | return YES; 33 | } 34 | 35 | return NO; 36 | } 37 | 38 | -(BOOL)canPreventGestureRecognizer:(UIGestureRecognizer *)gestureRecognizer{ 39 | return NO; 40 | } 41 | @end 42 | -------------------------------------------------------------------------------- /SwipeSelectionPro/SwipeSelectionPro.plist: -------------------------------------------------------------------------------- 1 | { Filter = { Bundles = ( "com.apple.UIKit" ); }; } 2 | -------------------------------------------------------------------------------- /SwipeSelectionPro/control: -------------------------------------------------------------------------------- 1 | Package: com.iky1e.swipeselection-pro 2 | Name: SwipeSelection Pro 3 | Depends: mobilesubstrate 4 | Conflicts: com.iky1e.swipeselection 5 | Version: 1.0.3 6 | Architecture: iphoneos-arm 7 | Description: Swipe along the keyboard to move the cursor and select text. 8 | Maintainer: Kyle Howells 9 | Author: Kyle Howells 10 | Section: Tweaks 11 | -------------------------------------------------------------------------------- /SwipeSelectionPro/swipeselectionpro/Makefile: -------------------------------------------------------------------------------- 1 | ARCHS=armv7 arm64 2 | 3 | include $(THEOS)/makefiles/common.mk 4 | 5 | BUNDLE_NAME = SwipeSelectionPro 6 | SwipeSelectionPro_FILES = SwipeSelectionPro.mm 7 | SwipeSelectionPro_INSTALL_PATH = /Library/PreferenceBundles 8 | SwipeSelectionPro_FRAMEWORKS = UIKit 9 | SwipeSelectionPro_PRIVATE_FRAMEWORKS = Preferences 10 | 11 | include $(THEOS_MAKE_PATH)/bundle.mk 12 | 13 | internal-stage:: 14 | $(ECHO_NOTHING)mkdir -p $(THEOS_STAGING_DIR)/Library/PreferenceLoader/Preferences$(ECHO_END) 15 | $(ECHO_NOTHING)cp entry.plist $(THEOS_STAGING_DIR)/Library/PreferenceLoader/Preferences/SwipeSelectionPro.plist$(ECHO_END) 16 | -------------------------------------------------------------------------------- /SwipeSelectionPro/swipeselectionpro/Resources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | SwipeSelectionPro 9 | CFBundleIdentifier 10 | com.iky1e.swipeselection-pro-settings 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | BNDL 15 | CFBundleShortVersionString 16 | 1.0.0 17 | CFBundleSignature 18 | ???? 19 | CFBundleVersion 20 | 1.0 21 | DTPlatformName 22 | iphoneos 23 | MinimumOSVersion 24 | 3.0 25 | NSPrincipalClass 26 | SwipeSelectionProListController 27 | 28 | 29 | -------------------------------------------------------------------------------- /SwipeSelectionPro/swipeselectionpro/Resources/README.md: -------------------------------------------------------------------------------- 1 | # SwipeSelectionPro-Localizations 2 | The translations of SwipeSelection Pro's settings 3 | 4 | To contribute: Fork the repo, make the correction/addition and then submit a pull request. 5 | 6 | This is the best list of languages and their corresponding short codes I've found: http://www.opensource.apple.com/source/CF/CF-476.14/CFLocaleIdentifier.c 7 | -------------------------------------------------------------------------------- /SwipeSelectionPro/swipeselectionpro/Resources/SwipeSelectionPro.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | title 6 | SWIPESELECTION 7 | 8 | items 9 | 10 | 11 | 12 | cell 13 | PSGroupCell 14 | 15 | 16 | cell 17 | PSSwitchCell 18 | default 19 | 20 | defaults 21 | com.iky1e.swipeselection 22 | key 23 | SSEnabled 24 | label 25 | ENABLED 26 | PostNotification 27 | com.iky1e.swipeselection/settingschanged 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | cell 37 | PSGroupCell 38 | label 39 | SETTINGS 40 | 41 | footerText 42 | TRIPLE_TAP_SHIFT_TO_TOGGLE 43 | 44 | 45 | cell 46 | PSSwitchCell 47 | default 48 | 49 | defaults 50 | com.iky1e.swipeselection 51 | key 52 | SSTripleTap 53 | label 54 | TRIPLE_TAP 55 | PostNotification 56 | com.iky1e.swipeselection/settingschanged 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | cell 65 | PSGroupCell 66 | footerText 67 | KEYBOARD_SWIPABLE_AREA 68 | 69 | 70 | cell 71 | PSLinkListCell 72 | default 73 | 1 74 | detail 75 | PSListItemsController 76 | key 77 | SSSwipeArea 78 | label 79 | SWIPE_AREA 80 | validTitles 81 | 82 | WHOLE_KEYBOARD 83 | EXCLUDING_SPACEBAR 84 | JUST_SPACEBAR 85 | 86 | validValues 87 | 88 | 1 89 | 2 90 | 3 91 | 92 | defaults 93 | com.iky1e.swipeselection 94 | PostNotification 95 | com.iky1e.swipeselection/settingschanged 96 | 97 | 98 | 99 | 100 | 101 | cell 102 | PSGroupCell 103 | footerText 104 | SWIPE_SENSITIVITY 105 | 106 | 107 | cell 108 | PSLinkListCell 109 | default 110 | 1 111 | detail 112 | PSListItemsController 113 | key 114 | SSSwipeSensitivity 115 | label 116 | SENSITIVITY 117 | validTitles 118 | 119 | NORMAL 120 | REDUCED 121 | INSENSITIVE 122 | 123 | validValues 124 | 125 | 1 126 | 2 127 | 3 128 | 129 | defaults 130 | com.iky1e.swipeselection 131 | PostNotification 132 | com.iky1e.swipeselection/settingschanged 133 | 134 | 135 | 136 | 137 | 138 | 139 | cell 140 | PSGroupCell 141 | footerText 142 | SWIPE_SPEED_FOOTER 143 | 144 | 145 | cell 146 | PSLinkListCell 147 | default 148 | 0 149 | detail 150 | PSListItemsController 151 | key 152 | SSSwipeSpeed 153 | label 154 | SWIPE_SPEED 155 | validTitles 156 | 157 | SLOWEST 158 | SLOWER 159 | NORMAL 160 | FASTER 161 | FASTEST 162 | 163 | validValues 164 | 165 | -2 166 | -1 167 | 0 168 | 1 169 | 2 170 | 171 | defaults 172 | com.iky1e.swipeselection 173 | PostNotification 174 | com.iky1e.swipeselection/settingschanged 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | cell 185 | PSGroupCell 186 | footerText 187 | THREE_FINGER_SWIPE_FOOTER 188 | 189 | 190 | cell 191 | PSSwitchCell 192 | default 193 | 194 | defaults 195 | com.iky1e.swipeselection 196 | key 197 | SSTripleSwipe 198 | label 199 | THREE_FINGER_SWIPE 200 | PostNotification 201 | com.iky1e.swipeselection/settingschanged 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 248 | 249 | 250 | 251 | 252 | 253 | -------------------------------------------------------------------------------- /SwipeSelectionPro/swipeselectionpro/Resources/SwipeSelectionPro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kylehowells/SwipeSelection/40901b6c08cc1b1298e287caf9156e4711824f37/SwipeSelectionPro/swipeselectionpro/Resources/SwipeSelectionPro.png -------------------------------------------------------------------------------- /SwipeSelectionPro/swipeselectionpro/Resources/SwipeSelectionPro@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kylehowells/SwipeSelection/40901b6c08cc1b1298e287caf9156e4711824f37/SwipeSelectionPro/swipeselectionpro/Resources/SwipeSelectionPro@2x.png -------------------------------------------------------------------------------- /SwipeSelectionPro/swipeselectionpro/Resources/SwipeSelectionPro@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kylehowells/SwipeSelection/40901b6c08cc1b1298e287caf9156e4711824f37/SwipeSelectionPro/swipeselectionpro/Resources/SwipeSelectionPro@3x.png -------------------------------------------------------------------------------- /SwipeSelectionPro/swipeselectionpro/Resources/ar.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "مفعّل"; 5 | 6 | SETTINGS = "الإعدادات"; 7 | 8 | TRIPLE_TAP = "ثلاث لمسات"; 9 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "اضغط على مفتاح SHIFT ثلاث مرات متتالية لتفعيل و إلغاء SwipeSelection"; 10 | 11 | 12 | SWIPE_AREA = "منطقة اللّمس"; 13 | KEYBOARD_SWIPABLE_AREA = "المنطقة في لوحة المفاتيح التي تتلقّى اللّمسات و الإيماءات"; 14 | 15 | WHOLE_KEYBOARD = "كل لوحة المفاتيح (الافتراضي)"; 16 | EXCLUDING_SPACEBAR = "كل لوحة المفاتيح عدى المسافة"; 17 | JUST_SPACEBAR = "المسافة فقط"; 18 | 19 | 20 | SENSITIVITY = "الحساسية"; 21 | SWIPE_SENSITIVITY = "مقدار حساسية SwipeSelection اثناء تحريكك لاصبعك على لوحة المفاتيح"; 22 | 23 | NORMAL = "متوسط"; 24 | REDUCED = "منخفض"; 25 | INSENSITIVE = "غير حساس"; 26 | 27 | 28 | SWIPE_SPEED = "سرعة التحريك"; 29 | SWIPE_SPEED_FOOTER = "سرعة المؤشر عند تحريكك لاصبعك على لوحة المفاتيح"; 30 | 31 | SLOWEST = "الأبطأ"; 32 | SLOWER = "بطيء"; 33 | NORMAL = "متوسط"; 34 | FASTER = "سريع"; 35 | FASTEST = "الأسرع"; 36 | 37 | THREE_FINGER_SWIPE = "التحريك بثلاث أصابع"; 38 | THREE_FINGER_SWIPE_FOOTER = "اسحب على لوحة المفاتيح بثلاثة أصابع للانتقال الى نهاية او بداية المستند. (ينصح به فقط على الiPad)"; 39 | } -------------------------------------------------------------------------------- /SwipeSelectionPro/swipeselectionpro/Resources/de.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Aktiviert"; 5 | 6 | SETTINGS = "Einstellungen"; 7 | 8 | TRIPLE_TAP = "Dreifach Tippen"; 9 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Dreimal den Shift Key drücken um SwipeSelection zu aktivieren oder zu deaktivieren"; 10 | 11 | 12 | 13 | SWIPE_AREA = "Streich Bereich"; 14 | KEYBOARD_SWIPABLE_AREA = "Der Bereich der Tastatur der zum Swipen verfügbar ist"; 15 | 16 | WHOLE_KEYBOARD = "Ganze Tastatur (Standart)"; 17 | EXCLUDING_SPACEBAR = "Alles aber Leertaste"; 18 | JUST_SPACEBAR = "Nur die Leertaste"; 19 | 20 | 21 | SENSITIVITY = "Empfindlichkeit"; 22 | SWIPE_SENSITIVITY = "Wie empfindlich sollte SwipeSelection zu Ihrem Finger sein?"; 23 | NORMAL = "Normal"; 24 | REDUCED = "Reduziert"; 25 | INSENSITIVE = "Unempfindlich"; 26 | 27 | 28 | SWIPE_SPEED = "Wisch Geschwindigkeit"; 29 | SWIPE_SPEED_FOOTER = "Wie schnell soll sich der Cursor bewegen bei einer Wischbewegung"; 30 | SLOWEST = "Langsamsten"; 31 | SLOWER = "Langsam"; 32 | NORMAL = "Normal"; 33 | FASTER = "Schneller"; 34 | FASTEST = "Schnellstes"; 35 | 36 | THREE_FINGER_SWIPE = "3 Finger Wisch"; 37 | THREE_FINGER_SWIPE_FOOTER = "Streichen Sie mit 3 Fingern um an den Anfang oder das Ende eines Dokumentes zu gelangen (nur auf dem iPad empfohlen)"; 38 | } -------------------------------------------------------------------------------- /SwipeSelectionPro/swipeselectionpro/Resources/en.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Enabled"; 5 | 6 | SETTINGS = "Settings"; 7 | 8 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Triple tap the shift key to toggle SwipeSelection ON and OFF"; 9 | 10 | TRIPLE_TAP = "Triple Tap"; 11 | 12 | KEYBOARD_SWIPABLE_AREA = "The area of the keyboard which should be swipeable"; 13 | 14 | 15 | SWIPE_AREA = "Swipe Area"; 16 | WHOLE_KEYBOARD = "Whole keyboard (Default)"; 17 | EXCLUDING_SPACEBAR = "Everything but the spacebar"; 18 | JUST_SPACEBAR = "Just the spacebar"; 19 | 20 | 21 | SENSITIVITY = "Sensitivity"; 22 | SWIPE_SENSITIVITY = "How sensitive SwipeSelection should be to you moving your finger"; 23 | NORMAL = "Normal"; 24 | REDUCED = "Reduced"; 25 | INSENSITIVE = "Insensitive"; 26 | 27 | 28 | SWIPE_SPEED = "Swipe Speed"; 29 | SWIPE_SPEED_FOOTER = "How fast should the cursor move as you swipe"; 30 | SLOWEST = "Slowest"; 31 | SLOWER = "Slower"; 32 | NORMAL = "Normal"; 33 | FASTER = "Faster"; 34 | FASTEST = "Fastest"; 35 | 36 | THREE_FINGER_SWIPE = "3 Finger Swipe"; 37 | THREE_FINGER_SWIPE_FOOTER = "Swipe with 3 fingers to move to the beginning or end of a document. (only advisable on iPad)"; 38 | } -------------------------------------------------------------------------------- /SwipeSelectionPro/swipeselectionpro/Resources/es.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Habilitado"; 5 | 6 | SETTINGS = "Configuración"; 7 | 8 | 9 | TRIPLE_TAP = "Pulsa Tres Veces"; 10 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Pulsa tres veces la tecla Shift para activar/desactivar SwipeSelection"; 11 | 12 | 13 | SWIPE_AREA = "Area de Deslizamiento"; 14 | KEYBOARD_SWIPABLE_AREA = "El área del teclado que debería ser deslizable."; 15 | 16 | WHOLE_KEYBOARD = "Todo el teclado (Por defecto)"; 17 | EXCLUDING_SPACEBAR = "Todo menos la barra espaciadora"; 18 | JUST_SPACEBAR = "Sólo la barra espaciadora"; 19 | 20 | 21 | SENSITIVITY = "Sensibilidad"; 22 | SWIPE_SENSITIVITY = "Cómo de sensible tiene que ser SwipeSelection para detectar el movimiento de tu dedo."; 23 | 24 | NORMAL = "Normal"; 25 | REDUCED = "Reducido"; 26 | INSENSITIVE = "Insensible"; 27 | 28 | 29 | SWIPE_SPEED = "Velocidad de deslizamiento"; 30 | SWIPE_SPEED_FOOTER = "Qué tan rápido se debería mover el cursor al deslizar"; 31 | 32 | SLOWEST = "Más lento"; 33 | SLOWER = "Lento"; 34 | NORMAL = "Normal"; 35 | FASTER = "Rápido"; 36 | FASTEST = "Más rapido"; 37 | 38 | 39 | THREE_FINGER_SWIPE = "Deslizamiento de 3 dedos"; 40 | THREE_FINGER_SWIPE_FOOTER = "Desliza con 3 dedos para moverte al principio o final de un documento. (sólo es aconsejable para iPad)"; 41 | } -------------------------------------------------------------------------------- /SwipeSelectionPro/swipeselectionpro/Resources/es_MX.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Activado"; 5 | SETTINGS = "Ajustes"; 6 | 7 | 8 | TRIPLE_TAP = "Pulsa Tres Veces"; 9 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Toca tres veces la tecla shift para Encender / Apagar SwipeSelection"; 10 | 11 | 12 | SWIPE_AREA = "Area de Deslizamiento"; 13 | KEYBOARD_SWIPABLE_AREA = "El área del teclado en la que puedes deslizar"; 14 | 15 | WHOLE_KEYBOARD = "Todo el teclado (Por defecto)"; 16 | EXCLUDING_SPACEBAR = "Todo excepto la barra de espacio"; 17 | JUST_SPACEBAR = "Sólo la barra de espacio"; 18 | 19 | 20 | SENSITIVITY = "Sensibilidad"; 21 | SWIPE_SENSITIVITY = "Qué tan sensible SwipeSelection debe ser al mover tu dedo"; 22 | NORMAL = "Normal"; 23 | REDUCED = "Reducida"; 24 | INSENSITIVE = "Insensible"; 25 | 26 | 27 | SWIPE_SPEED = "Velocidad de deslizamiento"; 28 | SWIPE_SPEED_FOOTER = "Qué tan rápido se mueve el cursor mientras deslizas"; 29 | SLOWEST = "Más lenta"; 30 | SLOWER = "Lenta"; 31 | NORMAL = "Normal"; 32 | FASTER = "Rápido"; 33 | FASTEST = "Más rápido"; 34 | 35 | THREE_FINGER_SWIPE = "Deslice de 3 dedos"; 36 | THREE_FINGER_SWIPE_FOOTER = "Desliza 3 dedos para ir al principio o final de un documento. (Recomendado sólo para iPad)"; 37 | } -------------------------------------------------------------------------------- /SwipeSelectionPro/swipeselectionpro/Resources/fi.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Käytössä"; 5 | 6 | SETTINGS = "Asetukset"; 7 | 8 | 9 | TRIPLE_TAP = "Kolmoisnapautus"; 10 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Kolmoisnapauta Vaihto-näppäintä asettaaksesi SwipeSelectionin KÄYTTÖÖN tai POIS KÄYTÖSTÄ."; 11 | 12 | 13 | SWIPE_AREA = "Pyyhkäisyalue"; 14 | KEYBOARD_SWIPABLE_AREA = "Näppäimistön alue, jonka tulisi olla pyyhkäistävä"; 15 | WHOLE_KEYBOARD = "Koko näppäimistö (Oletus)"; 16 | EXCLUDING_SPACEBAR = "Kaikki paitsi välilyönti"; 17 | JUST_SPACEBAR = "Vain välilyönti"; 18 | 19 | 20 | SENSITIVITY = "Herkkyys"; 21 | SWIPE_SENSITIVITY = "Kuinka herkkäSwipeSelectionin tulisi olla sormesi liikkeelle"; 22 | NORMAL = "Normaali"; 23 | REDUCED = "Pienempi"; 24 | INSENSITIVE = "Pienin"; 25 | 26 | 27 | SWIPE_SPEED = "Pyyhkäisynopeus"; 28 | SWIPE_SPEED_FOOTER = "Kuinka nopeasti kursorin tulisi liikkua pyyhkäistessäsiswipe"; 29 | SLOWEST = "Hitain"; 30 | SLOWER = "Hitaampi"; 31 | NORMAL = "Normaali"; 32 | FASTER = "Nopeampi"; 33 | FASTEST = "Nopein"; 34 | 35 | THREE_FINGER_SWIPE = "Kolmen sormen pyyhkäisy"; 36 | THREE_FINGER_SWIPE_FOOTER = "Pyyhkäise kolmella sormella liikkuaksesi dokumentin alkuun tai loppuun. (suositeltavaa vain iPadilla)"; 37 | } -------------------------------------------------------------------------------- /SwipeSelectionPro/swipeselectionpro/Resources/fr.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Activer"; 5 | 6 | SETTINGS = "Paramètres"; 7 | 8 | 9 | TRIPLE_TAP = "Appuyer trois fois"; 10 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Appuyer trois fois sur la touche Shift pour activer/désactiver SwipeSelectionOFF"; 11 | 12 | 13 | SWIPE_AREA = "Zone de glisse"; 14 | KEYBOARD_SWIPABLE_AREA = "La zone du clavier qui peut swipe"; 15 | 16 | WHOLE_KEYBOARD = "Tout le clavier"; 17 | EXCLUDING_SPACEBAR = "Partout sauf la barre d'espace"; 18 | JUST_SPACEBAR = "La barre d'espace"; 19 | 20 | 21 | SENSITIVITY = "Sensibilité"; 22 | SWIPE_SENSITIVITY = "À quelle sensibilité doit être SwipeSelection ?"; 23 | 24 | NORMAL = "Normale"; 25 | REDUCED = "Limitée"; 26 | INSENSITIVE = "Faible"; 27 | 28 | 29 | SWIPE_SPEED = "Vitesse du swipe"; 30 | SWIPE_SPEED_FOOTER = "À quelle vitesse le curseur doit bouger quand on swipe"; 31 | 32 | SLOWEST = "Très lent"; 33 | SLOWER = "Lent"; 34 | NORMAL = "Normal"; 35 | FASTER = "Rapide"; 36 | FASTEST = "Très rapide"; 37 | 38 | 39 | THREE_FINGER_SWIPE = "Swipe avec 3 doigts"; 40 | THREE_FINGER_SWIPE_FOOTER = "Utiliser trois doigts pour aller au début ou à la fin du texte. (Optimisé pour iPad)"; 41 | } 42 | -------------------------------------------------------------------------------- /SwipeSelectionPro/swipeselectionpro/Resources/fr_CA.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Permettre"; 5 | 6 | SETTINGS = "Paramètres"; 7 | 8 | 9 | TRIPLE_TAP = "Triple-tap"; 10 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Triple-tap sur la touche Maj pour habiliter SwipeSelection"; 11 | 12 | 13 | SWIPE_AREA = "Zone de Glissement"; 14 | KEYBOARD_SWIPABLE_AREA = "La zone du clavier qui doivent être glisseable"; 15 | WHOLE_KEYBOARD = "Tout le clavier (Défaut)"; 16 | EXCLUDING_SPACEBAR = "Tous moins la barre d'espace"; 17 | JUST_SPACEBAR = "Seulement la barre d'espace"; 18 | 19 | 20 | SENSITIVITY = "Sensibilité"; 21 | SWIPE_SENSITIVITY = "Comment sensible SwipeSelection doit être pour vous déplaçant votre doigt"; 22 | 23 | NORMAL = "Normal"; 24 | REDUCED = "Reduit"; 25 | INSENSITIVE = "Insensible"; 26 | 27 | 28 | SWIPE_SPEED = "Vitesse de Glissement"; 29 | SWIPE_SPEED_FOOTER = "Quelle vitesse faut déplacer le curseur lorsque vous tapez"; 30 | 31 | SLOWEST = "Plus lent"; 32 | SLOWER = "Lent"; 33 | NORMAL = "Normal"; 34 | FASTER = "Rapide"; 35 | FASTEST = "Plus Rapide"; 36 | 37 | 38 | THREE_FINGER_SWIPE = "Glissement à trois doigts"; 39 | THREE_FINGER_SWIPE_FOOTER = "Glisse avec trois doigts pour déplacer au début ou à la fin d'un document. (conseillé uniquement sur iPad)"; 40 | } -------------------------------------------------------------------------------- /SwipeSelectionPro/swipeselectionpro/Resources/he_IL.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "מופעל"; 5 | 6 | SETTINGS = "הגדרות"; 7 | 8 | 9 | TRIPLE_TAP = "הקשה משולשת"; 10 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "לחץ הקשה משולשת על כפתור השיפט (לא בעברית) כדי להדליק ולכבות את SwipeSelection"; 11 | 12 | 13 | SWIPE_AREA = "אזור החלקה"; 14 | KEYBOARD_SWIPABLE_AREA = "האזור של המקלדת שיהיה ניתן להחליק בו"; 15 | 16 | WHOLE_KEYBOARD = "כל המקלדת (ברירת מחדל)"; 17 | EXCLUDING_SPACEBAR = "הכל מלבד שורת הרווח"; 18 | JUST_SPACEBAR = "רק שורת הרווח"; 19 | 20 | 21 | SENSITIVITY = "רגישות"; 22 | SWIPE_SENSITIVITY = "כמה רגיש על SwipeSelection להיות להחלקת האצבע"; 23 | 24 | NORMAL = "נורמלי"; 25 | REDUCED = "מצומצם"; 26 | INSENSITIVE = "לא רגיש"; 27 | 28 | 29 | SWIPE_SPEED = "מהירות החלקה"; 30 | SWIPE_SPEED_FOOTER = "כמה מהר על הסמן לזוז כאשר אתה מחליק"; 31 | 32 | SLOWEST = "הכי איטי"; 33 | SLOWER = "איטי יותר"; 34 | NORMAL = "נורמלי"; 35 | FASTER = "מהיר יותר"; 36 | FASTEST = "הכי מהיר"; 37 | 38 | 39 | THREE_FINGER_SWIPE = "החלקה ב3 אצבעות"; 40 | THREE_FINGER_SWIPE_FOOTER = "החלק עם 3 אצבעות כדי לזוז להתחלת או סוף המסמך (מומלץ רק בiPad)"; 41 | } -------------------------------------------------------------------------------- /SwipeSelectionPro/swipeselectionpro/Resources/hu.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Engedélyezve"; 5 | 6 | SETTINGS = "Beállítások"; 7 | 8 | 9 | TRIPLE_TAP = "Tripla bökés"; 10 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Bökj háromszor a shift gombra, hogy ki-be kapcsold a SwipeSelection-t."; 11 | 12 | 13 | SWIPE_AREA = "Gesztus terület"; 14 | KEYBOARD_SWIPABLE_AREA = "A billentyűzet azon része, ahol tudsz gesztusokat véghez vinni."; 15 | 16 | WHOLE_KEYBOARD = "Teljes billentyűzet (alapértelmezett)"; 17 | EXCLUDING_SPACEBAR = "Mindenhol, kivéve a szóköz billentyűn"; 18 | JUST_SPACEBAR = "Csak a szóköz billentyűn"; 19 | 20 | 21 | SENSITIVITY = "Érzékenység"; 22 | SWIPE_SENSITIVITY = "Itt módosíthatod, hogy milyen érzékeny legyen a SwipeSelection az ujjad mozgatására."; 23 | NORMAL = "Normál"; 24 | REDUCED = "Csökkentett"; 25 | INSENSITIVE = "Érzéketlen"; 26 | 27 | 28 | SWIPE_SPEED = "Gesztus sebesség"; 29 | SWIPE_SPEED_FOOTER = "Itt módosíthatod, hogy milyen gyorsan mozogjon a kurzor, ha húzod az ujjad."; 30 | SLOWEST = "Leglassabb"; 31 | SLOWER = "Lassabb"; 32 | NORMAL = "Normál"; 33 | FASTER = "Gyorsabb"; 34 | FASTEST = "Leggyorssabb"; 35 | 36 | THREE_FINGER_SWIPE = "Három ujjas húzás"; 37 | THREE_FINGER_SWIPE_FOOTER = "Húzd három ujjad, hogy a dokumentum elejére ugorhass. Ez a funkció csak iPaden érhető el."; 38 | } -------------------------------------------------------------------------------- /SwipeSelectionPro/swipeselectionpro/Resources/id.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Diaktifkan"; 5 | 6 | SETTINGS = "Pengaturan"; 7 | 8 | 9 | TRIPLE_TAP = "Tiga Kali Tekan Layatr"; 10 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Tiga kali sentuh tombol Shift untuk mengaktifkan SwipeSelection ON dan OFF-t."; 11 | 12 | 13 | SWIPE_AREA = "Daerah Menggeser"; 14 | KEYBOARD_SWIPABLE_AREA = "Area keyboard yang dapat di-swipe"; 15 | 16 | WHOLE_KEYBOARD = "Keseluruhan Keyboard (Bawaan)"; 17 | EXCLUDING_SPACEBAR = "Seluruh keyboard kecuali tombol spasi"; 18 | JUST_SPACEBAR = "Hanya Tombol Spasi"; 19 | 20 | 21 | SENSITIVITY = "Tingkat kepekaan"; 22 | SWIPE_SENSITIVITY = "Tingkat kepekaan SwipeSelection untuk gerakan jari anda"; 23 | NORMAL = "Normal"; 24 | REDUCED = "Dikurangi"; 25 | INSENSITIVE = "Kurang Sensitif"; 26 | 27 | 28 | SWIPE_SPEED = "Kecepatan menggeser"; 29 | SWIPE_SPEED_FOOTER = "Seberapa cepat gerakan kursor ketika anda melakukan sentuhan"; 30 | SLOWEST = "Paling lambat"; 31 | SLOWER = "Lebih lambat"; 32 | NORMAL = "Normal"; 33 | FASTER = "Cepat"; 34 | FASTEST = "Paling cepat"; 35 | 36 | THREE_FINGER_SWIPE = "Sentuhan dengan 3 jari"; 37 | THREE_FINGER_SWIPE_FOOTER = "Swipe dengan 3 jari untuk pindah ke awal atau akhir dokumen. (Hanya dianjurkan pada iPad)"; 38 | } -------------------------------------------------------------------------------- /SwipeSelectionPro/swipeselectionpro/Resources/ko.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | /* ko_KR */ 5 | 6 | ENABLED = "활성화 시키기"; 7 | 8 | SETTINGS = "설정"; 9 | 10 | 11 | TRIPLE_TAP = "삼중 탭"; 12 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "SwipeSelection 을 활성화 하려면 'Shift' 버튼을 삼중 탭 하세요"; 13 | 14 | 15 | SWIPE_AREA = "스와이프 적용 범위"; 16 | KEYBOARD_SWIPABLE_AREA = "키보드 상에서 스와이프 가능한 범위를 설정합니다"; 17 | 18 | 19 | SENSITIVITY = "민감도"; 20 | SWIPE_SENSITIVITY = "SwipeSelection 의 민감도를 조정할 수 있습니다"; 21 | 22 | 23 | SWIPE_SPEED = "스와이프 속도"; 24 | SWIPE_SPEED_FOOTER = "스와이프시 커서의 움직임 속도를 조절할 수 있습니다"; 25 | 26 | THREE_FINGER_SWIPE = "세 손가락으로 옮기기"; 27 | THREE_FINGER_SWIPE_FOOTER = "세 손가락으로 옮기기를 사용해 문서의 처음이나 끝 부분으로 이동할수 있습니다. ( 아이패드에서만 사용하길 권장합니다)"; 28 | 29 | 30 | WHOLE_KEYBOARD = "키보드 전체 영역"; 31 | EXCLUDING_SPACEBAR = "스페이스 버튼 제외"; 32 | JUST_SPACEBAR = "스페이스 바 범위만"; 33 | 34 | 35 | NORMAL = "기본 설정"; 36 | REDUCED = "덜 민감하게"; 37 | INSENSITIVE = "더 민감하게"; 38 | 39 | 40 | SLOWEST = "가장 느린 속도"; 41 | SLOWER = "느린 속도"; 42 | NORMAL = "기본 설정"; 43 | FASTER = "빠른 속도"; 44 | FASTEST = "가장 빠른 속도"; 45 | } -------------------------------------------------------------------------------- /SwipeSelectionPro/swipeselectionpro/Resources/pt.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Ativo"; 5 | 6 | SETTINGS = "Definições"; 7 | 8 | 9 | TRIPLE_TAP = "Três Toques"; 10 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Três toques no botão shift pata ativar ou desativar o SwipeSelection-t."; 11 | 12 | 13 | SWIPE_AREA = "Área do Deslize"; 14 | KEYBOARD_SWIPABLE_AREA = "A área do teclado que deveria ser deslizável"; 15 | 16 | 17 | SENSITIVITY = "Sensitividade"; 18 | SWIPE_SENSITIVITY = "Quão sensível o SwipeSelection deve ser movendo o seu dedo"; 19 | 20 | 21 | SWIPE_SPEED = "Rapidez do Deslize"; 22 | SWIPE_SPEED_FOOTER = "Quão rápido deveria ser o movimento do cursor enquanto desliza"; 23 | 24 | THREE_FINGER_SWIPE = "Deslize com três dedos"; 25 | THREE_FINGER_SWIPE_FOOTER = "Deslize com três dedos para mover o início ou fim de um documento. (Apenas recomendado para iPad)"; 26 | 27 | 28 | 29 | WHOLE_KEYBOARD = "Todo o teclado (Defeito)"; 30 | EXCLUDING_SPACEBAR = "Tudo menos a barra de espaços"; 31 | JUST_SPACEBAR = "Apenas a barra de espaços"; 32 | 33 | 34 | NORMAL = "Normal"; 35 | REDUCED = "Reduzido"; 36 | INSENSITIVE = "Insensível"; 37 | 38 | 39 | SLOWEST = "O mais lento"; 40 | SLOWER = "Mais lento"; 41 | NORMAL = "Normal"; 42 | FASTER = "Mais rápido"; 43 | FASTEST = "O mais rápido"; 44 | } -------------------------------------------------------------------------------- /SwipeSelectionPro/swipeselectionpro/Resources/pt_BR.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Ativado"; 5 | 6 | SETTINGS = "Configurações"; 7 | 8 | 9 | TRIPLE_TAP = "Três toques"; 10 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Toque três vezes a tecla Shift para ativar ou desativar o SwipeSelection-t."; 11 | 12 | 13 | SWIPE_AREA = "Área para Deslizar"; 14 | KEYBOARD_SWIPABLE_AREA = "A área no teclado que permite o swipe"; 15 | 16 | WHOLE_KEYBOARD = "Todo o Teclado (Padrão)"; 17 | EXCLUDING_SPACEBAR = "Tudo exceto a barra de espaço"; 18 | JUST_SPACEBAR = "Somente a barra de espaço"; 19 | 20 | 21 | SENSITIVITY = "Sensitividade"; 22 | SWIPE_SENSITIVITY = "Quão sensível SwipeSelection deve ser quando você está mexendo seu dedo"; 23 | NORMAL = "Normal"; 24 | REDUCED = "Reduzido"; 25 | INSENSITIVE = "Insensível"; 26 | 27 | 28 | SWIPE_SPEED = "Velocidade do Deslizamento"; 29 | SWIPE_SPEED_FOOTER = "Quão rápido o cursor deve se mover enquanto você realiza o movimento de swipe"; 30 | SLOWEST = "Muito lento"; 31 | SLOWER = "Lento"; 32 | NORMAL = "Normal"; 33 | FASTER = "Rápido"; 34 | FASTEST = "Muito rápido"; 35 | 36 | THREE_FINGER_SWIPE = "Deslizar de 3 dedos"; 37 | THREE_FINGER_SWIPE_FOOTER = "Deslizar com 3 dedos para movimentar o curso do início ao fim de um texto. (Isto é prático só no iPad)"; 38 | } -------------------------------------------------------------------------------- /SwipeSelectionPro/swipeselectionpro/Resources/ro.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Activat"; 5 | 6 | SETTINGS = "Setări"; 7 | 8 | 9 | TRIPLE_TAP = "Triplu tap"; 10 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Apasă de trei ori tasta shift pentru a activa/dezactiva SwipeSelection"; 11 | 12 | 13 | SWIPE_AREA = "Zonă pentru swipe"; 14 | KEYBOARD_SWIPABLE_AREA = "Zona tastaturii care nu ar trebui să fie swipe-uita"; 15 | 16 | 17 | SENSITIVITY = "Sensibilitate"; 18 | SWIPE_SENSITIVITY = "Cât de senzitiv ar trebui să fie SwipeSelection"; 19 | 20 | 21 | SWIPE_SPEED = "Viteza swipe-ului"; 22 | SWIPE_SPEED_FOOTER = "Cât de rapid ar trebui să se miște cursorul când faci un swipe"; 23 | 24 | THREE_FINGER_SWIPE = "Swipe cu 3 degete"; 25 | THREE_FINGER_SWIPE_FOOTER = "Poți face un swipe cu 3 degete pentru a muta cursorul la începutul sau finalul documentului (doar pe iPad)"; 26 | 27 | 28 | WHOLE_KEYBOARD = "Toată tastatura (implicit)"; 29 | EXCLUDING_SPACEBAR = "Totul excluzând tasta space"; 30 | JUST_SPACEBAR = "Doar tasta space"; 31 | 32 | 33 | NORMAL = "Normal"; 34 | REDUCED = "Redus"; 35 | INSENSITIVE = "Insenzitiv"; 36 | 37 | 38 | SLOWEST = "Cel mai încet"; 39 | SLOWER = "Mai încet"; 40 | NORMAL = "Normal"; 41 | FASTER = "Mai rapid"; 42 | FASTEST = "Cel mai rapid"; 43 | } -------------------------------------------------------------------------------- /SwipeSelectionPro/swipeselectionpro/Resources/sv.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Aktiverad"; 5 | 6 | SETTINGS = "Inställningar"; 7 | 8 | 9 | TRIPLE_TAP = "Tre tryck"; 10 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Tryck tre gånger på shift knappen för att aktivera eller avaktivera SwipeSelection"; 11 | 12 | 13 | SWIPE_AREA = "Drag området"; 14 | KEYBOARD_SWIPABLE_AREA = "Området på tangentbordet som ska vara till för drag funktionen"; 15 | 16 | 17 | SENSITIVITY = "Känslighet"; 18 | SWIPE_SENSITIVITY = "Hur känsligt SwipeSelection ska vara när du rör fingret"; 19 | 20 | 21 | SWIPE_SPEED = "Drag Hastighet"; 22 | SWIPE_SPEED_FOOTER = "Hur fort teckenvisaren ska röra sig när du drar"; 23 | 24 | THREE_FINGER_SWIPE = "Tre finger drag"; 25 | THREE_FINGER_SWIPE_FOOTER = "Drag med tre fingrar för att flytta teckenvisaren till slutet eller början av en text (endast för iPad)"; 26 | 27 | 28 | WHOLE_KEYBOARD = "Hela tangentbordet (Standard)"; 29 | EXCLUDING_SPACEBAR = "Allt förutom mellanslag"; 30 | JUST_SPACEBAR = "Bara mellanslag"; 31 | 32 | 33 | NORMAL = "Normal"; 34 | REDUCED = "Slöare"; 35 | INSENSITIVE = "Okänslig"; 36 | 37 | 38 | SLOWEST = "Slöast"; 39 | SLOWER = "Slö"; 40 | NORMAL = "Normal"; 41 | FASTER = "Snabbare"; 42 | FASTEST = "Snabbast"; 43 | } -------------------------------------------------------------------------------- /SwipeSelectionPro/swipeselectionpro/Resources/tr.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Etkin"; 5 | 6 | SETTINGS = "Ayarlar"; 7 | 8 | 9 | TRIPLE_TAP = "3 Kere Tıklama"; 10 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Shift tuşuna 3 kere basılınca SwipeSelection'ı AÇIK veya KAPALI konuma getirir"; 11 | 12 | 13 | SWIPE_AREA = "Kaydırma Alanı"; 14 | KEYBOARD_SWIPABLE_AREA = "Klavyenin kaydırılabilinen alanını belirler"; 15 | 16 | 17 | SENSITIVITY = "Hassasiyet"; 18 | SWIPE_SENSITIVITY = "SwipeSelection parmağınızı kaydırmanıza ne kadar hassas olmasını belirler"; 19 | 20 | 21 | SWIPE_SPEED = "Kaydırma Hızı"; 22 | SWIPE_SPEED_FOOTER = "Siz kaydırdıkça imleç ne kadar hızlı hareket etmesini belirler"; 23 | 24 | THREE_FINGER_SWIPE = "3 Parmakla Kaydırma"; 25 | THREE_FINGER_SWIPE_FOOTER = "3 parmakla kaydırıp dosyanın başına veya sonuna gider. (Sadece iPad için önerilir)"; 26 | 27 | 28 | WHOLE_KEYBOARD = "Bütün Klavye (Varsayılan)"; 29 | EXCLUDING_SPACEBAR = "Boşluk Tuşu Hariç Heryer"; 30 | JUST_SPACEBAR = "Sadece Boşluk Tuşu"; 31 | 32 | 33 | NORMAL = "Normal"; 34 | REDUCED = "Azaltılmış"; 35 | INSENSITIVE = "Hassas Değil"; 36 | 37 | 38 | SLOWEST = "Çok Yavaş"; 39 | SLOWER = "Yavaş"; 40 | NORMAL = "Normal"; 41 | FASTER = "Hızlı"; 42 | FASTEST = "Çok Hızlı"; 43 | } -------------------------------------------------------------------------------- /SwipeSelectionPro/swipeselectionpro/Resources/vi.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "Kích hoạt"; 5 | SETTINGS = "Thiết lập"; 6 | 7 | 8 | TRIPLE_TAP = "Gõ ba lần"; 9 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "Gõ nhanh ba lần phím shift để chuyển đổi SwipeSelection sang BẬT và TẮT"; 10 | 11 | 12 | SWIPE_AREA = "Khu vực vuốt"; 13 | KEYBOARD_SWIPABLE_AREA = "Khu vực của bàn phím có thể dùng để vuốt"; 14 | 15 | 16 | SENSITIVITY = "Độ nhạy"; 17 | SWIPE_SENSITIVITY = "Độ nhạy của SwipeSelection khi bạn di chuyển ngón tay"; 18 | 19 | 20 | SWIPE_SPEED = "Tốc độ vuốt"; 21 | SWIPE_SPEED_FOOTER = "Tốc độ di chuyển con trỏ khi bạn vuốt"; 22 | 23 | THREE_FINGER_SWIPE = "Vuốt bằng 3 ngón"; 24 | THREE_FINGER_SWIPE_FOOTER = "Vuốt bằng 3 ngón để di chuyển tới đầu hoặc cuối một văn bản. (chỉ hữu dụng trên iPad)"; 25 | 26 | 27 | WHOLE_KEYBOARD = "Toàn bộ bàn phím (Mặc định)"; 28 | EXCLUDING_SPACEBAR = "Tất cả mọi nơi trừ thanh spacbar"; 29 | JUST_SPACEBAR = "Chỉ thanh spacebar"; 30 | 31 | 32 | NORMAL = "Trung bình"; 33 | REDUCED = "Giảm"; 34 | INSENSITIVE = "Vô hiệu"; 35 | 36 | 37 | SLOWEST = "Chậm nhất"; 38 | SLOWER = "Chậm vừa"; 39 | NORMAL = "Trung bình"; 40 | FASTER = "Nhanh vừa"; 41 | FASTEST = "Nhanh nhất"; 42 | } -------------------------------------------------------------------------------- /SwipeSelectionPro/swipeselectionpro/Resources/zh-Hans.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "启用"; 5 | 6 | SETTINGS = "设定"; 7 | 8 | TRIPLE_TAP = "三击"; 9 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "连击Shift键3次来关闭或启动SwipeSelection"; 10 | 11 | 12 | THREE_FINGER_SWIPE = "三指滑动"; 13 | THREE_FINGER_SWIPE_FOOTER = "三指滑动让光标移动到文档的开头或结尾(只适合ipad)"; 14 | 15 | 16 | 17 | SWIPE_AREA = "滑动区域"; 18 | KEYBOARD_SWIPABLE_AREA = "可滑动的键盘区域"; 19 | 20 | WHOLE_KEYBOARD = "全键盘(预设)"; 21 | EXCLUDING_SPACEBAR = "所有的空格"; 22 | JUST_SPACEBAR = "只有空格键"; 23 | 24 | 25 | 26 | SENSITIVITY = "灵敏度"; 27 | SWIPE_SENSITIVITY = "手指滑动灵敏度"; 28 | 29 | REDUCED = "减少"; 30 | INSENSITIVE = "无反应"; 31 | 32 | 33 | 34 | SWIPE_SPEED = "滑动速度"; 35 | SWIPE_SPEED_FOOTER = "SwipeSelection的灵敏度指的是在键盘上移动你的手指"; 36 | 37 | SLOWEST = "最慢"; 38 | SLOWER = "较慢"; 39 | NORMAL = "正常"; 40 | FASTER = "较快"; 41 | FASTEST = "最快"; 42 | } -------------------------------------------------------------------------------- /SwipeSelectionPro/swipeselectionpro/Resources/zh-Hant.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "啟用"; 5 | 6 | SETTINGS = "設定"; 7 | 8 | 9 | TRIPLE_TAP = "三擊"; 10 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "連擊Shift鍵3次來關閉或啟動SwipeSelection"; 11 | 12 | 13 | SWIPE_AREA = "滑動區域"; 14 | KEYBOARD_SWIPABLE_AREA = "可滑動的鍵盤區域"; 15 | 16 | 17 | SENSITIVITY = "靈敏度"; 18 | SWIPE_SENSITIVITY = "手指滑動靈敏度"; 19 | 20 | 21 | SWIPE_SPEED = "滑動速度"; 22 | SWIPE_SPEED_FOOTER = "SwipeSelection的靈敏度指的是在鍵盤上移動你的手指"; 23 | 24 | THREE_FINGER_SWIPE = "三指滑動"; 25 | THREE_FINGER_SWIPE_FOOTER = "三指滑動讓光標移動到文檔的開頭或結尾(只適合ipad)"; 26 | 27 | 28 | WHOLE_KEYBOARD = "全鍵盤(預設)"; 29 | EXCLUDING_SPACEBAR = "所有的空格"; 30 | JUST_SPACEBAR = "只有空格鍵"; 31 | 32 | 33 | NORMAL = "正常"; 34 | REDUCED = "減少"; 35 | INSENSITIVE = "無反應"; 36 | 37 | 38 | SLOWEST = "最慢"; 39 | SLOWER = "較慢"; 40 | NORMAL = "正常"; 41 | FASTER = "較快"; 42 | FASTEST = "最快"; 43 | } -------------------------------------------------------------------------------- /SwipeSelectionPro/swipeselectionpro/Resources/zh_CN.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "启用"; 5 | 6 | SETTINGS = "设定"; 7 | 8 | TRIPLE_TAP = "三击"; 9 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "连击Shift键3次来关闭或启动SwipeSelection"; 10 | 11 | 12 | THREE_FINGER_SWIPE = "三指滑动"; 13 | THREE_FINGER_SWIPE_FOOTER = "三指滑动让光标移动到文档的开头或结尾(只适合ipad)"; 14 | 15 | 16 | 17 | SWIPE_AREA = "滑动区域"; 18 | KEYBOARD_SWIPABLE_AREA = "可滑动的键盘区域"; 19 | 20 | WHOLE_KEYBOARD = "全键盘(预设)"; 21 | EXCLUDING_SPACEBAR = "所有的空格"; 22 | JUST_SPACEBAR = "只有空格键"; 23 | 24 | 25 | 26 | SENSITIVITY = "灵敏度"; 27 | SWIPE_SENSITIVITY = "手指滑动灵敏度"; 28 | 29 | REDUCED = "减少"; 30 | INSENSITIVE = "无反应"; 31 | 32 | 33 | 34 | SWIPE_SPEED = "滑动速度"; 35 | SWIPE_SPEED_FOOTER = "SwipeSelection的灵敏度指的是在键盘上移动你的手指"; 36 | 37 | SLOWEST = "最慢"; 38 | SLOWER = "较慢"; 39 | NORMAL = "正常"; 40 | FASTER = "较快"; 41 | FASTEST = "最快"; 42 | } -------------------------------------------------------------------------------- /SwipeSelectionPro/swipeselectionpro/Resources/zh_TW.lproj/SwipeSelectionPro.strings: -------------------------------------------------------------------------------- 1 | { 2 | SWIPESELECTION = "SwipeSelection"; 3 | 4 | ENABLED = "啟用"; 5 | 6 | SETTINGS = "設定"; 7 | 8 | 9 | TRIPLE_TAP = "連點三下"; 10 | TRIPLE_TAP_SHIFT_TO_TOGGLE = "連點三下 Shift 鍵以切換 SwipeSelection 的開關"; 11 | 12 | 13 | SWIPE_AREA = "滑動區域"; 14 | KEYBOARD_SWIPABLE_AREA = "鍵盤上可滑動的區域"; 15 | 16 | 17 | SENSITIVITY = "敏感度"; 18 | SWIPE_SENSITIVITY = "SwipeSelection 對於手指的滑動應該多敏感"; 19 | 20 | 21 | SWIPE_SPEED = "滑動速度"; 22 | SWIPE_SPEED_FOOTER = "手指滑動時游標應該移動多快"; 23 | 24 | THREE_FINGER_SWIPE = "三指滑動"; 25 | THREE_FINGER_SWIPE_FOOTER = "滑動三指以從文件的開端或尾端開始。(僅建議使用於 iPad"; 26 | 27 | 28 | WHOLE_KEYBOARD = "全鍵盤(預設"; 29 | EXCLUDING_SPACEBAR = "全鍵盤,排除空白鍵"; 30 | JUST_SPACEBAR = "只有空白鍵"; 31 | 32 | 33 | NORMAL = "普通"; 34 | REDUCED = "降低"; 35 | INSENSITIVE = "靈敏"; 36 | 37 | 38 | SLOWEST = "最慢"; 39 | SLOWER = "慢"; 40 | NORMAL = "普通"; 41 | FASTER = "快"; 42 | FASTEST = "最快"; 43 | } -------------------------------------------------------------------------------- /SwipeSelectionPro/swipeselectionpro/SwipeSelectionPro.mm: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | 4 | @interface SwipeSelectionProListController: PSListController 5 | @end 6 | 7 | @implementation SwipeSelectionProListController 8 | - (id)specifiers { 9 | if(_specifiers == nil) { 10 | _specifiers = [[self loadSpecifiersFromPlistName:@"SwipeSelectionPro" target:self] retain]; 11 | } 12 | return _specifiers; 13 | } 14 | 15 | 16 | 17 | // iOS 8 fix (official cfprefs API's don't work in sandboxed apps) 18 | 19 | #define SETTINGS_FILE @"/User/Library/Preferences/com.iky1e.swipeselection.plist" 20 | // http://iphonedevwiki.net/index.php/PreferenceBundles#Into_sandboxed.2Funsandboxed_processes_in_iOS_8 21 | 22 | -(id)readPreferenceValue:(PSSpecifier*)specifier { 23 | NSDictionary *exampleTweakSettings = [NSDictionary dictionaryWithContentsOfFile:SETTINGS_FILE]; 24 | if (!exampleTweakSettings[specifier.properties[@"key"]]) { 25 | return specifier.properties[@"default"]; 26 | } 27 | return exampleTweakSettings[specifier.properties[@"key"]]; 28 | } 29 | 30 | -(void)setPreferenceValue:(id)value specifier:(PSSpecifier*)specifier { 31 | NSMutableDictionary *defaults = [NSMutableDictionary dictionary]; 32 | [defaults addEntriesFromDictionary:[NSDictionary dictionaryWithContentsOfFile:SETTINGS_FILE]]; 33 | [defaults setObject:value forKey:specifier.properties[@"key"]]; 34 | [defaults writeToFile:SETTINGS_FILE atomically:YES]; 35 | 36 | CFStringRef toPost = (CFStringRef)specifier.properties[@"PostNotification"]; 37 | if (toPost) { 38 | CFNotificationCenterPostNotification(CFNotificationCenterGetDarwinNotifyCenter(), toPost, NULL, NULL, YES); 39 | } 40 | } 41 | 42 | @end 43 | 44 | // vim:ft=objc 45 | -------------------------------------------------------------------------------- /SwipeSelectionPro/swipeselectionpro/entry.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | entry 6 | 7 | bundle 8 | SwipeSelectionPro 9 | cell 10 | PSLinkCell 11 | detail 12 | SwipeSelectionProListController 13 | icon 14 | SwipeSelectionPro.png 15 | isController 16 | 1 17 | label 18 | SwipeSelection 19 | 20 | 21 | 22 | --------------------------------------------------------------------------------