// // ProjectListWC.m // UUTUtils // // Created by zhuge on 2017/12/22. // Copyright © 2017年 zhuge. All rights reserved. // #import "ProjectListWC.h" #import "ProjectInfo.h" #import "DataUtils.h" #import "ZGAlert.h" #import "ZGCommonUtils.h" #import "ZGFileUtils.h" #import "AddProjectWC.h" #import "EditProjectWC.h" #import "EcpmConfigInitWC.h" #import "AdWorthJsonGenerator.h" #define KEY_LAST_SELECT_PROJECT_INDEX @"key_last_select_project" @interface ProjectListWC () @property (strong) AddProjectWC *AddProjectWC; @property (strong) EditProjectWC *EditProjectWC; @property (strong) EcpmConfigInitWC *EcpmConfigInitWC; @end @implementation ProjectListWC - (void)windowDidLoad { [super windowDidLoad]; self.window.delegate = self; } #pragma mark window delegate - (void)windowDidBecomeMain:(NSNotification *)notification { [self initBeans]; [self refreshUI_Beans]; } #pragma mark init & refresh - (void) initBeans { _maBeans = [DataUtils getAllProjects]; } - (void) refreshUI_Beans { [self willChangeValueForKey:@"acBeans"]; _acBeans = [[NSArrayController alloc] initWithContent:_maBeans]; [self didChangeValueForKey:@"acBeans"]; [self.acBeans setSelectionIndex:[[NSUserDefaults standardUserDefaults] integerForKey:KEY_LAST_SELECT_PROJECT_INDEX]]; } #pragma mark btn - (IBAction)onSaveBtn:(id)sender { for (ProjectInfo *bean in self.maBeans) { [bean save]; } } - (IBAction)onEditBtn:(id)sender { ProjectInfo *projectInfo = [self.acBeans.selectedObjects firstObject]; if (projectInfo) { self.EditProjectWC = [[EditProjectWC alloc] initWithWindowNibName:@"EditProjectWC"]; self.EditProjectWC.projectInfo = projectInfo; [self.EditProjectWC setHttpState:YES]; [self.EditProjectWC showWindow:self.window]; [self.EditProjectWC.window makeMainWindow]; [[NSUserDefaults standardUserDefaults] setInteger:self.acBeans.selectionIndex forKey:KEY_LAST_SELECT_PROJECT_INDEX]; } else { [ZGAlert alertWithError:@"未选择项目" window:self.window]; } } - (IBAction)onNativeEditBtn:(id)sender { ProjectInfo *projectInfo = [self.acBeans.selectedObjects firstObject]; if (projectInfo) { self.EditProjectWC = [[EditProjectWC alloc] initWithWindowNibName:@"EditProjectWC"]; self.EditProjectWC.projectInfo = projectInfo; [self.EditProjectWC setHttpState:NO]; [self.EditProjectWC showWindow:self.window]; [self.EditProjectWC.window makeMainWindow]; [[NSUserDefaults standardUserDefaults] setInteger:self.acBeans.selectionIndex forKey:KEY_LAST_SELECT_PROJECT_INDEX]; } else { [ZGAlert alertWithError:@"未选择项目" window:self.window]; } } - (IBAction)onAddProjectBtn:(id)sender { self.AddProjectWC = [[AddProjectWC alloc] initWithWindowNibName:@"AddProjectWC"]; [self.AddProjectWC showWindow:self.window]; [self.AddProjectWC.window makeMainWindow]; } - (IBAction)onBtnEcpmConfigInit:(id)sender { ProjectInfo *projectInfo = [self.acBeans.selectedObjects firstObject]; self.EcpmConfigInitWC = [[EcpmConfigInitWC alloc] initWithWindowNibName:@"EcpmConfigInitWC"]; self.EcpmConfigInitWC.projectInfo = projectInfo; [self.EcpmConfigInitWC showWindow:self.window]; [self.EcpmConfigInitWC.window makeMainWindow]; [[NSUserDefaults standardUserDefaults] setInteger:self.acBeans.selectionIndex forKey:KEY_LAST_SELECT_PROJECT_INDEX]; } - (IBAction)onExportEcpmAdWorthBtn:(id)sender { ProjectInfo *projectInfo = [self.acBeans.selectedObjects firstObject]; [ZGFileUtils deleteFileOrDirectoryAtPath:projectInfo.path.adWorthJsonPath]; AdWorthJsonGenerator *gen = [[AdWorthJsonGenerator alloc] init]; gen.projectInfo = projectInfo; [gen start]; [[NSUserDefaults standardUserDefaults] setInteger:self.acBeans.selectionIndex forKey:KEY_LAST_SELECT_PROJECT_INDEX]; [ZGCommonUtils openFinder:[gen.projectInfo.path.adWorthJsonPath stringByDeletingLastPathComponent]]; } @end