4 // Copyright (C) 2004 Novell, Inc.
8 // Permission is hereby granted, free of charge, to any person obtaining a
9 // copy of this software and associated documentation files (the "Software"),
10 // to deal in the Software without restriction, including without limitation
11 // the rights to use, copy, modify, merge, publish, distribute, sublicense,
12 // and/or sell copies of the Software, and to permit persons to whom the
13 // Software is furnished to do so, subject to the following conditions:
15 // The above copyright notice and this permission notice shall be included in
16 // all copies or substantial portions of the Software.
18 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23 // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
24 // DEALINGS IN THE SOFTWARE.
28 using System
.Diagnostics
;
31 using BU
= Beagle
.Util
;
34 namespace Beagle
.Tile
{
36 [HitFlavor (Name
="Folders", Rank
=600, Emblem
="emblem-folder.png", Color
="#f5f5fe",
37 Type
="File", Uri
="file://*", MimeType
="inode/directory")]
38 [HitFlavor (Name
="Folders", Rank
=600, Emblem
="emblem-folder.png", Color
="#f5f5fe",
39 Type
="File", Uri
="file://*", MimeType
="x-directory/normal")]
40 public class TileFolder
: TileFromHitTemplate
{
41 public TileFolder (Hit _hit
) : base (_hit
,
42 "template-folder.html")
46 protected override void PopulateTemplate ()
48 base.PopulateTemplate ();
51 int n
= Hit
.DirectoryInfo
.GetFileSystemInfos().Length
;
53 str
= Catalog
.GetString ("Empty");
55 str
= String
.Format (Catalog
.GetPluralString ("Contains {0} Item", "Contains {0} Items", n
), n
);
57 Template
["Contents"] = str
;
59 Template
["Icon"] = (Hit
["fixme:Icon"] != null && File
.Exists (Hit
["fixme:Icon"])) ? Images
.GetHtmlSource (Hit
["fixme:Icon"], null) : Images
.GetHtmlSourceForStock ("gnome-fs-directory", 48);
63 public override void Open ()
65 OpenFolder (Hit
.Uri
.LocalPath
);
71 OpenFolder (Path
.GetDirectoryName (Hit
.Uri
.LocalPath
));