Compare commits

..

3 Commits

Author SHA1 Message Date
2b4a8a97e1
Added hover colors to scroll bars 2025-05-06 23:37:58 -04:00
d5cddfc4c0
Added QSS for custom scroll bars
Also enabled the Wii U NUS by default again, because that got missed before. Whoops.
2025-05-06 22:36:55 -04:00
6997ba759f
Added more custom QSS, getting close to finished 2025-05-06 21:58:26 -04:00
3 changed files with 297 additions and 4 deletions

View File

@ -23,7 +23,7 @@ import webbrowser
from importlib.metadata import version
from PySide6.QtGui import QIcon
from PySide6.QtWidgets import QApplication, QMainWindow, QMessageBox, QFileDialog
from PySide6.QtWidgets import QApplication, QMainWindow, QMessageBox, QFileDialog, QListView
from PySide6.QtCore import QRunnable, Slot, QThreadPool, Signal, QObject, QLibraryInfo, QTranslator, QLocale
from qt.py.ui_AboutDialog import AboutNUSGet
@ -118,9 +118,10 @@ class MainWindow(QMainWindow, Ui_MainWindow):
"will be downloaded to a folder named \"NUSGet Downloads\" inside your downloads folder.")
self.ui.log_text_browser.setText(self.log_text)
# Add console entries to dropdown and attach on change signal.
self.ui.console_select_dropdown.addItem("Wii")
self.ui.console_select_dropdown.addItem("vWii")
self.ui.console_select_dropdown.addItem("DSi")
self.ui.console_select_dropdown.addItems(["Wii", "vWii", "DSi"])
list_view = QListView()
list_view.setMouseTracking(True)
self.ui.console_select_dropdown.setView(list_view)
self.ui.console_select_dropdown.currentIndexChanged.connect(self.selected_console_changed)
# Title tree loading code. Now powered by Models:tm:
wii_model = NUSGetTreeModel(wii_database, root_name="Wii Titles")
@ -152,6 +153,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.ui.create_dec_checkbox.label.setText(app.translate("MainWindow", "Create decrypted contents (*.app)"))
self.ui.use_local_checkbox.label.setText(app.translate("MainWindow", "Use local files, if they exist"))
self.ui.use_wiiu_nus_checkbox.label.setText(app.translate("MainWindow", "Use the Wii U NUS (faster, only effects Wii/vWii)"))
self.ui.use_wiiu_nus_checkbox.setChecked(True)
self.ui.patch_ios_checkbox.label.setText(app.translate("MainWindow", "Apply patches to IOS (Applies to WADs only)"))
self.ui.pack_vwii_mode_checkbox.label.setText(app.translate("MainWindow", "Re-encrypt title using the Wii Common Key"))
self.ui.auto_update_checkbox.label.setText(app.translate("MainWindow", "Check for updates on startup"))

59
resources/down_arrow.svg Normal file
View File

