~ken-vandine/address-book-app/add_profile

« back to all changes in this revision

Viewing changes to src/imports/ContactSettings.qml

  • Committer: Renato Araujo Oliveira Filho
  • Date: 2013-06-27 20:05:52 UTC
  • Revision ID: renato.filho@canonical.com-20130627200552-b115j5fcqfnpy7ez
First commit of Address Book Application

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
  /****************************************************************************
 
2
  **
 
3
  ** Copyright (C) 2013 Canonical Ltd
 
4
  **
 
5
  ****************************************************************************/
 
6
import QtQuick 2.0
 
7
import QtContacts 5.0
 
8
import Ubuntu.Components 0.1
 
9
import Ubuntu.Components.ListItems 0.1 as ListItem
 
10
 
 
11
Page {
 
12
    id: sortPage
 
13
 
 
14
    property variant model: null
 
15
    onModelChanged: {
 
16
        if (model) {
 
17
            titleSelector.selectedIndex = titleSelector.values.indexOf(model.titleField)
 
18
            subtitleSelector.selectedIndex = subtitleSelector.values.indexOf(model.subTitleField)
 
19
        }
 
20
    }
 
21
 
 
22
    Column {
 
23
        anchors.fill:  parent
 
24
        ListItem.ValueSelector {
 
25
            id: sortSelector
 
26
 
 
27
            text: "Sort by"
 
28
            values: ["First name",
 
29
                "Middle name",
 
30
                "Last name",
 
31
                "Full name",
 
32
                "Nickname",
 
33
                "Phone",
 
34
                "e-mail"]
 
35
        }
 
36
 
 
37
        ListItem.ValueSelector {
 
38
            id: titleSelector
 
39
 
 
40
            text: "Title"
 
41
            values: ["First name",
 
42
                 "Middle name",
 
43
                 "Last name",
 
44
                 "Full name",
 
45
                 "Nickname",
 
46
                 "Phone",
 
47
                 "e-mail",
 
48
                 "First name,Last name"]
 
49
        }
 
50
 
 
51
        ListItem.ValueSelector {
 
52
            id: subtitleSelector
 
53
 
 
54
            text: "Sub title"
 
55
            values: ["First name",
 
56
                 "Middle name",
 
57
                 "Last name",
 
58
                 "Full name",
 
59
                 "Nickname",
 
60
                 "Phone",
 
61
                 "e-mail",
 
62
                 "First name,Last name"]
 
63
        }
 
64
    }
 
65
 
 
66
    tools: ToolbarActions {
 
67
        Action {
 
68
            text: i18n.tr("Save")
 
69
            iconSource: "artwork:/edit.png"
 
70
            onTriggered: {
 
71
                model.titleField = titleSelector.values[titleSelector.selectedIndex]
 
72
                model.subTitleField = subtitleSelector.values[subtitleSelector.selectedIndex]
 
73
                model.sortOrderField = getFieldFromName(sortSelector.values[sortSelector.selectedIndex])
 
74
                pageStack.pop()
 
75
            }
 
76
        }
 
77
    }
 
78
 
 
79
    function getFieldFromName(fieldName) {
 
80
        if (fieldName === "First name") {
 
81
            return Name.FirstName
 
82
        } else if (fieldName === "Middle name") {
 
83
            return Name.MiddleName
 
84
        } else if (fieldName === "Last name") {
 
85
            return Name.LastName
 
86
        } else if (fieldName === "Full name") {
 
87
            return DisplayLabel.Label
 
88
        } else if (fieldName === "Nickname") {
 
89
            return Nickname.Nickname
 
90
        } else if (fieldName === "Phone") {
 
91
            return PhoneNumber.Number
 
92
        } else if (fieldName === "e-mail") {
 
93
            return Email.EmailAddress
 
94
        } else {
 
95
            return Name.FirstName
 
96
        }
 
97
    }
 
98
}