Possibility to close download manager window on finished download

Alos little performance improvent when click2flash is enabled.
Pages will now be adjusted only once per load to correctly show
click2flash, not with every object loaded.
remotes/origin/falkon
nowrep 15 years ago
parent 975e023d54
commit 4e8cb1bdf5
  1. 17
      src/downloads/downloadmanager.cpp
  2. 1
      src/downloads/downloadmanager.h
  3. 8
      src/plugins/clicktoflash.cpp
  4. 2
      src/preferences/preferences.cpp
  5. 11
      src/preferences/preferences.ui
  6. 22
      src/webview/webpage.cpp
  7. 5
      src/webview/webpage.h

@ -28,10 +28,10 @@
#include "webpage.h"
#include "downloadfilehelper.h"
DownloadManager::DownloadManager(QWidget* parent) :
QWidget(parent)
,ui(new Ui::DownloadManager)
,m_isClosing(false)
DownloadManager::DownloadManager(QWidget* parent)
: QWidget(parent)
, ui(new Ui::DownloadManager)
, m_isClosing(false)
{
setWindowFlags(windowFlags() ^ Qt::WindowMaximizeButtonHint);
ui->setupUi(this);
@ -60,6 +60,7 @@ void DownloadManager::loadSettings()
settings.beginGroup("DownloadManager");
m_downloadPath = settings.value("defaultDownloadPath", "").toString();
m_lastDownloadPath = settings.value("lastDownloadPath", QDir::homePath() + "/").toString();
m_closeOnFinish = settings.value("CloseManagerOnFinish", false).toBool();
m_useNativeDialog = settings.value("useNativeDialog",
#ifdef Q_WS_WIN
false
@ -200,8 +201,10 @@ void DownloadManager::downloadFinished(bool success)
if (downloadingAllFilesFinished) {
if (success && qApp->activeWindow() != this) {
mApp->desktopNotifications()->notify(QPixmap(":icons/notifications/download.png"), tr("Download Finished"), tr("All files have been successfuly downloaded."));
raise();
activateWindow();
if (!m_closeOnFinish) {
raise();
activateWindow();
}
}
ui->speedLabel->clear();
setWindowTitle(tr("Download Manager"));
@ -211,6 +214,8 @@ void DownloadManager::downloadFinished(bool success)
win7.setProgressState(win7.NoProgress);
}
#endif
if (m_closeOnFinish)
close();
}
}

@ -91,6 +91,7 @@ private:
QString m_downloadPath;
bool m_useNativeDialog;
bool m_isClosing;
bool m_closeOnFinish;
};
#endif // DOWNLOADMANAGER_H

