Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move qss file from napari to plugin manager #43

Merged
merged 46 commits into from
Jun 5, 2024

Conversation

goanpeca
Copy link
Contributor

@goanpeca goanpeca commented May 29, 2024

History was preserved on the original file, but we removed all qss not related to the plugin manager.

@goanpeca goanpeca self-assigned this May 29, 2024
@goanpeca goanpeca changed the title Enh/move qss Move qss file from napari to plugin manager May 29, 2024
@goanpeca goanpeca marked this pull request as ready for review May 29, 2024 22:43
tlambert03 and others added 23 commits May 29, 2024 17:47
* move resources to qt folder

* tests working

* move init to proper spot

* fix tests

* broaden include

* absolute import

* make window file

* rename _qt.resources to _qt.qt_resources

* user ViewerModel instead of test_viewer to test plugins

* move window module
* add theme option to get_stylesheet

* add deprecation warnings

* undo changes to canvas
* QColoredSVGIcon class

* docstrings

* add tests

* add note

* reorg

* fix lru_cache for 3.7

* only get .svg icons

* wip

* typing and staticmethod

* encode

* remove build resources

* rename some things

* trim tests

* improve persistence

* remove __main__

* minor

* move regex check

* fix order

* undo future annotations

* fix for older pyside2

* windows version

* another windows fix

* custom example

* refactor

* restore Env var control

* fix glob

* docs

* rename function

* make a couple things private

* more docs

* move custom icon example

* Update napari/_qt/qt_resources/_icons.py

Co-authored-by: Matthias Bussonnier <[email protected]>

* Update napari/_qt/qt_resources/_icons.py

Co-authored-by: Matthias Bussonnier <[email protected]>

* Update napari/_qt/qt_resources/_icons.py

Co-authored-by: Matthias Bussonnier <[email protected]>

* Update napari/_qt/qt_resources/_icons.py

Co-authored-by: Matthias Bussonnier <[email protected]>

Co-authored-by: Matthias Bussonnier <[email protected]>
* feat: countour toggle draft #1858

* fix: typo

* feat: compute contour on the view of the data

* test: changing contour

* test: restore contour's previous state

* fix: stylecheet issue

* feat: keep labels colors in contour

Co-authored-by: Nicholas Sofroniew <[email protected]>

* fix: useless calls from review comments

* test: Check data_view changed after contour is set

* feat: find boundaries for each labels

* refactor: apply `low_discrepancy_image`

Apply `low_discrepancy_image` function to get the
right color for the labels

* refactor: remove loop to make contour faster

* fix: always refresh

Co-authored-by: Nicholas Sofroniew <[email protected]>
* Separate notification to not need qt.

Be stricter about singleton usage, and install hooks explicitely.

Also store datetime when notification is created for later usage
Move notifications into utils

* Update to increase coverage

* remove gc debug

* static show notif

* Reviews 1

* Reviews 2

* Update napari/utils/notifications.py

Co-authored-by: Talley Lambert <[email protected]>

* move notifications manager test outside of qt subtree

* remove need for singleton

* Update napari/_tests/test_notification_manager.py

Co-authored-by: Juan Nunez-Iglesias <[email protected]>

* add assertions to test_notification

* move test, add exit assertion

* assert notification types

* add NapariQtNotification tests

* add lambda for 3.7

* remove old exception handler

* remove line

* add example to dev for testing

Co-authored-by: Talley Lambert <[email protected]>
Co-authored-by: Juan Nunez-Iglesias <[email protected]>
* Add a size preview slider widget

* Add tests

* Fix precommit style
* Update preferences dialog style

* Update manager and preferences options

* Fix tests

* Add localization to settings titles

* Add appearance settings and update attributes on manager for IDE access

* Fix conflicts and update defaults
Co-authored-by: Juan Nunez-Iglesias <[email protected]>
Co-authored-by: Matthias Bussonnier <[email protected]>
* Add initial welcome screen on canvas

* Use secondary color for napari logo on welcome screen and remove oll vispy welcome paths

* change with theme

* Hook svg image change on theme change

* Fix logic for displaying welcome screen

* Fix tests

* Remove debug code

* Fix and run tests again

* trim

* Fix tests

* Go back to signals

* Update code and remove welcome kwarg

* Fix review comments

* Fix canvas test and add try except for test failing on teardown

* Add a skip local

