#!/usr/bin/python

import Tkinter, tkFileDialog, tkSimpleDialog, tkMessageBox
from libgitcpp import GitCPP

def commit():
    if repo.changes():
        commit_message = tkSimpleDialog.askstring(root, "commit message")
        if commit_message:
            repo.commit(commit_message)
    else:
        tkMessageBox.showinfo("commit message", "nothing to commit")


root = Tkinter.Tk()
root.title("GitCPP")

label_info = Tkinter.Label(root, text="GitCPP", justify="left", font="monospace")
label_info.grid(columnspan=3)

dirname = tkFileDialog.askdirectory(parent=root, title='Please select a directory')
repo = GitCPP(dirname)

if not repo.is_repository():
    if tkMessageBox.askyesno("git init", "Initialize repozitory here?"):
        repo.init()
    else:
        label_repo = Tkinter.Label(root, text="isn't git repository\n"+dirname, justify="left", font="monospace")
        label_repo.grid(columnspan=3)
        root.mainloop()


root.title("GitCPP "+dirname)

label_repo = Tkinter.Label(root, text=dirname, justify="left", font="monospace")
label_repo.grid(columnspan=3)

button_commit = Tkinter.Button(root, text="commit", command=commit)
button_push = Tkinter.Button(root, text="push", command=repo.push)
button_pull = Tkinter.Button(root, text="pull", command=repo.pull)

button_commit.grid(row=3, column=0)
button_push.grid(row=3, column=1)
button_pull.grid(row=3, column=2)



root.mainloop()