diff --git a/apps/comments/img/comments-dark.svg b/apps/comments/img/comments-dark.svg new file mode 100644 index 0000000000000000000000000000000000000000..d331ea7711b56cfd8bcda5ce8ea9dd77a67657d7 --- /dev/null +++ b/apps/comments/img/comments-dark.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" height="32" width="32" viewBox="0 0 32 32"><path fill="#000" d="M16 3C7.163 3 0 7.925 0 14s7.163 11 16 11c.5 0 .98-.032 1.47-.063L26 32v-9.406c3.658-2.017 6-5.12 6-8.595 0-6.076-7.164-11-16-11z"/></svg> diff --git a/apps/comments/lib/Activity/Provider.php b/apps/comments/lib/Activity/Provider.php index c55982827b3c5ea1200f5c9fe0ec2e15ca9c8732..7bf686e796e49e56952b043cd453dd795bea2d45 100644 --- a/apps/comments/lib/Activity/Provider.php +++ b/apps/comments/lib/Activity/Provider.php @@ -87,7 +87,11 @@ class Provider implements IProvider { if ($event->getSubject() === 'add_comment_subject') { $this->parseMessage($event); - $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/comment.svg'))); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/comment.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/comment.svg'))); + } if ($this->activityManager->isFormattingFilteredObject()) { try { diff --git a/apps/dav/lib/CalDAV/Activity/Provider/Calendar.php b/apps/dav/lib/CalDAV/Activity/Provider/Calendar.php index d7730da61f41bd3093063e59e030655abb6e658a..6082e68dcd2a868e8966eb7adcf7503056f416ae 100644 --- a/apps/dav/lib/CalDAV/Activity/Provider/Calendar.php +++ b/apps/dav/lib/CalDAV/Activity/Provider/Calendar.php @@ -84,7 +84,11 @@ class Calendar extends Base { $this->l = $this->languageFactory->get('dav', $language); - $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'places/calendar-dark.svg'))); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'places/calendar-dark.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'places/calendar-dark.svg'))); + } if ($event->getSubject() === self::SUBJECT_ADD) { $subject = $this->l->t('{actor} created calendar {calendar}'); diff --git a/apps/dav/lib/CalDAV/Activity/Provider/Event.php b/apps/dav/lib/CalDAV/Activity/Provider/Event.php index daaace6b5be296191a30814dc380b80ce0726e11..b591eaa351c9ab515bdae39a64c81363d6545aaa 100644 --- a/apps/dav/lib/CalDAV/Activity/Provider/Event.php +++ b/apps/dav/lib/CalDAV/Activity/Provider/Event.php @@ -80,7 +80,11 @@ class Event extends Base { $this->l = $this->languageFactory->get('dav', $language); - $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'places/calendar-dark.svg'))); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'places/calendar-dark.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'places/calendar-dark.svg'))); + } if ($event->getSubject() === self::SUBJECT_OBJECT_ADD . '_event') { $subject = $this->l->t('{actor} created event {event} in calendar {calendar}'); diff --git a/apps/dav/lib/CalDAV/Activity/Provider/Todo.php b/apps/dav/lib/CalDAV/Activity/Provider/Todo.php index 747b39ddb7f1ca5e72bb5b2f56817692cebe64fd..0ad1d137455c181313a14afa7ac180bfa6aac4e0 100644 --- a/apps/dav/lib/CalDAV/Activity/Provider/Todo.php +++ b/apps/dav/lib/CalDAV/Activity/Provider/Todo.php @@ -40,7 +40,11 @@ class Todo extends Event { $this->l = $this->languageFactory->get('dav', $language); - $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/checkmark.svg'))); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/checkmark.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/checkmark.svg'))); + } if ($event->getSubject() === self::SUBJECT_OBJECT_ADD . '_todo') { $subject = $this->l->t('{actor} created todo {todo} in list {calendar}'); diff --git a/apps/files/img/add-color.png b/apps/files/img/add-color.png new file mode 100644 index 0000000000000000000000000000000000000000..2211eb6e0bc19b74692db585aad55dca51222bed Binary files /dev/null and b/apps/files/img/add-color.png differ diff --git a/apps/files/img/change.png b/apps/files/img/change.png new file mode 100644 index 0000000000000000000000000000000000000000..1465882d72e340253078e8c906b97c0278b308b0 Binary files /dev/null and b/apps/files/img/change.png differ diff --git a/apps/files/img/delete-color.png b/apps/files/img/delete-color.png new file mode 100644 index 0000000000000000000000000000000000000000..1d563db1c8da06f7c2a8c53aaa83c0f2b9b62159 Binary files /dev/null and b/apps/files/img/delete-color.png differ diff --git a/apps/files/lib/Activity/FavoriteProvider.php b/apps/files/lib/Activity/FavoriteProvider.php index 941579e730d422f65dd9a1b259c61f2fef3db018..318ce66e6725d2a20fb658f2784700a29f44298c 100644 --- a/apps/files/lib/Activity/FavoriteProvider.php +++ b/apps/files/lib/Activity/FavoriteProvider.php @@ -97,11 +97,19 @@ class FavoriteProvider implements IProvider { public function parseShortVersion(IEvent $event) { if ($event->getSubject() === self::SUBJECT_ADDED) { - $event->setParsedSubject($this->l->t('Added to favorites')) - ->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/starred.svg'))); + $event->setParsedSubject($this->l->t('Added to favorites')); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/starred.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/starred.svg'))); + } } else if ($event->getSubject() === self::SUBJECT_REMOVED) { - $event->setParsedSubject($this->l->t('Removed from favorites')) - ->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/star.svg'))); + $event->setParsedSubject($this->l->t('Removed from favorites')); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/star.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/star.svg'))); + } } else { throw new \InvalidArgumentException(); } @@ -120,10 +128,18 @@ class FavoriteProvider implements IProvider { if ($event->getSubject() === self::SUBJECT_ADDED) { $subject = $this->l->t('You added {file} to your favorites'); - $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/starred.svg'))); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/starred.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/starred.svg'))); + } } else if ($event->getSubject() === self::SUBJECT_REMOVED) { $subject = $this->l->t('You removed {file} from your favorites'); - $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/star.svg'))); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/star.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/star.svg'))); + } } else { throw new \InvalidArgumentException(); } diff --git a/apps/files/lib/Activity/Provider.php b/apps/files/lib/Activity/Provider.php index c3289ed37038fa7fc9eeadc817ad365d23cd8df1..736b930b7aa8b2a0b638a5ff51ed815b57ab7439 100644 --- a/apps/files/lib/Activity/Provider.php +++ b/apps/files/lib/Activity/Provider.php @@ -110,21 +110,41 @@ class Provider implements IProvider { if ($event->getSubject() === 'created_by') { $subject = $this->l->t('Created by {user}'); - $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'add-color.svg'))); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'add-color.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'add-color.svg'))); + } } else if ($event->getSubject() === 'changed_by') { $subject = $this->l->t('Changed by {user}'); - $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'change.svg'))); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'change.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'change.svg'))); + } } else if ($event->getSubject() === 'deleted_by') { $subject = $this->l->t('Deleted by {user}'); - $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'delete-color.svg'))); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'delete-color.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'delete-color.svg'))); + } } else if ($event->getSubject() === 'restored_by') { $subject = $this->l->t('Restored by {user}'); } else if ($event->getSubject() === 'renamed_by') { $subject = $this->l->t('Renamed by {user}'); - $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'change.svg'))); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'change.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'change.svg'))); + } } else if ($event->getSubject() === 'moved_by') { $subject = $this->l->t('Moved by {user}'); - $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'change.svg'))); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'change.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'change.svg'))); + } } else { throw new \InvalidArgumentException(); } @@ -151,41 +171,85 @@ class Provider implements IProvider { if ($event->getSubject() === 'created_self') { $subject = $this->l->t('You created {file}'); - $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'add-color.svg'))); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'add-color.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'add-color.svg'))); + } } else if ($event->getSubject() === 'created_by') { $subject = $this->l->t('{user} created {file}'); - $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'add-color.svg'))); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'add-color.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'add-color.svg'))); + } } else if ($event->getSubject() === 'created_public') { $subject = $this->l->t('{file} was created in a public folder'); - $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'add-color.svg'))); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'add-color.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'add-color.svg'))); + } } else if ($event->getSubject() === 'changed_self') { $subject = $this->l->t('You changed {file}'); - $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'change.svg'))); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'change.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'change.svg'))); + } } else if ($event->getSubject() === 'changed_by') { $subject = $this->l->t('{user} changed {file}'); - $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'change.svg'))); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'change.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'change.svg'))); + } } else if ($event->getSubject() === 'deleted_self') { $subject = $this->l->t('You deleted {file}'); - $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'delete-color.svg'))); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'delete-color.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'delete-color.svg'))); + } } else if ($event->getSubject() === 'deleted_by') { $subject = $this->l->t('{user} deleted {file}'); - $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'delete-color.svg'))); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'delete-color.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'delete-color.svg'))); + } } else if ($event->getSubject() === 'restored_self') { $subject = $this->l->t('You restored {file}'); } else if ($event->getSubject() === 'restored_by') { $subject = $this->l->t('{user} restored {file}'); } else if ($event->getSubject() === 'renamed_self') { $subject = $this->l->t('You renamed {oldfile} to {newfile}'); - $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'change.svg'))); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'change.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'change.svg'))); + } } else if ($event->getSubject() === 'renamed_by') { $subject = $this->l->t('{user} renamed {oldfile} to {newfile}'); - $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'change.svg'))); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'change.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'change.svg'))); + } } else if ($event->getSubject() === 'moved_self') { $subject = $this->l->t('You moved {oldfile} to {newfile}'); - $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'change.svg'))); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'change.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'change.svg'))); + } } else if ($event->getSubject() === 'moved_by') { $subject = $this->l->t('{user} moved {oldfile} to {newfile}'); - $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'change.svg'))); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'change.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'change.svg'))); + } } else { throw new \InvalidArgumentException(); } diff --git a/apps/files_sharing/lib/Activity/Providers/Downloads.php b/apps/files_sharing/lib/Activity/Providers/Downloads.php index eb14c16266cced51de811153f3c228563ac59684..1e1688d7b0f4ec13b8235cbb1813bbb1ce318cb2 100644 --- a/apps/files_sharing/lib/Activity/Providers/Downloads.php +++ b/apps/files_sharing/lib/Activity/Providers/Downloads.php @@ -51,7 +51,11 @@ class Downloads extends Base { throw new \InvalidArgumentException(); } - $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/download.svg'))); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/download.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/download.svg'))); + } $this->setSubjects($event, $subject, $parsedParameters); return $event; @@ -76,7 +80,11 @@ class Downloads extends Base { throw new \InvalidArgumentException(); } - $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/download.svg'))); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/download.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/download.svg'))); + } $this->setSubjects($event, $subject, $parsedParameters); return $event; diff --git a/apps/files_sharing/lib/Activity/Providers/Groups.php b/apps/files_sharing/lib/Activity/Providers/Groups.php index 06ccdaa98b30b5a9357e1bebaf1bf525555cbbfd..683927d5735de18c8b18cd925496ada25da08b3f 100644 --- a/apps/files_sharing/lib/Activity/Providers/Groups.php +++ b/apps/files_sharing/lib/Activity/Providers/Groups.php @@ -51,7 +51,11 @@ class Groups extends Base { throw new \InvalidArgumentException(); } - $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg'))); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg'))); + } $this->setSubjects($event, $subject, $parsedParameters); return $event; @@ -78,7 +82,11 @@ class Groups extends Base { throw new \InvalidArgumentException(); } - $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg'))); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg'))); + } $this->setSubjects($event, $subject, $parsedParameters); return $event; diff --git a/apps/files_sharing/lib/Activity/Providers/PublicLinks.php b/apps/files_sharing/lib/Activity/Providers/PublicLinks.php index b22ae0aa9b53d495b258eaa6db23b1bf26177bd3..98e4ebda2d8d7dd80b971243a4ae59f914e422c1 100644 --- a/apps/files_sharing/lib/Activity/Providers/PublicLinks.php +++ b/apps/files_sharing/lib/Activity/Providers/PublicLinks.php @@ -58,7 +58,11 @@ class PublicLinks extends Base { throw new \InvalidArgumentException(); } - $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg'))); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg'))); + } $this->setSubjects($event, $subject, $parsedParameters); return $event; @@ -90,7 +94,11 @@ class PublicLinks extends Base { throw new \InvalidArgumentException(); } - $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg'))); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg'))); + } $this->setSubjects($event, $subject, $parsedParameters); return $event; diff --git a/apps/files_sharing/lib/Activity/Providers/RemoteShares.php b/apps/files_sharing/lib/Activity/Providers/RemoteShares.php index 4e7d8ef3e27d4bd67cdc5cd09212857a7716470a..6ac0be76ff40af6c45cbfd0b4dac884e8e2ee09d 100644 --- a/apps/files_sharing/lib/Activity/Providers/RemoteShares.php +++ b/apps/files_sharing/lib/Activity/Providers/RemoteShares.php @@ -73,7 +73,11 @@ class RemoteShares extends Base { throw new \InvalidArgumentException(); } - $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg'))); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg'))); + } $this->setSubjects($event, $subject, $parsedParameters); return $event; @@ -100,7 +104,11 @@ class RemoteShares extends Base { throw new \InvalidArgumentException(); } - $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg'))); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg'))); + } $this->setSubjects($event, $subject, $parsedParameters); return $event; diff --git a/apps/files_sharing/lib/Activity/Providers/Users.php b/apps/files_sharing/lib/Activity/Providers/Users.php index eaab35bba9d0a07ade3f06080cbc58120654a212..02f47f3775ac9423e08c0b92fe1cd703cb7c7133 100644 --- a/apps/files_sharing/lib/Activity/Providers/Users.php +++ b/apps/files_sharing/lib/Activity/Providers/Users.php @@ -60,7 +60,11 @@ class Users extends Base { throw new \InvalidArgumentException(); } - $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg'))); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg'))); + } $this->setSubjects($event, $subject, $parsedParameters); return $event; @@ -92,7 +96,11 @@ class Users extends Base { throw new \InvalidArgumentException(); } - $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg'))); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg'))); + } $this->setSubjects($event, $subject, $parsedParameters); return $event; diff --git a/apps/sharebymail/lib/Activity.php b/apps/sharebymail/lib/Activity.php index 73751cb241e77781a806cad8bda5f318bb308b43..df9cb36e0d7fe5d64f0b802de84555072f96288b 100644 --- a/apps/sharebymail/lib/Activity.php +++ b/apps/sharebymail/lib/Activity.php @@ -117,8 +117,12 @@ class Activity implements IProvider { ])) ->setRichSubject($this->l->t('Shared with {email}'), [ 'email' => $parsedParameters['email'], - ]) - ->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg'))); + ]); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg'))); + } } else if ($event->getSubject() === self::SUBJECT_SHARED_EMAIL_BY) { $event->setParsedSubject($this->l->t('Shared with %1$s by %2$s', [ $parsedParameters['email']['name'], @@ -127,20 +131,32 @@ class Activity implements IProvider { ->setRichSubject($this->l->t('Shared with {email} by {actor}'), [ 'email' => $parsedParameters['email'], 'actor' => $parsedParameters['actor'], - ]) - ->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg'))); + ]); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg'))); + } } else if ($event->getSubject() === self::SUBJECT_SHARED_EMAIL_PASSWORD_SEND) { $event->setParsedSubject($this->l->t('Password for mail share sent to %1$s', [ $parsedParameters['email']['name'] ])) ->setRichSubject($this->l->t('Password for mail share sent to {email}'), [ 'email' => $parsedParameters['email'] - ]) - ->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg'))); + ]); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg'))); + } } else if ($event->getSubject() === self::SUBJECT_SHARED_EMAIL_PASSWORD_SEND_SELF) { $event->setParsedSubject($this->l->t('Password for mail share sent to you')) - ->setRichSubject($this->l->t('Password for mail share sent to you')) - ->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg'))); + ->setRichSubject($this->l->t('Password for mail share sent to you')); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg'))); + } } else { throw new \InvalidArgumentException(); } @@ -162,29 +178,45 @@ class Activity implements IProvider { $parsedParameters['file']['path'], $parsedParameters['email']['name'], ])) - ->setRichSubject($this->l->t('You shared {file} with {email} by mail'), $parsedParameters) - ->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg'))); + ->setRichSubject($this->l->t('You shared {file} with {email} by mail'), $parsedParameters); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg'))); + } } else if ($event->getSubject() === self::SUBJECT_SHARED_EMAIL_BY) { $event->setParsedSubject($this->l->t('%3$s shared %1$s with %2$s by mail', [ $parsedParameters['file']['path'], $parsedParameters['email']['name'], $parsedParameters['actor']['name'], ])) - ->setRichSubject($this->l->t('{actor} shared {file} with {email} by mail'), $parsedParameters) - ->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg'))); + ->setRichSubject($this->l->t('{actor} shared {file} with {email} by mail'), $parsedParameters); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg'))); + } } else if ($event->getSubject() === self::SUBJECT_SHARED_EMAIL_PASSWORD_SEND) { $event->setParsedSubject($this->l->t('Password to access %1$s was sent to %2s', [ $parsedParameters['file']['path'], $parsedParameters['email']['name'] ])) - ->setRichSubject($this->l->t('Password to access {file} was sent to {email}'), $parsedParameters) - ->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg'))); + ->setRichSubject($this->l->t('Password to access {file} was sent to {email}'), $parsedParameters); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg'))); + } } else if ($event->getSubject() === self::SUBJECT_SHARED_EMAIL_PASSWORD_SEND_SELF) { $event->setParsedSubject( $this->l->t('Password to access %1$s was sent to you', [$parsedParameters['file']['path']])) - ->setRichSubject($this->l->t('Password to access {file} was sent to you'), $parsedParameters) - ->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg'))); + ->setRichSubject($this->l->t('Password to access {file} was sent to you'), $parsedParameters); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg'))); + } } else { throw new \InvalidArgumentException(); diff --git a/apps/systemtags/lib/Activity/Provider.php b/apps/systemtags/lib/Activity/Provider.php index 5ef20c281bddfb94eef1d80a8f79cb14ec42ed18..db7ff94fd16feb6c9920231e8b982e2ba0e3e126 100644 --- a/apps/systemtags/lib/Activity/Provider.php +++ b/apps/systemtags/lib/Activity/Provider.php @@ -104,7 +104,12 @@ class Provider implements IProvider { */ public function parseShortVersion(IEvent $event) { $parsedParameters = $this->getParameters($event); - $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/tag.svg'))); + + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/tag.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/tag.svg'))); + } if ($event->getSubject() === self::ASSIGN_TAG) { if ($parsedParameters['actor']['id'] === $this->activityManager->getCurrentUserId()) { @@ -157,7 +162,12 @@ class Provider implements IProvider { */ public function parseLongVersion(IEvent $event) { $parsedParameters = $this->getParameters($event); - $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/tag.svg'))); + + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/tag.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/tag.svg'))); + } if ($event->getSubject() === self::CREATE_TAG) { if ($parsedParameters['actor']['id'] === $this->activityManager->getCurrentUserId()) { diff --git a/apps/twofactor_backupcodes/lib/Activity/Provider.php b/apps/twofactor_backupcodes/lib/Activity/Provider.php index 9c7aaeae6306e75e43d8384c872d2eceacd541b1..739ac9bbe13b62bd292a5e0c049a5757abc895ec 100644 --- a/apps/twofactor_backupcodes/lib/Activity/Provider.php +++ b/apps/twofactor_backupcodes/lib/Activity/Provider.php @@ -24,8 +24,8 @@ namespace OCA\TwoFactorBackupCodes\Activity; use InvalidArgumentException; use OCP\Activity\IEvent; +use OCP\Activity\IManager; use OCP\Activity\IProvider; -use OCP\ILogger; use OCP\IURLGenerator; use OCP\L10N\IFactory as L10nFactory; @@ -37,17 +37,17 @@ class Provider implements IProvider { /** @var IURLGenerator */ private $urlGenerator; - /** @var ILogger */ - private $logger; + /** @var IManager */ + private $activityManager; /** * @param L10nFactory $l10n * @param IURLGenerator $urlGenerator - * @param ILogger $logger + * @param IManager $activityManager */ - public function __construct(L10nFactory $l10n, IURLGenerator $urlGenerator, ILogger $logger) { - $this->logger = $logger; + public function __construct(L10nFactory $l10n, IURLGenerator $urlGenerator, IManager $activityManager) { $this->urlGenerator = $urlGenerator; + $this->activityManager = $activityManager; $this->l10n = $l10n; } @@ -61,7 +61,12 @@ class Provider implements IProvider { switch ($event->getSubject()) { case 'codes_generated': $event->setParsedSubject($l->t('You created two-factor backup codes for your account')); - $event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('core', 'actions/password.svg'))); + + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('core', 'actions/password.png'))); + } else { + $event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('core', 'actions/password.svg'))); + } break; default: throw new InvalidArgumentException(); diff --git a/apps/twofactor_backupcodes/tests/Unit/Activity/ProviderTest.php b/apps/twofactor_backupcodes/tests/Unit/Activity/ProviderTest.php index e1a13c89c103abaf777281c1db4685748bc0f189..a56098556e50b2423afde4db33caf77f08ce353c 100644 --- a/apps/twofactor_backupcodes/tests/Unit/Activity/ProviderTest.php +++ b/apps/twofactor_backupcodes/tests/Unit/Activity/ProviderTest.php @@ -25,8 +25,8 @@ namespace OCA\TwoFactorBackupCodes\Test\Unit\Activity; use InvalidArgumentException; use OCA\TwoFactorBackupCodes\Activity\Provider; use OCP\Activity\IEvent; +use OCP\Activity\IManager; use OCP\IL10N; -use OCP\ILogger; use OCP\IURLGenerator; use OCP\L10N\IFactory; use PHPUnit_Framework_MockObject_MockObject; @@ -34,14 +34,14 @@ use Test\TestCase; class ProviderTest extends TestCase { - /** @var IL10N|PHPUnit_Framework_MockObject_MockObject */ + /** @var IFactory|PHPUnit_Framework_MockObject_MockObject */ private $l10n; /** @var IURLGenerator|PHPUnit_Framework_MockObject_MockObject */ private $urlGenerator; - /** @var ILogger|PHPUnit_Framework_MockObject_MockObject */ - private $logger; + /** @var IManager|PHPUnit_Framework_MockObject_MockObject */ + private $activityManager; /** @var Provider */ private $provider; @@ -51,9 +51,9 @@ class ProviderTest extends TestCase { $this->l10n = $this->createMock(IFactory::class); $this->urlGenerator = $this->createMock(IURLGenerator::class); - $this->logger = $this->createMock(ILogger::class); + $this->activityManager = $this->createMock(IManager::class); - $this->provider = new Provider($this->l10n, $this->urlGenerator, $this->logger); + $this->provider = new Provider($this->l10n, $this->urlGenerator, $this->activityManager); } public function testParseUnrelated() { diff --git a/core/img/actions/checkmark.png b/core/img/actions/checkmark.png new file mode 100644 index 0000000000000000000000000000000000000000..eb938698fd2183727f80b7e2f61b5d2afc550871 Binary files /dev/null and b/core/img/actions/checkmark.png differ diff --git a/core/img/actions/comment.png b/core/img/actions/comment.png new file mode 100644 index 0000000000000000000000000000000000000000..0dec289e38b03abe522d137fbd9b7e36c1b41386 Binary files /dev/null and b/core/img/actions/comment.png differ diff --git a/core/img/actions/download.png b/core/img/actions/download.png new file mode 100644 index 0000000000000000000000000000000000000000..6808969b30bfafaed6fb017a0eef55762dc18241 Binary files /dev/null and b/core/img/actions/download.png differ diff --git a/core/img/actions/password.png b/core/img/actions/password.png new file mode 100644 index 0000000000000000000000000000000000000000..afe3e31a658ddcd2baa7d7465d2f28491fb46877 Binary files /dev/null and b/core/img/actions/password.png differ diff --git a/core/img/actions/share.png b/core/img/actions/share.png new file mode 100644 index 0000000000000000000000000000000000000000..8cc66f08f5d3c4042feb291e08219b97098baa07 Binary files /dev/null and b/core/img/actions/share.png differ diff --git a/core/img/actions/star.png b/core/img/actions/star.png new file mode 100644 index 0000000000000000000000000000000000000000..61727fc3f1918a52ecfc81d519ad59143e7e6a15 Binary files /dev/null and b/core/img/actions/star.png differ diff --git a/core/img/actions/starred.png b/core/img/actions/starred.png new file mode 100644 index 0000000000000000000000000000000000000000..aa5bced775173c935cf7713bbefb72c4f6264ede Binary files /dev/null and b/core/img/actions/starred.png differ diff --git a/core/img/actions/tag.png b/core/img/actions/tag.png new file mode 100644 index 0000000000000000000000000000000000000000..6a466b367b3531f7b03218484fb83a3b1ce7a41d Binary files /dev/null and b/core/img/actions/tag.png differ diff --git a/core/img/places/calendar-dark.png b/core/img/places/calendar-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..88e8ea64db922801706e2e270a13b7582864c1e4 Binary files /dev/null and b/core/img/places/calendar-dark.png differ diff --git a/lib/private/Activity/Manager.php b/lib/private/Activity/Manager.php index a8810a3e16b1d2a1ba10c617dd189bf30e8bd3d0..bbb6f6941567586171c3b1ed1ddf5cc42073b565 100644 --- a/lib/private/Activity/Manager.php +++ b/lib/private/Activity/Manager.php @@ -57,6 +57,9 @@ class Manager implements IManager { /** @var int */ protected $formattingObjectId; + /** @var bool */ + protected $requirePNG; + /** @var string */ protected $currentUserId; @@ -465,6 +468,20 @@ class Manager implements IManager { && $this->formattingObjectId === $this->request->getParam('object_id'); } + /** + * @param bool $status Set to true, when parsing events should not use SVG icons + */ + public function setRequirePNG($status) { + $this->requirePNG = $status; + } + + /** + * @return bool + */ + public function getRequirePNG() { + return $this->requirePNG; + } + /** * @param string $app * @param string $text diff --git a/lib/public/Activity/IManager.php b/lib/public/Activity/IManager.php index f5b495807c5790f35af8fb0812520a70168f1892..4cdea0e2f74e4eea0c9c162d33477e0aaae6132c 100644 --- a/lib/public/Activity/IManager.php +++ b/lib/public/Activity/IManager.php @@ -206,6 +206,18 @@ interface IManager { */ public function isFormattingFilteredObject(); + /** + * @param bool $status Set to true, when parsing events should not use SVG icons + * @since 12.0.1 + */ + public function setRequirePNG($status); + + /** + * @return bool + * @since 12.0.1 + */ + public function getRequirePNG(); + /** * @param string $app * @param string $text diff --git a/settings/Activity/Provider.php b/settings/Activity/Provider.php index 7893b450a44c7fd53f936ea2fc1fc1070eeb709e..575b7e9b569dea18a51168f8baec1e44b4f51807 100644 --- a/settings/Activity/Provider.php +++ b/settings/Activity/Provider.php @@ -22,6 +22,7 @@ namespace OC\Settings\Activity; use OCP\Activity\IEvent; +use OCP\Activity\IManager; use OCP\Activity\IProvider; use OCP\IL10N; use OCP\IURLGenerator; @@ -50,6 +51,9 @@ class Provider implements IProvider { /** @var IUserManager */ protected $userManager; + /** @var IManager */ + private $activityManager; + /** @var string[] cached displayNames - key is the UID and value the displayname */ protected $displayNames = []; @@ -57,11 +61,13 @@ class Provider implements IProvider { * @param IFactory $languageFactory * @param IURLGenerator $url * @param IUserManager $userManager + * @param IManager $activityManager */ - public function __construct(IFactory $languageFactory, IURLGenerator $url, IUserManager $userManager) { + public function __construct(IFactory $languageFactory, IURLGenerator $url, IUserManager $userManager, IManager $activityManager) { $this->languageFactory = $languageFactory; $this->url = $url; $this->userManager = $userManager; + $this->activityManager = $activityManager; } /** @@ -79,7 +85,11 @@ class Provider implements IProvider { $this->l = $this->languageFactory->get('settings', $language); - $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('settings', 'personal.svg'))); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('settings', 'personal.png'))); + } else { + $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('settings', 'personal.svg'))); + } if ($event->getSubject() === self::PASSWORD_CHANGED_BY) { $subject = $this->l->t('{actor} changed your password'); diff --git a/settings/Activity/SecurityProvider.php b/settings/Activity/SecurityProvider.php index 74747f684daf2fd3ff1340b6146310c1b2c18192..7b27fde363f1e55315f658e90723cc7caa3b1094 100644 --- a/settings/Activity/SecurityProvider.php +++ b/settings/Activity/SecurityProvider.php @@ -24,8 +24,8 @@ namespace OC\Settings\Activity; use InvalidArgumentException; use OCP\Activity\IEvent; +use OCP\Activity\IManager; use OCP\Activity\IProvider; -use OCP\ILogger; use OCP\IURLGenerator; use OCP\L10N\IFactory as L10nFactory; @@ -37,13 +37,13 @@ class SecurityProvider implements IProvider { /** @var IURLGenerator */ private $urlGenerator; - /** @var ILogger */ - private $logger; + /** @var IManager */ + private $activityManager; - public function __construct(L10nFactory $l10n, IURLGenerator $urlGenerator, ILogger $logger) { - $this->logger = $logger; + public function __construct(L10nFactory $l10n, IURLGenerator $urlGenerator, IManager $activityManager) { $this->urlGenerator = $urlGenerator; $this->l10n = $l10n; + $this->activityManager = $activityManager; } public function parse($language, IEvent $event, IEvent $previousEvent = null) { @@ -59,14 +59,22 @@ class SecurityProvider implements IProvider { $event->setParsedSubject($l->t('You successfully logged in using two-factor authentication (%1$s)', [ $params['provider'], ])); - $event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('core', 'actions/password.svg'))); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('core', 'actions/password.png'))); + } else { + $event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('core', 'actions/password.svg'))); + } break; case 'twofactor_failed': $params = $event->getSubjectParameters(); $event->setParsedSubject($l->t('A login attempt using two-factor authentication failed (%1$s)', [ $params['provider'], ])); - $event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('core', 'actions/password.svg'))); + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('core', 'actions/password.png'))); + } else { + $event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('core', 'actions/password.svg'))); + } break; default: throw new InvalidArgumentException(); diff --git a/settings/img/personal.png b/settings/img/personal.png new file mode 100644 index 0000000000000000000000000000000000000000..3c9c7345f65d1fbc1857f0988a96c16aca72be46 Binary files /dev/null and b/settings/img/personal.png differ diff --git a/tests/Settings/Activity/SecurityProviderTest.php b/tests/Settings/Activity/SecurityProviderTest.php index 2abc14654f17942346b93321ba103e648f1daaac..21fc28f3c3b4bff290b82d8f58a905c17bca8f80 100644 --- a/tests/Settings/Activity/SecurityProviderTest.php +++ b/tests/Settings/Activity/SecurityProviderTest.php @@ -25,8 +25,8 @@ namespace Tests\Settings\Activity; use InvalidArgumentException; use OC\Settings\Activity\SecurityProvider; use OCP\Activity\IEvent; +use OCP\Activity\IManager; use OCP\IL10N; -use OCP\ILogger; use OCP\IURLGenerator; use OCP\L10N\IFactory; use PHPUnit_Framework_MockObject_MockObject; @@ -34,14 +34,14 @@ use Test\TestCase; class SecurityProviderTest extends TestCase { - /** @var IL10N|PHPUnit_Framework_MockObject_MockObject */ + /** @var IFactory|PHPUnit_Framework_MockObject_MockObject */ private $l10n; /** @var IURLGenerator|PHPUnit_Framework_MockObject_MockObject */ private $urlGenerator; - /** @var ILogger|PHPUnit_Framework_MockObject_MockObject */ - private $logger; + /** @var IManager|PHPUnit_Framework_MockObject_MockObject */ + private $activityManager; /** @var SecurityProvider */ private $provider; @@ -51,9 +51,9 @@ class SecurityProviderTest extends TestCase { $this->l10n = $this->createMock(IFactory::class); $this->urlGenerator = $this->createMock(IURLGenerator::class); - $this->logger = $this->createMock(ILogger::class); + $this->activityManager = $this->createMock(IManager::class); - $this->provider = new SecurityProvider($this->l10n, $this->urlGenerator, $this->logger); + $this->provider = new SecurityProvider($this->l10n, $this->urlGenerator, $this->activityManager); } public function testParseUnrelated() {