From a671d2cf378c0e80cc57b7126be143c6761740fa Mon Sep 17 00:00:00 2001 From: Leonardo Robol Date: Mon, 24 Oct 2011 17:11:48 +0200 Subject: [PATCH] Adding new category is supported. --- Larss.pro | 9 +++-- include/editcategorydialog.h | 31 +++++++++++++++ include/mainwindow.h | 2 + larss/editcategorydialog.cpp | 22 +++++++++++ larss/mainwindow.cpp | 11 +++++- ui/editcategorydialog.ui | 89 ++++++++++++++++++++++++++++++++++++++++++++ ui/mainwindow.ui | 6 +++ 7 files changed, 166 insertions(+), 4 deletions(-) create mode 100644 include/editcategorydialog.h create mode 100644 larss/editcategorydialog.cpp create mode 100644 ui/editcategorydialog.ui diff --git a/Larss.pro b/Larss.pro index dd58d63..35dafc4 100644 --- a/Larss.pro +++ b/Larss.pro @@ -15,15 +15,18 @@ SOURCES += larss/main.cpp\ larss/feedmodel.cpp \ larss/rssparser.cpp \ larss/feedpoller.cpp \ - larss/editfeeddialog.cpp + larss/editfeeddialog.cpp \ + larss/editcategorydialog.cpp HEADERS += include/mainwindow.h \ include/feedmodel.h \ include/rssparser.h \ include/feedpoller.h \ - include/editfeeddialog.h + include/editfeeddialog.h \ + include/editcategorydialog.h FORMS += ui/mainwindow.ui \ - ui/editfeeddialog.ui + ui/editfeeddialog.ui \ + ui/editcategorydialog.ui INCLUDEPATH += ./include diff --git a/include/editcategorydialog.h b/include/editcategorydialog.h new file mode 100644 index 0000000..74662ab --- /dev/null +++ b/include/editcategorydialog.h @@ -0,0 +1,31 @@ +#ifndef EDITCATEGORYDIALOG_H +#define EDITCATEGORYDIALOG_H + +#include + +namespace Ui { + class EditCategoryDialog; +} + +namespace Larss { + + class EditCategoryDialog : public QDialog + { + Q_OBJECT + + public: + explicit EditCategoryDialog(QWidget *parent = 0); + ~EditCategoryDialog(); + + /** + * @brief Get the name of the category to be created. + */ + QString getCategoryName(); + + private: + Ui::EditCategoryDialog *ui; + }; + +} + +#endif // EDITCATEGORYDIALOG_H diff --git a/include/mainwindow.h b/include/mainwindow.h index e326cc0..dc628ec 100644 --- a/include/mainwindow.h +++ b/include/mainwindow.h @@ -32,6 +32,8 @@ private slots: void on_actionAdd_Feed_triggered(); + void on_actionAdd_Category_triggered(); + private: Ui::MainWindow *ui; void do_exit(); diff --git a/larss/editcategorydialog.cpp b/larss/editcategorydialog.cpp new file mode 100644 index 0000000..51a8c0e --- /dev/null +++ b/larss/editcategorydialog.cpp @@ -0,0 +1,22 @@ +#include "include/editcategorydialog.h" +#include "ui_editcategorydialog.h" + +using namespace Larss; + +EditCategoryDialog::EditCategoryDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::EditCategoryDialog) +{ + ui->setupUi(this); +} + +EditCategoryDialog::~EditCategoryDialog() +{ + delete ui; +} + +QString +EditCategoryDialog::getCategoryName() +{ + return ui->newCategoryName->text(); +} diff --git a/larss/mainwindow.cpp b/larss/mainwindow.cpp index d52f0f3..8e0610a 100644 --- a/larss/mainwindow.cpp +++ b/larss/mainwindow.cpp @@ -1,6 +1,7 @@ #include "mainwindow.h" #include "ui_mainwindow.h" #include "editfeeddialog.h" +#include "editcategorydialog.h" #include #include @@ -112,8 +113,16 @@ void Larss::MainWindow::on_actionAdd_Feed_triggered() Larss::EditFeedDialog dialog(this, feedModel); if (dialog.exec() == QDialog::Accepted) { - qDebug() << "Adding new feed"; feedModel->addFeed(dialog.getFeedName(), dialog.getFeedUrl(), dialog.getCategoryId()); } } + +void Larss::MainWindow::on_actionAdd_Category_triggered() +{ + Larss::EditCategoryDialog dialog(this); + if (dialog.exec() == QDialog::Accepted) + { + feedModel->addCategory(dialog.getCategoryName()); + } +} diff --git a/ui/editcategorydialog.ui b/ui/editcategorydialog.ui new file mode 100644 index 0000000..bba5ffa --- /dev/null +++ b/ui/editcategorydialog.ui @@ -0,0 +1,89 @@ + + + EditCategoryDialog + + + + 0 + 0 + 261 + 103 + + + + Dialog + + + + + + + + Insert the name of the new category + + + + + + + + + Name + + + + + + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + + + + buttonBox + accepted() + EditCategoryDialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + EditCategoryDialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/ui/mainwindow.ui b/ui/mainwindow.ui index 7247ffb..ead9dc2 100644 --- a/ui/mainwindow.ui +++ b/ui/mainwindow.ui @@ -98,6 +98,7 @@ File + @@ -115,6 +116,11 @@ Add Feed + + + Add Category + + -- 2.1.4