diff --git a/icons/add-button-disabled.png b/icons/add-button-disabled.png
deleted file mode 100644
index c7b22ddb4..000000000
Binary files a/icons/add-button-disabled.png and /dev/null differ
diff --git a/icons/add-button.png b/icons/add-button.png
deleted file mode 100644
index a2f82c462..000000000
Binary files a/icons/add-button.png and /dev/null differ
diff --git a/icons/add-effect.png b/icons/add-effect.png
deleted file mode 100644
index 7b16cb66f..000000000
Binary files a/icons/add-effect.png and /dev/null differ
diff --git a/icons/add-transition.png b/icons/add-transition.png
deleted file mode 100644
index 0f2b1ba3d..000000000
Binary files a/icons/add-transition.png and /dev/null differ
diff --git a/icons/arrow-disabled.png b/icons/arrow-disabled.png
deleted file mode 100644
index d9a767f21..000000000
Binary files a/icons/arrow-disabled.png and /dev/null differ
diff --git a/icons/arrow.png b/icons/arrow.png
deleted file mode 100644
index 3d352903c..000000000
Binary files a/icons/arrow.png and /dev/null differ
diff --git a/icons/audiosource.png b/icons/audiosource.png
deleted file mode 100644
index 3ec977438..000000000
Binary files a/icons/audiosource.png and /dev/null differ
diff --git a/icons/beam-disabled.png b/icons/beam-disabled.png
deleted file mode 100644
index 3344af772..000000000
Binary files a/icons/beam-disabled.png and /dev/null differ
diff --git a/icons/beam.png b/icons/beam.png
deleted file mode 100644
index a1563674f..000000000
Binary files a/icons/beam.png and /dev/null differ
diff --git a/icons/clock.png b/icons/clock.png
deleted file mode 100644
index 2bc896a29..000000000
Binary files a/icons/clock.png and /dev/null differ
diff --git a/icons/diamond.png b/icons/diamond.png
deleted file mode 100644
index ea6c47136..000000000
Binary files a/icons/diamond.png and /dev/null differ
diff --git a/icons/dirup-disabled.png b/icons/dirup-disabled.png
deleted file mode 100644
index 7dd3e7bf1..000000000
Binary files a/icons/dirup-disabled.png and /dev/null differ
diff --git a/icons/dirup.png b/icons/dirup.png
deleted file mode 100644
index e15f49fb0..000000000
Binary files a/icons/dirup.png and /dev/null differ
diff --git a/icons/error.png b/icons/error.png
deleted file mode 100644
index 31d167335..000000000
Binary files a/icons/error.png and /dev/null differ
diff --git a/icons/ff-disabled.png b/icons/ff-disabled.png
deleted file mode 100644
index aa530c75f..000000000
Binary files a/icons/ff-disabled.png and /dev/null differ
diff --git a/icons/ff.png b/icons/ff.png
deleted file mode 100644
index 965d06b4e..000000000
Binary files a/icons/ff.png and /dev/null differ
diff --git a/icons/folder.png b/icons/folder.png
deleted file mode 100644
index a6dcda3a0..000000000
Binary files a/icons/folder.png and /dev/null differ
diff --git a/icons/hand-disabled.png b/icons/hand-disabled.png
deleted file mode 100644
index 0e115c99c..000000000
Binary files a/icons/hand-disabled.png and /dev/null differ
diff --git a/icons/hand.png b/icons/hand.png
deleted file mode 100644
index 42134e130..000000000
Binary files a/icons/hand.png and /dev/null differ
diff --git a/icons/icons.qrc b/icons/icons.qrc
index 157879efd..b4ccfa3b2 100644
--- a/icons/icons.qrc
+++ b/icons/icons.qrc
@@ -1,75 +1,49 @@
- play.png
- ff.png
- next.png
- pause.png
- prev.png
- rew.png
- arrow.png
- beam.png
- razor.png
- audiosource.png
- videosource.png
- imagesource.png
- ripple.png
- rolling.png
- slip.png
- ff-disabled.png
- next-disabled.png
- pause-disabled.png
- play-disabled.png
- prev-disabled.png
- rew-disabled.png
- arrow-disabled.png
- beam-disabled.png
- razor-disabled.png
- ripple-disabled.png
- rolling-disabled.png
- slip-disabled.png
- slide.png
- slide-disabled.png
throbber.png
- magnet.png
- magnet-disabled.png
- zoomin.png
- zoomin-disabled.png
- zoomout.png
- zoomout-disabled.png
- add-transition.png
- add-effect.png
olive-splash.png
- add-button.png
- add-button-disabled.png
- clock.png
- sequence.png
- folder.png
- record.png
- record-disabled.png
- transition-tool.png
- transition-tool-disabled.png
- error.png
- dirup.png
- dirup-disabled.png
- diamond.png
- tri-down.png
- tri-left.png
- tri-right.png
- tri-up.png
- hand.png
- hand-disabled.png
- treeview.png
- treeview-disabled.png
- iconview.png
- iconview-disabled.png
- open.png
- open-disabled.png
- save.png
- save-disabled.png
- undo.png
- undo-disabled.png
- redo.png
- redo-disabled.png
olive64.png
+ add-button.svg
+ add-effect.svg
+ add-transition.svg
+ arrow.svg
+ audiosource.svg
+ beam.svg
+ clock.svg
+ diamond.svg
+ dirup.svg
+ error.svg
+ ff.svg
+ folder.svg
+ hand.svg
+ iconview.svg
+ imagesource.svg
+ magnet.svg
+ new.svg
+ next.svg
+ open.svg
+ pause.svg
+ play.svg
+ prev.svg
+ razor.svg
+ record.svg
+ redo.svg
+ rew.svg
+ ripple.svg
+ rolling.svg
+ save.svg
+ sequence.svg
+ slide.svg
+ slip.svg
+ transition-tool.svg
+ treeview.svg
+ tri-down.svg
+ tri-left.svg
+ tri-right.svg
+ tri-up.svg
+ undo.svg
+ videosource.svg
+ zoomin.svg
+ zoomout.svg
diff --git a/icons/iconview-disabled.png b/icons/iconview-disabled.png
deleted file mode 100644
index 8752a2f72..000000000
Binary files a/icons/iconview-disabled.png and /dev/null differ
diff --git a/icons/iconview.png b/icons/iconview.png
deleted file mode 100644
index 9a81cf3eb..000000000
Binary files a/icons/iconview.png and /dev/null differ
diff --git a/icons/imagesource.png b/icons/imagesource.png
deleted file mode 100644
index 794e91b69..000000000
Binary files a/icons/imagesource.png and /dev/null differ
diff --git a/icons/magnet-disabled.png b/icons/magnet-disabled.png
deleted file mode 100644
index 0a2b0522e..000000000
Binary files a/icons/magnet-disabled.png and /dev/null differ
diff --git a/icons/magnet.png b/icons/magnet.png
deleted file mode 100644
index d4760acea..000000000
Binary files a/icons/magnet.png and /dev/null differ
diff --git a/icons/new-disabled.png b/icons/new-disabled.png
deleted file mode 100644
index 1f2a976a3..000000000
Binary files a/icons/new-disabled.png and /dev/null differ
diff --git a/icons/new.png b/icons/new.png
deleted file mode 100644
index ddb69f86f..000000000
Binary files a/icons/new.png and /dev/null differ
diff --git a/icons/next-disabled.png b/icons/next-disabled.png
deleted file mode 100644
index 1e4ad364d..000000000
Binary files a/icons/next-disabled.png and /dev/null differ
diff --git a/icons/next.png b/icons/next.png
deleted file mode 100644
index 160542719..000000000
Binary files a/icons/next.png and /dev/null differ
diff --git a/icons/open-disabled.png b/icons/open-disabled.png
deleted file mode 100644
index 0319c825e..000000000
Binary files a/icons/open-disabled.png and /dev/null differ
diff --git a/icons/open.png b/icons/open.png
deleted file mode 100644
index e68a7ad8b..000000000
Binary files a/icons/open.png and /dev/null differ
diff --git a/icons/pause-disabled.png b/icons/pause-disabled.png
deleted file mode 100644
index 1f2b0e3c0..000000000
Binary files a/icons/pause-disabled.png and /dev/null differ
diff --git a/icons/pause.png b/icons/pause.png
deleted file mode 100644
index b055c92e9..000000000
Binary files a/icons/pause.png and /dev/null differ
diff --git a/icons/play-disabled.png b/icons/play-disabled.png
deleted file mode 100644
index 04204e3eb..000000000
Binary files a/icons/play-disabled.png and /dev/null differ
diff --git a/icons/play.png b/icons/play.png
deleted file mode 100644
index cd069a796..000000000
Binary files a/icons/play.png and /dev/null differ
diff --git a/icons/prev-disabled.png b/icons/prev-disabled.png
deleted file mode 100644
index 179e4e830..000000000
Binary files a/icons/prev-disabled.png and /dev/null differ
diff --git a/icons/prev.png b/icons/prev.png
deleted file mode 100644
index c56efc0cf..000000000
Binary files a/icons/prev.png and /dev/null differ
diff --git a/icons/razor-disabled.png b/icons/razor-disabled.png
deleted file mode 100644
index 9ac9298a3..000000000
Binary files a/icons/razor-disabled.png and /dev/null differ
diff --git a/icons/razor.png b/icons/razor.png
deleted file mode 100644
index 7234af9e1..000000000
Binary files a/icons/razor.png and /dev/null differ
diff --git a/icons/record-disabled.png b/icons/record-disabled.png
deleted file mode 100644
index fb76cd5cb..000000000
Binary files a/icons/record-disabled.png and /dev/null differ
diff --git a/icons/record.png b/icons/record.png
deleted file mode 100644
index 4ea654c0d..000000000
Binary files a/icons/record.png and /dev/null differ
diff --git a/icons/redo-disabled.png b/icons/redo-disabled.png
deleted file mode 100644
index 4c33a0991..000000000
Binary files a/icons/redo-disabled.png and /dev/null differ
diff --git a/icons/redo.png b/icons/redo.png
deleted file mode 100644
index 5ca9146d2..000000000
Binary files a/icons/redo.png and /dev/null differ
diff --git a/icons/rew-disabled.png b/icons/rew-disabled.png
deleted file mode 100644
index 0b07237e1..000000000
Binary files a/icons/rew-disabled.png and /dev/null differ
diff --git a/icons/rew.png b/icons/rew.png
deleted file mode 100644
index e8c065175..000000000
Binary files a/icons/rew.png and /dev/null differ
diff --git a/icons/ripple-disabled.png b/icons/ripple-disabled.png
deleted file mode 100644
index 61a74950a..000000000
Binary files a/icons/ripple-disabled.png and /dev/null differ
diff --git a/icons/ripple.png b/icons/ripple.png
deleted file mode 100644
index f41c08c58..000000000
Binary files a/icons/ripple.png and /dev/null differ
diff --git a/icons/rolling-disabled.png b/icons/rolling-disabled.png
deleted file mode 100644
index e720a2710..000000000
Binary files a/icons/rolling-disabled.png and /dev/null differ
diff --git a/icons/rolling.png b/icons/rolling.png
deleted file mode 100644
index ffc6f5109..000000000
Binary files a/icons/rolling.png and /dev/null differ
diff --git a/icons/save-disabled.png b/icons/save-disabled.png
deleted file mode 100644
index 03983fb54..000000000
Binary files a/icons/save-disabled.png and /dev/null differ
diff --git a/icons/save.png b/icons/save.png
deleted file mode 100644
index ab4b3f22a..000000000
Binary files a/icons/save.png and /dev/null differ
diff --git a/icons/sequence.png b/icons/sequence.png
deleted file mode 100644
index 6585a6762..000000000
Binary files a/icons/sequence.png and /dev/null differ
diff --git a/icons/slide-disabled.png b/icons/slide-disabled.png
deleted file mode 100644
index fd832fcb5..000000000
Binary files a/icons/slide-disabled.png and /dev/null differ
diff --git a/icons/slide.png b/icons/slide.png
deleted file mode 100644
index 2c5425ae7..000000000
Binary files a/icons/slide.png and /dev/null differ
diff --git a/icons/slip-disabled.png b/icons/slip-disabled.png
deleted file mode 100644
index d7d0169aa..000000000
Binary files a/icons/slip-disabled.png and /dev/null differ
diff --git a/icons/slip.png b/icons/slip.png
deleted file mode 100644
index 044de026a..000000000
Binary files a/icons/slip.png and /dev/null differ
diff --git a/icons/transition-tool-disabled.png b/icons/transition-tool-disabled.png
deleted file mode 100644
index a6e188b79..000000000
Binary files a/icons/transition-tool-disabled.png and /dev/null differ
diff --git a/icons/transition-tool.png b/icons/transition-tool.png
deleted file mode 100644
index 81b6efe82..000000000
Binary files a/icons/transition-tool.png and /dev/null differ
diff --git a/icons/treeview-disabled.png b/icons/treeview-disabled.png
deleted file mode 100644
index be95cb9f0..000000000
Binary files a/icons/treeview-disabled.png and /dev/null differ
diff --git a/icons/treeview.png b/icons/treeview.png
deleted file mode 100644
index 24e16bd2c..000000000
Binary files a/icons/treeview.png and /dev/null differ
diff --git a/icons/tri-down.png b/icons/tri-down.png
deleted file mode 100644
index d088299a6..000000000
Binary files a/icons/tri-down.png and /dev/null differ
diff --git a/icons/tri-left.png b/icons/tri-left.png
deleted file mode 100644
index 59a484229..000000000
Binary files a/icons/tri-left.png and /dev/null differ
diff --git a/icons/tri-right.png b/icons/tri-right.png
deleted file mode 100644
index 789a7cca3..000000000
Binary files a/icons/tri-right.png and /dev/null differ
diff --git a/icons/tri-up.png b/icons/tri-up.png
deleted file mode 100644
index 06de48079..000000000
Binary files a/icons/tri-up.png and /dev/null differ
diff --git a/icons/undo-disabled.png b/icons/undo-disabled.png
deleted file mode 100644
index 8667795e2..000000000
Binary files a/icons/undo-disabled.png and /dev/null differ
diff --git a/icons/undo.png b/icons/undo.png
deleted file mode 100644
index e043e73c7..000000000
Binary files a/icons/undo.png and /dev/null differ
diff --git a/icons/videosource.png b/icons/videosource.png
deleted file mode 100644
index d96e9eee2..000000000
Binary files a/icons/videosource.png and /dev/null differ
diff --git a/icons/zoomin-disabled.png b/icons/zoomin-disabled.png
deleted file mode 100644
index 203c82938..000000000
Binary files a/icons/zoomin-disabled.png and /dev/null differ
diff --git a/icons/zoomin.png b/icons/zoomin.png
deleted file mode 100644
index f0a5f979c..000000000
Binary files a/icons/zoomin.png and /dev/null differ
diff --git a/icons/zoomout-disabled.png b/icons/zoomout-disabled.png
deleted file mode 100644
index fc2aebb70..000000000
Binary files a/icons/zoomout-disabled.png and /dev/null differ
diff --git a/icons/zoomout.png b/icons/zoomout.png
deleted file mode 100644
index ba1f1b3e6..000000000
Binary files a/icons/zoomout.png and /dev/null differ
diff --git a/oliveglobal.cpp b/oliveglobal.cpp
index f9f8d49c7..fb4f0a8e3 100644
--- a/oliveglobal.cpp
+++ b/oliveglobal.cpp
@@ -297,6 +297,27 @@ void OliveGlobal::open_project_worker(const QString& fn, bool autorecovery) {
olive::UndoStack.clear();
}
+QIcon OliveGlobal::CreateIconFromSVG(const QString &path)
+{
+ QIcon icon;
+
+ QPixmap normal(path);
+ icon.addPixmap(normal, QIcon::Normal, QIcon::On);
+
+ QPixmap disabled(normal.size());
+ disabled.fill(Qt::transparent);
+
+ // draw semi-transparent version of icon for the disabled variant
+ QPainter p(&disabled);
+ p.setOpacity(0.5);
+ p.drawPixmap(0, 0, normal);
+ p.end();
+
+ icon.addPixmap(disabled, QIcon::Disabled, QIcon::On);
+
+ return icon;
+}
+
void OliveGlobal::undo() {
// workaround to prevent crash (and also users should never need to do this)
if (!panel_timeline->importing) {
diff --git a/oliveglobal.h b/oliveglobal.h
index 1acc9e678..2d83fc08d 100644
--- a/oliveglobal.h
+++ b/oliveglobal.h
@@ -115,6 +115,15 @@ public:
*/
void load_translation_from_config();
+ /**
+ * @brief Converts an SVG into a QIcon with a semi-transparent for the QIcon::Disabled property
+ *
+ * @param path
+ *
+ * Path to SVG file
+ */
+ static QIcon CreateIconFromSVG(const QString& path);
+
public slots:
/**
* @brief Undo user's last action
@@ -315,7 +324,6 @@ private:
*/
std::unique_ptr translator;
-
private slots:
};
diff --git a/panels/effectcontrols.cpp b/panels/effectcontrols.cpp
index 0928f1670..eb948afea 100644
--- a/panels/effectcontrols.cpp
+++ b/panels/effectcontrols.cpp
@@ -360,8 +360,11 @@ void EffectControls::setup_ui() {
veHeaderLayout->setSpacing(0);
veHeaderLayout->setMargin(0);
+ QIcon add_effect_icon(":/icons/add-effect.svg");
+ QIcon add_transition_icon(":/icons/add-transition.svg");
+
btnAddVideoEffect = new QPushButton();
- btnAddVideoEffect->setIcon(QIcon(":/icons/add-effect.png"));
+ btnAddVideoEffect->setIcon(add_effect_icon);
veHeaderLayout->addWidget(btnAddVideoEffect);
connect(btnAddVideoEffect, SIGNAL(clicked(bool)), this, SLOT(video_effect_click()));
@@ -377,7 +380,7 @@ void EffectControls::setup_ui() {
veHeaderLayout->addStretch();
btnAddVideoTransition = new QPushButton();
- btnAddVideoTransition->setIcon(QIcon(":/icons/add-transition.png"));
+ btnAddVideoTransition->setIcon(add_transition_icon);
connect(btnAddVideoTransition, SIGNAL(clicked(bool)), this, SLOT(video_transition_click()));
veHeaderLayout->addWidget(btnAddVideoTransition);
@@ -405,7 +408,7 @@ void EffectControls::setup_ui() {
aeHeaderLayout->setMargin(0);
btnAddAudioEffect = new QPushButton();
- btnAddAudioEffect->setIcon(QIcon(":/icons/add-effect.png"));
+ btnAddAudioEffect->setIcon(add_effect_icon);
connect(btnAddAudioEffect, SIGNAL(clicked(bool)), this, SLOT(audio_effect_click()));
aeHeaderLayout->addWidget(btnAddAudioEffect);
@@ -419,7 +422,7 @@ void EffectControls::setup_ui() {
aeHeaderLayout->addStretch();
btnAddAudioTransition = new QPushButton();
- btnAddAudioTransition->setIcon(QIcon(":/icons/add-transition.png"));
+ btnAddAudioTransition->setIcon(add_transition_icon);
connect(btnAddAudioTransition, SIGNAL(clicked(bool)), this, SLOT(audio_transition_click()));
aeHeaderLayout->addWidget(btnAddAudioTransition);
diff --git a/panels/grapheditor.cpp b/panels/grapheditor.cpp
index 61ce66f5c..bd0494389 100644
--- a/panels/grapheditor.cpp
+++ b/panels/grapheditor.cpp
@@ -179,7 +179,7 @@ void GraphEditor::set_row(EffectRow *r) {
QPushButton* slider_button = new QPushButton();
slider_button->setCheckable(true);
slider_button->setChecked(field->is_enabled());
- slider_button->setIcon(QIcon(":/icons/record.png"));
+ slider_button->setIcon(QIcon(":/icons/record.svg"));
slider_button->setProperty("field", i);
slider_button->setIconSize(slider_button->iconSize()*0.5);
connect(slider_button, SIGNAL(toggled(bool)), this, SLOT(set_field_visibility(bool)));
diff --git a/panels/project.cpp b/panels/project.cpp
index dbfd76d6c..ebbe01e0a 100644
--- a/panels/project.cpp
+++ b/panels/project.cpp
@@ -102,46 +102,31 @@ Project::Project(QWidget *parent) :
toolbar->setSpacing(0);
QPushButton* toolbar_new = new QPushButton();
- QIcon icon1;
- icon1.addFile(QStringLiteral(":/icons/add-button.png"), QSize(), QIcon::Normal, QIcon::On);
- icon1.addFile(QStringLiteral(":/icons/add-button-disabled.png"), QSize(), QIcon::Disabled, QIcon::On);
- toolbar_new->setIcon(icon1);
+ toolbar_new->setIcon(OliveGlobal::CreateIconFromSVG(QStringLiteral(":/icons/add-button.svg")));
toolbar_new->setToolTip("New");
connect(toolbar_new, SIGNAL(clicked(bool)), this, SLOT(make_new_menu()));
toolbar->addWidget(toolbar_new);
QPushButton* toolbar_open = new QPushButton();
- QIcon icon2;
- icon2.addFile(QStringLiteral(":/icons/open.png"), QSize(), QIcon::Normal, QIcon::On);
- icon2.addFile(QStringLiteral(":/icons/open-disabled.png"), QSize(), QIcon::Disabled, QIcon::On);
- toolbar_open->setIcon(icon2);
+ toolbar_open->setIcon(OliveGlobal::CreateIconFromSVG(QStringLiteral(":/icons/open.svg")));
toolbar_open->setToolTip("Open Project");
connect(toolbar_open, SIGNAL(clicked(bool)), olive::Global.get(), SLOT(open_project()));
toolbar->addWidget(toolbar_open);
QPushButton* toolbar_save = new QPushButton();
- QIcon icon3;
- icon3.addFile(QStringLiteral(":/icons/save.png"), QSize(), QIcon::Normal, QIcon::On);
- icon3.addFile(QStringLiteral(":/icons/save-disabled.png"), QSize(), QIcon::Disabled, QIcon::On);
- toolbar_save->setIcon(icon3);
+ toolbar_save->setIcon(OliveGlobal::CreateIconFromSVG(QStringLiteral(":/icons/save.svg")));
toolbar_save->setToolTip("Save Project");
connect(toolbar_save, SIGNAL(clicked(bool)), olive::Global.get(), SLOT(save_project()));
toolbar->addWidget(toolbar_save);
QPushButton* toolbar_undo = new QPushButton();
- QIcon icon4;
- icon4.addFile(QStringLiteral(":/icons/undo.png"), QSize(), QIcon::Normal, QIcon::On);
- icon4.addFile(QStringLiteral(":/icons/undo-disabled.png"), QSize(), QIcon::Disabled, QIcon::On);
- toolbar_undo->setIcon(icon4);
+ toolbar_undo->setIcon(OliveGlobal::CreateIconFromSVG(QStringLiteral(":/icons/undo.svg")));
toolbar_undo->setToolTip("Undo");
connect(toolbar_undo, SIGNAL(clicked(bool)), olive::Global.get(), SLOT(undo()));
toolbar->addWidget(toolbar_undo);
QPushButton* toolbar_redo = new QPushButton();
- QIcon icon5;
- icon5.addFile(QStringLiteral(":/icons/redo.png"), QSize(), QIcon::Normal, QIcon::On);
- icon5.addFile(QStringLiteral(":/icons/redo-disabled.png"), QSize(), QIcon::Disabled, QIcon::On);
- toolbar_redo->setIcon(icon5);
+ toolbar_redo->setIcon(OliveGlobal::CreateIconFromSVG(QStringLiteral(":/icons/redo.svg")));
toolbar_redo->setToolTip("Redo");
connect(toolbar_redo, SIGNAL(clicked(bool)), olive::Global.get(), SLOT(redo()));
toolbar->addWidget(toolbar_redo);
@@ -152,19 +137,13 @@ Project::Project(QWidget *parent) :
toolbar->addWidget(toolbar_search);
QPushButton* toolbar_tree_view = new QPushButton();
- QIcon icon6;
- icon6.addFile(QStringLiteral(":/icons/treeview.png"), QSize(), QIcon::Normal, QIcon::On);
- icon6.addFile(QStringLiteral(":/icons/treeview-disabled.png"), QSize(), QIcon::Disabled, QIcon::On);
- toolbar_tree_view->setIcon(icon6);
+ toolbar_tree_view->setIcon(OliveGlobal::CreateIconFromSVG(QStringLiteral(":/icons/treeview.svg")));
toolbar_tree_view->setToolTip("Tree View");
connect(toolbar_tree_view, SIGNAL(clicked(bool)), this, SLOT(set_tree_view()));
toolbar->addWidget(toolbar_tree_view);
QPushButton* toolbar_icon_view = new QPushButton();
- QIcon icon7;
- icon7.addFile(QStringLiteral(":/icons/iconview.png"), QSize(), QIcon::Normal, QIcon::On);
- icon7.addFile(QStringLiteral(":/icons/iconview-disabled.png"), QSize(), QIcon::Disabled, QIcon::On);
- toolbar_icon_view->setIcon(icon7);
+ toolbar_icon_view->setIcon(OliveGlobal::CreateIconFromSVG(QStringLiteral(":/icons/iconview.svg")));
toolbar_icon_view->setToolTip("Icon View");
connect(toolbar_icon_view, SIGNAL(clicked(bool)), this, SLOT(set_icon_view()));
toolbar->addWidget(toolbar_icon_view);
@@ -194,12 +173,8 @@ Project::Project(QWidget *parent) :
icon_view_controls->setMargin(0);
icon_view_controls->setSpacing(0);
- QIcon directory_up_button;
- directory_up_button.addFile(":/icons/dirup.png", QSize(), QIcon::Normal);
- directory_up_button.addFile(":/icons/dirup-disabled.png", QSize(), QIcon::Disabled);
-
directory_up = new QPushButton();
- directory_up->setIcon(directory_up_button);
+ directory_up->setIcon(OliveGlobal::CreateIconFromSVG(QStringLiteral(":/icons/dirup.svg")));
directory_up->setEnabled(false);
icon_view_controls->addWidget(directory_up);
diff --git a/panels/timeline.cpp b/panels/timeline.cpp
index 786029887..3ee07a16e 100644
--- a/panels/timeline.cpp
+++ b/panels/timeline.cpp
@@ -1871,123 +1871,84 @@ void Timeline::setup_ui() {
tool_buttons_layout->setMargin(0);
toolArrowButton = new QPushButton();
- QIcon arrow_icon;
- arrow_icon.addFile(QStringLiteral(":/icons/arrow.png"), QSize(), QIcon::Normal, QIcon::Off);
- arrow_icon.addFile(QStringLiteral(":/icons/arrow-disabled.png"), QSize(), QIcon::Disabled, QIcon::Off);
- toolArrowButton->setIcon(arrow_icon);
+ toolArrowButton->setIcon(OliveGlobal::CreateIconFromSVG(QStringLiteral(":/icons/arrow.svg")));
toolArrowButton->setCheckable(true);
toolArrowButton->setProperty("tool", TIMELINE_TOOL_POINTER);
connect(toolArrowButton, SIGNAL(clicked(bool)), this, SLOT(set_tool()));
tool_buttons_layout->addWidget(toolArrowButton);
toolEditButton = new QPushButton();
- QIcon icon1;
- icon1.addFile(QStringLiteral(":/icons/beam.png"), QSize(), QIcon::Normal, QIcon::Off);
- icon1.addFile(QStringLiteral(":/icons/beam-disabled.png"), QSize(), QIcon::Disabled, QIcon::Off);
- toolEditButton->setIcon(icon1);
+ toolEditButton->setIcon(OliveGlobal::CreateIconFromSVG(QStringLiteral(":/icons/beam.svg")));
toolEditButton->setCheckable(true);
toolEditButton->setProperty("tool", TIMELINE_TOOL_EDIT);
connect(toolEditButton, SIGNAL(clicked(bool)), this, SLOT(set_tool()));
tool_buttons_layout->addWidget(toolEditButton);
toolRippleButton = new QPushButton();
- QIcon icon2;
- icon2.addFile(QStringLiteral(":/icons/ripple.png"), QSize(), QIcon::Normal, QIcon::Off);
- icon2.addFile(QStringLiteral(":/icons/ripple-disabled.png"), QSize(), QIcon::Disabled, QIcon::Off);
- toolRippleButton->setIcon(icon2);
+ toolRippleButton->setIcon(OliveGlobal::CreateIconFromSVG(QStringLiteral(":/icons/ripple.svg")));
toolRippleButton->setCheckable(true);
toolRippleButton->setProperty("tool", TIMELINE_TOOL_RIPPLE);
connect(toolRippleButton, SIGNAL(clicked(bool)), this, SLOT(set_tool()));
tool_buttons_layout->addWidget(toolRippleButton);
toolRazorButton = new QPushButton();
- QIcon icon4;
- icon4.addFile(QStringLiteral(":/icons/razor.png"), QSize(), QIcon::Normal, QIcon::Off);
- icon4.addFile(QStringLiteral(":/icons/razor-disabled.png"), QSize(), QIcon::Disabled, QIcon::Off);
- toolRazorButton->setIcon(icon4);
+ toolRazorButton->setIcon(OliveGlobal::CreateIconFromSVG(QStringLiteral(":/icons/razor.svg")));
toolRazorButton->setCheckable(true);
toolRazorButton->setProperty("tool", TIMELINE_TOOL_RAZOR);
connect(toolRazorButton, SIGNAL(clicked(bool)), this, SLOT(set_tool()));
tool_buttons_layout->addWidget(toolRazorButton);
toolSlipButton = new QPushButton();
- QIcon icon5;
- icon5.addFile(QStringLiteral(":/icons/slip.png"), QSize(), QIcon::Normal, QIcon::On);
- icon5.addFile(QStringLiteral(":/icons/slip-disabled.png"), QSize(), QIcon::Disabled, QIcon::On);
- toolSlipButton->setIcon(icon5);
+ toolSlipButton->setIcon(OliveGlobal::CreateIconFromSVG(QStringLiteral(":/icons/slip.svg")));
toolSlipButton->setCheckable(true);
toolSlipButton->setProperty("tool", TIMELINE_TOOL_SLIP);
connect(toolSlipButton, SIGNAL(clicked(bool)), this, SLOT(set_tool()));
tool_buttons_layout->addWidget(toolSlipButton);
toolSlideButton = new QPushButton();
- QIcon icon6;
- icon6.addFile(QStringLiteral(":/icons/slide.png"), QSize(), QIcon::Normal, QIcon::On);
- icon6.addFile(QStringLiteral(":/icons/slide-disabled.png"), QSize(), QIcon::Disabled, QIcon::On);
- toolSlideButton->setIcon(icon6);
+ toolSlideButton->setIcon(OliveGlobal::CreateIconFromSVG(QStringLiteral(":/icons/slide.svg")));
toolSlideButton->setCheckable(true);
toolSlideButton->setProperty("tool", TIMELINE_TOOL_SLIDE);
connect(toolSlideButton, SIGNAL(clicked(bool)), this, SLOT(set_tool()));
tool_buttons_layout->addWidget(toolSlideButton);
toolHandButton = new QPushButton();
- QIcon icon7;
- icon7.addFile(QStringLiteral(":/icons/hand.png"), QSize(), QIcon::Normal, QIcon::On);
- icon7.addFile(QStringLiteral(":/icons/hand-disabled.png"), QSize(), QIcon::Disabled, QIcon::On);
- toolHandButton->setIcon(icon7);
+ toolHandButton->setIcon(OliveGlobal::CreateIconFromSVG(QStringLiteral(":/icons/hand.svg")));
toolHandButton->setCheckable(true);
toolHandButton->setProperty("tool", TIMELINE_TOOL_HAND);
connect(toolHandButton, SIGNAL(clicked(bool)), this, SLOT(set_tool()));
tool_buttons_layout->addWidget(toolHandButton);
toolTransitionButton = new QPushButton();
- QIcon icon8;
- icon8.addFile(QStringLiteral(":/icons/transition-tool.png"), QSize(), QIcon::Normal, QIcon::On);
- icon8.addFile(QStringLiteral(":/icons/transition-tool-disabled.png"), QSize(), QIcon::Disabled, QIcon::On);
- toolTransitionButton->setIcon(icon8);
+ toolTransitionButton->setIcon(OliveGlobal::CreateIconFromSVG(QStringLiteral(":/icons/transition-tool.svg")));
toolTransitionButton->setCheckable(true);
connect(toolTransitionButton, SIGNAL(clicked(bool)), this, SLOT(transition_tool_click()));
tool_buttons_layout->addWidget(toolTransitionButton);
snappingButton = new QPushButton();
- QIcon icon9;
- icon9.addFile(QStringLiteral(":/icons/magnet.png"), QSize(), QIcon::Normal, QIcon::On);
- icon9.addFile(QStringLiteral(":/icons/magnet-disabled.png"), QSize(), QIcon::Disabled, QIcon::On);
- snappingButton->setIcon(icon9);
+ snappingButton->setIcon(OliveGlobal::CreateIconFromSVG(QStringLiteral(":/icons/magnet.svg")));
snappingButton->setCheckable(true);
snappingButton->setChecked(true);
connect(snappingButton, SIGNAL(toggled(bool)), this, SLOT(snapping_clicked(bool)));
tool_buttons_layout->addWidget(snappingButton);
zoomInButton = new QPushButton();
- QIcon icon10;
- icon10.addFile(QStringLiteral(":/icons/zoomin.png"), QSize(), QIcon::Normal, QIcon::On);
- icon10.addFile(QStringLiteral(":/icons/zoomin-disabled.png"), QSize(), QIcon::Disabled, QIcon::On);
- zoomInButton->setIcon(icon10);
+ zoomInButton->setIcon(OliveGlobal::CreateIconFromSVG(QStringLiteral(":/icons/zoomin.svg")));
connect(zoomInButton, SIGNAL(clicked(bool)), this, SLOT(zoom_in()));
tool_buttons_layout->addWidget(zoomInButton);
zoomOutButton = new QPushButton();
- QIcon icon11;
- icon11.addFile(QStringLiteral(":/icons/zoomout.png"), QSize(), QIcon::Normal, QIcon::On);
- icon11.addFile(QStringLiteral(":/icons/zoomout-disabled.png"), QSize(), QIcon::Disabled, QIcon::On);
- zoomOutButton->setIcon(icon11);
+ zoomOutButton->setIcon(OliveGlobal::CreateIconFromSVG(QStringLiteral(":/icons/zoomout.svg")));
connect(zoomOutButton, SIGNAL(clicked(bool)), this, SLOT(zoom_out()));
tool_buttons_layout->addWidget(zoomOutButton);
recordButton = new QPushButton();
- QIcon icon12;
- icon12.addFile(QStringLiteral(":/icons/record.png"), QSize(), QIcon::Normal, QIcon::On);
- icon12.addFile(QStringLiteral(":/icons/record-disabled.png"), QSize(), QIcon::Disabled, QIcon::On);
- recordButton->setIcon(icon12);
+ recordButton->setIcon(OliveGlobal::CreateIconFromSVG(QStringLiteral(":/icons/record.svg")));
connect(recordButton, SIGNAL(clicked(bool)), this, SLOT(record_btn_click()));
tool_buttons_layout->addWidget(recordButton);
addButton = new QPushButton();
- QIcon icon13;
- icon13.addFile(QStringLiteral(":/icons/add-button.png"), QSize(), QIcon::Normal, QIcon::On);
- icon13.addFile(QStringLiteral(":/icons/add-button-disabled.png"), QSize(), QIcon::Disabled, QIcon::On);
- addButton->setIcon(icon13);
+ addButton->setIcon(OliveGlobal::CreateIconFromSVG(QStringLiteral(":/icons/add-button.svg")));
connect(addButton, SIGNAL(clicked()), this, SLOT(add_btn_click()));
tool_buttons_layout->addWidget(addButton);
diff --git a/panels/viewer.cpp b/panels/viewer.cpp
index 7d2129095..a188221db 100644
--- a/panels/viewer.cpp
+++ b/panels/viewer.cpp
@@ -37,6 +37,7 @@
#include "ui/labelslider.h"
#include "ui/timelineheader.h"
#include "ui/resizablescrollbar.h"
+#include "oliveglobal.h"
#include "debug.h"
#define FRAMES_IN_ONE_MINUTE 1798 // 1800 - 2
@@ -668,41 +669,30 @@ void Viewer::setup_ui() {
playback_control_layout->setMargin(0);
go_to_start_button = new QPushButton();
- QIcon goToStartIcon;
- goToStartIcon.addFile(QStringLiteral(":/icons/prev.png"), QSize(), QIcon::Normal, QIcon::Off);
- goToStartIcon.addFile(QStringLiteral(":/icons/prev-disabled.png"), QSize(), QIcon::Disabled, QIcon::Off);
- go_to_start_button->setIcon(goToStartIcon);
+ go_to_start_button->setIcon(OliveGlobal::CreateIconFromSVG(QStringLiteral(":/icons/prev.svg")));
connect(go_to_start_button, SIGNAL(clicked(bool)), this, SLOT(go_to_in()));
playback_control_layout->addWidget(go_to_start_button);
prev_frame_button = new QPushButton();
- QIcon rewindIcon;
- rewindIcon.addFile(QStringLiteral(":/icons/rew.png"), QSize(), QIcon::Normal, QIcon::Off);
- rewindIcon.addFile(QStringLiteral(":/icons/rew-disabled.png"), QSize(), QIcon::Disabled, QIcon::Off);
- prev_frame_button->setIcon(rewindIcon);
+ prev_frame_button->setIcon(OliveGlobal::CreateIconFromSVG(QStringLiteral(":/icons/rew.svg")));
connect(prev_frame_button, SIGNAL(clicked(bool)), this, SLOT(previous_frame()));
playback_control_layout->addWidget(prev_frame_button);
+ play_icon_ = OliveGlobal::CreateIconFromSVG(QStringLiteral(":/icons/play.svg"));
+ pause_icon_ = QPixmap(":/icons/pause.svg");
+
play_button = new QPushButton();
- playIcon.addFile(QStringLiteral(":/icons/play.png"), QSize(), QIcon::Normal, QIcon::On);
- playIcon.addFile(QStringLiteral(":/icons/play-disabled.png"), QSize(), QIcon::Disabled, QIcon::On);
- play_button->setIcon(playIcon);
+ play_button->setIcon(play_icon_);
connect(play_button, SIGNAL(clicked(bool)), this, SLOT(toggle_play()));
playback_control_layout->addWidget(play_button);
next_frame_button = new QPushButton();
- QIcon ffIcon;
- ffIcon.addFile(QStringLiteral(":/icons/ff.png"), QSize(), QIcon::Normal, QIcon::On);
- ffIcon.addFile(QStringLiteral(":/icons/ff-disabled.png"), QSize(), QIcon::Disabled, QIcon::Off);
- next_frame_button->setIcon(ffIcon);
+ next_frame_button->setIcon(OliveGlobal::CreateIconFromSVG(QStringLiteral(":/icons/ff.svg")));
connect(next_frame_button, SIGNAL(clicked(bool)), this, SLOT(next_frame()));
playback_control_layout->addWidget(next_frame_button);
go_to_end_frame = new QPushButton();
- QIcon nextIcon;
- nextIcon.addFile(QStringLiteral(":/icons/next.png"), QSize(), QIcon::Normal, QIcon::Off);
- nextIcon.addFile(QStringLiteral(":/icons/next-disabled.png"), QSize(), QIcon::Disabled, QIcon::Off);
- go_to_end_frame->setIcon(nextIcon);
+ go_to_end_frame->setIcon(OliveGlobal::CreateIconFromSVG(QStringLiteral(":/icons/next.svg")));
connect(go_to_end_frame, SIGNAL(clicked(bool)), this, SLOT(go_to_out()));
playback_control_layout->addWidget(go_to_end_frame);
@@ -917,5 +907,5 @@ void Viewer::set_sequence(bool main, SequencePtr s) {
}
void Viewer::set_playpause_icon(bool play) {
- play_button->setIcon(play ? playIcon : QIcon(":/icons/pause.png"));
+ play_button->setIcon(play ? play_icon_ : pause_icon_);
}
diff --git a/panels/viewer.h b/panels/viewer.h
index 870df7f4d..d46a732e0 100644
--- a/panels/viewer.h
+++ b/panels/viewer.h
@@ -142,7 +142,8 @@ private:
long get_seq_in();
long get_seq_out();
- QIcon playIcon;
+ QIcon play_icon_;
+ QIcon pause_icon_;
void setup_ui();
diff --git a/project/media.cpp b/project/media.cpp
index 6595f858f..fd6c265c2 100644
--- a/project/media.cpp
+++ b/project/media.cpp
@@ -86,7 +86,7 @@ void Media::set_footage(FootagePtr f) {
}
void Media::set_sequence(SequencePtr s) {
- set_icon(QIcon(":/icons/sequence.png"));
+ set_icon(QIcon(":/icons/sequence.svg"));
type = MEDIA_TYPE_SEQUENCE;
object = VoidPtr(s);
if (s != nullptr) update_tooltip();
@@ -94,7 +94,7 @@ void Media::set_sequence(SequencePtr s) {
void Media::set_folder() {
if (folder_name.isEmpty()) folder_name = QCoreApplication::translate("Media", "New Folder");
- set_icon(QIcon(":/icons/folder.png"));
+ set_icon(QIcon(":/icons/folder.svg"));
type = MEDIA_TYPE_FOLDER;
object = nullptr;
}
diff --git a/ui/collapsiblewidget.cpp b/ui/collapsiblewidget.cpp
index fffd815b4..a2c4eda08 100644
--- a/ui/collapsiblewidget.cpp
+++ b/ui/collapsiblewidget.cpp
@@ -59,6 +59,9 @@ CollapsibleWidget::CollapsibleWidget(QWidget* parent) : QWidget(parent) {
title_bar_layout->addStretch();
layout->addWidget(title_bar);
+ tri_down_ = QIcon(":/icons/tri-down.svg");
+ tri_right_ = QIcon(":/icons/tri-right.svg");
+
connect(title_bar, SIGNAL(select(bool, bool)), this, SLOT(header_click(bool, bool)));
set_button_icon(true);
@@ -89,7 +92,7 @@ bool CollapsibleWidget::is_expanded() {
}
void CollapsibleWidget::set_button_icon(bool open) {
- collapse_button->setIcon(open ? QIcon(":/icons/tri-down.png") : QIcon(":/icons/tri-right.png"));
+ collapse_button->setIcon(open ? tri_down_ : tri_right_);
}
void CollapsibleWidget::setContents(QWidget* c) {
@@ -135,8 +138,7 @@ void CollapsibleWidgetHeader::mousePressEvent(QMouseEvent* event) {
void CollapsibleWidgetHeader::paintEvent(QPaintEvent *event) {
QWidget::paintEvent(event);
QPainter p(this);
- p.setPen(Qt::white);
- int line_x = width() * 0.01;
+ p.setPen(Qt::white);
int line_y = height() - 1;
- p.drawLine(line_x, line_y, width() - line_x - line_x, line_y);
+ p.drawLine(0, line_y, width(), line_y);
}
diff --git a/ui/collapsiblewidget.h b/ui/collapsiblewidget.h
index 85fcbe824..0962e0b2a 100644
--- a/ui/collapsiblewidget.h
+++ b/ui/collapsiblewidget.h
@@ -22,58 +22,63 @@
#define COLLAPSIBLEWIDGET_H
#include
-class QLabel;
-class QCheckBox;
-class QHBoxLayout;
-class QVBoxLayout;
-class QPushButton;
-class QFrame;
-class CheckboxEx;
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+#include "ui/checkboxex.h"
class CollapsibleWidgetHeader : public QWidget {
- Q_OBJECT
+ Q_OBJECT
public:
- CollapsibleWidgetHeader(QWidget* parent = 0);
- bool selected;
+ CollapsibleWidgetHeader(QWidget* parent = 0);
+ bool selected;
protected:
- void mousePressEvent(QMouseEvent* event);
- void paintEvent(QPaintEvent *event);
+ void mousePressEvent(QMouseEvent* event);
+ void paintEvent(QPaintEvent *event);
signals:
- void select(bool, bool);
+ void select(bool, bool);
};
class CollapsibleWidget : public QWidget
{
- Q_OBJECT
+ Q_OBJECT
public:
- CollapsibleWidget(QWidget* parent = 0);
- void setContents(QWidget* c);
- void setText(const QString &);
- bool is_focused();
- bool is_expanded();
+ CollapsibleWidget(QWidget* parent = 0);
+ void setContents(QWidget* c);
+ void setText(const QString &);
+ bool is_focused();
+ bool is_expanded();
- CheckboxEx* enabled_check;
- bool selected;
- QWidget* contents;
- CollapsibleWidgetHeader* title_bar;
+ CheckboxEx* enabled_check;
+ bool selected;
+ QWidget* contents;
+ CollapsibleWidgetHeader* title_bar;
private:
- QLabel* header;
- QVBoxLayout* layout;
- QPushButton* collapse_button;
- QFrame* line;
- QHBoxLayout* title_bar_layout;
- void set_button_icon(bool open);
+ QLabel* header;
+ QVBoxLayout* layout;
+ QPushButton* collapse_button;
+ QFrame* line;
+ QHBoxLayout* title_bar_layout;
+ void set_button_icon(bool open);
+
+ QIcon tri_right_;
+ QIcon tri_down_;
signals:
- void deselect_others(QWidget*);
- void visibleChanged();
+ void deselect_others(QWidget*);
+ void visibleChanged();
private slots:
- void on_enabled_change(bool b);
- void on_visible_change();
+ void on_enabled_change(bool b);
+ void on_visible_change();
public slots:
- void header_click(bool s, bool deselect);
+ void header_click(bool s, bool deselect);
};
#endif // COLLAPSIBLEWIDGET_H
diff --git a/ui/keyframenavigator.cpp b/ui/keyframenavigator.cpp
index 91113254e..92a067a9d 100644
--- a/ui/keyframenavigator.cpp
+++ b/ui/keyframenavigator.cpp
@@ -35,7 +35,7 @@ KeyframeNavigator::KeyframeNavigator(QWidget *parent, bool addLeftPad) : QWidget
}
left_key_nav = new QPushButton(this);
- left_key_nav->setIcon(QIcon(":/icons/tri-left.png"));
+ left_key_nav->setIcon(QIcon(":/icons/tri-left.svg"));
left_key_nav->setIconSize(left_key_nav->iconSize()*0.5);
left_key_nav->setVisible(false);
key_controls->addWidget(left_key_nav);
@@ -43,7 +43,7 @@ KeyframeNavigator::KeyframeNavigator(QWidget *parent, bool addLeftPad) : QWidget
connect(left_key_nav, SIGNAL(clicked(bool)), this, SIGNAL(clicked()));
key_addremove = new QPushButton(this);
- key_addremove->setIcon(QIcon(":/icons/diamond.png"));
+ key_addremove->setIcon(QIcon(":/icons/diamond.svg"));
key_addremove->setIconSize(key_addremove->iconSize()*0.5);
key_addremove->setVisible(false);
key_controls->addWidget(key_addremove);
@@ -51,14 +51,14 @@ KeyframeNavigator::KeyframeNavigator(QWidget *parent, bool addLeftPad) : QWidget
connect(key_addremove, SIGNAL(clicked(bool)), this, SIGNAL(clicked()));
right_key_nav = new QPushButton(this);
- right_key_nav->setIcon(QIcon(":/icons/tri-right.png"));
+ right_key_nav->setIcon(QIcon(":/icons/tri-right.svg"));
right_key_nav->setIconSize(right_key_nav->iconSize()*0.5);
right_key_nav->setVisible(false);
key_controls->addWidget(right_key_nav);
connect(right_key_nav, SIGNAL(clicked(bool)), this, SIGNAL(goto_next_key()));
connect(right_key_nav, SIGNAL(clicked(bool)), this, SIGNAL(clicked()));
- keyframe_enable = new QPushButton(QIcon(":/icons/clock.png"), "", this);
+ keyframe_enable = new QPushButton(QIcon(":/icons/clock.svg"), "", this);
keyframe_enable->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Fixed);
keyframe_enable->setIconSize(keyframe_enable->iconSize()*0.75);
keyframe_enable->setCheckable(true);
diff --git a/ui/mediaiconservice.cpp b/ui/mediaiconservice.cpp
index 97e11aa6e..549692124 100644
--- a/ui/mediaiconservice.cpp
+++ b/ui/mediaiconservice.cpp
@@ -54,13 +54,13 @@ void MediaIconService::SetMediaIcon(Media *media, int icon_type) {
switch (icon_type) {
case ICON_TYPE_VIDEO:
- olive::project_model.set_icon(media, QIcon(":/icons/videosource.png"));
+ olive::project_model.set_icon(media, QIcon(":/icons/videosource.svg"));
break;
case ICON_TYPE_AUDIO:
- olive::project_model.set_icon(media, QIcon(":/icons/audiosource.png"));
+ olive::project_model.set_icon(media, QIcon(":/icons/audiosource.svg"));
break;
case ICON_TYPE_IMAGE:
- olive::project_model.set_icon(media, QIcon(":/icons/imagesource.png"));
+ olive::project_model.set_icon(media, QIcon(":/icons/imagesource.svg"));
break;
case ICON_TYPE_LOADING:
throbber_items_.append(media);
@@ -75,7 +75,7 @@ void MediaIconService::SetMediaIcon(Media *media, int icon_type) {
}
break;
case ICON_TYPE_ERROR:
- olive::project_model.set_icon(media, QIcon(":/icons/error.png"));
+ olive::project_model.set_icon(media, QIcon(":/icons/error.svg"));
break;
}