예제 #1
0
파일: go-watch.go 프로젝트: mkrapp/go-watch
func removeProject(g *gocui.Gui, v *gocui.View) error {
	var l string
	var err error

	g.ShowCursor = false

	_, cy := v.Cursor()
	if l, err = v.Line(cy); err != nil {
		l = ""
	}
	current_name = l

	maxX, maxY := g.Size()
	length := 20
	if l != "" {
		if v, err := g.SetView("del_proj", maxX/2-length/2, maxY/2, maxX/2+length/2, maxY/2+2); err != nil {
			v.BgColor = gocui.ColorRed
			if err != gocui.ErrorUnkView {
				return err
			}
			fmt.Fprintln(v, "Press 'd' to delete")
			setView(g, "del_proj")
		}
	}
	return nil
}
예제 #2
0
파일: go-watch.go 프로젝트: mkrapp/go-watch
func getLine(g *gocui.Gui, v *gocui.View) error {
	var l string
	var err error

	g.ShowCursor = false

	_, cy := v.Cursor()
	if l, err = v.Line(cy); err != nil {
		l = ""
	}

	maxX, maxY := g.Size()
	length := 10 + len(current_name)
	if l != "" {
		current_name = l
		if v, err := g.SetView("msg", maxX/2-length/2, maxY/2-3, maxX/2+length/2, maxY/2+3); err != nil {
			v.BgColor = gocui.ColorGreen
			v.FgColor = gocui.ColorBlack
			if err != gocui.ErrorUnkView {
				return err
			}
			current_proj = projects[current_name]
			current_proj.start()
			fmt.Fprintln(v, "")
			fmt.Fprintln(v, "")
			fmt.Fprintln(v, strings.Repeat(" ", (length-15)/2), "Active Project")
			fmt.Fprintln(v, "")
			fmt.Fprintln(v, strings.Repeat(" ", 5), current_name)
			fmt.Fprintln(v, "")
			setView(g, "msg")
		}
	}
	return nil
}
예제 #3
0
파일: go-watch.go 프로젝트: mkrapp/go-watch
func addProject(g *gocui.Gui, v *gocui.View) error {
	g.ShowCursor = true
	maxX, maxY := g.Size()
	if v, err := g.SetView("save_proj", maxX/2-30, maxY/2, maxX/2+30, maxY/2+2); err != nil {
		if err != gocui.ErrorUnkView {
			return err
		}
		setView(g, "save_proj")
		v.Editable = true
	}
	return nil
}
예제 #4
0
파일: go-watch.go 프로젝트: mkrapp/go-watch
func delProj(g *gocui.Gui, v *gocui.View) error {
	if l := current_name; l != "" {
		delete(projects, l)
	}
	g.ShowCursor = false
	delView(g, "del_proj")
	delView(g, "list")
	g.Flush()
	setView(g, "list")

	return nil
}
예제 #5
0
파일: go-watch.go 프로젝트: mkrapp/go-watch
func saveProj(g *gocui.Gui, v *gocui.View) error {
	if l := strings.TrimSpace(v.Buffer()); l != "" {
		init_t, _ := time.ParseDuration("0s")
		init_d, _ := time.ParseDuration("0s")
		projects[l] = Project{time.Now(), &init_d, &init_t}
	}
	g.ShowCursor = false
	delView(g, "save_proj")
	delView(g, "list")
	g.Flush()
	setView(g, "list")
	updateProjInfo(g, v)
	return nil
}