diff --git a/src/ui/QGCParamWidget.cc b/src/ui/QGCParamWidget.cc
index f43096eb10e116541df4b425342dd8b66905e0af..0e5c0eab0cfe124119a549e439178ffffdedb8eb 100644
--- a/src/ui/QGCParamWidget.cc
+++ b/src/ui/QGCParamWidget.cc
@@ -82,6 +82,8 @@ QGCParamWidget::QGCParamWidget(UASInterface* uas, QWidget *parent) :
 
     // Connect signals/slots
     connect(this, SIGNAL(parameterChanged(int,QString,float)), mav, SLOT(setParameter(int,QString,float)));
+    connect(tree, SIGNAL(currentItemChanged(QTreeWidgetItem*,QTreeWidgetItem*)), this, SLOT(parameterItemChanged(QTreeWidgetItem*,QTreeWidgetItem*)));
+
     // New parameters from UAS
     connect(uas, SIGNAL(parameterChanged(int,int,QString,float)), this, SLOT(addParameter(int,int,QString,float)));
 }
@@ -156,6 +158,15 @@ void QGCParamWidget::requestParameterList()
     mav->requestParameters();
 }
 
+void QGCParamWidget::parameterItemChanged(QTreeWidgetItem* prev, QTreeWidgetItem* curr)
+{
+    int key;
+    if (!changedValues->contains(key))
+    {
+
+    }
+}
+
 /**
  * @param component the subsystem which has the parameter
  * @param parameterName name of the parameter, as delivered by the system
diff --git a/src/ui/QGCParamWidget.h b/src/ui/QGCParamWidget.h
index 43f766a94673c128bcb26c2f78e5ec57302ba884..b4f93c8f0577f44669d49589815ae4ab376b5d1c 100644
--- a/src/ui/QGCParamWidget.h
+++ b/src/ui/QGCParamWidget.h
@@ -67,10 +67,13 @@ public slots:
     void writeParameters();
     /** @brief Clear the parameter list */
     void clear();
+    /** @brief Update when user changes parameters */
+    void parameterItemChanged(QTreeWidgetItem* prev, QTreeWidgetItem* curr);
 protected:
     UASInterface* mav;  ///< The MAV this widget is controlling
     QTreeWidget* tree;  ///< The parameter tree
     QMap<int, QTreeWidgetItem*>* components; ///< The list of components
+    QMap<int, QMap<QString, float> >* changedValues; ///< Changed values
 
 };