fix: standalone extractor UI improvements
- Removed EntropiaNexus.com from footer - Description now on two lines with clickable link to EntropiaNexus.com - Shortened Important Information text: "REQUIREMENT: Items must be seen in-game before they appear in the cache! If an icon is missing, view the item in your inventory or the auction first. Output: Documents/Entropia Universe/Icons/" - Increased minimum heights for path labels to show full content - Fixed box sizing for Cache Source, Output Location, and Nexus sections
This commit is contained in:
parent
f498dffa69
commit
9de20ad9d8
|
|
@ -317,14 +317,33 @@ class IconExtractorWindow(QMainWindow):
|
||||||
header.setStyleSheet("font-size: 24px; font-weight: bold; color: #4caf50; padding-bottom: 5px;")
|
header.setStyleSheet("font-size: 24px; font-weight: bold; color: #4caf50; padding-bottom: 5px;")
|
||||||
layout.addWidget(header)
|
layout.addWidget(header)
|
||||||
|
|
||||||
# Description
|
# Description - two lines with clickable link
|
||||||
desc = QLabel(
|
desc_widget = QWidget()
|
||||||
"Extract item icons from Entropia Universe cache and convert them to PNG. "
|
desc_layout = QVBoxLayout(desc_widget)
|
||||||
"Submit these to EntropiaNexus.com to help complete the item database."
|
desc_layout.setContentsMargins(5, 5, 5, 5)
|
||||||
)
|
desc_layout.setSpacing(4)
|
||||||
desc.setStyleSheet("color: #cccccc; font-size: 13px; padding: 5px;")
|
|
||||||
desc.setWordWrap(True)
|
desc_line1 = QLabel("Extract the item icons from Entropia Universe cache and convert them to PNG.")
|
||||||
layout.addWidget(desc)
|
desc_line1.setStyleSheet("color: #cccccc; font-size: 13px;")
|
||||||
|
desc_layout.addWidget(desc_line1)
|
||||||
|
|
||||||
|
desc_line2 = QLabel("You can submit these to ")
|
||||||
|
desc_line2.setStyleSheet("color: #cccccc; font-size: 13px;")
|
||||||
|
desc_line2.setOpenExternalLinks(True)
|
||||||
|
|
||||||
|
# Clickable link
|
||||||
|
link_label = QLabel('<a href="https://EntropiaNexus.com" style="color: #4caf50;">EntropiaNexus.com</a> to help complete the item database.')
|
||||||
|
link_label.setStyleSheet("font-size: 13px;")
|
||||||
|
link_label.setOpenExternalLinks(True)
|
||||||
|
|
||||||
|
desc_line2_layout = QHBoxLayout()
|
||||||
|
desc_line2_layout.setContentsMargins(0, 0, 0, 0)
|
||||||
|
desc_line2_layout.addWidget(desc_line2)
|
||||||
|
desc_line2_layout.addWidget(link_label)
|
||||||
|
desc_line2_layout.addStretch()
|
||||||
|
desc_layout.addLayout(desc_line2_layout)
|
||||||
|
|
||||||
|
layout.addWidget(desc_widget)
|
||||||
|
|
||||||
# Main splitter
|
# Main splitter
|
||||||
splitter = QSplitter(Qt.Orientation.Horizontal)
|
splitter = QSplitter(Qt.Orientation.Horizontal)
|
||||||
|
|
@ -350,7 +369,7 @@ class IconExtractorWindow(QMainWindow):
|
||||||
"padding: 10px; background: #252525; border-radius: 4px;"
|
"padding: 10px; background: #252525; border-radius: 4px;"
|
||||||
)
|
)
|
||||||
self.cache_label.setWordWrap(True)
|
self.cache_label.setWordWrap(True)
|
||||||
self.cache_label.setMinimumHeight(35)
|
self.cache_label.setMinimumHeight(45)
|
||||||
cache_layout.addWidget(self.cache_label)
|
cache_layout.addWidget(self.cache_label)
|
||||||
|
|
||||||
# Subfolder selector
|
# Subfolder selector
|
||||||
|
|
@ -390,7 +409,7 @@ class IconExtractorWindow(QMainWindow):
|
||||||
output_layout.setContentsMargins(12, 18, 12, 12)
|
output_layout.setContentsMargins(12, 18, 12, 12)
|
||||||
output_layout.setSpacing(10)
|
output_layout.setSpacing(10)
|
||||||
|
|
||||||
output_info = QLabel("Icons saved to your Documents folder (same as chat.log)")
|
output_info = QLabel("Icons saved to your Documents folder (same location as chat.log)")
|
||||||
output_info.setStyleSheet("color: #aaaaaa; font-size: 12px;")
|
output_info.setStyleSheet("color: #aaaaaa; font-size: 12px;")
|
||||||
output_info.setWordWrap(True)
|
output_info.setWordWrap(True)
|
||||||
output_layout.addWidget(output_info)
|
output_layout.addWidget(output_info)
|
||||||
|
|
@ -401,6 +420,7 @@ class IconExtractorWindow(QMainWindow):
|
||||||
"font-family: Consolas; font-size: 11px; color: #aaa; "
|
"font-family: Consolas; font-size: 11px; color: #aaa; "
|
||||||
"padding: 10px; background: #252525; border-radius: 4px;"
|
"padding: 10px; background: #252525; border-radius: 4px;"
|
||||||
)
|
)
|
||||||
|
self.output_label.setMinimumHeight(35)
|
||||||
output_layout.addWidget(self.output_label)
|
output_layout.addWidget(self.output_label)
|
||||||
|
|
||||||
change_btn = QPushButton("Change Output Folder...")
|
change_btn = QPushButton("Change Output Folder...")
|
||||||
|
|
@ -432,13 +452,12 @@ class IconExtractorWindow(QMainWindow):
|
||||||
nexus_layout = QVBoxLayout(nexus_group)
|
nexus_layout = QVBoxLayout(nexus_group)
|
||||||
nexus_layout.setContentsMargins(12, 18, 12, 12)
|
nexus_layout.setContentsMargins(12, 18, 12, 12)
|
||||||
|
|
||||||
nexus_info = QLabel("Submit icons to help complete the item database!")
|
nexus_info = QLabel("Submit icons to help complete the item database")
|
||||||
nexus_info.setStyleSheet("color: #cccccc; font-size: 12px;")
|
nexus_info.setStyleSheet("color: #cccccc; font-size: 12px;")
|
||||||
nexus_info.setWordWrap(True)
|
|
||||||
nexus_layout.addWidget(nexus_info)
|
nexus_layout.addWidget(nexus_info)
|
||||||
|
|
||||||
nexus_btn = QPushButton("Open EntropiaNexus.com")
|
nexus_btn = QPushButton("Open EntropiaNexus.com")
|
||||||
nexus_btn.setMaximumHeight(32)
|
nexus_btn.setMinimumHeight(32)
|
||||||
nexus_btn.setStyleSheet("font-size: 11px; padding: 6px;")
|
nexus_btn.setStyleSheet("font-size: 11px; padding: 6px;")
|
||||||
nexus_btn.clicked.connect(lambda: self._open_url(WEBSITE))
|
nexus_btn.clicked.connect(lambda: self._open_url(WEBSITE))
|
||||||
nexus_layout.addWidget(nexus_btn)
|
nexus_layout.addWidget(nexus_btn)
|
||||||
|
|
@ -562,17 +581,16 @@ class IconExtractorWindow(QMainWindow):
|
||||||
}
|
}
|
||||||
""")
|
""")
|
||||||
notice_text.setText(
|
notice_text.setText(
|
||||||
"REQUIREMENT: Items must be seen/rendered in-game before they appear in the cache!\n\n"
|
"REQUIREMENT: Items must be seen in-game before they appear in the cache! "
|
||||||
"If an item icon is missing, view it in your inventory or see it dropped as loot first. "
|
"If an icon is missing, view the item in your inventory or the auction first. "
|
||||||
"The game only caches icons for items you have actually seen.\n\n"
|
"Output: Documents/Entropia Universe/Icons/"
|
||||||
"Output: Documents/Entropia Universe/Icons/ (same folder as chat.log)"
|
|
||||||
)
|
)
|
||||||
notice_layout.addWidget(notice_text)
|
notice_layout.addWidget(notice_text)
|
||||||
layout.addWidget(notice_group)
|
layout.addWidget(notice_group)
|
||||||
|
|
||||||
# Footer
|
# Footer
|
||||||
footer = QLabel(
|
footer = QLabel(
|
||||||
f"Developed by {DEVELOPER} | Discord: {DISCORD} | {WEBSITE}\n"
|
f"Developed by {DEVELOPER} | Discord: {DISCORD}\n"
|
||||||
"Entropia Universe Icon Extractor is a fan-made resource and is not affiliated with MindArk PE AB. "
|
"Entropia Universe Icon Extractor is a fan-made resource and is not affiliated with MindArk PE AB. "
|
||||||
"Entropia Universe is a trademark of MindArk PE AB."
|
"Entropia Universe is a trademark of MindArk PE AB."
|
||||||
)
|
)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue