diff --git a/data/org.gnome.Usage.gresource.xml b/data/org.gnome.Usage.gresource.xml
index 2f0e1a656f36eeb3d0e6ee4d1dcdf84ea8183a48..887a1d1e77f04e32bcd84fe9979b40a9c771d68e 100644
--- a/data/org.gnome.Usage.gresource.xml
+++ b/data/org.gnome.Usage.gresource.xml
@@ -11,5 +11,7 @@
ui/process-row.ui
ui/sub-process-sub-row.ui
ui/sub-process-list-box.ui
+ ui/cpu-sub-view.ui
+ ui/better-box.ui
diff --git a/data/ui/better-box.ui b/data/ui/better-box.ui
new file mode 100644
index 0000000000000000000000000000000000000000..525f1d2ed73b45056e9aef686f3fdd3fd22ed9b6
--- /dev/null
+++ b/data/ui/better-box.ui
@@ -0,0 +1,8 @@
+
+
+
+ 600
+ horizontal
+ center
+
+
diff --git a/data/ui/cpu-sub-view.ui b/data/ui/cpu-sub-view.ui
new file mode 100644
index 0000000000000000000000000000000000000000..c33ea65e726fba526932670b4205237bf3ddd99a
--- /dev/null
+++ b/data/ui/cpu-sub-view.ui
@@ -0,0 +1,74 @@
+
+
+
+ True
+
+
+
+
+
+
diff --git a/src/better-box.vala b/src/better-box.vala
index db62f3475773edf6722b8f3c2ff545c9c0820691..d5e2fe08749caa0beb39d71c4901aaa0dfbad569 100644
--- a/src/better-box.vala
+++ b/src/better-box.vala
@@ -20,6 +20,7 @@
namespace Usage {
+ [GtkTemplate (ui = "/org/gnome/Usage/ui/better-box.ui")]
public class BetterBox : Gtk.Box
{
public int max_width_request { get; set; default = -1; }
diff --git a/src/cpu-sub-view.vala b/src/cpu-sub-view.vala
index d4254891f586567483c2599d6964b0085d474a4a..9e225e900f15d5d0c20c024bb13559ecc8428194 100644
--- a/src/cpu-sub-view.vala
+++ b/src/cpu-sub-view.vala
@@ -20,64 +20,53 @@
namespace Usage
{
+ [GtkTemplate (ui = "/org/gnome/Usage/ui/cpu-sub-view.ui")]
public class ProcessorSubView : View, SubView
{
- private ProcessListBox process_list_box;
+ [GtkChild]
+ private BetterBox better_box;
+
+ [GtkChild]
+ private Gtk.Box cpu_box;
+
+ [GtkChild]
+ private Gtk.Box graph_placeholder;
+
+ [GtkChild]
+ private Gtk.Box process_list_placeholder;
+
+ [GtkChild]
+ private Gtk.Spinner spinner;
+
+ [GtkChild]
private NoResultsFoundView no_process_view;
+ private ProcessListBox process_list_box;
+
public ProcessorSubView()
{
- name = "PROCESSOR";
-
- var label = new Gtk.Label("" + _("Processor") + "");
- label.set_use_markup(true);
- label.margin_top = 25;
- label.margin_bottom = 15;
-
+ //TODO: Remove graph_placeholder; migrate to gtk+3 templates
var cpu_graph = new CpuGraphBig();
cpu_graph.hexpand = true;
var cpu_graph_box = new GraphBox(cpu_graph);
cpu_graph_box.height_request = 225;
cpu_graph_box.width_request = 600;
cpu_graph_box.valign = Gtk.Align.START;
+ graph_placeholder.add(cpu_graph_box);
+ //TODO: Remove process_list_placeholder; migrate to gtk+3 templates
process_list_box = new ProcessListBox(ProcessListBoxType.PROCESSOR);
process_list_box.margin_bottom = 20;
process_list_box.margin_top = 30;
- var spinner = new Gtk.Spinner();
- spinner.active = true;
- spinner.margin_top = 30;
- spinner.margin_bottom = 20;
-
- no_process_view = new NoResultsFoundView();
-
- var cpu_box = new Gtk.Box(Gtk.Orientation.VERTICAL, 0);
- cpu_box.pack_start(label, false, false, 0);
- cpu_box.pack_start(cpu_graph_box, false, false, 0);
- cpu_box.pack_start(spinner, true, true, 0);
- cpu_box.add(no_process_view);
-
SystemMonitor.get_default().cpu_processes_ready.connect(() =>
{
- cpu_box.pack_start(process_list_box, false, false, 0);
+ process_list_placeholder.pack_start(process_list_box, false, false, 0);
process_list_box.update();
cpu_box.remove(spinner);
});
process_list_box.bind_property ("empty", no_process_view, "visible", BindingFlags.BIDIRECTIONAL);
-
- var better_box = new BetterBox();
- better_box.max_width_request = 600;
- better_box.halign = Gtk.Align.CENTER;
- better_box.orientation = Gtk.Orientation.HORIZONTAL;
- better_box.add(cpu_box);
-
- var scrolled_window = new Gtk.ScrolledWindow(null, null);
- scrolled_window.add(better_box);
- scrolled_window.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC);
-
- add(scrolled_window);
}
public override void show_all() {