DragonX compatibility: crash fixes, reorg detection, server failover, sync perf
- Fix Rust FFI panics with catch_unwind wrappers and safe CString handling - Handle poisoned mutex/RwLock from prior panics instead of crashing - Add stuck sync detection (10s stall threshold) and chain reorg user prompt - Add "Skip Verification" button to seed phrase wizard - Update payment URIs from hush: to drgx: - Update branding strings throughout UI - Add all 6 lite servers (lite, lite1-5.dragonx.is) with random selection - Add server connectivity probing to skip unreachable servers - Reuse Tokio runtime across block fetch batches to reduce sync overhead - Update Cargo.lock dependencies
This commit is contained in:
@@ -1,148 +1,148 @@
|
||||
/*
|
||||
Theme: Midnight Qt
|
||||
Version: 1.0.2
|
||||
Reference: https://doc.qt.io/qt-5/stylesheet-reference.html
|
||||
|
||||
Author: Charles Sharpe
|
||||
Date: Apr. 23, 2020
|
||||
Website: https://www.csharpe.me
|
||||
License: https://opensource.org/licenses/MIT
|
||||
*/
|
||||
|
||||
QWidget, QMainWindow, QMenuBar, QMenu, QDialog, QTabWidget, QTableView, QScrollArea, QGroupBox, QPlainTextEdit, QLineEdit, QLabel, MainWindow, QPixmap, QHBoxLayout, QVBoxLayout, QGridLayout, QAbstractItemView, QFrame
|
||||
{
|
||||
background-color: #111;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
/*
|
||||
QPushButton {
|
||||
padding: 10px 15px;
|
||||
}
|
||||
*/
|
||||
|
||||
QPushButton:hover {
|
||||
background: #222;
|
||||
}
|
||||
|
||||
/*
|
||||
QLineEdit, QRadioButton::indicator::unchecked, QCheckBox::indicator::unchecked {
|
||||
background: #222;
|
||||
border: 1px solid #333;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
QLineEdit {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
QLineEdit:focus {
|
||||
border: 1px solid #9d8400;
|
||||
}*/
|
||||
|
||||
/*
|
||||
QWidget QLabel {
|
||||
font-size: 11pt;
|
||||
}
|
||||
*/
|
||||
|
||||
QWidget QCheckBox {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
QTabWidget QTabBar::tab {
|
||||
/*min-height: 15px;*/
|
||||
padding-left:20px;
|
||||
padding-right:20px;
|
||||
padding-top:5px;
|
||||
padding-bottom:5px;
|
||||
border: 1px ridge #222;
|
||||
left: 1px; /* Fix 1px alignment */
|
||||
background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #333, stop: 1 #111);
|
||||
}
|
||||
|
||||
QTabWidget QTabBar::tab:selected {
|
||||
background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #555, stop: 1 #111);
|
||||
color:#fff;
|
||||
border: 1px ridge #222;
|
||||
border-bottom: 0px; /* Overwrites border-bottom */
|
||||
}
|
||||
|
||||
QTabWidget QTabBar::tab:hover {
|
||||
background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #555, stop: 1 #111);
|
||||
min-height: 20px
|
||||
}
|
||||
|
||||
QHeaderView { /* Table Header */
|
||||
background-color:#111;
|
||||
}
|
||||
|
||||
QHeaderView::section { /* Table Header Sections */
|
||||
qproperty-alignment:center;
|
||||
background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #333, stop: 1 #111);
|
||||
color:#fff;
|
||||
min-height:25px;
|
||||
font-weight:bold;
|
||||
font-size:11px;
|
||||
outline:0;
|
||||
border:1px ridge #222;
|
||||
padding: 2px 5px;
|
||||
}
|
||||
|
||||
QHeaderView::section:last {
|
||||
border-right: 0px ridge #222;
|
||||
}
|
||||
|
||||
QScrollArea {
|
||||
background:transparent;
|
||||
border:0px;
|
||||
}
|
||||
|
||||
QTableView { /* Table - has to be selected as a class otherwise it throws off QCalendarWidget */
|
||||
background:#111;
|
||||
}
|
||||
|
||||
QTableView::item { /* Table Item */
|
||||
background-color:#111;
|
||||
border:1px solid #222;
|
||||
font-size:12px;
|
||||
}
|
||||
|
||||
QTableView::item:selected { /* Table Item Selected */
|
||||
background-color:#fff;
|
||||
color:#000;
|
||||
}
|
||||
|
||||
QMenuBar {
|
||||
background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #222, stop: 1 #111);
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
QMenuBar::item {
|
||||
background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #222, stop: 1 #111);
|
||||
color: #fff;
|
||||
/*padding: 5px 7px;
|
||||
margin: 0px;*/
|
||||
}
|
||||
|
||||
QMenuBar::item:selected {
|
||||
background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #333, stop: 1 #111);
|
||||
}
|
||||
|
||||
QMenu {
|
||||
border:1px solid #222;
|
||||
}
|
||||
|
||||
QMenu::item {
|
||||
padding: 7px 15px;
|
||||
}
|
||||
|
||||
QMenu::item:selected {
|
||||
background: #222;
|
||||
}
|
||||
|
||||
QMenu::separator {
|
||||
height: 1px;
|
||||
margin: 3px 7px 3px 7px; /* space at ends of separator */
|
||||
background: #222;
|
||||
}
|
||||
/*
|
||||
Theme: Midnight Qt
|
||||
Version: 1.0.2
|
||||
Reference: https://doc.qt.io/qt-5/stylesheet-reference.html
|
||||
|
||||
Author: Charles Sharpe
|
||||
Date: Apr. 23, 2020
|
||||
Website: https://www.csharpe.me
|
||||
License: https://opensource.org/licenses/MIT
|
||||
*/
|
||||
|
||||
QWidget, QMainWindow, QMenuBar, QMenu, QDialog, QTabWidget, QTableView, QScrollArea, QGroupBox, QPlainTextEdit, QLineEdit, QLabel, MainWindow, QPixmap, QHBoxLayout, QVBoxLayout, QGridLayout, QAbstractItemView, QFrame
|
||||
{
|
||||
background-color: #111;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
/*
|
||||
QPushButton {
|
||||
padding: 10px 15px;
|
||||
}
|
||||
*/
|
||||
|
||||
QPushButton:hover {
|
||||
background: #222;
|
||||
}
|
||||
|
||||
/*
|
||||
QLineEdit, QRadioButton::indicator::unchecked, QCheckBox::indicator::unchecked {
|
||||
background: #222;
|
||||
border: 1px solid #333;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
QLineEdit {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
QLineEdit:focus {
|
||||
border: 1px solid #9d8400;
|
||||
}*/
|
||||
|
||||
/*
|
||||
QWidget QLabel {
|
||||
font-size: 11pt;
|
||||
}
|
||||
*/
|
||||
|
||||
QWidget QCheckBox {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
QTabWidget QTabBar::tab {
|
||||
/*min-height: 15px;*/
|
||||
padding-left:20px;
|
||||
padding-right:20px;
|
||||
padding-top:5px;
|
||||
padding-bottom:5px;
|
||||
border: 1px ridge #222;
|
||||
left: 1px; /* Fix 1px alignment */
|
||||
background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #333, stop: 1 #111);
|
||||
}
|
||||
|
||||
QTabWidget QTabBar::tab:selected {
|
||||
background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #555, stop: 1 #111);
|
||||
color:#fff;
|
||||
border: 1px ridge #222;
|
||||
border-bottom: 0px; /* Overwrites border-bottom */
|
||||
}
|
||||
|
||||
QTabWidget QTabBar::tab:hover {
|
||||
background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #555, stop: 1 #111);
|
||||
min-height: 20px
|
||||
}
|
||||
|
||||
QHeaderView { /* Table Header */
|
||||
background-color:#111;
|
||||
}
|
||||
|
||||
QHeaderView::section { /* Table Header Sections */
|
||||
qproperty-alignment:center;
|
||||
background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #333, stop: 1 #111);
|
||||
color:#fff;
|
||||
min-height:25px;
|
||||
font-weight:bold;
|
||||
font-size:11px;
|
||||
outline:0;
|
||||
border:1px ridge #222;
|
||||
padding: 2px 5px;
|
||||
}
|
||||
|
||||
QHeaderView::section:last {
|
||||
border-right: 0px ridge #222;
|
||||
}
|
||||
|
||||
QScrollArea {
|
||||
background:transparent;
|
||||
border:0px;
|
||||
}
|
||||
|
||||
QTableView { /* Table - has to be selected as a class otherwise it throws off QCalendarWidget */
|
||||
background:#111;
|
||||
}
|
||||
|
||||
QTableView::item { /* Table Item */
|
||||
background-color:#111;
|
||||
border:1px solid #222;
|
||||
font-size:12px;
|
||||
}
|
||||
|
||||
QTableView::item:selected { /* Table Item Selected */
|
||||
background-color:#fff;
|
||||
color:#000;
|
||||
}
|
||||
|
||||
QMenuBar {
|
||||
background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #222, stop: 1 #111);
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
QMenuBar::item {
|
||||
background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #222, stop: 1 #111);
|
||||
color: #fff;
|
||||
/*padding: 5px 7px;
|
||||
margin: 0px;*/
|
||||
}
|
||||
|
||||
QMenuBar::item:selected {
|
||||
background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #333, stop: 1 #111);
|
||||
}
|
||||
|
||||
QMenu {
|
||||
border:1px solid #222;
|
||||
}
|
||||
|
||||
QMenu::item {
|
||||
padding: 7px 15px;
|
||||
}
|
||||
|
||||
QMenu::item:selected {
|
||||
background: #222;
|
||||
}
|
||||
|
||||
QMenu::separator {
|
||||
height: 1px;
|
||||
margin: 3px 7px 3px 7px; /* space at ends of separator */
|
||||
background: #222;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user