Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions Classes/ObjectExplorers/FLEXObjectExplorerFactory.m
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
#import "FLEXGlobalsViewController.h"
#import "FLEXClassShortcuts.h"
#import "FLEXViewShortcuts.h"
#import "FLEXWindowShortcuts.h"
#import "FLEXViewControllerShortcuts.h"
#import "FLEXUIAppShortcuts.h"
#import "FLEXImageShortcuts.h"
Expand Down Expand Up @@ -48,6 +49,7 @@ + (void)initialize {
ClassKey(UIViewController) : [FLEXViewControllerShortcuts class],
ClassKey(UIApplication) : [FLEXUIAppShortcuts class],
ClassKey(UIView) : [FLEXViewShortcuts class],
ClassKey(UIWindow) : [FLEXWindowShortcuts class],
ClassKey(UIImage) : [FLEXImageShortcuts class],
ClassKey(CALayer) : [FLEXLayerShortcuts class],
ClassKey(UIColor) : [FLEXColorPreviewSection class],
Expand Down
13 changes: 13 additions & 0 deletions Classes/ObjectExplorers/Sections/Shortcuts/FLEXWindowShortcuts.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
//
// FLEXWindowShortcuts.h
// FLEX
//
// Created by AnthoPak on 26/09/2022.
//

#import "FLEXShortcutsSection.h"

/// Adds "Animations Speed" shortcut for all windows
@interface FLEXWindowShortcuts : FLEXShortcutsSection

@end
46 changes: 46 additions & 0 deletions Classes/ObjectExplorers/Sections/Shortcuts/FLEXWindowShortcuts.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
//
// FLEXWindowShortcuts.m
// FLEX
//
// Created by AnthoPak on 26/09/2022.
//

#import "FLEXWindowShortcuts.h"
#import "FLEXShortcut.h"
#import "FLEXAlert.h"
#import "FLEXObjectExplorerViewController.h"

@implementation FLEXWindowShortcuts

#pragma mark - Overrides

+ (instancetype)forObject:(UIView *)view {
return [self forObject:view additionalRows:@[
[FLEXActionShortcut title:@"Animation Speed" subtitle:^NSString *(UIWindow *window) {
return [NSString stringWithFormat:@"Current speed: %.2f", window.layer.speed];
} selectionHandler:^(UIViewController *host, UIWindow *window) {
[FLEXAlert makeAlert:^(FLEXAlert *make) {
make.title(@"Change Animation Speed");
make.message([NSString stringWithFormat:@"Current speed: %.2f", window.layer.speed]);
make.configuredTextField(^(UITextField * _Nonnull textField) {
textField.placeholder = @"Default: 1.0";
textField.keyboardType = UIKeyboardTypeDecimalPad;
});

make.button(@"OK").handler(^(NSArray<NSString *> *strings) {
CGFloat speedValue = strings.firstObject.floatValue;
window.layer.speed = speedValue;

// Refresh the host view controller to update the shortcut subtitle, reflecting current speed
// TODO: this shouldn't be necessary
[(FLEXObjectExplorerViewController *)host reloadData];
Comment thread
NSExceptional marked this conversation as resolved.
});
make.button(@"Cancel").cancelStyle();
} showFrom:host];
} accessoryType:^UITableViewCellAccessoryType(id _Nonnull object) {
return UITableViewCellAccessoryDisclosureIndicator;
}]
]];
}

@end