updater ui.
This commit is contained in:
parent
1322d4c2e5
commit
59e3d8714d
@ -30,6 +30,7 @@ class Endpoint:
|
||||
feedback_mail = u'sth201807@gmail.com'
|
||||
check_version = u'sth2018/FastWordQuery'
|
||||
user_guide = u'https://sth2018.github.io/FastWordQuery'
|
||||
version = VERSION
|
||||
|
||||
|
||||
class Template:
|
||||
|
||||
@ -39,20 +39,20 @@ class Ui_DialogUpdates(object):
|
||||
self.verticalLayout.addWidget(self.textBrowser)
|
||||
self.horizontalLayout = QtGui.QHBoxLayout()
|
||||
self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
|
||||
spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
|
||||
self.horizontalLayout.addItem(spacerItem)
|
||||
self.always = QtGui.QPushButton(DialogUpdates)
|
||||
self.always.setObjectName(_fromUtf8("always"))
|
||||
self.horizontalLayout.addWidget(self.always)
|
||||
#spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
|
||||
#self.horizontalLayout.addItem(spacerItem)
|
||||
#self.always = QtGui.QPushButton(DialogUpdates)
|
||||
#self.always.setObjectName(_fromUtf8("always"))
|
||||
#self.horizontalLayout.addWidget(self.always)
|
||||
self.update = QtGui.QPushButton(DialogUpdates)
|
||||
self.update.setObjectName(_fromUtf8("update"))
|
||||
self.horizontalLayout.addWidget(self.update)
|
||||
self.dont = QtGui.QPushButton(DialogUpdates)
|
||||
self.dont.setObjectName(_fromUtf8("dont"))
|
||||
self.horizontalLayout.addWidget(self.dont)
|
||||
self.never = QtGui.QPushButton(DialogUpdates)
|
||||
self.never.setObjectName(_fromUtf8("never"))
|
||||
self.horizontalLayout.addWidget(self.never)
|
||||
self.horizontalLayout.addWidget(self.update, 0, QtCore.Qt.AlignCenter)
|
||||
#self.dont = QtGui.QPushButton(DialogUpdates)
|
||||
#self.dont.setObjectName(_fromUtf8("dont"))
|
||||
#self.horizontalLayout.addWidget(self.dont)
|
||||
#self.never = QtGui.QPushButton(DialogUpdates)
|
||||
#self.never.setObjectName(_fromUtf8("never"))
|
||||
#self.horizontalLayout.addWidget(self.never)
|
||||
self.verticalLayout.addLayout(self.horizontalLayout)
|
||||
|
||||
self.retranslateUi(DialogUpdates)
|
||||
@ -61,8 +61,8 @@ class Ui_DialogUpdates(object):
|
||||
def retranslateUi(self, DialogUpdates):
|
||||
DialogUpdates.setWindowTitle(_translate("DialogUpdates", "Update Checker", None))
|
||||
self.labelUpdates.setText(_translate("DialogUpdates", "<html><head/><body><p>A new version of {0} is available for download! </p><p>Do you want to update {1}to version {2}?</p><p>Changes from your version are listed below:</p></body></html>", None))
|
||||
self.always.setText(_translate("DialogUpdates", "Always update", None))
|
||||
#self.always.setText(_translate("DialogUpdates", "Always update", None))
|
||||
self.update.setText(_translate("DialogUpdates", "Update", None))
|
||||
self.dont.setText(_translate("DialogUpdates", "Don\'t update", None))
|
||||
self.never.setText(_translate("DialogUpdates", "Never", None))
|
||||
#self.dont.setText(_translate("DialogUpdates", "Don\'t update", None))
|
||||
#self.never.setText(_translate("DialogUpdates", "Never", None))
|
||||
|
||||
|
||||
@ -43,34 +43,39 @@ dataPath = '.ankihub.json' #os.path.join(defaultBase(),'.ankihub.json')
|
||||
class DialogUpdates(QtGui.QDialog, Ui_DialogUpdates):
|
||||
def __init__(self, parent, data, oldData, callback, automaticAnswer=None,install=False):
|
||||
QtGui.QDialog.__init__(self,parent)
|
||||
self.setModal(True)
|
||||
self.setWindowFlags(
|
||||
self.windowFlags() &
|
||||
~QtCore.Qt.WindowContextHelpButtonHint
|
||||
)
|
||||
self.setupUi(self)
|
||||
totalSize = sum(map(lambda x:x['size'],data['assets']))
|
||||
|
||||
def answer(doUpdate,answ):
|
||||
self.update.setEnabled(False)
|
||||
self.dont.setEnabled(False)
|
||||
self.always.setEnabled(False)
|
||||
self.never.setEnabled(False)
|
||||
#self.dont.setEnabled(False)
|
||||
#self.always.setEnabled(False)
|
||||
#self.never.setEnabled(False)
|
||||
callback(doUpdate,answ,self.appendHtml,self.finish,install)
|
||||
|
||||
self.html = u''
|
||||
self.appendHtml(markdown(data['body']))
|
||||
|
||||
if not automaticAnswer:
|
||||
self.connect(self.update,QtCore.SIGNAL('clicked()'),
|
||||
lambda:answer(True,'ask'))
|
||||
self.connect(self.dont,QtCore.SIGNAL('clicked()'),
|
||||
lambda:answer(False,'ask'))
|
||||
self.connect(self.always,QtCore.SIGNAL('clicked()'),
|
||||
lambda:answer(True,'always'))
|
||||
self.connect(self.never,QtCore.SIGNAL('clicked()'),
|
||||
lambda:answer(False,'never'))
|
||||
else:
|
||||
#if not automaticAnswer:
|
||||
self.connect(self.update,QtCore.SIGNAL('clicked()'),
|
||||
lambda:answer(True,'ask'))
|
||||
#self.connect(self.dont,QtCore.SIGNAL('clicked()'),
|
||||
# lambda:answer(False,'ask'))
|
||||
#self.connect(self.always,QtCore.SIGNAL('clicked()'),
|
||||
# lambda:answer(True,'always'))
|
||||
#self.connect(self.never,QtCore.SIGNAL('clicked()'),
|
||||
# lambda:answer(False,'never'))
|
||||
#else:
|
||||
#self.update.setEnabled(False)
|
||||
#self.dont.setEnabled(False)
|
||||
#self.always.setEnabled(False)
|
||||
#self.never.setEnabled(False)
|
||||
answer(True,automaticAnswer)
|
||||
# answer(True,automaticAnswer)
|
||||
|
||||
fromVersion = ''
|
||||
if 'tag_name' in oldData:
|
||||
@ -83,11 +88,11 @@ class DialogUpdates(QtGui.QDialog, Ui_DialogUpdates):
|
||||
|
||||
|
||||
def appendHtml(self,html='',temp=''):
|
||||
self.html += html
|
||||
self.html += html + '<div id="text_bottom"></div>'
|
||||
self.textBrowser.setHtml(u'<html><body>{0}{1}</body></html>'.format(self.html,temp))
|
||||
self.textBrowser.scrollToAnchor('text_bottom')
|
||||
|
||||
def finish(self):
|
||||
|
||||
pass
|
||||
|
||||
|
||||
@ -190,7 +195,7 @@ def updateSingle(repositories,path,data):
|
||||
|
||||
datas = []
|
||||
|
||||
def update(add=[],install=False):
|
||||
def update(add=[],install=False, VERSION='v0.0.0'):
|
||||
conn = httplib.HTTPSConnection("api.github.com")
|
||||
try:
|
||||
with open(dataPath,'r') as file:
|
||||
@ -238,7 +243,7 @@ def update(add=[],install=False):
|
||||
while len(oldVersion)<3:
|
||||
oldVersion.append(0)
|
||||
else:
|
||||
oldVersion = [0,0,0]
|
||||
oldVersion = map(int,VERSION[1:].split('.'))#[0,0,0]
|
||||
newVersion = map(int,data['tag_name'][1:].split('.'))
|
||||
isMinor = len(newVersion)>2 and newVersion[2]>0
|
||||
while len(newVersion)<3:
|
||||
|
||||
@ -517,7 +517,7 @@ class OptionsDialog(QDialog):
|
||||
def check_updates():
|
||||
try:
|
||||
import libs.ankihub
|
||||
if not libs.ankihub.update([Endpoint.check_version]):
|
||||
if not libs.ankihub.update([Endpoint.check_version], False, Endpoint.version):
|
||||
showInfo(_('LATEST_VERSION'))
|
||||
except:
|
||||
showInfo(_('CHECK_FAILURE'))
|
||||
|
||||
Loading…
Reference in New Issue
Block a user