From 07691c3d4220b468ddb8d1db1765099255d54c0f Mon Sep 17 00:00:00 2001 From: Muaz Ahmad Date: Thu, 10 Nov 2022 15:16:50 +0500 Subject: [PATCH] Using Promoted widgets to handle dynamic elements --- extra_widgets.py | 284 ++++++++++++++++++++++++ gui_base.py | 336 ++++++++++++++-------------- gui_base.ui | 568 ++++++++++++++++++++++++++--------------------- 3 files changed, 770 insertions(+), 418 deletions(-) create mode 100644 extra_widgets.py diff --git a/extra_widgets.py b/extra_widgets.py new file mode 100644 index 0000000..d7868e7 --- /dev/null +++ b/extra_widgets.py @@ -0,0 +1,284 @@ +from PyQt5 import QtWidgets, QtGui, QtCore + +from datetime import datetime, timedelta + +class Fissure(QtWidgets.QWidget): + def __init__(self, parent, fissure_info, i): + super().__init__(parent) + self.i = str(i) + self.fissure_info = fissure_info + self.create_gui() + self.update_gui() + + + def create_gui(self): + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.sizePolicy().hasHeightForWidth()) + self.setSizePolicy(sizePolicy) + self.setMinimumSize(QtCore.QSize(0, 100)) + self.setObjectName("Fissure_" + self.i) + self.gridLayout_3 = QtWidgets.QGridLayout(self) + self.gridLayout_3.setObjectName("gridLayout_3_" + self.i) + self.FissureTier = QtWidgets.QLabel(self) + font = QtGui.QFont() + font.setPointSize(12) + font.setBold(True) + font.setWeight(75) + self.FissureTier.setFont(font) + self.FissureTier.setObjectName("FissureTier_" + self.i) + self.gridLayout_3.addWidget(self.FissureTier, 0, 0, 1, 1) + self.FissureTimer = QtWidgets.QLabel(self) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.FissureTimer.setFont(font) + self.FissureTimer.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.FissureTimer.setObjectName("FissureTimer_" + self.i) + self.gridLayout_3.addWidget(self.FissureTimer, 0, 1, 1, 1) + self.FissureNode = QtWidgets.QLabel(self) + font = QtGui.QFont() + font.setPointSize(10) + self.FissureNode.setFont(font) + self.FissureNode.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop) + self.FissureNode.setObjectName("FissureNode_" + self.i) + self.gridLayout_3.addWidget(self.FissureNode, 1, 0, 1, 1) + self.FissureType = QtWidgets.QLabel(Fissure) + self.FissureType.setAlignment(QtCore.Qt.AlignCenter) + self.FissureType.setObjectName("FissureType_" + self.i) + self.gridLayout_3.addWidget(self.FissureType, 1, 1, 1, 1) + + def update_gui(self): + self.FissureTier.setText(f"{self.fissure_info['tier']} - T{self.fissure_info['tierNum']}") + self.update_timer(self) + self.FissureNode.setText(f"{self.fissure_info['node']}") + self.FissureType.setText(f"{'Steel Path' if self.fissure_info['isHard'] else ('Storm' if self.fissure_info['isStorm'] else '')}") + + def udpdate_timer(self): + eta = datetime.strptime(self.fissure_info['expiry'], '%Y-%m-%dT%H:%M:%SZ') - datetime.now() + eta -= timedelta(microseconds=eta.microseconds) + + self.FissureTimer.setText(f"{eta.seconds // 3600}h {(eta.seconds // 60) % 60}m {eta.seconds % 60}s") + + +class Invasion(QtWidgets.QWidget): + def __init__(self, parent, invasion_info, i): + super().__init__(parent) + self.i = str(i) + self.invasion_info = invasion_info + self.create_gui() + self.update_gui() + + def create_gui(self): + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.sizePolicy().hasHeightForWidth()) + self.setSizePolicy(sizePolicy) + self.setMinimumSize(QtCore.QSize(0, 100)) + self.setObjectName("Invasion_" + self.i) + self.gridLayout_4 = QtWidgets.QGridLayout(self.Invasion) + self.gridLayout_4.setObjectName("gridLayout_4_" + self.i) + self.Reward2 = QtWidgets.QLabel(self) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.Reward2.setFont(font) + self.Reward2.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.Reward2.setWordWrap(True) + self.Reward2.setObjectName("Reward2_" + self.i) + self.gridLayout_4.addWidget(self.Reward2, 0, 1, 1, 1) + self.InvasionProgress = QtWidgets.QProgressBar(self) + self.InvasionProgress.setStyleSheet("QProgressBar {background-color:red;;border-color:red; border:0px}\n" +"QProgressBar::chunk {background-color:blue;}") + self.InvasionProgress.setProperty("value", 24) + self.InvasionProgress.setTextVisible(False) + self.InvasionProgress.setObjectName("InvasionProgress_" + self.i) + self.gridLayout_4.addWidget(self.InvasionProgress, 1, 0, 1, 2) + self.Reward1 = QtWidgets.QLabel(self) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.Reward1.setFont(font) + self.Reward1.setWordWrap(True) + self.Reward1.setObjectName("Reward1_" + self.i) + self.gridLayout_4.addWidget(self.Reward1, 0, 0, 1, 1) + + def update_gui(self): + faction_colors = {'Gineer': 'red', 'Corpus': 'blue', 'Infested': 'green'} + self.Reward1.setText(f"{self.invasion_info['attackerReward']['itemString']}") + self.Reward2.setText(f"{self.invasion_info['defenderReward']['itemString']}") + self.InvasionProgress.setStyleSheet(f'QProgressBar {{background-color:{faction_colors.get(self.invasion_info["defendingFaction"])};border-color:red; border:0px}}\nQProgressBar::chunk {{background-color:{faction_colors.get(self.invasion_info["attackingFaction"])};}}') + + def update_progress(self): + self.InvasionProgress.setProperty('value', self.invasion_info['completion']) + +class Alert(QtWidgets.QWidget): + def __init__(self, parent, alert_info, i): + super().__init__(parent) + self.i = str(i) + self.alert_info = alert_info + self.create_gui() + self.update_gui() + + def create_gui(self): + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.sizePolicy().hasHeightForWidth()) + self.setSizePolicy(sizePolicy) + self.setMinimumSize(QtCore.QSize(0, 100)) + self.setObjectName("Alert_" + self.i) + self.horizontalLayout_6 = QtWidgets.QHBoxLayout(self) + self.horizontalLayout_6.setObjectName("horizontalLayout_6") + self.AlertReward = QtWidgets.QLabel(self) + font = QtGui.QFont() + font.setPointSize(10) + font.setBold(True) + font.setWeight(75) + self.AlertReward.setFont(font) + self.AlertReward.setWordWrap(True) + self.AlertReward.setObjectName("AlertReward_" + self.i) + self.horizontalLayout_6.addWidget(self.AlertReward) + self.AlertTimer = QtWidgets.QLabel(self) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.AlertTimer.setFont(font) + self.AlertTimer.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.AlertTimer.setObjectName("AlertTimer_" + self.i) + self.horizontalLayout_6.addWidget(self.AlertTimer) + + def update_gui(self): + self.AlertReward.setText(self.alert_info['mission']['reward']['itemString']) + self.update_timer() + + def update_timer(self): + eta = datetime.strptime(self.alert_info['expiry'], '%Y-%m-%dT%H:%M:%SZ') - datetime.now() + eta -= deltatime(microseconds=eta.microseconds) + self.AlertTimer.setText(f'{eta.days}d {eta.seconds // 3600}h {(eta.seconds // 60) % 60}m {eta.seconds % 60}s') + +class BaroItem(QtWidgets.QWidget): + def __init__(self, parent, item_info, i): + super().__init__(parent) + self.item_info = item_info + self.i = str(i) + self.create_gui() + self.update_gui() + + def create_gui(self): + self.setMaximumSize(QtCore.QSize(250, 250)) + self.setObjectName("BaroItem_" + self.i) + self.gridLayout_7 = QtWidgets.QGridLayout(self) + self.gridLayout_7.setObjectName("gridLayout_7_" + self.i) + self.ItemName = QtWidgets.QLabel(self) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.ItemName.setFont(font) + self.ItemName.setAlignment(QtCore.Qt.AlignCenter) + self.ItemName.setObjectName("ItemName_" + self.i) + self.gridLayout_7.addWidget(self.ItemName, 0, 0, 1, 1) + + def update_gui(self): + self.ItemName.setText(self.item_info['item']) + +class Event(QtWidgets.QWidget): + def __init__(self, parent, event_info, i): + super().__init__(parent) + self.event_info = event_info + self.i = str(i) + self.create_gui() + self.update_gui() + + def create_gui(self): + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.sizePolicy().hasHeightForWidth()) + self.setSizePolicy(sizePolicy) + self.setMinimumSize(QtCore.QSize(0, 100)) + self.setObjectName("Event_" + self.i) + self.horizontalLayout_11 = QtWidgets.QHBoxLayout(self) + self.horizontalLayout_11.setObjectName("horizontalLayout_11_" + self.i) + self.EventName = QtWidgets.QLabel(self) + font = QtGui.QFont() + font.setPointSize(12) + font.setBold(True) + font.setWeight(75) + self.EventName.setFont(font) + self.EventName.setObjectName("EventName_" + self.i) + self.horizontalLayout_11.addWidget(self.EventName) + self.EventTimer = QtWidgets.QLabel(self) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.EventTimer.setFont(font) + self.EventTimer.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.EventTimer.setObjectName("EventTimer_" + self.i) + self.horizontalLayout_11.addWidget(self.EventTimer) + + def update_gui(self): + self.EventName.setText(self.event_info['description']) + self.update_timer() + + def update_timer(self): + eta = datetime.strptime(self.event_info['expiry'], '%Y-%m-%dT%H:%M:%SZ') - datetime.now() + eta -= deltatime(microseconds=eta.microseconds) + self.EventTimer.setText(f'{eta.days}d {eta.seconds // 3600}h {(eta.seconds // 60) % 60}m {eta.seconds % 60}s') + +class NewsBlurb(QtWidgets.QWidget): + def __init__(self, parent, news_info, i): + super().__init__(parent) + self.i = str(i) + self.news_info = news_info + self.create_gui() + self.update_gui() + + def create_gui(self): + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.sizePolicy().hasHeightForWidth()) + self.setSizePolicy(sizePolicy) + self.setMinimumSize(QtCore.QSize(0, 100)) + self.setObjectName("NewsBlurb_" + self.i) + self.horizontalLayout_12 = QtWidgets.QHBoxLayout(self) + self.horizontalLayout_12.setObjectName("horizontalLayout_12_" + self.i) + self.NewsBlurbHyperLink = QtWidgets.QLabel(self) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(3) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.NewsBlurbHyperLink.sizePolicy().hasHeightForWidth()) + self.NewsBlurbHyperLink.setSizePolicy(sizePolicy) + font = QtGui.QFont() + font.setPointSize(11) + font.setUnderline(True) + self.NewsBlurbHyperLink.setFont(font) + self.NewsBlurbHyperLink.setWordWrap(True) + self.NewsBlurbHyperLink.setOpenExternalLinks(True) + self.NewsBlurbHyperLink.setObjectName("NewsBlurbHyperLink") + self.horizontalLayout_12.addWidget(self.NewsBlurbHyperLink) + self.NewsBlurbRelTimer = QtWidgets.QLabel(self) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(1) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.NewsBlurbRelTimer.sizePolicy().hasHeightForWidth()) + self.NewsBlurbRelTimer.setSizePolicy(sizePolicy) + self.NewsBlurbRelTimer.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.NewsBlurbRelTimer.setObjectName("NewsBlurbRelTimer") + self.horizontalLayout_12.addWidget(self.NewsBlurbRelTimer) + + def update_gui(self): + self.NewsBlurbHyperLink.setText(f'{self.news_info["message"]}') + self.update_timer() + + def update_timer(self): + eta = datetime.strptime(self.news_info['expiry'], '%Y-%m-%dT%H:%M:%SZ') - datetime.now() + eta -= deltatime(microseconds=eta.microseconds) + if abs(eta.days) >= 1: + self.NewsBlurbRelTimer.setText(f'{"Starts in " if eta.days > 0 else ""}{abs(eta.days)}') + else: + self.NewsBlurbRelTimer.setText(f'{"Starts in " if eta.seconds > 0 else ""}{abs(eta.seconds) // 3600}h {(abs(eta.seconds) // 60) % 60}m') + diff --git a/gui_base.py b/gui_base.py index f44f675..3d0d305 100644 --- a/gui_base.py +++ b/gui_base.py @@ -155,7 +155,7 @@ class Ui_MainWindow(object): self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents") self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.scrollAreaWidgetContents) self.verticalLayout_6.setObjectName("verticalLayout_6") - self.Fissure = QtWidgets.QWidget(self.scrollAreaWidgetContents) + self.Fissure = Fissure(self.scrollAreaWidgetContents) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -165,33 +165,6 @@ class Ui_MainWindow(object): self.Fissure.setObjectName("Fissure") self.gridLayout_3 = QtWidgets.QGridLayout(self.Fissure) self.gridLayout_3.setObjectName("gridLayout_3") - self.FissureTier = QtWidgets.QLabel(self.Fissure) - font = QtGui.QFont() - font.setPointSize(12) - font.setBold(True) - font.setWeight(75) - self.FissureTier.setFont(font) - self.FissureTier.setObjectName("FissureTier") - self.gridLayout_3.addWidget(self.FissureTier, 0, 0, 1, 1) - self.FissureTimer = QtWidgets.QLabel(self.Fissure) - font = QtGui.QFont() - font.setBold(True) - font.setWeight(75) - self.FissureTimer.setFont(font) - self.FissureTimer.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) - self.FissureTimer.setObjectName("FissureTimer") - self.gridLayout_3.addWidget(self.FissureTimer, 0, 1, 1, 1) - self.FissureNode = QtWidgets.QLabel(self.Fissure) - font = QtGui.QFont() - font.setPointSize(10) - self.FissureNode.setFont(font) - self.FissureNode.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop) - self.FissureNode.setObjectName("FissureNode") - self.gridLayout_3.addWidget(self.FissureNode, 1, 0, 1, 1) - self.FissureType = QtWidgets.QLabel(self.Fissure) - self.FissureType.setAlignment(QtCore.Qt.AlignCenter) - self.FissureType.setObjectName("FissureType") - self.gridLayout_3.addWidget(self.FissureType, 1, 1, 1, 1) self.verticalLayout_6.addWidget(self.Fissure) self.scrollArea.setWidget(self.scrollAreaWidgetContents) self.verticalLayout_5.addWidget(self.scrollArea) @@ -217,7 +190,7 @@ class Ui_MainWindow(object): self.scrollAreaWidgetContents_2.setObjectName("scrollAreaWidgetContents_2") self.verticalLayout_8 = QtWidgets.QVBoxLayout(self.scrollAreaWidgetContents_2) self.verticalLayout_8.setObjectName("verticalLayout_8") - self.Invasion = QtWidgets.QWidget(self.scrollAreaWidgetContents_2) + self.Invasion = Invasion(self.scrollAreaWidgetContents_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -227,30 +200,6 @@ class Ui_MainWindow(object): self.Invasion.setObjectName("Invasion") self.gridLayout_4 = QtWidgets.QGridLayout(self.Invasion) self.gridLayout_4.setObjectName("gridLayout_4") - self.Reward2 = QtWidgets.QLabel(self.Invasion) - font = QtGui.QFont() - font.setBold(True) - font.setWeight(75) - self.Reward2.setFont(font) - self.Reward2.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) - self.Reward2.setWordWrap(True) - self.Reward2.setObjectName("Reward2") - self.gridLayout_4.addWidget(self.Reward2, 0, 1, 1, 1) - self.InvasionProgress = QtWidgets.QProgressBar(self.Invasion) - self.InvasionProgress.setStyleSheet("QProgressBar {background-color:red;;border-color:red; border:0px}\n" -"QProgressBar::chunk {background-color:blue;}") - self.InvasionProgress.setProperty("value", 24) - self.InvasionProgress.setTextVisible(False) - self.InvasionProgress.setObjectName("InvasionProgress") - self.gridLayout_4.addWidget(self.InvasionProgress, 1, 0, 1, 2) - self.Reward1 = QtWidgets.QLabel(self.Invasion) - font = QtGui.QFont() - font.setBold(True) - font.setWeight(75) - self.Reward1.setFont(font) - self.Reward1.setWordWrap(True) - self.Reward1.setObjectName("Reward1") - self.gridLayout_4.addWidget(self.Reward1, 0, 0, 1, 1) self.verticalLayout_8.addWidget(self.Invasion) self.scrollArea_2.setWidget(self.scrollAreaWidgetContents_2) self.verticalLayout_7.addWidget(self.scrollArea_2) @@ -448,7 +397,7 @@ class Ui_MainWindow(object): self.scrollAreaWidgetContents_3.setObjectName("scrollAreaWidgetContents_3") self.verticalLayout_16 = QtWidgets.QVBoxLayout(self.scrollAreaWidgetContents_3) self.verticalLayout_16.setObjectName("verticalLayout_16") - self.Alert = QtWidgets.QWidget(self.scrollAreaWidgetContents_3) + self.Alert = Alert(self.scrollAreaWidgetContents_3) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -458,23 +407,6 @@ class Ui_MainWindow(object): self.Alert.setObjectName("Alert") self.horizontalLayout_6 = QtWidgets.QHBoxLayout(self.Alert) self.horizontalLayout_6.setObjectName("horizontalLayout_6") - self.AlertReward = QtWidgets.QLabel(self.Alert) - font = QtGui.QFont() - font.setPointSize(10) - font.setBold(True) - font.setWeight(75) - self.AlertReward.setFont(font) - self.AlertReward.setWordWrap(True) - self.AlertReward.setObjectName("AlertReward") - self.horizontalLayout_6.addWidget(self.AlertReward) - self.AlertTimer = QtWidgets.QLabel(self.Alert) - font = QtGui.QFont() - font.setBold(True) - font.setWeight(75) - self.AlertTimer.setFont(font) - self.AlertTimer.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) - self.AlertTimer.setObjectName("AlertTimer") - self.horizontalLayout_6.addWidget(self.AlertTimer) self.verticalLayout_16.addWidget(self.Alert) self.scrollArea_3.setWidget(self.scrollAreaWidgetContents_3) self.verticalLayout_15.addWidget(self.scrollArea_3) @@ -506,19 +438,11 @@ class Ui_MainWindow(object): self.BaroData.setObjectName("BaroData") self.gridLayout_6 = QtWidgets.QGridLayout(self.BaroData) self.gridLayout_6.setObjectName("gridLayout_6") - self.BaroItem = QtWidgets.QWidget(self.BaroData) + self.BaroItem = BaroItem(self.BaroData) self.BaroItem.setMaximumSize(QtCore.QSize(250, 250)) self.BaroItem.setObjectName("BaroItem") self.gridLayout_7 = QtWidgets.QGridLayout(self.BaroItem) self.gridLayout_7.setObjectName("gridLayout_7") - self.ItemName = QtWidgets.QLabel(self.BaroItem) - font = QtGui.QFont() - font.setBold(True) - font.setWeight(75) - self.ItemName.setFont(font) - self.ItemName.setAlignment(QtCore.Qt.AlignCenter) - self.ItemName.setObjectName("ItemName") - self.gridLayout_7.addWidget(self.ItemName, 0, 0, 1, 1) self.gridLayout_6.addWidget(self.BaroItem, 0, 0, 1, 1) self.stackedWidget_2.addWidget(self.BaroData) self.verticalLayout_2.addWidget(self.stackedWidget_2) @@ -555,39 +479,91 @@ class Ui_MainWindow(object): self.NightwaveDaily1.setObjectName("NightwaveDaily1") self.verticalLayout_19 = QtWidgets.QVBoxLayout(self.NightwaveDaily1) self.verticalLayout_19.setObjectName("verticalLayout_19") - self.ChallengeName = QtWidgets.QLabel(self.NightwaveDaily1) + self.Daily1Name = QtWidgets.QLabel(self.NightwaveDaily1) font = QtGui.QFont() font.setPointSize(13) font.setBold(True) font.setWeight(75) - self.ChallengeName.setFont(font) - self.ChallengeName.setAlignment(QtCore.Qt.AlignBottom|QtCore.Qt.AlignHCenter) - self.ChallengeName.setObjectName("ChallengeName") - self.verticalLayout_19.addWidget(self.ChallengeName) - self.ChallengeDesc = QtWidgets.QLabel(self.NightwaveDaily1) - self.ChallengeDesc.setAlignment(QtCore.Qt.AlignHCenter|QtCore.Qt.AlignTop) - self.ChallengeDesc.setObjectName("ChallengeDesc") - self.verticalLayout_19.addWidget(self.ChallengeDesc) + self.Daily1Name.setFont(font) + self.Daily1Name.setAlignment(QtCore.Qt.AlignBottom|QtCore.Qt.AlignHCenter) + self.Daily1Name.setObjectName("Daily1Name") + self.verticalLayout_19.addWidget(self.Daily1Name) + self.Daily1Desc = QtWidgets.QLabel(self.NightwaveDaily1) + self.Daily1Desc.setAlignment(QtCore.Qt.AlignHCenter|QtCore.Qt.AlignTop) + self.Daily1Desc.setObjectName("Daily1Desc") + self.verticalLayout_19.addWidget(self.Daily1Desc) self.horizontalLayout_5.addWidget(self.NightwaveDaily1) self.NightwaveDaily2 = QtWidgets.QWidget(self.widget_3) self.NightwaveDaily2.setObjectName("NightwaveDaily2") - self.verticalLayout_21 = QtWidgets.QVBoxLayout(self.NightwaveDaily2) - self.verticalLayout_21.setObjectName("verticalLayout_21") + self.verticalLayout = QtWidgets.QVBoxLayout(self.NightwaveDaily2) + self.verticalLayout.setObjectName("verticalLayout") + self.Daily2Name = QtWidgets.QLabel(self.NightwaveDaily2) + font = QtGui.QFont() + font.setPointSize(13) + font.setBold(True) + font.setWeight(75) + self.Daily2Name.setFont(font) + self.Daily2Name.setAlignment(QtCore.Qt.AlignBottom|QtCore.Qt.AlignHCenter) + self.Daily2Name.setObjectName("Daily2Name") + self.verticalLayout.addWidget(self.Daily2Name) + self.Daily2Desc = QtWidgets.QLabel(self.NightwaveDaily2) + self.Daily2Desc.setAlignment(QtCore.Qt.AlignHCenter|QtCore.Qt.AlignTop) + self.Daily2Desc.setObjectName("Daily2Desc") + self.verticalLayout.addWidget(self.Daily2Desc) self.horizontalLayout_5.addWidget(self.NightwaveDaily2) self.NightwaveDaily3 = QtWidgets.QWidget(self.widget_3) self.NightwaveDaily3.setObjectName("NightwaveDaily3") - self.verticalLayout_22 = QtWidgets.QVBoxLayout(self.NightwaveDaily3) - self.verticalLayout_22.setObjectName("verticalLayout_22") + self.verticalLayout_20 = QtWidgets.QVBoxLayout(self.NightwaveDaily3) + self.verticalLayout_20.setObjectName("verticalLayout_20") + self.Daily3Name = QtWidgets.QLabel(self.NightwaveDaily3) + font = QtGui.QFont() + font.setPointSize(13) + font.setBold(True) + font.setWeight(75) + self.Daily3Name.setFont(font) + self.Daily3Name.setAlignment(QtCore.Qt.AlignBottom|QtCore.Qt.AlignHCenter) + self.Daily3Name.setObjectName("Daily3Name") + self.verticalLayout_20.addWidget(self.Daily3Name) + self.Daily3Desc = QtWidgets.QLabel(self.NightwaveDaily3) + self.Daily3Desc.setAlignment(QtCore.Qt.AlignHCenter|QtCore.Qt.AlignTop) + self.Daily3Desc.setObjectName("Daily3Desc") + self.verticalLayout_20.addWidget(self.Daily3Desc) self.horizontalLayout_5.addWidget(self.NightwaveDaily3) self.NightwaveWeekly1 = QtWidgets.QWidget(self.widget_3) self.NightwaveWeekly1.setObjectName("NightwaveWeekly1") - self.verticalLayout_23 = QtWidgets.QVBoxLayout(self.NightwaveWeekly1) - self.verticalLayout_23.setObjectName("verticalLayout_23") + self.verticalLayout_21 = QtWidgets.QVBoxLayout(self.NightwaveWeekly1) + self.verticalLayout_21.setObjectName("verticalLayout_21") + self.Weekly1Name = QtWidgets.QLabel(self.NightwaveWeekly1) + font = QtGui.QFont() + font.setPointSize(13) + font.setBold(True) + font.setWeight(75) + self.Weekly1Name.setFont(font) + self.Weekly1Name.setAlignment(QtCore.Qt.AlignBottom|QtCore.Qt.AlignHCenter) + self.Weekly1Name.setObjectName("Weekly1Name") + self.verticalLayout_21.addWidget(self.Weekly1Name) + self.Weekly1Desc = QtWidgets.QLabel(self.NightwaveWeekly1) + self.Weekly1Desc.setAlignment(QtCore.Qt.AlignHCenter|QtCore.Qt.AlignTop) + self.Weekly1Desc.setObjectName("Weekly1Desc") + self.verticalLayout_21.addWidget(self.Weekly1Desc) self.horizontalLayout_5.addWidget(self.NightwaveWeekly1) self.NightwaveWeekly2 = QtWidgets.QWidget(self.widget_3) self.NightwaveWeekly2.setObjectName("NightwaveWeekly2") - self.verticalLayout_24 = QtWidgets.QVBoxLayout(self.NightwaveWeekly2) - self.verticalLayout_24.setObjectName("verticalLayout_24") + self.verticalLayout_22 = QtWidgets.QVBoxLayout(self.NightwaveWeekly2) + self.verticalLayout_22.setObjectName("verticalLayout_22") + self.Weekly2Name = QtWidgets.QLabel(self.NightwaveWeekly2) + font = QtGui.QFont() + font.setPointSize(13) + font.setBold(True) + font.setWeight(75) + self.Weekly2Name.setFont(font) + self.Weekly2Name.setAlignment(QtCore.Qt.AlignBottom|QtCore.Qt.AlignHCenter) + self.Weekly2Name.setObjectName("Weekly2Name") + self.verticalLayout_22.addWidget(self.Weekly2Name) + self.Weekly2Desc = QtWidgets.QLabel(self.NightwaveWeekly2) + self.Weekly2Desc.setAlignment(QtCore.Qt.AlignHCenter|QtCore.Qt.AlignTop) + self.Weekly2Desc.setObjectName("Weekly2Desc") + self.verticalLayout_22.addWidget(self.Weekly2Desc) self.horizontalLayout_5.addWidget(self.NightwaveWeekly2) self.gridLayout_8.addWidget(self.widget_3, 0, 0, 1, 1) self.widget_4 = QtWidgets.QWidget(self.NightwaveData) @@ -596,28 +572,93 @@ class Ui_MainWindow(object): self.horizontalLayout_9.setObjectName("horizontalLayout_9") self.NightwaveWeekly3 = QtWidgets.QWidget(self.widget_4) self.NightwaveWeekly3.setObjectName("NightwaveWeekly3") - self.verticalLayout_25 = QtWidgets.QVBoxLayout(self.NightwaveWeekly3) - self.verticalLayout_25.setObjectName("verticalLayout_25") + self.verticalLayout_23 = QtWidgets.QVBoxLayout(self.NightwaveWeekly3) + self.verticalLayout_23.setObjectName("verticalLayout_23") + self.Weekly3Name = QtWidgets.QLabel(self.NightwaveWeekly3) + font = QtGui.QFont() + font.setPointSize(13) + font.setBold(True) + font.setWeight(75) + self.Weekly3Name.setFont(font) + self.Weekly3Name.setAlignment(QtCore.Qt.AlignBottom|QtCore.Qt.AlignHCenter) + self.Weekly3Name.setObjectName("Weekly3Name") + self.verticalLayout_23.addWidget(self.Weekly3Name) + self.Weekly3Desc = QtWidgets.QLabel(self.NightwaveWeekly3) + self.Weekly3Desc.setAlignment(QtCore.Qt.AlignHCenter|QtCore.Qt.AlignTop) + self.Weekly3Desc.setObjectName("Weekly3Desc") + self.verticalLayout_23.addWidget(self.Weekly3Desc) self.horizontalLayout_9.addWidget(self.NightwaveWeekly3) self.NightwaveWeekly4 = QtWidgets.QWidget(self.widget_4) self.NightwaveWeekly4.setObjectName("NightwaveWeekly4") - self.verticalLayout_26 = QtWidgets.QVBoxLayout(self.NightwaveWeekly4) - self.verticalLayout_26.setObjectName("verticalLayout_26") + self.verticalLayout_24 = QtWidgets.QVBoxLayout(self.NightwaveWeekly4) + self.verticalLayout_24.setObjectName("verticalLayout_24") + self.Weekly4Name = QtWidgets.QLabel(self.NightwaveWeekly4) + font = QtGui.QFont() + font.setPointSize(13) + font.setBold(True) + font.setWeight(75) + self.Weekly4Name.setFont(font) + self.Weekly4Name.setAlignment(QtCore.Qt.AlignBottom|QtCore.Qt.AlignHCenter) + self.Weekly4Name.setObjectName("Weekly4Name") + self.verticalLayout_24.addWidget(self.Weekly4Name) + self.Weekly4Desc = QtWidgets.QLabel(self.NightwaveWeekly4) + self.Weekly4Desc.setAlignment(QtCore.Qt.AlignHCenter|QtCore.Qt.AlignTop) + self.Weekly4Desc.setObjectName("Weekly4Desc") + self.verticalLayout_24.addWidget(self.Weekly4Desc) self.horizontalLayout_9.addWidget(self.NightwaveWeekly4) self.NightwaveWeekly5 = QtWidgets.QWidget(self.widget_4) self.NightwaveWeekly5.setObjectName("NightwaveWeekly5") - self.verticalLayout_27 = QtWidgets.QVBoxLayout(self.NightwaveWeekly5) - self.verticalLayout_27.setObjectName("verticalLayout_27") + self.verticalLayout_25 = QtWidgets.QVBoxLayout(self.NightwaveWeekly5) + self.verticalLayout_25.setObjectName("verticalLayout_25") + self.Weekly5Name = QtWidgets.QLabel(self.NightwaveWeekly5) + font = QtGui.QFont() + font.setPointSize(13) + font.setBold(True) + font.setWeight(75) + self.Weekly5Name.setFont(font) + self.Weekly5Name.setAlignment(QtCore.Qt.AlignBottom|QtCore.Qt.AlignHCenter) + self.Weekly5Name.setObjectName("Weekly5Name") + self.verticalLayout_25.addWidget(self.Weekly5Name) + self.Weekly5Desc = QtWidgets.QLabel(self.NightwaveWeekly5) + self.Weekly5Desc.setAlignment(QtCore.Qt.AlignHCenter|QtCore.Qt.AlignTop) + self.Weekly5Desc.setObjectName("Weekly5Desc") + self.verticalLayout_25.addWidget(self.Weekly5Desc) self.horizontalLayout_9.addWidget(self.NightwaveWeekly5) self.NightwaveElite1 = QtWidgets.QWidget(self.widget_4) self.NightwaveElite1.setObjectName("NightwaveElite1") - self.verticalLayout_28 = QtWidgets.QVBoxLayout(self.NightwaveElite1) - self.verticalLayout_28.setObjectName("verticalLayout_28") + self.verticalLayout_26 = QtWidgets.QVBoxLayout(self.NightwaveElite1) + self.verticalLayout_26.setObjectName("verticalLayout_26") + self.Elite1Name = QtWidgets.QLabel(self.NightwaveElite1) + font = QtGui.QFont() + font.setPointSize(13) + font.setBold(True) + font.setWeight(75) + self.Elite1Name.setFont(font) + self.Elite1Name.setAlignment(QtCore.Qt.AlignBottom|QtCore.Qt.AlignHCenter) + self.Elite1Name.setObjectName("Elite1Name") + self.verticalLayout_26.addWidget(self.Elite1Name) + self.Elite1Desc = QtWidgets.QLabel(self.NightwaveElite1) + self.Elite1Desc.setAlignment(QtCore.Qt.AlignHCenter|QtCore.Qt.AlignTop) + self.Elite1Desc.setObjectName("Elite1Desc") + self.verticalLayout_26.addWidget(self.Elite1Desc) self.horizontalLayout_9.addWidget(self.NightwaveElite1) self.NightwaveElite2 = QtWidgets.QWidget(self.widget_4) self.NightwaveElite2.setObjectName("NightwaveElite2") - self.verticalLayout_29 = QtWidgets.QVBoxLayout(self.NightwaveElite2) - self.verticalLayout_29.setObjectName("verticalLayout_29") + self.verticalLayout_27 = QtWidgets.QVBoxLayout(self.NightwaveElite2) + self.verticalLayout_27.setObjectName("verticalLayout_27") + self.Elite2Name = QtWidgets.QLabel(self.NightwaveElite2) + font = QtGui.QFont() + font.setPointSize(13) + font.setBold(True) + font.setWeight(75) + self.Elite2Name.setFont(font) + self.Elite2Name.setAlignment(QtCore.Qt.AlignBottom|QtCore.Qt.AlignHCenter) + self.Elite2Name.setObjectName("Elite2Name") + self.verticalLayout_27.addWidget(self.Elite2Name) + self.Elite3Desc = QtWidgets.QLabel(self.NightwaveElite2) + self.Elite3Desc.setAlignment(QtCore.Qt.AlignHCenter|QtCore.Qt.AlignTop) + self.Elite3Desc.setObjectName("Elite3Desc") + self.verticalLayout_27.addWidget(self.Elite3Desc) self.horizontalLayout_9.addWidget(self.NightwaveElite2) self.gridLayout_8.addWidget(self.widget_4, 1, 0, 1, 1) self.stackedWidget_3.addWidget(self.NightwaveData) @@ -648,7 +689,7 @@ class Ui_MainWindow(object): self.scrollAreaWidgetContents_4.setObjectName("scrollAreaWidgetContents_4") self.verticalLayout_31 = QtWidgets.QVBoxLayout(self.scrollAreaWidgetContents_4) self.verticalLayout_31.setObjectName("verticalLayout_31") - self.Event = QtWidgets.QWidget(self.scrollAreaWidgetContents_4) + self.Event = Event(self.scrollAreaWidgetContents_4) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -658,22 +699,6 @@ class Ui_MainWindow(object): self.Event.setObjectName("Event") self.horizontalLayout_11 = QtWidgets.QHBoxLayout(self.Event) self.horizontalLayout_11.setObjectName("horizontalLayout_11") - self.EventName = QtWidgets.QLabel(self.Event) - font = QtGui.QFont() - font.setPointSize(12) - font.setBold(True) - font.setWeight(75) - self.EventName.setFont(font) - self.EventName.setObjectName("EventName") - self.horizontalLayout_11.addWidget(self.EventName) - self.EventTimer = QtWidgets.QLabel(self.Event) - font = QtGui.QFont() - font.setBold(True) - font.setWeight(75) - self.EventTimer.setFont(font) - self.EventTimer.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) - self.EventTimer.setObjectName("EventTimer") - self.horizontalLayout_11.addWidget(self.EventTimer) self.verticalLayout_31.addWidget(self.Event) self.scrollArea_4.setWidget(self.scrollAreaWidgetContents_4) self.verticalLayout_30.addWidget(self.scrollArea_4) @@ -699,7 +724,7 @@ class Ui_MainWindow(object): self.scrollAreaWidgetContents_5.setObjectName("scrollAreaWidgetContents_5") self.verticalLayout_33 = QtWidgets.QVBoxLayout(self.scrollAreaWidgetContents_5) self.verticalLayout_33.setObjectName("verticalLayout_33") - self.NewsBlurb = QtWidgets.QWidget(self.scrollAreaWidgetContents_5) + self.NewsBlurb = NewsBlurb(self.scrollAreaWidgetContents_5) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -709,29 +734,6 @@ class Ui_MainWindow(object): self.NewsBlurb.setObjectName("NewsBlurb") self.horizontalLayout_12 = QtWidgets.QHBoxLayout(self.NewsBlurb) self.horizontalLayout_12.setObjectName("horizontalLayout_12") - self.NewsBlurbHyperLink = QtWidgets.QLabel(self.NewsBlurb) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(3) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.NewsBlurbHyperLink.sizePolicy().hasHeightForWidth()) - self.NewsBlurbHyperLink.setSizePolicy(sizePolicy) - font = QtGui.QFont() - font.setPointSize(11) - font.setUnderline(True) - self.NewsBlurbHyperLink.setFont(font) - self.NewsBlurbHyperLink.setWordWrap(True) - self.NewsBlurbHyperLink.setOpenExternalLinks(True) - self.NewsBlurbHyperLink.setObjectName("NewsBlurbHyperLink") - self.horizontalLayout_12.addWidget(self.NewsBlurbHyperLink) - self.NewsBlurbRelTimer = QtWidgets.QLabel(self.NewsBlurb) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(1) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.NewsBlurbRelTimer.sizePolicy().hasHeightForWidth()) - self.NewsBlurbRelTimer.setSizePolicy(sizePolicy) - self.NewsBlurbRelTimer.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) - self.NewsBlurbRelTimer.setObjectName("NewsBlurbRelTimer") - self.horizontalLayout_12.addWidget(self.NewsBlurbRelTimer) self.verticalLayout_33.addWidget(self.NewsBlurb) self.scrollArea_5.setWidget(self.scrollAreaWidgetContents_5) self.verticalLayout_32.addWidget(self.scrollArea_5) @@ -744,7 +746,7 @@ class Ui_MainWindow(object): MainWindow.setStatusBar(self.statusbar) self.retranslateUi(MainWindow) - self.tabWidget.setCurrentIndex(2) + self.tabWidget.setCurrentIndex(0) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): @@ -758,13 +760,7 @@ class Ui_MainWindow(object): self.BountyStr.setText(_translate("MainWindow", "Bounties reset in:")) self.BountyTimeStr.setText(_translate("MainWindow", "2h 10m 5s")) self.label.setText(_translate("MainWindow", "Fissures")) - self.FissureTier.setText(_translate("MainWindow", "Neo - T3")) - self.FissureTimer.setText(_translate("MainWindow", "22m 14s")) - self.FissureNode.setText(_translate("MainWindow", "Ukko (Void)")) - self.FissureType.setText(_translate("MainWindow", "Storm")) self.label_2.setText(_translate("MainWindow", "Invasions")) - self.Reward2.setText(_translate("MainWindow", "3x Detonite Injector")) - self.Reward1.setText(_translate("MainWindow", "3x Fieldron")) self.label_7.setText(_translate("MainWindow", "Sortie")) self.SortieResetTimer.setText(_translate("MainWindow", "9h 18m 10s")) self.SortieM1.setText(_translate("MainWindow", "Exterminate")) @@ -783,20 +779,32 @@ class Ui_MainWindow(object): self.ArbitrationMT.setText(_translate("MainWindow", "Defection")) self.ArbitrationTimer.setText(_translate("MainWindow", "55m 14s")) self.label_9.setText(_translate("MainWindow", "Alerts")) - self.AlertReward.setText(_translate("MainWindow", "Orokin Reactor Blueprint")) - self.AlertTimer.setText(_translate("MainWindow", "2h 5s")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.Timers), _translate("MainWindow", "Timers")) self.label_10.setText(_translate("MainWindow", "Baro not here")) - self.ItemName.setText(_translate("MainWindow", "Prisma Grinlok")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.Baro), _translate("MainWindow", "Baro")) self.label_11.setText(_translate("MainWindow", "Nightwave not active")) - self.ChallengeName.setText(_translate("MainWindow", "Agent")) - self.ChallengeDesc.setText(_translate("MainWindow", "Complete a Mission")) + self.Daily1Name.setText(_translate("MainWindow", "Agent")) + self.Daily1Desc.setText(_translate("MainWindow", "Complete a Mission")) + self.Daily2Name.setText(_translate("MainWindow", "Agent")) + self.Daily2Desc.setText(_translate("MainWindow", "Complete a Mission")) + self.Daily3Name.setText(_translate("MainWindow", "Agent")) + self.Daily3Desc.setText(_translate("MainWindow", "Complete a Mission")) + self.Weekly1Name.setText(_translate("MainWindow", "Agent")) + self.Weekly1Desc.setText(_translate("MainWindow", "Complete a Mission")) + self.Weekly2Name.setText(_translate("MainWindow", "Agent")) + self.Weekly2Desc.setText(_translate("MainWindow", "Complete a Mission")) + self.Weekly3Name.setText(_translate("MainWindow", "Agent")) + self.Weekly3Desc.setText(_translate("MainWindow", "Complete a Mission")) + self.Weekly4Name.setText(_translate("MainWindow", "Agent")) + self.Weekly4Desc.setText(_translate("MainWindow", "Complete a Mission")) + self.Weekly5Name.setText(_translate("MainWindow", "Agent")) + self.Weekly5Desc.setText(_translate("MainWindow", "Complete a Mission")) + self.Elite1Name.setText(_translate("MainWindow", "Agent")) + self.Elite1Desc.setText(_translate("MainWindow", "Complete a Mission")) + self.Elite2Name.setText(_translate("MainWindow", "Agent")) + self.Elite3Desc.setText(_translate("MainWindow", "Complete a Mission")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.Nightwave), _translate("MainWindow", "Nightwave")) self.label_12.setText(_translate("MainWindow", "Events")) - self.EventName.setText(_translate("MainWindow", "Thermia Fractures")) - self.EventTimer.setText(_translate("MainWindow", "2d 15h 24m 9s")) self.label_18.setText(_translate("MainWindow", "News")) - self.NewsBlurbHyperLink.setText(_translate("MainWindow", "Devesteam blah blah")) - self.NewsBlurbRelTimer.setText(_translate("MainWindow", "1d")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.NewsAndEvents), _translate("MainWindow", "News and Events")) +from extra_widgets import Alert, BaroItem, Event, Fissure, Invasion, NewsBlurb diff --git a/gui_base.ui b/gui_base.ui index 54b6879..349f46f 100644 --- a/gui_base.ui +++ b/gui_base.ui @@ -18,7 +18,7 @@ - 2 + 0 @@ -229,7 +229,7 @@ - + 0 @@ -242,63 +242,7 @@ 100 - - - - - - 12 - 75 - true - - - - Neo - T3 - - - - - - - - 75 - true - - - - 22m 14s - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - 10 - - - - Ukko (Void) - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - - - Storm - - - Qt::AlignCenter - - - - + @@ -343,7 +287,7 @@ - + 0 @@ -356,57 +300,7 @@ 100 - - - - - - 75 - true - - - - 3x Detonite Injector - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - true - - - - - - - QProgressBar {background-color:red;;border-color:red; border:0px} -QProgressBar::chunk {background-color:blue;} - - - 24 - - - false - - - - - - - - 75 - true - - - - 3x Fieldron - - - true - - - - + @@ -741,7 +635,7 @@ QProgressBar::chunk {background-color:blue;} - + 0 @@ -754,41 +648,7 @@ QProgressBar::chunk {background-color:blue;} 100 - - - - - - 10 - 75 - true - - - - Orokin Reactor Blueprint - - - true - - - - - - - - 75 - true - - - - 2h 5s - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - + @@ -837,31 +697,14 @@ QProgressBar::chunk {background-color:blue;} - + 250 250 - - - - - - 75 - true - - - - Prisma Grinlok - - - Qt::AlignCenter - - - - + @@ -907,7 +750,7 @@ QProgressBar::chunk {background-color:blue;} - + 13 @@ -924,7 +767,7 @@ QProgressBar::chunk {background-color:blue;} - + Complete a Mission @@ -938,22 +781,134 @@ QProgressBar::chunk {background-color:blue;} - + + + + + + 13 + 75 + true + + + + Agent + + + Qt::AlignBottom|Qt::AlignHCenter + + + + + + + Complete a Mission + + + Qt::AlignHCenter|Qt::AlignTop + + + + - + + + + + + 13 + 75 + true + + + + Agent + + + Qt::AlignBottom|Qt::AlignHCenter + + + + + + + Complete a Mission + + + Qt::AlignHCenter|Qt::AlignTop + + + + - + + + + + + 13 + 75 + true + + + + Agent + + + Qt::AlignBottom|Qt::AlignHCenter + + + + + + + Complete a Mission + + + Qt::AlignHCenter|Qt::AlignTop + + + + - + + + + + + 13 + 75 + true + + + + Agent + + + Qt::AlignBottom|Qt::AlignHCenter + + + + + + + Complete a Mission + + + Qt::AlignHCenter|Qt::AlignTop + + + + @@ -964,27 +919,167 @@ QProgressBar::chunk {background-color:blue;} - + + + + + + 13 + 75 + true + + + + Agent + + + Qt::AlignBottom|Qt::AlignHCenter + + + + + + + Complete a Mission + + + Qt::AlignHCenter|Qt::AlignTop + + + + - + + + + + + 13 + 75 + true + + + + Agent + + + Qt::AlignBottom|Qt::AlignHCenter + + + + + + + Complete a Mission + + + Qt::AlignHCenter|Qt::AlignTop + + + + - + + + + + + 13 + 75 + true + + + + Agent + + + Qt::AlignBottom|Qt::AlignHCenter + + + + + + + Complete a Mission + + + Qt::AlignHCenter|Qt::AlignTop + + + + - + + + + + + 13 + 75 + true + + + + Agent + + + Qt::AlignBottom|Qt::AlignHCenter + + + + + + + Complete a Mission + + + Qt::AlignHCenter|Qt::AlignTop + + + + - + + + + + + 13 + 75 + true + + + + Agent + + + Qt::AlignBottom|Qt::AlignHCenter + + + + + + + Complete a Mission + + + Qt::AlignHCenter|Qt::AlignTop + + + + @@ -1036,7 +1131,7 @@ QProgressBar::chunk {background-color:blue;} - + 0 @@ -1049,38 +1144,7 @@ QProgressBar::chunk {background-color:blue;} 100 - - - - - - 12 - 75 - true - - - - Thermia Fractures - - - - - - - - 75 - true - - - - 2d 15h 24m 9s - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - + @@ -1125,7 +1189,7 @@ QProgressBar::chunk {background-color:blue;} - + 0 @@ -1138,49 +1202,7 @@ QProgressBar::chunk {background-color:blue;} 100 - - - - - - 3 - 0 - - - - - 11 - true - - - - <a href="https://duckduckgo.com">Devesteam blah blah</a> - - - true - - - true - - - - - - - - 1 - 0 - - - - 1d - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - + @@ -1198,6 +1220,44 @@ QProgressBar::chunk {background-color:blue;} + + + Fissure + QWidget +
extra_widgets
+ 1 +
+ + Invasion + QWidget +
extra_widgets
+ 1 +
+ + Alert + QWidget +
extra_widgets
+ 1 +
+ + BaroItem + QWidget +
extra_widgets
+ 1 +
+ + Event + QWidget +
extra_widgets
+ 1 +
+ + NewsBlurb + QWidget +
extra_widgets
+ 1 +
+