KMSyncPreferences.swift 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. //
  2. // KMSyncPreferences.swift
  3. // PDF Master
  4. //
  5. // Created by tangchao on 2023/11/6.
  6. //
  7. import Cocoa
  8. class KMSyncPreferences: NSViewController {
  9. /*
  10. @interface SKSyncPreferences : NSViewController <SKPreferencePane> {
  11. NSArray *texEditorLabels;
  12. NSArray *texEditorControls;
  13. BOOL customTeXEditor;
  14. }
  15. @property (nonatomic, retain) IBOutlet NSArray *texEditorLabels, *texEditorControls;
  16. @property (nonatomic, getter=isCustomTeXEditor) BOOL customTeXEditor;
  17. + (BOOL)getTeXEditorCommand:(NSString **)command arguments:(NSString **)arguments forPreset:(NSString *)name;
  18. - (IBAction)changeTeXEditorPreset:(id)sender;
  19. */
  20. override var nibName: NSNib.Name? {
  21. return "SyncPreferences"
  22. }
  23. override func loadView() {
  24. super.loadView()
  25. // SKAutoSizeLabelFields(texEditorLabels, texEditorControls, YES);
  26. // NSString *editorPreset = [[NSUserDefaults standardUserDefaults] stringForKey:SKStringConstants.teXEditorPresetKey];
  27. // NSInteger i = [TeXEditors count];
  28. // NSInteger idx = -1;
  29. // NSPopUpButton *texEditorPopUpButton = [texEditorControls objectAtIndex:0];
  30. // NSWorkspace *ws = [NSWorkspace sharedWorkspace];
  31. //
  32. // while (i--) {
  33. // NSString *name = [[TeXEditors objectAtIndex:i] objectForKey:NAME_KEY];
  34. // NSString *path = [ws fullPathForApplication:name];
  35. // NSImage *image = path ? [ws iconForFile:path] : [ws iconForFileType:NSFileTypeForHFSTypeCode(kGenericApplicationIcon)];
  36. // [texEditorPopUpButton insertItemWithTitle:name atIndex:0];
  37. // [[texEditorPopUpButton itemAtIndex:0] setImageAndSize:image];
  38. // if ([name isEqualToString:editorPreset])
  39. // idx = i;
  40. // }
  41. //
  42. // [self setCustomTeXEditor:idx == -1];
  43. //
  44. // if (idx == -1)
  45. // [texEditorPopUpButton selectItem:[texEditorPopUpButton lastItem]];
  46. // else
  47. // [texEditorPopUpButton selectItemAtIndex:idx];
  48. }
  49. override var title: String? {
  50. set {
  51. super.title = newValue
  52. }
  53. get {
  54. return KMLocalizedString("Sync", "Preference pane label")
  55. }
  56. }
  57. override func viewDidLoad() {
  58. super.viewDidLoad()
  59. // Do view setup here.
  60. }
  61. /*
  62. @implementation SKSyncPreferences
  63. @synthesize texEditorLabels, texEditorControls, customTeXEditor;
  64. static NSArray *TeXEditors = nil;
  65. + (void)initialize {
  66. // SKINITIALIZE;
  67. NSURL *initialUserDefaultsURL = [[NSBundle mainBundle] URLForResource:INITIALUSERDEFAULTS_KEY withExtension:@"plist"];
  68. TeXEditors = [[[NSDictionary dictionaryWithContentsOfURL:initialUserDefaultsURL] objectForKey:TEXEDITORS_KEY] copy];
  69. }
  70. - (void)dealloc {
  71. // SKDESTROY(texEditorLabels);
  72. // SKDESTROY(texEditorControls);
  73. // [super dealloc];
  74. }
  75. #pragma mark Accessors
  76. + (BOOL)getTeXEditorCommand:(NSString **)command arguments:(NSString **)arguments forPreset:(NSString *)name {
  77. for (NSDictionary *editor in TeXEditors) {
  78. if ([[editor objectForKey:NAME_KEY] isEqualToString:name]) {
  79. if (command) *command = [editor objectForKey:COMMAND_KEY];
  80. if (arguments) *arguments = [editor objectForKey:ARGUMENTS_KEY];
  81. return YES;
  82. }
  83. }
  84. return NO;
  85. }
  86. #pragma mark Hooks
  87. - (void)defaultsDidRevert {
  88. NSString *editorPreset = [[NSUserDefaults standardUserDefaults] stringForKey:SKStringConstants.teXEditorPresetKey];
  89. NSPopUpButton *texEditorPopUpButton = [texEditorControls objectAtIndex:0];
  90. if ([editorPreset length] == 0) {
  91. [texEditorPopUpButton selectItem:[texEditorPopUpButton lastItem]];
  92. [self setCustomTeXEditor:YES];
  93. } else {
  94. [texEditorPopUpButton selectItemWithTitle:editorPreset];
  95. [self setCustomTeXEditor:NO];
  96. }
  97. }
  98. @end
  99. */
  100. @IBAction func changeTeXEditorPreset(_ sender: AnyObject?) {
  101. // NSUserDefaultsController *sudc = [NSUserDefaultsController sharedUserDefaultsController];
  102. // NSInteger idx = [sender indexOfSelectedItem];
  103. // if (idx < [sender numberOfItems] - 1) {
  104. // NSDictionary *editor = [TeXEditors objectAtIndex:idx];
  105. // [[sudc values] setValue:[sender titleOfSelectedItem] forKey:SKStringConstants.teXEditorPresetKey];
  106. // [[sudc values] setValue:[editor objectForKey:COMMAND_KEY] forKey:SKStringConstants.teXEditorCommandKey];
  107. // [[sudc values] setValue:[editor objectForKey:ARGUMENTS_KEY] forKey:SKStringConstants.teXEditorArgumentsKey];
  108. // [self setCustomTeXEditor:NO];
  109. // } else {
  110. // [[sudc values] setValue:@"" forKey:SKStringConstants.teXEditorPresetKey];
  111. // [self setCustomTeXEditor:YES];
  112. // }
  113. }
  114. }