Styling widgets

This commit is contained in:
Jakub Melka
2021-08-12 19:51:30 +02:00
parent edd5fd5a26
commit 0559cd7c50
23 changed files with 63 additions and 2 deletions

View File

@ -17,6 +17,10 @@
#include "pdfwidgetutils.h"
#include <QDialog>
#include <QLayout>
#include <QGroupBox>
#ifdef Q_OS_MAC
int qt_default_dpi_x() { return 72; }
int qt_default_dpi_y() { return 72; }
@ -90,4 +94,32 @@ QSize PDFWidgetUtils::scaleDPI(const QPaintDevice* widget, QSize unscaledSize)
return QSize(width, height);
}
void PDFWidgetUtils::style(QWidget* widget)
{
const int dialogMarginX = scaleDPI_x(widget, 12);
const int dialogMarginY = scaleDPI_y(widget, 12);
const int dialogSpacing = scaleDPI_y(widget, 12);
const int groupBoxMarginX = scaleDPI_x(widget, 20);
const int groupBoxMarginY = scaleDPI_y(widget, 20);
const int groupBoxSpacing = scaleDPI_y(widget, 12);
QList<QWidget*> childWidgets = widget->findChildren<QWidget*>();
childWidgets.append(widget);
for (QWidget* childWidget : childWidgets)
{
if (qobject_cast<QGroupBox*>(childWidget))
{
childWidget->layout()->setContentsMargins(groupBoxMarginX, groupBoxMarginY, groupBoxMarginX, groupBoxMarginY);
childWidget->layout()->setSpacing(groupBoxSpacing);
}
else if (qobject_cast<QDialog*>(childWidget))
{
childWidget->layout()->setContentsMargins(dialogMarginX, dialogMarginY, dialogMarginX, dialogMarginY);
childWidget->layout()->setSpacing(dialogSpacing);
}
}
}
} // namespace pdf