Update to Python3 and PyQt5
This commit is contained in:
parent
15f7e46cc0
commit
da269a7480
114
license-dialog
114
license-dialog
@ -1,119 +1,123 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python3
|
||||||
# -*- coding: utf-8 -*-
|
# openmamba license-dialog
|
||||||
|
# Copyright (C) 2011 by michiamophil
|
||||||
|
# Copyright (C) 2011-2020 by Silvan Calarco
|
||||||
|
# Distributed under the terms of the GPL version 3 FLOSS License
|
||||||
|
|
||||||
import os #--Uscite possibili:
|
|
||||||
import sys #---: 0 -> licenza accettata
|
#--Uscite possibili:
|
||||||
import gettext #---: 1 -> licenza rifiutata
|
#---: 0 -> licenza accettata
|
||||||
from PyQt4 import QtGui, QtCore #---: 2 -> percorso licenza sbagliato o non presente o se l'argomento digitato è -h o --help
|
#---: 1 -> licenza rifiutata
|
||||||
|
#---: 2 -> percorso licenza sbagliato o non presente o se l'argomento digitato è -h o --help
|
||||||
|
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
import gettext
|
||||||
|
from PyQt5.QtWidgets import QDesktopWidget, QWidget, QApplication, QToolTip, QPushButton,\
|
||||||
|
QTextEdit, QGridLayout
|
||||||
|
from PyQt5.QtGui import QIcon, QFont
|
||||||
|
from PyQt5.QtCore import pyqtSignal
|
||||||
|
|
||||||
|
|
||||||
# Decisione presa in run-time
|
# Decisione presa in run-time
|
||||||
imgAccetto = "object-select-symbolic"
|
imgAccetto = "object-select-symbolic"
|
||||||
imgRifiuto = "window-close-symbolic"
|
imgRifiuto = "window-close-symbolic"
|
||||||
imgForm = "document"
|
imgForm = "document"
|
||||||
|
|
||||||
if (os.getenv('DESKTOP_SESSION')):
|
if (os.getenv('DESKTOP_SESSION')):
|
||||||
desktop_session = QtCore.QString(os.getenv('DESKTOP_SESSION')) # Codice preso da mambatray
|
desktop_session = os.getenv('DESKTOP_SESSION') # Codice preso da mambatray
|
||||||
if (desktop_session == 'default') or (desktop_session.left(3) == 'kde'): # Scelgo le icone di kde
|
if desktop_session == 'default' or desktop_session[:3] == 'kde': # Scelgo le icone di kde
|
||||||
imgAccetto = "dialog-ok-apply"
|
imgAccetto = "dialog-ok-apply"
|
||||||
imgRifiuto = "dialog-close"
|
imgRifiuto = "dialog-close"
|
||||||
imgForm = "text-rtf"
|
imgForm = "text-rtf"
|
||||||
|
|
||||||
def usage():
|
def usage():
|
||||||
print _("Usage: license-dialog /license/path")
|
print(_("Usage: license-dialog /license/path"))
|
||||||
print _("License-dialog is a simple PyQt4 based license accept/refuse dialog")
|
print(_("License-dialog is a simple PyQt5 based license accept/refuse dialog"))
|
||||||
|
|
||||||
|
|
||||||
gettext.install('license-dialog', '/usr/share/locale', unicode=1)
|
gettext.install('license-dialog', '/usr/share/locale')
|
||||||
|
|
||||||
try:
|
try:
|
||||||
path = sys.argv[1]
|
path = sys.argv[1]
|
||||||
#si verifica se non si fornisce alcun argomento
|
|
||||||
except:
|
except:
|
||||||
|
# si verifica se non si fornisce alcun argomento
|
||||||
usage()
|
usage()
|
||||||
print _("Error: path not defined")
|
print(_("Error: path not defined"))
|
||||||
sys.exit(2)
|
sys.exit(2)
|
||||||
|
|
||||||
|
|
||||||
|
# controlla se la licenza esiste e la assegna a txt
|
||||||
#controlla se la licenza esiste e la assegna a txt
|
|
||||||
if path == "-h" or path == "--help":
|
if path == "-h" or path == "--help":
|
||||||
usage()
|
usage()
|
||||||
sys.exit(2)
|
sys.exit(2)
|
||||||
#esce con 2 se è una cartella
|
|
||||||
elif not os.path.exists(path):
|
elif not os.path.exists(path):
|
||||||
|
# esce con 2 se è una cartella
|
||||||
usage()
|
usage()
|
||||||
print _("Error: Wrong path")
|
print(_("Error: Wrong path"))
|
||||||
sys.exit(2)
|
sys.exit(2)
|
||||||
elif os.path.isdir(path):
|
elif os.path.isdir(path):
|
||||||
usage()
|
usage()
|
||||||
print _("Error: path cannot be a directory")
|
print(_("Error: path cannot be a directory"))
|
||||||
sys.exit(2)
|
sys.exit(2)
|
||||||
|
|
||||||
licenza = open(path, "r")
|
licenza = open(path, "r")
|
||||||
txtTp = licenza.read()
|
txt = licenza.read()
|
||||||
#così vanno i caratteri accentati sulla QTextEdit
|
|
||||||
txt= txtTp.decode("utf-8")
|
|
||||||
licenza.close()
|
licenza.close()
|
||||||
|
|
||||||
|
|
||||||
#centra il form sullo schermo
|
#centra il form sullo schermo
|
||||||
def center(self):
|
def center(self):
|
||||||
screen = QtGui.QDesktopWidget().screenGeometry()
|
screen = QDesktopWidget().screenGeometry()
|
||||||
size = self.geometry()
|
size = self.geometry()
|
||||||
self.move((screen.width()-size.width())/2, (screen.height()-size.height())/2)
|
self.move((screen.width()-size.width())/2, (screen.height()-size.height())/2)
|
||||||
|
|
||||||
|
class Form(QWidget):
|
||||||
class Form(QtGui.QWidget):
|
|
||||||
def __init__(self, parent=None):
|
def __init__(self, parent=None):
|
||||||
QtGui.QWidget.__init__(self, parent)
|
QWidget.__init__(self, parent)
|
||||||
|
|
||||||
self.setWindowTitle(_("Licenze"))
|
self.setWindowTitle(_("Licenze"))
|
||||||
self.setWindowIcon(QtGui.QIcon.fromTheme(imgForm))
|
self.setWindowIcon(QIcon.fromTheme(imgForm))
|
||||||
self.resize(500, 400)
|
self.resize(500, 400)
|
||||||
center(self)
|
center(self)
|
||||||
QtGui.QToolTip.setFont(QtGui.QFont('sans', 10))
|
QToolTip.setFont(QFont('sans', 10))
|
||||||
|
|
||||||
btnAccetto = QtGui.QPushButton(QtGui.QIcon.fromTheme(imgAccetto), _("I agree"))
|
|
||||||
btnAccetto.setToolTip(_("Click here if you want to accept the license"))
|
|
||||||
self.connect(btnAccetto, QtCore.SIGNAL('clicked()'), evtAccetto)
|
|
||||||
|
|
||||||
btnRifiuto = QtGui.QPushButton(QtGui.QIcon.fromTheme(imgRifiuto), _("I do not agree"))
|
btnAccetto = QPushButton(QIcon.fromTheme(imgAccetto), _("I agree"))
|
||||||
|
btnAccetto.setToolTip(_("Click here if you want to accept the license"))
|
||||||
|
btnAccetto.clicked.connect(self.evtAccetto)
|
||||||
|
|
||||||
|
btnRifiuto = QPushButton(QIcon.fromTheme(imgRifiuto), _("I do not agree"))
|
||||||
btnRifiuto.setToolTip(_("Click here if you do <b>not</b> want to accept the license"))
|
btnRifiuto.setToolTip(_("Click here if you do <b>not</b> want to accept the license"))
|
||||||
self.connect(btnRifiuto, QtCore.SIGNAL('clicked()'), evtRifiuto)
|
btnRifiuto.clicked.connect(self.evtRifiuto)
|
||||||
|
|
||||||
licenza = QtGui.QTextEdit()
|
licenza = QTextEdit()
|
||||||
licenza.setReadOnly(True)
|
licenza.setReadOnly(True)
|
||||||
licenza.setPlainText(txt)
|
licenza.setPlainText(txt)
|
||||||
|
|
||||||
grid = QtGui.QGridLayout()
|
grid = QGridLayout()
|
||||||
grid.setSpacing(10)
|
grid.setSpacing(10)
|
||||||
|
|
||||||
grid.addWidget(licenza, 1, 0, 1, 2)
|
grid.addWidget(licenza, 1, 0, 1, 2)
|
||||||
grid.addWidget(btnRifiuto, 2, 0)
|
grid.addWidget(btnRifiuto, 2, 0)
|
||||||
grid.addWidget(btnAccetto, 2, 1)
|
grid.addWidget(btnAccetto, 2, 1)
|
||||||
|
|
||||||
|
|
||||||
self.setLayout(grid)
|
self.setLayout(grid)
|
||||||
|
|
||||||
#annulla la chiusura con la x del window manager
|
# annulla la chiusura con la x del window manager
|
||||||
def closeEvent(form, event):
|
def closeEvent(form, event):
|
||||||
event.ignore()
|
event.ignore()
|
||||||
|
|
||||||
|
|
||||||
|
def evtAccetto(self):
|
||||||
|
sys.exit(0)
|
||||||
|
|
||||||
def evtAccetto():
|
def evtRifiuto(self):
|
||||||
sys.exit(0)
|
#mostra un messaggio:
|
||||||
|
#msg = QtGui.QMessageBox.question(form, _("Message"), _("Are you sure to refuse?"), QtGui.QMessageBox.Yes | QtGui.QMessageBox.No, QtGui.QMessageBox.No)
|
||||||
|
#if msg == QtGui.QMessageBox.Yes:
|
||||||
def evtRifiuto():
|
sys.exit(1)
|
||||||
#mostra un messaggio:
|
|
||||||
#msg = QtGui.QMessageBox.question(form, _("Message"), _("Are you sure to refuse?"), QtGui.QMessageBox.Yes | QtGui.QMessageBox.No, QtGui.QMessageBox.No)
|
|
||||||
#if msg == QtGui.QMessageBox.Yes:
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
|
|
||||||
#crea la finestra di dialogo
|
#crea la finestra di dialogo
|
||||||
app = QtGui.QApplication(sys.argv)
|
app = QApplication(sys.argv)
|
||||||
form = Form()
|
form = Form()
|
||||||
form.show()
|
form.show()
|
||||||
sys.exit(app.exec_())
|
sys.exit(app.exec_())
|
||||||
|
Loading…
Reference in New Issue
Block a user