Commit Graph

307 Commits

Author SHA1 Message Date
Nikolay Chashnikov
42b2cd3e14 mark members used from other modules as public and add @ApiStatus.Internal annotation to them instead (IJPL-149126)
This is needed to avoid 'IllegalAccessError' if different modules are loaded by different classloaders.

GitOrigin-RevId: 99113e2a8bee471332174bd2710eccf9b47ebb67
2024-05-02 08:45:51 +00:00
Daniil Ovchinnikov
b03b92e140 IJPL-148490 clean up empty file-classes from existing dumps
GitOrigin-RevId: ca701387e601a76ae25a3a31ca0a02432126e0fb
2024-04-30 20:39:42 +00:00
Alexey Kudravtsev
217a688b9b javadoc, cleanup
GitOrigin-RevId: a55ff14618f0ab0e4f9744cd1c74d1b764cd18de
2024-04-23 14:50:12 +00:00
Gregory.Shrago
32d7f4c854 WI-76943 Performance degradation after refactoring of icons
Stop leaking PSI via `DeferredIconImpl` by introducing `IconUtil.deepRetrieveIconNow` into the picture.

GitOrigin-RevId: 75971d2b17b71e7e90472ad3d68027bf6affbaab
2024-04-09 15:03:25 +00:00
Daniil Ovchinnikov
0ceb137057 IJPL-797 API dump: generate api-dump-unreviewed.txt and exposed API lists [1/4]
GitOrigin-RevId: 372e767101ed7821a6ef860d7be96f1c536833ef
2024-04-09 02:07:00 +00:00
Gregory.Shrago
d14c7271b0 make PSI and VFS icon calculation consistent
1. Keep fast PSI icon providers but run VFS patchers over their results
2. (Avoid recursion in `ElementBase` and `PsiBasedFileIconProvider`)
3. Add test to assert same psi/vfs file/dir icons

Fixes
IJPL-714 PsiDirectory ignores FileIconProvider EP
IJPL-939 PsiIconUtil.getProvidersIcon ignores FileIconPatcher EP

GitOrigin-RevId: 948129ab4b9a9195a32d4b2a4ec191bcbd647d80
2024-03-29 18:02:04 +00:00
Sergei Tachenov
8e6c2bc064 IDEA-295555 Add null checks for PredefinedIconOverlayService
GitOrigin-RevId: c70a8b62313c78c6fa756bdff961e9a891c2f8d9
2024-03-01 10:03:53 +00:00
Sergei Tachenov
f152539a3a IDEA-295555 Create PredefinedIconOverlayService
It's needed because we need ExperimentalUI.isNewUI
to create these icons, and we can't access it from IconUtil.kt
where we actually need to create a symlink icon.

GitOrigin-RevId: 03ca72e672cd1f0b3722d54a6039fc2c728fa7bb
2024-02-25 09:00:15 +00:00
Sergei Tachenov
765c628a67 IDEA-295555 Fix symlink icon overlay for selected icons
The issue was caused by the class not implementing
replaceBy/copy/deepCopy methods correctly, which caused
the icon to be replaced by a regular LayeredIcon without
the overlay at some point.

GitOrigin-RevId: 0a104dfd8a03be47b74a15b0c5734a60774c28d3
2024-02-25 09:00:11 +00:00
Dmitry Batkovich
38a0af1b36 make FileIconPatcher work in dumb mode by default IJPL-380
GitOrigin-RevId: bb191dd326677209397a967652ca7b360c74eb00
2024-01-22 23:19:52 +00:00
Vladimir Krivosheev
ce38e3e520 IDEA-336226 DeferredIconImpl - do not use scaledDelegateIcon to compute hash code, as scaledDelegateIcon maybe changed (and hash code must be not changed), LayeredIcon - use object identity as hash code
GitOrigin-RevId: 20168ffa8f2d0558e099b867088c4fae8d272e1b
2024-01-08 19:25:51 +00:00
Dmitry Batrak
89e0420ca9 RDCT-44 Editor tab icon is not shown until hovered
Merge-request: IJ-MR-117795
Merged-by: Dmitry Batrak <Dmitry.Batrak@jetbrains.com>

GitOrigin-RevId: 5341f212164a002eb8f04daa2393b748acf88ad7
2023-11-01 04:09:16 +00:00
Aleksey Pivovarov
9245395e32 ui: restore backward compatibility
GitOrigin-RevId: 87cc1729c3ff160dae6c9016f96521841c7ae808
2023-10-23 09:22:25 +00:00
Aleksey Pivovarov
cf1927b1d1 ui: move OverlaidOffsetIconsIcon to platform
GitOrigin-RevId: deb26974f38a149e614adc49cd2ad0bb5eaef441
2023-10-23 09:22:23 +00:00
Vladimir Krivosheev
f577422854 IJPL-303 Refactor IconUtil.kt for readability and efficiency
The commit simplifies and optimizes the computeFileIcon method in IconUtil.kt by extracting part of its contents into a private function computeFileIconImpl. This reduces redundancy and facilitates better comprehension of the code. The rearrangement also leads to a more efficient code structure. Other utility methods have also been moved for better organization.

