Skip to content

Commit

Permalink
visual part of the toolbar is almost complete, now it's time to some …
Browse files Browse the repository at this point in the history
…funcionality baby
  • Loading branch information
Paulo Cesar authored and Paulo Cesar committed Nov 19, 2009
1 parent 8f107d6 commit 84dc838
Show file tree
Hide file tree
Showing 11 changed files with 272 additions and 15 deletions.
21 changes: 20 additions & 1 deletion src/mainwindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,10 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
errorBox->hide();

toolbar = new Toolbar(this);
toolbar->show();
toolbar->hide();

miniToolbar = new MinifiedToolbar(this);
miniToolbar->show();

connect(webView, SIGNAL(loadStarted()), this, SLOT(showLoading()));
connect(webView, SIGNAL(urlChanged(QUrl)), this, SLOT(changeUrl(QUrl)));
Expand All @@ -37,6 +40,9 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)

connect(webView->page()->networkAccessManager(), SIGNAL(finished(QNetworkReply*)),
this, SLOT(finishedRequest(QNetworkReply*)));

connect(miniToolbar->getShowToolbarButton(), SIGNAL(clicked()), this, SLOT(showToolbar()));
connect(toolbar->getHideToolbarButton(), SIGNAL(clicked()), this, SLOT(hideToolbar()));
}

MainWindow::~MainWindow()
Expand Down Expand Up @@ -81,6 +87,7 @@ void MainWindow::adjustSizes()
loadingLabel->setGeometry( width()/2 - 45, height()/2 - 45, 90, 90); //put the label on the center
errorBox->setGeometry( width()/2 - 150, height()/2 - 75, 300, 150); //put the error box on the center
toolbar->setGeometry( 0, 442, 800, 38 );
miniToolbar->setGeometry( 0, 442, 30, 38 );
}

void MainWindow::resizeEvent(QResizeEvent* event)
Expand Down Expand Up @@ -157,3 +164,15 @@ void MainWindow::disableWebkitAutoSize()
{
webView->page()->mainFrame()->evaluateJavaScript("document.body.style.WebkitTextSizeAdjust = 'auto'");
}

void MainWindow::showToolbar()
{
toolbar->show();
miniToolbar->hide();
}

void MainWindow::hideToolbar()
{
toolbar->hide();
miniToolbar->show();
}
6 changes: 6 additions & 0 deletions src/mainwindow.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
#include "webview.h"
#include "errorbox.h"
#include "toolbar.h"
#include "minifiedtoolbar.h"

#include <QLabel>

Expand All @@ -27,6 +28,7 @@ class MainWindow : public QMainWindow {
QLabel* loadingLabel;
ErrorBox* errorBox;
Toolbar* toolbar;
MinifiedToolbar* miniToolbar;

QUrl currentUrl;

Expand Down Expand Up @@ -63,6 +65,10 @@ private slots:

//request
void finishedRequest(QNetworkReply* reply);

//toolbar visibility control
void showToolbar();
void hideToolbar();
};

#endif // MAINWINDOW_H
37 changes: 37 additions & 0 deletions src/minifiedtoolbar.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
#include "minifiedtoolbar.h"
#include "ui_minifiedtoolbar.h"

#include <QPainter>

MinifiedToolbar::MinifiedToolbar(QWidget *parent) :
QWidget(parent),
m_ui(new Ui::MinifiedToolbar)
{
m_ui->setupUi(this);
}

MinifiedToolbar::~MinifiedToolbar()
{
delete m_ui;
}

void MinifiedToolbar::paintEvent ( QPaintEvent * event )
{
QRectF rectangle(-15, 0, 43, 43);

QPainter painter(this);

QLinearGradient linearGradient(0, 0, 0, 20);
linearGradient.setColorAt(0.0, QColor(180,180,180) );
linearGradient.setColorAt(0.33, Qt::gray );
linearGradient.setColorAt(1.0, QColor(120,120,120) );

painter.setPen( QColor(90, 90, 90) );
painter.setBrush(linearGradient);
painter.drawRoundedRect(rectangle, 8.0, 8.0);
}

QToolButton* MinifiedToolbar::getShowToolbarButton()
{
return m_ui->showToolbarButton;
}
26 changes: 26 additions & 0 deletions src/minifiedtoolbar.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#ifndef MINIFIEDTOOLBAR_H
#define MINIFIEDTOOLBAR_H

#include <QtGui/QWidget>
#include <QToolButton>

namespace Ui {
class MinifiedToolbar;
}

class MinifiedToolbar : public QWidget {
Q_OBJECT
public:
MinifiedToolbar(QWidget *parent = 0);
~MinifiedToolbar();

QToolButton *getShowToolbarButton();

protected:
void paintEvent ( QPaintEvent * event );

private:
Ui::MinifiedToolbar *m_ui;
};

