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