[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [krecipes] src/dialogs/recipeinput: Update nutrient info status to 'Unknown' when editing ingredient
From: José_Manuel_Santamaría_Lema <panfaust () gmail ! com>
Date: 2016-03-30 13:36:11
Message-ID: E1alGI7-0002d7-Nm () scm ! kde ! org
[Download RAW message or body]
Git commit 7684df8132bcb32d9cd3f79ffeb0861e8afc35b6 by José Manuel Santamaría Lema.
Committed on 30/03/2016 at 12:15.
Pushed by joselema into branch 'master'.
Update nutrient info status to 'Unknown' when editing ingredients.
M +12 -0 src/dialogs/recipeinput/ingredientseditor.cpp
M +3 -0 src/dialogs/recipeinput/ingredientseditor.h
M +14 -1 src/dialogs/recipeinput/nutrientinfostatuswidget.cpp
M +3 -1 src/dialogs/recipeinput/nutrientinfostatuswidget.h
M +21 -3 src/dialogs/recipeinput/nutrientinfostatuswidget.ui
http://commits.kde.org/krecipes/7684df8132bcb32d9cd3f79ffeb0861e8afc35b6
diff --git a/src/dialogs/recipeinput/ingredientseditor.cpp \
b/src/dialogs/recipeinput/ingredientseditor.cpp index d502ab8..4b6a06a 100644
--- a/src/dialogs/recipeinput/ingredientseditor.cpp
+++ b/src/dialogs/recipeinput/ingredientseditor.cpp
@@ -75,9 +75,15 @@ IngredientsEditor::IngredientsEditor( QWidget * parent)
connect( ui->m_treeView, SIGNAL(doubleClicked(const QModelIndex&)),
this, SIGNAL(changed()) );
+ connect( m_sourceModel, SIGNAL(itemChanged(QStandardItem*)),
+ this, SLOT(itemChangedSlot(QStandardItem*)) );
+
connect( m_nutrientInfoDetailsDialog, SIGNAL(updateRequested()),
this, SLOT(updateNutrientInfoDetailsSlot()) );
+ connect( ui->m_nutrientInfoStatusWidget, SIGNAL(updateButtonClicked()),
+ this, SLOT(updateNutrientInfoDetailsSlot()) );
+
connect( ui->m_nutrientInfoStatusWidget, SIGNAL(detailsButtonClicked()),
this, SLOT(nutrientInfoDetailsSlot()) );
}
@@ -558,6 +564,12 @@ void IngredientsEditor::nutrientInfoDetailsSlot()
m_nutrientInfoDetailsDialog->show();
}
+void IngredientsEditor::itemChangedSlot( QStandardItem * item )
+{
+ Q_UNUSED(item)
+ ui->m_nutrientInfoStatusWidget->setStatus( NutrientInfo::Unknown );
+}
+
Ingredient IngredientsEditor::readIngredientFromRow( int row )
{
Ingredient ingredient;
diff --git a/src/dialogs/recipeinput/ingredientseditor.h \
b/src/dialogs/recipeinput/ingredientseditor.h index 16fe8c6..50f8164 100644
--- a/src/dialogs/recipeinput/ingredientseditor.h
+++ b/src/dialogs/recipeinput/ingredientseditor.h
@@ -24,6 +24,7 @@ class NutrientInfoDetailsDialog;
class QStandardItemModel;
class QModelIndex;
+class QStandardItem;
namespace Ui{
@@ -78,6 +79,8 @@ private slots:
void nutrientInfoDetailsSlot();
+ void itemChangedSlot( QStandardItem * item );
+
private:
void setRowData( int row, const Ingredient & ingredient );
void setRowData( int row, const Element & header );
diff --git a/src/dialogs/recipeinput/nutrientinfostatuswidget.cpp \
b/src/dialogs/recipeinput/nutrientinfostatuswidget.cpp index c258f2b..ed4318d 100644
--- a/src/dialogs/recipeinput/nutrientinfostatuswidget.cpp
+++ b/src/dialogs/recipeinput/nutrientinfostatuswidget.cpp
@@ -20,6 +20,9 @@ NutrientInfoStatusWidget::NutrientInfoStatusWidget( QWidget * \
parent )
connect( ui->m_detailsButton, SIGNAL(clicked()),
this, SIGNAL(detailsButtonClicked()) );
+
+ connect( ui->m_updateButton, SIGNAL(clicked()),
+ this, SIGNAL(updateButtonClicked()) );
}
void NutrientInfoStatusWidget::setStatus( NutrientInfo::Status status )
@@ -30,17 +33,27 @@ void NutrientInfoStatusWidget::setStatus( NutrientInfo::Status \
status ) "@info Property information for a recipe is complete",
"Complete") );
ui->m_detailsButton->setVisible(false);
+ ui->m_updateButton->setVisible(false);
} else if ( status == NutrientInfo::Intermediate ) {
ui->m_statusLed->setColor( Qt::yellow );
ui->m_statusLabel->setText( i18nc(
"@info Property information for a recipe is complete, but...",
"Complete, but approximations made") );
ui->m_detailsButton->setVisible(true);
- } else {
+ ui->m_updateButton->setVisible(false);
+ } else if (status == NutrientInfo::Incomplete ) {
ui->m_statusLed->setColor( Qt::red );
ui->m_statusLabel->setText( i18nc(
"@info Property information for a recipe is incomplete",
"Incomplete") );
ui->m_detailsButton->setVisible(true);
+ ui->m_updateButton->setVisible(false);
+ } else {
+ ui->m_statusLed->setColor( Qt::gray );
+ ui->m_statusLabel->setText( i18nc(
+ "@info Property information for a recipe is unknown",
+ "Unknown") );
+ ui->m_detailsButton->setVisible(false);
+ ui->m_updateButton->setVisible(true);
}
}
diff --git a/src/dialogs/recipeinput/nutrientinfostatuswidget.h \
b/src/dialogs/recipeinput/nutrientinfostatuswidget.h index eebd55b..d01d170 100644
--- a/src/dialogs/recipeinput/nutrientinfostatuswidget.h
+++ b/src/dialogs/recipeinput/nutrientinfostatuswidget.h
@@ -20,7 +20,8 @@ namespace NutrientInfo {
enum Status {
Complete=0,
Intermediate=1,
- Incomplete=2
+ Incomplete=2,
+ Unknown=3
};
}
@@ -35,6 +36,7 @@ public:
signals:
void detailsButtonClicked();
+ void updateButtonClicked();
private:
Ui::NutrientInfoStatusWidget * ui;
diff --git a/src/dialogs/recipeinput/nutrientinfostatuswidget.ui \
b/src/dialogs/recipeinput/nutrientinfostatuswidget.ui index c97676f..9759efe 100644
--- a/src/dialogs/recipeinput/nutrientinfostatuswidget.ui
+++ b/src/dialogs/recipeinput/nutrientinfostatuswidget.ui
@@ -6,12 +6,12 @@
<rect>
<x>0</x>
<y>0</y>
- <width>320</width>
- <height>29</height>
+ <width>414</width>
+ <height>32</height>
</rect>
</property>
<property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Minimum">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@@ -63,10 +63,28 @@
</widget>
</item>
<item>
+ <widget class="KPushButton" name="m_updateButton">
+ <property name="text">
+ <string>Update</string>
+ </property>
+ <property name="icon">
+ <iconset theme="view-refresh">
+ <normaloff/>
+ </iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
<widget class="KPushButton" name="m_detailsButton">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
<property name="text">
<string>Details...</string>
</property>
+ <property name="icon">
+ <iconset theme="dialog-information"/>
+ </property>
</widget>
</item>
</layout>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic