mirror of
https://invent.kde.org/network/falkon.git
synced 2024-12-20 18:56:34 +01:00
Download Manager: opening file with the name which already exists now
rename it with number suffix. History Menu: is now generated only when webview's state is changed
This commit is contained in:
parent
23bebb3b9d
commit
cf3a621346
@ -26,7 +26,7 @@ AutoSaver::AutoSaver(QObject* parent) :
|
|||||||
|
|
||||||
void AutoSaver::timerEvent(QTimerEvent* event)
|
void AutoSaver::timerEvent(QTimerEvent* event)
|
||||||
{
|
{
|
||||||
if (event->timerId() == m_timer.timerId() && mApp->isChanged())
|
if (event->timerId() == m_timer.timerId() && mApp->isStateChanged())
|
||||||
emit saveApp();
|
emit saveApp();
|
||||||
else
|
else
|
||||||
QObject::timerEvent(event);
|
QObject::timerEvent(event);
|
||||||
|
@ -55,7 +55,7 @@ MainApplication::MainApplication(const QList<CommandLineOptions::ActionPair> &cm
|
|||||||
,m_desktopNotifications(0)
|
,m_desktopNotifications(0)
|
||||||
,m_iconProvider(new IconProvider)
|
,m_iconProvider(new IconProvider)
|
||||||
,m_isClosing(false)
|
,m_isClosing(false)
|
||||||
,m_isChanged(false)
|
,m_isStateChanged(false)
|
||||||
,m_isExited(false)
|
,m_isExited(false)
|
||||||
,m_isRestoring(false)
|
,m_isRestoring(false)
|
||||||
{
|
{
|
||||||
@ -239,10 +239,16 @@ QupZilla* MainApplication::getWindow()
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool MainApplication::isChanged()
|
void MainApplication::setStateChanged()
|
||||||
{
|
{
|
||||||
if (m_isChanged) {
|
m_isStateChanged = true;
|
||||||
m_isChanged = false;
|
sendMessages(StateChanged, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool MainApplication::isStateChanged()
|
||||||
|
{
|
||||||
|
if (m_isStateChanged) {
|
||||||
|
m_isStateChanged = false;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
@ -55,7 +55,7 @@ public:
|
|||||||
QString DATADIR;
|
QString DATADIR;
|
||||||
explicit MainApplication(const QList<CommandLineOptions::ActionPair> &cmdActions, int &argc, char **argv);
|
explicit MainApplication(const QList<CommandLineOptions::ActionPair> &cmdActions, int &argc, char **argv);
|
||||||
|
|
||||||
enum MessageType{ SetAdBlockIconEnabled, CheckPrivateBrowsing , ReloadSettings };
|
enum MessageType{ SetAdBlockIconEnabled, CheckPrivateBrowsing, ReloadSettings, StateChanged };
|
||||||
|
|
||||||
void loadSettings();
|
void loadSettings();
|
||||||
void reloadSettings() { loadSettings(); emit message(ReloadSettings, true); }
|
void reloadSettings() { loadSettings(); emit message(ReloadSettings, true); }
|
||||||
@ -63,7 +63,7 @@ public:
|
|||||||
void makeNewWindow(bool tryRestore, const QUrl &startUrl=QUrl());
|
void makeNewWindow(bool tryRestore, const QUrl &startUrl=QUrl());
|
||||||
void addNewTab(const QUrl &url = QUrl());
|
void addNewTab(const QUrl &url = QUrl());
|
||||||
void aboutToCloseWindow(QupZilla* window);
|
void aboutToCloseWindow(QupZilla* window);
|
||||||
bool isChanged();
|
bool isStateChanged();
|
||||||
|
|
||||||
inline static MainApplication* getInstance() { return static_cast<MainApplication*>(QCoreApplication::instance()); }
|
inline static MainApplication* getInstance() { return static_cast<MainApplication*>(QCoreApplication::instance()); }
|
||||||
inline QString getActiveProfil() { return m_activeProfil; }
|
inline QString getActiveProfil() { return m_activeProfil; }
|
||||||
@ -99,7 +99,7 @@ public slots:
|
|||||||
void quitApplication();
|
void quitApplication();
|
||||||
void sendMessages(MainApplication::MessageType mes, bool state);
|
void sendMessages(MainApplication::MessageType mes, bool state);
|
||||||
void receiveAppMessage(QString message);
|
void receiveAppMessage(QString message);
|
||||||
inline void setChanged() { m_isChanged = true; }
|
void setStateChanged();
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void message(MainApplication::MessageType mes, bool state);
|
void message(MainApplication::MessageType mes, bool state);
|
||||||
@ -136,7 +136,7 @@ private:
|
|||||||
QString m_activeLanguage;
|
QString m_activeLanguage;
|
||||||
|
|
||||||
bool m_isClosing;
|
bool m_isClosing;
|
||||||
bool m_isChanged;
|
bool m_isStateChanged;
|
||||||
bool m_isExited;
|
bool m_isExited;
|
||||||
bool m_isRestoring;
|
bool m_isRestoring;
|
||||||
};
|
};
|
||||||
|
@ -66,6 +66,7 @@ const QString QupZilla::WEBKITVERSION = qWebKitVersion();
|
|||||||
QupZilla::QupZilla(bool tryRestore, QUrl startUrl) :
|
QupZilla::QupZilla(bool tryRestore, QUrl startUrl) :
|
||||||
QMainWindow(0)
|
QMainWindow(0)
|
||||||
,m_tryRestore(tryRestore)
|
,m_tryRestore(tryRestore)
|
||||||
|
,m_historyMenuChanged(true)
|
||||||
,m_startingUrl(startUrl)
|
,m_startingUrl(startUrl)
|
||||||
,m_actionPrivateBrowsing(0)
|
,m_actionPrivateBrowsing(0)
|
||||||
,m_webInspectorDock(0)
|
,m_webInspectorDock(0)
|
||||||
@ -359,6 +360,9 @@ void QupZilla::setupMenu()
|
|||||||
|
|
||||||
menuBar()->setContextMenuPolicy(Qt::CustomContextMenu);
|
menuBar()->setContextMenuPolicy(Qt::CustomContextMenu);
|
||||||
|
|
||||||
|
m_menuClosedTabs = new QMenu(tr("Closed Tabs"));
|
||||||
|
connect(m_menuClosedTabs, SIGNAL(aboutToShow()), this, SLOT(aboutToShowClosedTabsMenu()));
|
||||||
|
|
||||||
aboutToShowToolsMenu();
|
aboutToShowToolsMenu();
|
||||||
aboutToShowHelpMenu();
|
aboutToShowHelpMenu();
|
||||||
|
|
||||||
@ -501,8 +505,12 @@ void QupZilla::receiveMessage(MainApplication::MessageType mes, bool state)
|
|||||||
LocationBarSettings::instance()->loadSettings();
|
LocationBarSettings::instance()->loadSettings();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case MainApplication::StateChanged:
|
||||||
|
m_historyMenuChanged = true;
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
qWarning("Unresolved message sent!");
|
qWarning("Unresolved message sent! This could never happen!");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -646,6 +654,11 @@ void QupZilla::aboutToShowHistoryMenu()
|
|||||||
{
|
{
|
||||||
if (!weView())
|
if (!weView())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (!m_historyMenuChanged)
|
||||||
|
return;
|
||||||
|
m_historyMenuChanged = false;
|
||||||
|
|
||||||
m_menuHistory->clear();
|
m_menuHistory->clear();
|
||||||
m_menuHistory->addAction(
|
m_menuHistory->addAction(
|
||||||
#ifdef Q_WS_X11
|
#ifdef Q_WS_X11
|
||||||
@ -689,7 +702,12 @@ void QupZilla::aboutToShowHistoryMenu()
|
|||||||
m_menuHistory->addAction(_iconForUrl(url), title, this, SLOT(loadActionUrl()))->setData(url);
|
m_menuHistory->addAction(_iconForUrl(url), title, this, SLOT(loadActionUrl()))->setData(url);
|
||||||
}
|
}
|
||||||
m_menuHistory->addSeparator();
|
m_menuHistory->addSeparator();
|
||||||
QMenu* menuClosedTabs = new QMenu(tr("Closed Tabs"));
|
m_menuHistory->addMenu(m_menuClosedTabs);
|
||||||
|
}
|
||||||
|
|
||||||
|
void QupZilla::aboutToShowClosedTabsMenu()
|
||||||
|
{
|
||||||
|
m_menuClosedTabs->clear();
|
||||||
int i = 0;
|
int i = 0;
|
||||||
foreach (ClosedTabsManager::Tab tab, m_tabWidget->closedTabsManager()->allClosedTabs()) {
|
foreach (ClosedTabsManager::Tab tab, m_tabWidget->closedTabsManager()->allClosedTabs()) {
|
||||||
QString title = tab.title;
|
QString title = tab.title;
|
||||||
@ -697,16 +715,14 @@ void QupZilla::aboutToShowHistoryMenu()
|
|||||||
title.truncate(40);
|
title.truncate(40);
|
||||||
title+="..";
|
title+="..";
|
||||||
}
|
}
|
||||||
menuClosedTabs->addAction(_iconForUrl(tab.url), title, m_tabWidget, SLOT(restoreClosedTab()))->setData(i);
|
m_menuClosedTabs->addAction(_iconForUrl(tab.url), title, m_tabWidget, SLOT(restoreClosedTab()))->setData(i);
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
menuClosedTabs->addSeparator();
|
m_menuClosedTabs->addSeparator();
|
||||||
if (i == 0)
|
if (i == 0)
|
||||||
menuClosedTabs->addAction(tr("Empty"))->setEnabled(false);
|
m_menuClosedTabs->addAction(tr("Empty"))->setEnabled(false);
|
||||||
else
|
else
|
||||||
menuClosedTabs->addAction(tr("Restore All Closed Tabs"), m_tabWidget, SLOT(restoreAllClosedTabs()));
|
m_menuClosedTabs->addAction(tr("Restore All Closed Tabs"), m_tabWidget, SLOT(restoreAllClosedTabs()));
|
||||||
|
|
||||||
m_menuHistory->addMenu(menuClosedTabs);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void QupZilla::aboutToShowHelpMenu()
|
void QupZilla::aboutToShowHelpMenu()
|
||||||
|
@ -148,6 +148,7 @@ private slots:
|
|||||||
void aboutToShowHistoryBackMenu();
|
void aboutToShowHistoryBackMenu();
|
||||||
void aboutToShowHistoryNextMenu();
|
void aboutToShowHistoryNextMenu();
|
||||||
void aboutToShowHistoryMenu();
|
void aboutToShowHistoryMenu();
|
||||||
|
void aboutToShowClosedTabsMenu();
|
||||||
void aboutToShowBookmarksMenu();
|
void aboutToShowBookmarksMenu();
|
||||||
void aboutToShowToolsMenu();
|
void aboutToShowToolsMenu();
|
||||||
void aboutToShowHelpMenu();
|
void aboutToShowHelpMenu();
|
||||||
@ -197,6 +198,7 @@ private:
|
|||||||
void setupMenu();
|
void setupMenu();
|
||||||
|
|
||||||
bool m_tryRestore;
|
bool m_tryRestore;
|
||||||
|
bool m_historyMenuChanged;
|
||||||
QUrl m_startingUrl;
|
QUrl m_startingUrl;
|
||||||
QUrl m_newtab;
|
QUrl m_newtab;
|
||||||
QUrl m_homepage;
|
QUrl m_homepage;
|
||||||
@ -210,6 +212,7 @@ private:
|
|||||||
QMenu* m_menuView;
|
QMenu* m_menuView;
|
||||||
QMenu* m_menuBookmarks;
|
QMenu* m_menuBookmarks;
|
||||||
QMenu* m_menuHistory;
|
QMenu* m_menuHistory;
|
||||||
|
QMenu* m_menuClosedTabs;
|
||||||
QMenu* m_menuBack;
|
QMenu* m_menuBack;
|
||||||
QMenu* m_menuForward;
|
QMenu* m_menuForward;
|
||||||
QMenu* m_menuEncoding;
|
QMenu* m_menuEncoding;
|
||||||
|
@ -46,6 +46,7 @@ DownloadItem::DownloadItem(QListWidgetItem* item, QNetworkReply* reply, QString
|
|||||||
QFile::remove(fullPath);
|
QFile::remove(fullPath);
|
||||||
|
|
||||||
m_outputFile.setFileName(fullPath);
|
m_outputFile.setFileName(fullPath);
|
||||||
|
qDebug() << m_fileName << m_outputFile.fileName();
|
||||||
|
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
setMaximumWidth(525);
|
setMaximumWidth(525);
|
||||||
|
@ -214,12 +214,12 @@ void DownloadManager::optionsDialogAccepted(int finish)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
fileNameChoosed(m_downloadPath + m_h_fileName);
|
fileNameChoosed(m_downloadPath + m_h_fileName, true);
|
||||||
} else
|
} else
|
||||||
fileNameChoosed(QDir::tempPath() + "/" + m_h_fileName);
|
fileNameChoosed(QDir::tempPath() + "/" + m_h_fileName, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DownloadManager::fileNameChoosed(const QString &name)
|
void DownloadManager::fileNameChoosed(const QString &name, bool fileNameAutoGenerated)
|
||||||
{
|
{
|
||||||
m_huserFileName = name;
|
m_huserFileName = name;
|
||||||
if (m_huserFileName.isEmpty()) {
|
if (m_huserFileName.isEmpty()) {
|
||||||
@ -236,6 +236,23 @@ void DownloadManager::fileNameChoosed(const QString &name)
|
|||||||
m_hfileName = m_huserFileName.right(size-pos-1);
|
m_hfileName = m_huserFileName.right(size-pos-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (fileNameAutoGenerated && QFile::exists(m_huserFileName)) {
|
||||||
|
QString _tmpFileName = m_hfileName;
|
||||||
|
int i = 1;
|
||||||
|
while (QFile::exists(m_hpath + "/" + _tmpFileName)) {
|
||||||
|
_tmpFileName = m_hfileName;
|
||||||
|
int index = _tmpFileName.lastIndexOf(".");
|
||||||
|
|
||||||
|
if (index == -1) {
|
||||||
|
_tmpFileName.append("("+QString::number(i)+")");
|
||||||
|
} else {
|
||||||
|
_tmpFileName = _tmpFileName.mid(0, index) + "("+QString::number(i)+")" + _tmpFileName.mid(index);
|
||||||
|
}
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
m_hfileName = _tmpFileName;
|
||||||
|
}
|
||||||
|
|
||||||
if (!m_hpath.contains(QDir::tempPath()))
|
if (!m_hpath.contains(QDir::tempPath()))
|
||||||
m_lastDownloadPath = m_hpath;
|
m_lastDownloadPath = m_hpath;
|
||||||
|
|
||||||
|
@ -73,7 +73,7 @@ private slots:
|
|||||||
|
|
||||||
|
|
||||||
void optionsDialogAccepted(int finish);
|
void optionsDialogAccepted(int finish);
|
||||||
void fileNameChoosed(const QString &name = "");
|
void fileNameChoosed(const QString &name, bool fileNameAutoGenerated = false);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void resized(QSize);
|
void resized(QSize);
|
||||||
|
@ -239,7 +239,7 @@ int TabWidget::addView(QUrl url, const QString &title, OpenUrlIn openIn, bool se
|
|||||||
// connect(weView(index), SIGNAL(siteIconChanged()), p_QupZilla->locationBar(), SLOT(siteIconChanged()));
|
// connect(weView(index), SIGNAL(siteIconChanged()), p_QupZilla->locationBar(), SLOT(siteIconChanged()));
|
||||||
// connect(weView(index), SIGNAL(showUrl(QUrl)), p_QupZilla->locationBar(), SLOT(showUrl(QUrl)));
|
// connect(weView(index), SIGNAL(showUrl(QUrl)), p_QupZilla->locationBar(), SLOT(showUrl(QUrl)));
|
||||||
connect(webView, SIGNAL(wantsCloseTab(int)), this, SLOT(closeTab(int)));
|
connect(webView, SIGNAL(wantsCloseTab(int)), this, SLOT(closeTab(int)));
|
||||||
connect(webView, SIGNAL(changed()), mApp, SLOT(setChanged()));
|
connect(webView, SIGNAL(changed()), mApp, SLOT(setStateChanged()));
|
||||||
connect(webView, SIGNAL(ipChanged(QString)), p_QupZilla->ipLabel(), SLOT(setText(QString)));
|
connect(webView, SIGNAL(ipChanged(QString)), p_QupZilla->ipLabel(), SLOT(setText(QString)));
|
||||||
|
|
||||||
if (url.isValid())
|
if (url.isValid())
|
||||||
|
Loading…
Reference in New Issue
Block a user