3
* GNOME Do is the legal property of its developers. Please refer to the
4
* COPYRIGHT file distributed with this
7
* This program is free software: you can redistribute it and/or modify
8
* it under the terms of the GNU General Public License as published by
9
* the Free Software Foundation, either version 3 of the License, or
10
* (at your option) any later version.
12
* This program is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
* GNU General Public License for more details.
17
* You should have received a copy of the GNU General Public License
18
* along with this program. If not, see <http://www.gnu.org/licenses/>.
23
using System.Text.RegularExpressions;
29
namespace GMailContacts
31
public class GMailConfig : AbstractLoginWidget
33
const string EmailPattern = @"[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\."
34
+ @"[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*"
35
+ @"[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?";
37
const string Uri = "https://www.google.com/accounts/NewAccount?service=cl";
39
public GMailConfig() : base ("GMail")
41
GetAccountButton.Uri = Uri;
44
protected override bool Validate (string username, string password)
46
if (ValidateUsername (username) && password.Length >= 8)
47
return GMail.TryConnect (username, password);
51
private bool ValidateUsername (string username)
53
return new Regex (EmailPattern,
54
RegexOptions.Compiled).IsMatch (username);
b'\\ No newline at end of file'