Some changes to API, some lang stuff.

This commit is contained in:
Martin Rotter 2015-11-17 07:41:23 +01:00
parent 34222b55b3
commit 86095778a3
9 changed files with 111 additions and 75 deletions

View File

@ -1,4 +1,6 @@
<?xml version="1.0" ?><!DOCTYPE TS><TS language="cs_CZ" version="2.1">
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="cs_CZ">
<context>
<name>AdBlockAddSubscriptionDialog</name>
<message>
@ -100,7 +102,7 @@ Berte také na paměti, že některé prostředky webových stránek jsou intern
<name>AdBlockIcon</name>
<message>
<source>Adblock</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<source>Show Adblock &amp;settings</source>
@ -212,7 +214,11 @@ Tato kategorie neobsahuje žádné položky.</translation>
<message numerus="yes">
<source>%n unread message(s).</source>
<extracomment>Tooltip for &quot;unread&quot; column of feed list.</extracomment>
<translation><numerusform>%n nepřečtená zpráva.</numerusform><numerusform>%n nepřečtené zprávy.</numerusform><numerusform>%n nepřečtených zpráv.</numerusform></translation>
<translation>
<numerusform>%n nepřečtená zpráva.</numerusform>
<numerusform>%n nepřečtené zprávy.</numerusform>
<numerusform>%n nepřečtených zpráv.</numerusform>
</translation>
</message>
</context>
<context>
@ -292,10 +298,14 @@ Tato kategorie neobsahuje žádné položky.</translation>
<message numerus="yes">
<source>Click me to add feeds from this website.
This website contains %n feed(s).</source>
<translation><numerusform>Pro přidání kanálů z této stránky na klikni.
Tato stránka obsahuje %n kanál.</numerusform><numerusform>Pro přidání kanálů z této stránky na klikni.
Tato stránka obsahuje %n kanály.</numerusform><numerusform>Pro přidání kanálů z této stránky na klikni.
Tato stránka obsahuje %n kanálů.</numerusform></translation>
<translation>
<numerusform>Pro přidání kanálů z této stránky na klikni.
Tato stránka obsahuje %n kanál.</numerusform>
<numerusform>Pro přidání kanálů z této stránky na klikni.
Tato stránka obsahuje %n kanály.</numerusform>
<numerusform>Pro přidání kanálů z této stránky na klikni.
Tato stránka obsahuje %n kanálů.</numerusform>
</translation>
</message>
</context>
<context>
@ -373,14 +383,14 @@ Tato stránka obsahuje %n kanálů.</numerusform></translation>
<translation>Stahování dokončeno</translation>
</message>
<message>
<source>File '%1' is downloaded.
<source>File &apos;%1&apos; is downloaded.
Click here to open parent directory.</source>
<translation>Soubor &apos;%1&apos; je stažen.
Klikněte sem pro otevření nadřazeného adresáře.</translation>
</message>
<message>
<source>URL: %1</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<source>Local file: %1</source>
@ -399,11 +409,19 @@ Klikněte sem pro otevření nadřazeného adresáře.</translation>
</message>
<message numerus="yes">
<source>%n minutes remaining</source>
<translation><numerusform>%n minuta do konce</numerusform><numerusform>%n minuty do konce</numerusform><numerusform>%n minut do konce</numerusform></translation>
<translation>
<numerusform>%n minuta do konce</numerusform>
<numerusform>%n minuty do konce</numerusform>
<numerusform>%n minut do konce</numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n seconds remaining</source>
<translation><numerusform>%n vteřina do konce</numerusform><numerusform>%n vteřiny do konce</numerusform><numerusform>%n vteřin do konce</numerusform></translation>
<translation>
<numerusform>%n vteřina do konce</numerusform>
<numerusform>%n vteřiny do konce</numerusform>
<numerusform>%n vteřin do konce</numerusform>
</translation>
</message>
<message>
<source>bytes</source>
@ -411,19 +429,23 @@ Klikněte sem pro otevření nadřazeného adresáře.</translation>
</message>
<message>
<source>kB</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<source>MB</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<source>GB</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message numerus="yes">
<source>Downloading %n file(s)...</source>
<translation><numerusform>Stahuji %n soubor...</numerusform><numerusform>Stahuji %n soubory...</numerusform><numerusform>Stahuji %n souborů...</numerusform></translation>
<translation>
<numerusform>Stahuji %n soubor...</numerusform>
<numerusform>Stahuji %n soubory...</numerusform>
<numerusform>Stahuji %n souborů...</numerusform>
</translation>
</message>
</context>
<context>
@ -441,7 +463,11 @@ Klikněte sem pro otevření nadřazeného adresáře.</translation>
<message numerus="yes">
<source>uses specific settings (%n minute(s) to next auto-update)</source>
<extracomment>Describes feed auto-update status.</extracomment>
<translation><numerusform>používá specifické nastavení (%n minuta do další aktualizace)</numerusform><numerusform>používá specifické nastavení (%n minuty do další aktualizace)</numerusform><numerusform>používá specifické nastavení (%n minut do další aktualizace)</numerusform></translation>
<translation>
<numerusform>používá specifické nastavení (%n minuta do další aktualizace)</numerusform>
<numerusform>používá specifické nastavení (%n minuty do další aktualizace)</numerusform>
<numerusform>používá specifické nastavení (%n minut do další aktualizace)</numerusform>
</translation>
</message>
<message>
<source>%1 (%2)%3
@ -459,7 +485,11 @@ Automatický update: %5</translation>
<message numerus="yes">
<source>%n unread message(s).</source>
<extracomment>Tooltip for &quot;unread&quot; column of feed list.</extracomment>
<translation><numerusform>%n nepřečtená zpráva.</numerusform><numerusform>%n nepřečtené zprávy.</numerusform><numerusform>%n nepřečtených zpráv.</numerusform></translation>
<translation>
<numerusform>%n nepřečtená zpráva.</numerusform>
<numerusform>%n nepřečtené zprávy.</numerusform>
<numerusform>%n nepřečtených zpráv.</numerusform>
</translation>
</message>
<message>
<source>Metadata not fetched</source>
@ -568,7 +598,11 @@ Automatický update: %5</translation>
</message>
<message numerus="yes">
<source>I will auto-update %n feed(s).</source>
<translation><numerusform>Budu aktualizovat %n kanál.</numerusform><numerusform>Budu aktualizovat %n kanály.</numerusform><numerusform>Budu aktualizovat %n kanálů.</numerusform></translation>
<translation>
<numerusform>Budu aktualizovat %n kanál.</numerusform>
<numerusform>Budu aktualizovat %n kanály.</numerusform>
<numerusform>Budu aktualizovat %n kanálů.</numerusform>
</translation>
</message>
</context>
<context>
@ -952,7 +986,11 @@ Automatický update: %5</translation>
</message>
<message numerus="yes">
<source> day(s)</source>
<translation><numerusform> den</numerusform><numerusform> dny</numerusform><numerusform> dnů</numerusform></translation>
<translation>
<numerusform> den</numerusform>
<numerusform> dny</numerusform>
<numerusform> dnů</numerusform>
</translation>
</message>
<message>
<source>Shrink database file</source>
@ -1055,7 +1093,7 @@ Automatický update: %5</translation>
</message>
<message>
<source>URL</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<source>Fetch it now</source>
@ -1862,7 +1900,7 @@ Automatický update: %5</translation>
</message>
<message>
<source>Proxy</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<source>Icons &amp;&amp; skins</source>
@ -1891,7 +1929,7 @@ Automatický update: %5</translation>
</message>
<message>
<source>Port</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<source>Username</source>
@ -1927,15 +1965,15 @@ Automatický update: %5</translation>
</message>
<message>
<source>Email</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<source>Socks5</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<source>Http</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<source> (not supported on this platform)</source>
@ -2160,7 +2198,7 @@ Autoři této aplikace nenesou žádnou odpovědnost za ztrátu Vašich dat.</tr
</message>
<message>
<source> ms</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<source>Update all feed on application startup</source>
@ -2451,7 +2489,7 @@ File filter for external e-mail selection dialog.</extracomment>
</message>
<message>
<source>Mozilla Thunderbird</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<source>Working database which you have full access to.</source>
@ -2657,7 +2695,7 @@ Přejít na web aplikace a stáhnout jej ručně.</translation>
<name>MessagesModel</name>
<message>
<source>Id</source>
<translation type="unfinished"/>
<translation type="unfinished"></translation>
</message>
<message>
<source>Read</source>
@ -2681,7 +2719,7 @@ Přejít na web aplikace a stáhnout jej ručně.</translation>
</message>
<message>
<source>Url</source>
<translation type="unfinished"/>
<translation type="unfinished"></translation>
</message>
<message>
<source>Author</source>
@ -2964,7 +3002,11 @@ Přejít na web aplikace a stáhnout jej ručně.</translation>
</message>
<message numerus="yes">
<source>%n deleted message(s).</source>
<translation><numerusform>%n smazaná zpráva.</numerusform><numerusform>%n smazané zprávy.</numerusform><numerusform>%n smazaných zpráv.</numerusform></translation>
<translation>
<numerusform>%n smazaná zpráva.</numerusform>
<numerusform>%n smazané zprávy.</numerusform>
<numerusform>%n smazaných zpráv.</numerusform>
</translation>
</message>
</context>
<context>
@ -3321,4 +3363,4 @@ Nepřečtené zprávy: %2</translation>
<translation>Hledat &quot;%1&quot; přes Google...</translation>
</message>
</context>
</TS>
</TS>