GitOrigin-RevId: baf874fc563c6187f745f04b287c6e52bafd02cd
2023-10-22 18:50:03 +02:00
Vladimir Krivosheev
eb2b831e98 IDEA-335144 serializable CachedImageIcon resolver
GitOrigin-RevId: 056254d28b2634e1b537635ba026ca940ac082c5
2023-10-18 23:33:28 +02:00
Vladimir Krivosheev
03dbf997f0 IDEA-335157 use raw icon size to compute base for a new scale
GitOrigin-RevId: e6250e04e31ae47557e26ce4b14a322548b26735
2023-10-18 00:05:20 +00:00
Vladimir Krivosheev
b61b04f1d9 IDEA-334488 Wrong colors of the main toolbar icons in Light theme and Compact mode
GitOrigin-RevId: ee07a56431d3fcb1521e5d159b139bce8ca79a4b
2023-10-16 20:41:10 +02:00
Vladimir Krivosheev
03fac51ff8 IJPL-283 ClassicUI icons are shown in gutter and gutter popups in NewUI
GitOrigin-RevId: b6a37833c2e36a165e595dfd449ace298e4184a8
2023-10-16 20:41:09 +02:00
Vladimir Krivosheev
c9a7b91628 IDEA-334775 IDE crashes on opening with Material Theme UI installed
GitOrigin-RevId: cfa768b037096b8f88df2e6620aa1e9b5647a0b9
2023-10-16 09:31:32 +00:00
Vladimir Krivosheev
c10bd10666 IJPL-283 simplify CachedImageIcon - use bit flags for useStroke boolean field, introduce RgbImageFilterSupplier
GitOrigin-RevId: b19e90d42489785246e335571d350f36f255b0ce
2023-10-16 09:31:15 +00:00
Vladimir Krivosheev
bb8b7ba950 IDEA-334410 Wrong color of active/inactive icons on toolbar in Light theme
GitOrigin-RevId: 8c923c6ef553ed7e59f108cd6ab9c5b6414cf6ad
2023-10-09 17:47:01 +02:00
Vladimir Krivosheev
e9a55ac79c IDEA-327116 support invalidation of cache in case of a custom color patcher
GitOrigin-RevId: 10209a589497ff3a55f38d406971b7aee8ad4970
2023-10-08 02:55:05 +00:00
Vladimir Krivosheev
83e9636009 IDEA-327116 move digest from SvgAttributePatcher to SvgElementColorPatcherProvider
GitOrigin-RevId: 53f3b0e353c35c48975ff94882cf93198038b0ed
2023-10-08 02:54:57 +00:00
Vladimir Krivosheev
c737ad2903 IDEA-327116 efficient colorPatchCache - use color patcher as a key
GitOrigin-RevId: e6648acb52c2a57368c273142b6e3029f5756f90
2023-10-08 02:54:43 +00:00
Vladimir Krivosheev
44ec2c1847 IDEA-327116 use vector rendering
GitOrigin-RevId: 2a623352d909c1632a9f66f9ab391608cabb0172
2023-10-08 02:54:27 +00:00
Vladimir Krivosheev
ab7f43217f IDEA-327116 resolve new ui icons using a reflective path
iconToStrokeIcon cache - doesn't make sense to use weak value as it is a derived icon

GitOrigin-RevId: 17b571174da6e1a39df5a8c5bb9dd3ebc178ba80
2023-10-08 02:54:22 +00:00
Vladimir Krivosheev
1cfa8aee58 IDEA-327116 cleanup
GitOrigin-RevId: 450cbaa77ea0e2d51e3ab56be1fecf46c2f49168
2023-10-08 02:54:06 +00:00
Gregory.Shrago
3557807bc3 cleanup DataContext inheritors
Expand DataContext documentation.

GitOrigin-RevId: 692221e957bccfaa6dde27849a1755df674c3561
2023-10-03 12:53:51 +00:00
Gregory.Shrago
a912577dc6 recache the data if a provider adds new keys
On startup, some keys are initialized right in some `provider.getData` call. Detect that and recache all data dropping all previous per-component maps.