Co-authored-by: Talley Lambert <[email protected]>
* add tracks icon, fix visibility icon

* add test

* release notes
* start replacing range slider

* wip

* wip

* getting closer

* non-blocking dialog

* pretty good

* more cleanup

* add dep

* newline

* wip

* bump version

* fix precision

* fix test

* update test

* fix precision

* add tooltip

* styles

* use superqt

* remove version pin

* Update napari/_qt/widgets/qt_range_slider_popup.py

Co-authored-by: Juan Nunez-Iglesias <[email protected]>

Co-authored-by: Juan Nunez-Iglesias <[email protected]>
* replace

* styles

* add dependency

* bump

* proper double slider

* fix font size

* use superqt

* remove version pin
* add initial work for keyboard shortcuts UI in preference dialog

* in progress.  can change shortcut, will save in settings, will display warning

* activate drop down menu to show layers shortcuts

* enable reset shortcuts button

* making progress

* update warning icon.  re-work table

* handle case where you delete a shortcut and don't replace

* save in settings

* update shortcuts to use symbols.  remove lines in table

* update validations.  improve the key press events

* updates to keypress events

* may not need section

* move methods.  fix error when binding shortcut

* rearrange a bit

* make cancel and restore work.  fix bug for plugin sorter. clean up.

* fix bug

* clean up.  add comments and docstrings

* add test file

* remove duplicate method

* change regex

* fix regex

* revert interactions.py file

* add fix for tests

* add comments

* handle invalid shortcuts more gracefully

* add comments

* remove commented line.  update docstring
* Add placeholder progress bar dock

* Add prototype progress bar dock and code to take progress bar widgets and place them in the dock

* Tidying up

* Starting to implement a decorator for tqdm for use in napari

* Starting to implement a decorator for tqdm for use in napari

* Remove internal reference to progress

* Add skeleton infrastructure for global progress bars

* Implement set_total and set_value for pbar

* Implement basic ProgressBar API and higher level progress API

* Add convenience methods for showing, hiding and deleting progress bar

* Inspect stack for initial pbar description

* Add examples for different progress bars

* Add some comments to example

* Add description setter

* Add another example

* small example tweaks

* Add increment and decrement methods

* Update API to match tqdm more closely

* Add __len__ to progress

* Modify progress to inherit from tqdm

* Update ProgressBar to inherit from QWidget()

* Split tqdm and pbar kwargs, add ETA to pbar

* Remove examples for now

* Add some documentation

* Add tests for progress

* Update napari/layers/shapes/shapes.py

Co-authored-by: Matthias Bussonnier <[email protected]>

* Update napari/_qt/utils.py

Co-authored-by: Matthias Bussonnier <[email protected]>

* Add cell thresholding example

* Add context manager example

* Add more explanation

* Change example to first threshold and then segment

* Remove thresholds with very poor segmentation results

* Add manual update example

* Formatting

* More tidy up

* Add QApplication import back to notification

* Import qtpy not PyQt5

* Move progress import to see if it fixes tests

* isort fix

* Don't close if already closed

* Small tweaks

* Use importorskip for qtpy

Co-authored-by: Talley Lambert <[email protected]>

* Use absolute import for testing

Co-authored-by: Talley Lambert <[email protected]>

* Define context manager for testing addition of ProgressBar to viewer

Co-authored-by: Talley Lambert <[email protected]>

* Fix and add a few more tests

* Remove erroneous break leftover from merge

* add progrange shorthand for progress(range(n))

* Get etas by trimming formatted ascii bar

* Remove potentially costly 'in' check

* Remove method entirely since we just need this for display

* Add examples and fix indeterminate progress bar etas

* Basic incorporation with thread-worker

* Remove crazy asterisk import

* Add option to exceed total

* Add a few tests for threading

* Add example for progress with threading

* Add beginnings of nesting logic

* Add support for nesting progress bars

* Add minimal nested example

* Add tests for nested progress

* Make basic ActivityDialog and remove ActivityDock

* Add progress bars to activity dialog

* Pull out move_to_bottom_right from notifications and use to move activity_dialog

* Add progress bars to scrollable area

* Add title bar styling for activity dock

* Add hover to activity button

* Layout bars in grid to align

* Reverting nesting logic

* Tweak examples to always use a context manager

* Set total to 0 when it's None, update example

* Clean up segmentation example

