751f07c4b43c8681a6cac9039559637366f6799e
[gitlive] / RepoStatusPopover.vala
1 static RepoStatusPopover  _RepoStatusPopover;
2
3 public class RepoStatusPopover : Object
4 {
5     public Gtk.Popover el;
6     private RepoStatusPopover  _this;
7
8     public static RepoStatusPopover singleton()
9     {
10         if (_RepoStatusPopover == null) {
11             _RepoStatusPopover= new RepoStatusPopover();
12         }
13         return _RepoStatusPopover;
14     }
15     public Xcls_label_status label_status;
16     public Xcls_label_diff label_diff;
17     public Xcls_status_view status_view;
18     public Xcls_diff_view diff_view;
19
20         // my vars (def)
21     public GitRepo repo;
22
23     // ctor
24     public RepoStatusPopover()
25     {
26         _this = this;
27         this.el = new Gtk.Popover( null );
28
29         // my vars (dec)
30
31         // set gobject values
32         this.el.border_width = 0;
33         this.el.modal = true;
34         this.el.position = Gtk.PositionType.RIGHT;
35         var child_0 = new Xcls_Box2( _this );
36         child_0.ref();
37         this.el.add (  child_0.el  );
38     }
39
40     // user defined functions
41     public void show (Gtk.Widget btn, Gdk.Rectangle rect, GitRepo repo) {
42         _this.repo = repo;
43         // get the active project.
44          var lm = Gtk.SourceLanguageManager.get_default();
45                     
46     //    ((Gtk.SourceBuffer)(_this.view.el.get_buffer())) .set_language(
47       //      lm.get_language("html")
48      //   );
49       
50         //print (project.fn);
51         //project.runhtml = project.runhtml || '';
52         _this.diff_view.el.get_buffer().set_text(repo.git_diff);
53         _this.status_view.el.get_buffer().set_text(repo.git_status);
54            
55                 //console.log('show all');
56         this.el.set_modal(true);
57         this.el.set_relative_to(btn);
58         this.el.set_pointing_to(rect);
59       
60         //this.el.set_position(Gtk.PositionType.RIGHT);
61     
62         // window + header?
63          GLib.debug("SHOWALL - POPIP\n");
64         this.el.show_all();
65         //this.el.set_size_request(800,500);
66     //  this.diff_view.el.grab_focus();
67         
68         //this.el.show_all();
69     }
70     public class Xcls_Box2 : Object
71     {
72         public Gtk.Box el;
73         private RepoStatusPopover  _this;
74
75
76             // my vars (def)
77
78         // ctor
79         public Xcls_Box2(RepoStatusPopover _owner )
80         {
81             _this = _owner;
82             this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
83
84             // my vars (dec)
85
86             // set gobject values
87             this.el.homogeneous = false;
88             this.el.border_width = 5;
89             var child_0 = new Xcls_Notebook3( _this );
90             child_0.ref();
91             this.el.pack_start (  child_0.el , true,true,0 );
92             var child_1 = new Xcls_Box12( _this );
93             child_1.ref();
94             this.el.pack_end (  child_1.el , false,false,0 );
95         }
96
97         // user defined functions
98     }
99     public class Xcls_Notebook3 : Object
100     {
101         public Gtk.Notebook el;
102         private RepoStatusPopover  _this;
103
104
105             // my vars (def)
106
107         // ctor
108         public Xcls_Notebook3(RepoStatusPopover _owner )
109         {
110             _this = _owner;
111             this.el = new Gtk.Notebook();
112
113             // my vars (dec)
114
115             // set gobject values
116             var child_0 = new Xcls_label_status( _this );
117             child_0.ref();
118             var child_1 = new Xcls_label_diff( _this );
119             child_1.ref();
120             var child_2 = new Xcls_Box6( _this );
121             child_2.ref();
122             this.el.append_page (  child_2.el , _this.label_status.el );
123             var child_3 = new Xcls_Box9( _this );
124             child_3.ref();
125             this.el.append_page (  child_3.el , _this.label_diff.el );
126         }
127
128         // user defined functions
129     }
130     public class Xcls_label_status : Object
131     {
132         public Gtk.Label el;
133         private RepoStatusPopover  _this;
134
135
136             // my vars (def)
137
138         // ctor
139         public Xcls_label_status(RepoStatusPopover _owner )
140         {
141             _this = _owner;
142             _this.label_status = this;
143             this.el = new Gtk.Label( "Status" );
144
145             // my vars (dec)
146
147             // set gobject values
148         }
149
150         // user defined functions
151     }
152
153     public class Xcls_label_diff : Object
154     {
155         public Gtk.Label el;
156         private RepoStatusPopover  _this;
157
158
159             // my vars (def)
160
161         // ctor
162         public Xcls_label_diff(RepoStatusPopover _owner )
163         {
164             _this = _owner;
165             _this.label_diff = this;
166             this.el = new Gtk.Label( "Diff" );
167
168             // my vars (dec)
169
170             // set gobject values
171         }
172
173         // user defined functions
174     }
175
176     public class Xcls_Box6 : Object
177     {
178         public Gtk.Box el;
179         private RepoStatusPopover  _this;
180
181
182             // my vars (def)
183
184         // ctor
185         public Xcls_Box6(RepoStatusPopover _owner )
186         {
187             _this = _owner;
188             this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
189
190             // my vars (dec)
191
192             // set gobject values
193             this.el.homogeneous = false;
194             var child_0 = new Xcls_ScrolledWindow7( _this );
195             child_0.ref();
196             this.el.pack_start (  child_0.el , true,true,0 );
197         }
198
199         // user defined functions
200     }
201     public class Xcls_ScrolledWindow7 : Object
202     {
203         public Gtk.ScrolledWindow el;
204         private RepoStatusPopover  _this;
205
206
207             // my vars (def)
208
209         // ctor
210         public Xcls_ScrolledWindow7(RepoStatusPopover _owner )
211         {
212             _this = _owner;
213             this.el = new Gtk.ScrolledWindow( null, null );
214
215             // my vars (dec)
216
217             // set gobject values
218             var child_0 = new Xcls_status_view( _this );
219             child_0.ref();
220             this.el.add (  child_0.el  );
221         }
222
223         // user defined functions
224     }
225     public class Xcls_status_view : Object
226     {
227         public Gtk.SourceView el;
228         private RepoStatusPopover  _this;
229
230
231             // my vars (def)
232
233         // ctor
234         public Xcls_status_view(RepoStatusPopover _owner )
235         {
236             _this = _owner;
237             _this.status_view = this;
238             this.el = new Gtk.SourceView();
239
240             // my vars (dec)
241
242             // init method
243
244             var description =   Pango.FontDescription.from_string("monospace");
245                 description.set_size(9000);
246                 this.el.override_font(description);
247         }
248
249         // user defined functions
250     }
251
252
253
254     public class Xcls_Box9 : Object
255     {
256         public Gtk.Box el;
257         private RepoStatusPopover  _this;
258
259
260             // my vars (def)
261
262         // ctor
263         public Xcls_Box9(RepoStatusPopover _owner )
264         {
265             _this = _owner;
266             this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
267
268             // my vars (dec)
269
270             // set gobject values
271             this.el.homogeneous = false;
272             var child_0 = new Xcls_ScrolledWindow10( _this );
273             child_0.ref();
274             this.el.pack_start (  child_0.el , true,true,0 );
275         }
276
277         // user defined functions
278     }
279     public class Xcls_ScrolledWindow10 : Object
280     {
281         public Gtk.ScrolledWindow el;
282         private RepoStatusPopover  _this;
283
284
285             // my vars (def)
286
287         // ctor
288         public Xcls_ScrolledWindow10(RepoStatusPopover _owner )
289         {
290             _this = _owner;
291             this.el = new Gtk.ScrolledWindow( null, null );
292
293             // my vars (dec)
294
295             // set gobject values
296             this.el.height_request = 400;
297             var child_0 = new Xcls_diff_view( _this );
298             child_0.ref();
299             this.el.add (  child_0.el  );
300         }
301
302         // user defined functions
303     }
304     public class Xcls_diff_view : Object
305     {
306         public Gtk.SourceView el;
307         private RepoStatusPopover  _this;
308
309
310             // my vars (def)
311
312         // ctor
313         public Xcls_diff_view(RepoStatusPopover _owner )
314         {
315             _this = _owner;
316             _this.diff_view = this;
317             this.el = new Gtk.SourceView();
318
319             // my vars (dec)
320
321             // init method
322
323             var description =   Pango.FontDescription.from_string("monospace");
324                 description.set_size(9000);
325                 this.el.override_font(description);
326         }
327
328         // user defined functions
329     }
330
331
332
333
334     public class Xcls_Box12 : Object
335     {
336         public Gtk.Box el;
337         private RepoStatusPopover  _this;
338
339
340             // my vars (def)
341
342         // ctor
343         public Xcls_Box12(RepoStatusPopover _owner )
344         {
345             _this = _owner;
346             this.el = new Gtk.Box( Gtk.Orientation.HORIZONTAL, 0 );
347
348             // my vars (dec)
349
350             // set gobject values
351             this.el.homogeneous = true;
352             this.el.expand = false;
353             this.el.vexpand = false;
354             var child_0 = new Xcls_Toolbar13( _this );
355             child_0.ref();
356             this.el.pack_start (  child_0.el , ?bool?,?bool?,?uint? );
357             var child_1 = new Xcls_ToolButton15( _this );
358             child_1.ref();
359             this.el.add (  child_1.el  );
360             var child_2 = new Xcls_ToolButton16( _this );
361             child_2.ref();
362             this.el.add (  child_2.el  );
363             var child_3 = new Xcls_ToolButton17( _this );
364             child_3.ref();
365             this.el.add (  child_3.el  );
366             var child_4 = new Xcls_ToolButton18( _this );
367             child_4.ref();
368             this.el.add (  child_4.el  );
369             var child_5 = new Xcls_ToolButton19( _this );
370             child_5.ref();
371             this.el.add (  child_5.el  );
372             var child_6 = new Xcls_ToolButton20( _this );
373             child_6.ref();
374             this.el.add (  child_6.el  );
375             var child_7 = new Xcls_ToolButton21( _this );
376             child_7.ref();
377             this.el.add (  child_7.el  );
378         }
379
380         // user defined functions
381     }
382     public class Xcls_Toolbar13 : Object
383     {
384         public Gtk.Toolbar el;
385         private RepoStatusPopover  _this;
386
387
388             // my vars (def)
389
390         // ctor
391         public Xcls_Toolbar13(RepoStatusPopover _owner )
392         {
393             _this = _owner;
394             this.el = new Gtk.Toolbar();
395
396             // my vars (dec)
397
398             // set gobject values
399             var child_0 = new Xcls_ToolButton14( _this );
400             child_0.ref();
401             this.el.add (  child_0.el  );
402         }
403
404         // user defined functions
405     }
406     public class Xcls_ToolButton14 : Object
407     {
408         public Gtk.ToolButton el;
409         private RepoStatusPopover  _this;
410
411
412             // my vars (def)
413
414         // ctor
415         public Xcls_ToolButton14(RepoStatusPopover _owner )
416         {
417             _this = _owner;
418             this.el = new Gtk.ToolButton( null, "Stash Changes" );
419
420             // my vars (dec)
421
422             // set gobject values
423
424             //listeners
425             this.el.button_press_event.connect( () => {
426               
427                
428                GitMonitor.gitmonitor.stop();
429                _this.repo.git({ "stash" , "--all" });
430                _this.repo.loadStatus();
431                GitMonitor.gitmonitor.start();
432                 _this.diff_view.el.get_buffer().set_text(_this.repo.git_diff);
433                 _this.status_view.el.get_buffer().set_text(_this.repo.git_status);
434                 Clones.singleton().reposStore.load();
435               
436                _this.el.hide();
437                 return false;
438             });
439         }
440
441         // user defined functions
442     }
443
444
445     public class Xcls_ToolButton15 : Object
446     {
447         public Gtk.ToolButton el;
448         private RepoStatusPopover  _this;
449
450
451             // my vars (def)
452
453         // ctor
454         public Xcls_ToolButton15(RepoStatusPopover _owner )
455         {
456             _this = _owner;
457             this.el = new Gtk.ToolButton( null, "Stash Changes" );
458
459             // my vars (dec)
460
461             // set gobject values
462
463             //listeners
464             this.el.button_press_event.connect( () => {
465               
466                
467                GitMonitor.gitmonitor.stop();
468                _this.repo.git({ "stash" , "--all" });
469                _this.repo.loadStatus();
470                GitMonitor.gitmonitor.start();
471                 _this.diff_view.el.get_buffer().set_text(_this.repo.git_diff);
472                 _this.status_view.el.get_buffer().set_text(_this.repo.git_status);
473                 Clones.singleton().reposStore.load();
474               
475                _this.el.hide();
476                 return false;
477             });
478         }
479
480         // user defined functions
481     }
482
483     public class Xcls_ToolButton16 : Object
484     {
485         public Gtk.ToolButton el;
486         private RepoStatusPopover  _this;
487
488
489             // my vars (def)
490
491         // ctor
492         public Xcls_ToolButton16(RepoStatusPopover _owner )
493         {
494             _this = _owner;
495             this.el = new Gtk.ToolButton( null, "Commit Changes" );
496
497             // my vars (dec)
498
499             // set gobject values
500
501             //listeners
502             this.el.button_press_event.connect( () => {
503                _this.repo.git({ "commit" , "-a" ,"-m", "Uncommited changes synced" });
504                _this.repo.push();
505                _this.repo.loadStatus();
506                
507                 _this.diff_view.el.get_buffer().set_text(_this.repo.git_diff);
508                 _this.status_view.el.get_buffer().set_text(_this.repo.git_status);
509                 
510                _this.el.hide();
511                Clones.singleton().reposStore.load();
512                
513                 return false;
514             });
515         }
516
517         // user defined functions
518     }
519
520     public class Xcls_ToolButton17 : Object
521     {
522         public Gtk.ToolButton el;
523         private RepoStatusPopover  _this;
524
525
526             // my vars (def)
527
528         // ctor
529         public Xcls_ToolButton17(RepoStatusPopover _owner )
530         {
531             _this = _owner;
532             this.el = new Gtk.ToolButton( null, "Create Branch / Start ticket" );
533
534             // my vars (dec)
535
536             // set gobject values
537
538             //listeners
539             this.el.button_press_event.connect( () => {
540                var oldq = new Gee.ArrayList<GitMonitorQueue>();  
541             
542                 Clones.singleton().el.response(-1);
543                 NewBranch.singleton().show(_this.repo, oldq);
544             
545                 return false;
546             });
547         }
548
549         // user defined functions
550     }
551
552     public class Xcls_ToolButton18 : Object
553     {
554         public Gtk.ToolButton el;
555         private RepoStatusPopover  _this;
556
557
558             // my vars (def)
559
560         // ctor
561         public Xcls_ToolButton18(RepoStatusPopover _owner )
562         {
563             _this = _owner;
564             this.el = new Gtk.ToolButton( null, "Reset to remote" );
565
566             // my vars (dec)
567
568             // set gobject values
569
570             //listeners
571             this.el.button_press_event.connect( () => {
572               
573                
574                GitMonitor.gitmonitor.stop();
575                _this.repo.git({ "reset" , "--hard" });
576                _this.repo.loadStatus();
577                GitMonitor.gitmonitor.start();
578                 _this.diff_view.el.get_buffer().set_text(_this.repo.git_diff);
579                 _this.status_view.el.get_buffer().set_text(_this.repo.git_status);
580                 Clones.singleton().reposStore.load();
581               
582                _this.el.hide();
583                 return false;
584             });
585         }
586
587         // user defined functions
588     }
589
590     public class Xcls_ToolButton19 : Object
591     {
592         public Gtk.ToolButton el;
593         private RepoStatusPopover  _this;
594
595
596             // my vars (def)
597
598         // ctor
599         public Xcls_ToolButton19(RepoStatusPopover _owner )
600         {
601             _this = _owner;
602             this.el = new Gtk.ToolButton( null, "Pull updates" );
603
604             // my vars (dec)
605
606             // set gobject values
607
608             //listeners
609             this.el.button_press_event.connect( () => {
610               
611                
612                GitMonitor.gitmonitor.stop();
613                _this.repo.git({ "pull" , "--all" });
614                _this.repo.loadStatus();
615                GitMonitor.gitmonitor.start();
616                 _this.diff_view.el.get_buffer().set_text(_this.repo.git_diff);
617                 _this.status_view.el.get_buffer().set_text(_this.repo.git_status);
618                 Clones.singleton().reposStore.load();
619               
620                _this.el.hide();
621                 return false;
622             });
623         }
624
625         // user defined functions
626     }
627
628     public class Xcls_ToolButton20 : Object
629     {
630         public Gtk.ToolButton el;
631         private RepoStatusPopover  _this;
632
633
634             // my vars (def)
635
636         // ctor
637         public Xcls_ToolButton20(RepoStatusPopover _owner )
638         {
639             _this = _owner;
640             this.el = new Gtk.ToolButton( null, "Merge branch/  ticket" );
641
642             // my vars (dec)
643
644             // set gobject values
645
646             //listeners
647             this.el.button_press_event.connect( () => {
648             
649                _this.el.hide();
650                Clones.singleton().el.response(-1);
651                if (_this.repo.activeTicket != null) {
652                    MergeBranch.singleton().show(_this.repo.activeTicket, null);   
653                }
654                 return false;
655             });
656         }
657
658         // user defined functions
659     }
660
661     public class Xcls_ToolButton21 : Object
662     {
663         public Gtk.ToolButton el;
664         private RepoStatusPopover  _this;
665
666
667             // my vars (def)
668
669         // ctor
670         public Xcls_ToolButton21(RepoStatusPopover _owner )
671         {
672             _this = _owner;
673             this.el = new GtkButton.new_from_stock();
674
675             // my vars (dec)
676
677             // set gobject values
678             this.el.label = "Create Ticket";
679
680             //listeners
681             this.el.button_press_event.connect( () => {
682               
683             
684             
685                   Clones.singleton().el.response(-1);
686               
687                _this.el.hide();
688                Ticket.singleton().show( _this.repo);
689                
690                 return false;
691             });
692         }
693
694         // user defined functions
695     }
696
697
698
699 }