From 1be6bf3f4a57c5065df1d85a9f14c024687eb97e Mon Sep 17 00:00:00 2001 From: Martin Rotter Date: Tue, 31 Dec 2013 18:03:30 +0100 Subject: [PATCH] Some refacts. --- src/gui/feedsview.cpp | 10 +++------- src/gui/formcategorydetails.cpp | 11 ++++++----- src/gui/formcategorydetails.h | 12 +++++++++--- 3 files changed, 18 insertions(+), 15 deletions(-) diff --git a/src/gui/feedsview.cpp b/src/gui/feedsview.cpp index 7f79d7f35..242c05ae7 100644 --- a/src/gui/feedsview.cpp +++ b/src/gui/feedsview.cpp @@ -78,14 +78,10 @@ void FeedsView::clearSelectedFeeds() { } void FeedsView::addNewCategory() { - QPointer form_pointer = new FormCategoryDetails(m_sourceModel, - this); - FeedsModelCategory *output_item; - FeedsModelRootItem *parent_item; + QPointer form_pointer = new FormCategoryDetails(m_sourceModel, this); + FormCategoryDetailsAnswer answer = form_pointer.data()->exec(NULL, NULL); - if (form_pointer.data()->exec(NULL, - output_item, - parent_item) == QDialog::Accepted) { + if (answer.m_dialogCode == QDialog::Accepted) { // User submitted some new category and // it now resides in output_item pointer, // parent_item contains parent_that user selected for diff --git a/src/gui/formcategorydetails.cpp b/src/gui/formcategorydetails.cpp index f6a3581f4..1984324aa 100644 --- a/src/gui/formcategorydetails.cpp +++ b/src/gui/formcategorydetails.cpp @@ -35,9 +35,10 @@ void FormCategoryDetails::setEditableCategory(FeedsModelCategory *editable_categ m_ui->m_btnIcon->setIcon(editable_category->icon()); } -int FormCategoryDetails::exec(FeedsModelCategory *input_category, - FeedsModelCategory *output_item, - FeedsModelRootItem *parent_item) { +FormCategoryDetailsAnswer FormCategoryDetails::exec(FeedsModelCategory *input_category, + FeedsModelCategory *input_parent_category) { + FormCategoryDetailsAnswer answer; + if (input_category == NULL) { // User is adding new category. } @@ -46,9 +47,9 @@ int FormCategoryDetails::exec(FeedsModelCategory *input_category, setEditableCategory(input_category); } - int result = QDialog::exec(); + answer.m_dialogCode = QDialog::exec(); - return result; + return answer; } void FormCategoryDetails::initialize() { diff --git a/src/gui/formcategorydetails.h b/src/gui/formcategorydetails.h index c1cac9305..da02437c2 100644 --- a/src/gui/formcategorydetails.h +++ b/src/gui/formcategorydetails.h @@ -14,6 +14,13 @@ class FeedsModelCategory; class FeedsModel; class FeedsModelRootItem; +class FormCategoryDetailsAnswer { + public: + int m_dialogCode; + FeedsModelCategory *m_outputItem; + FeedsModelRootItem *m_outputParentItem; +}; + class FormCategoryDetails : public QDialog { Q_OBJECT @@ -34,9 +41,8 @@ class FormCategoryDetails : public QDialog { // in the database. // NOTE: Newly EDITED category IS COPY of its original. // SO NO ORIGINAL MODEL DATA ARE EDITED OR CHANGED. - int exec(FeedsModelCategory *input_category, - FeedsModelCategory *output_item, - FeedsModelRootItem *parent_item); + FormCategoryDetailsAnswer exec(FeedsModelCategory *input_category, + FeedsModelCategory *input_parent_category); protected: // Sets the category which will be edited.