* Move ProgressBar to qt widgets

* Move qt import into __init__ to avoid failing when running in headless

* Fix activityDock layout

* Fix adding pbar to layout

* Use QMainWindow.current instead of get_viewer_instance

* Add nesting back in after merge

* Fix styling after merge

* Revert blank line change to clean up diff

* Remove stack inspection for setting description

* Switch context var to ID of pbar widget

* Store ref to parent pbar group in contextvar for easy retrieval

* Tidy up if statement, add docstring for progrange

* Add tqdm dependency

* Remove tqdm from release dependencies

* Move progress to _qt

* Fix import after move to _qt

* Set canvas parent to activity dock parent

* Revert changes to notifications

* Fix moving to canvas offset

* Add opacity effect

* Add separator for ProgressBarGroups

* Moveprogress into qprogress

* Replace progress with qprogress, fix import in threading

* Fix test after adding separator to nested groups

* Fix pyqt import

* Add option to pass progress bar description

* Add test for description

* If no total is passed, make pbar indeterminate

* Fix insertion index for nested progress bars

* Translate error

* Fix import order

* Fix tests

* Mostly fix notifications always on top

* Add progress indicator when activity dialog has something in it

* Make indicator work with multiple progress bars

* Add test for indicator

* Change widget attributes to private and follow qt naming convention

* Fix activity dock toggle to behave correctly when toggled programmatically

* Add height to activity dialog to fit 3 progress bars before scroll

* Add closed signal to ProgressBarGroups and connect hiding progress indicator

* Add names to example dock widgets

* Add activity dock to view menu

* Try to narrow down test failures - comment out indicator

* Don't emit closed signals

* Don't connect

* Emit but don't connect

* Connect simple function that hides indicator

* Add check before hide

* Add check before hide

* Try starting and stopping movie on show and hide

* Don't start movie before necessary

* Add test and visibility logic back in

* Remove commented out line

* Add missing docstrings for custom widgets

* Remove closed signal and connect to pbar destroyed instead

* Set icon size to smaller, remove commented out line

* Update napari/_qt/dialogs/activity_dialog.py

Co-authored-by: Juan Nunez-Iglesias <[email protected]>

* Comment out sleep calls in segmentation example

* Clarify hiding progress indicator docstring

* Change underscore parameter to event to be more explicit

* Update napari/_qt/dialogs/activity_dialog.py

Co-authored-by: Juan Nunez-Iglesias <[email protected]>

Co-authored-by: Matthias Bussonnier <[email protected]>
Co-authored-by: Talley Lambert <[email protected]>
Co-authored-by: Juan Nunez-Iglesias <[email protected]>
* initial labels iso rendering

* add subset for image and labels Rendering

* update Image layer controls

* add rendering combobox to labels layer controls

* add rendering to Labels init

* add rendering to Labels init

* clean up iso_categorical shader

* clarify shader comment

* add rendering to _get_state

* use u_threshold for backgorund

* threshold -> tolerance

* remove unused first arg from `detectAdjacentBackground()`

* refator class method names

* threshold -> tolerance

* fix docstring typo

Co-authored-by: alisterburt <[email protected]>

* convert background and tolerance to const

* fix typo

* set iso_categorical as default rendering mode

* fix layer controls height

* fix rendering combobox visibility

Co-authored-by: Alister Burt <[email protected]>
…#3067)

* Allow for multiple installs and update buttons to reflect state

* Use separate process and improve logic

* Remove stray comments
* adding in initial grid pop up

* make all connections between pref dialog, settings and widget.  start work on help tool tips

* clean up help buttons on widget

* clean up. rearrange

* adjustments to skip zero in pref dialog.  minor edits

* Update napari/_qt/widgets/qt_viewer_buttons.py

Co-authored-by: Talley Lambert <[email protected]>

* Update napari/_qt/widgets/qt_viewer_buttons.py

Co-authored-by: Talley Lambert <[email protected]>

* Update napari/_qt/widgets/qt_viewer_buttons.py

Co-authored-by: Talley Lambert <[email protected]>

* Update napari/_qt/widgets/qt_viewer_buttons.py

Co-authored-by: Talley Lambert <[email protected]>

* update qt spinbox to skip value

* update grid options in model

* add validation method

* add validation method

* fixes.  connect change in settings to viewer to make pop up changes

* edit tooltip

* suggestions

