1
/* CopyToClipboardAction.cs
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/>.
24
using System.Collections.Generic;
33
namespace Do.Universe.Linux
36
public class CopyToClipboardAction : Act
39
public override string Name {
40
get { return Catalog.GetString ("Copy to Clipboard"); }
43
public override string Description {
44
get { return Catalog.GetString ("Copy current text to clipboard"); }
47
public override string Icon {
48
get { return "edit-paste"; }
51
public override IEnumerable<Type> SupportedItemTypes {
52
get { yield return typeof (Item); }
55
public override IEnumerable<Item> Perform (IEnumerable<Item> items, IEnumerable<Item> modItems)
58
Item item = items.First ();
60
if (item is ITextItem)
61
text = (item as ITextItem).Text;
63
text = string.Format ("{0} - {1}", item.Name, item.Description);
65
Clipboard.Get (Gdk.Selection.Clipboard).Text =
66
Clipboard.Get (Gdk.Selection.Primary).Text = text;