Initial commit (project based on widgets)

This commit is contained in:
Yury Shuvakin
2022-08-01 21:53:36 +03:00
parent d9396cdc2f
commit 14a7aa699f
411 changed files with 95119 additions and 0 deletions

View File

@@ -0,0 +1,76 @@
#include "customlefttabbarbutton.h"
CustomLeftTabBarButton::CustomLeftTabBarButton(QWidget* parent) : QPushButton(parent)
{
QIcon i = this->icon();
QPixmap p = i.pixmap(5, 5);
m_pixmap = this->icon().pixmap(this->icon().actualSize(QSize(5, 5)));
}
CustomLeftTabBarButton::~CustomLeftTabBarButton()
{
}
QSize CustomLeftTabBarButton::sizeHint() const
{
const auto parentHint = QPushButton::sizeHint();
// add margins here if needed
return QSize
(
parentHint.width() + m_pixmap.width() ,
std::max(parentHint.height(), m_pixmap.height())
);
}
void CustomLeftTabBarButton::setPixmap(const QPixmap& pixmap)
{
m_pixmap = pixmap;
}
void CustomLeftTabBarButton::setPos(const QSize& pos)
{
m_pixmapPos = pos;
}
void CustomLeftTabBarButton::setIconStringForButton(QString iconString)
{
QIcon i = QIcon(iconString); //":/res/lock-icon-closed.png");
int sz = 20;
QSize size (sz , sz);
//= iconSize();
i.actualSize(size);
QPixmap p = i.pixmap(sz);
m_pixmap = p;
this->setPixmap(p);
}
void CustomLeftTabBarButton::paintEvent(QPaintEvent* e)
{
// Draw the button first
QPushButton::paintEvent(e);
if (!m_pixmap.isNull())
{
bool isTextEmpty = (text()=="");
{
//const int y = (height() - m_pixmap.height()) / 2; // add margin if needed
int h_btn_half = height() / 2;
int h_icon_half = m_pixmap.height() / 2;
int w_btn_half = width() / 2;
int w_icon_half = m_pixmap.width() / 2;
int w_btn_tenth = width() / 10;
QPainter painter(this);
painter.drawPixmap
(
isTextEmpty
? w_btn_half - w_icon_half
: 40
, h_btn_half - h_icon_half
, m_pixmap
); // hardcoded horizontal margin
}
}
}