Ejemplo n.º 1
0
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();
	}
}
Ejemplo n.º 2
0
bool CookieJar::forceUpdateCookie(const QNetworkCookie &cookie)
{
	const bool result(QNetworkCookieJar::updateCookie(cookie));

	if (result)
	{
		scheduleSave();
	}

	return result;
}
Ejemplo n.º 3
0
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;
}
Ejemplo n.º 4
0
void TransfersManager::transferStopped()
{
	Transfer *transfer = qobject_cast<Transfer*>(sender());

	if (transfer)
	{
		emit transferStopped(transfer);

		scheduleSave();
	}
}
Ejemplo n.º 5
0
void TransfersManager::transferStarted()
{
	Transfer *transfer = qobject_cast<Transfer*>(sender());

	if (transfer && transfer->getState() != Transfer::CancelledState)
	{
		emit transferStarted(transfer);

		scheduleSave();
	}
}
Ejemplo n.º 6
0
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()));
}
Ejemplo n.º 7
0
bool CookieJar::forceDeleteCookie(const QNetworkCookie &cookie)
{
	const bool result(QNetworkCookieJar::deleteCookie(cookie));

	if (result)
	{
		scheduleSave();

		emit cookieRemoved(cookie);
	}

	return result;
}
Ejemplo n.º 8
0
bool CookieJar::forceInsertCookie(const QNetworkCookie &cookie)
{
	const bool result(QNetworkCookieJar::insertCookie(cookie));

	if (result)
	{
		scheduleSave();

		emit cookieAdded(cookie);
	}

	return result;
}
Ejemplo n.º 9
0
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()));
}
Ejemplo n.º 10
0
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;
}
Ejemplo n.º 11
0
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;
}
Ejemplo n.º 12
0
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;
}
Ejemplo n.º 13
0
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)));
	}
}
Ejemplo n.º 14
0
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();
		}
	}
}
Ejemplo n.º 15
0
	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;
	}