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