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/>.
22
using System.Collections.Generic;
28
public class DoActionSource : DoObject, IActionSource {
32
public DoActionSource (IActionSource source):
38
public void UpdateActions ()
41
(Inner as IActionSource).UpdateActions ();
42
} catch (Exception e) {
43
LogError ("UpdateActions", e);
47
public ICollection<IAction> Actions
50
List<IAction> actions;
51
ICollection<IAction> innerActions = null;
52
IActionSource source = Inner as IActionSource;
54
actions = new List<IAction> ();
56
innerActions = source.Actions;
57
// Copy the collection:
58
if (null != innerActions)
59
innerActions = new List<IAction> (innerActions);
60
} catch (Exception e) {
61
LogError ("Actions", e);
63
innerActions = innerActions ?? new IAction [0];
66
foreach (IAction action in innerActions) {
67
if (action is DoAction)
70
actions.Add (new DoAction (action));
78
get { return enabled; }
79
set { enabled = value; }