~ubuntu-branches/ubuntu/precise/gnome-do/precise-proposed

« back to all changes in this revision

Viewing changes to Do.Addins/src/Do.Universe/MailtoAction.cs

  • Committer: Bazaar Package Importer
  • Author(s): Christopher James Halse Rogers
  • Date: 2008-09-14 10:09:40 UTC
  • mto: (0.1.8 sid)
  • mto: This revision was merged to the branch mainline in revision 7.
  • Revision ID: james.westby@ubuntu.com-20080914100940-kyghudg7py14bu2z
Tags: upstream-0.6.0.0
ImportĀ upstreamĀ versionĀ 0.6.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
//  MailtoAction.cs
2
 
//
3
 
//  GNOME Do is the legal property of its developers, whose names are too numerous
4
 
//  to list here.  Please refer to the 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
 
using System;
21
 
using Mono.Unix;
22
 
 
23
 
using Do.Addins;
24
 
 
25
 
namespace Do.Universe
26
 
{
27
 
        public class MailtoAction : AbstractAction
28
 
        {
29
 
                public override string Name
30
 
                {
31
 
                        get { return Catalog.GetString ("Email"); }
32
 
                }
33
 
                
34
 
                public override string Description
35
 
                {
36
 
                        get { return Catalog.GetString ("Compose a new email to a friend."); }
37
 
                }
38
 
                
39
 
                public override string Icon
40
 
                {
41
 
                        get { return "email"; }
42
 
                }
43
 
                
44
 
                public override Type[] SupportedItemTypes
45
 
                {
46
 
                        get {
47
 
                                return new Type[] {
48
 
                                        typeof (ContactItem),
49
 
                                };
50
 
                        }
51
 
                }
52
 
 
53
 
                public override bool SupportsItem (IItem item)
54
 
                {
55
 
                        ContactItem contact = item as ContactItem;
56
 
                        foreach (string detail in contact.Details)
57
 
                                if (detail.StartsWith ("email"))
58
 
                                        return true;
59
 
                        return false;
60
 
                }
61
 
                
62
 
                public override IItem[] Perform (IItem[] items, IItem[] modifierItems)
63
 
                {
64
 
                        string to;
65
 
                        
66
 
                        to = "";
67
 
                        foreach (IItem item in items) {
68
 
                                if (item is ContactItem) {
69
 
                                        ContactItem contact = item as ContactItem;
70
 
                                        string email = contact["email"];
71
 
                                        
72
 
                                        if (null == email) {
73
 
                                                foreach (string detail in contact.Details) {
74
 
                                                        if (detail.StartsWith ("email")) {
75
 
                                                                email = contact[detail];
76
 
                                                                break;
77
 
                                                        }
78
 
                                                }
79
 
                                        }
80
 
                                        to += email + ",";
81
 
                                }
82
 
                        }
83
 
                        Util.Environment.Open ("mailto:" + to);
84
 
                        return null;
85
 
                }
86
 
        }
87
 
}