1 /* project_dialogs.c generated by valac 0.48.9, the Vala compiler
2  * generated from project_dialogs.vala, do not modify */
3 
4 /*
5  * This file is part of GNOME LaTeX.
6  *
7  * Copyright © 2010-2011, 2015 Sébastien Wilmet
8  *
9  * GNOME LaTeX is free software: you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License as published by
11  * the Free Software Foundation, either version 3 of the License, or
12  * (at your option) any later version.
13  *
14  * GNOME LaTeX is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  * GNU General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with GNOME LaTeX.  If not, see <http://www.gnu.org/licenses/>.
21  */
22 
23 #include <gtk/gtk.h>
24 #include <glib-object.h>
25 #include <glib.h>
26 #include <glib/gi18n-lib.h>
27 #include <latexila.h>
28 #include <gio/gio.h>
29 #include <tepl/tepl.h>
30 #include <string.h>
31 #include <stdlib.h>
32 #include <gee.h>
33 
34 #define TYPE_MAIN_WINDOW (main_window_get_type ())
35 #define MAIN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MAIN_WINDOW, MainWindow))
36 #define MAIN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MAIN_WINDOW, MainWindowClass))
37 #define IS_MAIN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MAIN_WINDOW))
38 #define IS_MAIN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MAIN_WINDOW))
39 #define MAIN_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MAIN_WINDOW, MainWindowClass))
40 
41 typedef struct _MainWindow MainWindow;
42 typedef struct _MainWindowClass MainWindowClass;
43 typedef struct _Block26Data Block26Data;
44 #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
45 
46 #define TYPE_DOCUMENT (document_get_type ())
47 #define DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DOCUMENT, Document))
48 #define DOCUMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DOCUMENT, DocumentClass))
49 #define IS_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DOCUMENT))
50 #define IS_DOCUMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DOCUMENT))
51 #define DOCUMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DOCUMENT, DocumentClass))
52 
53 typedef struct _Document Document;
54 typedef struct _DocumentClass DocumentClass;
55 
56 #define TYPE_PROJECT (project_get_type ())
57 typedef struct _Project Project;
58 
59 #define TYPE_PROJECTS (projects_get_type ())
60 #define PROJECTS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PROJECTS, Projects))
61 #define PROJECTS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PROJECTS, ProjectsClass))
62 #define IS_PROJECTS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PROJECTS))
63 #define IS_PROJECTS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PROJECTS))
64 #define PROJECTS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PROJECTS, ProjectsClass))
65 
66 typedef struct _Projects Projects;
67 typedef struct _ProjectsClass ProjectsClass;
68 #define _projects_unref0(var) ((var == NULL) ? NULL : (var = (projects_unref (var), NULL)))
69 #define _g_free0(var) (var = (g_free (var), NULL))
70 #define _project_free0(var) ((var == NULL) ? NULL : (var = (project_free (var), NULL)))
71 typedef enum  {
72 	PROJECT_DIALOGS_PROJECT_COLUMN_DIRECTORY,
73 	PROJECT_DIALOGS_PROJECT_COLUMN_MAIN_FILE,
74 	PROJECT_DIALOGS_PROJECT_COLUMN_N_COLUMNS
75 } ProjectDialogsProjectColumn;
76 
77 #define PROJECT_DIALOGS_TYPE_PROJECT_COLUMN (project_dialogs_project_column_get_type ())
78 typedef struct _Block27Data Block27Data;
79 
80 struct _Block26Data {
81 	int _ref_count_;
82 	GtkFileChooserButton* directory_chooser;
83 	GtkFileChooserButton* main_file_chooser;
84 };
85 
86 struct _Project {
87 	GFile* directory;
88 	GFile* main_file;
89 };
90 
91 struct _Block27Data {
92 	int _ref_count_;
93 	GtkDialog* dialog;
94 	GtkListStore* store;
95 	GtkTreeView* treeview;
96 };
97 
98 GType main_window_get_type (void) G_GNUC_CONST;
99 G_DEFINE_AUTOPTR_CLEANUP_FUNC (MainWindow, g_object_unref)
100 void project_dialogs_new_project (MainWindow* main_window);
101 static Block26Data* block26_data_ref (Block26Data* _data26_);
102 static void block26_data_unref (void * _userdata_);
103 static void __lambda59_ (Block26Data* _data26_);
104 static void ___lambda59__gtk_file_chooser_button_file_set (GtkFileChooserButton* _sender,
105                                                     gpointer self);
106 GType document_get_type (void) G_GNUC_CONST;
107 G_DEFINE_AUTOPTR_CLEANUP_FUNC (Document, g_object_unref)
108 Document* main_window_get_active_document (MainWindow* self);
109 GFile* document_get_location (Document* self);
110 gboolean project_dialogs_main_file_is_in_directory (GtkWindow* window,
111                                                     GFile* main_file,
112                                                     GFile* directory);
113 GType project_get_type (void) G_GNUC_CONST;
114 Project* project_dup (const Project* self);
115 void project_free (Project* self);
116 void project_copy (const Project* self,
117                    Project* dest);
118 void project_destroy (Project* self);
119 gpointer projects_ref (gpointer instance);
120 void projects_unref (gpointer instance);
121 GParamSpec* param_spec_projects (const gchar* name,
122                                  const gchar* nick,
123                                  const gchar* blurb,
124                                  GType object_type,
125                                  GParamFlags flags);
126 void value_set_projects (GValue* value,
127                          gpointer v_object);
128 void value_take_projects (GValue* value,
129                           gpointer v_object);
130 gpointer value_get_projects (const GValue* value);
131 GType projects_get_type (void) G_GNUC_CONST;
132 G_DEFINE_AUTOPTR_CLEANUP_FUNC (Projects, projects_unref)
133 Projects* projects_get_default (void);
134 gboolean projects_add (Projects* self,
135                        Project* new_project,
136                        GFile* * conflict_file);
137 gboolean project_dialogs_configure_project (GtkWindow* main_window,
138                                             gint project_id);
139 Project* projects_get (Projects* self,
140                        gint id);
141 gboolean projects_change_main_file (Projects* self,
142                                     gint num,
143                                     GFile* new_main_file);
144 GType project_dialogs_project_column_get_type (void) G_GNUC_CONST;
145 void project_dialogs_manage_projects (MainWindow* main_window);
146 static Block27Data* block27_data_ref (Block27Data* _data27_);
147 static void block27_data_unref (void * _userdata_);
148 void project_dialogs_update_model (GtkListStore* model);
149 GtkScrolledWindow* utils_add_scrollbar (GtkWidget* child);
150 static void __lambda60_ (Block27Data* _data27_);
151 gint utils_get_selected_row (GtkTreeView* view,
152                              GtkTreeIter* iter);
153 static void ___lambda60__gtk_button_clicked (GtkButton* _sender,
154                                       gpointer self);
155 static void __lambda61_ (Block27Data* _data27_);
156 void projects_delete (Projects* self,
157                       gint num);
158 static void ___lambda61__gtk_button_clicked (GtkButton* _sender,
159                                       gpointer self);
160 static void __lambda62_ (Block27Data* _data27_);
161 void projects_clear_all (Projects* self);
162 static void ___lambda62__gtk_button_clicked (GtkButton* _sender,
163                                       gpointer self);
164 GeeIterator* projects_iterator (Projects* self);
165 
166 static Block26Data*
block26_data_ref(Block26Data * _data26_)167 block26_data_ref (Block26Data* _data26_)
168 {
169 #line 24 "project_dialogs.vala"
170 	g_atomic_int_inc (&_data26_->_ref_count_);
171 #line 24 "project_dialogs.vala"
172 	return _data26_;
173 #line 174 "project_dialogs.c"
174 }
175 
176 static void
block26_data_unref(void * _userdata_)177 block26_data_unref (void * _userdata_)
178 {
179 	Block26Data* _data26_;
180 	_data26_ = (Block26Data*) _userdata_;
181 #line 24 "project_dialogs.vala"
182 	if (g_atomic_int_dec_and_test (&_data26_->_ref_count_)) {
183 #line 24 "project_dialogs.vala"
184 		_g_object_unref0 (_data26_->main_file_chooser);
185 #line 24 "project_dialogs.vala"
186 		_g_object_unref0 (_data26_->directory_chooser);
187 #line 24 "project_dialogs.vala"
188 		g_slice_free (Block26Data, _data26_);
189 #line 190 "project_dialogs.c"
190 	}
191 }
192 
193 static gpointer
_g_object_ref0(gpointer self)194 _g_object_ref0 (gpointer self)
195 {
196 #line 37 "project_dialogs.vala"
197 	return self ? g_object_ref (self) : NULL;
198 #line 199 "project_dialogs.c"
199 }
200 
201 static void
__lambda59_(Block26Data * _data26_)202 __lambda59_ (Block26Data* _data26_)
203 {
204 	GFile* dir = NULL;
205 	GtkFileChooserButton* _tmp0_;
206 	GFile* _tmp1_;
207 	GError* _inner_error0_ = NULL;
208 #line 56 "project_dialogs.vala"
209 	_tmp0_ = _data26_->directory_chooser;
210 #line 56 "project_dialogs.vala"
211 	_tmp1_ = gtk_file_chooser_get_file ((GtkFileChooser*) _tmp0_);
212 #line 56 "project_dialogs.vala"
213 	dir = _tmp1_;
214 #line 215 "project_dialogs.c"
215 	{
216 		GtkFileChooserButton* _tmp2_;
217 #line 59 "project_dialogs.vala"
218 		_tmp2_ = _data26_->main_file_chooser;
219 #line 59 "project_dialogs.vala"
220 		gtk_file_chooser_set_current_folder_file ((GtkFileChooser*) _tmp2_, dir, &_inner_error0_);
221 #line 59 "project_dialogs.vala"
222 		if (G_UNLIKELY (_inner_error0_ != NULL)) {
223 #line 224 "project_dialogs.c"
224 			goto __catch0_g_error;
225 		}
226 	}
227 	goto __finally0;
228 	__catch0_g_error:
229 	{
230 #line 57 "project_dialogs.vala"
231 		g_clear_error (&_inner_error0_);
232 #line 233 "project_dialogs.c"
233 	}
234 	__finally0:
235 #line 57 "project_dialogs.vala"
236 	if (G_UNLIKELY (_inner_error0_ != NULL)) {
237 #line 57 "project_dialogs.vala"
238 		_g_object_unref0 (dir);
239 #line 57 "project_dialogs.vala"
240 		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
241 #line 57 "project_dialogs.vala"
242 		g_clear_error (&_inner_error0_);
243 #line 57 "project_dialogs.vala"
244 		return;
245 #line 246 "project_dialogs.c"
246 	}
247 #line 54 "project_dialogs.vala"
248 	_g_object_unref0 (dir);
249 #line 250 "project_dialogs.c"
250 }
251 
252 static void
___lambda59__gtk_file_chooser_button_file_set(GtkFileChooserButton * _sender,gpointer self)253 ___lambda59__gtk_file_chooser_button_file_set (GtkFileChooserButton* _sender,
254                                                gpointer self)
255 {
256 #line 54 "project_dialogs.vala"
257 	__lambda59_ (self);
258 #line 259 "project_dialogs.c"
259 }
260 
261 void
project_dialogs_new_project(MainWindow * main_window)262 project_dialogs_new_project (MainWindow* main_window)
263 {
264 	Block26Data* _data26_;
265 	GtkDialog* dialog = NULL;
266 	GObject* _tmp0_;
267 	GObject* _tmp1_;
268 	GtkDialog* _tmp2_;
269 	GtkDialog* _tmp3_;
270 	GtkDialog* _tmp4_;
271 	GtkDialog* _tmp5_;
272 	GtkDialog* _tmp6_;
273 	GtkDialog* _tmp7_;
274 	GtkDialog* _tmp8_;
275 	GtkDialog* _tmp9_;
276 	GtkBox* content_area = NULL;
277 	GtkDialog* _tmp10_;
278 	GtkBox* _tmp11_;
279 	GtkBox* _tmp12_;
280 	GtkFileChooserButton* _tmp13_;
281 	GtkWidget* component = NULL;
282 	GtkFileChooserButton* _tmp14_;
283 	GtkWidget* _tmp15_;
284 	GtkWidget* _tmp16_;
285 	GtkBox* _tmp17_;
286 	GtkWidget* _tmp18_;
287 	GtkFileChooserButton* _tmp19_;
288 	GtkFileChooserButton* _tmp20_;
289 	GtkWidget* _tmp21_;
290 	GtkWidget* _tmp22_;
291 	GtkBox* _tmp23_;
292 	GtkWidget* _tmp24_;
293 	GtkBox* _tmp25_;
294 	GtkFileChooserButton* _tmp26_;
295 	Document* doc = NULL;
296 	Document* _tmp27_;
297 	Document* _tmp28_;
298 	Document* _tmp29_;
299 	gboolean _tmp30_ = FALSE;
300 	Document* _tmp31_;
301 	GtkDialog* _tmp78_;
302 	GError* _inner_error0_ = NULL;
303 #line 24 "project_dialogs.vala"
304 	g_return_if_fail (main_window != NULL);
305 #line 24 "project_dialogs.vala"
306 	_data26_ = g_slice_new0 (Block26Data);
307 #line 24 "project_dialogs.vala"
308 	_data26_->_ref_count_ = 1;
309 #line 26 "project_dialogs.vala"
310 	_tmp0_ = g_object_new (gtk_dialog_get_type (), "use-header-bar", TRUE, NULL, NULL);
311 #line 26 "project_dialogs.vala"
312 	_tmp1_ = G_IS_INITIALLY_UNOWNED (_tmp0_) ? g_object_ref_sink (_tmp0_) : _tmp0_;
313 #line 26 "project_dialogs.vala"
314 	_tmp2_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, gtk_dialog_get_type ()) ? ((GtkDialog*) _tmp1_) : NULL;
315 #line 26 "project_dialogs.vala"
316 	if (_tmp2_ == NULL) {
317 #line 26 "project_dialogs.vala"
318 		_g_object_unref0 (_tmp1_);
319 #line 320 "project_dialogs.c"
320 	}
321 #line 26 "project_dialogs.vala"
322 	dialog = _tmp2_;
323 #line 28 "project_dialogs.vala"
324 	_tmp3_ = dialog;
325 #line 28 "project_dialogs.vala"
326 	gtk_window_set_title ((GtkWindow*) _tmp3_, _ ("New Project"));
327 #line 29 "project_dialogs.vala"
328 	_tmp4_ = dialog;
329 #line 29 "project_dialogs.vala"
330 	gtk_window_set_destroy_with_parent ((GtkWindow*) _tmp4_, TRUE);
331 #line 30 "project_dialogs.vala"
332 	_tmp5_ = dialog;
333 #line 30 "project_dialogs.vala"
334 	gtk_window_set_transient_for ((GtkWindow*) _tmp5_, (GtkWindow*) main_window);
335 #line 31 "project_dialogs.vala"
336 	_tmp6_ = dialog;
337 #line 31 "project_dialogs.vala"
338 	gtk_dialog_add_button (_tmp6_, _ ("_Cancel"), (gint) GTK_RESPONSE_CANCEL);
339 #line 32 "project_dialogs.vala"
340 	_tmp7_ = dialog;
341 #line 32 "project_dialogs.vala"
342 	gtk_dialog_add_button (_tmp7_, _ ("Crea_te"), (gint) GTK_RESPONSE_OK);
343 #line 33 "project_dialogs.vala"
344 	_tmp8_ = dialog;
345 #line 33 "project_dialogs.vala"
346 	gtk_dialog_set_default_response (_tmp8_, (gint) GTK_RESPONSE_OK);
347 #line 34 "project_dialogs.vala"
348 	_tmp9_ = dialog;
349 #line 34 "project_dialogs.vala"
350 	gtk_widget_set_size_request ((GtkWidget*) _tmp9_, 450, -1);
351 #line 37 "project_dialogs.vala"
352 	_tmp10_ = dialog;
353 #line 37 "project_dialogs.vala"
354 	_tmp11_ = gtk_dialog_get_content_area (_tmp10_);
355 #line 37 "project_dialogs.vala"
356 	_tmp12_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp11_, gtk_box_get_type ()) ? ((GtkBox*) _tmp11_) : NULL);
357 #line 37 "project_dialogs.vala"
358 	content_area = _tmp12_;
359 #line 40 "project_dialogs.vala"
360 	_tmp13_ = (GtkFileChooserButton*) gtk_file_chooser_button_new (_ ("Directory"), GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER);
361 #line 40 "project_dialogs.vala"
362 	g_object_ref_sink (_tmp13_);
363 #line 40 "project_dialogs.vala"
364 	_data26_->directory_chooser = _tmp13_;
365 #line 42 "project_dialogs.vala"
366 	_tmp14_ = _data26_->directory_chooser;
367 #line 42 "project_dialogs.vala"
368 	_tmp15_ = latexila_utils_get_dialog_component (_ ("Directory"), (GtkWidget*) _tmp14_);
369 #line 42 "project_dialogs.vala"
370 	_tmp16_ = _g_object_ref0 (_tmp15_);
371 #line 42 "project_dialogs.vala"
372 	component = _tmp16_;
373 #line 43 "project_dialogs.vala"
374 	_tmp17_ = content_area;
375 #line 43 "project_dialogs.vala"
376 	_tmp18_ = component;
377 #line 43 "project_dialogs.vala"
378 	gtk_box_pack_start (_tmp17_, _tmp18_, FALSE, TRUE, (guint) 0);
379 #line 46 "project_dialogs.vala"
380 	_tmp19_ = (GtkFileChooserButton*) gtk_file_chooser_button_new (_ ("Main File"), GTK_FILE_CHOOSER_ACTION_OPEN);
381 #line 46 "project_dialogs.vala"
382 	g_object_ref_sink (_tmp19_);
383 #line 46 "project_dialogs.vala"
384 	_data26_->main_file_chooser = _tmp19_;
385 #line 48 "project_dialogs.vala"
386 	_tmp20_ = _data26_->main_file_chooser;
387 #line 48 "project_dialogs.vala"
388 	_tmp21_ = latexila_utils_get_dialog_component (_ ("Main File"), (GtkWidget*) _tmp20_);
389 #line 48 "project_dialogs.vala"
390 	_tmp22_ = _g_object_ref0 (_tmp21_);
391 #line 48 "project_dialogs.vala"
392 	_g_object_unref0 (component);
393 #line 48 "project_dialogs.vala"
394 	component = _tmp22_;
395 #line 49 "project_dialogs.vala"
396 	_tmp23_ = content_area;
397 #line 49 "project_dialogs.vala"
398 	_tmp24_ = component;
399 #line 49 "project_dialogs.vala"
400 	gtk_box_pack_start (_tmp23_, _tmp24_, FALSE, TRUE, (guint) 0);
401 #line 51 "project_dialogs.vala"
402 	_tmp25_ = content_area;
403 #line 51 "project_dialogs.vala"
404 	gtk_widget_show_all ((GtkWidget*) _tmp25_);
405 #line 54 "project_dialogs.vala"
406 	_tmp26_ = _data26_->directory_chooser;
407 #line 54 "project_dialogs.vala"
408 	g_signal_connect_data (_tmp26_, "file-set", (GCallback) ___lambda59__gtk_file_chooser_button_file_set, block26_data_ref (_data26_), (GClosureNotify) block26_data_unref, 0);
409 #line 65 "project_dialogs.vala"
410 	_tmp27_ = main_window_get_active_document (main_window);
411 #line 65 "project_dialogs.vala"
412 	_tmp28_ = _tmp27_;
413 #line 65 "project_dialogs.vala"
414 	_tmp29_ = _g_object_ref0 (_tmp28_);
415 #line 65 "project_dialogs.vala"
416 	doc = _tmp29_;
417 #line 66 "project_dialogs.vala"
418 	_tmp31_ = doc;
419 #line 66 "project_dialogs.vala"
420 	if (_tmp31_ != NULL) {
421 #line 422 "project_dialogs.c"
422 		Document* _tmp32_;
423 		GFile* _tmp33_;
424 		GFile* _tmp34_;
425 #line 66 "project_dialogs.vala"
426 		_tmp32_ = doc;
427 #line 66 "project_dialogs.vala"
428 		_tmp33_ = document_get_location (_tmp32_);
429 #line 66 "project_dialogs.vala"
430 		_tmp34_ = _tmp33_;
431 #line 66 "project_dialogs.vala"
432 		_tmp30_ = _tmp34_ != NULL;
433 #line 434 "project_dialogs.c"
434 	} else {
435 #line 66 "project_dialogs.vala"
436 		_tmp30_ = FALSE;
437 #line 438 "project_dialogs.c"
438 	}
439 #line 66 "project_dialogs.vala"
440 	if (_tmp30_) {
441 #line 442 "project_dialogs.c"
442 		{
443 			GtkFileChooserButton* _tmp35_;
444 			Document* _tmp36_;
445 			GFile* _tmp37_;
446 			GFile* _tmp38_;
447 			GFile* _tmp39_;
448 			GFile* _tmp40_;
449 			GtkFileChooserButton* _tmp41_;
450 			Document* _tmp42_;
451 			GFile* _tmp43_;
452 			GFile* _tmp44_;
453 #line 70 "project_dialogs.vala"
454 			_tmp35_ = _data26_->directory_chooser;
455 #line 70 "project_dialogs.vala"
456 			_tmp36_ = doc;
457 #line 70 "project_dialogs.vala"
458 			_tmp37_ = document_get_location (_tmp36_);
459 #line 70 "project_dialogs.vala"
460 			_tmp38_ = _tmp37_;
461 #line 70 "project_dialogs.vala"
462 			_tmp39_ = g_file_get_parent (_tmp38_);
463 #line 70 "project_dialogs.vala"
464 			_tmp40_ = _tmp39_;
465 #line 70 "project_dialogs.vala"
466 			gtk_file_chooser_set_file ((GtkFileChooser*) _tmp35_, _tmp40_, &_inner_error0_);
467 #line 70 "project_dialogs.vala"
468 			_g_object_unref0 (_tmp40_);
469 #line 70 "project_dialogs.vala"
470 			if (G_UNLIKELY (_inner_error0_ != NULL)) {
471 #line 472 "project_dialogs.c"
472 				goto __catch0_g_error;
473 			}
474 #line 71 "project_dialogs.vala"
475 			_tmp41_ = _data26_->main_file_chooser;
476 #line 71 "project_dialogs.vala"
477 			_tmp42_ = doc;
478 #line 71 "project_dialogs.vala"
479 			_tmp43_ = document_get_location (_tmp42_);
480 #line 71 "project_dialogs.vala"
481 			_tmp44_ = _tmp43_;
482 #line 71 "project_dialogs.vala"
483 			gtk_file_chooser_set_file ((GtkFileChooser*) _tmp41_, _tmp44_, &_inner_error0_);
484 #line 71 "project_dialogs.vala"
485 			if (G_UNLIKELY (_inner_error0_ != NULL)) {
486 #line 487 "project_dialogs.c"
487 				goto __catch0_g_error;
488 			}
489 		}
490 		goto __finally0;
491 		__catch0_g_error:
492 		{
493 #line 68 "project_dialogs.vala"
494 			g_clear_error (&_inner_error0_);
495 #line 496 "project_dialogs.c"
496 		}
497 		__finally0:
498 #line 68 "project_dialogs.vala"
499 		if (G_UNLIKELY (_inner_error0_ != NULL)) {
500 #line 68 "project_dialogs.vala"
501 			_g_object_unref0 (doc);
502 #line 68 "project_dialogs.vala"
503 			_g_object_unref0 (component);
504 #line 68 "project_dialogs.vala"
505 			_g_object_unref0 (content_area);
506 #line 68 "project_dialogs.vala"
507 			_g_object_unref0 (dialog);
508 #line 68 "project_dialogs.vala"
509 			block26_data_unref (_data26_);
510 #line 68 "project_dialogs.vala"
511 			_data26_ = NULL;
512 #line 68 "project_dialogs.vala"
513 			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
514 #line 68 "project_dialogs.vala"
515 			g_clear_error (&_inner_error0_);
516 #line 68 "project_dialogs.vala"
517 			return;
518 #line 519 "project_dialogs.c"
519 		}
520 	}
521 #line 76 "project_dialogs.vala"
522 	while (TRUE) {
523 #line 524 "project_dialogs.c"
524 		GtkDialog* _tmp45_;
525 		GFile* directory = NULL;
526 		GtkFileChooserButton* _tmp46_;
527 		GFile* _tmp47_;
528 		GFile* main_file = NULL;
529 		GtkFileChooserButton* _tmp48_;
530 		GFile* _tmp49_;
531 		gboolean _tmp50_ = FALSE;
532 		GFile* _tmp51_;
533 		GtkDialog* _tmp53_;
534 		GFile* _tmp54_;
535 		GFile* _tmp55_;
536 		Project project = {0};
537 		GFile* _tmp56_;
538 		GFile* _tmp57_;
539 		GFile* _tmp58_;
540 		GFile* _tmp59_;
541 		GFile* conflict = NULL;
542 		Projects* _tmp60_;
543 		Projects* _tmp61_;
544 		Project _tmp62_;
545 		GFile* _tmp63_ = NULL;
546 		gboolean _tmp64_;
547 		gboolean _tmp65_;
548 		GtkDialog* error_dialog = NULL;
549 		GtkDialog* _tmp66_;
550 		GFile* _tmp67_;
551 		gchar* _tmp68_;
552 		gchar* _tmp69_;
553 		gchar* _tmp70_;
554 		gchar* _tmp71_;
555 		gchar* _tmp72_;
556 		gchar* _tmp73_;
557 		GtkMessageDialog* _tmp74_;
558 		GtkDialog* _tmp75_;
559 		GtkDialog* _tmp76_;
560 		GtkDialog* _tmp77_;
561 #line 76 "project_dialogs.vala"
562 		_tmp45_ = dialog;
563 #line 76 "project_dialogs.vala"
564 		if (!(gtk_dialog_run (_tmp45_) == ((gint) GTK_RESPONSE_OK))) {
565 #line 76 "project_dialogs.vala"
566 			break;
567 #line 568 "project_dialogs.c"
568 		}
569 #line 78 "project_dialogs.vala"
570 		_tmp46_ = _data26_->directory_chooser;
571 #line 78 "project_dialogs.vala"
572 		_tmp47_ = gtk_file_chooser_get_file ((GtkFileChooser*) _tmp46_);
573 #line 78 "project_dialogs.vala"
574 		directory = _tmp47_;
575 #line 79 "project_dialogs.vala"
576 		_tmp48_ = _data26_->main_file_chooser;
577 #line 79 "project_dialogs.vala"
578 		_tmp49_ = gtk_file_chooser_get_file ((GtkFileChooser*) _tmp48_);
579 #line 79 "project_dialogs.vala"
580 		main_file = _tmp49_;
581 #line 81 "project_dialogs.vala"
582 		_tmp51_ = directory;
583 #line 81 "project_dialogs.vala"
584 		if (_tmp51_ == NULL) {
585 #line 81 "project_dialogs.vala"
586 			_tmp50_ = TRUE;
587 #line 588 "project_dialogs.c"
588 		} else {
589 			GFile* _tmp52_;
590 #line 81 "project_dialogs.vala"
591 			_tmp52_ = main_file;
592 #line 81 "project_dialogs.vala"
593 			_tmp50_ = _tmp52_ == NULL;
594 #line 595 "project_dialogs.c"
595 		}
596 #line 81 "project_dialogs.vala"
597 		if (_tmp50_) {
598 #line 82 "project_dialogs.vala"
599 			_g_object_unref0 (main_file);
600 #line 82 "project_dialogs.vala"
601 			_g_object_unref0 (directory);
602 #line 82 "project_dialogs.vala"
603 			continue;
604 #line 605 "project_dialogs.c"
605 		}
606 #line 85 "project_dialogs.vala"
607 		_tmp53_ = dialog;
608 #line 85 "project_dialogs.vala"
609 		_tmp54_ = main_file;
610 #line 85 "project_dialogs.vala"
611 		_tmp55_ = directory;
612 #line 85 "project_dialogs.vala"
613 		if (!project_dialogs_main_file_is_in_directory ((GtkWindow*) _tmp53_, _tmp54_, _tmp55_)) {
614 #line 86 "project_dialogs.vala"
615 			_g_object_unref0 (main_file);
616 #line 86 "project_dialogs.vala"
617 			_g_object_unref0 (directory);
618 #line 86 "project_dialogs.vala"
619 			continue;
620 #line 621 "project_dialogs.c"
621 		}
622 #line 89 "project_dialogs.vala"
623 		memset (&project, 0, sizeof (Project));
624 #line 90 "project_dialogs.vala"
625 		_tmp56_ = directory;
626 #line 90 "project_dialogs.vala"
627 		_tmp57_ = _g_object_ref0 (_tmp56_);
628 #line 90 "project_dialogs.vala"
629 		_g_object_unref0 (project.directory);
630 #line 90 "project_dialogs.vala"
631 		project.directory = _tmp57_;
632 #line 91 "project_dialogs.vala"
633 		_tmp58_ = main_file;
634 #line 91 "project_dialogs.vala"
635 		_tmp59_ = _g_object_ref0 (_tmp58_);
636 #line 91 "project_dialogs.vala"
637 		_g_object_unref0 (project.main_file);
638 #line 91 "project_dialogs.vala"
639 		project.main_file = _tmp59_;
640 #line 94 "project_dialogs.vala"
641 		_tmp60_ = projects_get_default ();
642 #line 94 "project_dialogs.vala"
643 		_tmp61_ = _tmp60_;
644 #line 94 "project_dialogs.vala"
645 		_tmp62_ = project;
646 #line 94 "project_dialogs.vala"
647 		_tmp64_ = projects_add (_tmp61_, &_tmp62_, &_tmp63_);
648 #line 94 "project_dialogs.vala"
649 		_g_object_unref0 (conflict);
650 #line 94 "project_dialogs.vala"
651 		conflict = _tmp63_;
652 #line 94 "project_dialogs.vala"
653 		_tmp65_ = _tmp64_;
654 #line 94 "project_dialogs.vala"
655 		_projects_unref0 (_tmp61_);
656 #line 94 "project_dialogs.vala"
657 		if (_tmp65_) {
658 #line 95 "project_dialogs.vala"
659 			_g_object_unref0 (conflict);
660 #line 95 "project_dialogs.vala"
661 			project_destroy (&project);
662 #line 95 "project_dialogs.vala"
663 			_g_object_unref0 (main_file);
664 #line 95 "project_dialogs.vala"
665 			_g_object_unref0 (directory);
666 #line 95 "project_dialogs.vala"
667 			break;
668 #line 669 "project_dialogs.c"
669 		}
670 #line 98 "project_dialogs.vala"
671 		_tmp66_ = dialog;
672 #line 98 "project_dialogs.vala"
673 		_tmp67_ = conflict;
674 #line 98 "project_dialogs.vala"
675 		_tmp68_ = g_file_get_parse_name (_tmp67_);
676 #line 98 "project_dialogs.vala"
677 		_tmp69_ = _tmp68_;
678 #line 98 "project_dialogs.vala"
679 		_tmp70_ = tepl_utils_replace_home_dir_with_tilde (_tmp69_);
680 #line 98 "project_dialogs.vala"
681 		_tmp71_ = _tmp70_;
682 #line 98 "project_dialogs.vala"
683 		_tmp72_ = g_strconcat (_tmp71_, "/", NULL);
684 #line 98 "project_dialogs.vala"
685 		_tmp73_ = _tmp72_;
686 #line 98 "project_dialogs.vala"
687 		_tmp74_ = (GtkMessageDialog*) gtk_message_dialog_new ((GtkWindow*) _tmp66_, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _ ("There is a conflict with the project “%s”."), _tmp73_);
688 #line 98 "project_dialogs.vala"
689 		g_object_ref_sink (_tmp74_);
690 #line 98 "project_dialogs.vala"
691 		_tmp75_ = (GtkDialog*) _tmp74_;
692 #line 98 "project_dialogs.vala"
693 		_g_free0 (_tmp73_);
694 #line 98 "project_dialogs.vala"
695 		_g_free0 (_tmp71_);
696 #line 98 "project_dialogs.vala"
697 		_g_free0 (_tmp69_);
698 #line 98 "project_dialogs.vala"
699 		error_dialog = _tmp75_;
700 #line 104 "project_dialogs.vala"
701 		_tmp76_ = error_dialog;
702 #line 104 "project_dialogs.vala"
703 		gtk_dialog_run (_tmp76_);
704 #line 105 "project_dialogs.vala"
705 		_tmp77_ = error_dialog;
706 #line 105 "project_dialogs.vala"
707 		gtk_widget_destroy ((GtkWidget*) _tmp77_);
708 #line 76 "project_dialogs.vala"
709 		_g_object_unref0 (error_dialog);
710 #line 76 "project_dialogs.vala"
711 		_g_object_unref0 (conflict);
712 #line 76 "project_dialogs.vala"
713 		project_destroy (&project);
714 #line 76 "project_dialogs.vala"
715 		_g_object_unref0 (main_file);
716 #line 76 "project_dialogs.vala"
717 		_g_object_unref0 (directory);
718 #line 719 "project_dialogs.c"
719 	}
720 #line 108 "project_dialogs.vala"
721 	_tmp78_ = dialog;
722 #line 108 "project_dialogs.vala"
723 	gtk_widget_destroy ((GtkWidget*) _tmp78_);
724 #line 26 "project_dialogs.vala"
725 	_g_object_unref0 (doc);
726 #line 26 "project_dialogs.vala"
727 	_g_object_unref0 (component);
728 #line 26 "project_dialogs.vala"
729 	_g_object_unref0 (content_area);
730 #line 26 "project_dialogs.vala"
731 	_g_object_unref0 (dialog);
732 #line 26 "project_dialogs.vala"
733 	block26_data_unref (_data26_);
734 #line 26 "project_dialogs.vala"
735 	_data26_ = NULL;
736 #line 737 "project_dialogs.c"
737 }
738 
739 gboolean
project_dialogs_configure_project(GtkWindow * main_window,gint project_id)740 project_dialogs_configure_project (GtkWindow* main_window,
741                                    gint project_id)
742 {
743 	Project* project = NULL;
744 	Projects* _tmp0_;
745 	Projects* _tmp1_;
746 	Project* _tmp2_;
747 	Project* _tmp3_;
748 	Project* _tmp4_;
749 	GtkDialog* dialog = NULL;
750 	GObject* _tmp5_;
751 	GObject* _tmp6_;
752 	GtkDialog* _tmp7_;
753 	GtkDialog* _tmp8_;
754 	GtkDialog* _tmp9_;
755 	GtkDialog* _tmp10_;
756 	GtkDialog* _tmp11_;
757 	GtkDialog* _tmp12_;
758 	GtkDialog* _tmp13_;
759 	GtkDialog* _tmp14_;
760 	GtkBox* content_area = NULL;
761 	GtkDialog* _tmp15_;
762 	GtkBox* _tmp16_;
763 	GtkBox* _tmp17_;
764 	gchar* project_dir = NULL;
765 	Project* _tmp18_;
766 	GFile* _tmp19_;
767 	gchar* _tmp20_;
768 	const gchar* _tmp21_;
769 	gchar* _tmp22_;
770 	gchar* _tmp23_;
771 	gchar* _tmp24_;
772 	GtkLabel* location = NULL;
773 	const gchar* _tmp25_;
774 	GtkLabel* _tmp26_;
775 	GtkLabel* _tmp27_;
776 	GtkLabel* _tmp28_;
777 	GtkWidget* component = NULL;
778 	GtkLabel* _tmp29_;
779 	GtkWidget* _tmp30_;
780 	GtkWidget* _tmp31_;
781 	GtkBox* _tmp32_;
782 	GtkWidget* _tmp33_;
783 	GtkFileChooserButton* main_file_chooser = NULL;
784 	GtkFileChooserButton* _tmp34_;
785 	GtkFileChooserButton* _tmp35_;
786 	GtkWidget* _tmp36_;
787 	GtkWidget* _tmp37_;
788 	GtkBox* _tmp38_;
789 	GtkWidget* _tmp39_;
790 	GtkBox* _tmp40_;
791 	gboolean ret = FALSE;
792 	GtkDialog* _tmp56_;
793 	GError* _inner_error0_ = NULL;
794 	gboolean result = FALSE;
795 #line 112 "project_dialogs.vala"
796 	g_return_val_if_fail (main_window != NULL, FALSE);
797 #line 114 "project_dialogs.vala"
798 	_tmp0_ = projects_get_default ();
799 #line 114 "project_dialogs.vala"
800 	_tmp1_ = _tmp0_;
801 #line 114 "project_dialogs.vala"
802 	_tmp2_ = projects_get (_tmp1_, project_id);
803 #line 114 "project_dialogs.vala"
804 	_tmp3_ = _tmp2_;
805 #line 114 "project_dialogs.vala"
806 	_projects_unref0 (_tmp1_);
807 #line 114 "project_dialogs.vala"
808 	project = _tmp3_;
809 #line 115 "project_dialogs.vala"
810 	_tmp4_ = project;
811 #line 115 "project_dialogs.vala"
812 	g_return_val_if_fail (_tmp4_ != NULL, FALSE);
813 #line 117 "project_dialogs.vala"
814 	_tmp5_ = g_object_new (gtk_dialog_get_type (), "use-header-bar", TRUE, NULL, NULL);
815 #line 117 "project_dialogs.vala"
816 	_tmp6_ = G_IS_INITIALLY_UNOWNED (_tmp5_) ? g_object_ref_sink (_tmp5_) : _tmp5_;
817 #line 117 "project_dialogs.vala"
818 	_tmp7_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp6_, gtk_dialog_get_type ()) ? ((GtkDialog*) _tmp6_) : NULL;
819 #line 117 "project_dialogs.vala"
820 	if (_tmp7_ == NULL) {
821 #line 117 "project_dialogs.vala"
822 		_g_object_unref0 (_tmp6_);
823 #line 824 "project_dialogs.c"
824 	}
825 #line 117 "project_dialogs.vala"
826 	dialog = _tmp7_;
827 #line 119 "project_dialogs.vala"
828 	_tmp8_ = dialog;
829 #line 119 "project_dialogs.vala"
830 	gtk_window_set_title ((GtkWindow*) _tmp8_, _ ("Configure Project"));
831 #line 120 "project_dialogs.vala"
832 	_tmp9_ = dialog;
833 #line 120 "project_dialogs.vala"
834 	gtk_window_set_destroy_with_parent ((GtkWindow*) _tmp9_, TRUE);
835 #line 121 "project_dialogs.vala"
836 	_tmp10_ = dialog;
837 #line 121 "project_dialogs.vala"
838 	gtk_window_set_transient_for ((GtkWindow*) _tmp10_, main_window);
839 #line 122 "project_dialogs.vala"
840 	_tmp11_ = dialog;
841 #line 122 "project_dialogs.vala"
842 	gtk_dialog_add_button (_tmp11_, _ ("_Cancel"), (gint) GTK_RESPONSE_CANCEL);
843 #line 123 "project_dialogs.vala"
844 	_tmp12_ = dialog;
845 #line 123 "project_dialogs.vala"
846 	gtk_dialog_add_button (_tmp12_, _ ("_Apply"), (gint) GTK_RESPONSE_APPLY);
847 #line 124 "project_dialogs.vala"
848 	_tmp13_ = dialog;
849 #line 124 "project_dialogs.vala"
850 	gtk_dialog_set_default_response (_tmp13_, (gint) GTK_RESPONSE_APPLY);
851 #line 125 "project_dialogs.vala"
852 	_tmp14_ = dialog;
853 #line 125 "project_dialogs.vala"
854 	gtk_widget_set_size_request ((GtkWidget*) _tmp14_, 450, -1);
855 #line 128 "project_dialogs.vala"
856 	_tmp15_ = dialog;
857 #line 128 "project_dialogs.vala"
858 	_tmp16_ = gtk_dialog_get_content_area (_tmp15_);
859 #line 128 "project_dialogs.vala"
860 	_tmp17_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp16_, gtk_box_get_type ()) ? ((GtkBox*) _tmp16_) : NULL);
861 #line 128 "project_dialogs.vala"
862 	content_area = _tmp17_;
863 #line 131 "project_dialogs.vala"
864 	_tmp18_ = project;
865 #line 131 "project_dialogs.vala"
866 	_tmp19_ = (*_tmp18_).directory;
867 #line 131 "project_dialogs.vala"
868 	_tmp20_ = g_file_get_parse_name (_tmp19_);
869 #line 131 "project_dialogs.vala"
870 	project_dir = _tmp20_;
871 #line 132 "project_dialogs.vala"
872 	_tmp21_ = project_dir;
873 #line 132 "project_dialogs.vala"
874 	_tmp22_ = tepl_utils_replace_home_dir_with_tilde (_tmp21_);
875 #line 132 "project_dialogs.vala"
876 	_tmp23_ = _tmp22_;
877 #line 132 "project_dialogs.vala"
878 	_tmp24_ = g_strconcat (_tmp23_, "/", NULL);
879 #line 132 "project_dialogs.vala"
880 	_g_free0 (project_dir);
881 #line 132 "project_dialogs.vala"
882 	project_dir = _tmp24_;
883 #line 132 "project_dialogs.vala"
884 	_g_free0 (_tmp23_);
885 #line 133 "project_dialogs.vala"
886 	_tmp25_ = project_dir;
887 #line 133 "project_dialogs.vala"
888 	_tmp26_ = (GtkLabel*) gtk_label_new (_tmp25_);
889 #line 133 "project_dialogs.vala"
890 	g_object_ref_sink (_tmp26_);
891 #line 133 "project_dialogs.vala"
892 	location = _tmp26_;
893 #line 134 "project_dialogs.vala"
894 	_tmp27_ = location;
895 #line 134 "project_dialogs.vala"
896 	gtk_label_set_line_wrap (_tmp27_, TRUE);
897 #line 135 "project_dialogs.vala"
898 	_tmp28_ = location;
899 #line 135 "project_dialogs.vala"
900 	gtk_widget_set_halign ((GtkWidget*) _tmp28_, GTK_ALIGN_START);
901 #line 137 "project_dialogs.vala"
902 	_tmp29_ = location;
903 #line 137 "project_dialogs.vala"
904 	_tmp30_ = latexila_utils_get_dialog_component (_ ("Location of the project"), (GtkWidget*) _tmp29_);
905 #line 137 "project_dialogs.vala"
906 	_tmp31_ = _g_object_ref0 (_tmp30_);
907 #line 137 "project_dialogs.vala"
908 	component = _tmp31_;
909 #line 139 "project_dialogs.vala"
910 	_tmp32_ = content_area;
911 #line 139 "project_dialogs.vala"
912 	_tmp33_ = component;
913 #line 139 "project_dialogs.vala"
914 	gtk_box_pack_start (_tmp32_, _tmp33_, FALSE, TRUE, (guint) 0);
915 #line 142 "project_dialogs.vala"
916 	_tmp34_ = (GtkFileChooserButton*) gtk_file_chooser_button_new (_ ("Main File"), GTK_FILE_CHOOSER_ACTION_OPEN);
917 #line 142 "project_dialogs.vala"
918 	g_object_ref_sink (_tmp34_);
919 #line 142 "project_dialogs.vala"
920 	main_file_chooser = _tmp34_;
921 #line 144 "project_dialogs.vala"
922 	_tmp35_ = main_file_chooser;
923 #line 144 "project_dialogs.vala"
924 	_tmp36_ = latexila_utils_get_dialog_component (_ ("Main File"), (GtkWidget*) _tmp35_);
925 #line 144 "project_dialogs.vala"
926 	_tmp37_ = _g_object_ref0 (_tmp36_);
927 #line 144 "project_dialogs.vala"
928 	_g_object_unref0 (component);
929 #line 144 "project_dialogs.vala"
930 	component = _tmp37_;
931 #line 145 "project_dialogs.vala"
932 	_tmp38_ = content_area;
933 #line 145 "project_dialogs.vala"
934 	_tmp39_ = component;
935 #line 145 "project_dialogs.vala"
936 	gtk_box_pack_start (_tmp38_, _tmp39_, FALSE, TRUE, (guint) 0);
937 #line 147 "project_dialogs.vala"
938 	_tmp40_ = content_area;
939 #line 147 "project_dialogs.vala"
940 	gtk_widget_show_all ((GtkWidget*) _tmp40_);
941 #line 942 "project_dialogs.c"
942 	{
943 		GtkFileChooserButton* _tmp41_;
944 		Project* _tmp42_;
945 		GFile* _tmp43_;
946 #line 151 "project_dialogs.vala"
947 		_tmp41_ = main_file_chooser;
948 #line 151 "project_dialogs.vala"
949 		_tmp42_ = project;
950 #line 151 "project_dialogs.vala"
951 		_tmp43_ = (*_tmp42_).main_file;
952 #line 151 "project_dialogs.vala"
953 		gtk_file_chooser_set_file ((GtkFileChooser*) _tmp41_, _tmp43_, &_inner_error0_);
954 #line 151 "project_dialogs.vala"
955 		if (G_UNLIKELY (_inner_error0_ != NULL)) {
956 #line 957 "project_dialogs.c"
957 			goto __catch0_g_error;
958 		}
959 	}
960 	goto __finally0;
961 	__catch0_g_error:
962 	{
963 #line 149 "project_dialogs.vala"
964 		g_clear_error (&_inner_error0_);
965 #line 966 "project_dialogs.c"
966 	}
967 	__finally0:
968 #line 149 "project_dialogs.vala"
969 	if (G_UNLIKELY (_inner_error0_ != NULL)) {
970 #line 971 "project_dialogs.c"
971 		gboolean _tmp44_ = FALSE;
972 #line 149 "project_dialogs.vala"
973 		_g_object_unref0 (main_file_chooser);
974 #line 149 "project_dialogs.vala"
975 		_g_object_unref0 (component);
976 #line 149 "project_dialogs.vala"
977 		_g_object_unref0 (location);
978 #line 149 "project_dialogs.vala"
979 		_g_free0 (project_dir);
980 #line 149 "project_dialogs.vala"
981 		_g_object_unref0 (content_area);
982 #line 149 "project_dialogs.vala"
983 		_g_object_unref0 (dialog);
984 #line 149 "project_dialogs.vala"
985 		_project_free0 (project);
986 #line 149 "project_dialogs.vala"
987 		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
988 #line 149 "project_dialogs.vala"
989 		g_clear_error (&_inner_error0_);
990 #line 149 "project_dialogs.vala"
991 		return _tmp44_;
992 #line 993 "project_dialogs.c"
993 	}
994 #line 156 "project_dialogs.vala"
995 	ret = FALSE;
996 #line 157 "project_dialogs.vala"
997 	while (TRUE) {
998 #line 999 "project_dialogs.c"
999 		GtkDialog* _tmp45_;
1000 		GFile* main_file = NULL;
1001 		GtkFileChooserButton* _tmp46_;
1002 		GFile* _tmp47_;
1003 		GFile* _tmp48_;
1004 		GtkDialog* _tmp49_;
1005 		GFile* _tmp50_;
1006 		Project* _tmp51_;
1007 		GFile* _tmp52_;
1008 		Projects* _tmp53_;
1009 		Projects* _tmp54_;
1010 		GFile* _tmp55_;
1011 #line 157 "project_dialogs.vala"
1012 		_tmp45_ = dialog;
1013 #line 157 "project_dialogs.vala"
1014 		if (!(gtk_dialog_run (_tmp45_) == ((gint) GTK_RESPONSE_APPLY))) {
1015 #line 157 "project_dialogs.vala"
1016 			break;
1017 #line 1018 "project_dialogs.c"
1018 		}
1019 #line 159 "project_dialogs.vala"
1020 		_tmp46_ = main_file_chooser;
1021 #line 159 "project_dialogs.vala"
1022 		_tmp47_ = gtk_file_chooser_get_file ((GtkFileChooser*) _tmp46_);
1023 #line 159 "project_dialogs.vala"
1024 		main_file = _tmp47_;
1025 #line 161 "project_dialogs.vala"
1026 		_tmp48_ = main_file;
1027 #line 161 "project_dialogs.vala"
1028 		if (_tmp48_ == NULL) {
1029 #line 162 "project_dialogs.vala"
1030 			_g_object_unref0 (main_file);
1031 #line 162 "project_dialogs.vala"
1032 			continue;
1033 #line 1034 "project_dialogs.c"
1034 		}
1035 #line 165 "project_dialogs.vala"
1036 		_tmp49_ = dialog;
1037 #line 165 "project_dialogs.vala"
1038 		_tmp50_ = main_file;
1039 #line 165 "project_dialogs.vala"
1040 		_tmp51_ = project;
1041 #line 165 "project_dialogs.vala"
1042 		_tmp52_ = (*_tmp51_).directory;
1043 #line 165 "project_dialogs.vala"
1044 		if (!project_dialogs_main_file_is_in_directory ((GtkWindow*) _tmp49_, _tmp50_, _tmp52_)) {
1045 #line 166 "project_dialogs.vala"
1046 			_g_object_unref0 (main_file);
1047 #line 166 "project_dialogs.vala"
1048 			continue;
1049 #line 1050 "project_dialogs.c"
1050 		}
1051 #line 168 "project_dialogs.vala"
1052 		_tmp53_ = projects_get_default ();
1053 #line 168 "project_dialogs.vala"
1054 		_tmp54_ = _tmp53_;
1055 #line 168 "project_dialogs.vala"
1056 		_tmp55_ = main_file;
1057 #line 168 "project_dialogs.vala"
1058 		ret = projects_change_main_file (_tmp54_, project_id, _tmp55_);
1059 #line 168 "project_dialogs.vala"
1060 		_projects_unref0 (_tmp54_);
1061 #line 169 "project_dialogs.vala"
1062 		_g_object_unref0 (main_file);
1063 #line 169 "project_dialogs.vala"
1064 		break;
1065 #line 1066 "project_dialogs.c"
1066 	}
1067 #line 172 "project_dialogs.vala"
1068 	_tmp56_ = dialog;
1069 #line 172 "project_dialogs.vala"
1070 	gtk_widget_destroy ((GtkWidget*) _tmp56_);
1071 #line 173 "project_dialogs.vala"
1072 	result = ret;
1073 #line 173 "project_dialogs.vala"
1074 	_g_object_unref0 (main_file_chooser);
1075 #line 173 "project_dialogs.vala"
1076 	_g_object_unref0 (component);
1077 #line 173 "project_dialogs.vala"
1078 	_g_object_unref0 (location);
1079 #line 173 "project_dialogs.vala"
1080 	_g_free0 (project_dir);
1081 #line 173 "project_dialogs.vala"
1082 	_g_object_unref0 (content_area);
1083 #line 173 "project_dialogs.vala"
1084 	_g_object_unref0 (dialog);
1085 #line 173 "project_dialogs.vala"
1086 	_project_free0 (project);
1087 #line 173 "project_dialogs.vala"
1088 	return result;
1089 #line 1090 "project_dialogs.c"
1090 }
1091 
1092 static GType
project_dialogs_project_column_get_type_once(void)1093 project_dialogs_project_column_get_type_once (void)
1094 {
1095 	static const GEnumValue values[] = {{PROJECT_DIALOGS_PROJECT_COLUMN_DIRECTORY, "PROJECT_DIALOGS_PROJECT_COLUMN_DIRECTORY", "directory"}, {PROJECT_DIALOGS_PROJECT_COLUMN_MAIN_FILE, "PROJECT_DIALOGS_PROJECT_COLUMN_MAIN_FILE", "main-file"}, {PROJECT_DIALOGS_PROJECT_COLUMN_N_COLUMNS, "PROJECT_DIALOGS_PROJECT_COLUMN_N_COLUMNS", "n-columns"}, {0, NULL, NULL}};
1096 	GType project_dialogs_project_column_type_id;
1097 	project_dialogs_project_column_type_id = g_enum_register_static ("ProjectDialogsProjectColumn", values);
1098 	return project_dialogs_project_column_type_id;
1099 }
1100 
1101 GType
project_dialogs_project_column_get_type(void)1102 project_dialogs_project_column_get_type (void)
1103 {
1104 	static volatile gsize project_dialogs_project_column_type_id__volatile = 0;
1105 	if (g_once_init_enter (&project_dialogs_project_column_type_id__volatile)) {
1106 		GType project_dialogs_project_column_type_id;
1107 		project_dialogs_project_column_type_id = project_dialogs_project_column_get_type_once ();
1108 		g_once_init_leave (&project_dialogs_project_column_type_id__volatile, project_dialogs_project_column_type_id);
1109 	}
1110 	return project_dialogs_project_column_type_id__volatile;
1111 }
1112 
1113 static Block27Data*
block27_data_ref(Block27Data * _data27_)1114 block27_data_ref (Block27Data* _data27_)
1115 {
1116 #line 183 "project_dialogs.vala"
1117 	g_atomic_int_inc (&_data27_->_ref_count_);
1118 #line 183 "project_dialogs.vala"
1119 	return _data27_;
1120 #line 1121 "project_dialogs.c"
1121 }
1122 
1123 static void
block27_data_unref(void * _userdata_)1124 block27_data_unref (void * _userdata_)
1125 {
1126 	Block27Data* _data27_;
1127 	_data27_ = (Block27Data*) _userdata_;
1128 #line 183 "project_dialogs.vala"
1129 	if (g_atomic_int_dec_and_test (&_data27_->_ref_count_)) {
1130 #line 183 "project_dialogs.vala"
1131 		_g_object_unref0 (_data27_->treeview);
1132 #line 183 "project_dialogs.vala"
1133 		_g_object_unref0 (_data27_->store);
1134 #line 183 "project_dialogs.vala"
1135 		_g_object_unref0 (_data27_->dialog);
1136 #line 183 "project_dialogs.vala"
1137 		g_slice_free (Block27Data, _data27_);
1138 #line 1139 "project_dialogs.c"
1139 	}
1140 }
1141 
1142 static void
__lambda60_(Block27Data * _data27_)1143 __lambda60_ (Block27Data* _data27_)
1144 {
1145 	gint i = 0;
1146 	gboolean _tmp0_ = FALSE;
1147 #line 254 "project_dialogs.vala"
1148 	i = utils_get_selected_row (_data27_->treeview, NULL);
1149 #line 255 "project_dialogs.vala"
1150 	if (i != -1) {
1151 #line 255 "project_dialogs.vala"
1152 		_tmp0_ = project_dialogs_configure_project ((GtkWindow*) _data27_->dialog, i);
1153 #line 1154 "project_dialogs.c"
1154 	} else {
1155 #line 255 "project_dialogs.vala"
1156 		_tmp0_ = FALSE;
1157 #line 1158 "project_dialogs.c"
1158 	}
1159 #line 255 "project_dialogs.vala"
1160 	if (_tmp0_) {
1161 #line 256 "project_dialogs.vala"
1162 		project_dialogs_update_model (_data27_->store);
1163 #line 1164 "project_dialogs.c"
1164 	}
1165 }
1166 
1167 static void
___lambda60__gtk_button_clicked(GtkButton * _sender,gpointer self)1168 ___lambda60__gtk_button_clicked (GtkButton* _sender,
1169                                  gpointer self)
1170 {
1171 #line 252 "project_dialogs.vala"
1172 	__lambda60_ (self);
1173 #line 1174 "project_dialogs.c"
1174 }
1175 
1176 static void
__lambda61_(Block27Data * _data27_)1177 __lambda61_ (Block27Data* _data27_)
1178 {
1179 	GtkTreeIter iter = {0};
1180 	gint i = 0;
1181 	GtkTreeIter _tmp0_ = {0};
1182 	gint _tmp1_;
1183 	gchar* directory = NULL;
1184 	GtkTreeModel* model = NULL;
1185 	GtkTreeModel* _tmp2_;
1186 	GtkTreeModel* _tmp3_;
1187 	GtkTreeIter _tmp4_;
1188 	gchar* _tmp5_ = NULL;
1189 	GtkDialog* delete_dialog = NULL;
1190 	const gchar* _tmp6_;
1191 	GtkMessageDialog* _tmp7_;
1192 	GtkDialog* _tmp8_;
1193 	GtkDialog* _tmp9_;
1194 	GtkDialog* _tmp12_;
1195 #line 262 "project_dialogs.vala"
1196 	_tmp1_ = utils_get_selected_row (_data27_->treeview, &_tmp0_);
1197 #line 262 "project_dialogs.vala"
1198 	iter = _tmp0_;
1199 #line 262 "project_dialogs.vala"
1200 	i = _tmp1_;
1201 #line 263 "project_dialogs.vala"
1202 	if (i == -1) {
1203 #line 264 "project_dialogs.vala"
1204 		return;
1205 #line 1206 "project_dialogs.c"
1206 	}
1207 #line 267 "project_dialogs.vala"
1208 	_tmp2_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_data27_->store, gtk_tree_model_get_type (), GtkTreeModel));
1209 #line 267 "project_dialogs.vala"
1210 	model = _tmp2_;
1211 #line 268 "project_dialogs.vala"
1212 	_tmp3_ = model;
1213 #line 268 "project_dialogs.vala"
1214 	_tmp4_ = iter;
1215 #line 268 "project_dialogs.vala"
1216 	gtk_tree_model_get (_tmp3_, &_tmp4_, PROJECT_DIALOGS_PROJECT_COLUMN_DIRECTORY, &_tmp5_, -1, -1);
1217 #line 268 "project_dialogs.vala"
1218 	_g_free0 (directory);
1219 #line 268 "project_dialogs.vala"
1220 	directory = _tmp5_;
1221 #line 270 "project_dialogs.vala"
1222 	_tmp6_ = directory;
1223 #line 270 "project_dialogs.vala"
1224 	_tmp7_ = (GtkMessageDialog*) gtk_message_dialog_new ((GtkWindow*) _data27_->dialog, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_QUESTION, GTK_BUTTONS_NONE, _ ("Do you really want to delete the project “%s”?"), _tmp6_);
1225 #line 270 "project_dialogs.vala"
1226 	g_object_ref_sink (_tmp7_);
1227 #line 270 "project_dialogs.vala"
1228 	delete_dialog = (GtkDialog*) _tmp7_;
1229 #line 276 "project_dialogs.vala"
1230 	_tmp8_ = delete_dialog;
1231 #line 276 "project_dialogs.vala"
1232 	gtk_dialog_add_buttons (_tmp8_, _ ("_Cancel"), GTK_RESPONSE_CANCEL, _ ("_Delete"), GTK_RESPONSE_YES, NULL);
1233 #line 279 "project_dialogs.vala"
1234 	_tmp9_ = delete_dialog;
1235 #line 279 "project_dialogs.vala"
1236 	if (gtk_dialog_run (_tmp9_) == ((gint) GTK_RESPONSE_YES)) {
1237 #line 1238 "project_dialogs.c"
1238 		Projects* _tmp10_;
1239 		Projects* _tmp11_;
1240 #line 281 "project_dialogs.vala"
1241 		gtk_list_store_remove (_data27_->store, &iter);
1242 #line 282 "project_dialogs.vala"
1243 		_tmp10_ = projects_get_default ();
1244 #line 282 "project_dialogs.vala"
1245 		_tmp11_ = _tmp10_;
1246 #line 282 "project_dialogs.vala"
1247 		projects_delete (_tmp11_, i);
1248 #line 282 "project_dialogs.vala"
1249 		_projects_unref0 (_tmp11_);
1250 #line 1251 "project_dialogs.c"
1251 	}
1252 #line 285 "project_dialogs.vala"
1253 	_tmp12_ = delete_dialog;
1254 #line 285 "project_dialogs.vala"
1255 	gtk_widget_destroy ((GtkWidget*) _tmp12_);
1256 #line 259 "project_dialogs.vala"
1257 	_g_object_unref0 (delete_dialog);
1258 #line 259 "project_dialogs.vala"
1259 	_g_object_unref0 (model);
1260 #line 259 "project_dialogs.vala"
1261 	_g_free0 (directory);
1262 #line 1263 "project_dialogs.c"
1263 }
1264 
1265 static void
___lambda61__gtk_button_clicked(GtkButton * _sender,gpointer self)1266 ___lambda61__gtk_button_clicked (GtkButton* _sender,
1267                                  gpointer self)
1268 {
1269 #line 259 "project_dialogs.vala"
1270 	__lambda61_ (self);
1271 #line 1272 "project_dialogs.c"
1272 }
1273 
1274 static void
__lambda62_(Block27Data * _data27_)1275 __lambda62_ (Block27Data* _data27_)
1276 {
1277 	GtkDialog* clear_dialog = NULL;
1278 	GtkMessageDialog* _tmp0_;
1279 	GtkDialog* _tmp1_;
1280 	GtkDialog* _tmp2_;
1281 	GtkDialog* _tmp3_;
1282 	GtkDialog* _tmp6_;
1283 #line 290 "project_dialogs.vala"
1284 	_tmp0_ = (GtkMessageDialog*) gtk_message_dialog_new ((GtkWindow*) _data27_->dialog, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_QUESTION, GTK_BUTTONS_NONE, "%s", _ ("Do you really want to clear all projects?"));
1285 #line 290 "project_dialogs.vala"
1286 	g_object_ref_sink (_tmp0_);
1287 #line 290 "project_dialogs.vala"
1288 	clear_dialog = (GtkDialog*) _tmp0_;
1289 #line 296 "project_dialogs.vala"
1290 	_tmp1_ = clear_dialog;
1291 #line 296 "project_dialogs.vala"
1292 	gtk_dialog_add_button (_tmp1_, _ ("_Cancel"), (gint) GTK_RESPONSE_CANCEL);
1293 #line 297 "project_dialogs.vala"
1294 	_tmp2_ = clear_dialog;
1295 #line 297 "project_dialogs.vala"
1296 	gtk_dialog_add_button (_tmp2_, _ ("Clear _All"), (gint) GTK_RESPONSE_YES);
1297 #line 299 "project_dialogs.vala"
1298 	_tmp3_ = clear_dialog;
1299 #line 299 "project_dialogs.vala"
1300 	if (gtk_dialog_run (_tmp3_) == ((gint) GTK_RESPONSE_YES)) {
1301 #line 1302 "project_dialogs.c"
1302 		Projects* _tmp4_;
1303 		Projects* _tmp5_;
1304 #line 301 "project_dialogs.vala"
1305 		_tmp4_ = projects_get_default ();
1306 #line 301 "project_dialogs.vala"
1307 		_tmp5_ = _tmp4_;
1308 #line 301 "project_dialogs.vala"
1309 		projects_clear_all (_tmp5_);
1310 #line 301 "project_dialogs.vala"
1311 		_projects_unref0 (_tmp5_);
1312 #line 302 "project_dialogs.vala"
1313 		gtk_list_store_clear (_data27_->store);
1314 #line 1315 "project_dialogs.c"
1315 	}
1316 #line 305 "project_dialogs.vala"
1317 	_tmp6_ = clear_dialog;
1318 #line 305 "project_dialogs.vala"
1319 	gtk_widget_destroy ((GtkWidget*) _tmp6_);
1320 #line 288 "project_dialogs.vala"
1321 	_g_object_unref0 (clear_dialog);
1322 #line 1323 "project_dialogs.c"
1323 }
1324 
1325 static void
___lambda62__gtk_button_clicked(GtkButton * _sender,gpointer self)1326 ___lambda62__gtk_button_clicked (GtkButton* _sender,
1327                                  gpointer self)
1328 {
1329 #line 288 "project_dialogs.vala"
1330 	__lambda62_ (self);
1331 #line 1332 "project_dialogs.c"
1332 }
1333 
1334 void
project_dialogs_manage_projects(MainWindow * main_window)1335 project_dialogs_manage_projects (MainWindow* main_window)
1336 {
1337 	Block27Data* _data27_;
1338 	GObject* _tmp0_;
1339 	GObject* _tmp1_;
1340 	GtkDialog* _tmp2_;
1341 	GtkBox* content_area = NULL;
1342 	GtkBox* _tmp3_;
1343 	GtkBox* _tmp4_;
1344 	GtkListStore* _tmp5_;
1345 	GtkTreeView* _tmp6_;
1346 	GtkTreeViewColumn* column = NULL;
1347 	GtkTreeViewColumn* _tmp7_;
1348 	GtkTreeViewColumn* _tmp8_;
1349 	GtkTreeViewColumn* _tmp9_;
1350 	GtkCellRendererPixbuf* pixbuf_renderer = NULL;
1351 	GtkCellRendererPixbuf* _tmp10_;
1352 	GtkCellRendererPixbuf* _tmp11_;
1353 	GtkTreeViewColumn* _tmp12_;
1354 	GtkCellRendererPixbuf* _tmp13_;
1355 	GtkCellRendererText* text_renderer = NULL;
1356 	GtkCellRendererText* _tmp14_;
1357 	GtkTreeViewColumn* _tmp15_;
1358 	GtkCellRendererText* _tmp16_;
1359 	GtkTreeViewColumn* _tmp17_;
1360 	GtkCellRendererText* _tmp18_;
1361 	GtkTreeViewColumn* _tmp19_;
1362 	GtkTreeViewColumn* _tmp20_;
1363 	GtkTreeViewColumn* _tmp21_;
1364 	GtkCellRendererPixbuf* _tmp22_;
1365 	GtkCellRendererPixbuf* _tmp23_;
1366 	GtkTreeViewColumn* _tmp24_;
1367 	GtkCellRendererPixbuf* _tmp25_;
1368 	GtkCellRendererText* _tmp26_;
1369 	GtkTreeViewColumn* _tmp27_;
1370 	GtkCellRendererText* _tmp28_;
1371 	GtkTreeViewColumn* _tmp29_;
1372 	GtkCellRendererText* _tmp30_;
1373 	GtkTreeSelection* select = NULL;
1374 	GtkTreeSelection* _tmp31_;
1375 	GtkTreeSelection* _tmp32_;
1376 	GtkScrolledWindow* sw = NULL;
1377 	GtkScrolledWindow* _tmp33_;
1378 	GtkGrid* grid = NULL;
1379 	GtkGrid* _tmp34_;
1380 	GtkButton* edit_button = NULL;
1381 	GtkButton* _tmp35_;
1382 	GtkButton* delete_button = NULL;
1383 	GtkButton* _tmp36_;
1384 	GtkButton* clear_all_button = NULL;
1385 	GtkButton* _tmp37_;
1386 #line 183 "project_dialogs.vala"
1387 	g_return_if_fail (main_window != NULL);
1388 #line 183 "project_dialogs.vala"
1389 	_data27_ = g_slice_new0 (Block27Data);
1390 #line 183 "project_dialogs.vala"
1391 	_data27_->_ref_count_ = 1;
1392 #line 185 "project_dialogs.vala"
1393 	_tmp0_ = g_object_new (gtk_dialog_get_type (), "use-header-bar", TRUE, NULL, NULL);
1394 #line 185 "project_dialogs.vala"
1395 	_tmp1_ = G_IS_INITIALLY_UNOWNED (_tmp0_) ? g_object_ref_sink (_tmp0_) : _tmp0_;
1396 #line 185 "project_dialogs.vala"
1397 	_tmp2_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, gtk_dialog_get_type ()) ? ((GtkDialog*) _tmp1_) : NULL;
1398 #line 185 "project_dialogs.vala"
1399 	if (_tmp2_ == NULL) {
1400 #line 185 "project_dialogs.vala"
1401 		_g_object_unref0 (_tmp1_);
1402 #line 1403 "project_dialogs.c"
1403 	}
1404 #line 185 "project_dialogs.vala"
1405 	_data27_->dialog = _tmp2_;
1406 #line 187 "project_dialogs.vala"
1407 	gtk_window_set_title ((GtkWindow*) _data27_->dialog, _ ("Manage Projects"));
1408 #line 188 "project_dialogs.vala"
1409 	gtk_window_set_destroy_with_parent ((GtkWindow*) _data27_->dialog, TRUE);
1410 #line 189 "project_dialogs.vala"
1411 	gtk_window_set_transient_for ((GtkWindow*) _data27_->dialog, (GtkWindow*) main_window);
1412 #line 191 "project_dialogs.vala"
1413 	_tmp3_ = gtk_dialog_get_content_area (_data27_->dialog);
1414 #line 191 "project_dialogs.vala"
1415 	_tmp4_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp3_, gtk_box_get_type ()) ? ((GtkBox*) _tmp3_) : NULL);
1416 #line 191 "project_dialogs.vala"
1417 	content_area = _tmp4_;
1418 #line 192 "project_dialogs.vala"
1419 	gtk_widget_set_size_request ((GtkWidget*) content_area, 450, 250);
1420 #line 195 "project_dialogs.vala"
1421 	_tmp5_ = gtk_list_store_new ((gint) PROJECT_DIALOGS_PROJECT_COLUMN_N_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, -1);
1422 #line 195 "project_dialogs.vala"
1423 	_data27_->store = _tmp5_;
1424 #line 197 "project_dialogs.vala"
1425 	project_dialogs_update_model (_data27_->store);
1426 #line 199 "project_dialogs.vala"
1427 	_tmp6_ = (GtkTreeView*) gtk_tree_view_new_with_model ((GtkTreeModel*) _data27_->store);
1428 #line 199 "project_dialogs.vala"
1429 	g_object_ref_sink (_tmp6_);
1430 #line 199 "project_dialogs.vala"
1431 	_data27_->treeview = _tmp6_;
1432 #line 202 "project_dialogs.vala"
1433 	_tmp7_ = gtk_tree_view_column_new ();
1434 #line 202 "project_dialogs.vala"
1435 	g_object_ref_sink (_tmp7_);
1436 #line 202 "project_dialogs.vala"
1437 	column = _tmp7_;
1438 #line 203 "project_dialogs.vala"
1439 	_tmp8_ = column;
1440 #line 203 "project_dialogs.vala"
1441 	gtk_tree_view_append_column (_data27_->treeview, _tmp8_);
1442 #line 204 "project_dialogs.vala"
1443 	_tmp9_ = column;
1444 #line 204 "project_dialogs.vala"
1445 	gtk_tree_view_column_set_title (_tmp9_, _ ("Directory"));
1446 #line 206 "project_dialogs.vala"
1447 	_tmp10_ = (GtkCellRendererPixbuf*) gtk_cell_renderer_pixbuf_new ();
1448 #line 206 "project_dialogs.vala"
1449 	g_object_ref_sink (_tmp10_);
1450 #line 206 "project_dialogs.vala"
1451 	pixbuf_renderer = _tmp10_;
1452 #line 207 "project_dialogs.vala"
1453 	_tmp11_ = pixbuf_renderer;
1454 #line 207 "project_dialogs.vala"
1455 	g_object_set (_tmp11_, "icon-name", "folder", NULL);
1456 #line 208 "project_dialogs.vala"
1457 	_tmp12_ = column;
1458 #line 208 "project_dialogs.vala"
1459 	_tmp13_ = pixbuf_renderer;
1460 #line 208 "project_dialogs.vala"
1461 	gtk_cell_layout_pack_start ((GtkCellLayout*) _tmp12_, (GtkCellRenderer*) _tmp13_, FALSE);
1462 #line 210 "project_dialogs.vala"
1463 	_tmp14_ = (GtkCellRendererText*) gtk_cell_renderer_text_new ();
1464 #line 210 "project_dialogs.vala"
1465 	g_object_ref_sink (_tmp14_);
1466 #line 210 "project_dialogs.vala"
1467 	text_renderer = _tmp14_;
1468 #line 211 "project_dialogs.vala"
1469 	_tmp15_ = column;
1470 #line 211 "project_dialogs.vala"
1471 	_tmp16_ = text_renderer;
1472 #line 211 "project_dialogs.vala"
1473 	gtk_cell_layout_pack_start ((GtkCellLayout*) _tmp15_, (GtkCellRenderer*) _tmp16_, TRUE);
1474 #line 212 "project_dialogs.vala"
1475 	_tmp17_ = column;
1476 #line 212 "project_dialogs.vala"
1477 	_tmp18_ = text_renderer;
1478 #line 212 "project_dialogs.vala"
1479 	gtk_tree_view_column_set_attributes (_tmp17_, (GtkCellRenderer*) _tmp18_, "text", PROJECT_DIALOGS_PROJECT_COLUMN_DIRECTORY, NULL, NULL);
1480 #line 215 "project_dialogs.vala"
1481 	_tmp19_ = gtk_tree_view_column_new ();
1482 #line 215 "project_dialogs.vala"
1483 	g_object_ref_sink (_tmp19_);
1484 #line 215 "project_dialogs.vala"
1485 	_g_object_unref0 (column);
1486 #line 215 "project_dialogs.vala"
1487 	column = _tmp19_;
1488 #line 216 "project_dialogs.vala"
1489 	_tmp20_ = column;
1490 #line 216 "project_dialogs.vala"
1491 	gtk_tree_view_append_column (_data27_->treeview, _tmp20_);
1492 #line 217 "project_dialogs.vala"
1493 	_tmp21_ = column;
1494 #line 217 "project_dialogs.vala"
1495 	gtk_tree_view_column_set_title (_tmp21_, _ ("Main File"));
1496 #line 219 "project_dialogs.vala"
1497 	_tmp22_ = (GtkCellRendererPixbuf*) gtk_cell_renderer_pixbuf_new ();
1498 #line 219 "project_dialogs.vala"
1499 	g_object_ref_sink (_tmp22_);
1500 #line 219 "project_dialogs.vala"
1501 	_g_object_unref0 (pixbuf_renderer);
1502 #line 219 "project_dialogs.vala"
1503 	pixbuf_renderer = _tmp22_;
1504 #line 220 "project_dialogs.vala"
1505 	_tmp23_ = pixbuf_renderer;
1506 #line 220 "project_dialogs.vala"
1507 	g_object_set (_tmp23_, "icon-name", "text-x-generic", NULL);
1508 #line 221 "project_dialogs.vala"
1509 	_tmp24_ = column;
1510 #line 221 "project_dialogs.vala"
1511 	_tmp25_ = pixbuf_renderer;
1512 #line 221 "project_dialogs.vala"
1513 	gtk_cell_layout_pack_start ((GtkCellLayout*) _tmp24_, (GtkCellRenderer*) _tmp25_, FALSE);
1514 #line 223 "project_dialogs.vala"
1515 	_tmp26_ = (GtkCellRendererText*) gtk_cell_renderer_text_new ();
1516 #line 223 "project_dialogs.vala"
1517 	g_object_ref_sink (_tmp26_);
1518 #line 223 "project_dialogs.vala"
1519 	_g_object_unref0 (text_renderer);
1520 #line 223 "project_dialogs.vala"
1521 	text_renderer = _tmp26_;
1522 #line 224 "project_dialogs.vala"
1523 	_tmp27_ = column;
1524 #line 224 "project_dialogs.vala"
1525 	_tmp28_ = text_renderer;
1526 #line 224 "project_dialogs.vala"
1527 	gtk_cell_layout_pack_start ((GtkCellLayout*) _tmp27_, (GtkCellRenderer*) _tmp28_, TRUE);
1528 #line 225 "project_dialogs.vala"
1529 	_tmp29_ = column;
1530 #line 225 "project_dialogs.vala"
1531 	_tmp30_ = text_renderer;
1532 #line 225 "project_dialogs.vala"
1533 	gtk_tree_view_column_set_attributes (_tmp29_, (GtkCellRenderer*) _tmp30_, "text", PROJECT_DIALOGS_PROJECT_COLUMN_MAIN_FILE, NULL, NULL);
1534 #line 228 "project_dialogs.vala"
1535 	_tmp31_ = gtk_tree_view_get_selection (_data27_->treeview);
1536 #line 228 "project_dialogs.vala"
1537 	_tmp32_ = _g_object_ref0 (_tmp31_);
1538 #line 228 "project_dialogs.vala"
1539 	select = _tmp32_;
1540 #line 229 "project_dialogs.vala"
1541 	gtk_tree_selection_set_mode (select, GTK_SELECTION_SINGLE);
1542 #line 232 "project_dialogs.vala"
1543 	_tmp33_ = utils_add_scrollbar ((GtkWidget*) _data27_->treeview);
1544 #line 232 "project_dialogs.vala"
1545 	sw = _tmp33_;
1546 #line 233 "project_dialogs.vala"
1547 	gtk_box_pack_start (content_area, (GtkWidget*) sw, TRUE, TRUE, (guint) 0);
1548 #line 236 "project_dialogs.vala"
1549 	_tmp34_ = (GtkGrid*) gtk_grid_new ();
1550 #line 236 "project_dialogs.vala"
1551 	g_object_ref_sink (_tmp34_);
1552 #line 236 "project_dialogs.vala"
1553 	grid = _tmp34_;
1554 #line 237 "project_dialogs.vala"
1555 	gtk_orientable_set_orientation ((GtkOrientable*) grid, GTK_ORIENTATION_HORIZONTAL);
1556 #line 238 "project_dialogs.vala"
1557 	gtk_grid_set_column_spacing (grid, (guint) 5);
1558 #line 239 "project_dialogs.vala"
1559 	gtk_box_pack_start (content_area, (GtkWidget*) grid, FALSE, FALSE, (guint) 5);
1560 #line 241 "project_dialogs.vala"
1561 	_tmp35_ = (GtkButton*) gtk_button_new_with_mnemonic (_ ("_Properties"));
1562 #line 241 "project_dialogs.vala"
1563 	g_object_ref_sink (_tmp35_);
1564 #line 241 "project_dialogs.vala"
1565 	edit_button = _tmp35_;
1566 #line 242 "project_dialogs.vala"
1567 	_tmp36_ = (GtkButton*) gtk_button_new_with_mnemonic (_ ("_Delete"));
1568 #line 242 "project_dialogs.vala"
1569 	g_object_ref_sink (_tmp36_);
1570 #line 242 "project_dialogs.vala"
1571 	delete_button = _tmp36_;
1572 #line 243 "project_dialogs.vala"
1573 	_tmp37_ = (GtkButton*) gtk_button_new_with_mnemonic (_ ("_Clear All"));
1574 #line 243 "project_dialogs.vala"
1575 	g_object_ref_sink (_tmp37_);
1576 #line 243 "project_dialogs.vala"
1577 	clear_all_button = _tmp37_;
1578 #line 245 "project_dialogs.vala"
1579 	gtk_container_add ((GtkContainer*) grid, (GtkWidget*) edit_button);
1580 #line 246 "project_dialogs.vala"
1581 	gtk_container_add ((GtkContainer*) grid, (GtkWidget*) delete_button);
1582 #line 247 "project_dialogs.vala"
1583 	gtk_container_add ((GtkContainer*) grid, (GtkWidget*) clear_all_button);
1584 #line 249 "project_dialogs.vala"
1585 	gtk_widget_show_all ((GtkWidget*) content_area);
1586 #line 252 "project_dialogs.vala"
1587 	g_signal_connect_data (edit_button, "clicked", (GCallback) ___lambda60__gtk_button_clicked, block27_data_ref (_data27_), (GClosureNotify) block27_data_unref, 0);
1588 #line 259 "project_dialogs.vala"
1589 	g_signal_connect_data (delete_button, "clicked", (GCallback) ___lambda61__gtk_button_clicked, block27_data_ref (_data27_), (GClosureNotify) block27_data_unref, 0);
1590 #line 288 "project_dialogs.vala"
1591 	g_signal_connect_data (clear_all_button, "clicked", (GCallback) ___lambda62__gtk_button_clicked, block27_data_ref (_data27_), (GClosureNotify) block27_data_unref, 0);
1592 #line 308 "project_dialogs.vala"
1593 	gtk_dialog_run (_data27_->dialog);
1594 #line 309 "project_dialogs.vala"
1595 	gtk_widget_destroy ((GtkWidget*) _data27_->dialog);
1596 #line 185 "project_dialogs.vala"
1597 	_g_object_unref0 (clear_all_button);
1598 #line 185 "project_dialogs.vala"
1599 	_g_object_unref0 (delete_button);
1600 #line 185 "project_dialogs.vala"
1601 	_g_object_unref0 (edit_button);
1602 #line 185 "project_dialogs.vala"
1603 	_g_object_unref0 (grid);
1604 #line 185 "project_dialogs.vala"
1605 	_g_object_unref0 (sw);
1606 #line 185 "project_dialogs.vala"
1607 	_g_object_unref0 (select);
1608 #line 185 "project_dialogs.vala"
1609 	_g_object_unref0 (text_renderer);
1610 #line 185 "project_dialogs.vala"
1611 	_g_object_unref0 (pixbuf_renderer);
1612 #line 185 "project_dialogs.vala"
1613 	_g_object_unref0 (column);
1614 #line 185 "project_dialogs.vala"
1615 	_g_object_unref0 (content_area);
1616 #line 185 "project_dialogs.vala"
1617 	block27_data_unref (_data27_);
1618 #line 185 "project_dialogs.vala"
1619 	_data27_ = NULL;
1620 #line 1621 "project_dialogs.c"
1621 }
1622 
1623 gboolean
project_dialogs_main_file_is_in_directory(GtkWindow * window,GFile * main_file,GFile * directory)1624 project_dialogs_main_file_is_in_directory (GtkWindow* window,
1625                                            GFile* main_file,
1626                                            GFile* directory)
1627 {
1628 	GtkDialog* error_dialog = NULL;
1629 	GtkMessageDialog* _tmp0_;
1630 	GtkDialog* _tmp1_;
1631 	GtkDialog* _tmp2_;
1632 	gboolean result = FALSE;
1633 #line 312 "project_dialogs.vala"
1634 	g_return_val_if_fail (window != NULL, FALSE);
1635 #line 312 "project_dialogs.vala"
1636 	g_return_val_if_fail (main_file != NULL, FALSE);
1637 #line 312 "project_dialogs.vala"
1638 	g_return_val_if_fail (directory != NULL, FALSE);
1639 #line 314 "project_dialogs.vala"
1640 	if (g_file_has_prefix (main_file, directory)) {
1641 #line 315 "project_dialogs.vala"
1642 		result = TRUE;
1643 #line 315 "project_dialogs.vala"
1644 		return result;
1645 #line 1646 "project_dialogs.c"
1646 	}
1647 #line 317 "project_dialogs.vala"
1648 	_tmp0_ = (GtkMessageDialog*) gtk_message_dialog_new (window, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, "%s", _ ("The Main File is not in the directory."));
1649 #line 317 "project_dialogs.vala"
1650 	g_object_ref_sink (_tmp0_);
1651 #line 317 "project_dialogs.vala"
1652 	error_dialog = (GtkDialog*) _tmp0_;
1653 #line 323 "project_dialogs.vala"
1654 	_tmp1_ = error_dialog;
1655 #line 323 "project_dialogs.vala"
1656 	gtk_dialog_run (_tmp1_);
1657 #line 324 "project_dialogs.vala"
1658 	_tmp2_ = error_dialog;
1659 #line 324 "project_dialogs.vala"
1660 	gtk_widget_destroy ((GtkWidget*) _tmp2_);
1661 #line 325 "project_dialogs.vala"
1662 	result = FALSE;
1663 #line 325 "project_dialogs.vala"
1664 	_g_object_unref0 (error_dialog);
1665 #line 325 "project_dialogs.vala"
1666 	return result;
1667 #line 1668 "project_dialogs.c"
1668 }
1669 
1670 static gchar*
string_slice(const gchar * self,glong start,glong end)1671 string_slice (const gchar* self,
1672               glong start,
1673               glong end)
1674 {
1675 	glong string_length = 0L;
1676 	gint _tmp0_;
1677 	gint _tmp1_;
1678 	gboolean _tmp2_ = FALSE;
1679 	gboolean _tmp3_ = FALSE;
1680 	gchar* _tmp4_;
1681 	gchar* result = NULL;
1682 #line 1480 "glib-2.0.vapi"
1683 	g_return_val_if_fail (self != NULL, NULL);
1684 #line 1481 "glib-2.0.vapi"
1685 	_tmp0_ = strlen (self);
1686 #line 1481 "glib-2.0.vapi"
1687 	_tmp1_ = _tmp0_;
1688 #line 1481 "glib-2.0.vapi"
1689 	string_length = (glong) _tmp1_;
1690 #line 1482 "glib-2.0.vapi"
1691 	if (start < ((glong) 0)) {
1692 #line 1483 "glib-2.0.vapi"
1693 		start = string_length + start;
1694 #line 1695 "project_dialogs.c"
1695 	}
1696 #line 1485 "glib-2.0.vapi"
1697 	if (end < ((glong) 0)) {
1698 #line 1486 "glib-2.0.vapi"
1699 		end = string_length + end;
1700 #line 1701 "project_dialogs.c"
1701 	}
1702 #line 1488 "glib-2.0.vapi"
1703 	if (start >= ((glong) 0)) {
1704 #line 1488 "glib-2.0.vapi"
1705 		_tmp2_ = start <= string_length;
1706 #line 1707 "project_dialogs.c"
1707 	} else {
1708 #line 1488 "glib-2.0.vapi"
1709 		_tmp2_ = FALSE;
1710 #line 1711 "project_dialogs.c"
1711 	}
1712 #line 1488 "glib-2.0.vapi"
1713 	g_return_val_if_fail (_tmp2_, NULL);
1714 #line 1489 "glib-2.0.vapi"
1715 	if (end >= ((glong) 0)) {
1716 #line 1489 "glib-2.0.vapi"
1717 		_tmp3_ = end <= string_length;
1718 #line 1719 "project_dialogs.c"
1719 	} else {
1720 #line 1489 "glib-2.0.vapi"
1721 		_tmp3_ = FALSE;
1722 #line 1723 "project_dialogs.c"
1723 	}
1724 #line 1489 "glib-2.0.vapi"
1725 	g_return_val_if_fail (_tmp3_, NULL);
1726 #line 1490 "glib-2.0.vapi"
1727 	g_return_val_if_fail (start <= end, NULL);
1728 #line 1491 "glib-2.0.vapi"
1729 	_tmp4_ = g_strndup (((gchar*) self) + start, (gsize) (end - start));
1730 #line 1491 "glib-2.0.vapi"
1731 	result = _tmp4_;
1732 #line 1491 "glib-2.0.vapi"
1733 	return result;
1734 #line 1735 "project_dialogs.c"
1735 }
1736 
1737 void
project_dialogs_update_model(GtkListStore * model)1738 project_dialogs_update_model (GtkListStore* model)
1739 {
1740 #line 328 "project_dialogs.vala"
1741 	g_return_if_fail (model != NULL);
1742 #line 330 "project_dialogs.vala"
1743 	gtk_list_store_clear (model);
1744 #line 1745 "project_dialogs.c"
1745 	{
1746 		GeeIterator* _project_it = NULL;
1747 		Projects* _tmp0_;
1748 		Projects* _tmp1_;
1749 		GeeIterator* _tmp2_;
1750 		GeeIterator* _tmp3_;
1751 #line 332 "project_dialogs.vala"
1752 		_tmp0_ = projects_get_default ();
1753 #line 332 "project_dialogs.vala"
1754 		_tmp1_ = _tmp0_;
1755 #line 332 "project_dialogs.vala"
1756 		_tmp2_ = projects_iterator (_tmp1_);
1757 #line 332 "project_dialogs.vala"
1758 		_tmp3_ = _tmp2_;
1759 #line 332 "project_dialogs.vala"
1760 		_projects_unref0 (_tmp1_);
1761 #line 332 "project_dialogs.vala"
1762 		_project_it = _tmp3_;
1763 #line 332 "project_dialogs.vala"
1764 		while (TRUE) {
1765 #line 1766 "project_dialogs.c"
1766 			GeeIterator* _tmp4_;
1767 			Project project = {0};
1768 			GeeIterator* _tmp5_;
1769 			gpointer _tmp6_;
1770 			Project* _tmp7_;
1771 			Project _tmp8_;
1772 			Project _tmp9_ = {0};
1773 			Project _tmp10_;
1774 			gchar* uri_directory = NULL;
1775 			Project _tmp11_;
1776 			GFile* _tmp12_;
1777 			gchar* _tmp13_;
1778 			gchar* uri_main_file = NULL;
1779 			Project _tmp14_;
1780 			GFile* _tmp15_;
1781 			gchar* _tmp16_;
1782 			gchar* dir = NULL;
1783 			const gchar* _tmp17_;
1784 			gchar* _tmp18_;
1785 			gchar* _tmp19_;
1786 			gchar* _tmp20_;
1787 			gchar* _tmp21_;
1788 			gchar* main_file = NULL;
1789 			const gchar* _tmp22_;
1790 			const gchar* _tmp23_;
1791 			gint _tmp24_;
1792 			gint _tmp25_;
1793 			const gchar* _tmp26_;
1794 			gint _tmp27_;
1795 			gint _tmp28_;
1796 			gchar* _tmp29_;
1797 			GtkTreeIter iter = {0};
1798 			GtkTreeIter _tmp30_ = {0};
1799 			GtkTreeIter _tmp31_;
1800 			const gchar* _tmp32_;
1801 			const gchar* _tmp33_;
1802 #line 332 "project_dialogs.vala"
1803 			_tmp4_ = _project_it;
1804 #line 332 "project_dialogs.vala"
1805 			if (!gee_iterator_next (_tmp4_)) {
1806 #line 332 "project_dialogs.vala"
1807 				break;
1808 #line 1809 "project_dialogs.c"
1809 			}
1810 #line 332 "project_dialogs.vala"
1811 			_tmp5_ = _project_it;
1812 #line 332 "project_dialogs.vala"
1813 			_tmp6_ = gee_iterator_get (_tmp5_);
1814 #line 332 "project_dialogs.vala"
1815 			_tmp7_ = (Project*) _tmp6_;
1816 #line 332 "project_dialogs.vala"
1817 			_tmp8_ = *_tmp7_;
1818 #line 332 "project_dialogs.vala"
1819 			project_copy (&_tmp8_, &_tmp9_);
1820 #line 332 "project_dialogs.vala"
1821 			_tmp10_ = _tmp9_;
1822 #line 332 "project_dialogs.vala"
1823 			_project_free0 (_tmp7_);
1824 #line 332 "project_dialogs.vala"
1825 			project = _tmp10_;
1826 #line 334 "project_dialogs.vala"
1827 			_tmp11_ = project;
1828 #line 334 "project_dialogs.vala"
1829 			_tmp12_ = _tmp11_.directory;
1830 #line 334 "project_dialogs.vala"
1831 			_tmp13_ = g_file_get_parse_name (_tmp12_);
1832 #line 334 "project_dialogs.vala"
1833 			uri_directory = _tmp13_;
1834 #line 335 "project_dialogs.vala"
1835 			_tmp14_ = project;
1836 #line 335 "project_dialogs.vala"
1837 			_tmp15_ = _tmp14_.main_file;
1838 #line 335 "project_dialogs.vala"
1839 			_tmp16_ = g_file_get_parse_name (_tmp15_);
1840 #line 335 "project_dialogs.vala"
1841 			uri_main_file = _tmp16_;
1842 #line 337 "project_dialogs.vala"
1843 			_tmp17_ = uri_directory;
1844 #line 337 "project_dialogs.vala"
1845 			_tmp18_ = tepl_utils_replace_home_dir_with_tilde (_tmp17_);
1846 #line 337 "project_dialogs.vala"
1847 			_tmp19_ = _tmp18_;
1848 #line 337 "project_dialogs.vala"
1849 			_tmp20_ = g_strconcat (_tmp19_, "/", NULL);
1850 #line 337 "project_dialogs.vala"
1851 			_tmp21_ = _tmp20_;
1852 #line 337 "project_dialogs.vala"
1853 			_g_free0 (_tmp19_);
1854 #line 337 "project_dialogs.vala"
1855 			dir = _tmp21_;
1856 #line 340 "project_dialogs.vala"
1857 			_tmp22_ = uri_main_file;
1858 #line 340 "project_dialogs.vala"
1859 			_tmp23_ = uri_directory;
1860 #line 340 "project_dialogs.vala"
1861 			_tmp24_ = strlen (_tmp23_);
1862 #line 340 "project_dialogs.vala"
1863 			_tmp25_ = _tmp24_;
1864 #line 340 "project_dialogs.vala"
1865 			_tmp26_ = uri_main_file;
1866 #line 340 "project_dialogs.vala"
1867 			_tmp27_ = strlen (_tmp26_);
1868 #line 340 "project_dialogs.vala"
1869 			_tmp28_ = _tmp27_;
1870 #line 340 "project_dialogs.vala"
1871 			_tmp29_ = string_slice (_tmp22_, (glong) (_tmp25_ + 1), (glong) _tmp28_);
1872 #line 340 "project_dialogs.vala"
1873 			main_file = _tmp29_;
1874 #line 344 "project_dialogs.vala"
1875 			gtk_list_store_append (model, &_tmp30_);
1876 #line 344 "project_dialogs.vala"
1877 			iter = _tmp30_;
1878 #line 345 "project_dialogs.vala"
1879 			_tmp31_ = iter;
1880 #line 345 "project_dialogs.vala"
1881 			_tmp32_ = dir;
1882 #line 345 "project_dialogs.vala"
1883 			_tmp33_ = main_file;
1884 #line 345 "project_dialogs.vala"
1885 			gtk_list_store_set (model, &_tmp31_, PROJECT_DIALOGS_PROJECT_COLUMN_DIRECTORY, _tmp32_, PROJECT_DIALOGS_PROJECT_COLUMN_MAIN_FILE, _tmp33_, -1, -1);
1886 #line 332 "project_dialogs.vala"
1887 			_g_free0 (main_file);
1888 #line 332 "project_dialogs.vala"
1889 			_g_free0 (dir);
1890 #line 332 "project_dialogs.vala"
1891 			_g_free0 (uri_main_file);
1892 #line 332 "project_dialogs.vala"
1893 			_g_free0 (uri_directory);
1894 #line 332 "project_dialogs.vala"
1895 			project_destroy (&project);
1896 #line 1897 "project_dialogs.c"
1897 		}
1898 #line 332 "project_dialogs.vala"
1899 		_g_object_unref0 (_project_it);
1900 #line 1901 "project_dialogs.c"
1901 	}
1902 }
1903 
1904