diff options
author | Jon Ander Peñalba <jonan88@gmail.com> | 2010-09-20 22:35:58 +0200 |
---|---|---|
committer | Jon Ander Peñalba <jonan88@gmail.com> | 2010-09-20 22:35:58 +0200 |
commit | 66fb43cdefd0de3946f8d6c931f4568384bdf57b (patch) | |
tree | 30c36d1e65f337a4004f1e3901baa972584c53f8 /src/history/historymanager.cpp | |
parent | Merge commit 'refs/merge-requests/216' of git://gitorious.org/rekonq/mainline... (diff) | |
download | rekonq-66fb43cdefd0de3946f8d6c931f4568384bdf57b.tar.xz |
History autosaver improved to be more general and less hackish
Diffstat (limited to 'src/history/historymanager.cpp')
-rw-r--r-- | src/history/historymanager.cpp | 43 |
1 files changed, 21 insertions, 22 deletions
diff --git a/src/history/historymanager.cpp b/src/history/historymanager.cpp index 4a2c0459..92f9caee 100644 --- a/src/history/historymanager.cpp +++ b/src/history/historymanager.cpp @@ -72,6 +72,7 @@ HistoryManager::HistoryManager(QObject *parent) connect(this, SIGNAL(entryAdded(const HistoryItem &)), m_saveTimer, SLOT(changeOccurred())); connect(this, SIGNAL(entryRemoved(const HistoryItem &)), m_saveTimer, SLOT(changeOccurred())); + connect(m_saveTimer, SIGNAL(saveNeeded()), this, SLOT(save())); load(); @@ -88,11 +89,9 @@ HistoryManager::HistoryManager(QObject *parent) HistoryManager::~HistoryManager() { m_saveTimer->saveIfNeccessary(); - + delete m_historyFilterModel; delete m_historyTreeModel; - - delete m_saveTimer; } @@ -107,7 +106,7 @@ void HistoryManager::addHistoryEntry(const QString &url) QWebSettings *globalSettings = QWebSettings::globalSettings(); if (globalSettings->testAttribute(QWebSettings::PrivateBrowsingEnabled)) return; - + QUrl cleanUrl(url); // don't store about: urls (home page related) @@ -129,7 +128,7 @@ void HistoryManager::addHistoryEntry(const QString &url) void HistoryManager::setHistory(const QList<HistoryItem> &history, bool loadedAndSorted) { m_history = history; - + // verify that it is sorted by date if (!loadedAndSorted) qSort(m_history.begin(), m_history.end()); @@ -189,14 +188,14 @@ void HistoryManager::updateHistoryEntry(const KUrl &url, const QString &title) urlString.remove(QL1S("www.")); if(urlString.startsWith(QL1S("http")) && urlString.endsWith(QL1C('/'))) urlString.remove(urlString.length()-1,1); - + for (int i = 0; i < m_history.count(); ++i) { QString itemUrl = m_history.at(i).url; itemUrl.remove(QL1S("www.")); if(itemUrl.startsWith(QL1S("http")) && itemUrl.endsWith(QL1C('/'))) itemUrl.remove(itemUrl.length()-1,1); - + if (urlString == itemUrl) { m_history[i].title = title; @@ -204,7 +203,7 @@ void HistoryManager::updateHistoryEntry(const KUrl &url, const QString &title) m_saveTimer->changeOccurred(); if (m_lastSavedUrl.isEmpty()) m_lastSavedUrl = m_history.at(i).url; - + emit entryUpdated(i); break; } @@ -253,7 +252,7 @@ QList<HistoryItem> HistoryManager::find(const QString &text) if (matches) list << item; } - + return list; } @@ -274,25 +273,25 @@ void HistoryManager::loadSettings() int days; switch (historyExpire) { - case 0: - days = 1; + case 0: + days = 1; break; - case 1: - days = 7; + case 1: + days = 7; break; - case 2: - days = 14; + case 2: + days = 14; break; - case 3: - days = 30; + case 3: + days = 30; break; - case 4: - days = 365; + case 4: + days = 365; break; - case 5: - days = -1; + case 5: + days = -1; break; - default: + default: days = -1; break; } |