/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- * * The contents of this file are subject to the Mozilla Public * License Version 1.1 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or * implied. See the License for the specific language governing * rights and limitations under the License. * * The Original Code is Mozilla Communicator client code. * * The Initial Developer of the Original Code is Netscape Communications * Corporation. Portions created by Netscape are Copyright (C) 1998 * Netscape Communications Corporation. All Rights Reserved. * * Contributor(s): * Milind Changire */ #include #include "MainWidget.h" MainWidget::MainWidget() { setMinimumSize( 500, 500 ); m_load = new QPushButton( "Load", this, "Load" ); m_quit = new QPushButton( "Quit", this, "Quit" ); m_mozilla = new QMozillaContainer( this ); m_edit = new QLineEdit( this ); m_progressBar = NULL; printf("done creating MainWidget parts...\n"); m_load->setGeometry( 10, 10, 50, 25 ); m_quit->setGeometry( 70, 10, 50, 25 ); m_mozilla->setGeometry( 0, 40, 500, 460 ); m_edit-> setGeometry( 130, 10, width() - 140, 25 ); printf("done setting MainWidget parts geometry...\n"); m_mozilla->setFocusPolicy( QWidget::StrongFocus ); m_mozilla->setMouseTracking( TRUE ); QObject::connect( m_load, SIGNAL(clicked()), this, SLOT(handleLoad())); QObject::connect( m_edit, SIGNAL(returnPressed()), this, SLOT(handleReturnPressed())); QObject::connect( m_mozilla, SIGNAL(urlLoadStarted()), this, SLOT(handleURLLoadStarted())); QObject::connect( m_mozilla, SIGNAL(urlLoadProgressed( const char *, int, int )), this, SLOT(handleURLLoadProgressed( const char*, int, int ))); QObject::connect( m_mozilla, SIGNAL(urlLoadEnded()), this, SLOT(handleURLLoadEnded())); } MainWidget::~MainWidget() { } /* private slot */ void MainWidget::handleLoad() { m_mozilla->loadURL( m_edit->text() ); } /* private slot */ void MainWidget::handleReturnPressed() { m_mozilla->loadURL( m_edit->text() ); } /* private slot */ void MainWidget::handleURLLoadStarted() { printf("URL Load Started...\n"); QApplication::setOverrideCursor( waitCursor ); if ( !m_progressBar ) { printf("Creating Progress Bar...\n"); m_progressBar = new QProgressBar( 100, m_mozilla ); } else printf("Using available Progress Bar...\n"); m_progressBar->setProgress( 0 ); m_progressBar->move( ( m_mozilla->width() - m_progressBar->width() ) / 2, ( m_mozilla->height() - m_progressBar->height() ) / 2 ); m_progressBar->show(); } /* private slot */ void MainWidget::handleURLLoadProgressed( const char *url, int progress, int max ) { printf("URL Load Progressed...\n"); m_progressBar->setProgress( progress / max * 100 ); } /* private slot */ void MainWidget::handleURLLoadEnded() { printf("URL Load Ended...\n"); m_progressBar->hide(); QApplication::restoreOverrideCursor(); } QWidget* MainWidget::getQuitWidget() { return m_quit; } void MainWidget::resizeEvent( QResizeEvent * ) { m_mozilla->setGeometry( 0, 40, width(), height() - 40 ); m_edit->setGeometry( 130, 10, width() - 130, 25 ); }