[Thunar-workers] CVS: design/ui ChangeLog, 1.34, 1.35 ThunarFileInfo.py, 1.3, 1.4 ThunarMimeDatabase.py, 1.4, 1.5

Benedikt Meurer benny at xfce.org
Mon May 30 17:48:04 CEST 2005


Update of /var/cvs/thunar/design/ui
In directory espresso.foo-projects.org:/tmp/cvs-serv8965

Modified Files:
	ChangeLog ThunarFileInfo.py ThunarMimeDatabase.py 
Log Message:
2005-05-30	Benedikt Meurer <benny at xfce.org>

	* ThunarFileInfo.py, ThunarMimeDatabase.py: Use the faster MIME
	  backend provided by libexo 0.3.1svn.




Index: ChangeLog
===================================================================
RCS file: /var/cvs/thunar/design/ui/ChangeLog,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -d -r1.34 -r1.35
--- ChangeLog	28 Mar 2005 18:02:25 -0000	1.34
+++ ChangeLog	30 May 2005 15:48:01 -0000	1.35
@@ -1,3 +1,8 @@
+2005-05-30	Benedikt Meurer <benny at xfce.org>
+
+	* ThunarFileInfo.py, ThunarMimeDatabase.py: Use the faster MIME
+	  backend provided by libexo 0.3.1svn.
+
 2005-03-28	Benedikt Meurer <benny at xfce.org>
 
 	* thunar.ui, ThunarWindow.py: Add 'Invert Selection' to the 'Edit'

Index: ThunarFileInfo.py
===================================================================
RCS file: /var/cvs/thunar/design/ui/ThunarFileInfo.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- ThunarFileInfo.py	6 Mar 2005 15:25:56 -0000	1.3
+++ ThunarFileInfo.py	30 May 2005 15:48:01 -0000	1.4
@@ -93,6 +93,16 @@
         return os.path.samefile(os.path.join(home, 'Desktop'), self.path)
 
     def get_mime_info(self):
+        if stat.S_ISDIR(self.stat[stat.ST_MODE]):
+            return self.mimedb.get_info("inode/directory")
+        elif stat.S_ISCHR(self.stat[stat.ST_MODE]):
+            return self.mimedb.get_info("inode/chardevice")
+        elif stat.S_ISBLK(self.stat[stat.ST_MODE]):
+            return self.mimedb.get_info("inode/blockdevice")
+        elif stat.S_ISFIFO(self.stat[stat.ST_MODE]):
+            return self.mimedb.get_info("inode/fifo")
+        elif stat.S_ISSOCK(self.stat[stat.ST_MODE]):
+            return self.mimedb.get_info("inode/socket")
         return self.mimedb.match(self.path)
 
     def get_name(self):

Index: ThunarMimeDatabase.py
===================================================================
RCS file: /var/cvs/thunar/design/ui/ThunarMimeDatabase.py,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- ThunarMimeDatabase.py	15 Mar 2005 22:33:01 -0000	1.4
+++ ThunarMimeDatabase.py	30 May 2005 15:48:01 -0000	1.5
@@ -27,9 +27,9 @@
 import gobject
 import gtk
 
-import rox, rox.mime
-
-import ThunarImageLoader
+import pyexo
+pyexo.require('0.3')
+import exo
 
 
 __ALL__ = [ 'get_default' ]
@@ -46,24 +46,21 @@
 
 class ThunarMimeDatabase:
     def __init__(self):
-        self.__cache = {}
+        self.__db = exo.mime_database_get_default()
 
 
     def match(self, path):
-        type = rox.mime.get_type(path)
-        name = '%s' % type
-        if self.__cache.has_key(name):
-            type = self.__cache[name]
-        else:
-            type = ThunarMimeInfo(type)
-            self.__cache[name] = type
-        return type
+        return ThunarMimeInfo(self.__db.get_info_for_file(path))
+
+
+    def get_info(self, type):
+        return ThunarMimeInfo(self.__db.get_info(type))
 
 
 
 class ThunarMimeInfo:
     def __init__(self, type):
-        self.__loader = ThunarImageLoader.get_default()
+        self.__loader = gtk.icon_theme_get_default()
         self.__type = type
 
 
@@ -72,37 +69,8 @@
 
 
     def render_icon(self, size):
-        type = '%s' % self.__type
-        try:
-            name = 'mime-' + type.replace('/', ':')
-            icon = self.__loader.load_icon(name, size)
-        except gobject.GError:
-            try:
-                name = 'gnome-mime-' + type.replace('/', '-')
-                icon = self.__loader.load_icon(name, size)
-            except gobject.GError:
-                try:
-                    name = 'mime-' + type.split('/')[0]
-                    icon = self.__loader.load_icon(name, size)
-                except gobject.GError:
-                    try:
-                        name = 'gnome-mime-' + type.split('/')[0]
-                        icon = self.__loader.load_icon(name, size)
-                    except gobject.GError:
-                        if type == 'inode/directory':
-                            try:
-                                name = 'gnome-fs-directory'
-                                icon = self.__loader.load_icon(name, size)
-                            except gobject.GError:
-                                icon = gtk.gdk.pixbuf_new_from_file_at_size('fallback.svg', size, size)
-                        else:
-                            try:
-                                name = 'mime-application:octet-stream'
-                                icon = self.__loader.load_icon(name, size)
-                            except gobject.GError:
-                                try:
-                                    name = 'gnome-mime-application-octet-stream'
-                                    icon = self.__loader.load_icon(name, size)
-                                except gobject.GError:
-                                    icon = gtk.gdk.pixbuf_new_from_file_at_size('fallback.svg', size, size)
-        return icon
+        icon = self.__type.lookup_icon(self.__loader, size, 0)
+        if icon:
+            return icon.load_icon()
+        else:
+            return gtk.gdk.pixbuf_new_from_file_at_size('fallback.svg', size, size)




More information about the Thunar-workers mailing list