KFile
kurldropdownbutton.cpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include "kurldropdownbutton_p.h"
00020 #include "kurlnavigator.h"
00021
00022 #include <kglobalsettings.h>
00023
00024 #include <QtGui/QKeyEvent>
00025 #include <QtGui/QPainter>
00026 #include <QtGui/QStyleOption>
00027
00028 KUrlDropDownButton::KUrlDropDownButton(KUrlNavigator* parent) :
00029 KUrlButton(parent)
00030 {
00031 }
00032
00033 KUrlDropDownButton::~KUrlDropDownButton()
00034 {
00035 }
00036
00037 QSize KUrlDropDownButton::sizeHint() const
00038 {
00039 QSize size = KUrlButton::sizeHint();
00040 size.setWidth(size.height() / 2);
00041 return size;
00042 }
00043
00044 void KUrlDropDownButton::paintEvent(QPaintEvent* event)
00045 {
00046 Q_UNUSED(event);
00047
00048 QPainter painter(this);
00049 drawHoverBackground(&painter);
00050
00051 const QColor fgColor = foregroundColor();
00052
00053 QStyleOption option;
00054 option.initFrom(this);
00055 option.rect = QRect(0, 0, width(), height());
00056 option.palette = palette();
00057 option.palette.setColor(QPalette::Text, fgColor);
00058 option.palette.setColor(QPalette::WindowText, fgColor);
00059 option.palette.setColor(QPalette::ButtonText, fgColor);
00060
00061 if (layoutDirection() == Qt::LeftToRight) {
00062 style()->drawPrimitive(QStyle::PE_IndicatorArrowRight, &option, &painter, this);
00063 } else {
00064 style()->drawPrimitive(QStyle::PE_IndicatorArrowLeft, &option, &painter, this);
00065 }
00066
00067 }
00068
00069 #include "kurldropdownbutton_p.moc"