New release announcement.
This commit is contained in:
parent
406c1257fa
commit
9106c422b9
@ -545,7 +545,7 @@ if(WIN32)
|
||||
# set(APP_DLLS_QT4_MSVC2013
|
||||
# resources/binaries/windows/deployment/qt4-msvc2013/libeay32.dll
|
||||
# resources/binaries/windows/deployment/qt4-msvc2013/msvcp120.dll
|
||||
# resources/binaries/windows/deployment/qt4-msvc2013/msvcr120.dll
|
||||
# resourcegit coms/binaries/windows/deployment/qt4-msvc2013/msvcr120.dll
|
||||
# resources/binaries/windows/deployment/qt4-msvc2013/QtCore4.dll
|
||||
# resources/binaries/windows/deployment/qt4-msvc2013/QtGui4.dll
|
||||
# resources/binaries/windows/deployment/qt4-msvc2013/QtNetwork4.dll
|
||||
|
@ -1,4 +1,11 @@
|
||||
<body>
|
||||
<center><h2>2.3.1</h2></center>
|
||||
Fixed:
|
||||
<ul>
|
||||
<li>Many minor fixes, mainly code cleanup and refactoring.</li>
|
||||
</ul>
|
||||
|
||||
<hr/>
|
||||
<center><h2>2.3.0</h2></center>
|
||||
|
||||
Fixed:
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<releases>
|
||||
<release version="2.2.0">
|
||||
<url platform="x86" os="Windows">https://bitbucket.org/skunkos/rssguard/downloads/rssguard-2.2.0-win32.exe</url>
|
||||
<release version="2.3.0">
|
||||
<url platform="x86" os="Windows">https://bitbucket.org/skunkos/rssguard/downloads/rssguard-2.3.0-win32.exe</url>
|
||||
</release>
|
||||
</releases>
|
||||
</releases>
|
||||
|
@ -176,7 +176,7 @@ void FeedMessageViewer::onFeedUpdatesProgress(FeedsModelFeed *feed, int current,
|
||||
}
|
||||
|
||||
void FeedMessageViewer::onFeedUpdatesFinished() {
|
||||
qApp->closeLock()->unlock();
|
||||
qApp->feedUpdateLock()->unlock();
|
||||
qApp->mainForm()->statusBar()->clearProgressFeeds();
|
||||
m_messagesView->reloadSelections(1);
|
||||
}
|
||||
@ -367,7 +367,7 @@ void FeedMessageViewer::initializeViews() {
|
||||
}
|
||||
|
||||
void FeedMessageViewer::vacuumDatabase() {
|
||||
if (!qApp->closeLock()->tryLock()) {
|
||||
if (!qApp->feedUpdateLock()->tryLock()) {
|
||||
// Lock was not obtained because
|
||||
// it is used probably by feed updater or application
|
||||
// is quitting.
|
||||
@ -391,7 +391,7 @@ void FeedMessageViewer::vacuumDatabase() {
|
||||
this);
|
||||
}
|
||||
|
||||
qApp->closeLock()->unlock();
|
||||
qApp->feedUpdateLock()->unlock();
|
||||
}
|
||||
|
||||
void FeedMessageViewer::refreshVisualProperties() {
|
||||
|
@ -166,7 +166,7 @@ void FeedsView::loadExpandedStates() {
|
||||
}
|
||||
|
||||
void FeedsView::updateAllFeeds() {
|
||||
if (qApp->closeLock()->tryLock()) {
|
||||
if (qApp->feedUpdateLock()->tryLock()) {
|
||||
emit feedsUpdateRequested(allFeeds());
|
||||
}
|
||||
else {
|
||||
@ -184,7 +184,7 @@ void FeedsView::updateAllFeedsOnStartup() {
|
||||
}
|
||||
|
||||
void FeedsView::updateSelectedFeeds() {
|
||||
if (qApp->closeLock()->tryLock()) {
|
||||
if (qApp->feedUpdateLock()->tryLock()) {
|
||||
emit feedsUpdateRequested(selectedFeeds());
|
||||
}
|
||||
else {
|
||||
@ -195,7 +195,7 @@ void FeedsView::updateSelectedFeeds() {
|
||||
}
|
||||
|
||||
void FeedsView::executeNextAutoUpdate() {
|
||||
if (!qApp->closeLock()->tryLock()) {
|
||||
if (!qApp->feedUpdateLock()->tryLock()) {
|
||||
qDebug("Delaying scheduled feed auto-updates for one minute due to another running update.");
|
||||
|
||||
// Cannot update, quit.
|
||||
@ -219,7 +219,7 @@ void FeedsView::executeNextAutoUpdate() {
|
||||
|
||||
if (feeds_for_update.isEmpty()) {
|
||||
// No feeds are scheduled for update now, unlock the master lock.
|
||||
qApp->closeLock()->unlock();
|
||||
qApp->feedUpdateLock()->unlock();
|
||||
}
|
||||
else {
|
||||
// Request update for given feeds.
|
||||
@ -253,7 +253,7 @@ void FeedsView::clearAllFeeds() {
|
||||
}
|
||||
|
||||
void FeedsView::addNewCategory() {
|
||||
if (!qApp->closeLock()->tryLock()) {
|
||||
if (!qApp->feedUpdateLock()->tryLock()) {
|
||||
// Lock was not obtained because
|
||||
// it is used probably by feed updater or application
|
||||
// is quitting.
|
||||
@ -270,7 +270,7 @@ void FeedsView::addNewCategory() {
|
||||
delete form_pointer.data();
|
||||
|
||||
// Changes are done, unlock the update master lock.
|
||||
qApp->closeLock()->unlock();
|
||||
qApp->feedUpdateLock()->unlock();
|
||||
}
|
||||
|
||||
void FeedsView::editCategory(FeedsModelCategory *category) {
|
||||
@ -282,7 +282,7 @@ void FeedsView::editCategory(FeedsModelCategory *category) {
|
||||
}
|
||||
|
||||
void FeedsView::addNewFeed() {
|
||||
if (!qApp->closeLock()->tryLock()) {
|
||||
if (!qApp->feedUpdateLock()->tryLock()) {
|
||||
// Lock was not obtained because
|
||||
// it is used probably by feed updater or application
|
||||
// is quitting.
|
||||
@ -299,7 +299,7 @@ void FeedsView::addNewFeed() {
|
||||
delete form_pointer.data();
|
||||
|
||||
// Changes are done, unlock the update master lock.
|
||||
qApp->closeLock()->unlock();
|
||||
qApp->feedUpdateLock()->unlock();
|
||||
}
|
||||
|
||||
void FeedsView::editFeed(FeedsModelFeed *feed) {
|
||||
@ -347,7 +347,7 @@ void FeedsView::receiveMessageCountsChange(MessagesModel::MessageMode mode,
|
||||
}
|
||||
|
||||
void FeedsView::editSelectedItem() {
|
||||
if (!qApp->closeLock()->tryLock()) {
|
||||
if (!qApp->feedUpdateLock()->tryLock()) {
|
||||
// Lock was not obtained because
|
||||
// it is used probably by feed updater or application
|
||||
// is quitting.
|
||||
@ -370,11 +370,11 @@ void FeedsView::editSelectedItem() {
|
||||
}
|
||||
|
||||
// Changes are done, unlock the update master lock.
|
||||
qApp->closeLock()->unlock();
|
||||
qApp->feedUpdateLock()->unlock();
|
||||
}
|
||||
|
||||
void FeedsView::deleteSelectedItem() {
|
||||
if (!qApp->closeLock()->tryLock()) {
|
||||
if (!qApp->feedUpdateLock()->tryLock()) {
|
||||
// Lock was not obtained because
|
||||
// it is used probably by feed updater or application
|
||||
// is quitting.
|
||||
@ -390,7 +390,7 @@ void FeedsView::deleteSelectedItem() {
|
||||
|
||||
if (!current_index.isValid()) {
|
||||
// Changes are done, unlock the update master lock and exit.
|
||||
qApp->closeLock()->unlock();
|
||||
qApp->feedUpdateLock()->unlock();
|
||||
return;
|
||||
}
|
||||
|
||||
@ -398,7 +398,7 @@ void FeedsView::deleteSelectedItem() {
|
||||
tr("You are about to delete selected feed or category."), tr("Do you really want to delete selected item?"),
|
||||
QString(), QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes) == QMessageBox::No) {
|
||||
// User changed his mind.
|
||||
qApp->closeLock()->unlock();
|
||||
qApp->feedUpdateLock()->unlock();
|
||||
return;
|
||||
}
|
||||
|
||||
@ -415,7 +415,7 @@ void FeedsView::deleteSelectedItem() {
|
||||
}
|
||||
|
||||
// Changes are done, unlock the update master lock.
|
||||
qApp->closeLock()->unlock();
|
||||
qApp->feedUpdateLock()->unlock();
|
||||
}
|
||||
|
||||
void FeedsView::markSelectedFeedsReadStatus(int read) {
|
||||
|
@ -448,7 +448,7 @@ void FormMain::showAbout() {
|
||||
}
|
||||
|
||||
void FormMain::showUpdates() {
|
||||
if (!qApp->closeLock()->tryLock()) {
|
||||
if (!qApp->feedUpdateLock()->tryLock()) {
|
||||
if (SystemTrayIcon::isSystemTrayActivated()) {
|
||||
qApp->trayIcon()->showMessage(tr("Cannot check for updates"),
|
||||
tr("You cannot check for updates because feed update is ongoing."),
|
||||
@ -468,7 +468,7 @@ void FormMain::showUpdates() {
|
||||
form_update.data()->exec();
|
||||
delete form_update.data();
|
||||
|
||||
qApp->closeLock()->unlock();
|
||||
qApp->feedUpdateLock()->unlock();
|
||||
}
|
||||
|
||||
void FormMain::showWiki() {
|
||||
|
@ -32,7 +32,7 @@
|
||||
|
||||
Application::Application(const QString &id, int &argc, char **argv)
|
||||
: QtSingleApplication(id, argc, argv),
|
||||
m_closeLock(NULL), m_userActions(QList<QAction*>()), m_mainForm(NULL),
|
||||
m_updateFeedsLock(NULL), m_userActions(QList<QAction*>()), m_mainForm(NULL),
|
||||
m_trayIcon(NULL), m_settings(NULL), m_system(NULL), m_skins(NULL),
|
||||
m_localization(NULL), m_icons(NULL), m_database(NULL), m_downloadManager(NULL), m_shouldRestart(false) {
|
||||
connect(this, SIGNAL(aboutToQuit()), this, SLOT(onAboutToQuit()));
|
||||
@ -41,7 +41,7 @@ Application::Application(const QString &id, int &argc, char **argv)
|
||||
}
|
||||
|
||||
Application::~Application() {
|
||||
delete m_closeLock;
|
||||
delete m_updateFeedsLock;
|
||||
}
|
||||
|
||||
QList<QAction*> Application::userActions() {
|
||||
@ -188,9 +188,8 @@ void Application::onSaveState(QSessionManager &manager) {
|
||||
}
|
||||
|
||||
void Application::onAboutToQuit() {
|
||||
// Make sure that we obtain close lock
|
||||
// BEFORE even trying to quit the application.
|
||||
bool locked_safely = closeLock()->tryLock(CLOSE_LOCK_TIMEOUT);
|
||||
// Make sure that we obtain close lock BEFORE even trying to quit the application.
|
||||
bool locked_safely = feedUpdateLock()->tryLock(CLOSE_LOCK_TIMEOUT);
|
||||
|
||||
processEvents();
|
||||
|
||||
@ -209,7 +208,7 @@ void Application::onAboutToQuit() {
|
||||
qDebug("Close lock was obtained safely.");
|
||||
|
||||
// We locked the lock to exit peacefully, unlock it to avoid warnings.
|
||||
closeLock()->unlock();
|
||||
feedUpdateLock()->unlock();
|
||||
}
|
||||
else {
|
||||
// Request for write lock timed-out. This means
|
||||
|
@ -110,12 +110,12 @@ class Application : public QtSingleApplication {
|
||||
}
|
||||
|
||||
// Access to application-wide close lock.
|
||||
inline QMutex *closeLock() {
|
||||
if (m_closeLock == NULL) {
|
||||
m_closeLock = new QMutex();
|
||||
inline QMutex *feedUpdateLock() {
|
||||
if (m_updateFeedsLock == NULL) {
|
||||
m_updateFeedsLock = new QMutex();
|
||||
}
|
||||
|
||||
return m_closeLock;
|
||||
return m_updateFeedsLock;
|
||||
}
|
||||
|
||||
inline FormMain *mainForm() {
|
||||
@ -188,7 +188,7 @@ class Application : public QtSingleApplication {
|
||||
// But of user decides to close the application (in other words,
|
||||
// tries to lock the lock for writing), then no other
|
||||
// action will be allowed to lock for reading.
|
||||
QMutex *m_closeLock;
|
||||
QMutex *m_updateFeedsLock;
|
||||
QList<QAction*> m_userActions;
|
||||
FormMain *m_mainForm;
|
||||
SystemTrayIcon *m_trayIcon;
|
||||
|
Loading…
x
Reference in New Issue
Block a user