Improve Features

Support downloading files from website directly;
Show DSpinner before webpage loading progress finished.
This commit is contained in:
2020-11-28 04:14:04 +08:00
parent 9c8b2fdd94
commit 4a753259d3
12 changed files with 166 additions and 152 deletions

View File

@@ -20,7 +20,7 @@ MainWindow::MainWindow(QString szTitle,
: DMainWindow(parent)
, m_widget(new Widget(szUrl))
, m_dialog(dialog)
, btnBackward(new DToolButton(titlebar()))
, btnBack(new DToolButton(titlebar()))
, btnForward(new DToolButton(titlebar()))
, btnRefresh(new DToolButton(titlebar()))
, m_menu(new QMenu)
@@ -41,14 +41,14 @@ MainWindow::MainWindow(QString szTitle,
titlebar()->setTitle(szTitle);
titlebar()->setIcon(QIcon(":/images/spark-webapp-runtime.svg"));
btnBackward->setIcon(QIcon(":/images/go-previous-24.svg"));
btnBackward->setIconSize(QSize(36, 36));
btnBack->setIcon(QIcon(":/images/go-previous-24.svg"));
btnBack->setIconSize(QSize(36, 36));
btnForward->setIcon(QIcon(":/images/go-next-24.svg"));
btnForward->setIconSize(QSize(36, 36));
btnRefresh->setIcon(QIcon(":/images/view-refresh.svg"));
btnRefresh->setIconSize(QSize(36, 36));
titlebar()->addWidget(btnBackward, Qt::AlignLeft);
titlebar()->addWidget(btnBack, Qt::AlignLeft);
titlebar()->addWidget(btnForward, Qt::AlignLeft);
titlebar()->addWidget(btnRefresh, Qt::AlignLeft);
@@ -65,26 +65,17 @@ MainWindow::MainWindow(QString szTitle,
fixSize();
hideButtons();
connect(btnBackward, &DToolButton::clicked, this, [&]()
connect(btnBack, &DToolButton::clicked, this, [&]()
{
if (m_widget)
{
m_widget->goBack();
}
m_widget->goBack();
});
connect(btnForward, &DToolButton::clicked, this, [&]()
{
if (m_widget)
{
m_widget->goForward();
}
m_widget->goForward();
});
connect(btnRefresh, &DToolButton::clicked, this, [&]()
{
if (m_widget)
{
m_widget->refresh();
}
m_widget->refresh();
});
connect(m_fixSize, &QAction::triggered, this, [=]()
@@ -100,16 +91,8 @@ MainWindow::MainWindow(QString szTitle,
MainWindow::~MainWindow()
{
emit sigQuit();
if (m_widget)
{
delete m_widget;
m_widget = nullptr;
}
if (m_dialog)
{
delete m_dialog;
m_dialog = nullptr;
}
delete m_widget;
delete m_dialog;
}
void MainWindow::setIcon(QString szIconPath)
@@ -144,13 +127,13 @@ void MainWindow::hideButtons()
{
if(m_hideButtons->isChecked())
{
btnBackward->hide();
btnBack->hide();
btnForward->hide();
btnRefresh->hide();
}
else
{
btnBackward->show();
btnBack->show();
btnForward->show();
btnRefresh->show();
}