From ac0ed48df7aae85b3680a45955da7afcd9ad36f9 Mon Sep 17 00:00:00 2001 From: Lukasz Kolodziejczyk Date: Tue, 31 Oct 2017 15:16:40 +0000 Subject: [PATCH 1/2] process-row: Add ellipsize property to title label Resolves issue: https://gitlab.gnome.org/GNOME/gnome-usage/issues/2 --- data/ui/process-row.ui | 2 ++ 1 file changed, 2 insertions(+) diff --git a/data/ui/process-row.ui b/data/ui/process-row.ui index 55f19a65..986adf5c 100644 --- a/data/ui/process-row.ui +++ b/data/ui/process-row.ui @@ -31,6 +31,8 @@ True False + end + 30 False -- GitLab From 60640b9c470d8be8a95da99249b30aee50b4d02f Mon Sep 17 00:00:00 2001 From: Lukasz Kolodziejczyk Date: Thu, 2 Nov 2017 16:44:12 +0000 Subject: [PATCH 2/2] cpu-sub-view: Partial port to Gtk+ This doesn't include: GraphBox, ProcessListBox --- data/org.gnome.Usage.gresource.xml | 2 + data/ui/better-box.ui | 8 ++++ data/ui/cpu-sub-view.ui | 74 ++++++++++++++++++++++++++++++ src/better-box.vala | 1 + src/cpu-sub-view.vala | 57 ++++++++++------------- 5 files changed, 108 insertions(+), 34 deletions(-) create mode 100644 data/ui/better-box.ui create mode 100644 data/ui/cpu-sub-view.ui diff --git a/data/org.gnome.Usage.gresource.xml b/data/org.gnome.Usage.gresource.xml index 84e4e4de..fc447d65 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 00000000..525f1d2e --- /dev/null +++ b/data/ui/better-box.ui @@ -0,0 +1,8 @@ + + + + diff --git a/data/ui/cpu-sub-view.ui b/data/ui/cpu-sub-view.ui new file mode 100644 index 00000000..c33ea65e --- /dev/null +++ b/data/ui/cpu-sub-view.ui @@ -0,0 +1,74 @@ + + + + diff --git a/src/better-box.vala b/src/better-box.vala index db62f347..d5e2fe08 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 d4254891..9e225e90 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() { -- GitLab