diff --git a/src/qcam/settings/control_frame.cpp b/src/qcam/settings/control_frame.cpp
index 9e38da37..d9c294a2 100644
--- a/src/qcam/settings/control_frame.cpp
+++ b/src/qcam/settings/control_frame.cpp
@@ -93,6 +93,19 @@ QWidget *ControlFrame::controlInteraction(QWidget *parent)
 		SliderLayout *fSliderLayout = new SliderLayout(floatSlider_, this);
 		return fSliderLayout;
 	}
+	case ControlTypeInteger32: {
+		intSlider_ = new Slider(this);
+		intSlider_->setRange(controlInfo_.min().get<int32_t>(),
+				     controlInfo_.max().get<int32_t>());
+		intSlider_->setValue(controlInfo_.def().get<int32_t>());
+		intSlider_->setOrientation(Qt::Orientation::Horizontal);
+
+		connect(intSlider_, &Slider::valueChanged,
+			this, &ControlFrame::notifyControlChange);
+
+		SliderLayout *iSliderLayout = new SliderLayout(intSlider_, this);
+		return iSliderLayout;
+	}
 	default:
 		return (new QLabel("Currently Unavailable"));
 	}
@@ -162,6 +175,9 @@ void ControlFrame::notifyControlChange()
 	case ControlTypeFloat:
 		controlValue.set<float>(floatSlider_->value());
 		break;
+	case ControlTypeInteger32:
+		controlValue.set<int32_t>(intSlider_->value());
+		break;
 	default:
 		/* Nothing to emit so return */
 		return;
diff --git a/src/qcam/settings/control_frame.h b/src/qcam/settings/control_frame.h
index e9e256aa..205bb96b 100644
--- a/src/qcam/settings/control_frame.h
+++ b/src/qcam/settings/control_frame.h
@@ -47,6 +47,7 @@ private:
 	QCheckBox *controlCheckBox_;
 	QLabel *currentValue_;
 	FloatSlider *floatSlider_;
+	Slider *intSlider_;
 
 	/* Helper Hunctions */
 	QString getDefaultValueQStr();
