Rounded legend icons
This commit is contained in:
committed by
Gaël Bonithon
parent
250a424754
commit
bd56f2ed5e
@@ -385,6 +385,42 @@ xtm_process_window_init (XtmProcessWindow *window)
|
||||
g_signal_connect (G_OBJECT(window->filter_entry), "changed", G_CALLBACK(filter_entry_keyrelease_handler), window->treeview);
|
||||
gtk_widget_set_tooltip_text (window->filter_entry, _("Filter on process name"));
|
||||
gtk_widget_grab_focus (window->filter_entry);
|
||||
|
||||
{
|
||||
const gchar *const captions[] = { _("Starting task"), _("Changing task"), _("Terminating task") };
|
||||
const gchar *styles =
|
||||
".a,.b,.c{border-radius:50%}"
|
||||
".a{background-color:" XTM_LEGEND_COLOR_STARTING "}"
|
||||
".b{background-color:" XTM_LEGEND_COLOR_CHANGING "}"
|
||||
".c{background-color:" XTM_LEGEND_COLOR_TERMINATING "}";
|
||||
const gchar *const classes[] = { "a", "b", "c" };
|
||||
GtkWidget *hbox_legend = GTK_WIDGET (gtk_builder_get_object (window->builder, "legend"));
|
||||
GtkCssProvider *provider = gtk_css_provider_new ();
|
||||
|
||||
gtk_style_context_add_provider_for_screen (gdk_screen_get_default (),
|
||||
GTK_STYLE_PROVIDER (provider),
|
||||
GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
|
||||
gtk_css_provider_load_from_data (provider, styles, -1, NULL);
|
||||
g_object_unref (provider);
|
||||
|
||||
for (guint i = 0; i < G_N_ELEMENTS (captions); ++i)
|
||||
{
|
||||
GtkWidget *hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 4);
|
||||
|
||||
GtkWidget *label = gtk_label_new (NULL);
|
||||
gtk_widget_set_size_request (label, 16, 16);
|
||||
gtk_style_context_add_class (gtk_widget_get_style_context (label), classes[i]);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
|
||||
|
||||
label = gtk_label_new (captions[i]);
|
||||
gtk_label_set_xalign (GTK_LABEL (label), 0.0);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
|
||||
|
||||
gtk_box_pack_start (GTK_BOX (hbox_legend), hbox, FALSE, FALSE, 0);
|
||||
}
|
||||
|
||||
gtk_widget_show_all (hbox_legend);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
@@ -242,45 +242,6 @@
|
||||
<property name="margin_right">6</property>
|
||||
<property name="margin_bottom">6</property>
|
||||
<property name="spacing">18</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes"><span foreground='#000000' background='#aed581'> </span> Starting task</property>
|
||||
<property name="use_markup">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes"><span foreground='#000000' background='#fff176'> </span> Changing task</property>
|
||||
<property name="use_markup">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes"><span foreground='#000000' background='#e57373'> </span> Terminating task</property>
|
||||
<property name="use_markup">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
|
||||
@@ -220,8 +220,8 @@ model_mark_tree_iter_as_removed (GtkTreeModel *model, GtkTreeIter *iter, glong t
|
||||
gtk_list_store_set (GTK_LIST_STORE (model), iter,
|
||||
XTM_PTV_COLUMN_CPU, 0.0,
|
||||
XTM_PTV_COLUMN_CPU_STR, "-",
|
||||
XTM_PTV_COLUMN_BACKGROUND, "#e57373",
|
||||
XTM_PTV_COLUMN_FOREGROUND, "#000000",
|
||||
XTM_PTV_COLUMN_BACKGROUND, XTM_LEGEND_COLOR_TERMINATING,
|
||||
XTM_PTV_COLUMN_FOREGROUND, XTM_LEGEND_COLOR_NONE,
|
||||
XTM_PTV_COLUMN_TIMESTAMP, timestamp,
|
||||
-1);
|
||||
}
|
||||
@@ -287,16 +287,16 @@ model_update_tree_iter (XtmTaskManager *manager, GtkTreeIter *iter, glong timest
|
||||
/* Set yellow color for changing state */
|
||||
g_free (background);
|
||||
g_free (foreground);
|
||||
background = g_strdup ("#fff176");
|
||||
foreground = g_strdup ("#000000");
|
||||
background = g_strdup (XTM_LEGEND_COLOR_CHANGING);
|
||||
foreground = g_strdup (XTM_LEGEND_COLOR_NONE);
|
||||
old_timestamp = timestamp - TIMESTAMP_DELTA + 3;
|
||||
}
|
||||
|
||||
if (timestamp != 0 && (timestamp - old_timestamp) <= TIMESTAMP_DELTA)
|
||||
{
|
||||
/* Set green color for started task */
|
||||
background = (background == NULL) ? g_strdup ("#aed581") : background;
|
||||
foreground = (foreground == NULL) ? g_strdup ("#000000") : foreground;
|
||||
background = (background == NULL) ? g_strdup (XTM_LEGEND_COLOR_STARTING) : background;
|
||||
foreground = (foreground == NULL) ? g_strdup (XTM_LEGEND_COLOR_NONE) : foreground;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -17,6 +17,14 @@
|
||||
#include <glib-object.h>
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
/**
|
||||
* Legend colors
|
||||
*/
|
||||
#define XTM_LEGEND_COLOR_NONE "#000000"
|
||||
#define XTM_LEGEND_COLOR_STARTING "#aed581"
|
||||
#define XTM_LEGEND_COLOR_CHANGING "#fff176"
|
||||
#define XTM_LEGEND_COLOR_TERMINATING "#e57373"
|
||||
|
||||
/**
|
||||
* Task struct used as elements of a task list GArray.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user