[tracker] TST: Fixed display of type and formatted file size in metadata tile
- From: Jamie McCracken <jamiemcc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker] TST: Fixed display of type and formatted file size in metadata tile
- Date: Tue, 16 Feb 2010 06:15:08 +0000 (UTC)
commit ce978edbc317187927aacb185dac0529f6d145df
Author: Jamie McCracken <jamiemcc gnome org>
Date: Tue Feb 16 01:14:25 2010 -0500
TST: Fixed display of type and formatted file size in metadata tile
src/tracker-search-tool/tracker-metadata-tile.gs | 17 +++++++--------
src/tracker-search-tool/tracker-query.gs | 2 +-
src/tracker-search-tool/tracker-result-grid.gs | 22 +++++++++++++++-----
src/tracker-search-tool/tracker-utils.gs | 23 ++++++++++++++++++++++
4 files changed, 48 insertions(+), 16 deletions(-)
---
diff --git a/src/tracker-search-tool/tracker-metadata-tile.gs b/src/tracker-search-tool/tracker-metadata-tile.gs
index 62e75f9..ee408a6 100644
--- a/src/tracker-search-tool/tracker-metadata-tile.gs
+++ b/src/tracker-search-tool/tracker-metadata-tile.gs
@@ -223,12 +223,11 @@ class TrackerMetadataTile : EventBox
return
iter : TreeIter
- uri : weak string
- display_name : weak string
+ id, uri, mime, display_name : weak string
icon : Gdk.Pixbuf
_result_grid.store.get_iter (out iter, path)
- _result_grid.store.get (iter, ResultColumns.Uri, out uri, ResultColumns.Icon, out icon, ResultColumns.DisplayName, out display_name)
+ _result_grid.store.get (iter, ResultColumns.Id, out id, ResultColumns.Uri, out uri, ResultColumns.Mime, out mime, ResultColumns.Icon, out icon, ResultColumns.DisplayName, out display_name)
image.set_from_pixbuf (icon)
@@ -236,6 +235,9 @@ class TrackerMetadataTile : EventBox
var filepath = file.get_basename ()
name_link.uri = uri
name_link.label = filepath
+ var val1 = "<b>%s</b>".printf (mime)
+ info_value1.set_markup (val1)
+ info_value1.xalign = 0
// get metadata
// var query = "SELECT ?mimetype ?size ?mtime WHERE {<%s> nie:byteSize ?size; nie:contentLastModified ?mtime; nie:mimeType ?mimeType.}".printf(uri)
@@ -243,17 +245,14 @@ class TrackerMetadataTile : EventBox
if Query is not null
var result = Query.Query (query)
- if result is not null and result [0,0] is not null
- var val1 = "<b>%s</b>".printf (result [0,0])
-
- info_value1.set_markup (val1)
- info_value1.xalign = 0
+ if result is not null
+ mime = result[0]
try
var info = file.query_info ("standard::size,time::modified", \
FileQueryInfoFlags.NONE, null)
- var val2 = "<b>%s</b>".printf (info.get_size ().to_string ())
+ var val2 = "<b>%s</b>".printf (FormatFileSize (info.get_size ()))
info_value2.set_markup (val2)
diff --git a/src/tracker-search-tool/tracker-query.gs b/src/tracker-search-tool/tracker-query.gs
index c3fcd5c..d70bdba 100644
--- a/src/tracker-search-tool/tracker-query.gs
+++ b/src/tracker-search-tool/tracker-query.gs
@@ -81,7 +81,7 @@ class TrackerQuery : Object
else
cat = Category
- query = "SELECT ?s nie:url(?s) WHERE { ?s fts:match \"%s\". ?s a %s } limit 100 ".printf (SearchTerms, cat)
+ query = "SELECT ?s nie:url(?s) nie:mimeType(?s) WHERE { ?s fts:match \"%s\". ?s a %s } limit 100 ".printf (SearchTerms, cat)
// to do : add Fields, Category and SortField
try
diff --git a/src/tracker-search-tool/tracker-result-grid.gs b/src/tracker-search-tool/tracker-result-grid.gs
index 5c74931..084ecbc 100644
--- a/src/tracker-search-tool/tracker-result-grid.gs
+++ b/src/tracker-search-tool/tracker-result-grid.gs
@@ -26,6 +26,7 @@ uses
enum ResultColumns
+ Id
Uri
Icon
DisplayName
@@ -84,8 +85,8 @@ class TrackerResultGrid : ScrolledWindow
vscrollbar_policy = PolicyType.AUTOMATIC
shadow_type = ShadowType.ETCHED_OUT
- store = new ListStore (ResultColumns.NumOfCols, typeof (string), typeof (Gdk.Pixbuf), typeof (string), \
- typeof (int), typeof (string), typeof (string), typeof (bool), typeof (string))
+ store = new ListStore (ResultColumns.NumOfCols, typeof (string), typeof (string), typeof (Gdk.Pixbuf), typeof (string), \
+ typeof (string), typeof (string), typeof (string), typeof (bool), typeof (string))
// to do add treeview
@@ -123,8 +124,16 @@ class TrackerResultGrid : ScrolledWindow
store.clear ()
if results is null do return
-
- for uri in results
+
+ var i = 0
+ while results[i] is not null
+ var uri = results[i+1]
+ var id = results[i]
+ var mime = results[i+2]
+ i += 3
+
+
+
if uri.has_prefix ("file://")
has_results = true
@@ -137,9 +146,10 @@ class TrackerResultGrid : ScrolledWindow
var filetype = info.get_file_type ()
store.append (out iter);
- store.set (iter, ResultColumns.Uri, uri, ResultColumns.Icon, GetThumbNail (info, 64, 48, get_screen()), \
+ store.set (iter, ResultColumns.Id, id, ResultColumns.Uri, uri, ResultColumns.Mime, mime, ResultColumns.Icon, GetThumbNail (info, 64, 48, get_screen()), \
ResultColumns.DisplayName, info.get_display_name(), ResultColumns.IsDirectory, \
- (filetype is FileType.DIRECTORY) , -1);
+ (filetype is FileType.DIRECTORY) , -1)
+
except e:Error
print "Could not get file info for %s", uri
diff --git a/src/tracker-search-tool/tracker-utils.gs b/src/tracker-search-tool/tracker-utils.gs
index bd0ad8e..f5506c0 100644
--- a/src/tracker-search-tool/tracker-utils.gs
+++ b/src/tracker-search-tool/tracker-utils.gs
@@ -153,3 +153,26 @@ class TrackerUtils
return icon_info.load_icon ()
except e: Error
return null
+
+
+ /* formatting methods */
+ def static FormatFileSize (size : int64) : string
+ displayed_size : double
+
+ if size < 1024
+ return "%u bytes".printf ((uint)size)
+
+ if size < 1048576
+ displayed_size = (double) size / 1024
+ return "%.1f KB".printf (displayed_size)
+
+ if size < 1073741824
+ displayed_size = (double) size / 1048576
+ return "%.1f MB".printf (displayed_size)
+
+ displayed_size = (double) size / 1073741824
+ return "%.1f GB".printf (displayed_size)
+
+
+
+
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]