diff options
-rw-r--r-- | src/main.py | 16 | ||||
-rw-r--r-- | src/mapdata.py | 8 | ||||
-rw-r--r-- | src/ui.py | 6 |
3 files changed, 27 insertions, 3 deletions
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) @@ -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) |