diff --git a/data/icons/clicking.svg b/data/icons/clicking.svg
new file mode 100644
index 00000000..beb0c836
--- /dev/null
+++ b/data/icons/clicking.svg
@@ -0,0 +1,728 @@
+
+
diff --git a/data/icons/quick-settings.svg b/data/icons/quick-settings.svg
new file mode 100644
index 00000000..b009c8bd
--- /dev/null
+++ b/data/icons/quick-settings.svg
@@ -0,0 +1,47 @@
+
+
diff --git a/data/io.elementary.onboarding.gresource.xml b/data/io.elementary.onboarding.gresource.xml
index 650b2102..3d5ab364 100644
--- a/data/io.elementary.onboarding.gresource.xml
+++ b/data/io.elementary.onboarding.gresource.xml
@@ -8,6 +8,9 @@
appearance-scheduled.svg
+ icons/clicking.svg
+ icons/quick-settings.svg
+
folder-screenshots-icon/24.svg
folder-screenshots-icon/24.svg
diff --git a/src/Views/FinishView.vala b/src/Views/FinishView.vala
index 1939e931..e66c246c 100644
--- a/src/Views/FinishView.vala
+++ b/src/Views/FinishView.vala
@@ -26,8 +26,62 @@ public class Onboarding.FinishView : AbstractOnboardingView {
}
construct {
- var link_button = new Gtk.LinkButton.with_label ("settings://", _("Open System Settingsā¦"));
+ var launcher_row = new FinishRow (
+ _("From the Applications menu or by searching for specific settings"),
+ "start-here-symbolic"
+ );
+
+ var quicksettings_row = new FinishRow (
+ _("From the Quick Settings menu or by middle-clicking toggle buttons"),
+ "quick-settings-symbolic"
+ );
+
+ var wallpaper_row = new FinishRow (
+ _("By secondary-clicking on the wallpaper"),
+ "clicking-symbolic"
+ );
+
+ var listbox = new Gtk.ListBox () {
+ show_separators = true,
+ selection_mode = NONE
+ };
+ listbox.add_css_class (Granite.CssClass.CARD);
+ listbox.append (launcher_row);
+ listbox.append (quicksettings_row);
+ listbox.append (wallpaper_row);
+
+ custom_bin.append (listbox);
+ }
+
+ private class FinishRow : Granite.ListItem {
+ public string icon_name { get; construct; }
+ public string label_string { get; construct; }
+
+ public FinishRow (string label_string, string icon_name) {
+ Object (
+ label_string: label_string,
+ icon_name: icon_name
+ );
+ }
+
+ construct {
+ var image = new Gtk.Image.from_icon_name (icon_name) {
+ pixel_size = 16
+ };
+
+ var left_label = new Gtk.Label (label_string) {
+ hexpand = true,
+ max_width_chars = 35,
+ wrap = true,
+ xalign = 0
+ };
+
+ var box = new Granite.Box (HORIZONTAL);
+ box.append (image);
+ box.append (left_label);
- custom_bin.append (link_button);
+ child = box;
+ add_css_class ("link");
+ }
}
}