diff --git a/.gitignore b/.gitignore index acc99a2..400dd18 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ rcc* *.qmlc *.jsc vendor/ +.directory diff --git a/go/cwutil/utils.go b/go/cwutil/utils.go index 01c6208..53bcf1d 100644 --- a/go/cwutil/utils.go +++ b/go/cwutil/utils.go @@ -14,7 +14,6 @@ func RandomProfileImage(onion string) string { barr, err := base32.StdEncoding.DecodeString(strings.ToUpper(onion)) if err != nil || len(barr) != 35 { log.Errorf("error: %v %v %v\n", onion, err, barr) - panic("lol") return "qrc:/qml/images/extra/openprivacy.png" } return "qrc:/qml/images/profiles/" + choices[int(barr[33])%len(choices)] + ".png" diff --git a/qml/overlays/MembershipOverlay.qml b/qml/overlays/MembershipOverlay.qml new file mode 100644 index 0000000..4a24b6f --- /dev/null +++ b/qml/overlays/MembershipOverlay.qml @@ -0,0 +1,101 @@ +import QtGraphicalEffects 1.0 +import QtQuick 2.7 +import QtQuick.Controls 2.4 +import QtQuick.Controls.Material 2.0 +import QtQuick.Controls 1.4 +import QtQuick.Layouts 1.3 + +import "../widgets" +import "../widgets/controls" as Awesome +import "../fonts/Twemoji.js" as T +import "../utils.js" as Utils +import "../styles" + +ColumnLayout { + Text { + wrapMode: Text.Wrap + Layout.maximumWidth: parent.width + horizontalAlignment: Text.AlignHCenter + padding: 1 + text: qsTr("Below is a list of users who have sent messages to the group. This list may not reflect all users who have access to the group.") + } + + Flickable { // THE ACTUAL CONTACT LIST + id: sv + //Layout.alignment: Qt.AlignLeft | Qt.AlignTop + clip: true + Layout.minimumHeight: 100 + //Layout.maximumHeight: parent.height - 30 + Layout.fillHeight: true + Layout.minimumWidth: parent.width + Layout.maximumWidth: parent.width + contentWidth: colContacts.width + contentHeight: colContacts.height + boundsBehavior: Flickable.StopAtBounds + maximumFlickVelocity: 400 + + + ScrollBar.vertical: ScrollBar { + policy: ScrollBar.AlwaysOn + } + + ColumnLayout { + id: colContacts + width: sv.width + spacing: 0 + + Connections { // ADD/REMOVE CONTACT ENTRIES + target: gcd + + onClearMessages: function() { + contactsModel.clear() + } + + onAppendMessage: function(handle, from, displayName, message, image, mid, fromMe, ts, ack, error) { + var msg + try { + msg = JSON.parse(message) + } catch (e) { + return + } + + + for(var i = 0; i