Sorry, I was looking at the other case, when self.needs_restart = False .  What if...

- user changes color -> needs_restart is set to True
- user changes nick -> needs_restart is set to True
- user changes nick back to original -> needs_restart is set to False

The dialog will not require restart, even when the color has changed.