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.legacyLoadOverlay(handle)
|
||||
|
||||
return
|
||||
} // ELSE LOAD CONTACT
|
||||
|
||||
|
|
|
@ -4,10 +4,10 @@ import (
|
|||
"cwtch.im/cwtch/model"
|
||||
"cwtch.im/ui/go/the"
|
||||
"encoding/hex"
|
||||
"fmt"
|
||||
"git.openprivacy.ca/openprivacy/log"
|
||||
"github.com/therecipe/qt/core"
|
||||
"reflect"
|
||||
"strings"
|
||||
)
|
||||
|
||||
type MessageModel struct {
|
||||
|
@ -119,6 +119,8 @@ func (this *MessageModel) num() int {
|
|||
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 {
|
||||
modelmsg := model.Message{Message: "[an unexpected cwtch error occurred]"}
|
||||
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
|
||||
}
|
||||
|
||||
// modelData-element [role]-field value (aka the data ~_~)
|
||||
mderfv := reflect.ValueOf(*this.getMessage(index.Row())).Field(role - int(core.Qt__UserRole) - 1)
|
||||
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())
|
||||
if role == this.ackIdx {
|
||||
return core.NewQVariant1((*this.getMessage(index.Row())).Acknowledged)
|
||||
}
|
||||
|
||||
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 {
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit dd8dde1fb38e296530570d31e95780ff707e2895
|
||||
Subproject commit 48d9d1d11f4efe612419ea66371c4b147f74667d
|
|
@ -108,13 +108,13 @@ W.Overlay {
|
|||
from: msg.peerID
|
||||
displayName: mm.getNick(msg.peerID)
|
||||
message: obj.o == 1 ? obj.d : ""
|
||||
//rawMessage: msg.rawMessage
|
||||
rawMessage: msg.rawMessage
|
||||
image: mm.getImage(msg.peerID)
|
||||
messageID: msg.signature
|
||||
fromMe: msg.peerID == gcd.selectedProfile
|
||||
timestamp: parseInt(msg.timestamp)
|
||||
//ackd: acknowledged
|
||||
//error: msg.error
|
||||
ackd: acknowledged
|
||||
error: msg.error
|
||||
calendarEvent: msg.peerID == "calendar"
|
||||
// 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
|
||||
|
|
Reference in New Issue