@ -0,0 +1,59 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="16"
height="16"
viewBox="0 0 16 16"
version="1.1"
id="svg1"
inkscape:version="1.4.1 (93de688d07, 2025-03-30)"
sodipodi:docname="down_arrow.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#999999"
borderopacity="1"
inkscape:showpageshadow="2"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="px"
inkscape:zoom="57.72"
inkscape:cx="8.004158"
inkscape:cy="8.4026334"
inkscape:window-width="1920"
inkscape:window-height="1012"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs1" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<path
sodipodi:type="star"
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.154168;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
id="path1"
inkscape:flatsided="false"
sodipodi:sides="3"
sodipodi:cx="5.0945272"
sodipodi:cy="5.9900498"
sodipodi:r1="1.9104478"
sodipodi:r2="0.95522392"
sodipodi:arg1="1.5707963"
sodipodi:arg2="2.6179939"
inkscape:rounded="0"
inkscape:randomized="0"
d="M 5.0945273,7.9004977 4.2672791,6.4676618 3.4400309,5.034826 l 1.6544964,-10e-8 1.6544963,0 -0.8272482,1.4328359 z"
inkscape:transform-center-y="0.68257261"
transform="matrix(2.3912596,0,0,1.4291353,-4.1823371,-1.2431638)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -10,6 +10,34 @@ QMainWindow QLabel {
color: #ffffff;
}
QMenuBar {
background-color: #2b2b2b;
}
QMenuBar::item:selected {
background-color: #1a73e8;
}
QMenu {
background-color: #222222;
border: 1px solid rgba(70, 70, 70, 1);
border-radius: 8px;
padding: 6px 10px;
margin: 4px 0px;
}
QMenu::item:selected {
background-color: #1a73e8;
}
QAction {
background-color: #222222;
border: 1px solid rgba(70, 70, 70, 1);
border-radius: 8px;
padding: 6px 10px;
margin: 4px 0px;
}
QRadioButton {
background-color: transparent;
border: 1px solid rgba(70, 70, 70, 1);
@ -50,7 +78,88 @@ QRadioButton::indicator:hover {
border-color: #1a73e8;
}
QLineEdit {
background-color: transparent;
border: 1px solid rgba(70, 70, 70, 1);
border-radius: 8px;
padding: 6px 10px;
margin: 4px 0px;
font-size: 13px;
color: #ffffff;
selection-background-color: #1a73e8;
}
QLineEdit:focus {
border-color: #1a73e8;
}
QLineEdit:disabled {
background-color: rgba(70, 70, 70, 0.5);
border: 1px solid rgba(100, 100, 100, 0.3);
color: rgba(255, 255, 255, 0.3);
}
QTabWidget::pane {
border: 1px solid rgba(70, 70, 70, 1);
border-top-right-radius: 8px;
border-bottom-right-radius: 8px;
border-bottom-left-radius: 8px;
background-color: #2b2b2b;
top: -1px;
}
QTabBar::tab {
background-color: transparent;
border-top: 1px solid rgba(70, 70, 70, 1);
border-left: 1px solid rgba(70, 70, 70, 1);
border-right: 1px solid rgba(70, 70, 70, 1);
border-top-left-radius: 6px;
border-top-right-radius: 6px;
padding: 6px 10px;
font-size: 13px;
font-weight: 500;
color: #ffffff;
}
QTabBar::tab:selected, QTabBar::tab:hover {
background-color: #2b2b2b;
}
QTreeView {
show-decoration-selected: 1;
outline: 0;
background-color: #1a1a1a;
border: 0;
border-radius: 8px;
}
QTreeView QHeaderView::section {
background-color: #2b2b2b;
border: 0;
font-weight: 500;
margin-top: -5px;
}
QTreeView::item:hover {
background-color: rgba(60, 60, 60, 1);
}
QTreeView::item:focus {
background-color: rgba(26, 115, 232, 0.08);
}
QTreeView::item:selected {
background-color: #1a73e8;
}
QTextBrowser {
background-color: #1a1a1a;
selection-background-color: #1a73e8;
}
QPushButton {
outline: 0;
show-decoration-selected: 1;
background-color: transparent;
border: 1px solid rgba(70, 70, 70, 1);
border-radius: 8px;
@ -66,6 +175,11 @@ QPushButton:hover {
border-color: #4a86e8;
}
QPushButton:focus {
background-color: rgba(60, 60, 60, 1);
border-color: #4a86e8;
}
QPushButton:pressed {
background-color: rgba(26, 115, 232, 0.15);
border: 1px solid #1a73e8;
@ -77,7 +191,125 @@ QPushButton:disabled {
color: rgba(255, 255, 255, 0.3);
}
QComboBox {
background-color: transparent;
border: 1px solid rgba(70, 70, 70, 1);
border-radius: 8px;
padding: 6px 10px;
margin: 4px 0px;
font-size: 13px;
font-weight: 500;
color: #ffffff;
}
QComboBox:on {
background-color: rgba(26, 115, 232, 0.15);
border: 1px solid #1a73e8;
}
QComboBox:hover {
background-color: rgba(60, 60, 60, 1);
border-color: #4a86e8;
}
QComboBox:focus {
background-color: rgba(60, 60, 60, 1);
border-color: #4a86e8;
}
QComboBox::drop-down {
border: 0;
width: 24px;
}
QComboBox::down-arrow {
image: url("{IMAGE_PREFIX}/down_arrow.svg");
}
QComboBox QAbstractItemView {
background-color: #222222;
border: 1px solid rgba(70, 70, 70, 1);
border-radius: 8px;
padding: 6px 10px;
outline: 0;
show-decoration-selected: 1;
}
QComboBox QAbstractItemView::item:selected {
background-color: #1a73e8;
}
QComboBox QAbstractItemView::item:hover {
background-color: #1a73e8;
}
QScrollBar:vertical {
border: 0;
border-radius: 8px;
margin-top: 16px;
padding: 2px 0 2px 0;
background-color: #222222;
}
QScrollBar::handle:vertical {
background-color: rgba(60, 60, 60, 1);
margin: 0px 2px 0px 2px;
width: 10px;
border: 1px solid rgba(70, 70, 70, 1);
border-radius: 4px;
}
QScrollBar::handle:vertical:hover {
background-color: rgba(26, 115, 232, 0.4);
}
QScrollBar::add-line:vertical {
height: 0;
subcontrol-position: bottom;
subcontrol-origin: margin;
}
QScrollBar::sub-line:vertical {
border: 0;
background: #2b2b2b;
height: 16px;
subcontrol-position: top;
subcontrol-origin: margin;
}
QScrollBar:horizontal {
border: 0;
border-radius: 8px;
padding: 2px 0 2px 0;
background-color: #222222;
}
QScrollBar::handle:horizontal {
background-color: rgba(60, 60, 60, 1);
margin: 0px 2px 0px 2px;
border: 1px solid rgba(70, 70, 70, 1);
border-radius: 4px;
}
QScrollBar::handle:horizontal:hover {
background-color: rgba(26, 115, 232, 0.4);
}
QScrollBar::add-line:horizontal {
height: 0;
subcontrol-position: bottom;
subcontrol-origin: margin;
}
QScrollBar::sub-line:horizontal {
height: 0;
subcontrol-position: top;
subcontrol-origin: margin;
}
WrapCheckboxWidget {
show-decoration-selected: 1;
outline: 0;
background-color: transparent;
border: 1px solid rgba(70, 70, 70, 1);
border-radius: 8px;