@ -101,9 +101,13 @@ void ClickToFlash::ensurePluginVisible()
// I don't know any other method how to show our plugin
// and adjust it on the proper position in page
m_page->mainFrame()->setZoomFactor(m_page->mainFrame()->zoomFactor() + 1);
m_page->mainFrame()->setZoomFactor(m_page->mainFrame()->zoomFactor() - 1);
// Scheduling adjustingPage rather than actually changing zoomFactor
// right now, as it is CPU intensive when there is lot of click2flash
// objects on page
m_page->scheduleAdjustPage();
}
void ClickToFlash::customContextMenuRequested(const QPoint &pos)
{
QMenu menu;

@ -213,6 +213,7 @@ Preferences::Preferences(QupZilla* mainClass, QWidget* parent) :
//DOWNLOADS
settings.beginGroup("DownloadManager");
ui->downLoc->setText( settings.value("defaultDownloadPath","").toString() );
ui->closeDownManOnFinish->setChecked( settings.value("CloseManagerOnFinish", false).toBool() );
ui->downlaodNativeSystemDialog->setChecked( settings.value("useNativeDialog",
#ifdef Q_WS_WIN
false
@ -584,6 +585,7 @@ void Preferences::saveSettings()
settings.setValue("defaultDownloadPath","");
else
settings.setValue("defaultDownloadPath", ui->downLoc->text());
settings.setValue("CloseManagerOnFinish", ui->closeDownManOnFinish->isChecked());
settings.setValue("useNativeDialog", ui->downlaodNativeSystemDialog->isChecked());
settings.endGroup();

@ -1464,7 +1464,7 @@
</item>
</layout>
</item>
<item row="8" column="2">
<item row="9" column="2">
<spacer name="verticalSpacer_10">
<property name="orientation">
<enum>Qt::Vertical</enum>
@ -1513,7 +1513,7 @@
</property>
</widget>
</item>
<item row="7" column="1" colspan="3">
<item row="8" column="1" colspan="3">
<widget class="QCheckBox" name="downlaodNativeSystemDialog">
<property name="text">
<string>Use native system file dialog
@ -1521,6 +1521,13 @@
</property>
</widget>
</item>
<item row="7" column="1" colspan="3">
<widget class="QCheckBox" name="closeDownManOnFinish">
<property name="text">
<string>Close download manager when downloading finishes</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="stackedWidgetPage5">

@ -36,13 +36,13 @@ WebPage::WebPage(WebView* parent, QupZilla* mainClass)
, m_view(parent)
, m_blockAlerts(false)
, m_secureStatus(false)
// ,m_isOpeningNextWindowAsNewTab(false)
// , m_isOpeningNextWindowAsNewTab(false)
{
setForwardUnsupportedContent(true);
setPluginFactory(new WebPluginFactory(this));
history()->setMaximumItemCount(20);
connect(this, SIGNAL(unsupportedContent(QNetworkReply*)), SLOT(handleUnsupportedContent(QNetworkReply*)));
connect(this, SIGNAL(loadStarted()), this, SLOT(loadingStarted()));
// connect(this, SIGNAL(loadStarted()), this, SLOT(loadingStarted()));
connect(this, SIGNAL(loadProgress(int)), this, SLOT(progress(int)));
connect(this, SIGNAL(loadFinished(bool)), this, SLOT(finished()));
connect(m_view, SIGNAL(urlChanged(QUrl)), this, SLOT(urlChanged(QUrl)));
@ -52,6 +52,7 @@ void WebPage::urlChanged(const QUrl &url)
{
Q_UNUSED(url)
m_adBlockedEntries.clear();
m_blockAlerts = false;
}
void WebPage::progress(int prog)
@ -68,15 +69,22 @@ void WebPage::progress(int prog)
void WebPage::finished()
{
progress(100);
if (m_adjustingScheduled) {
m_adjustingScheduled = false;
mainFrame()->setZoomFactor(mainFrame()->zoomFactor() + 1);
mainFrame()->setZoomFactor(mainFrame()->zoomFactor() - 1);
}
QTimer::singleShot(100, this, SLOT(cleanBlockedObjects()));
}
void WebPage::loadingStarted()
{
//void WebPage::loadingStarted()
//{
// m_adBlockedEntries.clear();
m_blockAlerts = false;
//m_SslCert.clear();
}
// m_blockAlerts = false;
// m_SslCert.clear();
//}
void WebPage::handleUnsupportedContent(QNetworkReply* reply)
{

@ -66,13 +66,15 @@ public:
QupZilla* qupzilla() { return p_QupZilla; }
void scheduleAdjustPage() { m_adjustingScheduled = true; }
signals:
void privacyChanged(bool status);
protected slots:
QWebPage* createWindow(QWebPage::WebWindowType type);
void handleUnsupportedContent(QNetworkReply* url);
void loadingStarted();
// void loadingStarted();
void progress(int prog);
void finished();
@ -98,6 +100,7 @@ private:
bool m_blockAlerts;
bool m_secureStatus;
bool m_adjustingScheduled;
// bool m_isOpeningNextWindowAsNewTab;
};

Loading…
Cancel
Save