@@ -78,7 +78,7 @@ define(function (require, exports, module) {
7878 return ;
7979 }
8080 if ( newProjectDialogueObj && newProjectDialogueObj . isVisible ( ) ) {
81- return ;
81+ return newProjectDialogueObj ;
8282 }
8383 let templateVars = {
8484 Strings : Strings ,
@@ -88,6 +88,7 @@ define(function (require, exports, module) {
8888 newProjectDialogueObj = Dialogs . showModalDialogUsingTemplate ( dialogueContents , true ) ;
8989 _focusContentWindow ( ) ;
9090 Metrics . countEvent ( Metrics . EVENT_TYPE . NEW_PROJECT , "dialogue" , "open" ) ;
91+ return newProjectDialogueObj ;
9192 }
9293
9394 function _addMenuEntries ( ) {
@@ -145,20 +146,36 @@ define(function (require, exports, module) {
145146
146147 ProjectManager . on ( ProjectManager . EVENT_AFTER_PROJECT_OPEN , projectOpened ) ;
147148
149+ let _bootDoneDeferred = new $ . Deferred ( ) ;
150+ let _bootDonePromise = jsPromise ( _bootDoneDeferred . promise ( ) ) ;
151+
152+ function onBootComplete ( ) {
153+ return _bootDonePromise ;
154+ }
155+
148156 function init ( ) {
149157 _addMenuEntries ( ) ;
150158 const shouldShowWelcome = PhStore . getItem ( "new-project.showWelcomeScreen" ) || 'Y' ;
151159 if ( shouldShowWelcome !== 'Y' ) {
152160 Metrics . countEvent ( Metrics . EVENT_TYPE . NEW_PROJECT , "dialogue" , "disabled" ) ;
153161 guidedTour . startTourIfNeeded ( ) ;
162+ _bootDoneDeferred . resolve ( ) ;
154163 return ;
155164 }
156165 _shouldNotShowDialog ( )
157166 . then ( notShow => {
158167 if ( notShow ) {
168+ _bootDoneDeferred . resolve ( ) ;
159169 return ;
160170 }
161- _showNewProjectDialogue ( ) ;
171+ const dialog = _showNewProjectDialogue ( ) ;
172+ if ( dialog ) {
173+ dialog . done ( ( ) => {
174+ _bootDoneDeferred . resolve ( ) ;
175+ } ) ;
176+ } else {
177+ _bootDoneDeferred . resolve ( ) ;
178+ }
162179 DocumentCommandHandlers . on ( DocumentCommandHandlers . _EVENT_OPEN_WITH_FILE_FROM_OS , ( ) => {
163180 closeDialogue ( ) ;
164181 } ) ;
@@ -489,6 +506,7 @@ define(function (require, exports, module) {
489506 }
490507
491508 exports . init = init ;
509+ exports . onBootComplete = onBootComplete ;
492510 exports . openFolder = openFolder ;
493511 exports . closeDialogue = closeDialogue ;
494512 exports . downloadAndOpenProject = downloadAndOpenProject ;
0 commit comments