I've started experimenting a bit on using icons for the file status in the log viewer.
Screenshot of my hackery: http://cdn.bitbucket.org/abuehl/thg-abuehl/downloads/thg-log-status-with-icons.png This was done using the following (far from finished) patch: diff --git a/tortoisehg/hgtk/changeset.py b/tortoisehg/hgtk/changeset.py --- a/tortoisehg/hgtk/changeset.py +++ b/tortoisehg/hgtk/changeset.py @@ -15,7 +15,7 @@ import Queue from mercurial import cmdutil, util, patch, mdiff from tortoisehg.util.i18n import _ -from tortoisehg.util import shlib, hglib +from tortoisehg.util import shlib, hglib, paths from tortoisehg.hgtk import csinfo, gdialog, gtklib, hgcmd, statusbar @@ -147,22 +147,29 @@ class ChangeSet(gdialog.GDialog): if wfile: pats.append(wfile) + width, height = gtk.icon_size_lookup(gtk.ICON_SIZE_SMALL_TOOLBAR) + def get_pixbuf(iconfilename): + iconpath = paths.get_tortoise_icon(iconfilename) + # print iconpath + return gtk.gdk.pixbuf_new_from_file_at_size( + iconpath, width, height) + self._filelist.clear() - self._filelist.append(('*', _('[All Files]'), '')) + self._filelist.append((None, _('[All Files]'), '')) modified, added, removed = self.repo.status(parent, ctx.node())[:3] selrow = None for f in modified: if f in pats: selrow = len(self._filelist) - self._filelist.append(('M', hglib.toutf(f), f)) + self._filelist.append((None, hglib.toutf(f), f)) for f in added: if f in pats: selrow = len(self._filelist) - self._filelist.append(('A', hglib.toutf(f), f)) + self._filelist.append((get_pixbuf('menuadd.ico'), hglib.toutf(f), f)) for f in removed: if f in pats: selrow = len(self._filelist) - self._filelist.append(('R', hglib.toutf(f), f)) + self._filelist.append((get_pixbuf('menudelete.ico'), hglib.toutf(f), f)) self.curnodes = (parent, ctx.node()) if selrow is not None: self._filesel.select_path((selrow,)) @@ -659,12 +666,12 @@ class ChangeSet(gdialog.GDialog): filelist_tree.connect('thg-diff', self.thgdiff) self._filelist = gtk.ListStore( - gobject.TYPE_STRING, # MAR status + gtk.gdk.Pixbuf, # MAR status gobject.TYPE_STRING, # filename (utf-8 encoded) gobject.TYPE_STRING, # filename ) filelist_tree.set_model(self._filelist) - column = gtk.TreeViewColumn(_('Stat'), gtk.CellRendererText(), text=0) + column = gtk.TreeViewColumn(_('Stat'), gtk.CellRendererPixbuf(), pixbuf=0) filelist_tree.append_column(column) column = gtk.TreeViewColumn(_('Files'), gtk.CellRendererText(), text=1) filelist_tree.append_column(column) I ran this on Windows XP. If course the icons are probably not yet ideal (I just used what is already there). I currently think "modified" wouldn't need an icon at all (only deleted and added). Early feedback / suggestions / opinions (rotten tomatoes :) welcome. ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ Tortoisehg-develop mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/tortoisehg-develop
