Version 0.004
This commit is contained in:
parent
10dccdcdbb
commit
438f8a4e4d
64 changed files with 2736 additions and 636 deletions
|
@ -47,38 +47,11 @@ Rectangle {
|
|||
anchors.topMargin: mm
|
||||
anchors.top: parent.top
|
||||
onClicked:{
|
||||
contactComponent.state="large";
|
||||
var component = Qt.createComponent("qrc:/qml/contactqml/ContactDetailsComponent.qml");
|
||||
if (component.status== Component.Ready){
|
||||
var contactDetails = component.createObject(wrapper,{"contact": contact})}
|
||||
var contactDetails = component.createObject(friendstab,{"contact": contact})}
|
||||
}
|
||||
}
|
||||
}
|
||||
Timer{id:selectiontimer; //weird behaviour when state set to "large" onCompleted
|
||||
interval: 200; running: false; repeat: false
|
||||
onTriggered: {
|
||||
|
||||
contactComponent.state="large";
|
||||
var component = Qt.createComponent("qrc:/qml/contactqml/ContactDetailsComponent.qml");
|
||||
if (component.status== Component.Ready){
|
||||
var contactDetails = component.createObject(wrapper,{"contact": contact})}
|
||||
}
|
||||
}
|
||||
Component.onCompleted: {
|
||||
if(status=="large"){selectiontimer.start()}
|
||||
else{contactComponent.state=""}
|
||||
}
|
||||
|
||||
states: [
|
||||
State {
|
||||
name: "large"
|
||||
PropertyChanges { target: namelabel; font.pixelSize: 4*mm; x:mm; width:friendsTabView.width-4*mm; text:Qt.atob(contact.name)+" (@"+contact.screen_name+")"}
|
||||
ParentChange{target:contactComponent;parent:root; x:mm;y:2*mm}
|
||||
//PropertyChanges { target: contactComponent; z: 2; x:0;y:0}
|
||||
PropertyChanges { target: wrapper; width:friendsTabView.width;height:friendsTabView.height-15*mm}
|
||||
PropertyChanges { target: photoImage; width:15*mm;height:15*mm;x:mm;y:mm }
|
||||
PropertyChanges { target: contactComponent.GridView.view; interactive:false}
|
||||
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -2,6 +2,44 @@ import QtQuick 2.0
|
|||
import QtQuick.Controls 1.3
|
||||
import "qrc:/qml/genericqml"
|
||||
|
||||
Item {
|
||||
id: contactLargeComponent
|
||||
x:mm
|
||||
y:mm
|
||||
property var contact:{}
|
||||
property var createdAtDate: new Date(contact.created_at)
|
||||
property string connectUrl: (contact.network!=="dfrn")||(contact.isFriend==1)?"":( "<a href='"+contact.url.replace("profile","dfrn_request") +"'>"+qsTr("Connect")+"</a><br>")
|
||||
|
||||
Rectangle {
|
||||
id: wrapper
|
||||
|
||||
width:friendsTabView.width;
|
||||
height:friendsTabView.height-15*mm
|
||||
border.color: "grey"
|
||||
color:"white"
|
||||
Image {
|
||||
id: photoImage
|
||||
x:mm
|
||||
y:mm
|
||||
width: 15*mm
|
||||
height:15*mm
|
||||
source:(contact.profile_image!="")? "file://"+contact.profile_image : contact.profile_image_url
|
||||
onStatusChanged: if (photoImage.status == Image.Error) {source="qrc:/images/defaultcontact.jpg"}
|
||||
}
|
||||
|
||||
Label {
|
||||
id: namelabel
|
||||
x: mm
|
||||
width:friendsTabView.width-4*mm
|
||||
height: 3*mm
|
||||
text:Qt.atob(contact.name)+" (@"+contact.screen_name+")"
|
||||
elide:Text.ElideRight
|
||||
anchors.topMargin: 0
|
||||
anchors.left: photoImage.left
|
||||
color: "#303030"
|
||||
font.pixelSize: 4*mm
|
||||
anchors.top: photoImage.bottom
|
||||
}
|
||||
Rectangle{
|
||||
id: detailsrectangle
|
||||
anchors.top: namelabel.bottom
|
||||
|
@ -69,10 +107,27 @@ Rectangle{
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
BlueButton{
|
||||
id:eventbutton
|
||||
visible:(contact.network=="dfrn")
|
||||
text:"\uf073"
|
||||
onClicked:{
|
||||
root.currentIndex=3;
|
||||
calendartab.active=true;
|
||||
calendartab.calendartabstatus="Friend"
|
||||
root.eventSignal(contact.url);
|
||||
}
|
||||
}
|
||||
|
||||
BlueButton{
|
||||
id: closeButton
|
||||
text: "\uf057" //"close"
|
||||
onClicked:{detailsrectangle.destroy();contactComponent.state="";friendsTabView.contactSignal}
|
||||
onClicked:{contactLargeComponent.destroy();
|
||||
//contactComponent.state="";
|
||||
friendsTabView.contactSignal}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
91
source-android/qml/contactqml/ContactDetailsComponentOld.qml
Normal file
91
source-android/qml/contactqml/ContactDetailsComponentOld.qml
Normal file
|
@ -0,0 +1,91 @@
|
|||
import QtQuick 2.0
|
||||
import QtQuick.Controls 1.3
|
||||
import "qrc:/qml/genericqml"
|
||||
|
||||
Rectangle{
|
||||
id: detailsrectangle
|
||||
anchors.top: namelabel.bottom
|
||||
anchors.topMargin: 2*mm
|
||||
|
||||
ScrollView{
|
||||
horizontalScrollBarPolicy:Qt.ScrollBarAlwaysOff
|
||||
frameVisible: true
|
||||
id:namelabelflickable
|
||||
width: root.width-10*mm
|
||||
height:friendsTabView.height-45*mm
|
||||
x: mm
|
||||
clip:true
|
||||
Text{
|
||||
id:namelabeltext
|
||||
width: namelabelflickable.width
|
||||
height: implicitHeight
|
||||
font.pixelSize: 3*mm
|
||||
textFormat:Text.RichText
|
||||
wrapMode: Text.Wrap
|
||||
text:"<b>"+qsTr("Description")+": </b> "+Qt.atob(contact.description)+"<br> <b>"+qsTr("Location")+":</b> "+contact.location+"<br> <b>"+qsTr("Posts")+":</b> "+contact.statuses_count+
|
||||
"<br> <b>"+qsTr("URL")+":</b> <a href='"+ contact.url+"'>"+contact.url+"</a><br>"+
|
||||
connectUrl+ "<b>"+qsTr("Created at")+":</b> "+createdAtDate.toLocaleString(Qt.locale())
|
||||
onLinkActivated: {
|
||||
Qt.openUrlExternally(link)}
|
||||
}
|
||||
}
|
||||
|
||||
Row{
|
||||
anchors.top: namelabelflickable.bottom
|
||||
anchors.topMargin: 2*mm
|
||||
x: mm
|
||||
spacing:4
|
||||
|
||||
BlueButton{
|
||||
id:photobutton
|
||||
text: "\uf03e" // "Photos"
|
||||
visible:(contact.network=="dfrn")
|
||||
onClicked:{
|
||||
fotostab.phototabstatus="Contact";
|
||||
root.currentIndex=2;
|
||||
fotostab.active=true;
|
||||
root.fotoSignal(contact) ;
|
||||
}
|
||||
}
|
||||
|
||||
BlueButton{
|
||||
id:messagebutton
|
||||
text: "\uf0e6" //"Messages"
|
||||
onClicked:{
|
||||
root.currentIndex=0;
|
||||
newstab.active=true;
|
||||
root.messageSignal(contact.id) ;
|
||||
}
|
||||
}
|
||||
|
||||
BlueButton{
|
||||
id:dmbutton
|
||||
visible: (contact.following=="true")
|
||||
text: "\uf040" //"DM"
|
||||
onClicked:{
|
||||
root.currentIndex=0;
|
||||
newstab.active=true;
|
||||
root.directmessageSignal(contact.screen_name);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
BlueButton{
|
||||
id:eventbutton
|
||||
visible:(contact.network=="dfrn")
|
||||
text:"\uf073"
|
||||
onClicked:{
|
||||
root.currentIndex=3;
|
||||
calendartab.active=true;
|
||||
calendartab.calendartabstatus="Friend"
|
||||
root.eventSignal(contact.url);
|
||||
}
|
||||
}
|
||||
|
||||
BlueButton{
|
||||
id: closeButton
|
||||
text: "\uf057" //"close"
|
||||
onClicked:{detailsrectangle.destroy();contactComponent.state="";friendsTabView.contactSignal}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -11,12 +11,13 @@ Rectangle {
|
|||
color: "white"
|
||||
|
||||
function showContactdetails(contact){
|
||||
var component = Qt.createComponent("qrc:/qml/contactqml/ContactDetailsComponent.qml");
|
||||
if(contact.isFriend){
|
||||
friendsTabView.currentIndex=0;
|
||||
friendsTabView.contactsSignal(contact)
|
||||
var contactDetails = component.createObject(friendstab,{"contact": contact})
|
||||
}
|
||||
else{friendsTabView.currentIndex=1;
|
||||
friendsTabView.contactsSignal(contact)
|
||||
var contactDetails = component.createObject(friendstab,{"contact": contact})
|
||||
}
|
||||
}
|
||||
TabView{
|
||||
|
@ -30,7 +31,7 @@ Rectangle {
|
|||
signal contactsSignal(var contact)
|
||||
signal groupsSignal(var username)
|
||||
onCurrentIndexChanged:{
|
||||
if (currentIndex==0){//print("currentindex 0");
|
||||
if (currentIndex==0){
|
||||
contactsSignal("")
|
||||
}
|
||||
else if (currentIndex==1){
|
||||
|
@ -60,18 +61,14 @@ Rectangle {
|
|||
title: qsTr("Friends")
|
||||
Rectangle{
|
||||
id: friendsGridTab
|
||||
function makebig(friendindex){print("friendindex"+friendindex);if (friendindex){friendsModel.set(friendindex,{"status":"large"})}}
|
||||
function showFriends(contact,callback){//print("contact"+JSON.stringify(contact));
|
||||
function showFriends(contact){
|
||||
try {friendsModel.clear()} catch(e){print(e)};
|
||||
var friendindex;
|
||||
Helperjs.readData(db,"contacts",root.login.username,function(friendsobject){
|
||||
for (var i=0;i<friendsobject.length;i++){
|
||||
var status="";
|
||||
if(Helperjs.getCount(db,login,"contacts","screen_name",friendsobject[i].screen_name)>1){
|
||||
if(Helperjs.getCount(db,login,"contacts","screen_name",friendsobject[i].screen_name)>1){
|
||||
friendsobject[i].screen_name=friendsobject[i].screen_name+"+"+friendsobject[i].cid
|
||||
}
|
||||
if(contact){if (contact.cid==friendsobject[i].cid){status="large"}}
|
||||
friendsModel.append({"contact":friendsobject[i],"status":status});
|
||||
friendsModel.append({"contact":friendsobject[i]});
|
||||
}
|
||||
|
||||
|
||||
|
@ -113,12 +110,11 @@ Rectangle {
|
|||
clip: true
|
||||
cellHeight: 16*mm
|
||||
cellWidth: 17*mm
|
||||
add: Transition {
|
||||
NumberAnimation { properties: "x,y"; from: 300; duration: 1000 }
|
||||
}
|
||||
//add: Transition {
|
||||
// NumberAnimation { properties: "x,y"; from: 300; duration: 1000 }
|
||||
// }
|
||||
model: friendsModel
|
||||
delegate: ContactComponent { }
|
||||
Component.onCompleted: positionViewAtBeginning()
|
||||
}
|
||||
|
||||
ListModel{id:friendsModel}
|
||||
|
@ -132,7 +128,7 @@ Rectangle {
|
|||
}
|
||||
|
||||
Tab{
|
||||
title: qsTr("Other Contacts")
|
||||
title: qsTr("Contacts")
|
||||
|
||||
Rectangle{
|
||||
id: contactsGridTab
|
||||
|
@ -140,9 +136,7 @@ Rectangle {
|
|||
try {contactsModel.clear()} catch(e){print(e)};
|
||||
Helperjs.readData(db, "contacts",root.login.username,function(contactsobject){
|
||||
for (var j=0;j<contactsobject.length;j++){
|
||||
var status="";
|
||||
if(contact){if (contact.id==contactsobject[j].id){status="large"}}
|
||||
contactsModel.append({"contact":contactsobject[j],"status":status});
|
||||
contactsModel.append({"contact":contactsobject[j]});
|
||||
}
|
||||
},"isFriend",0,"screen_name ASC");
|
||||
}
|
||||
|
@ -156,12 +150,11 @@ Rectangle {
|
|||
clip: true
|
||||
cellHeight: 16*mm
|
||||
cellWidth: 17*mm
|
||||
add: Transition {
|
||||
NumberAnimation { properties: "x,y"; from: 300; duration: 1000 }
|
||||
}
|
||||
//add: Transition {
|
||||
// NumberAnimation { properties: "x,y"; from: 300; duration: 1000 }
|
||||
// }
|
||||
model: contactsModel
|
||||
delegate: ContactComponent { }
|
||||
Component.onCompleted: positionViewAtBeginning()
|
||||
}
|
||||
|
||||
ListModel{id: contactsModel}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue