summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorAlexander Neumann <alexander.neumann@picos-software.com>2020-09-10 17:57:22 +0200
committerAlexander Neumann <alexander.neumann@picos-software.com>2020-09-10 17:57:22 +0200
commit93a51284d89f667b1e8f5d0b2d54f1d36b71c11d (patch)
treeb5a9b1f51f5e8184e3da064a951ca3e15852af02
parentTableView: Use default font to style a cell if none is provided (diff)
downloadwireguard-windows-93a51284d89f667b1e8f5d0b2d54f1d36b71c11d.tar.xz
wireguard-windows-93a51284d89f667b1e8f5d0b2d54f1d36b71c11d.zip
TableView: Fix some issues with frozen columns
-rw-r--r--tableview.go12
-rw-r--r--tableviewcolumn.go4
2 files changed, 8 insertions, 8 deletions
diff --git a/tableview.go b/tableview.go
index 91166edc..fd4f2363 100644
--- a/tableview.go
+++ b/tableview.go
@@ -1737,10 +1737,7 @@ func (tv *TableView) RestoreState() error {
name2tvcs[tvcs.Name] = tvcsRetained[len(tvcsRetained)-1]
if tvc := name2tvc[tvcs.Name]; tvc != nil {
- if err := tvc.SetTitleOverride(tvcs.Title); err != nil {
- return err
- }
- if err := tvc.SetWidth(tvcs.Width); err != nil {
+ if err := tvc.SetFrozen(tvcs.Frozen); err != nil {
return err
}
var visible bool
@@ -1753,7 +1750,10 @@ func (tv *TableView) RestoreState() error {
if err := tvc.SetVisible(tvc.visible && (visible || tvcs.Visible)); err != nil {
return err
}
- if err := tvc.SetFrozen(tvcs.Frozen); err != nil {
+ if err := tvc.SetTitleOverride(tvcs.Title); err != nil {
+ return err
+ }
+ if err := tvc.SetWidth(tvcs.Width); err != nil {
return err
}
}
@@ -2701,7 +2701,7 @@ func (tv *TableView) updateLVSizes() {
func (tv *TableView) updateLVSizesWithSpecialCare(needSpecialCare bool) {
var width int
for i := tv.columns.Len() - 1; i >= 0; i-- {
- if col := tv.columns.At(i); col.frozen {
+ if col := tv.columns.At(i); col.frozen && col.visible {
width += col.Width()
}
}
diff --git a/tableviewcolumn.go b/tableviewcolumn.go
index 5eba1f9a..ff558476 100644
--- a/tableviewcolumn.go
+++ b/tableviewcolumn.go
@@ -277,7 +277,7 @@ func (tvc *TableViewColumn) SetFrozen(frozen bool) (err error) {
}
}()
- if tvc.tv != nil {
+ if tvc.tv != nil && tvc.visible {
if err = tvc.destroy(); err != nil {
return
}
@@ -285,7 +285,7 @@ func (tvc *TableViewColumn) SetFrozen(frozen bool) (err error) {
tvc.frozen = frozen
- if tvc.tv != nil {
+ if tvc.tv != nil && tvc.visible {
return tvc.create()
}