Refactored mainwindow source, columns size and pos remembering.

Refactored MainWindow source, splitted initialization and
helper functions into separate files.

Now lists headers sizes and positions are remembered and correctly
restored on launch.
This commit is contained in:
2016-10-07 21:14:48 +05:00
parent 296e495fbf
commit 13e091d52b
3 changed files with 667 additions and 636 deletions

35
ui/mainwindow_helpers.go Normal file
View File

@@ -0,0 +1,35 @@
package ui
import (
// stdlib
"strings"
// other
"github.com/mattn/go-gtk/glib"
"github.com/mattn/go-gtk/gtk"
)
func (m *MainWindow) getIpFromServersList(current_tab string) string {
// Getting server's address from list.
sel := m.all_servers.GetSelection()
model := m.all_servers.GetModel()
iter := new(gtk.TreeIter)
_ = sel.GetSelected(iter)
// Getting server address.
var srv_addr string
srv_addr_gval := glib.ValueFromNative(srv_addr)
model.GetValue(iter, m.column_pos["Servers"]["IP"], srv_addr_gval)
if strings.Contains(current_tab, "Favorites") {
// Getting server's address from list.
sel = m.fav_servers.GetSelection()
model = m.fav_servers.GetModel()
iter := new(gtk.TreeIter)
_ = sel.GetSelected(iter)
model.GetValue(iter, m.column_pos["Favorites"]["IP"], srv_addr_gval)
}
server_address := srv_addr_gval.GetString()
return server_address
}