}
return _Clone;
}
- public Xcls_projectsel projectsel;
+ public Xcls_reposel reposel;
public Xcls_prcellrenderer prcellrenderer;
- public Xcls_prmodel prmodel;
+ public Xcls_repomodel repomodel;
// my vars (def)
- public GitRepo repo;
// ctor
public Clone()
}
// user defined functions
- public void show (Gtk.Widget btn, Gdk.Rectangle rect, GitRepo repo) {
- _this.repo = repo;
- // get the active project.
- var lm = Gtk.SourceLanguageManager.get_default();
-
- // ((Gtk.SourceBuffer)(_this.view.el.get_buffer())) .set_language(
- // lm.get_language("html")
- // );
-
- //print (project.fn);
- //project.runhtml = project.runhtml || '';
- _this.diff_view.el.get_buffer().set_text(repo.git_diff);
- _this.status_view.el.get_buffer().set_text(repo.git_status);
-
+ public void show (Gtk.Widget btn) {
+
//console.log('show all');
this.el.set_modal(true);
this.el.set_relative_to(btn);
- this.el.set_pointing_to(rect);
-
+ this.repomodel.loadRepos();
//this.el.set_position(Gtk.PositionType.RIGHT);
// window + header?
GLib.debug("SHOWALL - POPIP\n");
this.el.show_all();
- //this.el.set_size_request(800,500);
- // this.diff_view.el.grab_focus();
-
- //this.el.show_all();
+ ;
}
public class Xcls_Box2 : Object
{
// ctor
public Xcls_Box2(Clone _owner )
- {
- _this = _owner;
- this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
-
- // my vars (dec)
-
- // set gobject values
- this.el.homogeneous = false;
- this.el.border_width = 5;
- var child_0 = new Xcls_Box3( _this );
- child_0.ref();
- this.el.pack_end ( child_0.el , false,false,0 );
- }
-
- // user defined functions
- }
- public class Xcls_Box3 : Object
- {
- public Gtk.Box el;
- private Clone _this;
-
-
- // my vars (def)
-
- // ctor
- public Xcls_Box3(Clone _owner )
{
_this = _owner;
this.el = new Gtk.Box( Gtk.Orientation.HORIZONTAL, 0 );
// my vars (dec)
// set gobject values
- this.el.homogeneous = true;
this.el.expand = false;
this.el.vexpand = false;
- var child_0 = new Xcls_projectsel( _this );
+ var child_0 = new Xcls_reposel( _this );
child_0.ref();
- this.el.attach_defaults ( child_0.el , 0,1,1,2 );
- var child_1 = new Xcls_Button7( _this );
+ this.el.add ( child_0.el );
+ var child_1 = new Xcls_Button6( _this );
child_1.ref();
this.el.add ( child_1.el );
}
// user defined functions
}
- public class Xcls_projectsel : Object
+ public class Xcls_reposel : Object
{
public Gtk.ComboBox el;
private Clone _this;
public bool loading;
// ctor
- public Xcls_projectsel(Clone _owner )
+ public Xcls_reposel(Clone _owner )
{
_this = _owner;
- _this.projectsel = this;
+ _this.reposel = this;
this.el = new Gtk.ComboBox.with_entry();
// my vars (dec)
this.loading = false;
// set gobject values
+ this.el.hexpand = true;
var child_0 = new Xcls_prcellrenderer( _this );
child_0.ref();
this.el.pack_start ( child_0.el , true );
- var child_1 = new Xcls_prmodel( _this );
+ var child_1 = new Xcls_repomodel( _this );
child_1.ref();
this.el.set_model ( child_1.el );
// init method
this.el.set_entry_text_column(1);
-
- //listeners
- this.el.changed.connect( () => {
- if (this.loading) {
- return;
- }
- var project_id = this.selectedProjectId();
- _this.dbmodel.loadTickets(project_id);
-
-
- /*if (this.loading) {
- return;
- }
- var ticket_id = this.selectedTicketId();
-
- var name = RooTicket.singleton().usernameLocal();
-
- if (ticket_id == "" || ticket_id == null) {
-
- var dt = new DateTime.now_local();
- _this.name.el.set_text("wip_%s_%s".printf(name,dt.format("%Y_%b_%d")));
- return;
- }
-
-
- var ticket = RooTicket.singleton().getById(ticket_id);
-
- _this.name.el.set_text("wip_%s_T%s_%s".printf(name,ticket.id, ticket.summaryToBranchName()));
-
- //GLib.debug (//"Selection: %s, %s\n", (string) val1, (string) val2);
- */
- });
}
// user defined functions
- public string selectedProjectId () {
+ public string selectedRepo () {
Gtk.TreeIter iter;
Value val1;
this.el.get_active_iter (out iter);
- _this.prmodel.el.get_value (iter, 0, out val1);
+ _this.repomodel.el.get_value (iter, 0, out val1);
return (string) val1;
// user defined functions
}
- public class Xcls_prmodel : Object
+ public class Xcls_repomodel : Object
{
public Gtk.ListStore el;
private Clone _this;
// my vars (def)
// ctor
- public Xcls_prmodel(Clone _owner )
+ public Xcls_repomodel(Clone _owner )
{
_this = _owner;
- _this.prmodel = this;
+ _this.repomodel = this;
this.el = new Gtk.ListStore( 2, typeof(string),typeof(string) );
// my vars (dec)
}
// user defined functions
- public void loadProjects (string id) {
+ public void loadRepos () {
var rt = RooTicket.singleton();
- rt.loadProjects();
-
- _this.projectsel.loading = true;
+ var gr = GitRepo.singleton();
+ _this.reposel.loading = true;
this.el.clear();
Gtk.TreeIter iter;
el.set_value(iter, 0, "");
- el.set_value(iter, 1, "-- select a project --");
- if (id == "") {
- _this.projectsel.el.set_active_iter(iter);
- }
- var projects = rt.projects;
- foreach(var project in projects) {
+ el.set_value(iter, 1, "-- select a repo --");
+
+ _this.reposel.el.set_active_iter(iter);
+ var projects = rt.projects;
+ foreach(var newrepo in rt.repos) {
+ var has_repo = false;
+ foreach(var repo in gr.cache.values) {
+ if (newrepo.shortname == repo.name) {
+ has_repo = true;
+ }
+ }
+ if (has_repo) {
+ continue;
+ }
el.append(out iter);
- el.set_value(iter, 0, project.id);
- el.set_value(iter, 1, project.name );
- if (id == project.id) {
- _this.projectsel.el.set_active_iter(iter);
- }
+ el.set_value(iter, 0, newrepo.shortname);
+ el.set_value(iter, 1, newrepo.shortname); // "%s : %s".printf(newrepo.shortname, newrepo.description) );
+
}
- _this.projectsel.loading = false;
+ _this.reposel.loading = false;
//this.el.set_sort_column_id(0, Gtk.SortType.ASCENDING);
}
}
- public class Xcls_Button7 : Object
+ public class Xcls_Button6 : Object
{
public Gtk.Button el;
private Clone _this;
// my vars (def)
// ctor
- public Xcls_Button7(Clone _owner )
+ public Xcls_Button6(Clone _owner )
{
_this = _owner;
this.el = new Gtk.Button();
//listeners
this.el.button_press_event.connect( () => {
- _this.el.hide();
+ _this.el.hide();
+ Clones.singleton().el.hide();
+ var repo = _this.reposel.selectedRepo();
+ GitMonitor.gitmonitor.stop();
+
+
+ string[] args = { "git" , "--no-pager" , "clone" };
+
+ args += ("http://git.roojs.com/" + repo );
+
+
+
+ string[] env = {};
+ string home = "HOME=" + Environment.get_home_dir() ;
+ env += home ;
+ //v.push("GITPATH=" + this.repo );
+ //}
+
+ var cfg = new SpawnConfig(Environment.get_home_dir() + "/gitlive" , args , env);
+ //cfg.debug = true;
+
+ // may throw error...
+ var sp = new Spawn(cfg);
+
+ GLib.debug("Spawn: %s", sp.output);
+
+
+
+
+
+
+ GitMonitor.gitmonitor.start();
+
+ GitRepo.updateAll("show_clones");
+
return false;
});
}
}
-
}