Skip to content
Snippets Groups Projects
Commit 2f63bba7 authored by inso's avatar inso
Browse files

Alert in version informations when a new version is available

parent ddf1577a
No related branches found
No related tags found
No related merge requests found
...@@ -24,6 +24,9 @@ ...@@ -24,6 +24,9 @@
<property name="alignment"> <property name="alignment">
<set>Qt::AlignCenter</set> <set>Qt::AlignCenter</set>
</property> </property>
<property name="openExternalLinks">
<bool>true</bool>
</property>
</widget> </widget>
</item> </item>
<item> <item>
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>400</width> <width>400</width>
<height>301</height> <height>325</height>
</rect> </rect>
</property> </property>
<property name="sizePolicy"> <property name="sizePolicy">
...@@ -20,7 +20,11 @@ ...@@ -20,7 +20,11 @@
<string>Form</string> <string>Form</string>
</property> </property>
<property name="styleSheet"> <property name="styleSheet">
<string notr="true">QToolButton { <string notr="true">QLabel {
qproperty-alignment: AlignCenter;
}
QToolButton {
font-size: 14pt; font-size: 14pt;
font-weight: bold; font-weight: bold;
}</string> }</string>
...@@ -42,11 +46,14 @@ ...@@ -42,11 +46,14 @@
<item> <item>
<widget class="QLabel" name="label_welcome"> <widget class="QLabel" name="label_welcome">
<property name="text"> <property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;&lt;span style=&quot; font-size:xx-large; font-weight:600;&quot;&gt;Welcome to Cutecoin !&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Would you like to...&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string> <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;TestText&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property> </property>
<property name="textFormat"> <property name="textFormat">
<enum>Qt::RichText</enum> <enum>Qt::RichText</enum>
</property> </property>
<property name="openExternalLinks">
<bool>true</bool>
</property>
</widget> </widget>
</item> </item>
<item> <item>
......
...@@ -9,6 +9,8 @@ import logging ...@@ -9,6 +9,8 @@ import logging
import json import json
import tarfile import tarfile
import shutil import shutil
import requests
import datetime
from PyQt5.QtCore import QObject, pyqtSignal from PyQt5.QtCore import QObject, pyqtSignal
...@@ -319,3 +321,22 @@ class Application(QObject): ...@@ -319,3 +321,22 @@ class Application(QObject):
data = {'default_account': self.default_account, data = {'default_account': self.default_account,
'local_accounts': self.jsonify_accounts()} 'local_accounts': self.jsonify_accounts()}
return data return data
def latest_version(self):
version = (True, __version__)
releases = requests.get("https://api.github.com/repos/ucoin-io/cutecoin/releases")
latest = None
for r in releases.json():
if not latest:
latest = r
else:
latest_date = datetime.datetime.strptime(latest['published_at'], "%Y-%m-%dT%H:%M:%SZ")
date = datetime.datetime.strptime(r['published_at'], "%Y-%m-%dT%H:%M:%SZ")
if latest_date < date:
latest = r
latest_version = tuple(latest["tag_name"].split("."))
version = (__version__ == latest_version,
latest_version,
latest["html_url"])
logging.debug("Found version : {0}".format(latest_version))
return version
...@@ -6,6 +6,7 @@ Created on 31 janv. 2015 ...@@ -6,6 +6,7 @@ Created on 31 janv. 2015
from PyQt5.QtWidgets import QWidget from PyQt5.QtWidgets import QWidget
from ..gen_resources.homescreen_uic import Ui_HomeScreenWidget from ..gen_resources.homescreen_uic import Ui_HomeScreenWidget
from ..__init__ import __version__
class HomeScreenWidget(QWidget, Ui_HomeScreenWidget): class HomeScreenWidget(QWidget, Ui_HomeScreenWidget):
...@@ -13,9 +14,27 @@ class HomeScreenWidget(QWidget, Ui_HomeScreenWidget): ...@@ -13,9 +14,27 @@ class HomeScreenWidget(QWidget, Ui_HomeScreenWidget):
classdocs classdocs
""" """
def __init__(self): def __init__(self, app):
""" """
Constructor Constructor
""" """
super().__init__() super().__init__()
self.setupUi(self) self.setupUi(self)
latest = app.latest_version()
version_info = ""
version_url = ""
if not latest[0]:
version_info = "Please get the latest release {version}" \
.format(version='.'.join(latest[1]))
version_url = latest[2]
self.label_welcome.setText(
"""
<h1>Welcome to Cutecoin {version}</h1>
<h2>{version_info}</h2>
<h3><a href={version_url}>Download link</a></h3>
<p>Would you like to...</p>
""".format(version=__version__,
version_info=version_info,
version_url=version_url))
...@@ -102,7 +102,7 @@ class MainWindow(QMainWindow, Ui_MainWindow): ...@@ -102,7 +102,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.loader.connection_error.connect(self.display_error) self.loader.connection_error.connect(self.display_error)
self.loader_thread.started.connect(self.loader.load) self.loader_thread.started.connect(self.loader.load)
self.homescreen = HomeScreenWidget() self.homescreen = HomeScreenWidget(self.app)
self.centralWidget().layout().addWidget(self.homescreen) self.centralWidget().layout().addWidget(self.homescreen)
self.homescreen.button_new.clicked.connect(self.open_add_account_dialog) self.homescreen.button_new.clicked.connect(self.open_add_account_dialog)
self.homescreen.button_import.clicked.connect(self.import_account) self.homescreen.button_import.clicked.connect(self.import_account)
...@@ -172,7 +172,8 @@ class MainWindow(QMainWindow, Ui_MainWindow): ...@@ -172,7 +172,8 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.status_label.setText("Loading account {0}".format(account_name)) self.status_label.setText("Loading account {0}".format(account_name))
self.loader.set_account_name(account_name) self.loader.set_account_name(account_name)
self.loader_thread.start(QThread.LowPriority) self.loader_thread.start(QThread.LowPriority)
self.homescreen.setEnabled(False) self.homescreen.button_new.setEnabled(False)
self.homescreen.button_import.setEnabled(False)
def open_transfer_money_dialog(self): def open_transfer_money_dialog(self):
dialog = TransferMoneyDialog(self.app.current_account, dialog = TransferMoneyDialog(self.app.current_account,
...@@ -207,12 +208,27 @@ class MainWindow(QMainWindow, Ui_MainWindow): ...@@ -207,12 +208,27 @@ class MainWindow(QMainWindow, Ui_MainWindow):
aboutDialog = QDialog(self) aboutDialog = QDialog(self)
aboutUi = Ui_AboutPopup() aboutUi = Ui_AboutPopup()
aboutUi.setupUi(aboutDialog) aboutUi.setupUi(aboutDialog)
latest = self.app.latest_version()
version_info = ""
version_url = ""
if not latest[0]:
version_info = "Latest release : {version}" \
.format(version='.'.join(latest[1]))
version_url = latest[2]
new_version_text = """
<p><b>{version_info}</b></p>
<p><a href={version_url}>Download link</a></p>
""".format(version_info=version_info,
version_url=version_url)
text = """ text = """
<h1>Cutecoin</h1> <h1>Cutecoin</h1>
<p>Python/Qt uCoin client</p> <p>Python/Qt uCoin client</p>
<p>Version : {:}</p> <p>Version : {:}</p>
{new_version_text}
<p>License : MIT</p> <p>License : MIT</p>
...@@ -221,7 +237,8 @@ class MainWindow(QMainWindow, Ui_MainWindow): ...@@ -221,7 +237,8 @@ class MainWindow(QMainWindow, Ui_MainWindow):
<p>inso</p> <p>inso</p>
<p>vit</p> <p>vit</p>
<p>canercandan</p> <p>canercandan</p>
""".format(__version__) """.format(__version__,
new_version_text=new_version_text)
aboutUi.label.setText(text) aboutUi.label.setText(text)
aboutDialog.show() aboutDialog.show()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment