def __init__(self):
self._messages = []
- errorIcon = QtGui.QIcon.fromTheme("app_install_error")
- if errorIcon.isNull():
- errorIcon = QtGui.QIcon.fromTheme("gtk-dialog-error")
+ errorIcon = maeqt.get_theme_icon(("dialog-error", "app_install_error", "gtk-dialog-error"))
self._severityIcon = errorIcon.pixmap(32, 32)
self._severityLabel = QtGui.QLabel()
self._severityLabel.setPixmap(self._severityIcon)
self._message = QtGui.QLabel()
self._message.setText("Boo")
- closeIcon = QtGui.QIcon.fromTheme("general_close")
- if closeIcon.isNull():
- closeIcon = QtGui.QIcon.fromTheme("gtk-close")
+ closeIcon = maeqt.get_theme_icon(("window-close", "general_close", "gtk-close"))
self._closeLabel = QtGui.QPushButton(closeIcon, "")
self._closeLabel.clicked.connect(self._on_close)
return QtCore.Qt.Vertical
else:
return QtCore.Qt.Horizontal
+
+
+def _null_get_theme_icon(iconNames, fallback = None):
+ icon = fallback if fallback is not None else QtGui.QIcon()
+ return icon
+
+
+def _newqt_get_theme_icon(iconNames, fallback = None):
+ for iconName in iconNames:
+ if QtGui.QIcon.hasThemeIcon(iconName):
+ icon = QtGui.QIcon.fromTheme(iconName)
+ break
+ else:
+ icon = fallback if fallback is not None else QtGui.QIcon()
+ return icon
+
+
+try:
+ QtGui.QIcon.fromTheme
+ get_theme_icon = _newqt_get_theme_icon
+except AttributeError:
+ get_theme_icon = _null_get_theme_icon
from PyQt4 import QtGui
from PyQt4 import QtCore
+import maeqt
import util.misc as misc_utils
import history
import operation
self._rowCount = 0
self._programmaticUpdate = False
+ self._closeIcon = maeqt.get_theme_icon(("window-close", "general_close", "gtk-close"))
@property
def toplevel(self):
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)