Files
QsLog
YACReader
YACReaderLibrary
common
compressed_archive
custom_widgets
custom_widgets_yacreader.pri
custom_widgets_yacreaderlibrary.pri
help_about_dialog.cpp
help_about_dialog.h
yacreader_busy_widget.cpp
yacreader_busy_widget.h
yacreader_dark_menu.cpp
yacreader_dark_menu.h
yacreader_deleting_progress.cpp
yacreader_deleting_progress.h
yacreader_field_edit.cpp
yacreader_field_edit.h
yacreader_field_plain_text_edit.cpp
yacreader_field_plain_text_edit.h
yacreader_flow.cpp
yacreader_flow.h
yacreader_flow_config_widget.cpp
yacreader_flow_config_widget.h
yacreader_gl_flow_config_widget.cpp
yacreader_gl_flow_config_widget.h
yacreader_library_item_widget.cpp
yacreader_library_item_widget.h
yacreader_library_list_widget.cpp
yacreader_library_list_widget.h
yacreader_macosx_toolbar.h
yacreader_macosx_toolbar.mm
yacreader_options_dialog.cpp
yacreader_options_dialog.h
yacreader_search_line_edit.cpp
yacreader_search_line_edit.h
yacreader_sidebar.cpp
yacreader_sidebar.h
yacreader_social_dialog.cpp
yacreader_social_dialog.h
yacreader_spin_slider_widget.cpp
yacreader_spin_slider_widget.h
yacreader_table_view.cpp
yacreader_table_view.h
yacreader_titled_toolbar.cpp
yacreader_titled_toolbar.h
yacreader_tool_bar_stretch.cpp
yacreader_tool_bar_stretch.h
yacreader_treeview.cpp
yacreader_treeview.h
dependencies
files
images
release
shortcuts_management
CHANGELOG.txt
COPYING.txt
INSTALL.txt
README.txt
YACReader.1
YACReader.desktop
YACReader.pro
YACReaderLibrary.1
YACReaderLibrary.desktop
background.png
cleanOSX.sh
compileOSX.sh
create-dmg
generateVS2010Projects.bat
icon.icns
mktarball.sh
releaseOSX.sh
yacreader/custom_widgets/yacreader_titled_toolbar.cpp
2014-11-08 17:53:01 +01:00

127 lines
3.2 KiB
C++

#include "yacreader_titled_toolbar.h"
#include <QHBoxLayout>
#include <QLabel>
#include <QPixmap>
#include <QToolButton>
#include <QGraphicsDropShadowEffect>
#include <QPainter>
DropShadowLabel::DropShadowLabel(QWidget* parent) :
QLabel(parent)
{ }
void DropShadowLabel::drawText(QPainter *painter,
QPoint offset)
{
Q_ASSERT(painter != 0);
// Draw shadow.
painter->setPen(QPen(textColor));
painter->drawText(rect().translated(offset),
alignment(), text());
}
void DropShadowLabel::drawTextEffect(QPainter *painter,
QPoint offset)
{
Q_ASSERT(painter != 0);
// Draw shadow.
painter->setPen(QPen(dropShadowColor));
painter->drawText(rect().translated(offset),
alignment(), text());
}
void DropShadowLabel::paintEvent(QPaintEvent *event)
{
Q_UNUSED(event);
QPainter painter(this);
painter.setFont(font());
//TODO find where is the '3' comming from?
drawTextEffect(&painter, QPoint(contentsMargins().left(), 1));
drawText(&painter, QPoint(contentsMargins().left(), 0));
}
void DropShadowLabel::setColor(const QColor & color)
{
textColor = color;
}
void DropShadowLabel::setDropShadowColor(const QColor & color)
{
dropShadowColor = color;
}
YACReaderTitledToolBar::YACReaderTitledToolBar(const QString & title, QWidget *parent) :
QWidget(parent)
{
QHBoxLayout * mainLayout = new QHBoxLayout;
mainLayout->setMargin(0);
mainLayout->setSpacing(0);
QString styleSheet = "QWidget {border:0px;}";
setStyleSheet(styleSheet);
nameLabel = new DropShadowLabel(this);
nameLabel->setText(title);
#ifdef Q_OS_MAC
QString nameLabelStyleSheet = "QLabel {padding:0 0 0 10px; margin:0px; font-size:11px; font-weight:bold;}";
nameLabel->setColor(QColor("#707E8C"));
nameLabel->setDropShadowColor(QColor("#F9FAFB"));
#else
QString nameLabelStyleSheet = "QLabel {padding:0 0 0 10px; margin:0px; font-size:11px; font-weight:bold;}";
nameLabel->setColor(QColor("#BDBFBF"));
nameLabel->setDropShadowColor(QColor("#000000"));
#endif
nameLabel->setStyleSheet(nameLabelStyleSheet);
mainLayout->addWidget(nameLabel,Qt::AlignLeft);
mainLayout->addStretch();
setLayout(mainLayout);
setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Minimum);
setMinimumHeight(25);
}
void YACReaderTitledToolBar::addAction(QAction * action)
{
QHBoxLayout * mainLayout = dynamic_cast<QHBoxLayout *>(layout());
QToolButton * tb = new QToolButton(this);
tb->setCursor(QCursor(Qt::ArrowCursor));
tb->setDefaultAction(action);
tb->setIconSize(QSize(16,16));
tb->setSizePolicy(QSizePolicy::Minimum,QSizePolicy::Minimum);
//tb->setStyleSheet("QToolButton:hover {background-color:#C5C5C5;}");
mainLayout->addWidget(tb);
}
void YACReaderTitledToolBar::addSpacing(int spacing)
{
QHBoxLayout * mainLayout = dynamic_cast<QHBoxLayout *>(layout());
mainLayout->addSpacing(spacing);
}
void YACReaderTitledToolBar::addSepartor()
{
QHBoxLayout * mainLayout = dynamic_cast<QHBoxLayout *>(layout());
QWidget * w = new QWidget(this);
w->setFixedSize(1,14);
w->setStyleSheet("QWidget {background-color:#6F6F6F;}");
mainLayout->addSpacing(10);
mainLayout->addWidget(w);
mainLayout->addSpacing(10);
}