void HistoryManager::optionChanged(const QString &option) { if (option == QLatin1String("History/RememberBrowsing") || option == QLatin1String("Browser/PrivateMode")) { m_isEnabled = (SettingsManager::getValue(QLatin1String("History/RememberBrowsing")).toBool() && !SettingsManager::getValue(QLatin1String("Browser/PrivateMode")).toBool()); } else if (option == QLatin1String("History/StoreFavicons")) { m_isStoringFavicons = SettingsManager::getValue(option).toBool(); } else if (option == QLatin1String("History/BrowsingLimitAmountGlobal")) { if (!m_browsingHistoryModel) { getBrowsingHistoryModel(); } if (!m_typedHistoryModel) { getTypedHistoryModel(); } const int limit(SettingsManager::getValue(QLatin1String("History/BrowsingLimitAmountGlobal")).toInt()); m_browsingHistoryModel->clearExcessEntries(limit); m_typedHistoryModel->clearExcessEntries(limit); scheduleSave(); } else if (option == QLatin1String("History/BrowsingLimitPeriod")) { if (!m_browsingHistoryModel) { getBrowsingHistoryModel(); } if (!m_typedHistoryModel) { getTypedHistoryModel(); } const int period(SettingsManager::getValue(QLatin1String("History/BrowsingLimitPeriod")).toInt()); m_browsingHistoryModel->clearOldestEntries(period); m_typedHistoryModel->clearOldestEntries(period); scheduleSave(); } }
bool CookieJar::forceUpdateCookie(const QNetworkCookie &cookie) { const bool result(QNetworkCookieJar::updateCookie(cookie)); if (result) { scheduleSave(); } return result; }
BookmarksModel* BookmarksManager::getModel() { if (!m_model && m_instance) { m_model = new BookmarksModel(SessionsManager::getWritableDataPath(QLatin1String("bookmarks.xbel")), BookmarksModel::BookmarksMode, m_instance); connect(m_model, SIGNAL(modelModified()), m_instance, SLOT(scheduleSave())); } return m_model; }
void TransfersManager::transferStopped() { Transfer *transfer = qobject_cast<Transfer*>(sender()); if (transfer) { emit transferStopped(transfer); scheduleSave(); } }
void TransfersManager::transferStarted() { Transfer *transfer = qobject_cast<Transfer*>(sender()); if (transfer && transfer->getState() != Transfer::CancelledState) { emit transferStarted(transfer); scheduleSave(); } }
SearchEnginesManager::SearchEnginesManager() : QObject() , m_settingsLoaded(false) , m_saveScheduled(false) { QSettings settings(mApp->getActiveProfilPath() + "settings.ini", QSettings::IniFormat); settings.beginGroup("SearchEngines"); m_startingEngineName = settings.value("activeEngine", "Google").toString(); settings.endGroup(); connect(this, SIGNAL(enginesChanged()), this, SLOT(scheduleSave())); }
bool CookieJar::forceDeleteCookie(const QNetworkCookie &cookie) { const bool result(QNetworkCookieJar::deleteCookie(cookie)); if (result) { scheduleSave(); emit cookieRemoved(cookie); } return result; }
bool CookieJar::forceInsertCookie(const QNetworkCookie &cookie) { const bool result(QNetworkCookieJar::insertCookie(cookie)); if (result) { scheduleSave(); emit cookieAdded(cookie); } return result; }
SearchEnginesManager::SearchEnginesManager() : QObject() , m_settingsLoaded(false) , m_saveScheduled(false) { Settings settings; settings.beginGroup("SearchEngines"); m_startingEngineName = settings.value("activeEngine", "DuckDuckGo").toString(); m_defaultEngineName = settings.value("DefaultEngine", "DuckDuckGo").toString(); settings.endGroup(); connect(this, SIGNAL(enginesChanged()), this, SLOT(scheduleSave())); }
bool CookieJar::updateCookie(const QNetworkCookie &cookie) { if (m_generalCookiesPolicy == IgnoreCookies || m_generalCookiesPolicy == ReadOnlyCookies) { return false; } const bool result(QNetworkCookieJar::updateCookie(cookie)); if (result) { scheduleSave(); } return result; }
bool CookieJar::insertCookie(const QNetworkCookie &cookie) { if (m_generalCookiesPolicy != AcceptAllCookies) { return false; } const bool result(QNetworkCookieJar::insertCookie(cookie)); if (result) { scheduleSave(); emit cookieAdded(cookie); } return result; }
bool CookieJar::deleteCookie(const QNetworkCookie &cookie) { if (m_generalCookiesPolicy == IgnoreCookies || m_generalCookiesPolicy == ReadOnlyCookies) { return false; } const bool result = QNetworkCookieJar::deleteCookie(cookie); if (result) { scheduleSave(); emit cookieRemoved(cookie); } return result; }
void HistoryManager::timerEvent(QTimerEvent *event) { if (event->timerId() == m_saveTimer) { killTimer(m_saveTimer); m_saveTimer = 0; if (m_browsingHistoryModel) { m_browsingHistoryModel->save(SessionsManager::getWritableDataPath(QLatin1String("browsingHistory.json"))); } if (m_typedHistoryModel) { m_typedHistoryModel->save(SessionsManager::getWritableDataPath(QLatin1String("typedHistory.json"))); } } else if (event->timerId() == m_dayTimer) { killTimer(m_dayTimer); if (!m_browsingHistoryModel) { getBrowsingHistoryModel(); } if (!m_typedHistoryModel) { getTypedHistoryModel(); } const int period(SettingsManager::getValue(QLatin1String("History/BrowsingLimitPeriod")).toInt()); m_browsingHistoryModel->clearOldestEntries(period); m_typedHistoryModel->clearOldestEntries(period); scheduleSave(); emit dayChanged(); m_dayTimer = startTimer(QTime::currentTime().msecsTo(QTime(23, 59, 59, 999))); } }
void TransfersManager::transferFinished() { Transfer *transfer = qobject_cast<Transfer*>(sender()); if (transfer) { if (transfer->getState() == Transfer::FinishedState) { connect(NotificationsManager::createNotification(NotificationsManager::TransferCompletedEvent, tr("Transfer completed:\n%1").arg(QFileInfo(transfer->getTarget()).fileName()), Notification::InformationLevel, this), SIGNAL(clicked()), transfer, SLOT(openTarget())); } emit transferFinished(transfer); if (!m_privateTransfers.contains(transfer)) { scheduleSave(); } } }
bool Core::DoDelayedInit () { QDir dir = QDir::home (); if (!dir.cd (".leechcraft/aggregator") && !dir.mkpath (".leechcraft/aggregator")) { qCritical () << Q_FUNC_INFO << "could not create necessary " "directories for Aggregator"; return false; } ChannelsModel_ = new ChannelsModel (); if (!ReinitStorage ()) return false; PluginManager_->RegisterHookable (StorageBackend_.get ()); ChannelsFilterModel_ = new ChannelsFilterModel (); ChannelsFilterModel_->setSourceModel (ChannelsModel_); ChannelsFilterModel_->setFilterKeyColumn (0); JobHolderRepresentation_ = new JobHolderRepresentation (); connect (DBUpThread_, SIGNAL (started ()), this, SLOT (handleDBUpThreadStarted ()), Qt::QueuedConnection); DBUpThread_->start (QThread::LowestPriority); connect (StorageBackend_.get (), SIGNAL (channelDataUpdated (Channel_ptr)), this, SLOT (handleChannelDataUpdated (Channel_ptr)), Qt::QueuedConnection); connect (StorageBackend_.get (), SIGNAL (itemDataUpdated (Item_ptr, Channel_ptr)), this, SIGNAL (itemDataUpdated (Item_ptr, Channel_ptr))); ParserFactory::Instance ().Register (&RSS20Parser::Instance ()); ParserFactory::Instance ().Register (&Atom10Parser::Instance ()); ParserFactory::Instance ().Register (&RSS091Parser::Instance ()); ParserFactory::Instance ().Register (&Atom03Parser::Instance ()); ParserFactory::Instance ().Register (&RSS10Parser::Instance ()); connect (ChannelsModel_, SIGNAL (channelDataUpdated ()), this, SIGNAL (channelDataUpdated ())); ReprWidget_ = new ItemsWidget (); ReprWidget_->SetChannelsFilter (JobHolderRepresentation_); ChannelsModel_->SetWidgets (ReprWidget_->GetToolBar (), ReprWidget_); JobHolderRepresentation_->setSourceModel (ChannelsModel_); CustomUpdateTimer_ = new QTimer (this); CustomUpdateTimer_->start (60 * 1000); connect (CustomUpdateTimer_, SIGNAL (timeout ()), this, SLOT (handleCustomUpdates ())); UpdateTimer_ = new QTimer (this); UpdateTimer_->setSingleShot (true); QDateTime currentDateTime = QDateTime::currentDateTime (); QDateTime lastUpdated = XmlSettingsManager::Instance ()-> Property ("LastUpdateDateTime", currentDateTime).toDateTime (); connect (UpdateTimer_, SIGNAL (timeout ()), this, SLOT (updateFeeds ())); int updateDiff = lastUpdated.secsTo (currentDateTime); int interval = XmlSettingsManager::Instance ()-> property ("UpdateInterval").toInt (); if (interval) { if ((XmlSettingsManager::Instance ()-> property ("UpdateOnStartup").toBool ()) || (updateDiff > interval * 60)) QTimer::singleShot (7000, this, SLOT (updateFeeds ())); else UpdateTimer_->start (updateDiff * 1000); } QTimer *saveTimer = new QTimer (this); saveTimer->start (60 * 1000); connect (saveTimer, SIGNAL (timeout ()), this, SLOT (scheduleSave ())); XmlSettingsManager::Instance ()-> RegisterObject ("UpdateInterval", this, "updateIntervalChanged"); XmlSettingsManager::Instance ()-> RegisterObject ("ShowIconInTray", this, "showIconInTrayChanged"); UpdateUnreadItemsNumber (); Initialized_ = true; return true; }