Fixed #108.
This commit is contained in:
parent
7b34434195
commit
f96c70b71d
@ -7,6 +7,7 @@ Added:
|
|||||||
|
|
||||||
Fixed:
|
Fixed:
|
||||||
<ul>
|
<ul>
|
||||||
|
<li>Target directory settings is now used for all kinds of downloading + when prompt for each download destination is set, then previously used folder is saved. (issue #108)</li>
|
||||||
<li>Fixed solarized skin. (issue #111)</li>
|
<li>Fixed solarized skin. (issue #111)</li>
|
||||||
<li>Keyboard shorcuts and toolbar editors now have alphabetically sorted actions. Toolbar editor switched from drag/drop to buttons. (issue
|
<li>Keyboard shorcuts and toolbar editors now have alphabetically sorted actions. Toolbar editor switched from drag/drop to buttons. (issue
|
||||||
#110)</li>
|
#110)</li>
|
||||||
|
@ -48,6 +48,7 @@
|
|||||||
#include <QColorDialog>
|
#include <QColorDialog>
|
||||||
#include <QFileDialog>
|
#include <QFileDialog>
|
||||||
#include <QKeyEvent>
|
#include <QKeyEvent>
|
||||||
|
#include <QDir>
|
||||||
|
|
||||||
|
|
||||||
FormSettings::FormSettings(QWidget *parent) : QDialog(parent), m_ui(new Ui::FormSettings) {
|
FormSettings::FormSettings(QWidget *parent) : QDialog(parent), m_ui(new Ui::FormSettings) {
|
||||||
@ -168,16 +169,16 @@ void FormSettings::onSkinSelected(QTreeWidgetItem *current,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void FormSettings::loadDownloads() {
|
void FormSettings::loadDownloads() {
|
||||||
m_ui->m_txtDownloadsTargetDirectory->setText(qApp->settings()->value(GROUP(Downloads),
|
m_ui->m_txtDownloadsTargetDirectory->setText(QDir::toNativeSeparators(qApp->settings()->value(GROUP(Downloads),
|
||||||
SETTING(Downloads::TargetDirectory)).toString());
|
SETTING(Downloads::TargetDirectory)).toString()));
|
||||||
m_ui->m_rbDownloadsAskEachFile->setChecked(qApp->settings()->value(GROUP(Downloads),
|
m_ui->m_rbDownloadsAskEachFile->setChecked(qApp->settings()->value(GROUP(Downloads),
|
||||||
SETTING(Downloads::AlwaysPromptForFilename)).toBool());
|
SETTING(Downloads::AlwaysPromptForFilename)).toBool());
|
||||||
}
|
}
|
||||||
|
|
||||||
void FormSettings::saveDownloads() {
|
void FormSettings::saveDownloads() {
|
||||||
qApp->settings()->setValue(GROUP(Downloads), Downloads::TargetDirectory, m_ui->m_txtDownloadsTargetDirectory->text());
|
qApp->settings()->setValue(GROUP(Downloads), Downloads::TargetDirectory, m_ui->m_txtDownloadsTargetDirectory->text());
|
||||||
qApp->settings()->setValue(GROUP(Downloads), Downloads::AlwaysPromptForFilename,
|
qApp->settings()->setValue(GROUP(Downloads), Downloads::AlwaysPromptForFilename, m_ui->m_rbDownloadsAskEachFile->isChecked());
|
||||||
m_ui->m_rbDownloadsAskEachFile->isChecked());
|
qApp->downloadManager()->setDownloadDirectory(m_ui->m_txtDownloadsTargetDirectory->text());
|
||||||
}
|
}
|
||||||
|
|
||||||
void FormSettings::selectDownloadsDirectory() {
|
void FormSettings::selectDownloadsDirectory() {
|
||||||
|
@ -162,6 +162,9 @@ DVALUE(QString) Downloads::TargetDirectoryDef = IOFactory::getSystemFold
|
|||||||
DKEY Downloads::RemovePolicy = "remove_policy";
|
DKEY Downloads::RemovePolicy = "remove_policy";
|
||||||
DVALUE(int) Downloads::RemovePolicyDef = DownloadManager::Never;
|
DVALUE(int) Downloads::RemovePolicyDef = DownloadManager::Never;
|
||||||
|
|
||||||
|
KEY Downloads::TargetExplicitDirectory = "target_explicit_directory";
|
||||||
|
VALUE(QString) Downloads::TargetExplicitDirectoryDef = IOFactory::getSystemFolder(SYSTEM_FOLDER_ENUM::DesktopLocation);
|
||||||
|
|
||||||
DKEY Downloads::ItemUrl = "download_%1_url";
|
DKEY Downloads::ItemUrl = "download_%1_url";
|
||||||
DKEY Downloads::ItemLocation = "download_%1_location";
|
DKEY Downloads::ItemLocation = "download_%1_location";
|
||||||
DKEY Downloads::ItemDone = "download_%1_done";
|
DKEY Downloads::ItemDone = "download_%1_done";
|
||||||
|
@ -177,6 +177,9 @@ namespace Downloads {
|
|||||||
KEY RemovePolicy;
|
KEY RemovePolicy;
|
||||||
VALUE(int) RemovePolicyDef;
|
VALUE(int) RemovePolicyDef;
|
||||||
|
|
||||||
|
KEY TargetExplicitDirectory;
|
||||||
|
VALUE(QString) TargetExplicitDirectoryDef;
|
||||||
|
|
||||||
KEY ItemUrl;
|
KEY ItemUrl;
|
||||||
KEY ItemLocation;
|
KEY ItemLocation;
|
||||||
KEY ItemDone;
|
KEY ItemDone;
|
||||||
|
@ -99,12 +99,15 @@ void DownloadItem::getFileName() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
QString download_directory = qApp->downloadManager()->downloadDirectory();
|
QString download_directory = qApp->downloadManager()->downloadDirectory();
|
||||||
QString default_filename = saveFileName(download_directory);
|
QString chosen_filename = saveFileName(download_directory);
|
||||||
QString chosen_filename = default_filename;
|
QString filename_for_prompt = qApp->settings()->value(GROUP(Downloads), SETTING(Downloads::TargetExplicitDirectory)).toString() +
|
||||||
|
QDir::separator() +
|
||||||
|
QFileInfo(chosen_filename).fileName();
|
||||||
|
|
||||||
if (m_requestFileName) {
|
if (m_requestFileName) {
|
||||||
|
// User must provide the path where he wants to save downloaded file in.
|
||||||
m_gettingFileName = true;
|
m_gettingFileName = true;
|
||||||
chosen_filename = QFileDialog::getSaveFileName(this, tr("Select destination for downloaded file"), default_filename);
|
chosen_filename = QFileDialog::getSaveFileName(this, tr("Select destination for downloaded file"), filename_for_prompt);
|
||||||
m_gettingFileName = false;
|
m_gettingFileName = false;
|
||||||
|
|
||||||
if (chosen_filename.isEmpty()) {
|
if (chosen_filename.isEmpty()) {
|
||||||
@ -118,6 +121,8 @@ void DownloadItem::getFileName() {
|
|||||||
|
|
||||||
QFileInfo file_info = QFileInfo(chosen_filename);
|
QFileInfo file_info = QFileInfo(chosen_filename);
|
||||||
|
|
||||||
|
qApp->settings()->setValue(GROUP(Downloads), Downloads::TargetExplicitDirectory,
|
||||||
|
QDir::toNativeSeparators(QFileInfo(chosen_filename).absolutePath()));
|
||||||
qApp->downloadManager()->setDownloadDirectory(file_info.absoluteDir().absolutePath());
|
qApp->downloadManager()->setDownloadDirectory(file_info.absoluteDir().absolutePath());
|
||||||
m_ui->m_lblFilename->setText(file_info.fileName());
|
m_ui->m_lblFilename->setText(file_info.fileName());
|
||||||
}
|
}
|
||||||
@ -686,8 +691,8 @@ void DownloadManager::cleanup() {
|
|||||||
void DownloadManager::setDownloadDirectory(const QString &directory) {
|
void DownloadManager::setDownloadDirectory(const QString &directory) {
|
||||||
m_downloadDirectory = directory;
|
m_downloadDirectory = directory;
|
||||||
|
|
||||||
if (!m_downloadDirectory.isEmpty() && !m_downloadDirectory.endsWith(QLatin1Char('/'))) {
|
if (!m_downloadDirectory.isEmpty() && !m_downloadDirectory.endsWith(QDir::separator())) {
|
||||||
m_downloadDirectory += QLatin1Char('/');
|
m_downloadDirectory += QDir::separator();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -80,16 +80,35 @@ void WebView::openImageInNewTab() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void WebView::saveCurrentPageToFile() {
|
void WebView::saveCurrentPageToFile() {
|
||||||
QString filter_html = tr("HTML web pages (*.html)");
|
QString selected_file;
|
||||||
|
|
||||||
QString filter;
|
if (qApp->settings()->value(GROUP(Downloads), SETTING(Downloads::AlwaysPromptForFilename)).toBool()) {
|
||||||
QString selected_filter;
|
QString filter_html = tr("HTML web pages (*.html)");
|
||||||
|
|
||||||
// Add more filters here.
|
QString filter;
|
||||||
filter += filter_html;
|
QString selected_filter;
|
||||||
|
QString filename_for_prompt = qApp->settings()->value(GROUP(Downloads), SETTING(Downloads::TargetExplicitDirectory)).toString() +
|
||||||
|
QDir::separator() + tr("source_page.html");
|
||||||
|
|
||||||
QString selected_file = QFileDialog::getSaveFileName(this, tr("Select destination file for web page"),
|
// Add more filters here.
|
||||||
qApp->homeFolderPath(), filter, &selected_filter);
|
filter += filter_html;
|
||||||
|
selected_file = QFileDialog::getSaveFileName(this, tr("Select destination file for web page"),
|
||||||
|
filename_for_prompt, filter, &selected_filter);
|
||||||
|
|
||||||
|
if (!selected_file.isEmpty()) {
|
||||||
|
qApp->settings()->setValue(GROUP(Downloads), Downloads::TargetExplicitDirectory,
|
||||||
|
QDir::toNativeSeparators(QFileInfo(selected_file).absolutePath()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
selected_file = qApp->settings()->value(GROUP(Downloads), SETTING(Downloads::TargetDirectory)).toString();
|
||||||
|
|
||||||
|
if (!selected_file.endsWith(QDir::separator())) {
|
||||||
|
selected_file += QDir::separator();
|
||||||
|
}
|
||||||
|
|
||||||
|
selected_file += tr("source_page.html");
|
||||||
|
}
|
||||||
|
|
||||||
if (!selected_file.isEmpty()) {
|
if (!selected_file.isEmpty()) {
|
||||||
QFile selected_file_handle(selected_file);
|
QFile selected_file_handle(selected_file);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user