chiark / gitweb /
systemadm: break timestamp formatting out into a seperate function
[elogind.git] / src / systemadm.vala
index c262794cb719066dfb7312ef907d9335aac49fc7..988e9f173caf43fcdd81c20bd896f1204f4c1548 100644 (file)
@@ -23,6 +23,13 @@ using Pango;
 
 static bool user = false;
 
+public string format_time(uint64 time_ns) {
+        if (time_ns <= 0)
+                return "";
+        Time timestamp = Time.local((time_t) (time_ns / 1000000));
+        return timestamp.format("%a, %d %b %Y %H:%M:%S");
+}
+
 public class LeftLabel : Label {
         public LeftLabel(string? text = null) {
                 if (text != null)
@@ -515,19 +522,10 @@ public class MainWindow : Window {
                 else
                         unit_fragment_path_label.set_text_or_na();
 
-                uint64 t = unit.active_enter_timestamp;
-                if (t > 0) {
-                        Time timestamp = Time.local((time_t) (t / 1000000));
-                        unit_active_enter_timestamp_label.set_text_or_na(timestamp.format("%a, %d %b %Y %H:%M:%S %z"));
-                } else
-                        unit_active_enter_timestamp_label.set_text_or_na();
 
-                t = unit.active_exit_timestamp;
-                if (t > 0) {
-                        Time timestamp = Time.local((time_t) (t / 1000000));
-                        unit_active_exit_timestamp_label.set_text_or_na(timestamp.format("%a, %d %b %Y %H:%M:%S %z"));
-                } else
-                        unit_active_exit_timestamp_label.set_text_or_na();
+                unit_active_enter_timestamp_label.set_text_or_na(format_time(unit.active_enter_timestamp));
+
+                unit_active_exit_timestamp_label.set_text_or_na(format_time(unit.active_exit_timestamp));
 
                 bool b = unit.can_start;
                 start_button.set_sensitive(b);
@@ -1011,7 +1009,7 @@ int main(string[] args) {
         } catch (IOError e) {
                 show_error(e.message);
         } catch (GLib.Error e) {
-                show_error(e.message);
+                stderr.printf("%s\n", e.message);
         }
 
         return 0;