diff --git a/resources/text/CHANGELOG b/resources/text/CHANGELOG
index b9f757ce3..9d8bcbb1d 100644
--- a/resources/text/CHANGELOG
+++ b/resources/text/CHANGELOG
@@ -2,13 +2,14 @@
2.4.1
Added:
-- Experimental support for lighter version of Adblock component. It is configurable via status bar icon in bottom-right corner of main application window. It supports Adblock Plus filters. It is disabled by default. DO NOT user Adblock component if you wish to have LOW memory footprint or use very limited set of rules. Bug set of rules makes RSS Guard more RAM hungry. (issue #7)
+- Experimental support for lighter version of Adblock component. It is configurable via status bar icon in bottom-right corner of main application window. It supports Adblock Plus filters. It is disabled by default. DO NOT user Adblock component if you wish to have LOW memory footprint or use very limited set of rules. Big set of rules makes RSS Guard more RAM hungry. (issue #7)
- Unavailable actions in menus are automatically disabled when such a situation arises. (issue #28)
- Added support for Google auto-suggest API. Just type your phrase in internal web browser location text box and Google will help you out.
Fixed:
+- Source code now uses QStringLiteral/QLatin1String class for character literals.
- Internal message previewer is now cleared only once when switching feeds.
- Database cleanup tools now do support "shrinking" in in-memory databases, althouth it is bit hacky.
- Google suggest API now prevents completion if ENTER in address textbox is hit.
diff --git a/src/core/feedsmodel.cpp b/src/core/feedsmodel.cpp
index b8fc0b19c..d7e127867 100755
--- a/src/core/feedsmodel.cpp
+++ b/src/core/feedsmodel.cpp
@@ -283,9 +283,9 @@ bool FeedsModel::addCategory(FeedsModelCategory *category, FeedsModelRootItem *p
QSqlQuery query_add(database);
query_add.setForwardOnly(true);
- query_add.prepare(QSL("INSERT INTO Categories "
+ query_add.prepare("INSERT INTO Categories "
"(parent_id, title, description, date_created, icon) "
- "VALUES (:parent_id, :title, :description, :date_created, :icon);"));
+ "VALUES (:parent_id, :title, :description, :date_created, :icon);");
query_add.bindValue(QSL(":parent_id"), parent->id());
query_add.bindValue(QSL(":title"), category->title());
query_add.bindValue(QSL(":description"), category->description());
@@ -327,9 +327,9 @@ bool FeedsModel::editCategory(FeedsModelCategory *original_category, FeedsModelC
FeedsModelRootItem *new_parent = new_category->parent();
query_update_category.setForwardOnly(true);
- query_update_category.prepare(QSL("UPDATE Categories "
+ query_update_category.prepare("UPDATE Categories "
"SET title = :title, description = :description, icon = :icon, parent_id = :parent_id "
- "WHERE id = :id;"));
+ "WHERE id = :id;");
query_update_category.bindValue(QSL(":title"), new_category->title());
query_update_category.bindValue(QSL(":description"), new_category->description());
query_update_category.bindValue(QSL(":icon"), qApp->icons()->toByteArray(new_category->icon()));
@@ -379,9 +379,9 @@ bool FeedsModel::addFeed(FeedsModelFeed *feed, FeedsModelRootItem *parent) {
QSqlQuery query_add_feed(database);
query_add_feed.setForwardOnly(true);
- query_add_feed.prepare(QSL("INSERT INTO Feeds "
+ query_add_feed.prepare("INSERT INTO Feeds "
"(title, description, date_created, icon, category, encoding, url, protected, username, password, update_type, update_interval, type) "
- "VALUES (:title, :description, :date_created, :icon, :category, :encoding, :url, :protected, :username, :password, :update_type, :update_interval, :type);"));
+ "VALUES (:title, :description, :date_created, :icon, :category, :encoding, :url, :protected, :username, :password, :update_type, :update_interval, :type);");
query_add_feed.bindValue(QSL(":title"), feed->title());
query_add_feed.bindValue(QSL(":description"), feed->description());
query_add_feed.bindValue(QSL(":date_created"), feed->creationDate().toMSecsSinceEpoch());
@@ -429,9 +429,9 @@ bool FeedsModel::editFeed(FeedsModelFeed *original_feed, FeedsModelFeed *new_fee
FeedsModelRootItem *new_parent = new_feed->parent();
query_update_feed.setForwardOnly(true);
- query_update_feed.prepare(QSL("UPDATE Feeds "
+ query_update_feed.prepare("UPDATE Feeds "
"SET title = :title, description = :description, icon = :icon, category = :category, encoding = :encoding, url = :url, protected = :protected, username = :username, password = :password, update_type = :update_type, update_interval = :update_interval, type = :type "
- "WHERE id = :id;"));
+ "WHERE id = :id;");
query_update_feed.bindValue(QSL(":title"), new_feed->title());
query_update_feed.bindValue(QSL(":description"), new_feed->description());
query_update_feed.bindValue(QSL(":icon"), qApp->icons()->toByteArray(new_feed->icon()));
@@ -535,9 +535,9 @@ QList FeedsModel::messagesForFeeds(const QList &feeds)
DatabaseFactory::FromSettings);
QSqlQuery query_read_msg(database);
query_read_msg.setForwardOnly(true);
- query_read_msg.prepare(QSL("SELECT title, url, author, date_created, contents "
+ query_read_msg.prepare("SELECT title, url, author, date_created, contents "
"FROM Messages "
- "WHERE is_deleted = 0 AND feed = :feed;"));
+ "WHERE is_deleted = 0 AND feed = :feed;");
foreach (FeedsModelFeed *feed, feeds) {
query_read_msg.bindValue(QSL(":feed"), feed->id());
@@ -849,8 +849,8 @@ bool FeedsModel::markFeedsRead(const QList &feeds, int read) {
QSqlQuery query_read_msg(db_handle);
query_read_msg.setForwardOnly(true);
- if (!query_read_msg.prepare(QString(QSL("UPDATE Messages SET is_read = :read "
- "WHERE feed IN (%1) AND is_deleted = 0;")).arg(textualFeedIds(feeds).join(QSL(", "))))) {
+ if (!query_read_msg.prepare(QString("UPDATE Messages SET is_read = :read "
+ "WHERE feed IN (%1) AND is_deleted = 0;").arg(textualFeedIds(feeds).join(QSL(", "))))) {
qWarning("Query preparation failed for feeds read change.");
db_handle.rollback();
@@ -885,8 +885,8 @@ bool FeedsModel::markFeedsDeleted(const QList &feeds, int delet
query_delete_msg.setForwardOnly(true);
if (read_only) {
- if (!query_delete_msg.prepare(QString(QSL("UPDATE Messages SET is_deleted = :deleted "
- "WHERE feed IN (%1) AND is_deleted = 0 AND is_read = 1;")).arg(textualFeedIds(feeds).join(QSL(", "))))) {
+ if (!query_delete_msg.prepare(QString("UPDATE Messages SET is_deleted = :deleted "
+ "WHERE feed IN (%1) AND is_deleted = 0 AND is_read = 1;").arg(textualFeedIds(feeds).join(QSL(", "))))) {
qWarning("Query preparation failed for feeds clearing.");
db_handle.rollback();
@@ -894,8 +894,8 @@ bool FeedsModel::markFeedsDeleted(const QList &feeds, int delet
}
}
else {
- if (!query_delete_msg.prepare(QString(QSL("UPDATE Messages SET is_deleted = :deleted "
- "WHERE feed IN (%1) AND is_deleted = 0;")).arg(textualFeedIds(feeds).join(QSL(", "))))) {
+ if (!query_delete_msg.prepare(QString("UPDATE Messages SET is_deleted = :deleted "
+ "WHERE feed IN (%1) AND is_deleted = 0;").arg(textualFeedIds(feeds).join(QSL(", "))))) {
qWarning("Query preparation failed for feeds clearing.");
db_handle.rollback();
diff --git a/src/core/feedsmodelfeed.cpp b/src/core/feedsmodelfeed.cpp
index 9e4cc5d01..526df0ec2 100755
--- a/src/core/feedsmodelfeed.cpp
+++ b/src/core/feedsmodelfeed.cpp
@@ -478,14 +478,14 @@ void FeedsModelFeed::updateMessages(const QList &messages) {
// Used to check if given feed contains any message with given title, url and date_created.
// WARNING: One feed CANNOT contain two (or more) messages with same AUTHOR AND TITLE AND URL AND DATE_CREATED.
query_select.setForwardOnly(true);
- query_select.prepare(QSL("SELECT id, feed, date_created FROM Messages "
- "WHERE feed = :feed AND title = :title AND url = :url AND author = :author;"));
+ query_select.prepare("SELECT id, feed, date_created FROM Messages "
+ "WHERE feed = :feed AND title = :title AND url = :url AND author = :author;");
// Used to insert new messages.
query_insert.setForwardOnly(true);
- query_insert.prepare(QSL("INSERT INTO Messages "
+ query_insert.prepare("INSERT INTO Messages "
"(feed, title, url, author, date_created, contents, enclosures) "
- "VALUES (:feed, :title, :url, :author, :date_created, :contents, :enclosures);"));
+ "VALUES (:feed, :title, :url, :author, :date_created, :contents, :enclosures);");
if (remove_duplicates) {
query_update.setForwardOnly(true);
diff --git a/src/core/feedsproxymodel.cpp b/src/core/feedsproxymodel.cpp
index 5671847ba..3a3eaa0c0 100755
--- a/src/core/feedsproxymodel.cpp
+++ b/src/core/feedsproxymodel.cpp
@@ -28,7 +28,7 @@ FeedsProxyModel::FeedsProxyModel(QObject *parent)
: QSortFilterProxyModel(parent) {
m_sourceModel = new FeedsModel(this);
- setObjectName("FeedsProxyModel");
+ setObjectName(QSL("FeedsProxyModel"));
setSortRole(Qt::EditRole);
setSortCaseSensitivity(Qt::CaseInsensitive);
setFilterCaseSensitivity(Qt::CaseInsensitive);
diff --git a/src/core/feedsselection.cpp b/src/core/feedsselection.cpp
old mode 100644
new mode 100755
index b9437785d..435831864
--- a/src/core/feedsselection.cpp
+++ b/src/core/feedsselection.cpp
@@ -20,6 +20,7 @@
#include "core/feedsmodelrootitem.h"
#include "core/feedsmodelcategory.h"
#include "core/feedsmodelfeed.h"
+#include "definitions/definitions.h"
FeedsSelection::FeedsSelection(FeedsModelRootItem *root_of_selection) : m_selectedItem(root_of_selection) {
@@ -66,7 +67,7 @@ QString FeedsSelection::generateListOfIds() {
}
}
- return stringy_ids.join(", ");
+ return stringy_ids.join(QSL(", "));
}
else {
return QString();
diff --git a/src/core/messagesmodel.cpp b/src/core/messagesmodel.cpp
index 2f909aa72..38bddaa1e 100755
--- a/src/core/messagesmodel.cpp
+++ b/src/core/messagesmodel.cpp
@@ -29,9 +29,9 @@
MessagesModel::MessagesModel(QObject *parent)
- : QSqlTableModel(parent, qApp->database()->connection("MessagesModel", DatabaseFactory::FromSettings)),
+ : QSqlTableModel(parent, qApp->database()->connection(QSL("MessagesModel"), DatabaseFactory::FromSettings)),
m_messageFilter(NoHighlighting), m_customDateFormat(QString()) {
- setObjectName("MessagesModel");
+ setObjectName(QSL("MessagesModel"));
setupFonts();
setupIcons();
setupHeaderData();
@@ -41,7 +41,7 @@ MessagesModel::MessagesModel(QObject *parent)
// NOTE: Changes to the database are actually NOT submitted
// via model, but via DIRECT SQL calls are used to do persistent messages.
setEditStrategy(QSqlTableModel::OnManualSubmit);
- setTable("Messages");
+ setTable(QSL("Messages"));
loadMessages(FeedsSelection());
}
@@ -50,9 +50,9 @@ MessagesModel::~MessagesModel() {
}
void MessagesModel::setupIcons() {
- m_favoriteIcon = qApp->icons()->fromTheme("mail-mark-favorite");
- m_readIcon = qApp->icons()->fromTheme("mail-mark-read");
- m_unreadIcon = qApp->icons()->fromTheme("mail-mark-unread");
+ m_favoriteIcon = qApp->icons()->fromTheme(QSL("mail-mark-favorite"));
+ m_readIcon = qApp->icons()->fromTheme(QSL("mail-mark-read"));
+ m_unreadIcon = qApp->icons()->fromTheme(QSL("mail-mark-unread"));
}
FeedsSelection MessagesModel::loadedSelection() const {
@@ -75,12 +75,12 @@ void MessagesModel::loadMessages(const FeedsSelection &selection) {
m_currentSelection = selection;
if (m_currentSelection.mode() == FeedsSelection::MessagesFromRecycleBin) {
- setFilter("is_deleted = 1 AND is_pdeleted = 0");
+ setFilter(QSL("is_deleted = 1 AND is_pdeleted = 0"));
}
else {
QString assembled_ids = m_currentSelection.generateListOfIds();
- setFilter(QString("feed IN (%1) AND is_deleted = 0").arg(assembled_ids));
+ setFilter(QString(QSL("feed IN (%1) AND is_deleted = 0")).arg(assembled_ids));
qDebug("Loading messages from feeds: %s.", qPrintable(assembled_ids));
}
@@ -255,7 +255,7 @@ bool MessagesModel::setMessageRead(int row_index, int read) {
QSqlQuery query_read_msg(db_handle);
query_read_msg.setForwardOnly(true);
- if (!query_read_msg.prepare("UPDATE Messages SET is_read = :read WHERE id = :id;")) {
+ if (!query_read_msg.prepare(QSL("UPDATE Messages SET is_read = :read WHERE id = :id;"))) {
qWarning("Query preparation failed for message read change.");
db_handle.rollback();
@@ -264,8 +264,8 @@ bool MessagesModel::setMessageRead(int row_index, int read) {
// Rewrite the actual data in the database itself.
message_id = messageId(row_index);
- query_read_msg.bindValue(":id", message_id);
- query_read_msg.bindValue(":read", read);
+ query_read_msg.bindValue(QSL(":id"), message_id);
+ query_read_msg.bindValue(QSL(":read"), read);
query_read_msg.exec();
// Commit changes.
@@ -309,7 +309,7 @@ bool MessagesModel::switchMessageImportance(int row_index) {
QSqlQuery query_importance_msg(db_handle);
query_importance_msg.setForwardOnly(true);
- if (!query_importance_msg.prepare("UPDATE Messages SET is_important = :important WHERE id = :id;")) {
+ if (!query_importance_msg.prepare(QSL("UPDATE Messages SET is_important = :important WHERE id = :id;"))) {
qWarning("Query preparation failed for message importance switch.");
db_handle.rollback();
@@ -317,8 +317,8 @@ bool MessagesModel::switchMessageImportance(int row_index) {
}
message_id = messageId(row_index);
- query_importance_msg.bindValue(":id", message_id);
- query_importance_msg.bindValue(":important", current_importance == 1 ? 0 : 1);
+ query_importance_msg.bindValue(QSL(":id"), message_id);
+ query_importance_msg.bindValue(QSL(":important"), current_importance == 1 ? 0 : 1);
query_importance_msg.exec();
// Commit changes.
@@ -345,8 +345,8 @@ bool MessagesModel::switchBatchMessageImportance(const QModelIndexList &messages
message_ids.append(QString::number(messageId(message.row())));
}
- if (query_read_msg.exec(QString("UPDATE Messages SET is_important = NOT is_important "
- "WHERE id IN (%1);").arg(message_ids.join(", ")))) {
+ if (query_read_msg.exec(QString(QSL("UPDATE Messages SET is_important = NOT is_important WHERE id IN (%1);"))
+ .arg(message_ids.join(QSL(", "))))) {
select();
fetchAll();
@@ -373,12 +373,12 @@ bool MessagesModel::setBatchMessagesDeleted(const QModelIndexList &messages, int
QString sql_delete_query;
if (m_currentSelection.mode() == FeedsSelection::MessagesFromFeeds) {
- sql_delete_query = QString("UPDATE Messages SET is_deleted = %2 WHERE id IN (%1);").arg(message_ids.join(", "),
- QString::number(deleted));
+ sql_delete_query = QString(QSL("UPDATE Messages SET is_deleted = %2 WHERE id IN (%1);")).arg(message_ids.join(QSL(", ")),
+ QString::number(deleted));
}
else {
- sql_delete_query = QString("UPDATE Messages SET is_pdeleted = %2 WHERE id IN (%1);").arg(message_ids.join(", "),
- QString::number(deleted));
+ sql_delete_query = QString(QSL("UPDATE Messages SET is_pdeleted = %2 WHERE id IN (%1);")).arg(message_ids.join(QSL(", ")),
+ QString::number(deleted));
}
if (query_read_msg.exec(sql_delete_query)) {
@@ -405,8 +405,8 @@ bool MessagesModel::setBatchMessagesRead(const QModelIndexList &messages, int re
message_ids.append(QString::number(messageId(message.row())));
}
- if (query_read_msg.exec(QString("UPDATE Messages SET is_read = %2 "
- "WHERE id IN (%1);").arg(message_ids.join(", "), QString::number(read)))) {
+ if (query_read_msg.exec(QString(QSL("UPDATE Messages SET is_read = %2 WHERE id IN (%1);")).arg(message_ids.join(QSL(", ")),
+ QString::number(read)))) {
select();
fetchAll();
@@ -435,7 +435,7 @@ bool MessagesModel::setBatchMessagesRestored(const QModelIndexList &messages) {
message_ids.append(QString::number(messageId(message.row())));
}
- QString sql_delete_query = QString("UPDATE Messages SET is_deleted = 0 WHERE id IN (%1);").arg(message_ids.join(", "));
+ QString sql_delete_query = QString(QSL("UPDATE Messages SET is_deleted = 0 WHERE id IN (%1);")).arg(message_ids.join(QSL(", ")));
if (query_read_msg.exec(sql_delete_query)) {
select();
diff --git a/src/core/messagesproxymodel.cpp b/src/core/messagesproxymodel.cpp
old mode 100644
new mode 100755
index 8be22e8d3..4fc5f9ece
--- a/src/core/messagesproxymodel.cpp
+++ b/src/core/messagesproxymodel.cpp
@@ -24,7 +24,7 @@ MessagesProxyModel::MessagesProxyModel(QObject *parent)
: QSortFilterProxyModel(parent) {
m_sourceModel = new MessagesModel(this);
- setObjectName("MessagesProxyModel");
+ setObjectName(QSL("MessagesProxyModel"));
setSortRole(Qt::EditRole);
setSortCaseSensitivity(Qt::CaseInsensitive);
setFilterCaseSensitivity(Qt::CaseInsensitive);
diff --git a/src/core/parsingfactory.cpp b/src/core/parsingfactory.cpp
index ea1e4a604..fc8a96145 100755
--- a/src/core/parsingfactory.cpp
+++ b/src/core/parsingfactory.cpp
@@ -35,18 +35,18 @@ QList ParsingFactory::parseAsATOM10(const QString &data) {
xml_file.setContent(data, true);
// Pull out all messages.
- QDomNodeList messages_in_xml = xml_file.elementsByTagName("entry");
+ QDomNodeList messages_in_xml = xml_file.elementsByTagName(QSL("entry"));
for (int i = 0; i < messages_in_xml.size(); i++) {
QDomNode message_item = messages_in_xml.item(i);
Message new_message;
// Deal with titles & descriptions.
- QString elem_title = message_item.namedItem("title").toElement().text().simplified();
- QString elem_summary = message_item.namedItem("summary").toElement().text();
+ QString elem_title = message_item.namedItem(QSL("title")).toElement().text().simplified();
+ QString elem_summary = message_item.namedItem(QSL("summary")).toElement().text();
if (elem_summary.isEmpty()) {
- elem_summary = message_item.namedItem("content").toElement().text();
+ elem_summary = message_item.namedItem(QSL("content")).toElement().text();
}
// Now we obtained maximum of information for title & description.
@@ -68,18 +68,18 @@ QList ParsingFactory::parseAsATOM10(const QString &data) {
}
// Deal with link.
- QDomNodeList elem_links = message_item.toElement().elementsByTagName("link");
+ QDomNodeList elem_links = message_item.toElement().elementsByTagName(QSL("link"));
for (int i = 0; i < elem_links.size(); i++) {
QDomElement link = elem_links.at(i).toElement();
- if (link.attribute("rel") == "enclosure") {
- new_message.m_enclosures.append(Enclosure(link.attribute("href"), link.attribute("type")));
+ if (link.attribute(QSL("rel")) == QL1S("enclosure")) {
+ new_message.m_enclosures.append(Enclosure(link.attribute(QSL("href")), link.attribute(QSL("type"))));
qDebug("Adding enclosure '%s' for the message.", qPrintable(new_message.m_enclosures.last().m_url));
}
else {
- new_message.m_url = link.attribute("href");
+ new_message.m_url = link.attribute(QSL("href"));
}
}
@@ -88,10 +88,10 @@ QList ParsingFactory::parseAsATOM10(const QString &data) {
}
// Deal with authors.
- new_message.m_author = WebFactory::instance()->escapeHtml(message_item.namedItem("author").namedItem("name").toElement().text());
+ new_message.m_author = WebFactory::instance()->escapeHtml(message_item.namedItem(QSL("author")).namedItem(QSL("name")).toElement().text());
// Deal with creation date.
- new_message.m_created = TextFactory::parseDateTime(message_item.namedItem("updated").toElement().text());
+ new_message.m_created = TextFactory::parseDateTime(message_item.namedItem(QSL("updated")).toElement().text());
new_message.m_createdFromFeed = !new_message.m_created.isNull();
if (!new_message.m_createdFromFeed) {
@@ -124,15 +124,15 @@ QList ParsingFactory::parseAsRDF(const QString &data) {
xml_file.setContent(data, true);
// Pull out all messages.
- QDomNodeList messages_in_xml = xml_file.elementsByTagName("item");
+ QDomNodeList messages_in_xml = xml_file.elementsByTagName(QSL("item"));
for (int i = 0; i < messages_in_xml.size(); i++) {
QDomNode message_item = messages_in_xml.item(i);
Message new_message;
// Deal with title and description.
- QString elem_title = message_item.namedItem("title").toElement().text().simplified();
- QString elem_description = message_item.namedItem("description").toElement().text();
+ QString elem_title = message_item.namedItem(QSL("title")).toElement().text().simplified();
+ QString elem_description = message_item.namedItem(QSL("description")).toElement().text();
// Now we obtained maximum of information for title & description.
if (elem_title.isEmpty()) {
@@ -154,14 +154,14 @@ QList ParsingFactory::parseAsRDF(const QString &data) {
// Deal with link and author.
- new_message.m_url = message_item.namedItem("link").toElement().text();
- new_message.m_author = message_item.namedItem("creator").toElement().text();
+ new_message.m_url = message_item.namedItem(QSL("link")).toElement().text();
+ new_message.m_author = message_item.namedItem(QSL("creator")).toElement().text();
// Deal with creation date.
- QString elem_updated = message_item.namedItem("date").toElement().text();
+ QString elem_updated = message_item.namedItem(QSL("date")).toElement().text();
if (elem_updated.isEmpty()) {
- elem_updated = message_item.namedItem("dc:date").toElement().text();
+ elem_updated = message_item.namedItem(QSL("dc:date")).toElement().text();
}
// Deal with creation date.
@@ -195,20 +195,20 @@ QList ParsingFactory::parseAsRSS20(const QString &data) {
xml_file.setContent(data, true);
// Pull out all messages.
- QDomNodeList messages_in_xml = xml_file.elementsByTagName("item");
+ QDomNodeList messages_in_xml = xml_file.elementsByTagName(QSL("item"));
for (int i = 0; i < messages_in_xml.size(); i++) {
QDomNode message_item = messages_in_xml.item(i);
Message new_message;
// Deal with titles & descriptions.
- QString elem_title = message_item.namedItem("title").toElement().text().simplified();
- QString elem_description = message_item.namedItem("description").toElement().text();
- QString elem_enclosure = message_item.namedItem("enclosure").toElement().attribute("url");
- QString elem_enclosure_type = message_item.namedItem("enclosure").toElement().attribute("type");
+ QString elem_title = message_item.namedItem(QSL("title")).toElement().text().simplified();
+ QString elem_description = message_item.namedItem(QSL("description")).toElement().text();
+ QString elem_enclosure = message_item.namedItem(QSL("enclosure")).toElement().attribute(QSL("url"));
+ QString elem_enclosure_type = message_item.namedItem(QSL("enclosure")).toElement().attribute(QSL("type"));
if (elem_description.isEmpty()) {
- elem_description = message_item.namedItem("encoded").toElement().text();
+ elem_description = message_item.namedItem(QSL("encoded")).toElement().text();
}
// Now we obtained maximum of information for title & description.
@@ -236,23 +236,23 @@ QList ParsingFactory::parseAsRSS20(const QString &data) {
}
// Deal with link and author.
- new_message.m_url = message_item.namedItem("link").toElement().text();
+ new_message.m_url = message_item.namedItem(QSL("link")).toElement().text();
if (new_message.m_url.isEmpty() && !new_message.m_enclosures.isEmpty()) {
new_message.m_url = new_message.m_enclosures.first().m_url;
}
- new_message.m_author = message_item.namedItem("author").toElement().text();
+ new_message.m_author = message_item.namedItem(QSL("author")).toElement().text();
if (new_message.m_author.isEmpty()) {
- new_message.m_author = message_item.namedItem("creator").toElement().text();
+ new_message.m_author = message_item.namedItem(QSL("creator")).toElement().text();
}
// Deal with creation date.
- new_message.m_created = TextFactory::parseDateTime(message_item.namedItem("pubDate").toElement().text());
+ new_message.m_created = TextFactory::parseDateTime(message_item.namedItem(QSL("pubDate")).toElement().text());
if (new_message.m_created.isNull()) {
- new_message.m_created = TextFactory::parseDateTime(message_item.namedItem("date").toElement().text());
+ new_message.m_created = TextFactory::parseDateTime(message_item.namedItem(QSL("date")).toElement().text());
}
if (!(new_message.m_createdFromFeed = !new_message.m_created.isNull())) {
diff --git a/src/dynamic-shortcuts/dynamicshortcutswidget.cpp b/src/dynamic-shortcuts/dynamicshortcutswidget.cpp
old mode 100644
new mode 100755
index 36fb3ec41..b7b206825
--- a/src/dynamic-shortcuts/dynamicshortcutswidget.cpp
+++ b/src/dynamic-shortcuts/dynamicshortcutswidget.cpp
@@ -86,7 +86,7 @@ void DynamicShortcutsWidget::populate(QList actions) {
// Add new catcher to our control.
QLabel *action_label = new QLabel(this);
- action_label->setText(action->text().remove('&'));
+ action_label->setText(action->text().remove(QSL("&")));
action_label->setToolTip(action->toolTip());
action_label->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Preferred);
@@ -107,5 +107,5 @@ void DynamicShortcutsWidget::populate(QList actions) {
}
bool DynamicShortcutsWidget::lessThan(QAction *lhs, QAction *rhs) {
- return QString::localeAwareCompare(lhs->text().replace("&", ""), rhs->text().replace("&", "")) < 0;
+ return QString::localeAwareCompare(lhs->text().replace(QL1S("&"), QString()), rhs->text().replace(QL1S("&"), QString())) < 0;
}
diff --git a/src/dynamic-shortcuts/shortcutcatcher.cpp b/src/dynamic-shortcuts/shortcutcatcher.cpp
index ce6352a4e..20cb9f8e5 100755
--- a/src/dynamic-shortcuts/shortcutcatcher.cpp
+++ b/src/dynamic-shortcuts/shortcutcatcher.cpp
@@ -44,13 +44,13 @@ ShortcutCatcher::ShortcutCatcher(QWidget *parent)
// Create reset button.
m_btnReset = new PlainToolButton(this);
- m_btnReset->setIcon(qApp->icons()->fromTheme("edit-revert"));
+ m_btnReset->setIcon(qApp->icons()->fromTheme(QSL("edit-revert")));
m_btnReset->setFocusPolicy(Qt::NoFocus);
m_btnReset->setToolTip(tr("Reset to original shortcut."));
// Create clear button.
m_btnClear = new PlainToolButton(this);
- m_btnClear->setIcon(qApp->icons()->fromTheme("item-remove"));
+ m_btnClear->setIcon(qApp->icons()->fromTheme(QSL("item-remove")));
m_btnClear->setFocusPolicy(Qt::NoFocus);
m_btnClear->setToolTip(tr("Clear current shortcut."));
@@ -109,24 +109,24 @@ void ShortcutCatcher::controlModifierlessTimout() {
void ShortcutCatcher::updateDisplayShortcut() {
QString str = m_currentSequence.toString(QKeySequence::NativeText);
- str.replace('&', QLatin1String("&&"));
+ str.replace(QL1S("&"), QL1S("&&"));
if (m_isRecording) {
if (m_modifierKeys) {
if (!str.isEmpty()) {
- str.append(",");
+ str.append(QSL(","));
}
if (m_modifierKeys & Qt::META) {
- str += "Meta + ";
+ str += QL1S("Meta + ");
}
if (m_modifierKeys & Qt::CTRL) {
- str += "Ctrl + ";
+ str += QL1S("Ctrl + ");
}
if (m_modifierKeys & Qt::ALT) {
- str += "Alt + ";
+ str += QL1S("Alt + ");
}
if (m_modifierKeys & Qt::SHIFT) {
- str += "Shift + ";
+ str += QL1S("Shift + ");
}
}
}
diff --git a/src/gui/basetoolbar.cpp b/src/gui/basetoolbar.cpp
old mode 100644
new mode 100755
index 46e226d87..06a103623
--- a/src/gui/basetoolbar.cpp
+++ b/src/gui/basetoolbar.cpp
@@ -24,8 +24,7 @@
#include
-BaseToolBar::BaseToolBar(const QString &title, QWidget *parent)
- : QToolBar(title, parent) {
+BaseToolBar::BaseToolBar(const QString &title, QWidget *parent) : QToolBar(title, parent) {
// Update right margin of filter textbox.
QMargins margins = contentsMargins();
margins.setRight(margins.right() + FILTER_RIGHT_MARGIN);
diff --git a/src/gui/feedmessageviewer.cpp b/src/gui/feedmessageviewer.cpp
index 52897b2b0..7a54fa18d 100755
--- a/src/gui/feedmessageviewer.cpp
+++ b/src/gui/feedmessageviewer.cpp
@@ -455,7 +455,7 @@ void FeedMessageViewer::initializeViews() {
m_messagesView->setFrameStyle(QFrame::NoFrame);
// Setup message splitter.
- m_messageSplitter->setObjectName("MessageSplitter");
+ m_messageSplitter->setObjectName(QSL("MessageSplitter"));
m_messageSplitter->setHandleWidth(1);
m_messageSplitter->setOpaqueResize(false);
m_messageSplitter->setChildrenCollapsible(false);
diff --git a/src/gui/feedstoolbar.cpp b/src/gui/feedstoolbar.cpp
index 6cd5fa625..084e2a3d5 100755
--- a/src/gui/feedstoolbar.cpp
+++ b/src/gui/feedstoolbar.cpp
@@ -41,7 +41,7 @@ QList FeedsToolBar::changeableActions() const {
}
void FeedsToolBar::saveChangeableActions(const QStringList &actions) {
- qApp->settings()->setValue(GROUP(GUI), GUI::FeedsToolbarActions, actions.join(","));
+ qApp->settings()->setValue(GROUP(GUI), GUI::FeedsToolbarActions, actions.join(QSL(",")));
loadChangeableActions(actions);
}
@@ -75,7 +75,7 @@ void FeedsToolBar::loadChangeableActions(const QStringList &actions) {
spacer->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
QAction *action = addWidget(spacer);
- action->setIcon(qApp->icons()->fromTheme("application-search"));
+ action->setIcon(qApp->icons()->fromTheme(QSL("application-search")));
action->setProperty("type", SPACER_ACTION_NAME);
action->setProperty("name", tr("Toolbar spacer"));
}
diff --git a/src/gui/feedsview.cpp b/src/gui/feedsview.cpp
index 17218b018..e3051250a 100755
--- a/src/gui/feedsview.cpp
+++ b/src/gui/feedsview.cpp
@@ -48,7 +48,7 @@ FeedsView::FeedsView(QWidget *parent)
m_contextMenuEmptySpace(NULL),
m_contextMenuRecycleBin(NULL),
m_autoUpdateTimer(new QTimer(this)) {
- setObjectName("FeedsView");
+ setObjectName(QSL("FeedsView"));
// Allocate models.
m_proxyModel = new FeedsProxyModel(this);
diff --git a/src/gui/formabout.cpp b/src/gui/formabout.cpp
index fa272b841..e082584b7 100755
--- a/src/gui/formabout.cpp
+++ b/src/gui/formabout.cpp
@@ -34,7 +34,7 @@ FormAbout::FormAbout(QWidget *parent) : QDialog(parent), m_ui(new Ui::FormAbout)
// Set flags and attributes.
setWindowFlags(Qt::MSWindowsFixedSizeDialogHint | Qt::Dialog | Qt::WindowSystemMenuHint);
- setWindowIcon(qApp->icons()->fromTheme("application-about"));
+ setWindowIcon(qApp->icons()->fromTheme(QSL("application-about")));
//: About RSS Guard dialog title.
setWindowTitle(tr("About %1").arg(APP_NAME));
@@ -81,7 +81,7 @@ void FormAbout::loadLicenseAndInformation() {
QFile file;
text_stream.setDevice(&file);
- file.setFileName(APP_INFO_PATH + "/COPYING_GNU_GPL_HTML");
+ file.setFileName(APP_INFO_PATH + QL1S("/COPYING_GNU_GPL_HTML"));
if (file.open(QIODevice::ReadOnly | QIODevice::Text)) {
m_ui->m_txtLicenseGnu->setText(text_stream.readAll());
}
@@ -90,7 +90,7 @@ void FormAbout::loadLicenseAndInformation() {
}
file.close();
- file.setFileName(APP_INFO_PATH + "/COPYING_BSD");
+ file.setFileName(APP_INFO_PATH + QL1S("/COPYING_BSD"));
if (file.open(QIODevice::ReadOnly | QIODevice::Text)) {
m_ui->m_txtLicenseBsd->setText(text_stream.readAll());
}
@@ -99,7 +99,7 @@ void FormAbout::loadLicenseAndInformation() {
}
file.close();
- file.setFileName(APP_INFO_PATH + "/CHANGELOG");
+ file.setFileName(APP_INFO_PATH + QL1S("/CHANGELOG"));
if (file.open(QIODevice::ReadOnly | QIODevice::Text)) {
m_ui->m_txtChangelog->setText(text_stream.readAll());
}
diff --git a/src/gui/formbackupdatabasesettings.cpp b/src/gui/formbackupdatabasesettings.cpp
old mode 100644
new mode 100755
index 7aea42113..f36fedcff
--- a/src/gui/formbackupdatabasesettings.cpp
+++ b/src/gui/formbackupdatabasesettings.cpp
@@ -32,7 +32,7 @@ FormBackupDatabaseSettings::FormBackupDatabaseSettings(QWidget *parent) : QDialo
m_ui->setupUi(this);
m_ui->m_txtBackupName->lineEdit()->setPlaceholderText(tr("Common name for backup files"));
- setWindowIcon(qApp->icons()->fromTheme("document-export"));
+ setWindowIcon(qApp->icons()->fromTheme(QSL("document-export")));
setWindowFlags(Qt::MSWindowsFixedSizeDialogHint | Qt::Dialog | Qt::WindowSystemMenuHint);
connect(m_ui->m_checkBackupDatabase, SIGNAL(toggled(bool)), this, SLOT(checkOkButton()));
@@ -43,7 +43,7 @@ FormBackupDatabaseSettings::FormBackupDatabaseSettings(QWidget *parent) : QDialo
connect(m_ui->m_btnSelectFolder, SIGNAL(clicked()), this, SLOT(selectFolder()));
selectFolder(qApp->documentsFolderPath());
- m_ui->m_txtBackupName->lineEdit()->setText(QString(APP_LOW_NAME) + "_" + QDateTime::currentDateTime().toString("yyyyMMddHHmm"));
+ m_ui->m_txtBackupName->lineEdit()->setText(QString(APP_LOW_NAME) + QL1S("_") + QDateTime::currentDateTime().toString(QSL("yyyyMMddHHmm")));
m_ui->m_lblResult->setStatus(WidgetWithStatus::Warning, tr("No operation executed yet."), tr("No operation executed yet."));
if (qApp->database()->activeDatabaseDriver() != DatabaseFactory::SQLITE &&
diff --git a/src/gui/formcategorydetails.cpp b/src/gui/formcategorydetails.cpp
index 2cd217332..6ef876d5f 100755
--- a/src/gui/formcategorydetails.cpp
+++ b/src/gui/formcategorydetails.cpp
@@ -175,7 +175,7 @@ void FormCategoryDetails::onLoadIconFromFile() {
QFileDialog dialog(this, tr("Select icon file for the category"),
qApp->homeFolderPath(), tr("Images (*.bmp *.jpg *.jpeg *.png *.svg *.tga)"));
dialog.setFileMode(QFileDialog::ExistingFile);
- dialog.setWindowIcon(qApp->icons()->fromTheme("image-generic"));
+ dialog.setWindowIcon(qApp->icons()->fromTheme(QSL("image-generic")));
dialog.setOptions(QFileDialog::DontUseNativeDialog | QFileDialog::ReadOnly);
dialog.setViewMode(QFileDialog::Detail);
dialog.setLabelText(QFileDialog::Accept, tr("Select icon"));
@@ -191,7 +191,7 @@ void FormCategoryDetails::onLoadIconFromFile() {
}
void FormCategoryDetails::onUseDefaultIcon() {
- m_ui->m_btnIcon->setIcon(qApp->icons()->fromTheme("folder-category"));
+ m_ui->m_btnIcon->setIcon(qApp->icons()->fromTheme(QSL("folder-category")));
}
void FormCategoryDetails::initialize() {
@@ -207,7 +207,7 @@ void FormCategoryDetails::initialize() {
// Set flags and attributes.
setWindowFlags(Qt::MSWindowsFixedSizeDialogHint | Qt::Dialog | Qt::WindowSystemMenuHint | Qt::WindowTitleHint);
- setWindowIcon(qApp->icons()->fromTheme("folder-category"));
+ setWindowIcon(qApp->icons()->fromTheme(QSL("folder-category")));
// Setup button box.
m_ui->m_buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false);
@@ -218,13 +218,13 @@ void FormCategoryDetails::initialize() {
// Setup menu & actions for icon selection.
m_iconMenu = new QMenu(tr("Icon selection"), this);
- m_actionLoadIconFromFile = new QAction(qApp->icons()->fromTheme("image-generic"),
+ m_actionLoadIconFromFile = new QAction(qApp->icons()->fromTheme(QSL("image-generic")),
tr("Load icon from file..."),
this);
- m_actionNoIcon = new QAction(qApp->icons()->fromTheme("dialog-cancel"),
+ m_actionNoIcon = new QAction(qApp->icons()->fromTheme(QSL("dialog-cancel")),
tr("Do not use icon"),
this);
- m_actionUseDefaultIcon = new QAction(qApp->icons()->fromTheme("folder-category"),
+ m_actionUseDefaultIcon = new QAction(qApp->icons()->fromTheme(QSL("folder-category")),
tr("Use default icon"),
this);
m_iconMenu->addAction(m_actionLoadIconFromFile);
diff --git a/src/gui/formdatabasecleanup.cpp b/src/gui/formdatabasecleanup.cpp
index 0a1998eb3..0924a3924 100755
--- a/src/gui/formdatabasecleanup.cpp
+++ b/src/gui/formdatabasecleanup.cpp
@@ -29,7 +29,7 @@ FormDatabaseCleanup::FormDatabaseCleanup(QWidget *parent) : QDialog(parent), m_u
// Set flags and attributes.
setWindowFlags(Qt::MSWindowsFixedSizeDialogHint | Qt::Dialog | Qt::WindowSystemMenuHint | Qt::WindowTitleHint);
- setWindowIcon(qApp->icons()->fromTheme("cleanup-database"));
+ setWindowIcon(qApp->icons()->fromTheme(QSL("cleanup-database")));
connect(m_ui->m_spinDays, SIGNAL(valueChanged(int)), this, SLOT(updateDaysSuffix(int)));
m_ui->m_spinDays->setValue(DEFAULT_DAYS_TO_DELETE_MSG);
@@ -122,10 +122,10 @@ void FormDatabaseCleanup::loadDatabaseInfo() {
qint64 db_size = qApp->database()->getDatabaseSize();
if (db_size > 0) {
- m_ui->m_txtFileSize->setText(QString::number(db_size / 1000000.0) + " MB");
+ m_ui->m_txtFileSize->setText(QString::number(db_size / 1000000.0) + QL1S(" MB"));
}
else {
- m_ui->m_txtFileSize->setText("-");
+ m_ui->m_txtFileSize->setText(QSL("-"));
}
m_ui->m_txtDatabaseType->setText(qApp->database()->humanDriverName(qApp->database()->activeDatabaseDriver()));
diff --git a/src/gui/formfeeddetails.cpp b/src/gui/formfeeddetails.cpp
index 79ccb4ca8..2700dd7d3 100755
--- a/src/gui/formfeeddetails.cpp
+++ b/src/gui/formfeeddetails.cpp
@@ -199,7 +199,7 @@ void FormFeedDetails::onLoadIconFromFile() {
QFileDialog dialog(this, tr("Select icon file for the feed"),
qApp->homeFolderPath(), tr("Images (*.bmp *.jpg *.jpeg *.png *.svg *.tga)"));
dialog.setFileMode(QFileDialog::ExistingFile);
- dialog.setWindowIcon(qApp->icons()->fromTheme("image-generic"));
+ dialog.setWindowIcon(qApp->icons()->fromTheme(QSL("image-generic")));
dialog.setOptions(QFileDialog::DontUseNativeDialog | QFileDialog::ReadOnly);
dialog.setViewMode(QFileDialog::Detail);
dialog.setLabelText(QFileDialog::Accept, tr("Select icon"));
@@ -215,7 +215,7 @@ void FormFeedDetails::onLoadIconFromFile() {
}
void FormFeedDetails::onUseDefaultIcon() {
- m_ui->m_btnIcon->setIcon(qApp->icons()->fromTheme("folder-feed"));
+ m_ui->m_btnIcon->setIcon(qApp->icons()->fromTheme(QSL("folder-feed")));
}
void FormFeedDetails::apply() {
@@ -379,7 +379,7 @@ void FormFeedDetails::initialize() {
// Set flags and attributes.
setWindowFlags(Qt::MSWindowsFixedSizeDialogHint | Qt::Dialog | Qt::WindowSystemMenuHint | Qt::WindowTitleHint);
- setWindowIcon(qApp->icons()->fromTheme("folder-feed"));
+ setWindowIcon(qApp->icons()->fromTheme(QSL("folder-feed")));
// Setup button box.
m_ui->m_buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false);
@@ -424,16 +424,16 @@ void FormFeedDetails::initialize() {
// Setup menu & actions for icon selection.
m_iconMenu = new QMenu(tr("Icon selection"), this);
- m_actionLoadIconFromFile = new QAction(qApp->icons()->fromTheme("image-generic"),
+ m_actionLoadIconFromFile = new QAction(qApp->icons()->fromTheme(QSL("image-generic")),
tr("Load icon from file..."),
this);
- m_actionNoIcon = new QAction(qApp->icons()->fromTheme("dialog-cancel"),
+ m_actionNoIcon = new QAction(qApp->icons()->fromTheme(QSL("dialog-cancel")),
tr("Do not use icon"),
this);
- m_actionUseDefaultIcon = new QAction(qApp->icons()->fromTheme("folder-feed"),
+ m_actionUseDefaultIcon = new QAction(qApp->icons()->fromTheme(QSL("folder-feed")),
tr("Use default icon"),
this);
- m_actionFetchIcon = new QAction(qApp->icons()->fromTheme("document-download"),
+ m_actionFetchIcon = new QAction(qApp->icons()->fromTheme(QSL("document-download")),
tr("Fetch icon from feed"),
this);
m_iconMenu->addAction(m_actionFetchIcon);
diff --git a/src/gui/formimportexport.cpp b/src/gui/formimportexport.cpp
old mode 100644
new mode 100755
index f86601f74..cd1647ad7
--- a/src/gui/formimportexport.cpp
+++ b/src/gui/formimportexport.cpp
@@ -60,7 +60,7 @@ void FormImportExport::setMode(const FeedsImportExportModel::Mode &mode) {
m_ui->m_groupFile->setTitle(tr("Destination file"));
m_ui->m_groupFeeds->setTitle(tr("Source feeds && categories"));
setWindowTitle(tr("Export feeds"));
- setWindowIcon(qApp->icons()->fromTheme("document-export"));
+ setWindowIcon(qApp->icons()->fromTheme(QSL("document-export")));
break;
}
@@ -69,7 +69,7 @@ void FormImportExport::setMode(const FeedsImportExportModel::Mode &mode) {
m_ui->m_groupFeeds->setTitle(tr("Target feeds && categories"));
m_ui->m_groupFeeds->setDisabled(true);
setWindowTitle(tr("Import feeds"));
- setWindowIcon(qApp->icons()->fromTheme("document-import"));
+ setWindowIcon(qApp->icons()->fromTheme(QSL("document-import")));
break;
}
@@ -112,8 +112,8 @@ void FormImportExport::selectExportFile() {
if (selected_filter == filter_opml20) {
m_conversionType = OPML20;
- if (!selected_file.endsWith(".opml")) {
- selected_file += ".opml";
+ if (!selected_file.endsWith(QL1S(".opml"))) {
+ selected_file += QL1S(".opml");
}
}
// NOTE: Add other types here.
diff --git a/src/gui/formmain.cpp b/src/gui/formmain.cpp
index f30578306..6a1a31ff3 100755
--- a/src/gui/formmain.cpp
+++ b/src/gui/formmain.cpp
@@ -208,73 +208,73 @@ void FormMain::setupIcons() {
IconFactory *icon_theme_factory = qApp->icons();
// Setup icons of this main window.
- m_ui->m_actionDownloadManager->setIcon(icon_theme_factory->fromTheme("download-manager"));
- m_ui->m_actionSettings->setIcon(icon_theme_factory->fromTheme("application-settings"));
- m_ui->m_actionQuit->setIcon(icon_theme_factory->fromTheme("application-exit"));
- m_ui->m_actionRestart->setIcon(icon_theme_factory->fromTheme("go-refresh"));
- m_ui->m_actionAboutGuard->setIcon(icon_theme_factory->fromTheme("application-about"));
- m_ui->m_actionCheckForUpdates->setIcon(icon_theme_factory->fromTheme("check-for-updates"));
- m_ui->m_actionCleanupDatabase->setIcon(icon_theme_factory->fromTheme("cleanup-database"));
- m_ui->m_actionReportBugGitHub->setIcon(icon_theme_factory->fromTheme("application-report-bug"));
- m_ui->m_actionReportBugBitBucket->setIcon(icon_theme_factory->fromTheme("application-report-bug"));
- m_ui->m_actionExportFeeds->setIcon(icon_theme_factory->fromTheme("document-export"));
- m_ui->m_actionImportFeeds->setIcon(icon_theme_factory->fromTheme("document-import"));
- m_ui->m_actionBackupDatabaseSettings->setIcon(icon_theme_factory->fromTheme("document-export"));
- m_ui->m_actionRestoreDatabaseSettings->setIcon(icon_theme_factory->fromTheme("document-import"));
- m_ui->m_actionDonate->setIcon(icon_theme_factory->fromTheme("application-donate"));
- m_ui->m_actionDisplayWiki->setIcon(icon_theme_factory->fromTheme("application-wiki"));
+ m_ui->m_actionDownloadManager->setIcon(icon_theme_factory->fromTheme(QSL("download-manager")));
+ m_ui->m_actionSettings->setIcon(icon_theme_factory->fromTheme(QSL("application-settings")));
+ m_ui->m_actionQuit->setIcon(icon_theme_factory->fromTheme(QSL("application-exit")));
+ m_ui->m_actionRestart->setIcon(icon_theme_factory->fromTheme(QSL("go-refresh")));
+ m_ui->m_actionAboutGuard->setIcon(icon_theme_factory->fromTheme(QSL("application-about")));
+ m_ui->m_actionCheckForUpdates->setIcon(icon_theme_factory->fromTheme(QSL("check-for-updates")));
+ m_ui->m_actionCleanupDatabase->setIcon(icon_theme_factory->fromTheme(QSL("cleanup-database")));
+ m_ui->m_actionReportBugGitHub->setIcon(icon_theme_factory->fromTheme(QSL("application-report-bug")));
+ m_ui->m_actionReportBugBitBucket->setIcon(icon_theme_factory->fromTheme(QSL("application-report-bug")));
+ m_ui->m_actionExportFeeds->setIcon(icon_theme_factory->fromTheme(QSL("document-export")));
+ m_ui->m_actionImportFeeds->setIcon(icon_theme_factory->fromTheme(QSL("document-import")));
+ m_ui->m_actionBackupDatabaseSettings->setIcon(icon_theme_factory->fromTheme(QSL("document-export")));
+ m_ui->m_actionRestoreDatabaseSettings->setIcon(icon_theme_factory->fromTheme(QSL("document-import")));
+ m_ui->m_actionDonate->setIcon(icon_theme_factory->fromTheme(QSL("application-donate")));
+ m_ui->m_actionDisplayWiki->setIcon(icon_theme_factory->fromTheme(QSL("application-wiki")));
// View.
- m_ui->m_actionSwitchMainWindow->setIcon(icon_theme_factory->fromTheme("view-switch-window"));
- m_ui->m_actionFullscreen->setIcon(icon_theme_factory->fromTheme("view-fullscreen"));
- m_ui->m_actionSwitchFeedsList->setIcon(icon_theme_factory->fromTheme("view-switch-list"));
- m_ui->m_actionSwitchMainMenu->setIcon(icon_theme_factory->fromTheme("view-switch-menu"));
- m_ui->m_actionSwitchToolBars->setIcon(icon_theme_factory->fromTheme("view-switch-list"));
- m_ui->m_actionSwitchListHeaders->setIcon(icon_theme_factory->fromTheme("view-switch-list"));
- m_ui->m_actionSwitchMessageListOrientation->setIcon(icon_theme_factory->fromTheme("view-switch-layout-direction"));
- m_ui->m_menuShowHide->setIcon(icon_theme_factory->fromTheme("view-switch"));
+ m_ui->m_actionSwitchMainWindow->setIcon(icon_theme_factory->fromTheme(QSL("view-switch-window")));
+ m_ui->m_actionFullscreen->setIcon(icon_theme_factory->fromTheme(QSL("view-fullscreen")));
+ m_ui->m_actionSwitchFeedsList->setIcon(icon_theme_factory->fromTheme(QSL("view-switch-list")));
+ m_ui->m_actionSwitchMainMenu->setIcon(icon_theme_factory->fromTheme(QSL("view-switch-menu")));
+ m_ui->m_actionSwitchToolBars->setIcon(icon_theme_factory->fromTheme(QSL("view-switch-list")));
+ m_ui->m_actionSwitchListHeaders->setIcon(icon_theme_factory->fromTheme(QSL("view-switch-list")));
+ m_ui->m_actionSwitchMessageListOrientation->setIcon(icon_theme_factory->fromTheme(QSL("view-switch-layout-direction")));
+ m_ui->m_menuShowHide->setIcon(icon_theme_factory->fromTheme(QSL("view-switch")));
// Recycle bin.
- m_ui->m_actionEmptyRecycleBin->setIcon(icon_theme_factory->fromTheme("recycle-bin-empty"));
- m_ui->m_actionRestoreRecycleBin->setIcon(icon_theme_factory->fromTheme("recycle-bin-restore-all"));
- m_ui->m_actionRestoreSelectedMessagesFromRecycleBin->setIcon(icon_theme_factory->fromTheme("recycle-bin-restore-one"));
+ m_ui->m_actionEmptyRecycleBin->setIcon(icon_theme_factory->fromTheme(QSL("recycle-bin-empty")));
+ m_ui->m_actionRestoreRecycleBin->setIcon(icon_theme_factory->fromTheme(QSL("recycle-bin-restore-all")));
+ m_ui->m_actionRestoreSelectedMessagesFromRecycleBin->setIcon(icon_theme_factory->fromTheme(QSL("recycle-bin-restore-one")));
// Web browser.
- m_ui->m_actionAddBrowser->setIcon(icon_theme_factory->fromTheme("list-add"));
- m_ui->m_actionCloseCurrentTab->setIcon(icon_theme_factory->fromTheme("list-remove"));
- m_ui->m_actionCloseAllTabs->setIcon(icon_theme_factory->fromTheme("list-remove"));
- m_ui->m_menuCurrentTab->setIcon(icon_theme_factory->fromTheme("list-current"));
- m_ui->m_menuWebSettings->setIcon(icon_theme_factory->fromTheme("application-settings"));
- m_ui->m_actionWebAutoloadImages->setIcon(icon_theme_factory->fromTheme("image-generic"));
- m_ui->m_actionWebEnableExternalPlugins->setIcon(icon_theme_factory->fromTheme("web-flash"));
- m_ui->m_actionWebEnableJavascript->setIcon(icon_theme_factory->fromTheme("web-javascript"));
+ m_ui->m_actionAddBrowser->setIcon(icon_theme_factory->fromTheme(QSL("list-add")));
+ m_ui->m_actionCloseCurrentTab->setIcon(icon_theme_factory->fromTheme(QSL("list-remove")));
+ m_ui->m_actionCloseAllTabs->setIcon(icon_theme_factory->fromTheme(QSL("list-remove")));
+ m_ui->m_menuCurrentTab->setIcon(icon_theme_factory->fromTheme(QSL("list-current")));
+ m_ui->m_menuWebSettings->setIcon(icon_theme_factory->fromTheme(QSL("application-settings")));
+ m_ui->m_actionWebAutoloadImages->setIcon(icon_theme_factory->fromTheme(QSL("image-generic")));
+ m_ui->m_actionWebEnableExternalPlugins->setIcon(icon_theme_factory->fromTheme(QSL("web-flash")));
+ m_ui->m_actionWebEnableJavascript->setIcon(icon_theme_factory->fromTheme(QSL("web-javascript")));
// Feeds/messages.
- m_ui->m_menuAddItem->setIcon(icon_theme_factory->fromTheme("item-new"));
- m_ui->m_actionUpdateAllFeeds->setIcon(icon_theme_factory->fromTheme("item-update-all"));
- m_ui->m_actionUpdateSelectedFeeds->setIcon(icon_theme_factory->fromTheme("item-update-selected"));
- m_ui->m_actionClearSelectedFeeds->setIcon(icon_theme_factory->fromTheme("mail-remove"));
- m_ui->m_actionClearAllFeeds->setIcon(icon_theme_factory->fromTheme("mail-remove"));
- m_ui->m_actionDeleteSelectedFeedCategory->setIcon(icon_theme_factory->fromTheme("item-remove"));
- m_ui->m_actionDeleteSelectedMessages->setIcon(icon_theme_factory->fromTheme("mail-remove"));
- m_ui->m_actionAddCategory->setIcon(icon_theme_factory->fromTheme("folder-category"));
- m_ui->m_actionAddFeed->setIcon(icon_theme_factory->fromTheme("folder-feed"));
- m_ui->m_actionEditSelectedFeedCategory->setIcon(icon_theme_factory->fromTheme("item-edit"));
- m_ui->m_actionMarkAllFeedsRead->setIcon(icon_theme_factory->fromTheme("mail-mark-read"));
- m_ui->m_actionMarkSelectedFeedsAsRead->setIcon(icon_theme_factory->fromTheme("mail-mark-read"));
- m_ui->m_actionMarkSelectedFeedsAsUnread->setIcon(icon_theme_factory->fromTheme("mail-mark-unread"));
- m_ui->m_actionMarkSelectedMessagesAsRead->setIcon(icon_theme_factory->fromTheme("mail-mark-read"));
- m_ui->m_actionMarkSelectedMessagesAsUnread->setIcon(icon_theme_factory->fromTheme("mail-mark-unread"));
- m_ui->m_actionSwitchImportanceOfSelectedMessages->setIcon(icon_theme_factory->fromTheme("mail-mark-favorite"));
- m_ui->m_actionOpenSelectedSourceArticlesInternally->setIcon(icon_theme_factory->fromTheme("item-open-internal"));
- m_ui->m_actionOpenSelectedSourceArticlesExternally->setIcon(icon_theme_factory->fromTheme("item-open-external"));
- m_ui->m_actionOpenSelectedMessagesInternally->setIcon(icon_theme_factory->fromTheme("item-open-internal"));
- m_ui->m_actionSendMessageViaEmail->setIcon(icon_theme_factory->fromTheme("item-send-email"));
- m_ui->m_actionViewSelectedItemsNewspaperMode->setIcon(icon_theme_factory->fromTheme("item-newspaper"));
- m_ui->m_actionSelectNextFeedCategory->setIcon(icon_theme_factory->fromTheme("go-down"));
- m_ui->m_actionSelectPreviousFeedCategory->setIcon(icon_theme_factory->fromTheme("go-up"));
- m_ui->m_actionSelectNextMessage->setIcon(icon_theme_factory->fromTheme("go-down"));
- m_ui->m_actionSelectPreviousMessage->setIcon(icon_theme_factory->fromTheme("go-up"));
+ m_ui->m_menuAddItem->setIcon(icon_theme_factory->fromTheme(QSL("item-new")));
+ m_ui->m_actionUpdateAllFeeds->setIcon(icon_theme_factory->fromTheme(QSL("item-update-all")));
+ m_ui->m_actionUpdateSelectedFeeds->setIcon(icon_theme_factory->fromTheme(QSL("item-update-selected")));
+ m_ui->m_actionClearSelectedFeeds->setIcon(icon_theme_factory->fromTheme(QSL("mail-remove")));
+ m_ui->m_actionClearAllFeeds->setIcon(icon_theme_factory->fromTheme(QSL("mail-remove")));
+ m_ui->m_actionDeleteSelectedFeedCategory->setIcon(icon_theme_factory->fromTheme(QSL("item-remove")));
+ m_ui->m_actionDeleteSelectedMessages->setIcon(icon_theme_factory->fromTheme(QSL("mail-remove")));
+ m_ui->m_actionAddCategory->setIcon(icon_theme_factory->fromTheme(QSL("folder-category")));
+ m_ui->m_actionAddFeed->setIcon(icon_theme_factory->fromTheme(QSL("folder-feed")));
+ m_ui->m_actionEditSelectedFeedCategory->setIcon(icon_theme_factory->fromTheme(QSL("item-edit")));
+ m_ui->m_actionMarkAllFeedsRead->setIcon(icon_theme_factory->fromTheme(QSL("mail-mark-read")));
+ m_ui->m_actionMarkSelectedFeedsAsRead->setIcon(icon_theme_factory->fromTheme(QSL("mail-mark-read")));
+ m_ui->m_actionMarkSelectedFeedsAsUnread->setIcon(icon_theme_factory->fromTheme(QSL("mail-mark-unread")));
+ m_ui->m_actionMarkSelectedMessagesAsRead->setIcon(icon_theme_factory->fromTheme(QSL("mail-mark-read")));
+ m_ui->m_actionMarkSelectedMessagesAsUnread->setIcon(icon_theme_factory->fromTheme(QSL("mail-mark-unread")));
+ m_ui->m_actionSwitchImportanceOfSelectedMessages->setIcon(icon_theme_factory->fromTheme(QSL("mail-mark-favorite")));
+ m_ui->m_actionOpenSelectedSourceArticlesInternally->setIcon(icon_theme_factory->fromTheme(QSL("item-open-internal")));
+ m_ui->m_actionOpenSelectedSourceArticlesExternally->setIcon(icon_theme_factory->fromTheme(QSL("item-open-external")));
+ m_ui->m_actionOpenSelectedMessagesInternally->setIcon(icon_theme_factory->fromTheme(QSL("item-open-internal")));
+ m_ui->m_actionSendMessageViaEmail->setIcon(icon_theme_factory->fromTheme(QSL("item-send-email")));
+ m_ui->m_actionViewSelectedItemsNewspaperMode->setIcon(icon_theme_factory->fromTheme(QSL("item-newspaper")));
+ m_ui->m_actionSelectNextFeedCategory->setIcon(icon_theme_factory->fromTheme(QSL("go-down")));
+ m_ui->m_actionSelectPreviousFeedCategory->setIcon(icon_theme_factory->fromTheme(QSL("go-up")));
+ m_ui->m_actionSelectNextMessage->setIcon(icon_theme_factory->fromTheme(QSL("go-down")));
+ m_ui->m_actionSelectPreviousMessage->setIcon(icon_theme_factory->fromTheme(QSL("go-up")));
// Setup icons for underlying components: opened web browsers...
foreach (WebBrowser *browser, WebBrowser::runningWebBrowsers()) {
diff --git a/src/gui/formrestoredatabasesettings.cpp b/src/gui/formrestoredatabasesettings.cpp
old mode 100644
new mode 100755
index a1fc23bc7..1ef771e01
--- a/src/gui/formrestoredatabasesettings.cpp
+++ b/src/gui/formrestoredatabasesettings.cpp
@@ -32,7 +32,7 @@ FormRestoreDatabaseSettings::FormRestoreDatabaseSettings(QWidget *parent)
m_btnRestart = m_ui->m_buttonBox->addButton(tr("Restart"), QDialogButtonBox::ActionRole);
m_ui->m_lblResult->setStatus(WidgetWithStatus::Warning, tr("No operation executed yet."), tr("No operation executed yet."));
- setWindowIcon(qApp->icons()->fromTheme("document-import"));
+ setWindowIcon(qApp->icons()->fromTheme(QSL("document-import")));
setWindowFlags(Qt::MSWindowsFixedSizeDialogHint | Qt::Dialog | Qt::WindowSystemMenuHint);
connect(m_btnRestart, SIGNAL(clicked()), qApp, SLOT(restart()));
diff --git a/src/gui/formsettings.cpp b/src/gui/formsettings.cpp
index 329b651ca..568c35c43 100755
--- a/src/gui/formsettings.cpp
+++ b/src/gui/formsettings.cpp
@@ -56,7 +56,7 @@ FormSettings::FormSettings(QWidget *parent) : QDialog(parent), m_ui(new Ui::Form
// Set flags and attributes.
setWindowFlags(Qt::MSWindowsFixedSizeDialogHint | Qt::Dialog | Qt::WindowSystemMenuHint | Qt::WindowTitleHint);
- setWindowIcon(qApp->icons()->fromTheme("application-settings"));
+ setWindowIcon(qApp->icons()->fromTheme(QSL("application-settings")));
m_ui->m_editorMessagesToolbar->activeItemsWidget()->viewport()->installEventFilter(this);
m_ui->m_editorFeedsToolbar->activeItemsWidget()->viewport()->installEventFilter(this);
@@ -257,9 +257,9 @@ void FormSettings::loadFeedsMessages() {
}
void FormSettings::initializeMessageDateFormats() {
- QStringList best_formats; best_formats << "d/M/yyyy hh:mm:ss" << "ddd, d. M. yy hh:mm:ss" <<
- "yyyy-MM-dd HH:mm:ss.z" << "yyyy-MM-ddThh:mm:ss" <<
- "MMM d yyyy hh:mm:ss";;
+ QStringList best_formats; best_formats << QSL("d/M/yyyy hh:mm:ss") << QSL("ddd, d. M. yy hh:mm:ss") <<
+ QSL("yyyy-MM-dd HH:mm:ss.z") << QSL("yyyy-MM-ddThh:mm:ss") <<
+ QSL("MMM d yyyy hh:mm:ss");;
QLocale current_locale = qApp->localization()->loadedLocale();
QDateTime current_dt = QDateTime::currentDateTime();
@@ -312,20 +312,20 @@ bool FormSettings::doSaveCheck() {
// properties.
if (m_ui->m_grpCustomExternalBrowser->isChecked() &&
(m_ui->m_txtExternalBrowserExecutable->text().simplified().isEmpty() ||
- !m_ui->m_txtExternalBrowserArguments->text().simplified().contains("%1"))) {
+ !m_ui->m_txtExternalBrowserArguments->text().simplified().contains(QL1S("%1")))) {
everything_ok = false;
resulting_information.append(tr("custom external browser is not set correctly"));
}
if (!everything_ok) {
- resulting_information.replaceInStrings(QRegExp("^"), QString::fromUtf8(" • "));
+ resulting_information.replaceInStrings(QRegExp(QSL("^")), QString::fromUtf8(" • "));
MessageBox::show(this,
QMessageBox::Critical,
tr("Cannot save settings"),
tr("Some critical settings are not set. You must fix these settings in order confirm new settings."),
QString(),
- tr("List of errors:\n%1.").arg(resulting_information.join(",\n")));
+ tr("List of errors:\n%1.").arg(resulting_information.join(QSL(",\n"))));
}
return everything_ok;
@@ -333,7 +333,7 @@ bool FormSettings::doSaveCheck() {
void FormSettings::promptForRestart() {
if (!m_changedDataTexts.isEmpty()) {
- QStringList changed_settings_description = m_changedDataTexts.replaceInStrings(QRegExp("^"), QString::fromUtf8(" • "));
+ QStringList changed_settings_description = m_changedDataTexts.replaceInStrings(QRegExp(QSL("^")), QString::fromUtf8(" • "));
QMessageBox::StandardButton clicked_button = MessageBox::show(this,
QMessageBox::Question,
@@ -341,7 +341,7 @@ void FormSettings::promptForRestart() {
tr("Some critical settings were changed and will be applied after the application gets restarted. "
"\n\nYou have to restart manually."),
tr("Do you want to restart now?"),
- tr("List of changes:\n%1.").arg(changed_settings_description .join(",\n")),
+ tr("List of changes:\n%1.").arg(changed_settings_description .join(QSL(",\n"))),
QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
if (clicked_button == QMessageBox::Yes) {
@@ -395,7 +395,7 @@ void FormSettings::loadBrowser() {
// Load settings of web browser GUI.
m_ui->m_checkMouseGestures->setChecked(settings->value(GROUP(Browser), SETTING(Browser::GesturesEnabled)).toBool());
m_ui->m_checkQueueTabs->setChecked(settings->value(GROUP(Browser), SETTING(Browser::QueueTabs)).toBool());
- m_ui->m_cmbExternalBrowserPreset->addItem(tr("Opera 12 or older"), "-nosession %1");
+ m_ui->m_cmbExternalBrowserPreset->addItem(tr("Opera 12 or older"), QSL("-nosession %1"));
m_ui->m_txtExternalBrowserExecutable->setText(settings->value(GROUP(Browser), SETTING(Browser::CustomExternalBrowserExecutable)).toString());
m_ui->m_txtExternalBrowserArguments->setText(settings->value(GROUP(Browser), SETTING(Browser::CustomExternalBrowserArguments)).toString());
m_ui->m_grpCustomExternalBrowser->setChecked(settings->value(GROUP(Browser), SETTING(Browser::CustomExternalBrowserEnabled)).toBool());
@@ -404,7 +404,7 @@ void FormSettings::loadBrowser() {
m_ui->m_checkEnablePlugins->setChecked(WebFactory::instance()->pluginsEnabled());
// Load settings of e-mail.
- m_ui->m_cmbExternalEmailPreset->addItem(tr("Mozilla Thunderbird"), "-compose \"subject='%1',body='%2'\"");
+ m_ui->m_cmbExternalEmailPreset->addItem(tr("Mozilla Thunderbird"), QSL("-compose \"subject='%1',body='%2'\""));
m_ui->m_txtExternalEmailExecutable->setText(settings->value(GROUP(Browser), SETTING(Browser::CustomExternalEmailExecutable)).toString());
m_ui->m_txtExternalEmailArguments->setText(settings->value(GROUP(Browser), SETTING(Browser::CustomExternalEmailArguments)).toString());
m_ui->m_grpCustomExternalEmail->setChecked(settings->value(GROUP(Browser), SETTING(Browser::CustomExternalEmailEnabled)).toBool());
@@ -733,7 +733,7 @@ void FormSettings::loadInterface() {
}
// Mark active theme.
- if (current_theme == APP_NO_THEME) {
+ if (current_theme == QSL(APP_NO_THEME)) {
// Because "no icon theme" lies at the index 0.
m_ui->m_cmbIconTheme->setCurrentIndex(0);
}
diff --git a/src/gui/formupdate.cpp b/src/gui/formupdate.cpp
index 236eb5785..5f78bd831 100755
--- a/src/gui/formupdate.cpp
+++ b/src/gui/formupdate.cpp
@@ -41,7 +41,7 @@ FormUpdate::FormUpdate(QWidget *parent)
// Set flags and attributes.
setWindowFlags(Qt::MSWindowsFixedSizeDialogHint | Qt::Dialog | Qt::WindowSystemMenuHint | Qt::WindowTitleHint);
- setWindowIcon(qApp->icons()->fromTheme("application-about"));
+ setWindowIcon(qApp->icons()->fromTheme(QSL("application-about")));
m_btnUpdate = m_ui->m_buttonBox->addButton(tr("Update"), QDialogButtonBox::ActionRole);
m_btnUpdate->setToolTip(tr("Download new installation files."));
diff --git a/src/gui/locationlineedit.cpp b/src/gui/locationlineedit.cpp
index a83f184d9..8d5a3d163 100755
--- a/src/gui/locationlineedit.cpp
+++ b/src/gui/locationlineedit.cpp
@@ -29,7 +29,6 @@ LocationLineEdit::LocationLineEdit(QWidget *parent)
}
LocationLineEdit::~LocationLineEdit() {
-
}
void LocationLineEdit::focusOutEvent(QFocusEvent *event) {
diff --git a/src/gui/messagebox.cpp b/src/gui/messagebox.cpp
index 3deb41d2d..66f5fe8d4 100755
--- a/src/gui/messagebox.cpp
+++ b/src/gui/messagebox.cpp
@@ -52,22 +52,22 @@ void MessageBox::iconify(QDialogButtonBox *button_box) {
QIcon MessageBox::iconForRole(QDialogButtonBox::StandardButton button) {
switch (button) {
case QMessageBox::Ok:
- return qApp->icons()->fromTheme("dialog-ok");
+ return qApp->icons()->fromTheme(QSL("dialog-ok"));
case QMessageBox::Cancel:
case QMessageBox::Close:
- return qApp->icons()->fromTheme("dialog-cancel");
+ return qApp->icons()->fromTheme(QSL("dialog-cancel"));
case QMessageBox::Yes:
case QMessageBox::YesToAll:
- return qApp->icons()->fromTheme("dialog-yes");
+ return qApp->icons()->fromTheme(QSL("dialog-yes"));
case QMessageBox::No:
case QMessageBox::NoToAll:
- return qApp->icons()->fromTheme("dialog-no");
+ return qApp->icons()->fromTheme(QSL("dialog-no"));
case QMessageBox::Help:
- return qApp->icons()->fromTheme("dialog-question");
+ return qApp->icons()->fromTheme(QSL("dialog-question"));
default:
return QIcon();
@@ -78,16 +78,16 @@ QIcon MessageBox::iconForRole(QDialogButtonBox::StandardButton button) {
QIcon MessageBox::iconForStatus(QMessageBox::Icon status) {
switch (status) {
case QMessageBox::Information:
- return qApp->icons()->fromTheme("dialog-information");
+ return qApp->icons()->fromTheme(QSL("dialog-information"));
case QMessageBox::Warning:
- return qApp->icons()->fromTheme("dialog-warning");
+ return qApp->icons()->fromTheme(QSL("dialog-warning"));
case QMessageBox::Critical:
- return qApp->icons()->fromTheme("dialog-error");
+ return qApp->icons()->fromTheme(QSL("dialog-error"));
case QMessageBox::Question:
- return qApp->icons()->fromTheme("dialog-question");
+ return qApp->icons()->fromTheme(QSL("dialog-question"));
case QMessageBox::NoIcon:
default:
diff --git a/src/gui/messagestoolbar.cpp b/src/gui/messagestoolbar.cpp
index 600cca9b1..3a9fc58ce 100755
--- a/src/gui/messagestoolbar.cpp
+++ b/src/gui/messagestoolbar.cpp
@@ -52,7 +52,7 @@ QList MessagesToolBar::changeableActions() const {
}
void MessagesToolBar::saveChangeableActions(const QStringList& actions) {
- qApp->settings()->setValue(GROUP(GUI), GUI::MessagesToolbarDefaultButtons, actions.join(","));
+ qApp->settings()->setValue(GROUP(GUI), GUI::MessagesToolbarDefaultButtons, actions.join(QSL(",")));
loadChangeableActions(actions);
// If user hidden search messages box, then remove the filter.
@@ -92,7 +92,7 @@ void MessagesToolBar::loadChangeableActions(const QStringList& actions) {
spacer->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
QAction *action = addWidget(spacer);
- action->setIcon(qApp->icons()->fromTheme("view-spacer"));
+ action->setIcon(qApp->icons()->fromTheme(QSL("view-spacer")));
action->setProperty("type", SPACER_ACTION_NAME);
action->setProperty("name", tr("Toolbar spacer"));
}
@@ -114,7 +114,7 @@ void MessagesToolBar::initializeSearchBox() {
// Setup wrapping action for search box.
m_actionSearchMessages = new QWidgetAction(this);
m_actionSearchMessages->setDefaultWidget(m_txtSearchMessages);
- m_actionSearchMessages->setIcon(qApp->icons()->fromTheme("item-search"));
+ m_actionSearchMessages->setIcon(qApp->icons()->fromTheme(QSL("item-search")));
m_actionSearchMessages->setProperty("type", SEACRH_MESSAGES_ACTION_NAME);
m_actionSearchMessages->setProperty("name", tr("Message search box"));
@@ -124,18 +124,18 @@ void MessagesToolBar::initializeSearchBox() {
void MessagesToolBar::initializeHighlighter() {
m_menuMessageHighlighter = new QMenu(tr("Menu for highlighting messages"), this);
- m_menuMessageHighlighter->addAction(qApp->icons()->fromTheme("mail-mark-read"),
+ m_menuMessageHighlighter->addAction(qApp->icons()->fromTheme(QSL("mail-mark-read")),
tr("No extra highlighting"))->setData(QVariant::fromValue(MessagesModel::NoHighlighting));
- m_menuMessageHighlighter->addAction(qApp->icons()->fromTheme("mail-mark-unread"),
+ m_menuMessageHighlighter->addAction(qApp->icons()->fromTheme(QSL("mail-mark-unread")),
tr("Highlight unread messages"))->setData(QVariant::fromValue(MessagesModel::HighlightUnread));
- m_menuMessageHighlighter->addAction(qApp->icons()->fromTheme("mail-mark-favorite"),
+ m_menuMessageHighlighter->addAction(qApp->icons()->fromTheme(QSL("mail-mark-favorite")),
tr("Highlight important messages"))->setData(QVariant::fromValue(MessagesModel::HighlightImportant));
m_btnMessageHighlighter = new QToolButton(this);
m_btnMessageHighlighter->setToolTip(tr("Display all messages"));
m_btnMessageHighlighter->setMenu(m_menuMessageHighlighter);
m_btnMessageHighlighter->setPopupMode(QToolButton::MenuButtonPopup);
- m_btnMessageHighlighter->setIcon(qApp->icons()->fromTheme("mail-mark-read"));
+ m_btnMessageHighlighter->setIcon(qApp->icons()->fromTheme(QSL("mail-mark-read")));
m_actionMessageHighlighter = new QWidgetAction(this);
m_actionMessageHighlighter->setDefaultWidget(m_btnMessageHighlighter);
diff --git a/src/gui/messagesview.cpp b/src/gui/messagesview.cpp
index 00e6db6e3..42a722619 100755
--- a/src/gui/messagesview.cpp
+++ b/src/gui/messagesview.cpp
@@ -241,6 +241,14 @@ void MessagesView::loadFeeds(const FeedsSelection &selection) {
Qt::SortOrder ord = static_cast(qApp->settings()->value(GROUP(GUI), SETTING(GUI::DefaultSortOrderMessages)).toInt());
sortByColumn(col, ord);
+
+#if QT_VERSION >= 0x050000
+ // Messages are loaded, make sure that previously
+ // active message is not shown in browser.
+ // BUG: Qt 5 is probably bugged here. Selections
+ // should be cleared automatically when SQL model is reset.
+ emit currentMessagesRemoved();
+#endif
}
void MessagesView::openSelectedSourceMessagesExternally() {
diff --git a/src/gui/statusbar.cpp b/src/gui/statusbar.cpp
index bd9d581ee..31bbccf76 100755
--- a/src/gui/statusbar.cpp
+++ b/src/gui/statusbar.cpp
@@ -39,7 +39,7 @@ StatusBar::StatusBar(QWidget *parent) : QStatusBar(parent) {
// Initializations of widgets for status bar.
m_fullscreenSwitcher = new PlainToolButton(this);
m_fullscreenSwitcher->setCheckable(true);
- m_fullscreenSwitcher->setIcon(qApp->icons()->fromTheme("view-fullscreen"));
+ m_fullscreenSwitcher->setIcon(qApp->icons()->fromTheme(QSL("view-fullscreen")));
m_fullscreenSwitcher->setText(tr("Fullscreen mode"));
m_fullscreenSwitcher->setToolTip(tr("Switch application between fulscreen/normal states right from this status bar icon."));
diff --git a/src/gui/systemtrayicon.cpp b/src/gui/systemtrayicon.cpp
index b9407f41f..36a4c95a7 100755
--- a/src/gui/systemtrayicon.cpp
+++ b/src/gui/systemtrayicon.cpp
@@ -38,7 +38,7 @@ bool TrayIconMenu::event(QEvent *event) {
if (Application::activeModalWidget() != NULL &&
event->type() == QEvent::Show) {
QTimer::singleShot(0, this, SLOT(hide()));
- qApp->trayIcon()->showMessage(APP_LONG_NAME,
+ qApp->trayIcon()->showMessage(QSL(APP_LONG_NAME),
tr("Close opened modal dialogs first."),
QSystemTrayIcon::Warning);
}
@@ -118,11 +118,11 @@ void SystemTrayIcon::show() {
void SystemTrayIcon::setNumber(int number, bool any_unread_message) {
if (number <= 0) {
- setToolTip(APP_LONG_NAME);
+ setToolTip(QSL(APP_LONG_NAME));
QSystemTrayIcon::setIcon(QIcon(m_normalIcon));
}
else {
- setToolTip(tr("%1\nUnread news: %2").arg(APP_LONG_NAME, QString::number(number)));
+ setToolTip(tr("%1\nUnread news: %2").arg(QSL(APP_LONG_NAME), QString::number(number)));
QPixmap background(m_plainPixmap);
QPainter tray_painter;
@@ -179,6 +179,5 @@ void SystemTrayIcon::showMessage(const QString &title, const QString &message, Q
}
// NOTE: If connections do not work, then use QMetaObject::invokeMethod(...).
-
QSystemTrayIcon::showMessage(title, message, icon, milliseconds_timeout_hint);
}
diff --git a/src/gui/tabbar.cpp b/src/gui/tabbar.cpp
index 88cc2ae59..3fc545295 100755
--- a/src/gui/tabbar.cpp
+++ b/src/gui/tabbar.cpp
@@ -41,7 +41,7 @@ void TabBar::setTabType(int index, const TabBar::TabType &type) {
case TabBar::Closable: {
PlainToolButton *close_button = new PlainToolButton(this);
- close_button->setIcon(qApp->icons()->fromTheme("application-exit"));
+ close_button->setIcon(qApp->icons()->fromTheme(QSL("application-exit")));
close_button->setToolTip(tr("Close this tab."));
close_button->setText(tr("Close tab"));
close_button->setFixedSize(iconSize());
diff --git a/src/gui/tabwidget.cpp b/src/gui/tabwidget.cpp
index 90d5eede2..30bbe462a 100755
--- a/src/gui/tabwidget.cpp
+++ b/src/gui/tabwidget.cpp
@@ -48,7 +48,7 @@ void TabWidget::setupCornerButton() {
m_btnAddTab->setAutoRaise(true);
m_btnAddTab->setPadding(3);
m_btnAddTab->setToolTip(tr("Open new web browser tab."));
- m_btnAddTab->setIcon(qApp->icons()->fromTheme("list-add"));
+ m_btnAddTab->setIcon(qApp->icons()->fromTheme(QSL("list-add")));
connect(m_btnAddTab, SIGNAL(clicked()), this, SLOT(addEmptyBrowser()));
}
@@ -58,7 +58,7 @@ void TabWidget::setupMainMenuButton() {
m_btnMainMenu->setAutoRaise(true);
m_btnMainMenu->setPadding(3);
m_btnMainMenu->setToolTip(tr("Displays main menu."));
- m_btnMainMenu->setIcon(qApp->icons()->fromTheme("application-menu"));
+ m_btnMainMenu->setIcon(qApp->icons()->fromTheme(QSL("application-menu")));
m_btnMainMenu->setPopupMode(QToolButton::InstantPopup);
connect(m_btnMainMenu, SIGNAL(clicked()), this, SLOT(openMainMenu()));
@@ -96,7 +96,7 @@ void TabWidget::showDownloadManager() {
// Download manager is not opened. Create tab with it.
qApp->downloadManager()->setParent(this);
- addTab(qApp->downloadManager(), qApp->icons()->fromTheme("download-manager"), tr("Downloads"), TabBar::DownloadManager);
+ addTab(qApp->downloadManager(), qApp->icons()->fromTheme(QSL("download-manager")), tr("Downloads"), TabBar::DownloadManager);
setCurrentIndex(count() - 1);
}
@@ -167,7 +167,7 @@ void TabWidget::setupIcons() {
for (int index = 0; index < count(); index++) {
// Index 0 usually contains widget which displays feeds & messages.
if (tabBar()->tabType(index) == TabBar::FeedReader) {
- setTabIcon(index, qApp->icons()->fromTheme("folder-feed"));
+ setTabIcon(index, qApp->icons()->fromTheme(QSL("folder-feed")));
}
// Other indexes probably contain WebBrowsers.
else {
@@ -175,13 +175,13 @@ void TabWidget::setupIcons() {
if (active_browser != NULL && active_browser->icon().isNull()) {
// We found WebBrowser instance of this tab page, which
// has no suitable icon, load a new one from the icon theme.
- setTabIcon(index, qApp->icons()->fromTheme("text-html"));
+ setTabIcon(index, qApp->icons()->fromTheme(QSL("text-html")));
}
}
}
// Setup corner button icon.
- m_btnAddTab->setIcon(qApp->icons()->fromTheme("list-add"));
+ m_btnAddTab->setIcon(qApp->icons()->fromTheme(QSL("list-add")));
}
bool TabWidget::closeTab(int index) {
@@ -301,12 +301,12 @@ int TabWidget::addBrowser(bool move_after_current, bool make_active, const QUrl
if (move_after_current) {
// Insert web browser after current tab.
- final_index = insertTab(currentIndex() + 1, browser, qApp->icons()->fromTheme("text-html"),
+ final_index = insertTab(currentIndex() + 1, browser, qApp->icons()->fromTheme(QSL("text-html")),
tr("Web browser"), TabBar::Closable);
}
else {
// Add new browser as the last tab.
- final_index = addTab(browser, qApp->icons()->fromTheme("text-html"),
+ final_index = addTab(browser, qApp->icons()->fromTheme(QSL("text-html")),
//: Web browser default tab title.
tr("Web browser"),
TabBar::Closable);
diff --git a/src/gui/toolbareditor.cpp b/src/gui/toolbareditor.cpp
index edea1851e..868c06f76 100755
--- a/src/gui/toolbareditor.cpp
+++ b/src/gui/toolbareditor.cpp
@@ -60,7 +60,7 @@ void ToolBarEditor::loadFromToolBar(BaseToolBar *tool_bar) {
if (action->isSeparator()) {
action_item->setData(Qt::UserRole, SEPARATOR_ACTION_NAME);
- action_item->setIcon(qApp->icons()->fromTheme("view-separator"));
+ action_item->setIcon(qApp->icons()->fromTheme(QSL("view-separator")));
action_item->setText(tr("Separator"));
action_item->setToolTip(tr("Separator"));
}
@@ -83,7 +83,7 @@ void ToolBarEditor::loadFromToolBar(BaseToolBar *tool_bar) {
action_item->setData(Qt::UserRole, SEPARATOR_ACTION_NAME);
action_item->setText(tr("Separator"));
action_item->setToolTip(tr("Separator"));
- action_item->setIcon(qApp->icons()->fromTheme("view-separator"));
+ action_item->setIcon(qApp->icons()->fromTheme(QSL("view-separator")));
}
else if (action->property("type").isValid()) {
action_item->setData(Qt::UserRole, action->property("type").toString());
@@ -149,7 +149,7 @@ void ToolBarEditor::insertSpacer() {
int current_row = m_ui->m_listActivatedActions->currentRow();
QListWidgetItem *item = new QListWidgetItem(tr("Toolbar spacer"));
- item->setIcon(qApp->icons()->fromTheme("view-spacer"));
+ item->setIcon(qApp->icons()->fromTheme(QSL("view-spacer")));
item->setData(Qt::UserRole, SPACER_ACTION_NAME);
m_ui->m_listActivatedActions->insertItem(current_row + 1, item);
@@ -162,7 +162,7 @@ void ToolBarEditor::insertSeparator() {
item->setData(Qt::UserRole, SEPARATOR_ACTION_NAME);
item->setToolTip(tr("Separator"));
- item->setIcon(qApp->icons()->fromTheme("view-separator"));
+ item->setIcon(qApp->icons()->fromTheme(QSL("view-separator")));
m_ui->m_listActivatedActions->insertItem(current_row + 1, item);
m_ui->m_listActivatedActions->setCurrentRow(current_row + 1);
diff --git a/src/gui/widgetwithstatus.cpp b/src/gui/widgetwithstatus.cpp
index 6d6922d1f..4b71fdf42 100755
--- a/src/gui/widgetwithstatus.cpp
+++ b/src/gui/widgetwithstatus.cpp
@@ -29,10 +29,10 @@ WidgetWithStatus::WidgetWithStatus(QWidget *parent)
m_btnStatus = new PlainToolButton(this);
m_btnStatus->setFocusPolicy(Qt::NoFocus);
- m_iconInformation = qApp->icons()->fromTheme("dialog-information");
- m_iconWarning = qApp->icons()->fromTheme("dialog-warning");
- m_iconError = qApp->icons()->fromTheme("dialog-error");
- m_iconOk = qApp->icons()->fromTheme("dialog-yes");
+ m_iconInformation = qApp->icons()->fromTheme(QSL("dialog-information"));
+ m_iconWarning = qApp->icons()->fromTheme(QSL("dialog-warning"));
+ m_iconError = qApp->icons()->fromTheme(QSL("dialog-error"));
+ m_iconOk = qApp->icons()->fromTheme(QSL("dialog-yes"));
// Set layout properties.
m_layout->setMargin(0);
diff --git a/src/miscellaneous/databasecleaner.cpp b/src/miscellaneous/databasecleaner.cpp
index 0a35a8ed9..7d7a1e318 100755
--- a/src/miscellaneous/databasecleaner.cpp
+++ b/src/miscellaneous/databasecleaner.cpp
@@ -95,8 +95,8 @@ bool DatabaseCleaner::purgeStarredMessages(const QSqlDatabase &database) {
QSqlQuery query = QSqlQuery(database);
query.setForwardOnly(true);
- query.prepare("DELETE FROM Messages WHERE is_important = :is_important;");
- query.bindValue(":is_important", 1);
+ query.prepare(QSL("DELETE FROM Messages WHERE is_important = :is_important;"));
+ query.bindValue(QSL(":is_important"), 1);
return query.exec();
}
@@ -105,14 +105,14 @@ bool DatabaseCleaner::purgeReadMessages(const QSqlDatabase &database) {
QSqlQuery query = QSqlQuery(database);
query.setForwardOnly(true);
- query.prepare("DELETE FROM Messages WHERE is_important = :is_important AND is_deleted = :is_deleted AND is_read = :is_read;");
- query.bindValue(":is_read", 1);
+ query.prepare(QSL("DELETE FROM Messages WHERE is_important = :is_important AND is_deleted = :is_deleted AND is_read = :is_read;"));
+ query.bindValue(QSL(":is_read"), 1);
// Remove only messages which are NOT in recycle bin.
- query.bindValue(":is_deleted", 0);
+ query.bindValue(QSL(":is_deleted"), 0);
// Remove only messages which are NOT starred.
- query.bindValue(":is_important", 0);
+ query.bindValue(QSL(":is_important"), 0);
return query.exec();
}
@@ -122,11 +122,11 @@ bool DatabaseCleaner::purgeOldMessages(const QSqlDatabase &database, int days) {
qint64 since_epoch = QDateTime::currentDateTimeUtc().addDays(-days).toMSecsSinceEpoch();
query.setForwardOnly(true);
- query.prepare("DELETE FROM Messages WHERE is_important = :is_important AND date_created < :date_created;");
- query.bindValue(":date_created", since_epoch);
+ query.prepare(QSL("DELETE FROM Messages WHERE is_important = :is_important AND date_created < :date_created;"));
+ query.bindValue(QSL(":date_created"), since_epoch);
// Remove only messages which are NOT starred.
- query.bindValue(":is_important", 0);
+ query.bindValue(QSL(":is_important"), 0);
return query.exec();
}
@@ -135,11 +135,11 @@ bool DatabaseCleaner::purgeRecycleBin(const QSqlDatabase &database) {
QSqlQuery query = QSqlQuery(database);
query.setForwardOnly(true);
- query.prepare("DELETE FROM Messages WHERE is_important = :is_important AND is_deleted = :is_deleted;");
- query.bindValue(":is_deleted", 1);
+ query.prepare(QSL("DELETE FROM Messages WHERE is_important = :is_important AND is_deleted = :is_deleted;"));
+ query.bindValue(QSL(":is_deleted"), 1);
// Remove only messages which are NOT starred.
- query.bindValue(":is_important", 0);
+ query.bindValue(QSL(":is_important"), 0);
return query.exec();
}
diff --git a/src/miscellaneous/databasefactory.cpp b/src/miscellaneous/databasefactory.cpp
index a6ebec1d3..c3e9c676c 100755
--- a/src/miscellaneous/databasefactory.cpp
+++ b/src/miscellaneous/databasefactory.cpp
@@ -31,7 +31,7 @@ DatabaseFactory::DatabaseFactory(QObject *parent)
m_mysqlDatabaseInitialized(false),
m_sqliteFileBasedDatabaseinitialized(false),
m_sqliteInMemoryDatabaseInitialized(false) {
- setObjectName("DatabaseFactory");
+ setObjectName(QSL("DatabaseFactory"));
determineDriver();
}
@@ -141,7 +141,7 @@ void DatabaseFactory::sqliteAssemblyDatabaseFilePath() {
QSqlDatabase DatabaseFactory::sqliteInitializeInMemoryDatabase() {
QSqlDatabase database = QSqlDatabase::addDatabase(APP_DB_SQLITE_DRIVER);
- database.setDatabaseName(":memory:");
+ database.setDatabaseName(QSL(":memory:"));
if (!database.open()) {
qFatal("In-memory SQLite database was NOT opened. Delivered error message: '%s'", qPrintable(database.lastError().text()));
@@ -150,16 +150,16 @@ QSqlDatabase DatabaseFactory::sqliteInitializeInMemoryDatabase() {
QSqlQuery query_db(database);
query_db.setForwardOnly(true);
- query_db.exec("PRAGMA encoding = \"UTF-8\"");
- query_db.exec("PRAGMA synchronous = OFF");
- query_db.exec("PRAGMA journal_mode = MEMORY");
- query_db.exec("PRAGMA page_size = 4096");
- query_db.exec("PRAGMA cache_size = 16384");
- query_db.exec("PRAGMA count_changes = OFF");
- query_db.exec("PRAGMA temp_store = MEMORY");
+ query_db.exec(QSL("PRAGMA encoding = \"UTF-8\""));
+ query_db.exec(QSL("PRAGMA synchronous = OFF"));
+ query_db.exec(QSL("PRAGMA journal_mode = MEMORY"));
+ query_db.exec(QSL("PRAGMA page_size = 4096"));
+ query_db.exec(QSL("PRAGMA cache_size = 16384"));
+ query_db.exec(QSL("PRAGMA count_changes = OFF"));
+ query_db.exec(QSL("PRAGMA temp_store = MEMORY"));
// Sample query which checks for existence of tables.
- query_db.exec("SELECT inf_value FROM Information WHERE inf_key = 'schema_version'");
+ query_db.exec(QSL("SELECT inf_value FROM Information WHERE inf_key = 'schema_version'"));
if (query_db.lastError().isValid()) {
qWarning("Error occurred. In-memory SQLite database is not initialized. Initializing now.");
@@ -202,7 +202,7 @@ QSqlDatabase DatabaseFactory::sqliteInitializeInMemoryDatabase() {
copy_contents.exec(QString("ATTACH DATABASE '%1' AS 'storage';").arg(file_database.databaseName()));
// Copy all stuff.
- QStringList tables; tables << "Information" << "Categories" << "Feeds" << "FeedsData" << "Messages";
+ QStringList tables; tables << QSL("Information") << QSL("Categories") << QSL("Feeds") << QSL("FeedsData") << QSL("Messages");
foreach (const QString &table, tables) {
copy_contents.exec(QString("INSERT INTO main.%1 SELECT * FROM storage.%1;").arg(table));
@@ -211,7 +211,7 @@ QSqlDatabase DatabaseFactory::sqliteInitializeInMemoryDatabase() {
qDebug("Copying data from file-based database into working in-memory database.");
// Detach database and finish.
- copy_contents.exec("DETACH 'storage'");
+ copy_contents.exec(QSL("DETACH 'storage'"));
copy_contents.finish();
query_db.finish();
@@ -255,16 +255,16 @@ QSqlDatabase DatabaseFactory::sqliteInitializeFileBasedDatabase(const QString &c
QSqlQuery query_db(database);
query_db.setForwardOnly(true);
- query_db.exec("PRAGMA encoding = \"UTF-8\"");
- query_db.exec("PRAGMA synchronous = OFF");
- query_db.exec("PRAGMA journal_mode = MEMORY");
- query_db.exec("PRAGMA page_size = 4096");
- query_db.exec("PRAGMA cache_size = 16384");
- query_db.exec("PRAGMA count_changes = OFF");
- query_db.exec("PRAGMA temp_store = MEMORY");
+ query_db.exec(QSL("PRAGMA encoding = \"UTF-8\""));
+ query_db.exec(QSL("PRAGMA synchronous = OFF"));
+ query_db.exec(QSL("PRAGMA journal_mode = MEMORY"));
+ query_db.exec(QSL("PRAGMA page_size = 4096"));
+ query_db.exec(QSL("PRAGMA cache_size = 16384"));
+ query_db.exec(QSL("PRAGMA count_changes = OFF"));
+ query_db.exec(QSL("PRAGMA temp_store = MEMORY"));
// Sample query which checks for existence of tables.
- if (!query_db.exec("SELECT inf_value FROM Information WHERE inf_key = 'schema_version'")) {
+ if (!query_db.exec(QSL("SELECT inf_value FROM Information WHERE inf_key = 'schema_version'"))) {
qWarning("Error occurred. File-based SQLite database is not initialized. Initializing now.");
QFile file_init(APP_MISC_PATH + QDir::separator() + APP_DB_SQLITE_INIT);
@@ -346,7 +346,7 @@ bool DatabaseFactory::sqliteUpdateDatabaseSchema(QSqlDatabase database, const QS
while (working_version != current_version) {
QString update_file_name = QString(APP_MISC_PATH) + QDir::separator() +
- QString(APP_DB_UPDATE_FILE_PATTERN).arg("sqlite",
+ QString(APP_DB_UPDATE_FILE_PATTERN).arg(QSL("sqlite"),
QString::number(working_version),
QString::number(working_version + 1));
@@ -384,7 +384,7 @@ bool DatabaseFactory::mysqlUpdateDatabaseSchema(QSqlDatabase database, const QSt
while (working_version != current_version) {
QString update_file_name = QString(APP_MISC_PATH) + QDir::separator() +
- QString(APP_DB_UPDATE_FILE_PATTERN).arg("mysql",
+ QString(APP_DB_UPDATE_FILE_PATTERN).arg(QSL("mysql"),
QString::number(working_version),
QString::number(working_version + 1));
@@ -465,19 +465,19 @@ void DatabaseFactory::sqliteSaveMemoryDatabase() {
QSqlQuery copy_contents(database);
// Attach database.
- copy_contents.exec(QString("ATTACH DATABASE '%1' AS 'storage';").arg(file_database.databaseName()));
+ copy_contents.exec(QString(QSL("ATTACH DATABASE '%1' AS 'storage';")).arg(file_database.databaseName()));
// Copy all stuff.
- QStringList tables; tables << "Categories" << "Feeds" << "FeedsData" <<
- "Messages";
+ QStringList tables; tables << QSL("Categories") << QSL("Feeds") << QSL("FeedsData") <<
+ QSL("Messages");
foreach (const QString &table, tables) {
- copy_contents.exec(QString("DELETE FROM storage.%1;").arg(table));
- copy_contents.exec(QString("INSERT INTO storage.%1 SELECT * FROM main.%1;").arg(table));
+ copy_contents.exec(QString(QSL("DELETE FROM storage.%1;")).arg(table));
+ copy_contents.exec(QString(QSL("INSERT INTO storage.%1 SELECT * FROM main.%1;")).arg(table));
}
// Detach database and finish.
- copy_contents.exec("DETACH 'storage'");
+ copy_contents.exec(QSL("DETACH 'storage'"));
copy_contents.finish();
}
@@ -573,7 +573,7 @@ QSqlDatabase DatabaseFactory::mysqlInitializeDatabase(const QString &connection_
QSqlQuery query_db(database);
query_db.setForwardOnly(true);
- if (!query_db.exec(QString("USE %1").arg(database_name)) || !query_db.exec("SELECT inf_value FROM Information WHERE inf_key = 'schema_version'")) {
+ if (!query_db.exec(QString("USE %1").arg(database_name)) || !query_db.exec(QSL("SELECT inf_value FROM Information WHERE inf_key = 'schema_version'"))) {
// If no "rssguard" database exists or schema version is wrong, then initialize it.
qWarning("Error occurred. MySQL database is not initialized. Initializing now.");
@@ -633,7 +633,7 @@ bool DatabaseFactory::mysqlVacuumDatabase() {
QSqlDatabase database = mysqlConnection(objectName());
QSqlQuery query_vacuum(database);
- return query_vacuum.exec("OPTIMIZE TABLE rssguard.feeds;") && query_vacuum.exec("OPTIMIZE TABLE rssguard.messages;");
+ return query_vacuum.exec(QSL("OPTIMIZE TABLE rssguard.feeds;")) && query_vacuum.exec(QSL("OPTIMIZE TABLE rssguard.messages;"));
}
QSqlDatabase DatabaseFactory::sqliteConnection(const QString &connection_name, DatabaseFactory::DesiredType desired_type) {
@@ -648,7 +648,7 @@ QSqlDatabase DatabaseFactory::sqliteConnection(const QString &connection_name, D
else {
QSqlDatabase database = QSqlDatabase::database();
- database.setDatabaseName(":memory:");
+ database.setDatabaseName(QSL(":memory:"));
if (!database.isOpen() && !database.open()) {
qFatal("In-memory SQLite database was NOT opened. Delivered error message: '%s'.",
@@ -720,7 +720,7 @@ bool DatabaseFactory::sqliteVacuumDatabase() {
QSqlQuery query_vacuum(database);
- return query_vacuum.exec("VACUUM");
+ return query_vacuum.exec(QSL("VACUUM"));
}
void DatabaseFactory::saveDatabase() {
diff --git a/src/miscellaneous/iconfactory.cpp b/src/miscellaneous/iconfactory.cpp
index efd58b062..dc5788746 100755
--- a/src/miscellaneous/iconfactory.cpp
+++ b/src/miscellaneous/iconfactory.cpp
@@ -59,8 +59,8 @@ void IconFactory::setupSearchPaths() {
QIcon::setThemeSearchPaths(QStringList() << APP_THEME_PATH);
qDebug("Available icon theme paths: %s.",
qPrintable(QIcon::themeSearchPaths()
- .replaceInStrings(QRegExp("^|$"), "\'")
- .replaceInStrings(QRegExp("/"), QDir::separator()).join(", ")));
+ .replaceInStrings(QRegExp(QSL("^|$")), QSL("\'"))
+ .replaceInStrings(QRegExp(QSL("/")), QDir::separator()).join(QSL(", "))));
}
void IconFactory::setCurrentIconTheme(const QString &theme_name) {
@@ -78,7 +78,7 @@ void IconFactory::loadCurrentIconTheme() {
// Display list of installed themes.
qDebug("Installed icon themes are: %s.",
- qPrintable(QStringList(installed_themes).replaceInStrings(QRegExp("^|$"), "\'").join(", ")));
+ qPrintable(QStringList(installed_themes).replaceInStrings(QRegExp(QSL("^|$")), QSL("\'")).join(QSL(", "))));
if (installed_themes.contains(theme_name_from_settings)) {
// Desired icon theme is installed and can be loaded.
diff --git a/src/miscellaneous/localization.cpp b/src/miscellaneous/localization.cpp
index b2b42371d..352450b66 100755
--- a/src/miscellaneous/localization.cpp
+++ b/src/miscellaneous/localization.cpp
@@ -41,7 +41,7 @@ void Localization::loadActiveLanguage() {
QTranslator *app_translator = new QTranslator(qApp);
QString desired_localization = desiredLanguage();
- if (app_translator->load(QString("rssguard-%1.qm").arg(desired_localization), APP_LANG_PATH, "-")) {
+ if (app_translator->load(QString("rssguard-%1.qm").arg(desired_localization), APP_LANG_PATH, QSL("-"))) {
Application::installTranslator(app_translator);
qDebug("Application localization '%s' loaded successfully.", qPrintable(desired_localization));
}
@@ -50,7 +50,7 @@ void Localization::loadActiveLanguage() {
desired_localization = DEFAULT_LOCALE;
}
- if (qt_translator->load(QString("qtbase-%1.qm").arg(desired_localization), APP_LANG_PATH, "-")) {
+ if (qt_translator->load(QString("qtbase-%1.qm").arg(desired_localization), APP_LANG_PATH, QSL("-"))) {
Application::installTranslator(qt_translator);
qDebug("Qt localization '%s' loaded successfully.", qPrintable(desired_localization));
}
diff --git a/src/miscellaneous/settings.cpp b/src/miscellaneous/settings.cpp
index 047a602c4..0a3fbeb3f 100755
--- a/src/miscellaneous/settings.cpp
+++ b/src/miscellaneous/settings.cpp
@@ -179,13 +179,13 @@ DKEY Proxy::Type = "proxy_type";
DVALUE(QNetworkProxy::ProxyType) Proxy::TypeDef = QNetworkProxy::NoProxy;
DKEY Proxy::Host = "host";
-DVALUE(char*) Proxy::HostDef = "";
+DVALUE(QString) Proxy::HostDef = QString();
DKEY Proxy::Username = "username";
-DVALUE(char*) Proxy::UsernameDef = "";
+DVALUE(QString) Proxy::UsernameDef = QString();
DKEY Proxy::Password = "password";
-DVALUE(char*) Proxy::PasswordDef = "";
+DVALUE(QString) Proxy::PasswordDef = QString();
DKEY Proxy::Port = "port";
DVALUE(int) Proxy::PortDef = 80;
@@ -197,13 +197,13 @@ DKEY Database::UseInMemory = "use_in_memory_db";
DVALUE(bool) Database::UseInMemoryDef = false;
DKEY Database::MySQLHostname = "mysql_hostname";
-DVALUE(char*) Database::MySQLHostnameDef = "";
+DVALUE(QString) Database::MySQLHostnameDef = QString();
DKEY Database::MySQLUsername = "mysql_username";
-DVALUE(char*) Database::MySQLUsernameDef = "";
+DVALUE(QString) Database::MySQLUsernameDef = QString();
DKEY Database::MySQLPassword = "mysql_password";
-DVALUE(char*) Database::MySQLPasswordDef = "";
+DVALUE(QString) Database::MySQLPasswordDef = QString();
DKEY Database::MySQLDatabase = "mysql_database";
DVALUE(char*) Database::MySQLDatabaseDef = APP_LOW_NAME;
@@ -251,7 +251,7 @@ DKEY Browser::CustomExternalBrowserEnabled = "custom_external_bro
DVALUE(bool) Browser::CustomExternalBrowserEnabledDef = false;
DKEY Browser::CustomExternalBrowserExecutable = "external_browser_executable";
-DVALUE(char*) Browser::CustomExternalBrowserExecutableDef = "";
+DVALUE(QString) Browser::CustomExternalBrowserExecutableDef = QString();
DKEY Browser::CustomExternalBrowserArguments = "external_browser_arguments";
DVALUE(char*) Browser::CustomExternalBrowserArgumentsDef = "%1";
@@ -260,7 +260,7 @@ DKEY Browser::CustomExternalEmailEnabled = "custom_external_ema
DVALUE(bool) Browser::CustomExternalEmailEnabledDef = false;
DKEY Browser::CustomExternalEmailExecutable = "external_email_executable";
-DVALUE(char*) Browser::CustomExternalEmailExecutableDef = "";
+DVALUE(QString) Browser::CustomExternalEmailExecutableDef = QString();
DKEY Browser::CustomExternalEmailArguments = "external_email_arguments";
DVALUE(char*) Browser::CustomExternalEmailArgumentsDef = "";
diff --git a/src/miscellaneous/settings.h b/src/miscellaneous/settings.h
index 933ffb12b..f2a7ec6b9 100755
--- a/src/miscellaneous/settings.h
+++ b/src/miscellaneous/settings.h
@@ -197,13 +197,13 @@ namespace Proxy {
VALUE(QNetworkProxy::ProxyType) TypeDef;
KEY Host;
- VALUE(char*) HostDef;
+ VALUE(QString) HostDef;
KEY Username;
- VALUE(char*) UsernameDef;
+ VALUE(QString) UsernameDef;
KEY Password;
- VALUE(char*) PasswordDef;
+ VALUE(QString) PasswordDef;
KEY Port;
VALUE(int) PortDef;
@@ -217,13 +217,13 @@ namespace Database {
VALUE(bool) UseInMemoryDef;
KEY MySQLHostname;
- VALUE(char*) MySQLHostnameDef;
+ VALUE(QString) MySQLHostnameDef;
KEY MySQLUsername;
- VALUE(char*) MySQLUsernameDef;
+ VALUE(QString) MySQLUsernameDef;
KEY MySQLPassword;
- VALUE(char*) MySQLPasswordDef;
+ VALUE(QString) MySQLPasswordDef;
KEY MySQLPort;
VALUE(int) MySQLPortDef;
@@ -277,7 +277,7 @@ namespace Browser {
VALUE(bool) CustomExternalBrowserEnabledDef;
KEY CustomExternalBrowserExecutable;
- VALUE(char*) CustomExternalBrowserExecutableDef;
+ VALUE(QString) CustomExternalBrowserExecutableDef;
KEY CustomExternalBrowserArguments;
VALUE(char*) CustomExternalBrowserArgumentsDef;
@@ -286,7 +286,7 @@ namespace Browser {
VALUE(bool) CustomExternalEmailEnabledDef;
KEY CustomExternalEmailExecutable;
- VALUE(char*) CustomExternalEmailExecutableDef;
+ VALUE(QString) CustomExternalEmailExecutableDef;
KEY CustomExternalEmailArguments;
VALUE(char*) CustomExternalEmailArgumentsDef;
diff --git a/src/miscellaneous/skinfactory.cpp b/src/miscellaneous/skinfactory.cpp
index 749e20e72..7a7192850 100755
--- a/src/miscellaneous/skinfactory.cpp
+++ b/src/miscellaneous/skinfactory.cpp
@@ -50,7 +50,7 @@ void SkinFactory::loadCurrentSkin() {
}
bool SkinFactory::loadSkinFromData(const Skin &skin) {
- QStringList skin_parts = skin.m_baseName.split('/', QString::SkipEmptyParts);
+ QStringList skin_parts = skin.m_baseName.split(QL1C('/'), QString::SkipEmptyParts);
// Skin does not contain leading folder name or the actual skin file name.
if (skin_parts.size() != 2) {
@@ -85,7 +85,7 @@ bool SkinFactory::loadSkinFromData(const Skin &skin) {
}
if (!raw_data.isEmpty()) {
- QString parsed_data = raw_data.replace("##", APP_SKIN_PATH + '/' + skin_folder);
+ QString parsed_data = raw_data.replace(QSL("##"), APP_SKIN_PATH + QL1S("/") + skin_folder);
qApp->setStyleSheet(parsed_data);
}
@@ -114,38 +114,38 @@ Skin SkinFactory::skinInfo(const QString &skin_name, bool *ok) {
return skin;
}
- QDomNode skin_node = dokument.namedItem("skin");
+ QDomNode skin_node = dokument.namedItem(QSL("skin"));
// Obtain visible skin name.
- skin.m_visibleName = skin_node.namedItem("name").toElement().text();
+ skin.m_visibleName = skin_node.namedItem(QSL("name")).toElement().text();
// Obtain skin raw data.
- skin.m_rawData = skin_node.namedItem("data").toElement().text();
+ skin.m_rawData = skin_node.namedItem(QSL("data")).toElement().text();
skin.m_rawData = QByteArray::fromBase64(skin.m_rawData.toLocal8Bit());
// Obtain style name.
- styles = skin_node.namedItem("style").toElement().text();
+ styles = skin_node.namedItem(QSL("style")).toElement().text();
skin.m_stylesNames = styles.split(',', QString::SkipEmptyParts);
// Obtain author.
- skin.m_author = skin_node.namedItem("author").namedItem("name").toElement().text();
+ skin.m_author = skin_node.namedItem(QSL("author")).namedItem(QSL("name")).toElement().text();
// Obtain email.
- skin.m_email = skin_node.namedItem("author").namedItem("email").toElement().text();
+ skin.m_email = skin_node.namedItem(QSL("author")).namedItem(QSL("email")).toElement().text();
// Obtain version.
- skin.m_version = skin_node.attributes().namedItem("version").toAttr().value();
+ skin.m_version = skin_node.attributes().namedItem(QSL("version")).toAttr().value();
// Obtain layout markup wrapper.
- skin.m_layoutMarkupWrapper = skin_node.namedItem("markup_wrapper").toElement().text();
+ skin.m_layoutMarkupWrapper = skin_node.namedItem(QSL("markup_wrapper")).toElement().text();
skin.m_layoutMarkupWrapper = QByteArray::fromBase64(skin.m_layoutMarkupWrapper.toLocal8Bit());
// Obtain layout markup.
- skin.m_layoutMarkup = skin_node.namedItem("markup").toElement().text();
+ skin.m_layoutMarkup = skin_node.namedItem(QSL("markup")).toElement().text();
skin.m_layoutMarkup = QByteArray::fromBase64(skin.m_layoutMarkup.toLocal8Bit());
// Obtain enclosure hyperlink wrapper.
- skin.m_enclosureMarkup = skin_node.namedItem("markup_enclosure").toElement().text();
+ skin.m_enclosureMarkup = skin_node.namedItem(QSL("markup_enclosure")).toElement().text();
skin.m_enclosureMarkup = QByteArray::fromBase64(skin.m_enclosureMarkup.toLocal8Bit());
// Obtain other information.
@@ -174,7 +174,7 @@ QList SkinFactory::installedSkins() {
foreach (const QString &base_directory, skin_directories) {
// Check skins installed in this base directory.
- QStringList skin_files = QDir(APP_SKIN_PATH + QDir::separator() + base_directory).entryList(QStringList() << "*.xml",
+ QStringList skin_files = QDir(APP_SKIN_PATH + QDir::separator() + base_directory).entryList(QStringList() << QSL("*.xml"),
QDir::Files | QDir::Readable | QDir::NoDotAndDotDot | QDir::NoSymLinks);
foreach (const QString &skin_file, skin_files) {
diff --git a/src/miscellaneous/systemfactory.cpp b/src/miscellaneous/systemfactory.cpp
index c61785f2d..54fd2a256 100755
--- a/src/miscellaneous/systemfactory.cpp
+++ b/src/miscellaneous/systemfactory.cpp
@@ -52,9 +52,12 @@ SystemFactory::~SystemFactory() {
SystemFactory::AutoStartStatus SystemFactory::getAutoStartStatus() {
// User registry way to auto-start the application on Windows.
#if defined(Q_OS_WIN)
- QSettings registry_key("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run",
+ QSettings registry_key(QSL("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run"),
QSettings::NativeFormat);
- bool autostart_enabled = registry_key.value(APP_LOW_NAME, "").toString().replace('\\', '/') == Application::applicationFilePath();
+ bool autostart_enabled = registry_key.value(QSL(APP_LOW_NAME),
+ QString()).toString().replace(QL1C('\\'),
+ QL1C('/')) ==
+ Application::applicationFilePath();
if (autostart_enabled) {
return SystemFactory::Enabled;
@@ -96,7 +99,7 @@ QString SystemFactory::getAutostartDesktopFileLocation() {
if (!xdg_config_path.isEmpty()) {
// XDG_CONFIG_HOME variable is specified. Look for .desktop file
// in 'autostart' subdirectory.
- desktop_file_location = xdg_config_path + "/autostart/" + APP_DESKTOP_ENTRY_FILE;
+ desktop_file_location = xdg_config_path + QSL("/autostart/") + APP_DESKTOP_ENTRY_FILE;
}
else {
// Desired variable is not set, look for the default 'autostart' subdirectory.
@@ -104,7 +107,7 @@ QString SystemFactory::getAutostartDesktopFileLocation() {
if (!home_directory.isEmpty()) {
// Home directory exists. Check if target .desktop file exists and
// return according status.
- desktop_file_location = home_directory + "/.config/autostart/" + APP_DESKTOP_ENTRY_FILE;
+ desktop_file_location = home_directory + QSL("/.config/autostart/") + APP_DESKTOP_ENTRY_FILE;
}
}
@@ -122,11 +125,11 @@ bool SystemFactory::setAutoStartStatus(const AutoStartStatus &new_status) {
}
#if defined(Q_OS_WIN)
- QSettings registry_key("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run", QSettings::NativeFormat);
+ QSettings registry_key(QSL("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run"), QSettings::NativeFormat);
switch (new_status) {
case SystemFactory::Enabled:
registry_key.setValue(APP_LOW_NAME,
- Application::applicationFilePath().replace('/', '\\'));
+ Application::applicationFilePath().replace(QL1C('/'), QL1C('\\')));
return true;
case SystemFactory::Disabled:
registry_key.remove(APP_LOW_NAME);
@@ -156,9 +159,9 @@ bool SystemFactory::setAutoStartStatus(const AutoStartStatus &new_status) {
#if defined(Q_OS_WIN)
bool SystemFactory::removeTrolltechJunkRegistryKeys() {
if (qApp->settings()->value(GROUP(General), SETTING(General::RemoveTrolltechJunk)).toBool()) {
- QSettings registry_key("HKEY_CURRENT_USER\\Software\\TrollTech", QSettings::NativeFormat);
+ QSettings registry_key(QSL("HKEY_CURRENT_USER\\Software\\TrollTech"), QSettings::NativeFormat);
- registry_key.remove("");
+ registry_key.remove(QSL(""));
registry_key.sync();
return registry_key.status() == QSettings::NoError;
@@ -185,8 +188,8 @@ QPair SystemFactory::checkForUpdates()
}
bool SystemFactory::isUpdateNewer(const QString &update_version) {
- QStringList current_version_tkn = QString(APP_VERSION).split('.');
- QStringList new_version_tkn = update_version.split('.');
+ QStringList current_version_tkn = QString(APP_VERSION).split(QL1C('.'));
+ QStringList new_version_tkn = update_version.split(QL1C('.'));
while (!current_version_tkn.isEmpty() && !new_version_tkn.isEmpty()) {
int current_number = current_version_tkn.takeFirst().toInt();
@@ -211,7 +214,7 @@ bool SystemFactory::isUpdateNewer(const QString &update_version) {
return false;
}
else {
- return new_version_tkn.join("").toInt() > 0;
+ return new_version_tkn.join(QString()).toInt() > 0;
}
}
}
@@ -219,23 +222,23 @@ bool SystemFactory::isUpdateNewer(const QString &update_version) {
UpdateInfo SystemFactory::parseUpdatesFile(const QByteArray &updates_file, const QByteArray &changelog) {
UpdateInfo update;
QDomDocument document; document.setContent(updates_file, false);
- QDomNodeList releases = document.elementsByTagName("release");
+ QDomNodeList releases = document.elementsByTagName(QSL("release"));
if (releases.size() == 1) {
QDomElement rel_elem = releases.at(0).toElement();
- update.m_availableVersion = rel_elem.attributes().namedItem("version").toAttr().value();
+ update.m_availableVersion = rel_elem.attributes().namedItem(QSL("version")).toAttr().value();
update.m_changes = changelog;
- QDomNodeList urls = rel_elem.elementsByTagName("url");
+ QDomNodeList urls = rel_elem.elementsByTagName(QSL("url"));
for (int j = 0; j < urls.size(); j++) {
UpdateUrl url;
QDomElement url_elem = urls.at(j).toElement();
url.m_fileUrl = url_elem.text();
- url.m_os = url_elem.attributes().namedItem("os").toAttr().value();
- url.m_platform = url_elem.attributes().namedItem("platform").toAttr().value();
+ url.m_os = url_elem.attributes().namedItem(QSL("os")).toAttr().value();
+ url.m_platform = url_elem.attributes().namedItem(QSL("platform")).toAttr().value();
update.m_urls.insert(url.m_os, url);
}
diff --git a/src/miscellaneous/textfactory.cpp b/src/miscellaneous/textfactory.cpp
old mode 100644
new mode 100755
index ca5743adb..a6289e7ae
--- a/src/miscellaneous/textfactory.cpp
+++ b/src/miscellaneous/textfactory.cpp
@@ -34,20 +34,21 @@ QDateTime TextFactory::parseDateTime(const QString &date_time) {
QLocale locale(QLocale::C);
bool positive_time_zone_offset = false;
- QStringList date_patterns; date_patterns << "yyyy-MM-ddTHH:mm:ss" << "MMM dd yyyy hh:mm:ss" <<
- "MMM d yyyy hh:mm:ss" << "ddd, dd MMM yyyy HH:mm:ss" <<
- "dd MMM yyyy" << "yyyy-MM-dd HH:mm:ss.z" << "yyyy-MM-dd" <<
- "yyyy" << "yyyy-MM" << "yyyy-MM-dd" << "yyyy-MM-ddThh:mm" <<
- "yyyy-MM-ddThh:mm:ss";
+ QStringList date_patterns; date_patterns << QSL("yyyy-MM-ddTHH:mm:ss") << QSL("MMM dd yyyy hh:mm:ss") <<
+ QSL("MMM d yyyy hh:mm:ss") << QSL("ddd, dd MMM yyyy HH:mm:ss") <<
+ QSL("dd MMM yyyy") << QSL("yyyy-MM-dd HH:mm:ss.z") << QSL("yyyy-MM-dd") <<
+ QSL("yyyy") << QSL("yyyy-MM") << QSL("yyyy-MM-dd") << QSL("yyyy-MM-ddThh:mm") <<
+ QSL("yyyy-MM-ddThh:mm:ss");
- QStringList timezone_offset_patterns; timezone_offset_patterns << "+hh:mm" << "-hh:mm" << "+hhmm" << "-hhmm" << "+hh" << "-hh";
+ QStringList timezone_offset_patterns; timezone_offset_patterns << QSL("+hh:mm") << QSL("-hh:mm") << QSL("+hhmm")
+ << QSL("-hhmm") << QSL("+hh") << QSL("-hh");
if (input_date.size() >= TIMEZONE_OFFSET_LIMIT) {
foreach (const QString &pattern, timezone_offset_patterns) {
time_zone_offset = QTime::fromString(input_date.right(pattern.size()), pattern);
if (time_zone_offset.isValid()) {
- positive_time_zone_offset = pattern.at(0) == '+';
+ positive_time_zone_offset = pattern.at(0) == QL1C('+');
break;
}
}
@@ -89,7 +90,7 @@ QDateTime TextFactory::parseDateTime(qint64 milis_from_epoch) {
QString TextFactory::shorten(const QString &input, int text_length_limit) {
if (input.size() > text_length_limit) {
- return input.left(text_length_limit - ELLIPSIS_LENGTH) + QString(ELLIPSIS_LENGTH, '.');
+ return input.left(text_length_limit - ELLIPSIS_LENGTH) + QString(ELLIPSIS_LENGTH, QL1C('.'));
}
else {
return input;
diff --git a/src/network-web/adblock/adblocksubscription.cpp b/src/network-web/adblock/adblocksubscription.cpp
index cb7352ac9..fb55e3ac8 100755
--- a/src/network-web/adblock/adblocksubscription.cpp
+++ b/src/network-web/adblock/adblocksubscription.cpp
@@ -111,7 +111,7 @@ void AdBlockSubscription::loadSubscription(const QStringList &disabled_rules) {
textStream.readLine(1024);
QString header = textStream.readLine(1024);
- if (!header.startsWith(QLatin1String("[Adblock")) || m_title.isEmpty()) {
+ if (!header.startsWith(QL1S("[Adblock")) || m_title.isEmpty()) {
qWarning("Invalid format of subscription file '%s'.", qPrintable(QDir::toNativeSeparators(m_filePath)));
file.close();
QTimer::singleShot(0, this, SLOT(updateSubscription()));
@@ -201,8 +201,8 @@ bool AdBlockSubscription::saveDownloadedData(const QByteArray &data) {
// So we are ignoring it for keeping good performance
// But we will use whitelist rules at the end of list
- QByteArray part1 = data.left(data.indexOf(QLatin1String("!-----------------------------Third-party adverts-----------------------------!")));
- QByteArray part2 = data.mid(data.indexOf(QLatin1String("!---------------------------------Whitelists----------------------------------!")));
+ QByteArray part1 = data.left(data.indexOf(QL1S("!-----------------------------Third-party adverts-----------------------------!")));
+ QByteArray part2 = data.mid(data.indexOf(QL1S("!---------------------------------Whitelists----------------------------------!")));
file.write(part1);
file.write(part2);
diff --git a/src/network-web/discoverfeedsbutton.cpp b/src/network-web/discoverfeedsbutton.cpp
old mode 100644
new mode 100755
index 6b344925b..9d5ec6c12
--- a/src/network-web/discoverfeedsbutton.cpp
+++ b/src/network-web/discoverfeedsbutton.cpp
@@ -23,7 +23,7 @@
DiscoverFeedsButton::DiscoverFeedsButton(QWidget *parent) : QToolButton(parent) {
setEnabled(false);
- setIcon(qApp->icons()->fromTheme("folder-feed"));
+ setIcon(qApp->icons()->fromTheme(QSL("folder-feed")));
setPopupMode(QToolButton::InstantPopup);
}
diff --git a/src/network-web/downloader.cpp b/src/network-web/downloader.cpp
index ec41afcf4..0851c7fa0 100755
--- a/src/network-web/downloader.cpp
+++ b/src/network-web/downloader.cpp
@@ -80,7 +80,7 @@ void Downloader::finished() {
QNetworkRequest request = reply->request();
if (redirection_url.host().isEmpty()) {
- request.setUrl(QUrl(reply->request().url().scheme() + "://" + reply->request().url().host() + redirection_url.toString()));
+ request.setUrl(QUrl(reply->request().url().scheme() + QSL("://") + reply->request().url().host() + redirection_url.toString()));
}
else {
request.setUrl(redirection_url);
diff --git a/src/network-web/downloadmanager.cpp b/src/network-web/downloadmanager.cpp
old mode 100644
new mode 100755
index 3e4c412da..27089091d
--- a/src/network-web/downloadmanager.cpp
+++ b/src/network-web/downloadmanager.cpp
@@ -151,12 +151,12 @@ QString DownloadItem::saveFileName(const QString &directory) const {
if (m_reply->hasRawHeader("Content-Disposition")) {
QString value = QLatin1String(m_reply->rawHeader("Content-Disposition"));
- int pos = value.indexOf(QLatin1String("filename="));
+ int pos = value.indexOf(QL1S("filename="));
if (pos != -1) {
QString name = value.mid(pos + 9);
- if (name.startsWith(QLatin1Char('"')) && name.endsWith(QLatin1Char('"'))) {
+ if (name.startsWith(QL1C('"')) && name.endsWith(QL1C('"'))) {
name = name.mid(1, name.size() - 2);
}
@@ -173,11 +173,11 @@ QString DownloadItem::saveFileName(const QString &directory) const {
QString end_name = info.suffix();
if (base_name.isEmpty()) {
- base_name = QLatin1String("unnamed_download");
+ base_name = QSL("unnamed_download");
}
if (!end_name.isEmpty()) {
- end_name = QLatin1Char('.') + end_name;
+ end_name = QL1C('.') + end_name;
}
QString name = directory + base_name + end_name;
@@ -186,7 +186,7 @@ QString DownloadItem::saveFileName(const QString &directory) const {
int i = 1;
do {
- name = directory + base_name + QLatin1Char('-') + QString::number(i++) + end_name;
+ name = directory + base_name + QL1C('-') + QString::number(i++) + end_name;
} while (QFile::exists(name));
}
@@ -391,7 +391,7 @@ void DownloadItem::updateInfoLabel() {
}
info = QString(tr("%1 of %2 (%3 per second) - %4")).arg(DownloadManager::dataString(m_bytesReceived),
- bytesTotal == 0 ? "?" : DownloadManager::dataString(bytesTotal),
+ bytesTotal == 0 ? QSL("?") : DownloadManager::dataString(bytesTotal),
DownloadManager::dataString((int)speed),
remaining);
}
@@ -736,7 +736,7 @@ QString DownloadManager::dataString(qint64 size) {
unit = tr("GB");
}
- return QString(QLatin1String("%1 %2")).arg(newSize, 0, 'f', 1).arg(unit);
+ return QString(QL1S("%1 %2")).arg(newSize, 0, 'f', 1).arg(unit);
}
DownloadModel::DownloadModel(DownloadManager *download_manager, QObject *parent)
diff --git a/src/network-web/googlesuggest.cpp b/src/network-web/googlesuggest.cpp
index b21756f67..df5ab989d 100755
--- a/src/network-web/googlesuggest.cpp
+++ b/src/network-web/googlesuggest.cpp
@@ -186,13 +186,13 @@ void GoogleSuggest::handleNetworkData() {
QTextCodec *c = QTextCodec::codecForUtfText(response);
xml.setContent(c->toUnicode(response));
- QDomNodeList suggestions = xml.elementsByTagName("suggestion");
+ QDomNodeList suggestions = xml.elementsByTagName(QSL("suggestion"));
for (int i = 0; i < suggestions.size(); i++) {
QDomElement element = suggestions.at(i).toElement();
- if (element.attributes().contains("data")) {
- choices.append(element.attribute("data"));
+ if (element.attributes().contains(QSL("data"))) {
+ choices.append(element.attribute(QSL("data")));
}
}
diff --git a/src/network-web/networkfactory.cpp b/src/network-web/networkfactory.cpp
index fab628c77..4acac8bf8 100755
--- a/src/network-web/networkfactory.cpp
+++ b/src/network-web/networkfactory.cpp
@@ -44,7 +44,7 @@ QStringList NetworkFactory::extractFeedLinksFromHtmlPage(const QUrl &url, const
QString href_attribute = rx_href.capturedTexts().at(0);
QString feed_link = href_attribute.mid(6, href_attribute.size() - 7);
- if (feed_link.startsWith('/')) {
+ if (feed_link.startsWith(QL1C('/'))) {
feed_link = url.toString(QUrl::RemovePath | QUrl::RemoveQuery | QUrl::StripTrailingSlash) + feed_link;
}
diff --git a/src/network-web/webbrowser.cpp b/src/network-web/webbrowser.cpp
index 062ec124f..08d8f4c98 100755
--- a/src/network-web/webbrowser.cpp
+++ b/src/network-web/webbrowser.cpp
@@ -77,11 +77,11 @@ void WebBrowser::initializeZoomWidget() {
QToolButton *button_increase = new QToolButton(m_zoomButtons);
// Set texts.
- button_decrease->setText("-");
+ button_decrease->setText(QSL("-"));
button_decrease->setToolTip(tr("Decrease zoom."));
- m_btnResetZoom->setText("100%");
+ m_btnResetZoom->setText(QSL("100%"));
m_btnResetZoom->setToolTip(tr("Reset zoom to default."));
- button_increase->setText("+");
+ button_increase->setText(QSL("+"));
button_increase->setToolTip(tr("Increase zoom."));
// Setup layout.
@@ -163,7 +163,7 @@ void WebBrowser::onLoadingStarted() {
void WebBrowser::onLoadingProgress(int progress) {
m_loadingProgress->setValue(progress);
- m_lblProgress->setText(QString(" %1 kB / %2 kB").arg(m_webView->page()->bytesReceived() / 1000).arg(m_webView->page()->totalBytes() / 1000));
+ m_lblProgress->setText(QString(QSL(" %1 kB / %2 kB")).arg(m_webView->page()->bytesReceived() / 1000).arg(m_webView->page()->totalBytes() / 1000));
}
void WebBrowser::onLoadingFinished(bool success) {
@@ -248,14 +248,14 @@ void WebBrowser::navigateToMessages(const QList &messages) {
enclosures += skin.m_enclosureMarkup.arg(enclosure.m_url);
if (!enclosure.m_mimeType.isEmpty()) {
- enclosures += " [" + enclosure.m_mimeType + "]";
+ enclosures += QL1S(" [") + enclosure.m_mimeType + QL1S("]");
}
- enclosures += "
";
+ enclosures += QL1S("
");
}
if (!enclosures.isEmpty()) {
- enclosures = enclosures.prepend("
");
+ enclosures = enclosures.prepend(QSL("
"));
}
messages_layout.append(single_message_layout.arg(message.m_title,
@@ -271,11 +271,11 @@ void WebBrowser::navigateToMessages(const QList &messages) {
QString layout_wrapper = skin.m_layoutMarkupWrapper.arg(messages.size() == 1 ? messages.at(0).m_title : tr("Newspaper view"), messages_layout);
m_webView->setHtml(layout_wrapper, QUrl(INTERNAL_URL_NEWSPAPER));
- emit iconChanged(m_index, qApp->icons()->fromTheme("item-newspaper"));
+ emit iconChanged(m_index, qApp->icons()->fromTheme(QSL("item-newspaper")));
}
void WebBrowser::updateZoomGui() {
- m_btnResetZoom->setText(QString("%1%").arg(QString::number(m_webView->zoomFactor() * 100, 'f', 0)));
+ m_btnResetZoom->setText(QString(QSL("%1%")).arg(QString::number(m_webView->zoomFactor() * 100, 'f', 0)));
}
void WebBrowser::increaseZoom() {
@@ -296,7 +296,7 @@ void WebBrowser::resetZoom() {
void WebBrowser::navigateToUrl(const QString &textual_url) {
// Prepare input url.
QString better_url = textual_url;
- better_url = better_url.replace('\\', '/');
+ better_url = better_url.replace(QL1C('\\'), QL1C('/'));
navigateToUrl(QUrl::fromUserInput(better_url));
}
@@ -314,9 +314,9 @@ WebBrowser::~WebBrowser() {
}
void WebBrowser::setupIcons() {
- m_actionBack->setIcon(qApp->icons()->fromTheme("go-previous"));
- m_actionForward->setIcon(qApp->icons()->fromTheme("go-next"));
- m_actionReload->setIcon(qApp->icons()->fromTheme("go-refresh"));
- m_actionStop->setIcon(qApp->icons()->fromTheme("go-stop"));
+ m_actionBack->setIcon(qApp->icons()->fromTheme(QSL("go-previous")));
+ m_actionForward->setIcon(qApp->icons()->fromTheme(QSL("go-next")));
+ m_actionReload->setIcon(qApp->icons()->fromTheme(QSL("go-refresh")));
+ m_actionStop->setIcon(qApp->icons()->fromTheme(QSL("go-stop")));
m_webView->setupIcons();
}
diff --git a/src/network-web/webfactory.cpp b/src/network-web/webfactory.cpp
index 5830fe9df..61be7923b 100755
--- a/src/network-web/webfactory.cpp
+++ b/src/network-web/webfactory.cpp
@@ -33,7 +33,7 @@ bool WebFactory::sendMessageViaEmail(const Message &message) {
QString browser = qApp->settings()->value(GROUP(Browser), SETTING(Browser::CustomExternalEmailExecutable)).toString();
QString arguments = qApp->settings()->value(GROUP(Browser), SETTING(Browser::CustomExternalEmailArguments)).toString();
- return QProcess::startDetached(QString("\"") + browser + "\" " + arguments.arg(message.m_title,
+ return QProcess::startDetached(QString("\"") + browser + QSL("\" ") + arguments.arg(message.m_title,
stripTags(message.m_contents)));
}
else {
@@ -49,7 +49,7 @@ bool WebFactory::openUrlInExternalBrowser(const QString &url) {
QString browser = qApp->settings()->value(GROUP(Browser), SETTING(Browser::CustomExternalBrowserExecutable)).toString();
QString arguments = qApp->settings()->value(GROUP(Browser), SETTING(Browser::CustomExternalBrowserArguments)).toString();
- return QProcess::startDetached(QString("\"") + browser + "\"", QStringList() << arguments.arg(url));
+ return QProcess::startDetached(QString("\"") + browser + QSL("\""), QStringList() << arguments.arg(url));
}
else {
return QDesktopServices::openUrl(url);
@@ -104,7 +104,7 @@ bool WebFactory::autoloadImages() const {
}
QString WebFactory::stripTags(QString text) {
- return text.remove(QRegExp("<[^>]*>"));
+ return text.remove(QRegExp(QSL("<[^>]*>")));
}
QString WebFactory::escapeHtml(const QString &html) {
@@ -171,22 +171,22 @@ QString WebFactory::toSecondLevelDomain(const QUrl &url) {
}
void WebFactory::generetaEscapes() {
- m_escapes["<"] = '<';
- m_escapes[">"] = '>';
- m_escapes["&"] = '&';
- m_escapes["""] = '\"';
- m_escapes[" "] = ' ';
- m_escapes["±"] = "±";
- m_escapes["×"] = "×";
- m_escapes["'"] = '\'';
+ m_escapes[QSL("<")] = QL1C('<');
+ m_escapes[QSL(">")] = QL1C('>');
+ m_escapes[QSL("&")] = QL1C('&');
+ m_escapes[QSL(""")] = QL1C('\"');
+ m_escapes[QSL(" ")] = QL1C(' ');
+ m_escapes[QSL("±")] = QSL("±");
+ m_escapes[QSL("×")] = QSL("×");
+ m_escapes[QSL("'")] = QL1C('\'');
}
void WebFactory::generateDeescapes() {
- m_deEscapes["<"] = "<";
- m_deEscapes[">"] = ">";
- m_deEscapes["&"] = "&";
- m_deEscapes["\""] = """;
- m_deEscapes["±"] = "±";
- m_deEscapes["×"] = "×";
- m_deEscapes["\'"] = "'";
+ m_deEscapes[QSL("<")] = QSL("<");
+ m_deEscapes[QSL(">")] = QSL(">");
+ m_deEscapes[QSL("&")] = QSL("&");
+ m_deEscapes[QSL("\"")] = QSL(""");
+ m_deEscapes[QSL("±")] = QSL("±");
+ m_deEscapes[QSL("×")] = QSL("×");
+ m_deEscapes[QSL("\'")] = QSL("'");
}
diff --git a/src/network-web/webpage.cpp b/src/network-web/webpage.cpp
index 6db84270b..701835a79 100755
--- a/src/network-web/webpage.cpp
+++ b/src/network-web/webpage.cpp
@@ -28,10 +28,10 @@
#include
-QList WebPage::livingPages_;
+QList WebPage::s_livingPages;
WebPage::WebPage(QObject *parent)
- : QWebPage(parent), loadProgress_(-1) {
+ : QWebPage(parent), m_loadProgress(-1) {
// Setup global network access manager.
// NOTE: This makes network settings easy for all web browsers.
setNetworkAccessManager(new WebBrowserNetworkAccessManager(this, this));
@@ -41,80 +41,74 @@ WebPage::WebPage(QObject *parent)
connect(this, SIGNAL(loadProgress(int)), this, SLOT(progress(int)));
connect(this, SIGNAL(loadFinished(bool)), this, SLOT(finished()));
- livingPages_.append(this);
+ s_livingPages.append(this);
}
WebPage::~WebPage() {
- livingPages_.removeOne(this);
+ s_livingPages.removeOne(this);
}
-bool WebPage::isLoading() const
-{
- return loadProgress_ < 100;
+bool WebPage::isLoading() const {
+ return m_loadProgress < 100;
}
-void WebPage::progress(int prog)
-{
- loadProgress_ = prog;
+void WebPage::progress(int prog) {
+ m_loadProgress = prog;
}
-void WebPage::finished()
-{
+void WebPage::finished() {
progress(100);
-
- // AdBlock
cleanBlockedObjects();
}
-void WebPage::cleanBlockedObjects()
-{
- AdBlockManager* manager = AdBlockManager::instance();
+void WebPage::cleanBlockedObjects() {
+ AdBlockManager *manager = AdBlockManager::instance();
if (!manager->isEnabled()) {
return;
}
- const QWebElement docElement = mainFrame()->documentElement();
+ const QWebElement doc_element = mainFrame()->documentElement();
- foreach (const AdBlockedEntry &entry, adBlockedEntries_) {
- const QString urlString = entry.url.toString();
- if (urlString.endsWith(QLatin1String(".js")) || urlString.endsWith(QLatin1String(".css"))) {
+ foreach (const AdBlockedEntry &entry, m_adBlockedEntries) {
+ const QString url_string = entry.url.toString();
+ if (url_string.endsWith(QL1S(".js")) || url_string.endsWith(QL1S(".css"))) {
continue;
}
- QString urlEnd;
+ QString url_end;
- int pos = urlString.lastIndexOf(QLatin1Char('/'));
+ int pos = url_string.lastIndexOf(QL1C('/'));
if (pos > 8) {
- urlEnd = urlString.mid(pos + 1);
+ url_end = url_string.mid(pos + 1);
}
- if (urlString.endsWith(QLatin1Char('/'))) {
- urlEnd = urlString.left(urlString.size() - 1);
+ if (url_string.endsWith(QL1C('/'))) {
+ url_end = url_string.left(url_string.size() - 1);
}
- QString selector("img[src$=\"%1\"], iframe[src$=\"%1\"],embed[src$=\"%1\"]");
- QWebElementCollection elements = docElement.findAll(selector.arg(urlEnd));
+ QString selector(QSL("img[src$=\"%1\"], iframe[src$=\"%1\"],embed[src$=\"%1\"]"));
+ QWebElementCollection elements = doc_element.findAll(selector.arg(url_end));
foreach (QWebElement element, elements) {
- QString src = element.attribute("src");
- src.remove(QLatin1String("../"));
+ QString src = element.attribute(QSL("src"));
+ src.remove(QL1S("../"));
- if (urlString.contains(src)) {
- element.setStyleProperty("display", "none");
+ if (url_string.contains(src)) {
+ element.setStyleProperty(QSL("display"), QSL("none"));
}
}
}
// Apply domain-specific element hiding rules
- QString elementHiding = manager->elementHidingRulesForDomain(mainFrame()->url());
- if (elementHiding.isEmpty()) {
+ QString element_hiding = manager->elementHidingRulesForDomain(mainFrame()->url());
+ if (element_hiding.isEmpty()) {
return;
}
- elementHiding.append(QLatin1String("\n"));
+ element_hiding.append(QL1S("\n"));
- QWebElement bodyElement = docElement.findFirst("body");
- bodyElement.appendInside("