* remove hardcode from grid pop up

* match gridCanvas to settings types

* take out updates to grid settings

* move update to viewer after settings change into viewer_model.py

* rearrange grid settings

* rearrange defaults, imports

* change import

* remove file

Co-authored-by: Talley Lambert <[email protected]>
* add autoscale to gui

* autoscale on check

* add mode to surface

* make private

* remove line

* remove slice/data buttons
* Add hook specification to add new themes, icons and stylesheets

- added new hook specification to allow addition of new themes, icons and stylesheets to napari
- minor improvements to how qt resources are loaded

* Update docstrings

- updated docstrings

* WIP: added evented dict container, split hook spec into three hooks

- split the hook implementation into three separate hooks (qss, icons and theme)
- added new container class: `EventedDict` and `TypedMutableMapping` so we can migrate themes to an evented class
- refactored how theme plugin data is read

* Theme dict is now evented, immediate updates to stylesheet

- theme dict is now an evented model
- changes to any theme data will result in immediate update of the stylesheet
- minor bug fix to the evented dict not propagating child events

* Themes now reflect state of plugin, preferences shows all available themes

- themes are now dynamically updated whenever a plugin is enabled/disabled/removed
- theme dropdown is now updated whenever new theme is added/removed
- plugin manager now displays more useful information if theme data failed validation

* Icon colors can be changed dynamically

- fixed issue in settings tests (the test should have always failed since it was passing wrong data to the `register_theme` function)
- found a workaround for dynamically updating icon colors without causing crash...

* Tidy up

- removed unused code

* [WIP] Add pydantic-based Theme, refactor theme

- added pydantic-based Theme class with better validation of values
- modified the way `get_theme` is retrieved. Currently it will trigger warnings whenever somebody calls it which might not be desired
- removed the `palettes` warning from utils/theme.py since it was meant to be removed in 0.4.6

* Update qt_main_window.py

- existing themes will now be properly connected at startup

* Added theme tests, theme improvements

- removed custom Themes model since its not necessary
- added a couple extra tests to handle new theme model (wip)
- improved docs regarding new theme hooks

* Temporarily remove evented dict

* Minor improvements

- changes to canvas/console and syntax style will now immediately update the ui
- minor changes to Theme model

* Disabled warning

* Update vispy_canvas.py

* Minor bug fixes

Fixes to `UserWarning` warnings when transforming color to 0-1 scale

* Remove icons/stylesheet hooks

- temporarily remove stylesheet/icon hooks
- rename `napari_experimenta_provide_theme` to `napari_provide_theme` hook spec
- auto-format few pesky files

* Tidy up

- remove unused files
- minor bug fixes and typos

* Update docs

* Disconnect event

- explicitly disconnect the theme event in `qt_about_key_bindings` dialog

* Update test_qt_about_key_bindings.py

* Tidied up, removed unnecessary methods, simplified behaviour

- Add examples to the hook specification
- Removed unnecessary methods
- Added console `style_syntax` validation method
- Changed `napari_provide_theme` signature
- Added more tests

* Bring up to date

* Improved testing and theme validation

- the `_theme_data` dict on plugin manager now stores the `Theme` object
- improved theme validation
- improved tests

* Changed qt resources hash calculation

- changed the way qt resources hash is computed
- fixed potential future bug where the `os.path` could be overwritten by variable named `path`

* Added more tests, few bug fixes and general improvements

- renamed `folder` to `name` in the Theme model
- renamed `folder` to `name` in the stylesheet templates
- disabled memory hungry test
- added more tests for the plugin hookspec behaviour
- removed unnecessary methods from the MainWindow
- removed unused code
- added docs

* Brought up to date with master

* Added more tests

- removed unused method
- added more tests

* Fixed tests

* Bug fix?

* Undo auto-formatting

* Undo auto-formatting

* Renamed hook spec, fixed warning, removed example

- removed the `theme_plugin` example implementation - one can be found in the docs
- renamed `napari_provide_theme` to `napari_experimental_provide_theme`
- added catch warning to prevent qtconsole warnings at the start

* Bring up to date

* Fix failed test

* Temporarily disable few tests...

* Disable more tests

* Undo disable tests

* Bring up to date

* Update qt_main_window.py

* Uncomment all tests

* Update 02_custom.qss

* Update qt_main_window.py
…369)

* Add cancel option to install dialog actions

