Support showing the calendar
This commit is contained in:
parent
d4d7f7d4a8
commit
056f6ac24e
2 changed files with 39 additions and 0 deletions
|
@ -802,6 +802,9 @@ class Contacts.BirthdayFieldRow : DataFieldRow {
|
|||
button.set_relief (ReliefStyle.NONE);
|
||||
button.add (image);
|
||||
this.right_add (button);
|
||||
button.clicked.connect ( () => {
|
||||
Utils.show_calendar (details);
|
||||
});
|
||||
}
|
||||
|
||||
public override void update () {
|
||||
|
|
|
@ -206,4 +206,40 @@ public class Contacts.Utils : Object {
|
|||
entry.select_region (start, end);
|
||||
}
|
||||
|
||||
private static void spawn_app (GLib.Settings app_settings) {
|
||||
var needs_term = app_settings.get_boolean("needs-term");
|
||||
var exec = app_settings.get_string("exec");
|
||||
if (needs_term) {
|
||||
var terminal_settings = new GLib.Settings("org.gnome.desktop.default-applications.terminal");
|
||||
var term = terminal_settings.get_string("exec");
|
||||
var arg = terminal_settings.get_string("exec-arg");
|
||||
string[] args;
|
||||
if (arg != "")
|
||||
args = {term, arg, exec, null};
|
||||
else
|
||||
args = {term, exec, null};
|
||||
|
||||
Process.spawn_async (null, args, null, SpawnFlags.SEARCH_PATH, null, null);
|
||||
} else {
|
||||
Process.spawn_command_line_async (exec);
|
||||
}
|
||||
}
|
||||
|
||||
public static void show_calendar (DateTime? day) {
|
||||
var calendar_settings = new GLib.Settings("org.gnome.desktop.default-applications.office.calendar");
|
||||
var exec = calendar_settings.get_string("exec");
|
||||
if (exec == "" || exec == "evolution") {
|
||||
string[] args = {"evolution", "-c", "calendar", null, null};
|
||||
|
||||
if (day != null) {
|
||||
var d = day.to_local ();
|
||||
var today = new DateTime.now_local ();
|
||||
args[3] = "calendar:///?startdate=%.4d%.2d%.2d".printf (today.get_year (), d.get_month (), d.get_day_of_month ());
|
||||
}
|
||||
|
||||
Process.spawn_async (null, args, null, SpawnFlags.SEARCH_PATH, null, null);
|
||||
} else {
|
||||
spawn_app (calendar_settings);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue