From c80fd944529ff7ab777f170aafd6828690fe5728 Mon Sep 17 00:00:00 2001 From: Jaidyn Ann Date: Sat, 27 Feb 2021 16:58:38 -0600 Subject: [PATCH] Mimetype icons; default open with Pogger --- Makefile | 2 ++ art/EntryIcon | Bin 0 -> 11725 bytes art/EntryIcon.rdef | 24 ++++++++++++++++++++++++ art/FeedIcon | Bin 0 -> 5885 bytes art/FeedIcon.rdef | 13 +++++++++++++ art/README.txt | 8 ++++++++ src/Mimetypes.cpp | 21 ++++++++++++++++++--- 7 files changed, 65 insertions(+), 3 deletions(-) create mode 100644 art/EntryIcon create mode 100644 art/EntryIcon.rdef create mode 100644 art/FeedIcon create mode 100644 art/FeedIcon.rdef create mode 100644 art/README.txt diff --git a/Makefile b/Makefile index 4833bf7..77c7a55 100644 --- a/Makefile +++ b/Makefile @@ -51,6 +51,8 @@ SRCS = \ # used. RDEFS = \ src/Pogger.rdef \ + art/FeedIcon.rdef \ + art/EntryIcon.rdef \ # Specify the resource files to use. Full or relative paths can be used. diff --git a/art/EntryIcon b/art/EntryIcon new file mode 100644 index 0000000000000000000000000000000000000000..71bfe2044c2eec34cd9bab6fd0c5eace3e1297f6 GIT binary patch literal 11725 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 UWF(^x>iC}6<5=*2HJqIEFO=BUo&W#< literal 0 HcmV?d00001 diff --git a/art/FeedIcon.rdef b/art/FeedIcon.rdef new file mode 100644 index 0000000..76b02ef --- /dev/null +++ b/art/FeedIcon.rdef @@ -0,0 +1,13 @@ + +resource(1, "feed-type-icon") #'VICN' array { + $"6E6369660603010000020006023CC7EE389BC0BA16573E39B04977C842ADC700" + $"FFE2BAFFFF9500020016023CC7EE389BC0BA16573E39B04977C842ADC700FFFF" + $"E7020006023C96323A4D3FBAFC013D5A974B57A549844D00992600FFBF500002" + $"000602BC592FBB29A73C0CE4BD0B7C4892C04B796600BF5000FFF2A100040180" + $"080A06223C2249445B5A3E5A3139250A04223C444B5A3139250A04444B445B5A" + $"3E5A310A04223C2249445B444B0A05445D495D603E5A3B5B3F0204BF8D3DC08A" + $"3DBE8F3D3B403BBF173BC068BF8D43BE8F43C08A43444044C06844BF17020435" + $"3F353F3A39483C4239483C4C394C394435313D3835313D02042D3C36322D3C29" + $"3A293A342E5333462D53334F364F364431060A050104000A0001001001178400" + $"040A010101000A030102000A040103000A020306070500" +}; diff --git a/art/README.txt b/art/README.txt new file mode 100644 index 0000000..6d79cb6 --- /dev/null +++ b/art/README.txt @@ -0,0 +1,8 @@ +These cons are copied over from Haiku's source tree at + haiku/data/artwork/icons/File_RSS_Feed + haiku/data/artwork/icons/Server_NewsFeed + +As far as I can tell, they aren't included in base installs. We just use them +as the mimetype icons for application/x-feed-source and text/x-feed-entry. + +They're under the MIT license, as per haiku/data/artwork/ReadMe diff --git a/src/Mimetypes.cpp b/src/Mimetypes.cpp index 766cc8f..9ac6fc6 100644 --- a/src/Mimetypes.cpp +++ b/src/Mimetypes.cpp @@ -1,8 +1,8 @@ /* - * Copyright 2007-2016, Haiku, Inc. All rights reserved. - * Copyright 2001-2002 Dr. Zoidberg Enterprises. All rights reserved. - * Copyright 2011, Clemens Zeidler * Copyright 2020, Jaidyn Levesque + * Copyright 2007-2016, Haiku, Inc. All rights reserved. + * Copyright 2011, Clemens Zeidler + * Copyright 2001-2002 Dr. Zoidberg Enterprises. All rights reserved. * All rights reserved. Distributed under the terms of the MIT license. */ @@ -12,6 +12,7 @@ #include #include #include +#include bool installMimeTypes() @@ -28,6 +29,13 @@ feedMimeType() if (mime.IsInstalled()) return true; + BResources* res = BApplication::AppResources(); + size_t length = 0; + const void* data = res->LoadResource(B_VECTOR_ICON_TYPE, "feed-type-icon", &length); + mime.SetIcon((uint8*)data, length); + + mime.SetPreferredApp("application/x-vnd.Pogger"); + mime.GetAttrInfo(&info); mime.SetShortDescription("Feed"); @@ -51,6 +59,13 @@ feedEntryMimeType() if (mime.IsInstalled()) return true; + BResources* res = BApplication::AppResources(); + size_t length = 0; + const void* data = res->LoadResource(B_VECTOR_ICON_TYPE, "entry-type-icon", &length); + mime.SetIcon((uint8*)data, length); + + mime.SetPreferredApp("application/x-vnd.Pogger"); + mime.GetAttrInfo(&info); mime.SetShortDescription("Feed Entry");