diff --git a/modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp b/modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp index cdbd0b882d..5e9268fe94 100644 --- a/modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp +++ b/modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp @@ -24,8 +24,8 @@ ============================================================================== */ -DirectoryContentsDisplayComponent::DirectoryContentsDisplayComponent (DirectoryContentsList& listToShow) - : fileList (listToShow) +DirectoryContentsDisplayComponent::DirectoryContentsDisplayComponent (DirectoryContentsList& l) + : directoryContentsList (l) { } @@ -38,15 +38,8 @@ FileBrowserListener::~FileBrowserListener() { } -void DirectoryContentsDisplayComponent::addListener (FileBrowserListener* const listener) -{ - listeners.add (listener); -} - -void DirectoryContentsDisplayComponent::removeListener (FileBrowserListener* const listener) -{ - listeners.remove (listener); -} +void DirectoryContentsDisplayComponent::addListener (FileBrowserListener* l) { listeners.add (l); } +void DirectoryContentsDisplayComponent::removeListener (FileBrowserListener* l) { listeners.remove (l); } void DirectoryContentsDisplayComponent::sendSelectionChangeMessage() { @@ -56,7 +49,7 @@ void DirectoryContentsDisplayComponent::sendSelectionChangeMessage() void DirectoryContentsDisplayComponent::sendMouseClickMessage (const File& file, const MouseEvent& e) { - if (fileList.getDirectory().exists()) + if (directoryContentsList.getDirectory().exists()) { Component::BailOutChecker checker (dynamic_cast (this)); listeners.callChecked (checker, &FileBrowserListener::fileClicked, file, e); @@ -65,7 +58,7 @@ void DirectoryContentsDisplayComponent::sendMouseClickMessage (const File& file, void DirectoryContentsDisplayComponent::sendDoubleClickMessage (const File& file) { - if (fileList.getDirectory().exists()) + if (directoryContentsList.getDirectory().exists()) { Component::BailOutChecker checker (dynamic_cast (this)); listeners.callChecked (checker, &FileBrowserListener::fileDoubleClicked, file); diff --git a/modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h b/modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h index 2bc98cb42f..77279ed5a2 100644 --- a/modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h +++ b/modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h @@ -43,6 +43,10 @@ public: /** Destructor. */ virtual ~DirectoryContentsDisplayComponent(); + //============================================================================== + /** The list that this component is displaying */ + DirectoryContentsList& directoryContentsList; + //============================================================================== /** Returns the number of files the user has got selected. @see getSelectedFile @@ -95,14 +99,13 @@ public: /** @internal */ void sendSelectionChangeMessage(); /** @internal */ - void sendDoubleClickMessage (const File& file); + void sendDoubleClickMessage (const File&); /** @internal */ - void sendMouseClickMessage (const File& file, const MouseEvent& e); + void sendMouseClickMessage (const File&, const MouseEvent&); protected: //============================================================================== - DirectoryContentsList& fileList; - ListenerList listeners; + ListenerList listeners; private: JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (DirectoryContentsDisplayComponent) diff --git a/modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp b/modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp index e96ee75285..161c63d32b 100644 --- a/modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp +++ b/modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp @@ -29,7 +29,7 @@ Image juce_createIconForFile (const File& file); //============================================================================== FileListComponent::FileListComponent (DirectoryContentsList& listToShow) - : ListBox (String(), nullptr), + : ListBox ({}, nullptr), DirectoryContentsDisplayComponent (listToShow) { setModel (this); @@ -94,7 +94,7 @@ class FileListComponent::ItemComponent : public Component, { public: ItemComponent (FileListComponent& fc, TimeSliceThread& t) - : owner (fc), thread (t), index (0), highlighted (false) + : owner (fc), thread (t) { } @@ -124,17 +124,15 @@ public: owner.sendDoubleClickMessage (file); } - void update (const File& root, - const DirectoryContentsList::FileInfo* const fileInfo, - const int index_, - const bool highlighted_) + void update (const File& root, const DirectoryContentsList::FileInfo* fileInfo, + int newIndex, bool nowHighlighted) { thread.removeTimeSliceClient (this); - if (highlighted_ != highlighted || index_ != index) + if (nowHighlighted != highlighted || newIndex != index) { - index = index_; - highlighted = highlighted_; + index = newIndex; + highlighted = nowHighlighted; repaint(); } @@ -188,15 +186,15 @@ private: File file; String fileSize, modTime; Image icon; - int index; - bool highlighted, isDirectory; + int index = 0; + bool highlighted = false, isDirectory = false; void updateIcon (const bool onlyUpdateIfCached) { if (icon.isNull()) { - const int hashCode = (file.getFullPathName() + "_iconCacheSalt").hashCode(); - Image im (ImageCache::getFromHashCode (hashCode)); + auto hashCode = (file.getFullPathName() + "_iconCacheSalt").hashCode(); + auto im = ImageCache::getFromHashCode (hashCode); if (im.isNull() && ! onlyUpdateIfCached) { @@ -231,7 +229,7 @@ Component* FileListComponent::refreshComponentForRow (int row, bool isSelected, { jassert (existingComponentToUpdate == nullptr || dynamic_cast (existingComponentToUpdate) != nullptr); - ItemComponent* comp = static_cast (existingComponentToUpdate); + auto comp = static_cast (existingComponentToUpdate); if (comp == nullptr) comp = new ItemComponent (*this, fileList.getTimeSliceThread()); diff --git a/modules/juce_gui_basics/filebrowser/juce_FileListComponent.h b/modules/juce_gui_basics/filebrowser/juce_FileListComponent.h index d645e8d8dc..3dbf93efc7 100644 --- a/modules/juce_gui_basics/filebrowser/juce_FileListComponent.h +++ b/modules/juce_gui_basics/filebrowser/juce_FileListComponent.h @@ -46,8 +46,7 @@ class JUCE_API FileListComponent : public ListBox, { public: //============================================================================== - /** Creates a listbox to show the contents of a specified directory. - */ + /** Creates a listbox to show the contents of a specified directory. */ FileListComponent (DirectoryContentsList& listToShow); /** Destructor. */ @@ -78,11 +77,9 @@ public: private: //============================================================================== File lastDirectory; - class ItemComponent; void changeListenerCallback (ChangeBroadcaster*) override; - int getNumRows() override; void paintListBoxItem (int, Graphics&, int, int, bool) override; Component* refreshComponentForRow (int rowNumber, bool isRowSelected, Component*) override;