From 3acb4765f5f80f0354213c1e23b9a2565bcdb58c Mon Sep 17 00:00:00 2001 From: Treeki Date: Tue, 22 Nov 2011 22:25:00 +0100 Subject: icons! --- src/main.py | 16 ++++++++++++++++ src/mapdata.py | 8 ++++++++ src/ui.py | 6 +++--- 3 files changed, 27 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/main.py b/src/main.py index 1d53521..1ef7039 100644 --- a/src/main.py +++ b/src/main.py @@ -18,4 +18,20 @@ class KP: KP.mainWindow.show() KP.app.exec_() + + + @classmethod + def icon(cls, name): + try: + cache = cls.iconCache + except AttributeError: + cache = {} + cls.iconCache = cache + + try: + return cache[name] + except KeyError: + icon = QtGui.QIcon('Resources/%s.png' % name) + cache[name] = icon + return icon diff --git a/src/mapdata.py b/src/mapdata.py index 013e308..131c669 100644 --- a/src/mapdata.py +++ b/src/mapdata.py @@ -65,6 +65,8 @@ class KPTileLayer(KPLayer): self.objects = [] self.cache = ['DUMMY_FLAG'] self.updateCache() + + self.icon = KP.icon('LayerTile') def _visibilityChanged(self, value): for obj in self.objects: @@ -145,6 +147,8 @@ class KPDoodadLayer(KPLayer): def __init__(self): KPLayer.__init__(self) self.objects = [] + + self.icon = KP.icon('LayerObjects') def _visibilityChanged(self, value): for obj in self.objects: @@ -208,6 +212,8 @@ class KPPathLayer(KPLayer): KPLayer.__init__(self) self.nodes = [] self.paths = [] + + self.icon = KP.icon('LayerPath') def _visibilityChanged(self, value): for objList in (self.nodes, self.paths): @@ -267,6 +273,8 @@ class KPMap(object): if (role == Qt.DisplayRole or role == Qt.EditRole): return layer.name + elif role == Qt.DecorationRole: + return layer.icon elif role == Qt.CheckStateRole: return (Qt.Checked if layer.visible else Qt.Unchecked) diff --git a/src/ui.py b/src/ui.py index 2d7c1cc..c04f7df 100644 --- a/src/ui.py +++ b/src/ui.py @@ -30,9 +30,9 @@ class KPLayerList(QtGui.QWidget): def setupToolbar(self, tb): - self.actAddTile = tb.addAction(QtGui.QIcon(), 'T+', self.addTileLayer) - self.actAddDoodad = tb.addAction(QtGui.QIcon(), 'D+', self.addDoodadLayer) - self.actRemove = tb.addAction(QtGui.QIcon(), 'Remove', self.removeLayer) + self.actAddTile = tb.addAction(KP.icon('LayerNewTile'), 'Add Tile Layer', self.addTileLayer) + self.actAddDoodad = tb.addAction(KP.icon('LayerNewObjects'), 'Add Doodad Layer', self.addDoodadLayer) + self.actRemove = tb.addAction(KP.icon('LayerRemove'), 'Remove', self.removeLayer) self.actMoveUp = tb.addAction(QtGui.QIcon(), 'Move Up', self.moveUp) self.actMoveDown = tb.addAction(QtGui.QIcon(), 'Move Down', self.moveDown) -- cgit v1.2.3