settings dialogs refactoring