ProjectListWC.m 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. //
  2. // ProjectListWC.m
  3. // UUTUtils
  4. //
  5. // Created by zhuge on 2017/12/22.
  6. // Copyright © 2017年 zhuge. All rights reserved.
  7. //
  8. #import "ProjectListWC.h"
  9. #import "ProjectInfo.h"
  10. #import "DataUtils.h"
  11. #import "ZGAlert.h"
  12. #import "ZGCommonUtils.h"
  13. #import "ZGFileUtils.h"
  14. #import "AddProjectWC.h"
  15. #import "EditProjectWC.h"
  16. #import "EcpmConfigInitWC.h"
  17. #import "AdWorthJsonGenerator.h"
  18. #define KEY_LAST_SELECT_PROJECT_INDEX @"key_last_select_project"
  19. @interface ProjectListWC ()
  20. @property (strong) AddProjectWC *AddProjectWC;
  21. @property (strong) EditProjectWC *EditProjectWC;
  22. @property (strong) EcpmConfigInitWC *EcpmConfigInitWC;
  23. @end
  24. @implementation ProjectListWC
  25. - (void)windowDidLoad {
  26. [super windowDidLoad];
  27. self.window.delegate = self;
  28. }
  29. #pragma mark window delegate
  30. - (void)windowDidBecomeMain:(NSNotification *)notification {
  31. [self initBeans];
  32. [self refreshUI_Beans];
  33. }
  34. #pragma mark init & refresh
  35. - (void) initBeans {
  36. _maBeans = [DataUtils getAllProjects];
  37. }
  38. - (void) refreshUI_Beans {
  39. [self willChangeValueForKey:@"acBeans"];
  40. _acBeans = [[NSArrayController alloc] initWithContent:_maBeans];
  41. [self didChangeValueForKey:@"acBeans"];
  42. [self.acBeans setSelectionIndex:[[NSUserDefaults standardUserDefaults] integerForKey:KEY_LAST_SELECT_PROJECT_INDEX]];
  43. }
  44. #pragma mark btn
  45. - (IBAction)onSaveBtn:(id)sender {
  46. for (ProjectInfo *bean in self.maBeans) {
  47. [bean save];
  48. }
  49. }
  50. - (IBAction)onEditBtn:(id)sender {
  51. ProjectInfo *projectInfo = [self.acBeans.selectedObjects firstObject];
  52. if (projectInfo) {
  53. self.EditProjectWC = [[EditProjectWC alloc] initWithWindowNibName:@"EditProjectWC"];
  54. self.EditProjectWC.projectInfo = projectInfo;
  55. [self.EditProjectWC setHttpState:YES];
  56. [self.EditProjectWC showWindow:self.window];
  57. [self.EditProjectWC.window makeMainWindow];
  58. [[NSUserDefaults standardUserDefaults] setInteger:self.acBeans.selectionIndex forKey:KEY_LAST_SELECT_PROJECT_INDEX];
  59. } else {
  60. [ZGAlert alertWithError:@"未选择项目" window:self.window];
  61. }
  62. }
  63. - (IBAction)onNativeEditBtn:(id)sender {
  64. ProjectInfo *projectInfo = [self.acBeans.selectedObjects firstObject];
  65. if (projectInfo) {
  66. self.EditProjectWC = [[EditProjectWC alloc] initWithWindowNibName:@"EditProjectWC"];
  67. self.EditProjectWC.projectInfo = projectInfo;
  68. [self.EditProjectWC setHttpState:NO];
  69. [self.EditProjectWC showWindow:self.window];
  70. [self.EditProjectWC.window makeMainWindow];
  71. [[NSUserDefaults standardUserDefaults] setInteger:self.acBeans.selectionIndex forKey:KEY_LAST_SELECT_PROJECT_INDEX];
  72. } else {
  73. [ZGAlert alertWithError:@"未选择项目" window:self.window];
  74. }
  75. }
  76. - (IBAction)onAddProjectBtn:(id)sender {
  77. self.AddProjectWC = [[AddProjectWC alloc] initWithWindowNibName:@"AddProjectWC"];
  78. [self.AddProjectWC showWindow:self.window];
  79. [self.AddProjectWC.window makeMainWindow];
  80. }
  81. - (IBAction)onBtnEcpmConfigInit:(id)sender {
  82. ProjectInfo *projectInfo = [self.acBeans.selectedObjects firstObject];
  83. self.EcpmConfigInitWC = [[EcpmConfigInitWC alloc] initWithWindowNibName:@"EcpmConfigInitWC"];
  84. self.EcpmConfigInitWC.projectInfo = projectInfo;
  85. [self.EcpmConfigInitWC showWindow:self.window];
  86. [self.EcpmConfigInitWC.window makeMainWindow];
  87. [[NSUserDefaults standardUserDefaults] setInteger:self.acBeans.selectionIndex forKey:KEY_LAST_SELECT_PROJECT_INDEX];
  88. }
  89. - (IBAction)onExportEcpmAdWorthBtn:(id)sender {
  90. ProjectInfo *projectInfo = [self.acBeans.selectedObjects firstObject];
  91. [ZGFileUtils deleteFileOrDirectoryAtPath:projectInfo.path.adWorthJsonPath];
  92. AdWorthJsonGenerator *gen = [[AdWorthJsonGenerator alloc] init];
  93. gen.projectInfo = projectInfo;
  94. [gen start];
  95. [[NSUserDefaults standardUserDefaults] setInteger:self.acBeans.selectionIndex forKey:KEY_LAST_SELECT_PROJECT_INDEX];
  96. [ZGCommonUtils openFinder:[gen.projectInfo.path.adWorthJsonPath stringByDeletingLastPathComponent]];
  97. }
  98. @end