Some fixes for parsing.
This commit is contained in:
parent
f712ae1cf7
commit
42b88b8db7
|
@ -73,7 +73,7 @@ QList<Message> ParsingFactory::parseAsATOM10(const QString &data) {
|
||||||
for (int i = 0; i < elem_links.size(); i++) {
|
for (int i = 0; i < elem_links.size(); i++) {
|
||||||
QDomElement link = elem_links.at(i).toElement();
|
QDomElement link = elem_links.at(i).toElement();
|
||||||
|
|
||||||
if (link.attribute(QSL("rel")) == QL1S("enclosure")) {
|
if (link.attribute(QSL("rel")) == QSL("enclosure")) {
|
||||||
new_message.m_enclosures.append(Enclosure(link.attribute(QSL("href")), link.attribute(QSL("type"))));
|
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));
|
qDebug("Adding enclosure '%s' for the message.", qPrintable(new_message.m_enclosures.last().m_url));
|
||||||
|
|
|
@ -45,7 +45,8 @@ FeedsView::FeedsView(QWidget *parent)
|
||||||
: QTreeView(parent),
|
: QTreeView(parent),
|
||||||
m_contextMenuCategories(NULL),
|
m_contextMenuCategories(NULL),
|
||||||
m_contextMenuFeeds(NULL),
|
m_contextMenuFeeds(NULL),
|
||||||
m_contextMenuEmptySpace(NULL) {
|
m_contextMenuEmptySpace(NULL),
|
||||||
|
m_contextMenuOtherItems(NULL) {
|
||||||
setObjectName(QSL("FeedsView"));
|
setObjectName(QSL("FeedsView"));
|
||||||
|
|
||||||
// Allocate models.
|
// Allocate models.
|
||||||
|
@ -460,7 +461,7 @@ void FeedsView::selectPreviousItem() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void FeedsView::initializeContextMenuCategories(RootItem *clicked_item) {
|
QMenu *FeedsView::initializeContextMenuCategories(RootItem *clicked_item) {
|
||||||
if (m_contextMenuCategories == NULL) {
|
if (m_contextMenuCategories == NULL) {
|
||||||
m_contextMenuCategories = new QMenu(tr("Context menu for categories"), this);
|
m_contextMenuCategories = new QMenu(tr("Context menu for categories"), this);
|
||||||
}
|
}
|
||||||
|
@ -482,9 +483,11 @@ void FeedsView::initializeContextMenuCategories(RootItem *clicked_item) {
|
||||||
m_contextMenuCategories->addSeparator();
|
m_contextMenuCategories->addSeparator();
|
||||||
m_contextMenuCategories->addActions(specific_actions);
|
m_contextMenuCategories->addActions(specific_actions);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return m_contextMenuCategories;
|
||||||
}
|
}
|
||||||
|
|
||||||
void FeedsView::initializeContextMenuFeeds(RootItem *clicked_item) {
|
QMenu *FeedsView::initializeContextMenuFeeds(RootItem *clicked_item) {
|
||||||
if (m_contextMenuFeeds == NULL) {
|
if (m_contextMenuFeeds == NULL) {
|
||||||
m_contextMenuFeeds = new QMenu(tr("Context menu for categories"), this);
|
m_contextMenuFeeds = new QMenu(tr("Context menu for categories"), this);
|
||||||
}
|
}
|
||||||
|
@ -506,14 +509,41 @@ void FeedsView::initializeContextMenuFeeds(RootItem *clicked_item) {
|
||||||
m_contextMenuFeeds->addSeparator();
|
m_contextMenuFeeds->addSeparator();
|
||||||
m_contextMenuFeeds->addActions(specific_actions);
|
m_contextMenuFeeds->addActions(specific_actions);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return m_contextMenuFeeds;
|
||||||
}
|
}
|
||||||
|
|
||||||
void FeedsView::initializeContextMenuEmptySpace() {
|
QMenu *FeedsView::initializeContextMenuEmptySpace() {
|
||||||
|
if (m_contextMenuEmptySpace == NULL) {
|
||||||
m_contextMenuEmptySpace = new QMenu(tr("Context menu for empty space"), this);
|
m_contextMenuEmptySpace = new QMenu(tr("Context menu for empty space"), this);
|
||||||
m_contextMenuEmptySpace->addAction(qApp->mainForm()->m_ui->m_actionUpdateAllItems);
|
m_contextMenuEmptySpace->addAction(qApp->mainForm()->m_ui->m_actionUpdateAllItems);
|
||||||
m_contextMenuEmptySpace->addSeparator();
|
m_contextMenuEmptySpace->addSeparator();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return m_contextMenuEmptySpace;
|
||||||
|
}
|
||||||
|
|
||||||
|
QMenu *FeedsView::initializeContextMenuOtherItem(RootItem *clicked_item) {
|
||||||
|
if (m_contextMenuOtherItems == NULL) {
|
||||||
|
m_contextMenuOtherItems = new QMenu(tr("Context menu for other items"), this);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
m_contextMenuOtherItems->clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
QList<QAction*> specific_actions = clicked_item->contextMenuActions();
|
||||||
|
|
||||||
|
if (!specific_actions.isEmpty()) {
|
||||||
|
m_contextMenuOtherItems->addSeparator();
|
||||||
|
m_contextMenuOtherItems->addActions(specific_actions);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
m_contextMenuOtherItems->addAction(qApp->mainForm()->m_ui->m_actionNoActions);
|
||||||
|
}
|
||||||
|
|
||||||
|
return m_contextMenuOtherItems;
|
||||||
|
}
|
||||||
|
|
||||||
void FeedsView::setupAppearance() {
|
void FeedsView::setupAppearance() {
|
||||||
#if QT_VERSION >= 0x050000
|
#if QT_VERSION >= 0x050000
|
||||||
// Setup column resize strategies.
|
// Setup column resize strategies.
|
||||||
|
@ -573,27 +603,21 @@ void FeedsView::contextMenuEvent(QContextMenuEvent *event) {
|
||||||
|
|
||||||
if (clicked_item->kind() == RootItemKind::Category) {
|
if (clicked_item->kind() == RootItemKind::Category) {
|
||||||
// Display context menu for categories.
|
// Display context menu for categories.
|
||||||
initializeContextMenuCategories(clicked_item);
|
initializeContextMenuCategories(clicked_item)->exec(event->globalPos());
|
||||||
m_contextMenuCategories->exec(event->globalPos());
|
|
||||||
}
|
}
|
||||||
else if (clicked_item->kind() == RootItemKind::Feed) {
|
else if (clicked_item->kind() == RootItemKind::Feed) {
|
||||||
// Display context menu for feeds.
|
// Display context menu for feeds.
|
||||||
initializeContextMenuFeeds(clicked_item);
|
initializeContextMenuFeeds(clicked_item)->exec(event->globalPos());
|
||||||
m_contextMenuFeeds->exec(event->globalPos());
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// TODO: volaz specificke menu polozky? zobrazovat menu pro dalsi typy
|
// TODO: volaz specificke menu polozky? zobrazovat menu pro dalsi typy
|
||||||
// polozek jako odpadkovy kos atp.
|
// polozek jako odpadkovy kos atp.
|
||||||
|
initializeContextMenuOtherItem(clicked_item)->exec(event->globalPos());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// Display menu for empty space.
|
// Display menu for empty space.
|
||||||
if (m_contextMenuEmptySpace == NULL) {
|
initializeContextMenuEmptySpace()->exec(event->globalPos());
|
||||||
// Context menu is not initialized, initialize.
|
|
||||||
initializeContextMenuEmptySpace();
|
|
||||||
}
|
|
||||||
|
|
||||||
m_contextMenuEmptySpace->exec(event->globalPos());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -130,9 +130,10 @@ class FeedsView : public QTreeView {
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// Initializes context menus.
|
// Initializes context menus.
|
||||||
void initializeContextMenuCategories(RootItem *clicked_item);
|
QMenu *initializeContextMenuCategories(RootItem *clicked_item);
|
||||||
void initializeContextMenuFeeds(RootItem *clicked_item);
|
QMenu *initializeContextMenuFeeds(RootItem *clicked_item);
|
||||||
void initializeContextMenuEmptySpace();
|
QMenu *initializeContextMenuEmptySpace();
|
||||||
|
QMenu *initializeContextMenuOtherItem(RootItem *clicked_item);
|
||||||
|
|
||||||
// Sets up appearance of this widget.
|
// Sets up appearance of this widget.
|
||||||
void setupAppearance();
|
void setupAppearance();
|
||||||
|
@ -163,6 +164,7 @@ class FeedsView : public QTreeView {
|
||||||
QMenu *m_contextMenuCategories;
|
QMenu *m_contextMenuCategories;
|
||||||
QMenu *m_contextMenuFeeds;
|
QMenu *m_contextMenuFeeds;
|
||||||
QMenu *m_contextMenuEmptySpace;
|
QMenu *m_contextMenuEmptySpace;
|
||||||
|
QMenu *m_contextMenuOtherItems;
|
||||||
|
|
||||||
FeedsModel *m_sourceModel;
|
FeedsModel *m_sourceModel;
|
||||||
FeedsProxyModel *m_proxyModel;
|
FeedsProxyModel *m_proxyModel;
|
||||||
|
|
|
@ -34,7 +34,6 @@ TtRssServiceRoot::~TtRssServiceRoot() {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TtRssServiceRoot::editViaGui() {
|
bool TtRssServiceRoot::editViaGui() {
|
||||||
// TODO: zobrazit custom edit dialog pro ttrss
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue