diff --git a/AUTHORS b/AUTHORS index 2f10215..5233598 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,4 +1,4 @@ Alastair Poole -Icon: +Icons: Apostolos Bartziokas diff --git a/data/images/go-down.png b/data/images/go-down.png new file mode 100644 index 0000000..93c3644 Binary files /dev/null and b/data/images/go-down.png differ diff --git a/data/images/go-up.png b/data/images/go-up.png new file mode 100644 index 0000000..899e596 Binary files /dev/null and b/data/images/go-up.png differ diff --git a/data/images/meson.build b/data/images/meson.build new file mode 100644 index 0000000..25530a8 --- /dev/null +++ b/data/images/meson.build @@ -0,0 +1,2 @@ +install_data('go-up.png', 'go-down.png', + install_dir: join_paths(dir_data, 'evisum/images')) diff --git a/data/meson.build b/data/meson.build index 8a19d38..db5bf15 100644 --- a/data/meson.build +++ b/data/meson.build @@ -1,2 +1,3 @@ subdir('desktop') subdir('icons') +subdir('images') diff --git a/meson.build b/meson.build index 5f6143b..05b1862 100644 --- a/meson.build +++ b/meson.build @@ -26,6 +26,7 @@ dir_locale = join_paths(dir_prefix, get_option('localedir')) ##### config.h cfg.set_quoted('PACKAGE_VERSION', meson.project_version()) +cfg.set_quoted('PACKAGE_DATA_DIR', join_paths(dir_data, 'evisum')) configure_file(output: 'config.h', configuration: cfg) subdir('src') diff --git a/src/bin/ui.c b/src/bin/ui.c index 24bfa7d..800d0fc 100644 --- a/src/bin/ui.c +++ b/src/bin/ui.c @@ -1,3 +1,4 @@ +#include "config.h" #include "system.h" #include "process.h" #include "disks.h" @@ -12,6 +13,7 @@ static Eina_Lock _lock; + void ui_shutdown(Ui *ui) { @@ -55,7 +57,7 @@ _system_stats(void *data, Ecore_Thread *thread) system_stats_all_get(results); ecore_thread_feedback(thread, results); - // Let's wait 3/4 of a second before updating. + // Let's wait 3/4 of a second before updating. for (int i = 0; i < 3; i++) { if (ecore_thread_check(thread)) @@ -110,6 +112,42 @@ _network_transfer_format(double rate) return strdup(eina_slstr_printf("%.2f %s", rate, unit)); } +char * +_path_append(const char *path, const char *file) +{ + char *concat; + int len; + char separator = '/'; +#ifdef WIN32 + separator = '\\'; +#endif + + len = strlen(path) + strlen(file) + 2; + concat = malloc(len * sizeof(char)); + snprintf(concat, len, "%s%c%s", path, separator, file); + + return concat; +} + +const char * +_icon_path_get(const char *name) +{ + char *path; + const char *icon_path, *directory = PACKAGE_DATA_DIR "/images"; + icon_path = name; + + path = _path_append(directory, eina_slstr_printf("%s.png", name)); + if (path) + { + if (ecore_file_exists(path)) + icon_path = eina_slstr_printf("%s", path); + + free(path); + } + + return icon_path; +} + static void _tab_misc_update(Ui *ui, results_t *results) { @@ -132,14 +170,14 @@ _tab_misc_update(Ui *ui, results_t *results) evas_object_size_hint_align_set(frame, EVAS_HINT_FILL, 0); evas_object_size_hint_weight_set(frame, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - Eina_Strbuf *buf = eina_strbuf_new(); - eina_strbuf_append_printf(buf, "Battery %s ", results->power.battery_names[i]); + Eina_Strbuf *buf = eina_strbuf_new(); + eina_strbuf_append_printf(buf, "Battery %s ", results->power.battery_names[i]); if (results->power.have_ac && i == 0) - eina_strbuf_append(buf, "(plugged in)"); + eina_strbuf_append(buf, "(plugged in)"); elm_object_text_set(frame, eina_strbuf_string_get(buf)); - eina_strbuf_free(buf); + eina_strbuf_free(buf); evas_object_show(frame); progress = elm_progressbar_add(frame); @@ -152,8 +190,8 @@ _tab_misc_update(Ui *ui, results_t *results) elm_object_content_set(frame, progress); elm_box_pack_end(box, frame); - free(results->power.battery_names[i]); - free(results->power.batteries[i]); + free(results->power.battery_names[i]); + free(results->power.batteries[i]); } if (results->power.batteries) @@ -848,9 +886,9 @@ _btn_icon_state_set(Evas_Object *button, Eina_Bool reverse) { Evas_Object *icon = elm_icon_add(button); if (reverse) - elm_icon_standard_set(icon, "go-down"); + elm_icon_standard_set(icon, _icon_path_get("go-down")); else - elm_icon_standard_set(icon, "go-up"); + elm_icon_standard_set(icon, _icon_path_get("go-up")); elm_object_part_content_set(button, "icon", icon); evas_object_show(icon);