diff options
author | Tulir Asokan <tulir@maunium.net> | 2018-03-18 21:24:03 +0200 |
---|---|---|
committer | Tulir Asokan <tulir@maunium.net> | 2018-03-18 21:24:03 +0200 |
commit | 72945c9a284b6858594f1e8a43743c397e90c380 (patch) | |
tree | c4dc096f97c546dcc546d50385e2909e2e10b82d /gomuks.go | |
parent | 0509b195625c959a7b5556e3baae4f869c4d62f6 (diff) |
Organize files
Diffstat (limited to 'gomuks.go')
-rw-r--r-- | gomuks.go | 60 |
1 files changed, 25 insertions, 35 deletions
@@ -21,43 +21,37 @@ import ( "path/filepath" "maunium.net/go/gomatrix" + "maunium.net/go/gomuks/config" + "maunium.net/go/gomuks/interface" + "maunium.net/go/gomuks/matrix" + "maunium.net/go/gomuks/ui" + "maunium.net/go/gomuks/ui/debug" "maunium.net/go/tview" ) -type Gomuks interface { - Debug() DebugPrinter - Matrix() *gomatrix.Client - MatrixContainer() *MatrixContainer - App() *tview.Application - UI() *GomuksUI - Config() *Config - - Start() - Stop() - Recover() -} - type gomuks struct { app *tview.Application - ui *GomuksUI - matrix *MatrixContainer - debug *DebugPane - config *Config + ui *ui.GomuksUI + matrix *matrix.Container + debug *debug.Pane + config *config.Config } -var gdebug DebugPrinter - -func NewGomuks(debug bool) *gomuks { +func NewGomuks(enableDebug bool) *gomuks { configDir := filepath.Join(os.Getenv("HOME"), ".config/gomuks") gmx := &gomuks{ app: tview.NewApplication(), } - gmx.debug = NewDebugPane(gmx) - gdebug = gmx.debug - gmx.config = NewConfig(gmx, configDir) - gmx.ui = NewGomuksUI(gmx) - gmx.matrix = NewMatrixContainer(gmx) - gmx.ui.matrix = gmx.matrix + + gmx.debug = debug.NewPane() + gmx.debug.SetChangedFunc(func() { + gmx.ui.Render() + }) + debug.Default = gmx.debug + + gmx.config = config.NewConfig(configDir) + gmx.ui = ui.NewGomuksUI(gmx) + gmx.matrix = matrix.NewMatrixContainer(gmx) gmx.config.Load() if len(gmx.config.MXID) > 0 { @@ -67,7 +61,7 @@ func NewGomuks(debug bool) *gomuks { gmx.matrix.InitClient() main := gmx.ui.InitViews() - if debug { + if enableDebug { main = gmx.debug.Wrap(main) } gmx.app.SetRoot(main, true) @@ -101,15 +95,11 @@ func (gmx *gomuks) Start() { } } -func (gmx *gomuks) Debug() DebugPrinter { - return gmx.debug -} - func (gmx *gomuks) Matrix() *gomatrix.Client { - return gmx.matrix.client + return gmx.matrix.Client() } -func (gmx *gomuks) MatrixContainer() *MatrixContainer { +func (gmx *gomuks) MatrixContainer() ifc.MatrixContainer { return gmx.matrix } @@ -117,11 +107,11 @@ func (gmx *gomuks) App() *tview.Application { return gmx.app } -func (gmx *gomuks) Config() *Config { +func (gmx *gomuks) Config() *config.Config { return gmx.config } -func (gmx *gomuks) UI() *GomuksUI { +func (gmx *gomuks) UI() ifc.GomuksUI { return gmx.ui } |