-//<script type="text/javascript">
-
-
/**
* Status icon and menu for component of gitlive.
*
var GLib = imports.gi.GLib;
var Notify = imports.gi.Notify;
-var Git = imports.Git;
var XObject = imports.XObject.XObject;
-var gitlive = imports.gitlive;
+//var gitlive = imports.gitlive;
var StatusIcon = new XObject({
paused : false, // on!
xtype : Gtk.StatusIcon,
+ title : 'gitlive',
stock : Gtk.STOCK_MEDIA_PLAY,
tooltip_text : 'GitLive',
+ init : function() {
+ XObject.prototype.init.call(this);
+ this.el.set_name('gitlive');
+ },
listeners : {
//'popup-menu' : function( w, event, event_time) {
'activate' : function( w, event, event_time) {
print(Array.prototype.slice.call(arguments).join(','));
- menu = this.get('menu');
+ var menu = this.get('menu');
menu.el.show_all();
listeners : {
activate : function () {
this.parent.parent.paused = true;
- gitlive.monitor.stop();
+ imports.GitMonitor.GitMonitor.stop();
// this.el.label = status ? 'Resume' : 'Pause';
this.parent.parent.el.set_from_stock( Gtk.STOCK_MEDIA_PAUSE );
listeners : {
activate : function () {
this.parent.parent.paused = false;
- gitlive.monitor.start();
+ imports.GitMonitor.GitMonitor.start();
//var status = this.el.label == 'Pause' ? 1 : 0
// this.el.label = status ? 'Resume' : 'Pause';
this.parent.parent.el.set_from_stock( Gtk.STOCK_MEDIA_PLAY);
pack: 'append',
listeners : {
activate : function () {
- gitlive.monitor.stop();
+ imports.gitlive.monitor.stop();
- var f = Gio.file_new_for_path(gitlive.gitlive);
+ var f = Gio.file_new_for_path(imports.GitMonitor.GitMonitor.gitlive);
var file_enum = f.enumerate_children(
Gio.FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME, Gio.FileQueryInfoFlags.NONE, null);
while ((next_file = file_enum.next_file(null)) != null) {
- var fn = gitlive.gitlive + '/' + next_file.get_display_name();
+ var fn = imports.GitMonitor.GitMonitor.gitlive + '/' + next_file.get_display_name();
if (! GLib.file_test(fn + '/.git', GLib.FileTest.IS_DIR)) {
continue;
}
-
- var res = Git.run(fn, 'pull' );
- if (res.result * 1 == 0) {
-
+ var repo = new imports.Scm.Git.Repo.Repo({
+ repopath : fn
+ });
+ try {
+ var str = repo.pull();
var notification = new Notify.Notification({
summary: "Updated " + fn,
body : res.output
});
- notification.set_timeout(1000);
+ notification.set_timeout(20);
notification.show();
- continue;
+
+ } catch(e) {
+ print(JSON.stringify(e));
+ print("notification or push errror- probably to many in queue..");
+ imports.gitlive.errorDialog(e.message);
+
}
- gitlive.errorDialog(res.stderr);
+
// should also update modules ideally.
}
file_enum.close(null);
- gitlive.monitor.start();
+ imports.GitMonitor.GitMonitor.start();
}
}
pack: 'append',
listeners : {
activate : function () {
-
+ var ret = imports.Clones.Clones.show();
}
}
activate : function () {
var msg = new Gtk.AboutDialog({
program_name : "Git Live",
- version: '0.1',
- website: 'http://git.akbkhome.com',
- website_label: 'AK BK Consulting (git repo)',
+ version: '0.3',
+ website: 'http://www.roojs.org/index.php/projects/gitlive.html',
+ website_label: 'RooJS Consulting',
license : 'LGPL'
});
- msg.set_authors([ "Alan Knowles <alan@akbkhome.com>" ]);
+ msg.set_authors([ "Alan Knowles <alan@roojs.com>" ]);
msg.run();
msg.destroy();
}