Forcing icons for servers lists.
This commit is contained in:
@@ -121,7 +121,7 @@ type MainWindow struct {
|
||||
// For online server.
|
||||
server_online_pic *gdkpixbuf.Pixbuf
|
||||
// For private (passworded) server.
|
||||
server_passworded_pic *gdkpixbuf.Pixbuf
|
||||
server_private_pic *gdkpixbuf.Pixbuf
|
||||
// For public server
|
||||
server_public_pic *gdkpixbuf.Pixbuf
|
||||
|
||||
@@ -358,7 +358,7 @@ func (m *MainWindow) loadAllServers(data map[string]string) {
|
||||
m.all_servers_store.SetValue(iter, 0, m.server_online_pic.GPixbuf)
|
||||
}
|
||||
if server.Server.IsPrivate == "1" {
|
||||
m.all_servers_store.SetValue(iter, 1, m.server_passworded_pic.GPixbuf)
|
||||
m.all_servers_store.SetValue(iter, 1, m.server_private_pic.GPixbuf)
|
||||
} else {
|
||||
m.all_servers_store.SetValue(iter, 1, m.server_public_pic.GPixbuf)
|
||||
}
|
||||
@@ -423,7 +423,7 @@ func (m *MainWindow) loadFavoriteServers(data map[string]string) {
|
||||
m.fav_servers_store.SetValue(iter, 0, m.server_online_pic.GPixbuf)
|
||||
}
|
||||
if server.Server.IsPrivate == "1" {
|
||||
m.fav_servers_store.SetValue(iter, 1, m.server_passworded_pic.GPixbuf)
|
||||
m.fav_servers_store.SetValue(iter, 1, m.server_private_pic.GPixbuf)
|
||||
} else {
|
||||
m.fav_servers_store.SetValue(iter, 1, m.server_public_pic.GPixbuf)
|
||||
}
|
||||
|
@@ -354,13 +354,25 @@ func (m *MainWindow) initializeStorages() {
|
||||
|
||||
// Pixbufs.
|
||||
// Offline server.
|
||||
m.server_offline_pic = gtk.NewImage().RenderIcon(gtk.STOCK_NO, gtk.ICON_SIZE_SMALL_TOOLBAR, "")
|
||||
srv_offline_bytes, _ := base64.StdEncoding.DecodeString(common.SERVER_OFFLINE)
|
||||
srv_offline_pixbuf := gdkpixbuf.NewLoader()
|
||||
srv_offline_pixbuf.Write(srv_offline_bytes)
|
||||
m.server_offline_pic = srv_offline_pixbuf.GetPixbuf()
|
||||
// Online server.
|
||||
m.server_online_pic = gtk.NewImage().RenderIcon(gtk.STOCK_OK, gtk.ICON_SIZE_SMALL_TOOLBAR, "")
|
||||
// Passworded server.
|
||||
m.server_passworded_pic = gtk.NewImage().RenderIcon(gtk.STOCK_CLOSE, gtk.ICON_SIZE_SMALL_TOOLBAR, "")
|
||||
srv_online_bytes, _ := base64.StdEncoding.DecodeString(common.SERVER_ONLINE)
|
||||
srv_online_pixbuf := gdkpixbuf.NewLoader()
|
||||
srv_online_pixbuf.Write(srv_online_bytes)
|
||||
m.server_online_pic = srv_online_pixbuf.GetPixbuf()
|
||||
// Private server.
|
||||
srv_private_bytes, _ := base64.StdEncoding.DecodeString(common.SERVER_PRIVATE)
|
||||
srv_private_pixbuf := gdkpixbuf.NewLoader()
|
||||
srv_private_pixbuf.Write(srv_private_bytes)
|
||||
m.server_private_pic = srv_private_pixbuf.GetPixbuf()
|
||||
// Public server.
|
||||
m.server_public_pic = gtk.NewImage().RenderIcon(gtk.STOCK_OK, gtk.ICON_SIZE_SMALL_TOOLBAR, "")
|
||||
srv_public_bytes, _ := base64.StdEncoding.DecodeString(common.SERVER_PUBLIC)
|
||||
srv_public_pixbuf := gdkpixbuf.NewLoader()
|
||||
srv_public_pixbuf.Write(srv_public_bytes)
|
||||
m.server_public_pic = srv_public_pixbuf.GetPixbuf()
|
||||
}
|
||||
|
||||
// Tabs widget initialization, including all child widgets.
|
||||
|
@@ -52,6 +52,21 @@ func (m *MainWindow) launchAsUsual() error {
|
||||
model.GetValue(iter, m.column_pos["Favorites"]["IP"], srv_address_gval)
|
||||
}
|
||||
srv_address = srv_address_gval.GetString()
|
||||
if len(srv_address) == 0 {
|
||||
// Temporary disable all these modals on Linux.
|
||||
// See https://github.com/mattn/go-gtk/issues/289.
|
||||
if runtime.GOOS != "linux" {
|
||||
mbox_string := "No server selected.\n\nPlease, select a server to continue connecting."
|
||||
messagebox := gtk.NewMessageDialog(m.window, gtk.DIALOG_MODAL, gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, mbox_string)
|
||||
messagebox.Response(func() {
|
||||
messagebox.Destroy()
|
||||
})
|
||||
messagebox.Run()
|
||||
} else {
|
||||
ctx.Eventer.LaunchEvent("setToolbarLabelText", map[string]string{"text": "<markup><span foreground=\"red\" font_weight=\"bold\">Select a server we will connect to!</span></markup>"})
|
||||
}
|
||||
return errors.New("No server selected.")
|
||||
}
|
||||
server_profile := ctx.Cache.Servers[srv_address].Server
|
||||
|
||||
// Check for proper server name. If length == 0: server is offline,
|
||||
|
Reference in New Issue
Block a user