/tortoisehg/hgqt/license.py
https://bitbucket.org/tortoisehg/hgtk/ · Python · 74 lines · 46 code · 15 blank · 13 comment · 2 complexity · 8c3c8784e4053c7b6a7f071dcbeef649 MD5 · raw file
- # license.py - license dialog for TortoiseHg
- #
- # Copyright 2007 TK Soh <teekaysoh@gmail.com>
- # Copyright 2007 Steve Borho <steve@borho.org>
- # Copyright 2010 Yuki KODAMA <endflow.net@gmail.com>
- # Copyright 2010 Johan Samyn <johan.samyn@gmail.com>
- #
- # This software may be used and distributed according to the terms of the
- # GNU General Public License version 2, incorporated herein by reference.
- """
- TortoiseHg License dialog - PyQt4 version
- """
- from PyQt4.QtCore import *
- from PyQt4.QtGui import *
- from tortoisehg.hgqt.i18n import _
- from tortoisehg.hgqt import qtlib
- from tortoisehg.util import paths
- class LicenseDialog(QDialog):
- """Dialog for showing the TortoiseHg license"""
- def __init__(self, parent=None):
- super(LicenseDialog, self).__init__(parent)
- self.setWindowIcon(qtlib.geticon('thg_logo'))
- self.setWindowTitle(_('License'))
- self.setWindowFlags(self.windowFlags() & ~Qt.WindowContextHelpButtonHint)
- self.resize(700, 400)
- self.lic_txt = QPlainTextEdit()
- self.lic_txt.setFont(QFont('Monospace'))
- self.lic_txt.setTextInteractionFlags(
- Qt.TextSelectableByKeyboard|Qt.TextSelectableByMouse)
- try:
- lic = open(paths.get_license_path(), 'rb').read()
- self.lic_txt.setPlainText(lic)
- except (IOError):
- pass
- self.hspacer = QSpacerItem(40, 20,
- QSizePolicy.Expanding, QSizePolicy.Minimum)
- self.close_btn = QPushButton(_('&Close'))
- self.close_btn.clicked.connect(self.close)
- self.hbox = QHBoxLayout()
- self.hbox.addItem(self.hspacer)
- self.hbox.addWidget(self.close_btn)
- self.vbox = QVBoxLayout()
- self.vbox.setSpacing(6)
- self.vbox.addWidget(self.lic_txt)
- self.vbox.addLayout(self.hbox)
- self.setLayout(self.vbox)
- self._readsettings()
- self.setModal(True)
- def closeEvent(self, event):
- self._writesettings()
- super(LicenseDialog, self).closeEvent(event)
- def _readsettings(self):
- s = QSettings()
- self.restoreGeometry(s.value('license/geom').toByteArray())
- def _writesettings(self):
- s = QSettings()
- s.setValue('license/geom', self.saveGeometry())
- def run(ui, *args, **opts):
- return LicenseDialog()