fix acks, fix lists and bulletin for groups
the build was successful
Details
the build was successful
Details
This commit is contained in:
parent
bc33356ca4
commit
bb84e8f46f
|
@ -352,6 +352,8 @@ func (this *GrandCentralDispatcher) loadMessagesPaneHelper(handle string) {
|
||||||
this.SetToolbarTitle(nick)
|
this.SetToolbarTitle(nick)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.legacyLoadOverlay(handle)
|
||||||
|
|
||||||
return
|
return
|
||||||
} // ELSE LOAD CONTACT
|
} // ELSE LOAD CONTACT
|
||||||
|
|
||||||
|
|
|
@ -4,10 +4,10 @@ import (
|
||||||
"cwtch.im/cwtch/model"
|
"cwtch.im/cwtch/model"
|
||||||
"cwtch.im/ui/go/the"
|
"cwtch.im/ui/go/the"
|
||||||
"encoding/hex"
|
"encoding/hex"
|
||||||
|
"fmt"
|
||||||
"git.openprivacy.ca/openprivacy/log"
|
"git.openprivacy.ca/openprivacy/log"
|
||||||
"github.com/therecipe/qt/core"
|
"github.com/therecipe/qt/core"
|
||||||
"reflect"
|
"reflect"
|
||||||
"strings"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type MessageModel struct {
|
type MessageModel struct {
|
||||||
|
@ -119,6 +119,8 @@ func (this *MessageModel) num() int {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// caveat emptor: accessing messages this way returns a MessageWrapper QObject whose properties have not yet been
|
||||||
|
// initialized (but soon will be). accessing .Message parent class properties instead should work right away.
|
||||||
func (this *MessageModel) getMessage(idx int) *MessageWrapper {
|
func (this *MessageModel) getMessage(idx int) *MessageWrapper {
|
||||||
modelmsg := model.Message{Message: "[an unexpected cwtch error occurred]"}
|
modelmsg := model.Message{Message: "[an unexpected cwtch error occurred]"}
|
||||||
var ackd bool
|
var ackd bool
|
||||||
|
@ -170,20 +172,11 @@ func (this *MessageModel) data(index *core.QModelIndex, role int) *core.QVariant
|
||||||
role = index.Column() + int(core.Qt__UserRole) + 1
|
role = index.Column() + int(core.Qt__UserRole) + 1
|
||||||
}
|
}
|
||||||
|
|
||||||
// modelData-element [role]-field value (aka the data ~_~)
|
if role == this.ackIdx {
|
||||||
mderfv := reflect.ValueOf(*this.getMessage(index.Row())).Field(role - int(core.Qt__UserRole) - 1)
|
return core.NewQVariant1((*this.getMessage(index.Row())).Acknowledged)
|
||||||
typeStr := reflect.TypeOf([]MessageWrapper{}).Elem().Field(role - int(core.Qt__UserRole) - 1).Type.String()
|
|
||||||
if typeStr == "string" {
|
|
||||||
return core.NewQVariant1(mderfv.String())
|
|
||||||
} else if strings.HasPrefix(typeStr, "int") {
|
|
||||||
return core.NewQVariant1(mderfv.Int())
|
|
||||||
} else if strings.HasPrefix(typeStr, "float") {
|
|
||||||
return core.NewQVariant1(mderfv.Float())
|
|
||||||
} else if typeStr == "bool" {
|
|
||||||
return core.NewQVariant1(mderfv.Bool())
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return core.NewQVariant1("unknown type " + typeStr)
|
return core.NewQVariant1(fmt.Sprintf("unimplemented role %s (%d)", this.roleNames()[role].ConstData(), role))
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *MessageModel) headerData(section int, orientation core.Qt__Orientation, role int) *core.QVariant {
|
func (this *MessageModel) headerData(section int, orientation core.Qt__Orientation, role int) *core.QVariant {
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit dd8dde1fb38e296530570d31e95780ff707e2895
|
Subproject commit 48d9d1d11f4efe612419ea66371c4b147f74667d
|
|
@ -108,13 +108,13 @@ W.Overlay {
|
||||||
from: msg.peerID
|
from: msg.peerID
|
||||||
displayName: mm.getNick(msg.peerID)
|
displayName: mm.getNick(msg.peerID)
|
||||||
message: obj.o == 1 ? obj.d : ""
|
message: obj.o == 1 ? obj.d : ""
|
||||||
//rawMessage: msg.rawMessage
|
rawMessage: msg.rawMessage
|
||||||
image: mm.getImage(msg.peerID)
|
image: mm.getImage(msg.peerID)
|
||||||
messageID: msg.signature
|
messageID: msg.signature
|
||||||
fromMe: msg.peerID == gcd.selectedProfile
|
fromMe: msg.peerID == gcd.selectedProfile
|
||||||
timestamp: parseInt(msg.timestamp)
|
timestamp: parseInt(msg.timestamp)
|
||||||
//ackd: acknowledged
|
ackd: acknowledged
|
||||||
//error: msg.error
|
error: msg.error
|
||||||
calendarEvent: msg.peerID == "calendar"
|
calendarEvent: msg.peerID == "calendar"
|
||||||
// listview doesnt do anchors right
|
// listview doesnt do anchors right
|
||||||
// https://stackoverflow.com/questions/31381997/why-does-anchors-fill-does-not-work-in-a-qml-listviews-delegates-subviews-and/31382307
|
// https://stackoverflow.com/questions/31381997/why-does-anchors-fill-does-not-work-in-a-qml-listviews-delegates-subviews-and/31382307
|
||||||
|
|
Reference in New Issue