1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
|
#!/usr/bin/env python
import sys
from PyQt4 import QtCore, QtGui
from Ui_optionsdialog import Ui_OptionsDialog
class OptionsDialog(QtGui.QDialog):
accepted = QtCore.pyqtSignal()
def __init__(self, fileName=None):
super(OptionsDialog, self).__init__()
self.ui = Ui_OptionsDialog()
self.ui.setupUi(self)
self.readSettings()
self.writeSettings()
def show(self):
self.readSettings()
super(OptionsDialog, self).show()
def accept(self):
self.writeSettings()
self.accepted.emit()
super(OptionsDialog, self).hide()
def readSettings(self):
settings = QtCore.QSettings()
self.setColor(self.ui.lbHighlightingColor, QtGui.QColor(settings.value("HighlightingColor", QtGui.QColor(0xff, 0xff, 0x99, 0xff))))
self.setColor(self.ui.lbAddressAreaColor, QtGui.QColor(settings.value("AddressAreaColor", QtGui.QColor(0xd4, 0xd4, 0xd4, 0xff))))
self.setColor(self.ui.lbSelectionColor, QtGui.QColor(settings.value("SelectionColor", QtGui.QColor(0x6d, 0x9e, 0xff, 0xff))))
self.ui.leWidgetFont.setFont(QtGui.QFont(settings.value("WidgetFont", QtGui.QFont(QtGui.QFont("Courier New", 10)))))
if sys.version_info >= (3, 0):
self.ui.sbAddressAreaWidth.setValue(int(settings.value("AddressAreaWidth", 4)))
self.ui.cbAddressArea.setChecked(settings.value("AddressArea", 'true')=='true')
self.ui.cbAsciiArea.setChecked(settings.value("AsciiArea", 'true')=='true')
self.ui.cbHighlighting.setChecked(settings.value("Highlighting", 'true')=='true')
self.ui.cbOverwriteMode.setChecked(settings.value("OverwriteMode", 'true')=='true')
self.ui.cbReadOnly.setChecked(settings.value("ReadOnly", 'false')=='true')
else:
self.ui.sbAddressAreaWidth.setValue(settings.value("AddressAreaWidth", 4).toInt()[0])
self.ui.cbAddressArea.setChecked(settings.value("AddressArea", True).toBool())
self.ui.cbAsciiArea.setChecked(settings.value("AsciiArea", True).toBool())
self.ui.cbHighlighting.setChecked(settings.value("Highlighting", True).toBool())
self.ui.cbOverwriteMode.setChecked(settings.value("OverwriteMode", True).toBool())
self.ui.cbReadOnly.setChecked(settings.value("ReadOnly", False).toBool())
def writeSettings(self):
settings = QtCore.QSettings()
if sys.version_info >= (3, 0):
def b(b):
if b: return 'true'
else: return 'false'
settings.setValue("AddressArea", b(self.ui.cbAddressArea.isChecked()))
settings.setValue("AsciiArea", b(self.ui.cbAsciiArea.isChecked()))
settings.setValue("Highlighting", b(self.ui.cbHighlighting.isChecked()))
settings.setValue("OverwriteMode", b(self.ui.cbOverwriteMode.isChecked()))
settings.setValue("ReadOnly", b(self.ui.cbReadOnly.isChecked()))
else:
settings.setValue("AddressArea", self.ui.cbAddressArea.isChecked())
settings.setValue("AsciiArea", self.ui.cbAsciiArea.isChecked())
settings.setValue("Highlighting", self.ui.cbHighlighting.isChecked())
settings.setValue("OverwriteMode", self.ui.cbOverwriteMode.isChecked())
settings.setValue("ReadOnly", self.ui.cbReadOnly.isChecked())
settings.setValue("HighlightingColor", self.ui.lbHighlightingColor.palette().color(QtGui.QPalette.Background))
settings.setValue("AddressAreaColor", self.ui.lbAddressAreaColor.palette().color(QtGui.QPalette.Background))
settings.setValue("SelectionColor", self.ui.lbSelectionColor.palette().color(QtGui.QPalette.Background))
settings.setValue("WidgetFont", self.ui.leWidgetFont.font())
settings.setValue("AddressAreaWidth", self.ui.sbAddressAreaWidth.value())
def reject(self):
super(OptionsDialog, self).hide()
def setColor(self, label, color):
palette = label.palette()
palette.setColor(QtGui.QPalette.Background, color)
label.setPalette(palette)
label.setAutoFillBackground(True)
def on_pbHighlightingColor_pressed(self):
print("hier")
color = QtGui.QColorDialog.getColor(self.ui.lbHighlightingColor.palette().color(QtGui.QPalette.Background), self)
if color.isValid():
self.setColor(self.ui.lbHighlightingColor, color)
def on_pbAddressAreaColor_pressed(self):
color = QtGui.QColorDialog.getColor(self.ui.lbAddressAreaColor.palette().color(QtGui.QPalette.Background), self)
if color.isValid():
self.setColor(self.ui.lbAddressAreaColor, color)
def on_pbSelectionColor_pressed(self):
color = QtGui.QColorDialog.getColor(self.ui.lbSelectionColor.palette().color(QtGui.QPalette.Background), self)
if color.isValid():
self.setColor(self.ui.lbSelectioncColor, color)
def on_pbWidgetFont_pressed(self):
font, ok = QtGui.QFontDialog().getFont(self.ui.leWidgetFont.font(), self)
if ok:
self.ui.leWidgetFont.setFont(font)
|