* Update plugin dialog interactions and ability to cancel processes

* Update update logic

* Add typing information
* add new toolbar button

* backtrack part way to make fix for window menu

* only have hide option for non-plugin dock widgets.  send signals appropriately to update check box on menus

* revert qt_viewer changes

* more fixes

* clean up

* add comment

* updates

* fix test

* update toggle

* add test

* remove duplicated code

* minor update
goanpeca and others added 19 commits May 29, 2024 17:47
* USe napari hub api to list plugins

* Fix typing error

* Fix typing

* Use package metadata model from np2

* Adding plugin api options

* Fix issue with extension to reader

* Update plugin visibility based on hub/pypi and conda usage

* Replace standard_metadata

* Hide plugin api option on bundles

* Fix install/uninstall with conda/mamba

* Remove py37 support on import of matadata

Co-authored-by: Talley Lambert <[email protected]>

* Fix type hints

* Run precommits and update warning message

* Fix typing errors

* Update warning message

Co-authored-by: Talley Lambert <[email protected]>
* remove size constraint to allow resizing of builtin dock widgets

* prettier separators

* better svgs

* fix dock size
* no longer compile resources

* more fixes

* misc other updates

* use qtpy main

* block signal when changing

* undo qtpy change

* remove print

* update qss

* more styles fixes

* update gitignore

* fix overload

* fix image reshape for pyside6

* fix more tests in _qt

* fix pos()

* fix examples tests

* remove icons altogether

* fix headless

* fix menus and globalPosition

* fix pyside6

* fix last pyqt6 test

* Update napari/__main__.py

Co-authored-by: Grzegorz Bokota <[email protected]>

* unskip console tests on qt6

* Update napari/_qt/qt_main_window.py

Co-authored-by: Andy Sweet <[email protected]>

* Update napari/resources/_icons.py

Co-authored-by: Andy Sweet <[email protected]>

* comments and fixes

* go back to bool

* add comment

* add back fix for point in scrollbar

Co-authored-by: Grzegorz Bokota <[email protected]>
Co-authored-by: Andy Sweet <[email protected]>
* confirm on close vol2

* add confirmation on close by alt+f4 or close button

* add tests

* fix tests
* Add `minimum` blending mode

* Add `minimum` blending mode

* Add simple test, as other blending modes

