Qt: temporary game grid selection color adjustment

This commit is contained in:
Megamouse 2018-06-28 02:12:51 +02:00 committed by Ivan
parent 01dc09c436
commit ff9024ae70
4 changed files with 9 additions and 13 deletions

View File

@ -909,7 +909,7 @@ bool game_list_frame::DeleteSPUCache(const std::string& base_dir, bool is_intera
return true; return true;
} }
QPixmap game_list_frame::PaintedPixmap(const QImage& img, bool paintConfigIcon) QPixmap game_list_frame::PaintedPixmap(const QImage& img, bool paint_config_icon)
{ {
QImage scaled = QImage(m_Icon_Size, QImage::Format_ARGB32); QImage scaled = QImage(m_Icon_Size, QImage::Format_ARGB32);
scaled.fill(m_Icon_Color); scaled.fill(m_Icon_Color);
@ -921,7 +921,7 @@ QPixmap game_list_frame::PaintedPixmap(const QImage& img, bool paintConfigIcon)
painter.drawImage(QPoint(0, 0), img.scaled(m_Icon_Size, Qt::KeepAspectRatio, Qt::TransformationMode::SmoothTransformation)); painter.drawImage(QPoint(0, 0), img.scaled(m_Icon_Size, Qt::KeepAspectRatio, Qt::TransformationMode::SmoothTransformation));
} }
if (paintConfigIcon && !m_isListLayout) if (paint_config_icon && !m_isListLayout)
{ {
int width = m_Icon_Size.width() * 0.2; int width = m_Icon_Size.width() * 0.2;
QPoint origin = QPoint(m_Icon_Size.width() - width, 0); QPoint origin = QPoint(m_Icon_Size.width() - width, 0);

View File

@ -228,7 +228,7 @@ protected:
void resizeEvent(QResizeEvent *event) override; void resizeEvent(QResizeEvent *event) override;
bool eventFilter(QObject *object, QEvent *event) override; bool eventFilter(QObject *object, QEvent *event) override;
private: private:
QPixmap PaintedPixmap(const QImage& img, bool paintConfigIcon = false); QPixmap PaintedPixmap(const QImage& img, bool paint_config_icon = false);
void ShowCustomConfigIcon(QTableWidgetItem* item, bool enabled); void ShowCustomConfigIcon(QTableWidgetItem* item, bool enabled);
void PopulateGameGrid(int maxCols, const QSize& image_size, const QColor& image_color); void PopulateGameGrid(int maxCols, const QSize& image_size, const QColor& image_color);
bool IsEntryVisible(const game_info& game); bool IsEntryVisible(const game_info& game);

View File

@ -1,7 +1,7 @@
#include "game_list_grid_delegate.h" #include "game_list_grid_delegate.h"
game_list_grid_delegate::game_list_grid_delegate(const QSize& size, const qreal& margin_factor, const qreal& text_factor, const QFont& font, const QColor& font_color, QObject *parent) game_list_grid_delegate::game_list_grid_delegate(const QSize& size, const qreal& margin_factor, const qreal& text_factor, const QFont& font, const QColor& font_color, QObject *parent)
: QAbstractItemDelegate(parent), m_size(size), m_margin_factor(margin_factor), m_text_factor(text_factor), m_font(font), m_font_color(font_color) : QStyledItemDelegate(parent), m_size(size), m_margin_factor(margin_factor), m_text_factor(text_factor), m_font(font), m_font_color(font_color)
{ {
} }
@ -15,8 +15,8 @@ void game_list_grid_delegate::paint(QPainter * painter, const QStyleOptionViewIt
painter->eraseRect(r); painter->eraseRect(r);
//Get title and image // Get title and image
QPixmap image = (qvariant_cast<QPixmap>(index.data(Qt::DecorationRole))); QPixmap image = qvariant_cast<QPixmap>(index.data(Qt::DecorationRole));
QString title = index.data(Qt::DisplayRole).toString(); QString title = index.data(Qt::DisplayRole).toString();
// image // image
@ -28,11 +28,7 @@ void game_list_grid_delegate::paint(QPainter * painter, const QStyleOptionViewIt
// Add selection overlay // Add selection overlay
if (option.state & QStyle::State_Selected) if (option.state & QStyle::State_Selected)
{ {
QLinearGradient gradientSelected(r.left(), r.top(), r.left(), r.height() + r.top()); painter->fillRect(r, QColor(20, 138, 255, 128));
gradientSelected.setColorAt(0.0, QColor::fromRgba(qRgba(119, 213, 247, 128)));
gradientSelected.setColorAt(0.9, QColor::fromRgba(qRgba(27, 134, 183, 128)));
gradientSelected.setColorAt(1.0, QColor::fromRgba(qRgba(0, 120, 174, 128)));
painter->fillRect(r, gradientSelected);
} }
int h = r.height() / (1 + m_margin_factor + m_margin_factor*m_text_factor); int h = r.height() / (1 + m_margin_factor + m_margin_factor*m_text_factor);

View File

@ -1,9 +1,9 @@
#pragma once #pragma once
#include <QPainter> #include <QPainter>
#include <QAbstractItemDelegate> #include <QStyledItemDelegate>
class game_list_grid_delegate : public QAbstractItemDelegate class game_list_grid_delegate : public QStyledItemDelegate
{ {
public: public:
game_list_grid_delegate(const QSize& imageSize, const qreal& margin_factor, const qreal& margin_ratio, const QFont& font, const QColor& font_color, QObject *parent = 0); game_list_grid_delegate(const QSize& imageSize, const qreal& margin_factor, const qreal& margin_ratio, const QFont& font, const QColor& font_color, QObject *parent = 0);