[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