Having history take up less horizontal space
[ejpi] / src / qhistory.py
index c67e719..b96a03f 100644 (file)
@@ -10,6 +10,7 @@ import logging
 from PyQt4 import QtGui
 from PyQt4 import QtCore
 
+import maeqt
 import util.misc as misc_utils
 import history
 import operation
@@ -36,6 +37,7 @@ class QCalcHistory(history.AbstractHistory):
                self._historyView = QtGui.QTreeView()
                self._historyView.setModel(self._historyStore)
                self._historyView.setUniformRowHeights(True)
+               self._historyView.setRootIsDecorated(False)
                self._historyView.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
                self._historyView.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
                self._historyView.setSelectionMode(QtGui.QAbstractItemView.SingleSelection)
@@ -53,6 +55,7 @@ class QCalcHistory(history.AbstractHistory):
 
                self._rowCount = 0
                self._programmaticUpdate = False
+               self._closeIcon = maeqt.get_theme_icon(("window-close", "general_close", "gtk-close"))
 
        @property
        def toplevel(self):
@@ -65,15 +68,17 @@ class QCalcHistory(history.AbstractHistory):
        def push(self, node):
                simpleNode = node.simplify()
 
-               closeIcon = QtGui.QIcon.fromTheme("general_close")
-               if closeIcon.isNull():
-                       closeIcon = QtGui.QIcon.fromTheme("gtk-close")
+               closeIcon = self._closeIcon
                icon = QtGui.QStandardItem(closeIcon, "")
                icon.setEditable(False)
                icon.setCheckable(False)
                equation = QtGui.QStandardItem(operation.render_operation(self._prettyRenderer, node))
                equation.setData(node)
                equation.setCheckable(False)
+               eqFont = equation.font()
+               eqFont.setPointSize(max(eqFont.pointSize() - 3, 5))
+               equation.setFont(eqFont)
+
                result = QtGui.QStandardItem(operation.render_operation(self._prettyRenderer, simpleNode))
                result.setData(simpleNode)
                result.setEditable(False)