#endif // MINIFIEDTOOLBAR_H
69 changes: 69 additions & 0 deletions src/minifiedtoolbar.ui
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MinifiedToolbar</class>
<widget class="QWidget" name="MinifiedToolbar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>26</width>
<height>40</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<property name="styleSheet">
<string>QToolButton {
color: black;
border: 1px solid #888;
border-radius: 4px;
background: qradialgradient(cx: 0.3, cy: -0.4,
fx: 0.3, fy: -0.4,
radius: 1.35, stop: 0 #fff, stop: 1 #d2d2d2);
}
QToolButton:hover {
background: qradialgradient(cx: 0.3, cy: -0.4,
fx: 0.3, fy: -0.4,
radius: 1.35, stop: 0 #fff, stop: 1 #e2e2e2);
}
QToolButton:pressed {
background: qradialgradient(cx: 0.4, cy: -0.1,
fx: 0.4, fy: -0.1,
radius: 1.35, stop: 0 #fff, stop: 1 #c2c2c2);
}</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QToolButton" name="showToolbarButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>24</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>28</height>
</size>
</property>
<property name="text">
<string>&gt;</string>
</property>
<property name="iconSize">
<size>
<width>16</width>
<height>24</height>
</size>
</property>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>
9 changes: 6 additions & 3 deletions src/src.pro
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,21 @@ SOURCES = flickable.cpp \
mainwindow.cpp \
errorbox.cpp \
networkcookiejar.cpp \
toolbar.cpp
toolbar.cpp \
minifiedtoolbar.cpp
HEADERS = flickable.h \
webview.h \
mainwindow.h \
webpage.h \
errorbox.h \
networkcookiejar.h \
toolbar.h
toolbar.h \
minifiedtoolbar.h
QT += network \
webkit
FORMS += errorbox.ui \
toolbar.ui
toolbar.ui \
minifiedtoolbar.ui
RESOURCES += resources.qrc
unix {
# VARIABLES
Expand Down
5 changes: 5 additions & 0 deletions src/toolbar.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,8 @@ void Toolbar::paintEvent ( QPaintEvent * event )
painter.setBrush(linearGradient);
painter.drawRect(rectangle);
}

QToolButton* Toolbar::getHideToolbarButton()
{
return m_ui->hideToolbarButton;
}
3 changes: 3 additions & 0 deletions src/toolbar.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
#define TOOLBAR_H

#include <QtGui/QWidget>
#include <QToolButton>

namespace Ui {
class Toolbar;
Expand All @@ -14,6 +15,8 @@ class Toolbar : public QWidget {
Toolbar(QWidget *parent = 0);
~Toolbar();

QToolButton *getHideToolbarButton();

protected:
void paintEvent ( QPaintEvent * event );

Expand Down
2 changes: 1 addition & 1 deletion src/toolbar.ui
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ background: rgb(144, 144, 144);
</widget>
</item>
<item>
<widget class="QToolButton" name="favButton">
<widget class="QToolButton" name="hideToolbarButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
Expand Down
89 changes: 89 additions & 0 deletions src/ui_minifiedtoolbar.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
/********************************************************************************
** Form generated from reading ui file 'minifiedtoolbar.ui'
**
** Created: Thu Nov 19 21:18:49 2009
** by: Qt User Interface Compiler version 4.5.2
**
** WARNING! All changes made in this file will be lost when recompiling ui file!
********************************************************************************/

#ifndef UI_MINIFIEDTOOLBAR_H
#define UI_MINIFIEDTOOLBAR_H

#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QHBoxLayout>
#include <QtGui/QHeaderView>
#include <QtGui/QToolButton>
#include <QtGui/QWidget>

QT_BEGIN_NAMESPACE

class Ui_MinifiedToolbar
{
public:
QHBoxLayout *horizontalLayout;
QToolButton *showToolbarButton;

void setupUi(QWidget *MinifiedToolbar)
{
if (MinifiedToolbar->objectName().isEmpty())
MinifiedToolbar->setObjectName(QString::fromUtf8("MinifiedToolbar"));
MinifiedToolbar->resize(26, 40);
horizontalLayout = new QHBoxLayout(MinifiedToolbar);
horizontalLayout->setMargin(0);
horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
showToolbarButton = new QToolButton(MinifiedToolbar);
showToolbarButton->setObjectName(QString::fromUtf8("showToolbarButton"));
QSizePolicy sizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
sizePolicy.setHorizontalStretch(0);
sizePolicy.setVerticalStretch(24);
sizePolicy.setHeightForWidth(showToolbarButton->sizePolicy().hasHeightForWidth());
showToolbarButton->setSizePolicy(sizePolicy);
showToolbarButton->setMinimumSize(QSize(0, 28));
showToolbarButton->setIconSize(QSize(16, 24));

horizontalLayout->addWidget(showToolbarButton);


retranslateUi(MinifiedToolbar);

QMetaObject::connectSlotsByName(MinifiedToolbar);
} // setupUi

void retranslateUi(QWidget *MinifiedToolbar)
{
MinifiedToolbar->setWindowTitle(QApplication::translate("MinifiedToolbar", "Form", 0, QApplication::UnicodeUTF8));
MinifiedToolbar->setStyleSheet(QApplication::translate("MinifiedToolbar", "QToolButton {\n"
"color: black;\n"
"border: 1px solid #888;\n"
"border-radius: 4px;\n"
"background: qradialgradient(cx: 0.3, cy: -0.4,\n"
"fx: 0.3, fy: -0.4,\n"
"radius: 1.35, stop: 0 #fff, stop: 1 #d2d2d2);\n"
"}\n"
"QToolButton:hover {\n"
"background: qradialgradient(cx: 0.3, cy: -0.4,\n"
"fx: 0.3, fy: -0.4,\n"
"radius: 1.35, stop: 0 #fff, stop: 1 #e2e2e2);\n"
"}\n"
"QToolButton:pressed {\n"
"background: qradialgradient(cx: 0.4, cy: -0.1,\n"
"fx: 0.4, fy: -0.1,\n"
"radius: 1.35, stop: 0 #fff, stop: 1 #c2c2c2);\n"
"}", 0, QApplication::UnicodeUTF8));
showToolbarButton->setText(QApplication::translate("MinifiedToolbar", ">", 0, QApplication::UnicodeUTF8));
Q_UNUSED(MinifiedToolbar);
} // retranslateUi

};

namespace Ui {
class MinifiedToolbar: public Ui_MinifiedToolbar {};
} // namespace Ui

QT_END_NAMESPACE

#endif // UI_MINIFIEDTOOLBAR_H
Loading

0 comments on commit 84dc838

Please sign in to comment.