diff options
Diffstat (limited to 'src/urlbar/lineedit.cpp')
-rw-r--r-- | src/urlbar/lineedit.cpp | 193 |
1 files changed, 0 insertions, 193 deletions
diff --git a/src/urlbar/lineedit.cpp b/src/urlbar/lineedit.cpp deleted file mode 100644 index 93e65294..00000000 --- a/src/urlbar/lineedit.cpp +++ /dev/null @@ -1,193 +0,0 @@ -/* ============================================================ -* -* This file is a part of the rekonq project -* -* Copyright (C) 2009 by Andrea Diamantini <adjam7 at gmail dot com> -* Copyright (C) 2009 by Paweł Prażak <pawelprazak at gmail dot com> -* Copyright (C) 2009 by Lionel Chauvin <megabigbug@yahoo.fr> -* -* -* This program is free software; you can redistribute it and/or -* modify it under the terms of the GNU General Public License as -* published by the Free Software Foundation; either version 2 of -* the License or (at your option) version 3 or any later version -* accepted by the membership of KDE e.V. (or its successor approved -* by the membership of KDE e.V.), which shall act as a proxy -* defined in Section 14 of version 3 of the license. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program. If not, see <http://www.gnu.org/licenses/>. -* -* ============================================================ */ - - -// Self Includes -#include "lineedit.h" -#include "lineedit.moc" - -// KDE Includes -#include <klocalizedstring.h> -#include <KDebug> -#include <KStandardDirs> -#include <KIconLoader> - -// Qt Includes -#include <QtGui/QContextMenuEvent> -#include <QtGui/QFocusEvent> -#include <QtGui/QKeyEvent> -#include <QStyleOptionFrameV2> -#include <QPainter> - - -IconButton::IconButton(QWidget *parent) - : QToolButton(parent) -{ - setToolButtonStyle(Qt::ToolButtonIconOnly); - setStyleSheet("IconButton { background-color:transparent; border: none; padding: 0px}"); - setCursor(Qt::ArrowCursor); -} - - -// ----------------------------------------------------------------------------------------------------------- - - -LineEdit::LineEdit(QWidget* parent) - : KLineEdit(parent) - , _icon( new IconButton(this) ) -{ - // cosmetic - setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); - setMinimumWidth(200); - setMinimumHeight(26); - - // initial style - setStyleSheet( QString("LineEdit { padding: 0 0 0 %1px;} ").arg(_icon->sizeHint().width()) ); - - // doesn't show the clear button - setClearButtonShown(false); - - // trap Key_Enter & Key_Return events, while emitting the returnPressed signal - setTrapReturnKey(true); - - // insert decoded URLs - setUrlDropsEnabled(true); - - // accept focus, via tabbing, clicking & wheeling - setFocusPolicy(Qt::WheelFocus); - - // disable completion object (we have our own :) ) - setCompletionObject(0); -} - - -LineEdit::~LineEdit() -{ - delete _icon; -} - - -void LineEdit::keyPressEvent(QKeyEvent *event) -{ - if (event->key() == Qt::Key_Escape) - { - clearFocus(); - event->accept(); - } - - KLineEdit::keyPressEvent(event); -} - - -void LineEdit::mouseDoubleClickEvent(QMouseEvent *) -{ - selectAll(); -} - - -IconButton *LineEdit::iconButton() const -{ - return _icon; -} - - -void LineEdit::paintEvent(QPaintEvent *event) -{ - // you need this before our code to draw inside the line edit.. - KLineEdit::paintEvent(event); - - if (text().isEmpty()) - { - QStyleOptionFrame option; - initStyleOption(&option); - QRect textRect = style()->subElementRect(QStyle::SE_LineEditContents, &option, this); - QPainter painter(this); - painter.setPen(Qt::gray); - painter.drawText( textRect, - Qt::AlignCenter, - i18n("Start typing here to search your bookmarks, history and the web...") - ); - } -} - - -IconButton *LineEdit::addRightIcon(LineEdit::icon ic) -{ - IconButton *rightIcon = new IconButton(this); - - switch(ic) - { - case LineEdit::KGet: - rightIcon->setIcon( KIcon("download") ); - rightIcon->setToolTip( i18n("List all links with KGet") ); - break; - case LineEdit::RSS: - rightIcon->setIcon( KIcon("application-rss+xml") ); - rightIcon->setToolTip( i18n("List all available RSS feeds") ); - break; - case LineEdit::SSL: - rightIcon->setIcon( KIcon("object-locked") ); - rightIcon->setToolTip( i18n("Show SSL Infos") ); - break; - default: - kDebug() << "ERROR.. default non extant case!!"; - break; - } - - _rightIconsList << rightIcon; - int iconsCount = _rightIconsList.count(); - rightIcon->move( width() - 23*iconsCount, 6); - rightIcon->show(); - - return rightIcon; -} - - -void LineEdit::clearRightIcons() -{ - qDeleteAll(_rightIconsList); - _rightIconsList.clear(); -} - - -void LineEdit::resizeEvent(QResizeEvent *event) -{ - int newHeight = ( height() - 19 )/2; - _icon->move(4, newHeight ); - - int iconsCount = _rightIconsList.count(); - int w = width(); - - for(int i = 0; i < iconsCount; ++i) - { - IconButton *bt = _rightIconsList.at(i); - bt->move( w - 25*(i+1), newHeight ); - } - - KLineEdit::resizeEvent(event); - -} |