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
}
Exemplo n.º 2
0
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);
}