* Ensure transl_no_depth has a blend_eq (vispy#2324)

* Hide opacity slider for minimum blending mode

* Update napari/_qt/layer_controls/qt_layer_controls_base.py

Co-authored-by: Grzegorz Bokota <[email protected]>

* Update napari/_qt/layer_controls/qt_layer_controls_base.py

Co-authored-by: Grzegorz Bokota <[email protected]>

* Add test for show/hide opacitySlider

* Update all doc strings

* tooltip + layer.help for min blending

* add `minimum` blending example

* update layers guide

* Update napari/_vispy/utils/gl.py

* Disable and dim the opacity slider

* Fix tests for disable rather than hide

* Disable by matching color to right side of slider

* Dim SliderLabel text to be similar to the slider

* use QLabel for opacity and dim it

* Use self.opacityLabel for all layers

* end the example with a new line

Co-authored-by: Grzegorz Bokota <[email protected]>

* Add inverse colormaps from ChrisLUT

* Ignore case when sorting

* Add INVERSE_LUT to __init__

* naming: lut to cmap

* clarify comment re: opacity slider

* fix typo in I Purple

* Use added cmaps in the example

Co-authored-by: Grzegorz Bokota <[email protected]>
Co-authored-by: alisterburt <[email protected]>
…eme and add style entry for disabled widgets and menus (#5381)

* Add parent when creating layer context menu to inherit application theme

* Remove opacity for disabled widgets background color style

* Set border-color for disabled widgets to background

* Set selection-background-color to transparent for disabled widgets

* Swap border-color and background-color for disabled widgets style

* Apply suggestions from code review

Style for menu separators and padding

Co-authored-by: Peter Sobolewski <[email protected]>

* Move QModelMenu styles to 02_custom styles

Co-authored-by: Peter Sobolewski <[email protected]>
…/Conda subclasses (continued) (#5124)

The UI now takes a Queue of InstallerTasks, which can be either conda or pip based commands. Right now the UI still chooses one of the two for all actions depending on whether we are running from a conda bundle or not, but in a future iteration this should depend on which action button triggered the task.

This makes an Abstract interface that the package installers in the qt plugin dialog need to implement, then refactors out all the if/then conditionals of the old Installer class into two pip/conda subclasses. Also adds (new) tests for both cases.

Co-authored-by: aganders3 <[email protected]>
Co-authored-by: Grzegorz Bokota <[email protected]>
Co-authored-by: Talley Lambert <[email protected]>
Co-authored-by: Matthias Bussonnier <[email protected]>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Changes the plugin dialog to match the design discussed in #4952

Co-authored-by: Draga Doncila Pop <[email protected]>
Co-authored-by: Gonzalo Pena-Castellanos <[email protected]>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Grzegorz Bokota <[email protected]>
Co-authored-by: Daniel Althviz Moré <[email protected]>
Co-authored-by: Peter Sobolewski <[email protected]>
# Fixes/Closes

Closes #1417

# Description

This PR adds a new `font_size` attribute to the theme which is injected
sporadically throughout the stylesheets.

A fix for an issue on Windows (perhaps other OSs too?) that have
multiple high-res screens connected (and use PySide2 as the backend) was
done initially here but was moved to its own PR. See PR #5968

Before:
- text in the app is way too small to use

![image](https://user-images.githubusercontent.com/25161821/223431336-1358824b-ef92-4a4c-998b-6438535533e4.png)

After:
- text is of expected size and can be changed by changing the
`.font_size` attribute of the current theme

![image](https://user-images.githubusercontent.com/25161821/223431591-7c6cedf2-3e1d-48dd-bb69-f433e0f1b4f1.png)

## Type of change
<!-- Please delete options that are not relevant. -->
- [x] New feature (non-breaking change which adds functionality)

# How has this been tested?
<!-- Please describe the tests that you ran to verify your changes. -->
- [x] all tests pass with my change
- [x] I check if my changes works with both PySide and PyQt backends
      as there are small differences between the two Qt bindings.

Co-authored-by: Daniel Althviz Moré <[email protected]>
Co-authored-by: Matthias Bussonnier <[email protected]>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
# Description

The ability to roll through dimensions is a useful functionality in
`napari`. However, in many use cases, it is desirable to only roll
through or reorder the spatial dimensions. Particularly when dealing
with time-resolved data, the time dimension should remain fixed most of
the time. Currently, achieving this requires manually reordering the
dimensions, which can be a tedious process.

## Original Behaviour
In the current version, all dimensions are in the reorder dimensions
pop-up window are draggable, and users can freely reorder or roll
through them.

## New Behaviour
The dimensions in the reorder dimensions pop-up window have a lock
symbol in front of there name. If clicked the lock closes and the item
is no longer draggable. When rolling these dimensions will stay in place
while the other dimensions are rolled.

[lock_dimensions_demo](https://github.com/napari/napari/assets/56394171/8caeff74-b437-45bf-9ee2-c2967c0372f5)

# References

- vscode
- https://doc.qt.io/qt.html#qtforpython
- https://github.com/napari/docs

## Type of change

- [x] New feature (non-breaking change which adds functionality)
- [x] Enhancement (non-breaking improvements of an existing feature)
- [x] Documentation (update of docstrings and deprecation information)
- [x] This change requires a documentation update

# How has this been tested?

- added tests for all newly introduced / modified functions and classes
- added test for new functionality of `QtDimsSorter`
- reworked old tests of `QtDimsSorter` to match new structure

## Final checklist:
- [x] My PR is the minimum possible work for the desired functionality
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] If I included new strings, I have used `trans.` to make them
localizable.
For more information see our [translations
guide](https://napari.org/developers/translations.html).

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Andy Sweet <[email protected]>
Co-authored-by: Grzegorz Bokota <[email protected]>
Co-authored-by: Peter Sobolewski <[email protected]>
Co-authored-by: Peter Sobolewski <[email protected]>
@goanpeca goanpeca requested a review from jaimergp June 4, 2024 17:06
@goanpeca goanpeca merged commit e64646f into napari:main Jun 5, 2024
10 checks passed
@goanpeca goanpeca deleted the enh/move-qss branch June 5, 2024 23:35
@goanpeca goanpeca added the task Work around tooling / release / ci label Jul 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
task Work around tooling / release / ci
Projects
None yet
Development

Successfully merging this pull request may close these issues.