GitOrigin-RevId: 1be79372dfe4cd29364b44f68a55053ad085bd64
2023-09-28 01:49:11 +00:00
Alexander Kirsanov
645fc4e2a6 [icons] Remove open hierarchy from BadgeShapeProvider, replace overrides with passing values. Otherwise, not remote-friendly
GitOrigin-RevId: a4d13210132032232bc371824b85e09476adeca2
2023-09-14 22:07:24 +00:00
Aydar Mukhametzyanov
d3d590e501 IDEA-322076 Match project color with custom icon
GitOrigin-RevId: c43ccbe6fbf2cf29895cdf353a6fe1626030945c
2023-09-12 16:15:51 +00:00
Vladimir Krivosheev
ec5367e7c3 IDEA-330211 reduce GC and memory usage (cache svg patcher)
GitOrigin-RevId: 1d2686f16563f051ec5c222a693d0a79149dd450
2023-09-10 14:17:31 +00:00
Vladimir Krivosheev
5b7f7d077a IDEA-327521 Deadlock in icon cache
GitOrigin-RevId: 53a173962f209bf41019209bfbc6ee749250b667
2023-09-08 11:07:01 +00:00
Vladimir Krivosheev
9b38a2902b IDEA-329983 compute icons if disabledLayers is requested
GitOrigin-RevId: a279277eb38642c1cad143717837d1c66c38d83a
2023-08-17 16:23:25 +00:00
Vladimir Krivosheev
aabf394d6d cleanup
GitOrigin-RevId: d74917a9cfb655645f87bf8ca3f59541d4779ee8
2023-08-15 09:34:04 +00:00
Vladimir Krivosheev
f3fa8ff762 IDEA-328187 don't ask w/h on row/layered icon init — it leads to loading of icons
GitOrigin-RevId: b1e0348fb4ac55575b9897c6e7a73b414192b649
2023-08-15 09:34:01 +00:00
Vladimir Krivosheev
33b0c5a43f IDEA-328187 cleanup
GitOrigin-RevId: 43aef39dbf549a429995971803d7bf7deaee3bcd
2023-08-15 09:33:59 +00:00
Vladimir Krivosheev
336eb92951 IDEA-328187 don't ask w/h on row icon init — it leads to load of icons
GitOrigin-RevId: b25b8de21d74397290a9c4ea23c2d7f968482af5
2023-08-15 09:33:57 +00:00
Vladimir Krivosheev
9f1611571d IDEA-328187 cleanup
GitOrigin-RevId: 045fb2958e8fe6fbeb931b747f841a6d719cfc55
2023-08-15 09:33:56 +00:00
Vladimir Krivosheev
72d0d00817 IDEA-328187 convert RowIcon to kotlin
GitOrigin-RevId: 3ffe3edd860997058d94b31fac1f858bb7bd4256
2023-08-15 09:33:54 +00:00
Vladimir Krivosheev
9e92f10e1c IDEA-328187 Rename .java to .kt
GitOrigin-RevId: 53c6ca59e74ecfb7953d810ac59e370a836c4be5
2023-08-15 09:33:52 +00:00
Vladimir Krivosheev
b17aab02ea IDEA-328187 lazy icon (ruby)
GitOrigin-RevId: 86d6f6035430d882d5e090530343e5a8387c7a4d
2023-08-15 09:33:49 +00:00
Vladimir Krivosheev
5418192cb2 IDEA-328187 lazy icon
GitOrigin-RevId: 800bce1ba40043978c5059bc01bfe76daf4fa1d3
2023-08-15 09:33:35 +00:00
Vladimir Krivosheev
d6a4423730 move combineIconTooltips to file level and make internal
GitOrigin-RevId: 3e3a2028fd1f0ed13bca9290e5065a201859510e
2023-08-11 06:15:35 +00:00
Vladimir Krivosheev
394ed81ecd cleanup
GitOrigin-RevId: c159dc72fe23b9e353c14d7f33a231c27e4b3f7b
2023-08-11 06:15:27 +00:00
Vladimir Krivosheev
fb072811c9 IDEA-328015 avoid eager computing of icons
GitOrigin-RevId: 1c219b358c643284fc202763272bb74dfcb24c8f
2023-08-11 06:15:09 +00:00
Vladimir Krivosheev
a9855980d9 IDEA-328015 convert LayeredIcon to kotlin
GitOrigin-RevId: 468ec7f66048636769e6734da03fdb4fa2543595
2023-08-11 06:15:07 +00:00
Vladimir Krivosheev
61015bb6a9 IDEA-328015 Rename .java to .kt
GitOrigin-RevId: e6ee1378e0d8c27eebcad95ee4fedecb580bffea
2023-08-11 06:15:05 +00:00
Vladimir Krivosheev
6e97a9bdf6 IDEA-328015 cleanup
GitOrigin-RevId: e2deb44b212177efbb51c713ee881ce7f22ec4ca
2023-08-10 10:12:29 +00:00