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_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
CHANGELOG.txt
COPYING.txt
INSTALL.txt
README.txt
cleanOSX.sh
compileOSX.sh
compileX11.sh
generateVS2010Projects.bat
releaseOSX.sh
yacreader/custom_widgets/yacreader_sidebar.cpp
Luis Ángel San Martín d5f2b81759 new default width for side bar
2013-10-22 16:34:11 +02:00

131 lines
2.9 KiB
C++

#include "yacreader_sidebar.h"
#include <QPainter>
#include <QLayout>
#include "yacreader_treeview.h"
#include "yacreader_library_list_widget.h"
#include "yacreader_search_line_edit.h"
#include "yacreader_titled_toolbar.h"
YACReaderSideBar::YACReaderSideBar(QWidget *parent) :
QWidget(parent)
{
setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Minimum);
//widgets
foldersView = new YACReaderTreeView;
selectedLibrary = new YACReaderLibraryListWidget;
foldersFilter = new YACReaderSearchLineEdit();
librariesTitle = new YACReaderTitledToolBar(tr("LIBRARIES"));
foldersTitle = new YACReaderTitledToolBar(tr("FOLDERS"));
selectedLibrary->setContextMenuPolicy(Qt::ActionsContextMenu);
selectedLibrary->setAttribute(Qt::WA_MacShowFocusRect,false);
selectedLibrary->setFocusPolicy(Qt::NoFocus);
foldersFilter->setAttribute(Qt::WA_MacShowFocusRect,false);
foldersFilter->setPlaceholderText(tr("Search folders and comics"));
//layout
QVBoxLayout * l = new QVBoxLayout;
l->setContentsMargins(0,0,0,0);
#ifndef Q_OS_MAC
l->addSpacing(5);
#endif
l->addWidget(librariesTitle);
#ifndef Q_OS_MAC
{QWidget * w = new QWidget();
w->setStyleSheet("QWidget {border:none; border-bottom:1px solid #636363;border-top:1px solid #292929;}");
w->setMinimumHeight(2);
l->addSpacing(4);
l->addWidget(w);}
l->addSpacing(3);
#endif
l->addWidget(selectedLibrary);
#ifndef Q_OS_MAC
l->addSpacing(6);
{QWidget * w = new QWidget();
w->setStyleSheet("QWidget {border:none; border-bottom:1px solid #636363;border-top:1px solid #292929;}");
w->setMinimumHeight(2);
l->addSpacing(5);
l->addWidget(w);}
l->addSpacing(4);
#else
l->addSpacing(6);
#endif
l->addWidget(foldersTitle);
#ifndef Q_OS_MAC
{QWidget * w = new QWidget();
w->setStyleSheet("QWidget {border:none; border-bottom:1px solid #636363;border-top:1px solid #292929;}");
w->setMinimumHeight(2);
l->addSpacing(4);
l->addWidget(w);}
l->addSpacing(4);
#endif
l->addWidget(foldersView);
l->addWidget(foldersFilter);
l->setSpacing(0);
setLayout(l);
}
void YACReaderSideBar::paintEvent(QPaintEvent * event)
{
Q_UNUSED(event)
#ifdef Q_OS_MAC
QPainter painter(this);
QLinearGradient lG(0,0,0,height());
lG.setColorAt(0,QColor("#E8ECF1"));
lG.setColorAt(1,QColor("#D1D8E0"));
painter.fillRect(0,0,width(),height(),lG);
#else
QPainter painter(this);
painter.fillRect(0,0,width(),height(),QColor("#454545"));
//QWidget::paintEvent(event);
#endif
//QPixmap shadow(":/images/side_bar/shadow.png");
//painter.drawPixmap(width()-shadow.width(),0,shadow.width(),height(),shadow);
// painter.setRenderHint(QPainter::Antialiasing);
// painter.drawLine(rect().topLeft(), rect().bottomRight());
//QWidget::paintEvent(event);
}
QSize YACReaderSideBar::sizeHint() const
{
return QSize(275,200);
}