fix rendering of QListWidgetItems with custom QSS

This commit is contained in:
Skarn
2020-10-30 00:14:50 +03:00
parent 000a11b1a7
commit b8854c3839
2 changed files with 25 additions and 6 deletions

View File

@@ -24,6 +24,7 @@
#include <QJsonArray>
#include <QJsonDocument>
#include <QByteArray>
#include <QPalette>
namespace noggit
{
@@ -296,6 +297,8 @@ namespace noggit
_render_settings.diffuse_color.y,
_render_settings.diffuse_color.z));
diffuse_color->setMinimumHeight(25);
diffuse_color->setMinimumWidth(100);
lighting_layout->addRow("Diffuse color:", diffuse_color);
@@ -305,6 +308,7 @@ namespace noggit
_render_settings.ambient_color.y,
_render_settings.ambient_color.z));
ambient_color->setMinimumHeight(25);
ambient_color->setMinimumWidth(100);
lighting_layout->addRow("Ambient color:", ambient_color);
@@ -314,6 +318,7 @@ namespace noggit
_render_settings.ocean_color_light.z,
_render_settings.ocean_color_light.w));
ocean_color_light->setMinimumHeight(25);
ocean_color_light->setMinimumWidth(100);
lighting_layout->addRow("Ocean light color:", ocean_color_light);
@@ -323,6 +328,7 @@ namespace noggit
_render_settings.ocean_color_dark.z,
_render_settings.ocean_color_dark.w));
ocean_color_dark->setMinimumHeight(25);
ocean_color_dark->setMinimumWidth(100);
lighting_layout->addRow("Ocean dark color:", ocean_color_dark);
@@ -332,6 +338,7 @@ namespace noggit
_render_settings.river_color_light.z,
_render_settings.river_color_light.w));
river_color_light->setMinimumHeight(25);
river_color_light->setMinimumWidth(100);
lighting_layout->addRow("River light color:", river_color_light);
@@ -341,6 +348,7 @@ namespace noggit
_render_settings.river_color_dark.z,
_render_settings.river_color_dark.w));
river_color_dark->setMinimumHeight(25);
river_color_dark->setMinimumWidth(100);
lighting_layout->addRow("River dark color:", river_color_dark);
@@ -927,6 +935,12 @@ namespace noggit
auto item = new QListWidgetItem();
_m2_instance_filter_include->addItem(item);
auto entry_wgt = new MinimapInstanceFilterEntry(this);
QPalette pal = entry_wgt->palette();
pal.setColor(QPalette::Window, Qt::black);
//entry_wgt->setAutoFillBackground(true);
//entry_wgt->setPalette(pal);
entry_wgt->setUid(uid);
item->setSizeHint(entry_wgt->minimumSizeHint());
_m2_instance_filter_include->setItemWidget(item, entry_wgt);
@@ -1172,8 +1186,9 @@ namespace noggit
}
MinimapM2ModelFilterEntry::MinimapM2ModelFilterEntry(MinimapCreator* parent) : QWidget(parent)
MinimapM2ModelFilterEntry::MinimapM2ModelFilterEntry(QWidget* parent) : QWidget(parent)
{
setAttribute(Qt::WA_TranslucentBackground);
auto layout = new QHBoxLayout(this);
layout->setContentsMargins(5, 2, 5, 2);
layout->addWidget(_filename = new QLineEdit(this));
@@ -1184,18 +1199,22 @@ namespace noggit
}
MinimapWMOModelFilterEntry::MinimapWMOModelFilterEntry(MinimapCreator* parent) : QWidget(parent)
MinimapWMOModelFilterEntry::MinimapWMOModelFilterEntry(QWidget* parent) : QWidget(parent)
{
setAttribute(Qt::WA_TranslucentBackground);
auto layout = new QHBoxLayout(this);
layout->addWidget(_filename = new QLineEdit(this));
_filename->setAttribute(Qt::WA_TranslucentBackground);
layout->setContentsMargins(5, 2, 5, 2);
_filename->setEnabled(false);
}
MinimapInstanceFilterEntry::MinimapInstanceFilterEntry(MinimapCreator* parent) : QWidget(parent)
MinimapInstanceFilterEntry::MinimapInstanceFilterEntry(QWidget* parent) : QWidget(parent)
{
setAttribute(Qt::WA_TranslucentBackground);
auto layout = new QHBoxLayout(this);
layout->addWidget(_uid_label = new QLabel(this));
_uid_label->setAttribute(Qt::WA_TranslucentBackground);
layout->setContentsMargins(5, 2, 5, 2);
}

View File

@@ -120,7 +120,7 @@ namespace noggit
class MinimapM2ModelFilterEntry : public QWidget
{
public:
MinimapM2ModelFilterEntry(MinimapCreator* parent = nullptr);
MinimapM2ModelFilterEntry(QWidget* parent = nullptr);
QString getFileName() { return _filename->text(); };
void setFileName(const std::string& filename) { _filename->setText(QString(filename.c_str())); };
@@ -135,7 +135,7 @@ namespace noggit
class MinimapWMOModelFilterEntry : public QWidget
{
public:
MinimapWMOModelFilterEntry(MinimapCreator* parent = nullptr);
MinimapWMOModelFilterEntry(QWidget* parent = nullptr);
QString getFileName() { return _filename->text(); };
void setFileName(const std::string& filename) { _filename->setText(QString(filename.c_str())); };
@@ -147,7 +147,7 @@ namespace noggit
class MinimapInstanceFilterEntry : public QWidget
{
public:
MinimapInstanceFilterEntry(MinimapCreator* parent = nullptr);
MinimapInstanceFilterEntry(QWidget* parent = nullptr);
uint32_t getUid() { return _uid; };
void setUid(uint32_t uid) { _uid = uid; _uid_label->setText(QString::fromStdString(std::to_string(uid))); };