View File

@ -64,27 +64,9 @@ class RootItem : public QObject {
explicit RootItem(RootItem *parent_item = NULL);
virtual ~RootItem();
// Basic operations.
inline virtual RootItem *parent() const {
return m_parentItem;
}
inline virtual void setParent(RootItem *parent_item) {
m_parentItem = parent_item;
}
inline virtual RootItem *child(int row) {
return m_childItems.value(row);
}
inline virtual int childCount() const {
return m_childItems.size();
}
inline virtual void appendChild(RootItem *child) {
m_childItems.append(child);
child->setParent(this);
}
/////////////////////////////////////////
// /* Members to override.
/////////////////////////////////////////
// Returns list of specific actions which can be done with the item.
// Do not include general actions here like actions:
@ -118,6 +100,32 @@ class RootItem : public QObject {
virtual int countOfUnreadMessages() const;
virtual int countOfAllMessages() const;
/////////////////////////////////////////
// Members to override. */
/////////////////////////////////////////
// Basic operations.
inline RootItem *parent() const {
return m_parentItem;
}
inline void setParent(RootItem *parent_item) {
m_parentItem = parent_item;
}
inline RootItem *child(int row) {
return m_childItems.value(row);
}
inline int childCount() const {
return m_childItems.size();
}
inline void appendChild(RootItem *child) {
m_childItems.append(child);
child->setParent(this);
}
// Access to children.
inline QList<RootItem*> childItems() const {
return m_childItems;

View File

@ -126,7 +126,7 @@ void FormAbout::loadLicenseAndInformation() {
m_ui->m_txtInfo->setText(tr("<body>%5 is a (very) tiny feed reader."
"<br><br>This software is distributed under the terms of GNU General Public License, version 3."
"<br><br>Contacts:"
"<ul><li><a href=\"mailto://%1\">%1</a> ~email</li>"
"<ul><li><a href=\"mailto://%1\">%1</a> ~e-mail</li>"
"<li><a href=\"%2\">%2</a> ~website</li></ul>"
"You can obtain source code for %5 from its website."
"<br><br><br>Copyright (C) 2011-%3 %4</body>").arg(APP_EMAIL,

View File

@ -84,7 +84,7 @@ FormSettings::FormSettings(QWidget *parent) : QDialog(parent), m_ui(new Ui::Form
<< /*: Skin list name column. */ tr("Name")
<< /*: Version column of skin list. */ tr("Version")
<< tr("Author")
<< tr("Email"));
<< tr("E-mail"));
#if QT_VERSION >= 0x050000
// Setup languages.

View File

@ -88,7 +88,7 @@
<item row="0" column="1">
<widget class="QStackedWidget" name="m_stackedSettings">
<property name="currentIndex">
<number>3</number>
<number>0</number>
</property>
<widget class="QWidget" name="m_pageGeneral">
<layout class="QFormLayout" name="formLayout_5">

View File

@ -29,12 +29,3 @@ Feed::Feed(RootItem *parent) : RootItem(parent) {
Feed::~Feed() {
}
int Feed::childCount() const {
// Because feed has no children.
return 0;
}
void Feed::appendChild(RootItem *child) {
Q_UNUSED(child)
}

View File

@ -50,12 +50,6 @@ class Feed : public RootItem {
explicit Feed(RootItem *parent = NULL);
virtual ~Feed();
// Returns 0, feeds have no children.
int childCount() const;
// Appending of childs to feed is not allowed.
void appendChild(RootItem *child);
// Performs synchronous update and returns number of newly updated messages.
virtual int update() = 0;

View File

@ -38,7 +38,6 @@
#include <QSqlQuery>
#include <QSqlError>
#include <QStack>
#include <QCoreApplication>
#include <QAction>
#include <QPointer>
@ -47,6 +46,7 @@ StandardServiceRoot::StandardServiceRoot(bool load_from_db, FeedsModel *feeds_mo
: ServiceRoot(feeds_model, parent), m_recycleBin(new StandardRecycleBin(this)),
m_actionExportFeeds(NULL), m_actionImportFeeds(NULL), m_serviceMenu(QList<QAction*>()),
m_addItemMenu(QList<QAction*>()), m_feedContextMenu(QList<QAction*>()), m_actionFeedFetchMetadata(NULL) {
setTitle(qApp->system()->getUsername() + QL1S("@") + QL1S(APP_LOW_NAME));
setIcon(StandardServiceEntryPoint().icon());
setDescription(tr("This is obligatory service account for standard RSS/RDF/ATOM feeds."));
@ -65,9 +65,9 @@ StandardServiceRoot::~StandardServiceRoot() {
void StandardServiceRoot::start() {
if (qApp->isFirstRun()) {
if (MessageBox::show(qApp->mainForm(), QMessageBox::Question, QObject::tr("Load initial feeds"),
QObject::tr("You started %1 for the first time, now you can load initial set of feeds.").arg(APP_NAME),
QObject::tr("Do you want to load initial set of feeds?"),
if (MessageBox::show(qApp->mainForm(), QMessageBox::Question, QObject::tr("Load initial set of feeds"),
tr("You started %1 for the first time, now you can load initial set of feeds.").arg(APP_NAME),
tr("Do you want to load initial set of feeds?"),
QString(), QMessageBox::Yes | QMessageBox::No) == QMessageBox::Yes) {
QString target_opml_file = APP_INITIAL_FEEDS_PATH + QDir::separator() + FEED_INITIAL_OPML_PATTERN;
QString current_locale = qApp->localization()->loadedLanguage();
@ -98,7 +98,7 @@ void StandardServiceRoot::start() {
}
void StandardServiceRoot::stop() {
qDebug("Stopping StandardServiceRoot instance.");
}
bool StandardServiceRoot::canBeEdited() {

View File

@ -43,6 +43,7 @@ class StandardServiceRoot : public ServiceRoot {
explicit StandardServiceRoot(bool load_from_db, FeedsModel *feeds_model, RootItem *parent = NULL);
virtual ~StandardServiceRoot();
// Start/stop root.
void start();
void stop();