Repository: spyder-ide/spyder

Issue:
Error after saving layouts
## Description

### What steps will reproduce the problem?

<!--- You can use Markdown here --->

idk... but mabye set to matlab layout and move around some windows... then saved layout... and it failed

### Traceback
```python-traceback
Traceback (most recent call last):
  File "C:\Users\Jonas\AppData\Local\Programs\Spyder\pkgs\spyder\plugins\layout\container.py", line 131, in <lambda>
    triggered=lambda: self.show_save_layout(),
  File "C:\Users\Jonas\AppData\Local\Programs\Spyder\pkgs\spyder\plugins\layout\container.py", line 307, in show_save_layout
    self.save_current_window_settings('layout_{}/'.format(index),
AttributeError: 'LayoutContainer' object has no attribute 'save_current_window_settings'
```

## Versions

* Spyder version: 5.0.0 
* Python version: 3.7.9
* Qt version: 5.12.10
* PyQt5 version: 5.12.3
* Operating System: Windows 10

### Dependencies

```

# Mandatory:
atomicwrites >=1.2.0          :  1.4.0 (OK)
chardet >=2.0.0               :  4.0.0 (OK)
cloudpickle >=0.5.0           :  1.6.0 (OK)
cookiecutter >=1.6.0          :  1.7.2 (OK)
diff_match_patch >=20181111   :  20200713 (OK)
intervaltree                  :  None (OK)
IPython >=7.6.0               :  7.22.0 (OK)
jedi =0.17.2                  :  0.17.2 (OK)
jsonschema >=3.2.0            :  3.2.0 (OK)
keyring >=17.0.0              :  23.0.1 (OK)
nbconvert >=4.0               :  6.0.7 (OK)
numpydoc >=0.6.0              :  1.1.0 (OK)
paramiko >=2.4.0              :  2.7.2 (OK)
parso =0.7.0                  :  0.7.0 (OK)
pexpect >=4.4.0               :  4.8.0 (OK)
pickleshare >=0.4             :  0.7.5 (OK)
psutil >=5.3                  :  5.8.0 (OK)
pygments >=2.0                :  2.8.1 (OK)
pylint >=1.0                  :  2.7.4 (OK)
pyls >=0.36.2;<1.0.0          :  0.36.2 (OK)
pyls_black >=0.4.6            :  0.4.6 (OK)
pyls_spyder >=0.3.2           :  0.3.2 (OK)
qdarkstyle =3.0.2             :  3.0.2 (OK)
qstylizer >=0.1.10            :  0.1.10 (OK)
qtawesome >=0.5.7             :  1.0.2 (OK)
qtconsole >=5.0.3             :  5.0.3 (OK)
qtpy >=1.5.0                  :  1.9.0 (OK)
rtree >=0.8.3                 :  0.9.4 (OK)
setuptools >=39.0.0           :  54.2.0 (OK)
sphinx >=0.6.6                :  3.5.3 (OK)
spyder_kernels >=2.0.1,<2.1.0 :  2.0.1 (NOK)
textdistance >=4.2.0          :  4.2.1 (OK)
three_merge >=0.1.1           :  0.1.1 (OK)
watchdog                      :  1.0.2 (OK)
zmq >=17                      :  22.0.3 (OK)

# Optional:
cython >=0.21                 :  0.29.22 (OK)
matplotlib >=2.0.0            :  3.4.1 (OK)
numpy >=1.7                   :  1.19.3 (OK)
pandas >=1.1.1                :  1.2.3 (OK)
scipy >=0.17.0                :  1.6.2 (OK)
sympy >=0.7.3                 :  1.7.1 (OK)
```



Discussion:
Hey @jonaswagner2826, thanks for reporting.

@dalthviz, please take a look at this one to see if you can reproduce it.
I've never reported an error before through GitHub so I'm not entirely sure
how useful my comments would have been.... I had a lot of problems with
updating to 5.0.0 using conda, so I tried installing it directly using the
exe from the spyder website, and thats where this issue came from... after
sending the error message I ended up uninstalling both the spyder install
and reinstalling all of anaconda (and clearing all the residual files). One
reinstalling anaconda I was then able to update to 5.0.0 and this issue
wasn't a problem anymore, but that may just have something to do with my
non-anaconda python install.

On Mon, Apr 5, 2021 at 10:41 PM Carlos Cordoba ***@***.***>
wrote:

> Hey @jonaswagner2826 <https://github.com/jonaswagner2826>, thanks for
> reporting.
>
> @dalthviz <https://github.com/dalthviz>, please take a look at this one
> to see if you can reproduce it.
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/spyder-ide/spyder/issues/15129#issuecomment-813798940>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/ALJOYOAR4VUUIFTYJ4HT2ZDTHJ7HHANCNFSM42NX2LEA>
> .
>

It's ok @jonaswagner2826, and thanks for taking the time reporting the problem you saw above. @dalthviz will try to reproduce it with the description you give us above. If that's not possible, he'll close this issue.
Hi @jonaswagner2826 @ccordoba12 I was able to reproduce this. Will do a fix!

Resolving patch:
diff --git a/spyder/plugins/layout/container.py b/spyder/plugins/layout/container.py
--- a/spyder/plugins/layout/container.py
+++ b/spyder/plugins/layout/container.py
@@ -304,8 +304,8 @@ def show_save_layout(self):
                 active.append(name)
 
             if answer:
-                self.save_current_window_settings('layout_{}/'.format(index),
-                                                  section='quick_layouts')
+                self._plugin.save_current_window_settings(
+                    'layout_{}/'.format(index), section='quick_layouts')
                 self.set_conf('names', names)
                 self.set_conf('order', order)
                 self.set_conf('active', active)


Test patch: