diff --git a/extras/Projucer/Source/Application/Windows/jucer_GlobalPathsWindowComponent.h b/extras/Projucer/Source/Application/Windows/jucer_GlobalPathsWindowComponent.h index 6346b80cdc..12da6958ae 100644 --- a/extras/Projucer/Source/Application/Windows/jucer_GlobalPathsWindowComponent.h +++ b/extras/Projucer/Source/Application/Windows/jucer_GlobalPathsWindowComponent.h @@ -59,6 +59,12 @@ public: else if (os == TargetOS::windows) osSelector.setSelectedId (2); else if (os == TargetOS::linux) osSelector.setSelectedId (3); + addChildComponent (rescanJUCEPathButton); + rescanJUCEPathButton.onClick = [] { ProjucerApplication::getApp().rescanJUCEPathModules(); }; + + addChildComponent (rescanUserPathButton); + rescanUserPathButton.onClick = [] { ProjucerApplication::getApp().rescanUserPathModules(); }; + updateFilePathPropertyComponents(); } @@ -85,6 +91,7 @@ public: int labelIndex = 0; bool isFirst = true; + bool showRescanButtons = (rescanJUCEPathButton.isVisible() && rescanUserPathButton.isVisible()); for (auto* pathComp : pathPropertyComponents) { @@ -99,7 +106,20 @@ public: if (isFirst) b.removeFromTop (20); - pathComp->setBounds (b.removeFromTop (pathComp->getPreferredHeight())); + auto compBounds = b.removeFromTop (pathComp->getPreferredHeight()); + + if (showRescanButtons) + { + auto propName = pathComp->getName(); + + if (propName == "JUCE Modules") + rescanJUCEPathButton.setBounds (compBounds.removeFromRight (75).reduced (5, 0)); + else if (propName == "User Modules") + rescanUserPathButton.setBounds (compBounds.removeFromRight (75).reduced (5, 0)); + } + + + pathComp->setBounds (compBounds); b.removeFromTop (5); } @@ -124,6 +144,8 @@ public: private: OwnedArray