Browse Source

Projucer: Refresh the modules tree on a timer so that rapid changes to the module search paths don't cause a slow down

tags/2021-05-28
ed 6 years ago
parent
commit
15e09fdc5e
1 changed files with 11 additions and 2 deletions
  1. +11
    -2
      extras/Projucer/Source/Project/UI/Sidebar/jucer_ModuleTreeItems.h

+ 11
- 2
extras/Projucer/Source/Project/UI/Sidebar/jucer_ModuleTreeItems.h View File

@@ -476,7 +476,8 @@ private:
//==============================================================================
class EnabledModulesItem : public ProjectTreeItemBase,
private Value::Listener
private Value::Listener,
private Timer
{
public:
EnabledModulesItem (Project& p)
@@ -667,9 +668,17 @@ private:
if (auto* moduleItem = dynamic_cast<ModuleItem*> (getSubItem (i)))
moduleItem->refreshModuleInfoIfCurrentlyShowing (juceModulePathChanged);
refreshSubItems();
// coalesce changes using a timer in case the value is changing rapidly
startTimer (750);
}
}
//==============================================================================
void timerCallback() override
{
stopTimer();
refreshSubItems();
}
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (EnabledModulesItem)
};

Loading…
Cancel
Save