1 /* 2 * Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies) 3 * Copyright (C) 2009 Girish Ramakrishnan <girish (at) forwardbias.in> 4 * Copyright (C) 2006 George Staikos <staikos (at) kde.org> 5 * Copyright (C) 2006 Dirk Mueller <mueller (at) kde.org> 6 * Copyright (C) 2006 Zack Rusin <zack (at) kde.org> 7 * Copyright (C) 2006 Simon Hausmann <hausmann (at) kde.org> 8 * 9 * All rights reserved. 10 * 11 * Redistribution and use in source and binary forms, with or without 12 * modification, are permitted provided that the following conditions 13 * are met: 14 * 1. Redistributions of source code must retain the above copyright 15 * notice, this list of conditions and the following disclaimer. 16 * 2. Redistributions in binary form must reproduce the above copyright 17 * notice, this list of conditions and the following disclaimer in the 18 * documentation and/or other materials provided with the distribution. 19 * 20 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY 21 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 23 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR 24 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 25 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 26 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 27 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 28 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 29 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 30 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 */ 32 33 #ifndef mainwindow_h 34 #define mainwindow_h 35 36 #include <QtGui> 37 #include "webpage.h" 38 39 class LocationEdit; 40 41 class MainWindow : public QMainWindow { 42 Q_OBJECT 43 44 public: 45 MainWindow(); 46 47 void addCompleterEntry(const QUrl& url); 48 49 void load(const QString& url); 50 void load(const QUrl& url); 51 52 WebPage* page() const; 53 void setPage(WebPage*); 54 55 protected slots: 56 void setAddressUrl(const QString& url); 57 void setAddressUrl(const QUrl& url); 58 void openFile(); 59 void openLocation(); 60 void changeLocation(); 61 void onIconChanged(); 62 void onLoadStarted(); 63 void onTitleChanged(const QString&); 64 65 protected: 66 QString addressUrl() const; 67 68 private: 69 void buildUI(); 70 71 WebPage* m_page; 72 QToolBar* m_toolBar; 73 QStringListModel urlModel; 74 QStringList urlList; 75 LocationEdit* urlEdit; 76 }; 77 78 #endif 79