private void _clientFilterAddButton_Click(object sender, RoutedEventArgs e)
{
if (_clientFiltersConditionTextBox.Text == "") return;
try
{
var connectionType = (ConnectionType)_clientFiltersConnectionTypeComboBox.SelectedItem;
var uriCondition = new UriCondition(_clientFiltersConditionTextBox.Text);
string proxyUri = null;
string option = null;
if (!string.IsNullOrWhiteSpace(_clientFiltersProxyUriTextBox.Text))
{
proxyUri = _clientFiltersProxyUriTextBox.Text;
if (!Regex.IsMatch(proxyUri, @"^(.+?):(.+)$")) return;
}
if (connectionType == ConnectionType.Socks5Proxy
|| connectionType == ConnectionType.HttpProxy)
{
if (proxyUri == null) return;
}
if (!string.IsNullOrWhiteSpace(_clientFiltersOptionTextBox.Text))
{
option = _clientFiltersOptionTextBox.Text;
}
var connectionFilter = new ConnectionFilter(connectionType, proxyUri, uriCondition, option);
if (_clientFilters.Any(n => n == connectionFilter)) return;
_clientFilters.Add(connectionFilter);
}
catch (Exception)
{
}
_clientFiltersListViewUpdate();
}