summaryrefslogtreecommitdiff
path: root/src/utils.vala
diff options
context:
space:
mode:
authorLibravatar Mubashshir <ahm@jadupc.com>2023-10-03 09:38:12 +0600
committerLibravatar Mubashshir <ahm@jadupc.com>2023-10-03 09:41:36 +0600
commitdca3fd2c862ae15f47c60e50aaa11bbdf158a101 (patch)
tree040795e0bf4acd9b27f5335dd423906d31b910ca /src/utils.vala
parent17bffaa31b412f7b3c3dd575c6eb666803e15bc4 (diff)
downloadjadupc-remote-support-console-dca3fd2c862ae15f47c60e50aaa11bbdf158a101.tar.gz
jadupc-remote-support-console-dca3fd2c862ae15f47c60e50aaa11bbdf158a101.zip
Finalize UI
Signed-off-by: Mubashshir <ahm@jadupc.com>
Diffstat (limited to 'src/utils.vala')
-rw-r--r--src/utils.vala46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/utils.vala b/src/utils.vala
new file mode 100644
index 0000000..04837df
--- /dev/null
+++ b/src/utils.vala
@@ -0,0 +1,46 @@
+namespace JadupcSupport
+{
+ namespace utils
+ {
+ internal string get_message_icon(Gtk.MessageType type)
+ {
+ switch (type) {
+ case ERROR:
+ return "dialog-error";
+ case INFO:
+ return "dialog-information";
+ case QUESTION:
+ return "dialog-question";
+ case WARNING:
+ return "dialog-warning";
+ default:
+ return "image-missing";
+ }
+ }
+
+// This function takes a visible Gtk Widget and recursively realizes
+// the childrens as Gtk whines on key event if even one
+// ((great)grand)children widget is not realized...
+ internal void realize_all(Gtk.Container container)
+ {
+ if (!container.get_realized())
+ container.realize();
+
+ container.foreach((widget) => {
+ if (widget is Gtk.Container) realize_all(widget as Gtk.Container);
+ else if (!widget.get_realized()) widget.realize();
+ });
+ }
+
+ internal string strret(int ret, string[] retstrs = {})
+ {
+ if (0 < ret <= 64 && !(ret == 11 || ret == 28 || 3 <= ret <= 8))
+ return "%s".printf(strsignal(ret) ?? _("Unknown Signal - %d").printf(ret));
+ else if (128 < ret < 256)
+ return "%s".printf(strsignal(ret - 128) ?? _("Unknown Signal - %d").printf(ret));
+ else if (ret % 256 == 0)
+ return _("Process returned %d").printf(ret / 256);
+ return _("Exit status - %d (unknown)").printf(ret);
+ }
+ }
+}