diff options
author | Matthieu Gautier <mgautier@fedoraproject.org> | 2009-04-02 16:12:54 +0200 |
---|---|---|
committer | Matthieu Gautier <mgautier@fedoraproject.org> | 2009-04-02 16:12:54 +0200 |
commit | 8cf9b696151d4347a1163bd114048c2d0d88a92b (patch) | |
tree | c8826e6ee75a01ef119cd84df0586a3c24e61884 /g-ed-it/docBar.py | |
parent | 2200c30494a90a40ff4d09ca2069ddff73d81878 (diff) | |
download | g-ed-it-8cf9b696151d4347a1163bd114048c2d0d88a92b.tar.gz g-ed-it-8cf9b696151d4347a1163bd114048c2d0d88a92b.tar.xz g-ed-it-8cf9b696151d4347a1163bd114048c2d0d88a92b.zip |
'Hide docBar when doc is untitled or not in a git repo.
# On branch master
# Your branch is ahead of 'origin/master' by 3 commits.
#
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: docBar.py
#
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
#
# modified: commitDialog.py
#
'
Diffstat (limited to 'g-ed-it/docBar.py')
-rw-r--r-- | g-ed-it/docBar.py | 51 |
1 files changed, 32 insertions, 19 deletions
diff --git a/g-ed-it/docBar.py b/g-ed-it/docBar.py index 760b0d6..e7deb24 100644 --- a/g-ed-it/docBar.py +++ b/g-ed-it/docBar.py @@ -23,7 +23,7 @@ class DocBar (object): self.update_handler1 = self.doc.connect("saved",self.doc_changed) self.update_handler2 = self.doc.connect("loaded",self.doc_changed) - hbox = gtk.HBox() + self.docBar = gtk.HBox() self.lbl_status = gtk.Label("État du fichier") @@ -39,21 +39,21 @@ class DocBar (object): self.btn_diff_index_wt = gtk.Button("diff INDEX/WT") self.btn_diff_index_wt.connect("clicked", self.diff_index_wt) - hbox.pack_start(self.btn_diff_head_index, False, False) - hbox.pack_start(self.btn_diff_index_wt, False, False) - hbox.pack_start(self.lbl_status, True, False) - hbox.pack_start(self.btn_add, False, False) - hbox.pack_start(self.btn_commit, False, False) + self.docBar.pack_start(self.btn_diff_head_index, False, False) + self.docBar.pack_start(self.btn_diff_index_wt, False, False) + self.docBar.pack_start(self.lbl_status, True, False) + self.docBar.pack_start(self.btn_add, False, False) + self.docBar.pack_start(self.btn_commit, False, False) - self.vbox.pack_start(hbox, False, False) + self.vbox.pack_start(self.docBar, False, False) self.vbox.pack_start(self.child) self.tab.add(self.vbox) - self.getDocState() - self.tab.show_all() + self.getDocState() + def deactivate(self): self.tab.remove(self.vbox) self.vbox.remove(self.child) @@ -72,28 +72,41 @@ class DocBar (object): cwd = os.path.dirname(uri) bname = os.path.basename(uri) + self.inGitDir = False + self.iscached = False self.HEAD2index = None self.index2WT = None if not self.doc.is_untitled(): - statusStr = subprocess.Popen(["git-diff","--cached","--name-status",os.path.basename(uri)],stdout=subprocess.PIPE,cwd=cwd).communicate()[0] - if statusStr != "": - status = statusStr[:-1].split()[0] - self.HEAD2index = status - statusStr = subprocess.Popen(["git-diff","--name-status",os.path.basename(uri)],stdout=subprocess.PIPE,cwd=cwd).communicate()[0] - if statusStr != "": - status = statusStr[:-1].split()[0] - self.index2WT = status + subPro = subprocess.Popen(["git-ls-files",os.path.basename(uri)],stdout=subprocess.PIPE,cwd=cwd) + statusStr = subPro.communicate()[0] + if subPro.returncode == 0 : + self.inGitDir = True + if statusStr != "": + self.iscached = True + statusStr = subprocess.Popen(["git-diff","--cached","--name-status",os.path.basename(uri)],stdout=subprocess.PIPE,cwd=cwd).communicate()[0] + if statusStr != "": + status = statusStr[:-1].split()[0] + self.HEAD2index = status + statusStr = subprocess.Popen(["git-diff","--name-status",os.path.basename(uri)],stdout=subprocess.PIPE,cwd=cwd).communicate()[0] + if statusStr != "": + status = statusStr[:-1].split()[0] + self.index2WT = status self.setDocInfo() pass def setDocInfo(self): + if not self.inGitDir : + self.docBar.hide() + return + self.docBar.show() self.btn_add.set_sensitive(self.index2WT!=None) self.btn_commit.set_sensitive(self.HEAD2index!=None) self.btn_diff_head_index.set_sensitive(self.HEAD2index!=None) self.btn_diff_index_wt.set_sensitive(self.index2WT!=None) - if self.doc.is_untitled(): - self.lbl_status.set_label("Nouveau fichier") + if not self.iscached : + self.lbl_status.set_label("Not cached") + self.btn_add.set_sensitive(True) else: text = "HEAD -- " if self.HEAD2index == "A": |