diff --git a/DSView/icons/add_dis.png b/DSView/icons/add_dis.png
new file mode 100755
index 00000000..b0349001
Binary files /dev/null and b/DSView/icons/add_dis.png differ
diff --git a/DSView/icons/arrow-loop.png b/DSView/icons/arrow-loop.png
new file mode 100755
index 00000000..d3df3243
Binary files /dev/null and b/DSView/icons/arrow-loop.png differ
diff --git a/DSView/icons/del_dis.png b/DSView/icons/del_dis.png
new file mode 100755
index 00000000..d4f418c3
Binary files /dev/null and b/DSView/icons/del_dis.png differ
diff --git a/DSView/icons/logo.svg b/DSView/icons/logo.svg
new file mode 100755
index 00000000..b713c304
--- /dev/null
+++ b/DSView/icons/logo.svg
@@ -0,0 +1,11 @@
+
+
+
diff --git a/DSView/icons/logo_128.png b/DSView/icons/logo_128.png
new file mode 100755
index 00000000..0d46a075
Binary files /dev/null and b/DSView/icons/logo_128.png differ
diff --git a/DSView/icons/logo_16.png b/DSView/icons/logo_16.png
new file mode 100755
index 00000000..67042eb3
Binary files /dev/null and b/DSView/icons/logo_16.png differ
diff --git a/DSView/icons/logo_256.png b/DSView/icons/logo_256.png
new file mode 100755
index 00000000..ca65932d
Binary files /dev/null and b/DSView/icons/logo_256.png differ
diff --git a/DSView/icons/logo_32.png b/DSView/icons/logo_32.png
new file mode 100755
index 00000000..ed7b1a4e
Binary files /dev/null and b/DSView/icons/logo_32.png differ
diff --git a/DSView/icons/logo_48.png b/DSView/icons/logo_48.png
new file mode 100755
index 00000000..eb8b4162
Binary files /dev/null and b/DSView/icons/logo_48.png differ
diff --git a/DSView/icons/logo_64.png b/DSView/icons/logo_64.png
new file mode 100755
index 00000000..8691e890
Binary files /dev/null and b/DSView/icons/logo_64.png differ
diff --git a/DSView/icons/moder.png b/DSView/icons/moder.png
new file mode 100755
index 00000000..d94f826a
Binary files /dev/null and b/DSView/icons/moder.png differ
diff --git a/DSView/icons/moder_dis.png b/DSView/icons/moder_dis.png
new file mode 100755
index 00000000..8bc44721
Binary files /dev/null and b/DSView/icons/moder_dis.png differ
diff --git a/DSView/icons/modes.png b/DSView/icons/modes.png
new file mode 100755
index 00000000..c8e465ce
Binary files /dev/null and b/DSView/icons/modes.png differ
diff --git a/DSView/icons/modes_dis.png b/DSView/icons/modes_dis.png
new file mode 100755
index 00000000..375a2a50
Binary files /dev/null and b/DSView/icons/modes_dis.png differ
diff --git a/DSView/icons/nav.png b/DSView/icons/nav.png
new file mode 100755
index 00000000..03f1f605
Binary files /dev/null and b/DSView/icons/nav.png differ
diff --git a/DSView/icons/oneloop.png b/DSView/icons/oneloop.png
new file mode 100755
index 00000000..9a03ebb3
Binary files /dev/null and b/DSView/icons/oneloop.png differ
diff --git a/DSView/icons/repeat.png b/DSView/icons/repeat.png
new file mode 100755
index 00000000..d68d4edb
Binary files /dev/null and b/DSView/icons/repeat.png differ
diff --git a/DSView/pv/dialogs/interval.cpp b/DSView/pv/dialogs/interval.cpp
new file mode 100755
index 00000000..4425f8ef
--- /dev/null
+++ b/DSView/pv/dialogs/interval.cpp
@@ -0,0 +1,75 @@
+/*
+ * This file is part of the DSView project.
+ * DSView is based on PulseView.
+ *
+ * Copyright (C) 2016 DreamSourceLab
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include "interval.h"
+
+#include
+
+namespace pv {
+namespace dialogs {
+
+Interval::Interval(SigSession &session, QWidget *parent) :
+ _session(session),
+ DSDialog(parent),
+ _button_box(QDialogButtonBox::Ok,
+ Qt::Horizontal, this)
+{
+ setMinimumWidth(300);
+ _interval_label = new QLabel(tr("Interval(s): "), this);
+ _interval_spinBox = new QSpinBox(this);
+ _interval_spinBox->setRange(1, 10);
+ _interval_spinBox->setButtonSymbols(QAbstractSpinBox::NoButtons);
+ _interval_slider = new QSlider(Qt::Horizontal, this);
+ _interval_slider->setRange(1, 10);
+ connect(_interval_slider, SIGNAL(valueChanged(int)), _interval_spinBox, SLOT(setValue(int)));
+ connect(_interval_spinBox, SIGNAL(valueChanged(int)), _interval_slider, SLOT(setValue(int)));
+
+ _interval_slider->setValue(_session.get_repeat_intvl());
+
+ QGridLayout *glayout = new QGridLayout(this);
+ glayout->addWidget(_interval_label, 0, 0);
+ glayout->addWidget(_interval_spinBox, 0, 1);
+ glayout->addWidget(_interval_slider, 1, 0, 1, 3);
+ glayout->addWidget(&_button_box, 2, 2);
+
+ layout()->addLayout(glayout);
+ setTitle(tr("Repetitive Interval"));
+
+ connect(&_button_box, SIGNAL(accepted()), this, SLOT(accept()));
+}
+
+void Interval::accept()
+{
+ using namespace Qt;
+ _session.set_repeat_intvl(_interval_slider->value());
+ QDialog::accept();
+}
+
+void Interval::reject()
+{
+ using namespace Qt;
+
+ QDialog::reject();
+}
+
+
+} // namespace dialogs
+} // namespace pv
diff --git a/DSView/pv/dialogs/interval.h b/DSView/pv/dialogs/interval.h
new file mode 100755
index 00000000..86e42ade
--- /dev/null
+++ b/DSView/pv/dialogs/interval.h
@@ -0,0 +1,62 @@
+/*
+ * This file is part of the DSView project.
+ * DSView is based on PulseView.
+ *
+ * Copyright (C) 2016 DreamSourceLab
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+
+#ifndef DSVIEW_PV_INTERVAL_H
+#define DSVIEW_PV_INTERVAL_H
+
+#include
+#include
+#include
+#include
+
+#include "../sigsession.h"
+#include "../toolbars/titlebar.h"
+#include "dsdialog.h"
+
+namespace pv {
+namespace dialogs {
+
+class Interval : public DSDialog
+{
+ Q_OBJECT
+
+public:
+ Interval(SigSession &session, QWidget *parent);
+
+protected:
+ void accept();
+ void reject();
+
+private:
+ SigSession &_session;
+
+ QLabel *_interval_label;
+ QSpinBox *_interval_spinBox;
+ QSlider *_interval_slider;
+
+ QDialogButtonBox _button_box;
+};
+
+} // namespace dialogs
+} // namespace pv
+
+#endif // DSVIEW_PV_INTERVAL_H