Use QProcess::errorString instead
[nomnom.git] / src / feed / nfeeddialog_items.cpp
blobf01757a98cc85c5bfef74bcb95c5d9fc7b407e9d
1 /* NomNom
2 * Copyright (C) 2011 Toni Gundogdu <legatvs@gmail.com>
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 3 of the License, or
7 * (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 #include <QListWidgetItem>
19 #include <QListWidget>
20 #include <QVBoxLayout>
22 #include <NFeedDialog>
23 #include <NFeed>
25 extern nn::feed::NFeedList feedItems; // main.cpp
27 namespace nn
30 NFeedItems::NFeedItems(QWidget *parent/*=NULL*/)
31 : NFeedWidget(parent), _list(NULL)
34 // Widgets
36 _list = new QListWidget;
37 connect(_list, SIGNAL(itemSelectionChanged()), this, SLOT(itemSelected()));
39 // Layout
41 QVBoxLayout *box = new QVBoxLayout;
42 box->addWidget(_list);
43 box->addStretch(0);
44 setLayout(box);
47 static void to_list(QListWidget *w, const feed::NFeedItem& i)
49 QListWidgetItem *item = new QListWidgetItem(i.first);
50 item->setData(Qt::UserRole, i.second);
51 w->addItem(item);
54 void NFeedItems::init()
56 update(); // Restore any old results from last session.
59 void NFeedItems::update()
61 _list->clear();
62 foreach (const feed::NFeedItem i, feedItems)
64 to_list(_list, i);
68 void NFeedItems::itemSelected()
70 QListWidgetItem *c = _list->currentItem();
71 if (c)
72 emit selected(c->data(Qt::UserRole).toString());
75 } // namespace nn
77 /* vim: set ts=2 sw=2 tw=72 expandtab: */