131
by Alex Launi
Fix null error and config in GMail |
1 |
/* GMailConfig.cs
|
2 |
*
|
|
3 |
* GNOME Do is the legal property of its developers. Please refer to the
|
|
4 |
* COPYRIGHT file distributed with this
|
|
5 |
* source distribution.
|
|
6 |
*
|
|
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.
|
|
11 |
*
|
|
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.
|
|
16 |
*
|
|
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/>.
|
|
19 |
*/
|
|
20 |
||
21 |
||
22 |
using System; |
|
23 |
using System.Text.RegularExpressions; |
|
24 |
||
25 |
using Gtk; |
|
26 |
using Do.UI; |
|
27 |
using Do.Addins; |
|
28 |
||
29 |
namespace GMailContacts |
|
30 |
{
|
|
31 |
public class GMailConfig : AbstractLoginWidget |
|
32 |
{
|
|
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])?"; |
|
36 |
||
37 |
const string Uri = "https://www.google.com/accounts/NewAccount?service=cl"; |
|
38 |
||
39 |
public GMailConfig() : base ("GMail") |
|
40 |
{
|
|
41 |
GetAccountButton.Uri = Uri; |
|
42 |
}
|
|
43 |
||
44 |
protected override bool Validate (string username, string password) |
|
45 |
{
|
|
46 |
if (ValidateUsername (username) && password.Length >= 8) |
|
47 |
return GMail.TryConnect (username, password); |
|
48 |
return false; |
|
49 |
}
|
|
50 |
||
51 |
private bool ValidateUsername (string username) |
|
52 |
{
|
|
53 |
return new Regex (EmailPattern, |
|
54 |
RegexOptions.Compiled).IsMatch (username); |
|
55 |
}
|
|
56 |
}
|
|
57 |
}
|