+ GtkWindow *window;
+ GtkWidget *btn;
+ GtkBuilder *builder;
+ int optc, cmdok, opti;
+
+ program_name = argv[0];
+
+ setlocale(LC_ALL, "");
+
+#if ENABLE_NLS
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+#endif
+
+ cmdok = 1;
+ while ((optc = getopt_long(argc, argv, "vhd:", long_options,
+ &opti)) != -1) {
+ switch (optc) {
+ case 'h':
+ print_help();
+ exit(EXIT_SUCCESS);
+ case 'v':
+ print_version();
+ exit(EXIT_SUCCESS);
+ case 'd':
+ log_level = atoi(optarg);
+ log_info(_("Enables debug mode."));
+ break;
+ default:
+ cmdok = 0;
+ break;
+ }
+ }
+
+ if (!cmdok || optind != argc) {
+ fprintf(stderr, _("Try `%s --help' for more information.\n"),
+ program_name);
+ exit(EXIT_FAILURE);
+ }
+
+ log_init();
+
+ gtk_init(NULL, NULL);
+
+ settings = g_settings_new("ptask");
+
+ builder = gtk_builder_new();
+ gtk_builder_add_from_file
+ (builder,
+ PACKAGE_DATA_DIR G_DIR_SEPARATOR_S "ptask.glade",
+ NULL);
+ window = create_window(builder, settings);
+
+ ui_taskpanel_init(builder);
+ ui_tasktree_init(builder);
+ ui_projecttree_init(builder);
+
+ w_treeview = GTK_TREE_VIEW(gtk_builder_get_object(builder, "tasktree"));
+
+ w_note = GTK_TEXT_VIEW(gtk_builder_get_object(builder, "tasknote"));
+
+ w_description = GTK_ENTRY(gtk_builder_get_object(builder,
+ "taskdescription"));
+ w_project = GTK_ENTRY(gtk_builder_get_object(builder, "taskproject"));
+ w_status = GTK_COMBO_BOX(gtk_builder_get_object(builder, "status"));
+ w_priority = GTK_COMBO_BOX(gtk_builder_get_object(builder,
+ "taskpriority"));
+
+ gtk_builder_connect_signals(builder, NULL);
+
+ g_signal_connect(w_treeview,
+ "cursor-changed", (GCallback)cursor_changed_cbk,
+ tasks);
+ g_signal_connect(w_status,
+ "changed", (GCallback)status_changed_cbk,
+ tasks);
+
+ btn = GTK_WIDGET(gtk_builder_get_object(builder, "tasksave"));
+ g_signal_connect(btn,
+ "clicked", (GCallback)tasksave_clicked_cbk, tasks);
+ gtk_widget_set_sensitive(btn, 0);
+ w_tasksave_btn = btn;
+
+ w_taskdone_btn = GTK_WIDGET(gtk_builder_get_object(builder,
+ "taskdone"));
+ gtk_widget_set_sensitive(w_taskdone_btn, 0);
+
+ g_object_unref(G_OBJECT(builder));
+
+ refresh();