1/* This file is part of the KDE project
2 *
3 * Copyright (C) 2008 Bernhard Beschow <bbeschow AT cs DOT tu-berlin de>
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Library General Public
7 * License as published by the Free Software Foundation; either
8 * version 2 of the License, or (at your option) any later version.
9 *
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Library General Public License for more details.
14 *
15 * You should have received a copy of the GNU Library General Public License
16 * along with this library; see the file COPYING.LIB. If not, write to
17 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18 * Boston, MA 02110-1301, USA.
19 */
20#include "khtmlviewbarwidget.h"
21
22#include <kicon.h>
23
24#include <QtGui/QHBoxLayout>
25#include <QtGui/QToolButton>
26#include <QtGui/QResizeEvent>
27
28KHTMLViewBarWidget::KHTMLViewBarWidget( bool addCloseButton, QWidget *parent )
29 : QWidget( parent )
30{
31 QHBoxLayout *layout = new QHBoxLayout;
32
33 // NOTE: Here be cosmetics.
34 layout->setMargin( 2 );
35
36 // hide button
37 if ( addCloseButton ) {
38 QToolButton *hideButton = new QToolButton( this );
39 hideButton->setAutoRaise( true );
40 hideButton->setIcon( KIcon( "dialog-close" ) );
41 connect( hideButton, SIGNAL(clicked()), SIGNAL(hideMe()) );
42 layout->addWidget( hideButton );
43 layout->setAlignment( hideButton, Qt::AlignLeft | Qt::AlignTop );
44 }
45
46 // widget to be used as parent for the real content
47 m_centralWidget = new QWidget( this );
48 layout->addWidget( m_centralWidget );
49
50 setLayout( layout );
51 setFocusProxy( m_centralWidget );
52}
53
54void KHTMLViewBarWidget::resizeEvent( QResizeEvent *event )
55{
56 if ( event->size().width() != width() )
57 resize( event->size().width(), minimumSize().height() );
58 QWidget::resizeEvent( event );
59}
60