~ubuntu-branches/ubuntu/oneiric/monodevelop/oneiric-updates

« back to all changes in this revision

Viewing changes to src/addins/MonoDevelop.GtkCore/libstetic/editor/IconSelectorMenu.cs

  • Committer: Bazaar Package Importer
  • Author(s): Jo Shields
  • Date: 2009-02-18 08:40:51 UTC
  • mfrom: (1.2.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20090218084051-gh8m6ukvokbwj7cf
Tags: 1.9.2+dfsg-1ubuntu1
* Merge from Debian Experimental (LP: #330519), remaining Ubuntu changes:
  + debian/control:
    - Update for Gnome# 2.24
    - Add libmono-cairo1.0-cil to build-deps to fool pkg-config check

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
 
2
using System;
 
3
using System.Reflection;
 
4
using System.Collections;
 
5
using Mono.Unix;
 
6
 
 
7
namespace Stetic.Editor
 
8
{
 
9
        public class IconSelectorMenu: Gtk.Menu
 
10
        {
 
11
                IProject project;
 
12
                
 
13
                public event IconEventHandler IconSelected;
 
14
                
 
15
                public IconSelectorMenu (IProject project)
 
16
                {
 
17
                        this.project = project;
 
18
                        
 
19
                        // Stock icon selector
 
20
                        IconSelectorMenuItem selStock = new IconSelectorMenuItem (new StockIconSelectorItem ());
 
21
                        selStock.IconSelected += OnStockSelected;
 
22
                        Insert (selStock, -1);
 
23
                        
 
24
                        // Project icon selector
 
25
                        if (project != null && project.IconFactory.Icons.Count > 0) {
 
26
                                IconSelectorMenuItem selProject = new IconSelectorMenuItem (new ProjectIconSelectorItem (project));
 
27
                                selProject.IconSelected += OnStockSelected;
 
28
                                Insert (selProject, -1);
 
29
                        }
 
30
                        
 
31
                        Insert (new Gtk.SeparatorMenuItem (), -1);
 
32
                        
 
33
                        Gtk.MenuItem it = new Gtk.MenuItem (Catalog.GetString ("More..."));
 
34
                        it.Activated += OnSetStockActionType;
 
35
                        Insert (it, -1);
 
36
                }
 
37
                
 
38
                void OnStockSelected (object s, IconEventArgs args)
 
39
                {
 
40
                        if (IconSelected != null)
 
41
                                IconSelected (this, args);
 
42
                }
 
43
                
 
44
                void OnSetStockActionType (object ob, EventArgs args)
 
45
                {
 
46
                        Stetic.Editor.SelectIconDialog dialog = new Stetic.Editor.SelectIconDialog (null, project);
 
47
                        using (dialog)
 
48
                        {
 
49
                                if (dialog.Run () != (int) Gtk.ResponseType.Ok)
 
50
                                        return;
 
51
                                if (IconSelected != null)
 
52
                                        IconSelected (this, new IconEventArgs (dialog.Icon));
 
53
                        }
 
54
                }
 
55
        }
 
56
}