[prev in list] [next in list] [prev in thread] [next in thread] 

List:       haiku-commits
Subject:    [haiku-commits] haiku: hrev56309 - src/preferences/backgrounds
From:       John Scipione <jscipione () gmail ! com>
Date:       2022-07-24 21:44:32
Message-ID: 20220724214432.91D693F7EA () turing ! freelists ! org
[Download RAW message or body]

hrev56309 adds 1 changeset to branch 'master'
old head: 264f77da0353f78611c4bc95607ad246cbbe252a
new head: 1a61e82bd41c3d14e0dd33f059f255cad8452555
overview: https://git.haiku-os.org/haiku/log/?qt=range&q=1a61e82bd41c+%5E264f77da0353

----------------------------------------------------------------------------

1a61e82bd41c: Backgrounds: Rename CustomRefFilter to ImageFilter
  
  ... and simplify Filter() logic. Check that GuessMimeType()
  status is B_OK. Rename imageFiltering variable to filtering.
  
  No functional change intended unless GuessMimeType() errors.
  
  Change-Id: Ie29f8408a62ee65bf64db5c0bfcc8a13ef89aa15
  Reviewed-on: https://review.haiku-os.org/c/haiku/+/5496
  Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
  Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

                                     [ John Scipione <jscipione@gmail.com> ]

----------------------------------------------------------------------------

Revision:    hrev56309
Commit:      1a61e82bd41c3d14e0dd33f059f255cad8452555
URL:         https://git.haiku-os.org/haiku/commit/?id=1a61e82bd41c
Author:      John Scipione <jscipione@gmail.com>
Date:        Sat Jul 23 18:55:47 2022 UTC

----------------------------------------------------------------------------

3 files changed, 21 insertions(+), 22 deletions(-)
src/preferences/backgrounds/BackgroundsView.cpp |  9 +++----
src/preferences/backgrounds/ImageFilePanel.cpp  | 26 ++++++++++-----------
src/preferences/backgrounds/ImageFilePanel.h    |  8 +++----

----------------------------------------------------------------------------

diff --git a/src/preferences/backgrounds/BackgroundsView.cpp \
b/src/preferences/backgrounds/BackgroundsView.cpp index 93e05f0139..9532bd7ad9 100644
--- a/src/preferences/backgrounds/BackgroundsView.cpp
+++ b/src/preferences/backgrounds/BackgroundsView.cpp
@@ -281,11 +281,11 @@ BackgroundsView::AllAttached()
 
 	BMessenger messenger(this);
 	fPanel = new ImageFilePanel(B_OPEN_PANEL, &messenger, &ref,
-		B_FILE_NODE, false, NULL, new CustomRefFilter(true));
+		B_FILE_NODE, false, NULL, new ImageFilter(true));
 	fPanel->SetButtonLabel(B_DEFAULT_BUTTON, B_TRANSLATE("Select"));
 
 	fFolderPanel = new BFilePanel(B_OPEN_PANEL, &messenger, NULL,
-		B_DIRECTORY_NODE, false, NULL, new CustomRefFilter(false));
+		B_DIRECTORY_NODE, false, NULL, new ImageFilter(false));
 	fFolderPanel->SetButtonLabel(B_DEFAULT_BUTTON, B_TRANSLATE("Select"));
 
 	_LoadSettings();
@@ -1002,9 +1002,10 @@ BackgroundsView::RefsReceived(BMessage* message)
 
 		if (node.IsFile()) {
 			BMimeType refType;
-			BMimeType::GuessMimeType(&ref, &refType);
-			if (!imageType.Contains(&refType))
+			if (BMimeType::GuessMimeType(&ref, &refType) == B_OK
+				&& !imageType.Contains(&refType)) {
 				continue;
+			}
 
 			BGImageMenuItem* item;
 			int32 index = AddImage(path);
diff --git a/src/preferences/backgrounds/ImageFilePanel.cpp \
b/src/preferences/backgrounds/ImageFilePanel.cpp index 102e0e95b6..f84d439324 100644
--- a/src/preferences/backgrounds/ImageFilePanel.cpp
+++ b/src/preferences/backgrounds/ImageFilePanel.cpp
@@ -171,30 +171,28 @@ ImageFilePanel::SelectionChanged()
 }
 
 
-//	#pragma mark - CustomRefFilter
+//	#pragma mark - ImageFilter
 
 
-CustomRefFilter::CustomRefFilter(bool imageFiltering)
+ImageFilter::ImageFilter(bool filtering)
 	:
-	fImageFiltering(imageFiltering)
+	fImageFiltering(filtering)
 {
 }
 
 
 bool
-CustomRefFilter::Filter(const entry_ref* ref, BNode* node,
+ImageFilter::Filter(const entry_ref* ref, BNode* node,
 	struct stat_beos* stat, const char* filetype)
 {
-	if (!fImageFiltering)
-		return node->IsDirectory();
-
-	if (node->IsDirectory())
-		return true;
-
-	BMimeType imageType("image"), refType;
-	BMimeType::GuessMimeType(ref, &refType);
-	if (imageType.Contains(&refType))
-		return true;
+	bool isDirectory = node->IsDirectory();
+	if (!fImageFiltering || isDirectory)
+		return isDirectory;
+
+	BMimeType imageType("image");
+	BMimeType refType;
+	if (BMimeType::GuessMimeType(ref, &refType) == B_OK)
+		return imageType.Contains(&refType);
 
 	return false;
 }
diff --git a/src/preferences/backgrounds/ImageFilePanel.h \
b/src/preferences/backgrounds/ImageFilePanel.h index b38626c18a..8f3311cd59 100644
--- a/src/preferences/backgrounds/ImageFilePanel.h
+++ b/src/preferences/backgrounds/ImageFilePanel.h
@@ -18,10 +18,10 @@ class BStringView;
 class BView;
 
 
-class CustomRefFilter : public BRefFilter {
+class ImageFilter: public BRefFilter {
 public:
-							CustomRefFilter(bool imageFiltering);
-	virtual					~CustomRefFilter() {};
+							ImageFilter(bool filtering);
+	virtual					~ImageFilter() {};
 
 			bool			Filter(const entry_ref* ref, BNode* node,
 								struct stat_beos* st, const char* filetype);
@@ -33,7 +33,7 @@ protected:
 };
 
 
-class ImageFilePanel : public BFilePanel {
+class ImageFilePanel: public BFilePanel {
 public:
 							ImageFilePanel(file_panel_mode mode = B_OPEN_PANEL,
 								BMessenger* target = NULL,


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic