[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