KFile
kurlnavigatorbuttonbase_p.h
Go to the documentation of this file.
00001 /***************************************************************************** 00002 * Copyright (C) 2006-2010 by Peter Penz <peter.penz@gmx.at> * 00003 * Copyright (C) 2006 by Aaron J. Seigo <aseigo@kde.org> * 00004 * * 00005 * This library is free software; you can redistribute it and/or * 00006 * modify it under the terms of the GNU Library General Public * 00007 * License as published by the Free Software Foundation; either * 00008 * version 2 of the License, or (at your option) any later version. * 00009 * * 00010 * This library is distributed in the hope that it will be useful, * 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 00013 * Library General Public License for more details. * 00014 * * 00015 * You should have received a copy of the GNU Library General Public License * 00016 * along with this library; see the file COPYING.LIB. If not, write to * 00017 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * 00018 * Boston, MA 02110-1301, USA. * 00019 *****************************************************************************/ 00020 00021 #ifndef KURLNAVIGATORBUTTONBASE_P_H 00022 #define KURLNAVIGATORBUTTONBASE_P_H 00023 00024 #include <QtGui/QColor> 00025 #include <QtGui/QPushButton> 00026 00027 class KUrl; 00028 class QEvent; 00029 00036 class KUrlNavigatorButtonBase : public QPushButton 00037 { 00038 Q_OBJECT 00039 00040 public: 00041 explicit KUrlNavigatorButtonBase(QWidget* parent); 00042 virtual ~KUrlNavigatorButtonBase(); 00043 00051 void setActive(bool active); 00052 bool isActive() const; 00053 00054 protected: 00055 enum DisplayHint { 00056 EnteredHint = 1, 00057 DraggedHint = 2, 00058 PopupActiveHint = 4 00059 }; 00060 00061 enum { BorderWidth = 2 }; 00062 00063 void setDisplayHintEnabled(DisplayHint hint, bool enable); 00064 bool isDisplayHintEnabled(DisplayHint hint) const; 00065 00066 virtual void enterEvent(QEvent* event); 00067 virtual void leaveEvent(QEvent* event); 00068 00069 void drawHoverBackground(QPainter* painter); 00070 00072 QColor foregroundColor() const; 00073 00074 private Q_SLOTS: 00076 void activate(); 00077 00078 private: 00079 bool m_active; 00080 int m_displayHint; 00081 }; 00082 00083 #endif
KDE 4.6 API Reference