|
|
|
@ -321,33 +321,23 @@ void SettingsWindow::showEvent(QShowEvent *event) { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
SettingsWindow::SettingsWindow(QWidget *parent) : QFrame(parent) { |
|
|
|
|
QHBoxLayout *main_layout = new QHBoxLayout(this); |
|
|
|
|
|
|
|
|
|
// setup two main layouts
|
|
|
|
|
sidebar_widget = new QWidget; |
|
|
|
|
sidebar_widget->setFixedWidth(500); |
|
|
|
|
QVBoxLayout *sidebar_layout = new QVBoxLayout(sidebar_widget); |
|
|
|
|
sidebar_layout->setMargin(0); |
|
|
|
|
sidebar_layout->setContentsMargins(50, 50, 100, 50); |
|
|
|
|
main_layout->addWidget(sidebar_widget); |
|
|
|
|
|
|
|
|
|
panel_widget = new QStackedWidget(); |
|
|
|
|
panel_widget->setStyleSheet(R"( |
|
|
|
|
border-radius: 30px; |
|
|
|
|
background-color: #292929; |
|
|
|
|
)"); |
|
|
|
|
panel_widget->setObjectName("panel_widget"); |
|
|
|
|
panel_widget->setContentsMargins(25, 25, 25, 25); |
|
|
|
|
main_layout->addWidget(panel_widget); |
|
|
|
|
|
|
|
|
|
// close button
|
|
|
|
|
QPushButton *close_btn = new QPushButton("×"); |
|
|
|
|
close_btn->setStyleSheet(R"( |
|
|
|
|
QPushButton { |
|
|
|
|
font-size: 140px; |
|
|
|
|
padding-bottom: 20px; |
|
|
|
|
font-weight: bold; |
|
|
|
|
border 1px grey solid; |
|
|
|
|
border-radius: 100px; |
|
|
|
|
background-color: #292929; |
|
|
|
|
font-weight: 400; |
|
|
|
|
} |
|
|
|
|
QPushButton:pressed { |
|
|
|
|
background-color: #3B3B3B; |
|
|
|
|
} |
|
|
|
|
)"); |
|
|
|
|
close_btn->setObjectName("close_btn"); |
|
|
|
|
close_btn->setFixedSize(200, 200); |
|
|
|
|
sidebar_layout->addSpacing(45); |
|
|
|
|
sidebar_layout->addWidget(close_btn, 0, Qt::AlignCenter); |
|
|
|
@ -371,36 +361,17 @@ SettingsWindow::SettingsWindow(QWidget *parent) : QFrame(parent) { |
|
|
|
|
QObject::connect(map_panel, &MapPanel::closeSettings, this, &SettingsWindow::closeSettings); |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
const int padding = panels.size() > 3 ? 25 : 35; |
|
|
|
|
|
|
|
|
|
nav_btns = new QButtonGroup(this); |
|
|
|
|
for (auto &[name, panel] : panels) { |
|
|
|
|
QPushButton *btn = new QPushButton(name); |
|
|
|
|
btn->setCheckable(true); |
|
|
|
|
btn->setChecked(nav_btns->buttons().size() == 0); |
|
|
|
|
btn->setStyleSheet(QString(R"( |
|
|
|
|
QPushButton { |
|
|
|
|
color: grey; |
|
|
|
|
border: none; |
|
|
|
|
background: none; |
|
|
|
|
font-size: 65px; |
|
|
|
|
font-weight: 500; |
|
|
|
|
padding-top: %1px; |
|
|
|
|
padding-bottom: %1px; |
|
|
|
|
} |
|
|
|
|
QPushButton:checked { |
|
|
|
|
color: white; |
|
|
|
|
} |
|
|
|
|
QPushButton:pressed { |
|
|
|
|
color: #ADADAD; |
|
|
|
|
} |
|
|
|
|
)").arg(padding)); |
|
|
|
|
|
|
|
|
|
btn->setProperty("type", "menu"); |
|
|
|
|
nav_btns->addButton(btn); |
|
|
|
|
sidebar_layout->addWidget(btn, 0, Qt::AlignRight); |
|
|
|
|
|
|
|
|
|
const int lr_margin = name != "Network" ? 50 : 0; // Network panel handles its own margins
|
|
|
|
|
panel->setContentsMargins(lr_margin, 25, lr_margin, 25); |
|
|
|
|
const int lr_margin = name != "Network" ? 25 : 0; // Network panel handles its own margins
|
|
|
|
|
panel->setContentsMargins(lr_margin, 0, lr_margin, 0); |
|
|
|
|
|
|
|
|
|
ScrollView *panel_frame = new ScrollView(panel, this); |
|
|
|
|
panel_widget->addWidget(panel_frame); |
|
|
|
@ -410,16 +381,9 @@ SettingsWindow::SettingsWindow(QWidget *parent) : QFrame(parent) { |
|
|
|
|
panel_widget->setCurrentWidget(w); |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
sidebar_layout->setContentsMargins(50, 50, 100, 50); |
|
|
|
|
|
|
|
|
|
// main settings layout, sidebar + main panel
|
|
|
|
|
QHBoxLayout *main_layout = new QHBoxLayout(this); |
|
|
|
|
|
|
|
|
|
sidebar_widget->setFixedWidth(500); |
|
|
|
|
main_layout->addWidget(sidebar_widget); |
|
|
|
|
main_layout->addWidget(panel_widget); |
|
|
|
|
|
|
|
|
|
setStyleSheet(R"( |
|
|
|
|
const int padding = panels.size() > 3 ? 25 : 35; |
|
|
|
|
setStyleSheet(QString(R"( |
|
|
|
|
* { |
|
|
|
|
color: white; |
|
|
|
|
font-size: 50px; |
|
|
|
@ -427,7 +391,38 @@ SettingsWindow::SettingsWindow(QWidget *parent) : QFrame(parent) { |
|
|
|
|
SettingsWindow { |
|
|
|
|
background-color: black; |
|
|
|
|
} |
|
|
|
|
)"); |
|
|
|
|
#panel_widget{ |
|
|
|
|
border-radius: 30px; |
|
|
|
|
background-color: #292929; |
|
|
|
|
} |
|
|
|
|
QPushButton#close_btn { |
|
|
|
|
font-size: 140px; |
|
|
|
|
padding-bottom: 20px; |
|
|
|
|
font-weight: bold; |
|
|
|
|
border 1px grey solid; |
|
|
|
|
border-radius: 100px; |
|
|
|
|
background-color: #292929; |
|
|
|
|
font-weight: 400; |
|
|
|
|
} |
|
|
|
|
QPushButton#close_btn:pressed { |
|
|
|
|
background-color: #3B3B3B; |
|
|
|
|
} |
|
|
|
|
QPushButton[type="menu"] { |
|
|
|
|
color: grey; |
|
|
|
|
border: none; |
|
|
|
|
background: none; |
|
|
|
|
font-size: 65px; |
|
|
|
|
font-weight: 500; |
|
|
|
|
padding-top: %1px; |
|
|
|
|
padding-bottom: %1px; |
|
|
|
|
} |
|
|
|
|
QPushButton[type="menu"]:checked { |
|
|
|
|
color: white; |
|
|
|
|
} |
|
|
|
|
QPushButton[type="menu"]:pressed { |
|
|
|
|
color: #ADADAD; |
|
|
|
|
} |
|
|
|
|
)").arg(padding)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void SettingsWindow::hideEvent(QHideEvent *event) { |
|
|
|
|