Let the customized file browser component own the look and feel

This commit is contained in:
xenakios 2019-02-19 20:25:24 +02:00
parent c90f6c9022
commit 7dfa485ed6
2 changed files with 9 additions and 4 deletions

View File

@ -247,8 +247,6 @@ PaulstretchpluginAudioProcessorEditor::PaulstretchpluginAudioProcessorEditor(Pau
PaulstretchpluginAudioProcessorEditor::~PaulstretchpluginAudioProcessorEditor() PaulstretchpluginAudioProcessorEditor::~PaulstretchpluginAudioProcessorEditor()
{ {
if (m_filechooser)
m_filechooser->setLookAndFeel(nullptr);
//Logger::writeToLog("PaulX Editor destroyed"); //Logger::writeToLog("PaulX Editor destroyed");
} }
@ -583,7 +581,6 @@ void PaulstretchpluginAudioProcessorEditor::toggleFileBrowser()
if (m_filechooser == nullptr) if (m_filechooser == nullptr)
{ {
m_filechooser = std::make_unique<MyFileBrowserComponent>(processor); m_filechooser = std::make_unique<MyFileBrowserComponent>(processor);
m_filechooser->setLookAndFeel(&m_filebwlookandfeel);
addChildComponent(m_filechooser.get()); addChildComponent(m_filechooser.get());
} }
m_filechooser->setBounds(0, 26, getWidth()/2, getHeight() - 75); m_filechooser->setBounds(0, 26, getWidth()/2, getHeight() - 75);
@ -1592,6 +1589,12 @@ MyFileBrowserComponent::MyFileBrowserComponent(PaulstretchpluginAudioProcessor &
initialloc, &m_filefilter, nullptr); initialloc, &m_filefilter, nullptr);
m_fbcomp->addListener(this); m_fbcomp->addListener(this);
addAndMakeVisible(m_fbcomp.get()); addAndMakeVisible(m_fbcomp.get());
setLookAndFeel(&m_filebwlookandfeel);
}
MyFileBrowserComponent::~MyFileBrowserComponent()
{
setLookAndFeel(nullptr);
} }
void MyFileBrowserComponent::resized() void MyFileBrowserComponent::resized()

View File

@ -420,6 +420,7 @@ class MyFileBrowserComponent : public Component, public FileBrowserListener
{ {
public: public:
MyFileBrowserComponent(PaulstretchpluginAudioProcessor& p); MyFileBrowserComponent(PaulstretchpluginAudioProcessor& p);
~MyFileBrowserComponent();
void resized() override; void resized() override;
void paint(Graphics& g) override; void paint(Graphics& g) override;
std::function<void(int, File)> OnAction; std::function<void(int, File)> OnAction;
@ -437,6 +438,7 @@ private:
std::unique_ptr<FileBrowserComponent> m_fbcomp; std::unique_ptr<FileBrowserComponent> m_fbcomp;
WildcardFileFilter m_filefilter; WildcardFileFilter m_filefilter;
PaulstretchpluginAudioProcessor& m_proc; PaulstretchpluginAudioProcessor& m_proc;
LookAndFeel_V3 m_filebwlookandfeel;
}; };
class PaulstretchpluginAudioProcessorEditor : public AudioProcessorEditor, class PaulstretchpluginAudioProcessorEditor : public AudioProcessorEditor,
@ -487,7 +489,7 @@ private:
std::unique_ptr<MyFileBrowserComponent> m_filechooser; std::unique_ptr<MyFileBrowserComponent> m_filechooser;
WildcardFileFilter m_filefilter; WildcardFileFilter m_filefilter;
LookAndFeel_V3 m_filebwlookandfeel;
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (PaulstretchpluginAudioProcessorEditor) JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (PaulstretchpluginAudioProcessorEditor)
}; };