[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