From be05439421c883a9bdf0ad6806c2a260967cf2e8 Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Thu, 2 Jun 2022 07:55:25 -0700 Subject: [PATCH] Added tutorial for setting project dependencies after adding first lib --- IDE/src/Settings.bf | 4 ++++ IDE/src/ui/ProjectPanel.bf | 16 ++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/IDE/src/Settings.bf b/IDE/src/Settings.bf index a3994b58..a15e00f3 100644 --- a/IDE/src/Settings.bf +++ b/IDE/src/Settings.bf @@ -1064,6 +1064,7 @@ namespace IDE { public bool mCtrlCursor; public bool mRanDebug; + public bool mDependencies; } public bool mLoadedSettings; @@ -1148,6 +1149,7 @@ namespace IDE { sd.Add("CtrlCursor", mTutorialsFinished.mCtrlCursor); sd.Add("RanDebug", mTutorialsFinished.mRanDebug); + sd.Add("Dependencies", mTutorialsFinished.mDependencies); } String dataStr = scope String(); @@ -1208,6 +1210,8 @@ namespace IDE { sd.Get("CtrlCursor", ref mTutorialsFinished.mCtrlCursor); sd.Get("RanDebug", ref mTutorialsFinished.mRanDebug); + if (!sd.Get("Dependencies", ref mTutorialsFinished.mDependencies)) + mTutorialsFinished.mDependencies = true; } } diff --git a/IDE/src/ui/ProjectPanel.bf b/IDE/src/ui/ProjectPanel.bf index 80fcd9fc..500fc926 100644 --- a/IDE/src/ui/ProjectPanel.bf +++ b/IDE/src/ui/ProjectPanel.bf @@ -2463,6 +2463,22 @@ namespace IDE.ui return proj; } + if ((proj.mGeneralOptions.mTargetType == .BeefLib) && (!gApp.mSettings.mTutorialsFinished.mDependencies)) + { + Dialog dialog = ThemeFactory.mDefault.CreateDialog("Add Dependencies", + """ + A library has been added to the workspace but it won't be accessible until your project is dependent on it. + + Right click on 'Workspace', select 'Properties...', and set dependencies under the 'Projects' tab. + """, DarkTheme.sDarkTheme.mIconWarning); + dialog.mDefaultButton = dialog.AddButton("OK"); + dialog.mEscButton = dialog.mDefaultButton; + dialog.mWindowFlags &= ~.Modal; + + dialog.PopupWindow(gApp.mMainWindow); + gApp.mSettings.mTutorialsFinished.mDependencies = true; + } + return proj; }