mirror of
				https://github.com/arsenetar/dupeguru.git
				synced 2025-09-11 17:58:17 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			81 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
# Created By: Virgil Dupras
 | 
						|
# Created On: 2009-05-10
 | 
						|
# Copyright 2013 Hardcoded Software (http://www.hardcoded.net)
 | 
						|
# 
 | 
						|
# This software is licensed under the "BSD" License as described in the "LICENSE" file, 
 | 
						|
# which should be included with this package. The terms are also available at 
 | 
						|
# http://www.hardcoded.net/licenses/bsd_license
 | 
						|
 | 
						|
import sys
 | 
						|
 | 
						|
from PyQt5.QtCore import Qt, QCoreApplication
 | 
						|
from PyQt5.QtWidgets import (QDialog, QApplication, QVBoxLayout, QHBoxLayout, QLabel, QSpacerItem,
 | 
						|
    QSizePolicy, QPushButton)
 | 
						|
 | 
						|
from hscommon.plat import ISLINUX
 | 
						|
from hscommon.trans import trget
 | 
						|
 | 
						|
tr = trget('qtlib')
 | 
						|
 | 
						|
class RegDemoDialog(QDialog):
 | 
						|
    def __init__(self, parent, reg, prompt, **kwargs):
 | 
						|
        flags = Qt.CustomizeWindowHint | Qt.WindowTitleHint | Qt.WindowSystemMenuHint
 | 
						|
        super().__init__(parent, flags, **kwargs)
 | 
						|
        self.reg = reg
 | 
						|
        self._setupUi()
 | 
						|
        self.descLabel.setText(prompt)
 | 
						|
        
 | 
						|
        self.enterCodeButton.clicked.connect(self.enterCodeClicked)
 | 
						|
        self.buyButton.clicked.connect(self.buyClicked)
 | 
						|
        self.tryButton.clicked.connect(self.accept)
 | 
						|
        self.moreInfoButton.clicked.connect(self.moreInfoClicked)
 | 
						|
    
 | 
						|
    def _setupUi(self):
 | 
						|
        appname = QCoreApplication.instance().applicationName()
 | 
						|
        title = tr("$appname is Fairware")
 | 
						|
        title = title.replace('$appname', appname)
 | 
						|
        self.setWindowTitle(title)
 | 
						|
        # Workaround for bug at http://bugreports.qt.nokia.com/browse/QTBUG-8212
 | 
						|
        dlg_height = 370 if ISLINUX else 240
 | 
						|
        self.resize(400, dlg_height)
 | 
						|
        self.verticalLayout = QVBoxLayout(self)
 | 
						|
        self.descLabel = QLabel(self)        
 | 
						|
        self.descLabel.setWordWrap(True)
 | 
						|
        self.verticalLayout.addWidget(self.descLabel)
 | 
						|
        spacerItem = QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding)
 | 
						|
        self.verticalLayout.addItem(spacerItem)
 | 
						|
        self.horizontalLayout = QHBoxLayout()
 | 
						|
        self.tryButton = QPushButton(self)
 | 
						|
        self.tryButton.setText(tr("Try"))
 | 
						|
        self.horizontalLayout.addWidget(self.tryButton)
 | 
						|
        self.enterCodeButton = QPushButton(self)
 | 
						|
        self.enterCodeButton.setText(tr("Enter Key"))
 | 
						|
        self.horizontalLayout.addWidget(self.enterCodeButton)
 | 
						|
        self.buyButton = QPushButton(self)
 | 
						|
        self.buyButton.setText(tr("Buy"))
 | 
						|
        self.horizontalLayout.addWidget(self.buyButton)
 | 
						|
        self.moreInfoButton = QPushButton(tr("Fairware?"))
 | 
						|
        self.horizontalLayout.addWidget(self.moreInfoButton)
 | 
						|
        self.verticalLayout.addLayout(self.horizontalLayout)
 | 
						|
    
 | 
						|
    #--- Events
 | 
						|
    def enterCodeClicked(self):
 | 
						|
        if self.reg.ask_for_code():
 | 
						|
            self.accept()
 | 
						|
    
 | 
						|
    def buyClicked(self):
 | 
						|
        self.reg.app.buy()
 | 
						|
    
 | 
						|
    def moreInfoClicked(self):
 | 
						|
        self.reg.app.about_fairware()
 | 
						|
    
 | 
						|
 | 
						|
if __name__ == '__main__':
 | 
						|
    app = QApplication([])
 | 
						|
    app.unpaid_hours = 42.4
 | 
						|
    class FakeReg:
 | 
						|
        app = app
 | 
						|
    dialog = RegDemoDialog(None, FakeReg(), "foo bar baz")
 | 
						|
    dialog.show()
 | 
						|
    sys.exit(app.exec_())
 |