39 QWidget* headerWidget =
new QWidget(
this);
40 headerWidget->setStyleSheet(
42 "background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, "
43 "stop:0 #2c3e50, stop:1 #34495e); "
46 headerWidget->setMinimumHeight(100);
48 QVBoxLayout* headerLayout =
new QVBoxLayout(headerWidget);
49 headerLayout->setContentsMargins(20, 20, 20, 20);
52 QLabel* titleLabel =
new QLabel(tr(
"SedSat3"), headerWidget);
53 QFont titleFont = titleLabel->font();
54 titleFont.setPointSize(24);
55 titleFont.setBold(
true);
56 titleLabel->setFont(titleFont);
57 titleLabel->setStyleSheet(
"QLabel { color: white; }");
58 titleLabel->setAlignment(Qt::AlignCenter);
61 QLabel* subtitleLabel =
new QLabel(
62 tr(
"Sediment Source Apportionment Tool"),
65 QFont subtitleFont = subtitleLabel->font();
66 subtitleFont.setPointSize(11);
67 subtitleLabel->setFont(subtitleFont);
68 subtitleLabel->setStyleSheet(
"QLabel { color: #ecf0f1; }");
69 subtitleLabel->setAlignment(Qt::AlignCenter);
71 headerLayout->addWidget(titleLabel);
72 headerLayout->addWidget(subtitleLabel);
79 QWidget* infoWidget =
new QWidget(
this);
80 infoWidget->setStyleSheet(
"QWidget { background-color: white; }");
82 QVBoxLayout* infoLayout =
new QVBoxLayout(infoWidget);
83 infoLayout->setContentsMargins(20, 20, 20, 10);
84 infoLayout->setSpacing(10);
89 boldFont.setPointSize(10);
97 QLabel* authorsLabel =
new QLabel(tr(
"<b>Authors:</b>"), infoWidget);
98 authorsLabel->setFont(boldFont);
100 QLabel* authorsText =
new QLabel(
101 tr(
"Arash Massoudieh<br>"
103 "Cara Peterman Phipps"),
106 authorsText->setIndent(20);
107 authorsText->setTextFormat(Qt::RichText);
110 QLabel* descriptionLabel =
new QLabel(
111 tr(
"<b>Description:</b>"),
114 descriptionLabel->setFont(boldFont);
118 infoLayout->addSpacing(10);
119 infoLayout->addWidget(authorsLabel);
120 infoLayout->addWidget(authorsText);
121 infoLayout->addSpacing(10);
122 infoLayout->addWidget(descriptionLabel);
157 QWidget* footerWidget =
new QWidget(
this);
158 footerWidget->setStyleSheet(
"QWidget { background-color: #f8f9fa; }");
160 QVBoxLayout* footerLayout =
new QVBoxLayout(footerWidget);
161 footerLayout->setContentsMargins(20, 15, 20, 15);
162 footerLayout->setSpacing(10);
165 QLabel* copyrightLabel =
new QLabel(
166 tr(
"© 2025 SedSat3 Development Team"),
169 copyrightLabel->setAlignment(Qt::AlignCenter);
170 QFont copyrightFont = copyrightLabel->font();
171 copyrightFont.setPointSize(9);
172 copyrightLabel->setFont(copyrightFont);
173 copyrightLabel->setStyleSheet(
"QLabel { color: #6c757d; }");
176 QPushButton* closeButton =
new QPushButton(tr(
"Close"), footerWidget);
177 closeButton->setMinimumWidth(100);
178 closeButton->setStyleSheet(
180 "background-color: #3498db; "
183 "padding: 8px 16px; "
184 "border-radius: 4px; "
185 "font-weight: bold; "
187 "QPushButton:hover { "
188 "background-color: #2980b9; "
190 "QPushButton:pressed { "
191 "background-color: #21618c; "
195 connect(closeButton, &QPushButton::clicked,
this, &AboutDialog::accept);
198 QHBoxLayout* buttonLayout =
new QHBoxLayout();
199 buttonLayout->addStretch();
200 buttonLayout->addWidget(closeButton);
201 buttonLayout->addStretch();
203 footerLayout->addWidget(copyrightLabel);
204 footerLayout->addLayout(buttonLayout);