public void ChangeSettings(ISettingsView settingsView)
        {
            SettingsViewPresenter settingsViewPresenter = new SettingsViewPresenter(settingsView, Program.GetProxyInfo());

            settingsViewPresenter.Port            = listener.Port;
            settingsViewPresenter.IgnoredUsedPort = listener.Port;
            settingsViewPresenter.Show();

            if ((!settingsViewPresenter.Canceled) && (SettingsHaveChanged(settingsViewPresenter)))
            {
                Program.SaveSettings(settingsViewPresenter.ProxyInformation, settingsViewPresenter.Port);
                ApplyNewSettings(settingsViewPresenter.ProxyInformation, settingsViewPresenter.Port);
            }
        }
 private bool SettingsHaveChanged(SettingsViewPresenter presenter)
 {
     return(presenter.Port != listener.Port ||
            presenter.ProxyInformation != Program.GetProxyInfo());
 }