Repository: napari/napari

Issue:
Make Window-Closing warning less alarming than errors
## 🐛 Bug

Currently, the warning when closing napari has a red symbol:

![image](https://user-images.githubusercontent.com/12660498/195305487-c1569644-0db4-47b0-9f16-c020db7b5008.png)

As discussed in this issue, errors messages are supposed to have red icons, warnings have yellow sign.
* https://github.com/napari/napari/issues/3732

## To Reproduce

Steps to reproduce the behavior:

1. Start napari 
2. close the window.

<!-- If you have a code sample, error messages, stack traces, please provide it here as well -->

## Expected behavior

I propose to use the yellow warning sign, that's also used for other warnings. 

## Environment

 - Please copy and paste the information at napari info option in help menubar here:

 - Any other relevant information:

## Additional context

<!-- Add any other context about the problem here. -->
```
napari: 0.4.17rc4
Platform: Windows-10-10.0.19044-SP0
Python: 3.9.13 | packaged by conda-forge | (main, May 27 2022, 16:51:29) [MSC v.1929 64 bit (AMD64)]
Qt: 5.15.2
PyQt5: 5.15.4
NumPy: 1.22.4
SciPy: 1.8.1
Dask: 2022.7.1
VisPy: 0.11.0
magicgui: 0.5.1
superqt: 0.3.3
in-n-out: 0.1.5
app-model: 0.0.9
npe2: 0.6.1

OpenGL:
- GL version: 4.6.0 NVIDIA 512.78
- MAX_TEXTURE_SIZE: 32768

Screens:
- screen 1: resolution 1920x1200, scale 1.0

```


Discussion:
Agree, but It requires someone else work to add proper icons to the napari codebase. 

The icons are set here:
https://github.com/napari/napari/blob/256698021de3a8ff876d38e6f4462df4671efd3b/napari/_qt/dialogs/confirm_close_dialog.py#L26-L45
Hi, I think I could give this a try, maybe this is how the dialog should look like?:

|Before|After|
|--|--|
|![imagen](https://user-images.githubusercontent.com/16781833/209380775-cfd916ee-8b27-4ea0-bbc1-e83406b5960a.png)|![imagen](https://user-images.githubusercontent.com/16781833/209379372-e457a116-0fcb-488d-bc08-abd4f68e49f4.png)|

Also, seems like there is a variation when using the `Exit` action (changes the dialog text and uses the error icon), could be worthy to also change it and make the button match the icon shown in the left?:

|Before|After|
|--|--|
|![imagen](https://user-images.githubusercontent.com/16781833/209380905-c2639d2c-d8ea-4867-ba93-628f9f9a39ee.png)|![imagen](https://user-images.githubusercontent.com/16781833/209380272-0865e482-dbe7-4eac-982a-8f251488b5c5.png)|



Resolving patch:
diff --git a/napari/_qt/dialogs/confirm_close_dialog.py b/napari/_qt/dialogs/confirm_close_dialog.py
--- a/napari/_qt/dialogs/confirm_close_dialog.py
+++ b/napari/_qt/dialogs/confirm_close_dialog.py
@@ -31,6 +31,7 @@ def __init__(self, parent, close_app=False):
                     QKeySequence.NativeText
                 ),
             )
+            close_btn.setObjectName("error_icon_btn")
             close_btn.setShortcut(QKeySequence('Ctrl+Q'))
             icon_label.setObjectName("error_icon_element")
         else:
@@ -41,6 +42,7 @@ def __init__(self, parent, close_app=False):
                     QKeySequence.NativeText
                 ),
             )
+            close_btn.setObjectName("warning_icon_btn")
             close_btn.setShortcut(QKeySequence('Ctrl+W'))
             icon_label.setObjectName("warning_icon_element")
 
diff --git a/napari/resources/_icons.py b/napari/resources/_icons.py
--- a/napari/resources/_icons.py
+++ b/napari/resources/_icons.py
@@ -166,7 +166,11 @@ def build_theme_svgs(theme_name: str, source) -> str:
         svg_paths=ICONS.values(),
         colors=[(theme_name, 'icon')],
         opacities=(0.5, 1),
-        theme_override={'warning': 'warning', 'logo_silhouette': 'background'},
+        theme_override={
+            'warning': 'warning',
+            'error': 'error',
+            'logo_silhouette': 'background',
+        },
     )
     with (out / PLUGIN_FILE_NAME).open('w') as f:
         f.write(source)
diff --git a/napari/utils/theme.py b/napari/utils/theme.py
--- a/napari/utils/theme.py
+++ b/napari/utils/theme.py
@@ -57,7 +57,9 @@ class Theme(EventedModel):
     text : Color
         Color used to display text.
     warning : Color
-        Color used to indicate something is wrong.
+        Color used to indicate something needs attention.
+    error : Color
+        Color used to indicate something is wrong or could stop functionality.
     current : Color
         Color used to highlight Qt widget.
     """
@@ -75,6 +77,7 @@ class Theme(EventedModel):
     text: Color
     icon: Color
     warning: Color
+    error: Color
     current: Color
 
     @validator("syntax_style", pre=True)
@@ -335,7 +338,8 @@ def rebuild_theme_settings():
     highlight='rgb(106, 115, 128)',
     text='rgb(240, 241, 242)',
     icon='rgb(209, 210, 212)',
-    warning='rgb(153, 18, 31)',
+    warning='rgb(227, 182, 23)',
+    error='rgb(153, 18, 31)',
     current='rgb(0, 122, 204)',
     syntax_style='native',
     console='rgb(18, 18, 18)',
@@ -351,7 +355,8 @@ def rebuild_theme_settings():
     highlight='rgb(163, 158, 156)',
     text='rgb(59, 58, 57)',
     icon='rgb(107, 105, 103)',
-    warning='rgb(255, 18, 31)',
+    warning='rgb(227, 182, 23)',
+    error='rgb(255, 18, 31)',
     current='rgb(253, 240, 148)',
     syntax_style='default',
     console='rgb(255, 255, 255)',


Test patch: