3 public class AppSettings : Object
6 // what are we going to have as settings?
7 public string roo_html_dir { get; set; }
11 this.notify.connect(() => {
16 public static AppSettings factory()
19 var setting_file = BuilderApplication.configDirectory() + "/builder.settings";
21 if (!FileUtils.test(setting_file, FileTest.EXISTS)) {
22 return new AppSettings();
25 FileUtils.get_contents(setting_file, out data);
26 return Json.gobject_from_data (typeof (AppSettings), data) as AppSettings;
30 var dirname = GLib.Environment.get_home_dir() + "/.Builder";
31 var setting_file = dirname + "/builder.settings";
32 string data = Json.gobject_to_data (this, null);
33 print("saving application settings\n");
34 FileUtils.set_contents(setting_file, data);
41 public static BuilderApplication application = null;
43 public class BuilderApplication : Gtk.Application
52 public const Gtk.TargetEntry[] targetList = {
53 { "INTEGER", 0, Target.INT32 },
54 { "STRING", 0, Target.STRING },
55 { "application/json", 0, Target.STRING },
56 { "text/plain", 0, Target.STRING },
57 { "application/x-rootwindow-drop", 0, Target.ROOTWIN }
59 public AppSettings settings = null;
62 public BuilderApplication ()
65 application_id: "org.roojs.app-builder",
66 flags: ApplicationFlags.FLAGS_NONE
70 this.settings = AppSettings.factory();
77 public static BuilderApplication singleton()
79 if (application==null) {
80 application = new BuilderApplication();
88 public static string configDirectory()
90 var dirname = GLib.Environment.get_home_dir() + "/.Builder";
92 if (!FileUtils.test(dirname,FileTest.IS_DIR)) {
93 var dir = File.new_for_path(dirname);
96 if (!FileUtils.test(dirname + "/resources",FileTest.IS_DIR)) {
97 var dir = File.new_for_path(dirname + "/resources");