SyGApplication::SyGApplication ( int* argc, char* argv[], JBoolean* displayAbout, JString* prevVersStr ) : JXApplication(argc, argv, kAppSignature, kSyGDefaultStringData), JPrefObject(NULL, kSAppID), itsTermCmd(kDefaultTermCmd), itsGitStatusCmd(kDefaultGitStatusCmd), itsGitHistoryCmd(kDefaultGitHistoryCmd), itsPostCheckoutCmd(kDefaultPostCheckoutCmd) { // Create itsWindowList first so DirectorClosed() won't crash when // warn that prefs are unreadable. itsWindowList = new JPtrArray<SyGTreeDir>(JPtrArrayT::kForgetAll); assert( itsWindowList != NULL ); *displayAbout = SyGCreateGlobals(this); if (!*displayAbout) { *prevVersStr = (SyGGetPrefsMgr())->GetSystemGVersionStr(); if (*prevVersStr == SyGGetVersionNumberStr()) { prevVersStr->Clear(); } else { *displayAbout = kJTrue; } } else { prevVersStr->Clear(); } itsMountPointList = new JMountPointList(JPtrArrayT::kDeleteAll); assert( itsMountPointList != NULL ); JGetUserMountPointList(itsMountPointList, &itsMountPointTime); itsShortcutList = new JPtrArray<JString>(JPtrArrayT::kDeleteAll); assert( itsShortcutList != NULL ); itsShortcutList->SetCompareFunction(CompareShortcuts); itsShortcutList->SetSortOrder(JOrderedSetT::kSortAscending); itsMountPointPrefs = new JStringPtrMap<JString>(JPtrArrayT::kDeleteAll); assert( itsMountPointPrefs != NULL ); SetPrefInfo(SyGGetPrefsMgr(), kSAppID); JPrefObject::ReadPrefs(); ListenTo(itsShortcutList); // don't write taskbar file unless it doesn't exist }
CBApp::CBApp ( int* argc, char* argv[], const JBoolean useMDI, JBoolean* displayAbout, JString* prevVersStr ) : JXApplication(argc, argv, kAppSignature, kCBDefaultStringData), JPrefObject(NULL, kCBAppID) { itsWarnBeforeQuitFlag = kJFalse; itsSystemIncludeDirs = jnew JPtrArray<JString>(JPtrArrayT::kDeleteAll); assert( itsSystemIncludeDirs != NULL ); *displayAbout = CBCreateGlobals(this, useMDI); SetPrefInfo(CBGetPrefsManager(), kCBAppID); JPrefObject::ReadPrefs(); if (!*displayAbout) { *prevVersStr = CBGetPrefsManager()->GetJCCVersionStr(); if (*prevVersStr == CBGetVersionNumberStr()) { prevVersStr->Clear(); } else { *displayAbout = kJTrue; } } else { prevVersStr->Clear(); } GetSystemIncludeDirectories(); // Write shared prefs, if they don't exist. // (must be done after everything created) CBMWriteSharedPrefs(kJFalse); }