}
return _Clone;
}
- public Xcls_label_status label_status;
- public Xcls_label_diff label_diff;
- public Xcls_status_view status_view;
- public Xcls_diff_view diff_view;
+ public Xcls_reposel reposel;
+ public Xcls_prcellrenderer prcellrenderer;
+ 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
{
public Xcls_Box2(Clone _owner )
{
_this = _owner;
- this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
+ this.el = new Gtk.Box( Gtk.Orientation.HORIZONTAL, 0 );
// my vars (dec)
// set gobject values
- this.el.homogeneous = false;
- this.el.border_width = 5;
- var child_0 = new Xcls_Notebook3( _this );
+ this.el.expand = false;
+ this.el.vexpand = false;
+ var child_0 = new Xcls_reposel( _this );
child_0.ref();
- this.el.pack_start ( child_0.el , true,true,0 );
- var child_1 = new Xcls_Box12( _this );
+ this.el.add ( child_0.el );
+ var child_1 = new Xcls_Button6( _this );
child_1.ref();
- this.el.pack_end ( child_1.el , false,false,0 );
+ this.el.add ( child_1.el );
}
// user defined functions
}
- public class Xcls_Notebook3 : Object
+ public class Xcls_reposel : Object
{
- public Gtk.Notebook el;
+ public Gtk.ComboBox el;
private Clone _this;
// my vars (def)
+ public bool loading;
// ctor
- public Xcls_Notebook3(Clone _owner )
+ public Xcls_reposel(Clone _owner )
{
_this = _owner;
- this.el = new Gtk.Notebook();
+ _this.reposel = this;
+ this.el = new Gtk.ComboBox.with_entry();
// my vars (dec)
+ this.loading = false;
// set gobject values
- var child_0 = new Xcls_label_status( _this );
+ this.el.hexpand = true;
+ var child_0 = new Xcls_prcellrenderer( _this );
child_0.ref();
- var child_1 = new Xcls_label_diff( _this );
+ this.el.pack_start ( child_0.el , true );
+ var child_1 = new Xcls_repomodel( _this );
child_1.ref();
- var child_2 = new Xcls_Box6( _this );
- child_2.ref();
- this.el.append_page ( child_2.el , _this.label_status.el );
- var child_3 = new Xcls_Box9( _this );
- child_3.ref();
- this.el.append_page ( child_3.el , _this.label_diff.el );
- }
-
- // user defined functions
- }
- public class Xcls_label_status : Object
- {
- public Gtk.Label el;
- private Clone _this;
-
-
- // my vars (def)
-
- // ctor
- public Xcls_label_status(Clone _owner )
- {
- _this = _owner;
- _this.label_status = this;
- this.el = new Gtk.Label( "Status" );
-
- // my vars (dec)
-
- // set gobject values
- }
-
- // user defined functions
- }
-
- public class Xcls_label_diff : Object
- {
- public Gtk.Label el;
- private Clone _this;
-
-
- // my vars (def)
-
- // ctor
- public Xcls_label_diff(Clone _owner )
- {
- _this = _owner;
- _this.label_diff = this;
- this.el = new Gtk.Label( "Diff" );
-
- // my vars (dec)
-
- // set gobject values
- }
-
- // user defined functions
- }
-
- public class Xcls_Box6 : Object
- {
- public Gtk.Box el;
- private Clone _this;
-
-
- // my vars (def)
-
- // ctor
- public Xcls_Box6(Clone _owner )
- {
- _this = _owner;
- this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
-
- // my vars (dec)
-
- // set gobject values
- this.el.homogeneous = false;
- var child_0 = new Xcls_ScrolledWindow7( _this );
- child_0.ref();
- this.el.pack_start ( child_0.el , true,true,0 );
- }
-
- // user defined functions
- }
- public class Xcls_ScrolledWindow7 : Object
- {
- public Gtk.ScrolledWindow el;
- private Clone _this;
-
-
- // my vars (def)
-
- // ctor
- public Xcls_ScrolledWindow7(Clone _owner )
- {
- _this = _owner;
- this.el = new Gtk.ScrolledWindow( null, null );
-
- // my vars (dec)
-
- // set gobject values
- var child_0 = new Xcls_status_view( _this );
- child_0.ref();
- this.el.add ( child_0.el );
- }
-
- // user defined functions
- }
- public class Xcls_status_view : Object
- {
- public Gtk.SourceView el;
- private Clone _this;
-
-
- // my vars (def)
-
- // ctor
- public Xcls_status_view(Clone _owner )
- {
- _this = _owner;
- _this.status_view = this;
- this.el = new Gtk.SourceView();
-
- // my vars (dec)
+ this.el.set_model ( child_1.el );
// init method
- var description = Pango.FontDescription.from_string("monospace");
- description.set_size(9000);
- this.el.override_font(description);
+ this.el.set_entry_text_column(1);
}
// user defined functions
- }
-
-
-
- public class Xcls_Box9 : Object
- {
- public Gtk.Box el;
- private Clone _this;
-
-
- // my vars (def)
-
- // ctor
- public Xcls_Box9(Clone _owner )
- {
- _this = _owner;
- this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
-
- // my vars (dec)
-
- // set gobject values
- this.el.homogeneous = false;
- var child_0 = new Xcls_ScrolledWindow10( _this );
- child_0.ref();
- this.el.pack_start ( child_0.el , true,true,0 );
+ public string selectedRepo () {
+ Gtk.TreeIter iter;
+ Value val1;
+
+
+ this.el.get_active_iter (out iter);
+ _this.repomodel.el.get_value (iter, 0, out val1);
+
+
+ return (string) val1;
+
+
+
+
}
-
- // user defined functions
}
- public class Xcls_ScrolledWindow10 : Object
+ public class Xcls_prcellrenderer : Object
{
- public Gtk.ScrolledWindow el;
+ public Gtk.CellRendererText el;
private Clone _this;
// my vars (def)
// ctor
- public Xcls_ScrolledWindow10(Clone _owner )
+ public Xcls_prcellrenderer(Clone _owner )
{
_this = _owner;
- this.el = new Gtk.ScrolledWindow( null, null );
+ _this.prcellrenderer = this;
+ this.el = new Gtk.CellRendererText();
// my vars (dec)
// set gobject values
- this.el.height_request = 400;
- var child_0 = new Xcls_diff_view( _this );
- child_0.ref();
- this.el.add ( child_0.el );
}
// user defined functions
}
- public class Xcls_diff_view : Object
- {
- public Gtk.SourceView el;
- private Clone _this;
-
-
- // my vars (def)
-
- // ctor
- public Xcls_diff_view(Clone _owner )
- {
- _this = _owner;
- _this.diff_view = this;
- this.el = new Gtk.SourceView();
-
- // my vars (dec)
-
- // init method
-
- var description = Pango.FontDescription.from_string("monospace");
- description.set_size(9000);
- this.el.override_font(description);
- }
-
- // user defined functions
- }
-
-
-
- public class Xcls_Box12 : Object
+ public class Xcls_repomodel : Object
{
- public Gtk.Box el;
+ public Gtk.ListStore el;
private Clone _this;
// my vars (def)
// ctor
- public Xcls_Box12(Clone _owner )
+ public Xcls_repomodel(Clone _owner )
{
_this = _owner;
- this.el = new Gtk.Box( Gtk.Orientation.HORIZONTAL, 0 );
+ _this.repomodel = this;
+ this.el = new Gtk.ListStore( 2, typeof(string),typeof(string) );
// my vars (dec)
// set gobject values
- this.el.homogeneous = true;
- this.el.expand = false;
- this.el.vexpand = false;
- var child_0 = new Xcls_Button13( _this );
- child_0.ref();
- this.el.add ( child_0.el );
- var child_1 = new Xcls_Button14( _this );
- child_1.ref();
- this.el.add ( child_1.el );
- var child_2 = new Xcls_Button15( _this );
- child_2.ref();
- this.el.add ( child_2.el );
- var child_3 = new Xcls_Button16( _this );
- child_3.ref();
- this.el.add ( child_3.el );
}
// user defined functions
- }
- public class Xcls_Button13 : Object
- {
- public Gtk.Button el;
- private Clone _this;
-
-
- // my vars (def)
-
- // ctor
- public Xcls_Button13(Clone _owner )
- {
- _this = _owner;
- this.el = new Gtk.Button();
-
- // my vars (dec)
-
- // set gobject values
- this.el.label = "Stash Changes";
-
- //listeners
- this.el.button_press_event.connect( () => {
-
-
- GitMonitor.gitmonitor.stop();
- _this.repo.git({ "stash" , "--all" });
- _this.repo.loadStatus();
- GitMonitor.gitmonitor.start();
- _this.diff_view.el.get_buffer().set_text(_this.repo.git_diff);
- _this.status_view.el.get_buffer().set_text(_this.repo.git_status);
- Clones.singleton().reposStore.load();
-
- _this.el.hide();
- return false;
- });
- }
-
- // user defined functions
- }
-
- public class Xcls_Button14 : Object
- {
- public Gtk.Button el;
- private Clone _this;
-
-
- // my vars (def)
-
- // ctor
- public Xcls_Button14(Clone _owner )
- {
- _this = _owner;
- this.el = new Gtk.Button();
-
- // my vars (dec)
-
- // set gobject values
- this.el.label = "Commit Changes";
-
- //listeners
- this.el.button_press_event.connect( () => {
- _this.repo.git({ "commit" , "-a" ,"-m", "Uncommited changes synced" });
- _this.repo.push();
- _this.repo.loadStatus();
-
- _this.diff_view.el.get_buffer().set_text(_this.repo.git_diff);
- _this.status_view.el.get_buffer().set_text(_this.repo.git_status);
+ public void loadRepos () {
+
+ var rt = RooTicket.singleton();
+ var gr = GitRepo.singleton();
+ _this.reposel.loading = true;
+
+ this.el.clear();
+ Gtk.TreeIter iter;
+ var el = this.el;
+
+ el.append(out iter);
+
+
+ el.set_value(iter, 0, "");
+ 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);
- _this.el.hide();
- Clones.singleton().reposStore.load();
+ el.set_value(iter, 0, newrepo.shortname);
+ el.set_value(iter, 1, newrepo.shortname); // "%s : %s".printf(newrepo.shortname, newrepo.description) );
- return false;
- });
- }
-
- // user defined functions
- }
-
- public class Xcls_Button15 : Object
- {
- public Gtk.Button el;
- private Clone _this;
-
-
- // my vars (def)
-
- // ctor
- public Xcls_Button15(Clone _owner )
- {
- _this = _owner;
- this.el = new Gtk.Button();
-
- // my vars (dec)
-
- // set gobject values
- this.el.label = "Create Branch";
-
- //listeners
- this.el.button_press_event.connect( () => {
- var oldq = new Gee.ArrayList<GitMonitorQueue>();
-
- NewBranch.singleton().show(_this.repo, oldq);
+
+ }
- return false;
- });
+ _this.reposel.loading = false;
+ //this.el.set_sort_column_id(0, Gtk.SortType.ASCENDING);
+
}
-
- // user defined functions
}
- public class Xcls_Button16 : Object
+
+ public class Xcls_Button6 : Object
{
public Gtk.Button el;
private Clone _this;
// my vars (def)
// ctor
- public Xcls_Button16(Clone _owner )
+ public Xcls_Button6(Clone _owner )
{
_this = _owner;
this.el = new Gtk.Button();
// my vars (dec)
// set gobject values
- this.el.label = "Ignore for now";
+ this.el.label = "Checkout";
//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;
});
}
}
-
}