From 564ed179f4900b8ec970d59141074ec6aaefb039 Mon Sep 17 00:00:00 2001 From: Timo Hannukkala Date: Thu, 1 Aug 2013 11:12:00 +0300 Subject: [PATCH 01/18] first nomovok, qt5 convert and shorting fixed --- LICENSE | 202 +++++++++++ README | 9 + TODO | 102 ++++++ example.vcf | 164 +++++++++ qmlcontacts.pro | 2 + rpm/qmlcontacts.changes | 63 ++++ rpm/qmlcontacts.spec | 77 ++++ rpm/qmlcontacts.yaml | 43 +++ src/main.cpp | 97 +++++ src/qml/AvatarPickerSheet.qml | 90 +++++ src/qml/ContactCardContentWidget.qml | 181 ++++++++++ src/qml/ContactCardPage.qml | 93 +++++ src/qml/ContactEditorSheet.qml | 172 +++++++++ src/qml/ContactImportSheet.qml | 101 ++++++ src/qml/ContactListPage.qml | 132 +++++++ src/qml/DeleteContactDialog.qml | 47 +++ src/qml/EditableList.qml | 95 +++++ src/qml/MessagesInterface.qml | 22 ++ src/qml/SearchBox.qml | 139 ++++++++ src/qml/api/ContactAvatarImage.qml | 71 ++++ src/qml/api/ContactListDelegate.qml | 76 ++++ src/qml/api/ContactListWidget.qml | 70 ++++ src/qml/api/qmldir | 3 + src/qml/main.qml | 68 ++++ src/qmlcontacts.desktop | 6 + src/res.qrc | 15 + src/src.pro | 50 +++ src/src.qmlproject | 16 + test/README | 10 + test/example.vcf | 164 +++++++++ test/load_vcard.cpp | 123 +++++++ test/load_vcard.sh | 5 + test/test.pro | 19 + test/vcardCHS.vcf | 296 +++++++++++++++ test/vcardCHT.vcf | 200 +++++++++++ test/vcardCSY.vcf | 514 +++++++++++++++++++++++++++ test/vcardDAN.vcf | 96 +++++ test/vcardDEU.vcf | 161 +++++++++ test/vcardELL.vcf | 192 ++++++++++ test/vcardESP.vcf | 120 +++++++ test/vcardFIN.vcf | 105 ++++++ test/vcardFRA.vcf | 336 +++++++++++++++++ test/vcardHUN.vcf | 70 ++++ test/vcardITA.vcf | 105 ++++++ test/vcardJPN.vcf | 132 +++++++ test/vcardKOR.vcf | 112 ++++++ test/vcardNLD.vcf | 133 +++++++ test/vcardNOR.vcf | 126 +++++++ test/vcardPLK.vcf | 98 +++++ test/vcardPTB.vcf | 42 +++ test/vcardPTG.vcf | 42 +++ test/vcardRUS.vcf | 105 ++++++ test/vcardSVE.vcf | 133 +++++++ test/vcardTRK.vcf | 196 ++++++++++ 54 files changed, 5841 insertions(+) create mode 100644 LICENSE create mode 100644 README create mode 100644 TODO create mode 100644 example.vcf create mode 100644 qmlcontacts.pro create mode 100644 rpm/qmlcontacts.changes create mode 100644 rpm/qmlcontacts.spec create mode 100644 rpm/qmlcontacts.yaml create mode 100644 src/main.cpp create mode 100644 src/qml/AvatarPickerSheet.qml create mode 100644 src/qml/ContactCardContentWidget.qml create mode 100644 src/qml/ContactCardPage.qml create mode 100644 src/qml/ContactEditorSheet.qml create mode 100644 src/qml/ContactImportSheet.qml create mode 100644 src/qml/ContactListPage.qml create mode 100644 src/qml/DeleteContactDialog.qml create mode 100644 src/qml/EditableList.qml create mode 100644 src/qml/MessagesInterface.qml create mode 100644 src/qml/SearchBox.qml create mode 100644 src/qml/api/ContactAvatarImage.qml create mode 100644 src/qml/api/ContactListDelegate.qml create mode 100644 src/qml/api/ContactListWidget.qml create mode 100644 src/qml/api/qmldir create mode 100644 src/qml/main.qml create mode 100644 src/qmlcontacts.desktop create mode 100644 src/res.qrc create mode 100644 src/src.pro create mode 100644 src/src.qmlproject create mode 100644 test/README create mode 100644 test/example.vcf create mode 100644 test/load_vcard.cpp create mode 100644 test/load_vcard.sh create mode 100644 test/test.pro create mode 100644 test/vcardCHS.vcf create mode 100644 test/vcardCHT.vcf create mode 100755 test/vcardCSY.vcf create mode 100644 test/vcardDAN.vcf create mode 100644 test/vcardDEU.vcf create mode 100644 test/vcardELL.vcf create mode 100644 test/vcardESP.vcf create mode 100644 test/vcardFIN.vcf create mode 100644 test/vcardFRA.vcf create mode 100644 test/vcardHUN.vcf create mode 100644 test/vcardITA.vcf create mode 100644 test/vcardJPN.vcf create mode 100644 test/vcardKOR.vcf create mode 100644 test/vcardNLD.vcf create mode 100644 test/vcardNOR.vcf create mode 100644 test/vcardPLK.vcf create mode 100644 test/vcardPTB.vcf create mode 100644 test/vcardPTG.vcf create mode 100644 test/vcardRUS.vcf create mode 100644 test/vcardSVE.vcf create mode 100644 test/vcardTRK.vcf diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..d645695 --- /dev/null +++ b/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/README b/README new file mode 100644 index 0000000..0e9cf68 --- /dev/null +++ b/README @@ -0,0 +1,9 @@ +Building: +You need nemo-qml-plugins from git, and qmlgallery built and installed if you +want to use the avatar picker in the editor. + +Maintainer: +Robin Burchell + +Contributors: +Jakub Pavelek diff --git a/TODO b/TODO new file mode 100644 index 0000000..8e51d33 --- /dev/null +++ b/TODO @@ -0,0 +1,102 @@ +CONTACTS TODO LIST +1.Flow +2.Opens +3.Blocked +4.Pending Bugs +5.Filed Bugs +6.Fixed +7.Released +8.Future plans +9.FAQ +*verified bugs are deleted from this document + +1.==Flow== +Opens (need more info) +Pending Bugs (can't make a bug for whatever reason) +Bugs (filed in bugs.meego.com) +Fixed (Code sr'd into obs, note tag in git) +Released (Code released in image) +Verified (Code verified by QA on valid image) + +2.==Opens== +Contact Picker needs index bar/search bar +Ringtones flow? - Done need branch to merge +Need smaller graphic for smaller devices for landscape view landing screen +Geolocation +Map - yes static for handset and movable for tablet + +3.==Blocked== +All blocked on folks: +Recent Communications +Link +Merge +Social networking supported + +4.==Bugs to be filed== 26 +Shift graphics under me card to display right on landing screen +Remove Truncates add ellides +Change hideous function signature +Drag on indexbar left and right is wrong +email/im in context meny +format checking +Add map -not for beta +Sharing framework: + Launch email attach vcard & subject + Launch IM attach vcard + Launch MMS attach vcard +Adding subject param to email +Email Call Contacts application to import contacts files on reception of vCard +MMS Call Contacts application to import contacts files on reception of vCard +Contact Contacts should support integration to a Dialer +addressbook support linking contacts +addressbook support merge of contacts +Add two addresses lines for street +Have a way to export contacts to SIM card (Tshah, In progress, May 13th) +Fix Call button in Libseaside views +Email in context menu +SMS in context menu, launch +SMS in share +Call from details view +SMS/Call from details view +Unable to find SMS, Call options in contextual menu of contact +Allow user random input to add email in contact edit page +Allow user input non number to add phone number + +5.==Filed Bugs== +Bug Owner Type Priority Description DueDate +Dbus call to import vCard +15434 Connie TBUG MED Thumbnail for the avatar needs to be used instead of full size image 1.2.2 +18184 enh Med IA daewon.park@windriver.com ASSIGNED --- Adding multiple contacts in one instance from email address field +15434 nor Med IA geoff@linux.intel.com ASSIGNED --- Thumbnail needs to be used instead of avatar to reduce memory footprint + [SEC] nor Med IA nicholas.e.richards@intel.com NEW --- Platform : Contacts: Email ids with improper format are accepted by “Email Field” + [SEC] nor Med IA nicholas.e.richards@intel.com NEW --- Platform : Alphabetic and special characters are accepted by the “mobile number field” + [SEC] maj Med IA kaitlin.rupert@linux.intel.com ASSIGNED --- Platform : Contacts: Unable to view the online contacts alone using "online view" mode in contacts + + +6.==Fixed== + +7.==Released== + +8.==Future Plans== +Video RingTones +Add custom context labels for phone and address fields +Merge local, synced and social contacts +Wireless sync with MeeGo devices +support linking contacts +Emergency Numbers +Add/Edit/Delete groups of contacts and attach to email +Fields in contacts for prefix/suffix/non-alpha languang transcription +Enable vCard export of all contacts +Add email to context menu +Add Call to context meny +Add SMS to context menu +Add 2 address fields +Share a contact via SMS, Email, or IM + +9.==FAQ== +Why is IM not in Context Menu? -IM will not be launched from context menu as it violates UI guidelines, IM can be launched from details view. +Which landing screen of the 3 wireframes should we use? - Tablet stay as is, smaller assets not till 1.4 +When do we show the landing screen vs the MCard default? - always show mecard shift graphics down +Why do wireframes only show one possible vCard on an SD Card? - new wireframes coming show dialog to select vcf files from sdcard. If there are multiple vCards on the SDCard need to show all .vcf files and let the user select which to import from or import all. - new wf coming +What is the flow for importing multiple vCards on one SD card? - show dialog to select which vCards user cares about +Voicemail is it in Dialer Settings or is it in Contacts? - Dialer settings diff --git a/example.vcf b/example.vcf new file mode 100644 index 0000000..9a26e9c --- /dev/null +++ b/example.vcf @@ -0,0 +1,164 @@ +BEGIN:VCARD +VERSION:3.0 +FN:Ms. Aaron Gates +N:Gates;Aaron;;; +NICKNAME:Aaron nickname +IMPP;X-YAHOO:ymsgr:julien +IMPP;X-JABBER:xmpp:mikec@jabber.com +IMPP;X-AIM:aim:screenname=tacos +IMPP;X-MSN:msnim:contact=moolots +EMAIL;TYPE=INTERNET:aaron@example.com +EMAIL;TYPE=INTERNET:aaron_extra@example.com +TEL;TYPE=WORK:33333 +TEL;TYPE=HOME:333331 +TEL;TYPE=HOME;TYPE=FAX:333332 +TEL;TYPE=PAGER:333333 +TEL;TYPE=CELL:333334 +ADR;WORK;POSTAL;CHARSET=UTF-8:PO Box;Extended Address;Work Street Address;Work Locality(Town);Work Region(State);Work Post Code;Work Country;Work City;Work State;Work PostCode;Work Country +ADR;HOME;POSTAL;CHARSET=UTF-8:PO Box;Extended Address;Home Street Address;Home Locality(Town);Home Region(State);Home Post Code;Home Country;Work City;Work State;Work PostCode;Work Country +LABEL;WORK;ENCODING=QUOTED-PRINTABLE:BusinessOffice=0D=0A=0D=0A, =0D=0A +LABEL;HOME;ENCODING=QUOTED-PRINTABLE:=0D=0A, =0D=0A +ORG:Example +TITLE:Engineer +BDAY:2009-01-01 +PHOTO;ENCODING=BASE64;TYPE=GOOGLECONTACTSPHOTO_1140C7078B06ECD7:/9j/4A + AQSkZJRgABAQAAAQABAAD/2wCEAAUDBA0OCREQDg8IDggICAoICAgOCAgICQgICBAIBw + gICAgIDRANCAgOCQgIDBUNDhERExMTBw0WGBYSGBAXExIBBQUFCAcHDwkJDxgVEhQYFh + kUFBQUFBQUFBUUFBwcFBQUFBQUFBQUFRUWFBQUFBQUFBQUFBQUFB4UFBQeFBQeHv/AAB + EIAGAAYAMBIgACEQEDEQH/xAAdAAACAwACAwAAAAAAAAAAAAAHCAAFBgIDAQQJ/8QARh + AAAQIDBAUGCQgKAwAAAAAAAgEDAAQSBQYREwchIjJzCDE0QlKyFEFRYWJxcqLCI4GRkq + GxwdEVJCUzNUNTgoPwY9Lh/8QAGgEAAwEBAQEAAAAAAAAAAAAAAwQFBgECAP/EADQRAA + ECBAMFBgMJAAAAAAAAAAEAAgMEBRESITEyQUJxgSI0UZGhsRPB8QYUFSMzYYLh8P/aAA + wDAQACEQMRAD8AA+ji5YgLc1ONicu5UcjIkVKWhTsq66o6xkRWpFVFRahg96L350mUEX + nJeyWKxlpBsRIKXFJw2gMtZS+JFrXXA8vblpNGDIZcmwSBKy2YTgy7Tm0YARa6VIiX+6 + DnYcmLUuACgiLbY0im7tJUW1Gbqk89rbNNrrKGbfMx3ZkNboArZmfdEURDJBHdHsx6V5 + 2BnJdGZsc+TF0X/BjLLTNGoRPMb16kIvrR2RIzgmIoNw4+ZTQe4aFZWc0aWQTDgJZ8qB + utk2MyMw/my5Emp1oeZTHnRF7MY6T5Oll4pXM21h46GpfH3ggtxIbh1WZZo6/PNGbMxG + 70uL3JqmSMlbmbPRjMPIzXSF3KxXKzREcBdUMMUTx4xlr2aCrSYmsttvwwcsD8JllzGF + I+duokRaxXUqYQ2yp5h+qMeRXDmUk9kiDuw4yvxm7QBRWzzxqkevfo+n5IAKalplgJki + BgjEcHSb3xGnrJinPGaVpU14F9BJ9sfQY9eGO3Tu5ny4j7Inig+tI6rblwmJU2HgYOVf + pzWklmmq8tRIPlW0qDAhFdUOs+0TOJh6FGbPjeF8+6PV9ZPzjjDwsaM7HQcFs6WLZIal + mnxwUkwQ+fnHnjCy3Jys/rzdqJ7Mu0v3pDsOtyztTbmEZs5DKzt5elucYPhhg2N0eCHd + GF8vJ0pzjB8MMGxujwQ7oxDq3D1WUkNt/NeY4vvCIqpKIgO0RLsiI+lEmHhEVUlpBsai + JeqI9aKLRpYDlsT5kaqliSjg4tpsk694g9NotpVWEZKTdMPsNE/iOIMaLk6f7wV5YLqz + GCsA883VTnNjU2NPaIo0Q3Rmqccs/Z60GGzpFtoEFsWwAdQgIoA6vMnP64obTv7JMzSM + OvCD5btWyBL2UPmq80aD8CgN2nH0VMSbGN/Md8kJpyScbLBwHBLskMdEHq07PbeaUSQV + Ax5/H5lRYDd6bFKXeUV1t7wF2h/wC0SKjSnSwxNN2+yDMSxh5jMKpiYRkb4Wk74bLsMl + g69MBmj1iZJdqr5oPl57oywSpkIIjrbaYHiW9q14eeBwaZFiQTFFrapeCwxcWHhQxiYx + IkTV5S93l6Y5xQ/CGBZ3R4Qd0YXy8nTHOKHwwwbG6PBDuxarHD1UyQ23rL6U7RVqQLCl + c8sghX+mXWg9aC7t+CWMy3zmrea4dNJHmYmNXqEhT5oW7SumY+wxhjnkJb1PWHZ/8AYb + +xWqWATssNj9VMIq0OEGwcXirNNbijud4ABejfG0FalTJNRU0CXkIvHC733swX5VxDSp + wRJ8XKflMwdrYLnHGDjpbL9Sw7TwQJHxxFU7QkMI1mO4TLQDpZFqPadhOllr+SzeFyYs + hBdMiflHSbIi3hb6gL6kSL7TgiBZpvU1FKJmUp4xXBD+iBdyRXFSbnw2sMwC9mlXB5u1 + te7B5vjZ+dIvNquGdLOt1U44VIqIWHmi/hbFlyHZgosoTFkh42I8kFdGuj51+0mLRNWk + k/Bq2m+c1qRaKk8WCwbrxyROSpgNNZjSmOoYFXJzvortUirNP6JYFrwnMqz6VUaqMNjH + 1wWLwzytS5mg1K2NVFVNXzx9BhwhAs3Zt6L1JNh/AxN36896D9tXYfZCpwW0CrCoSqik + jY3qvgj8vRRSW8W1VTGQjFzrITIloRuElFDA7sHJL3eXpjnED4YYFndHgh3YXy8nTHOK + HwwwbG6PBDujD9Y4eqjyG29YPSB/FJP/esMOFI7g8MPuhO9I5oNpShLVQO8VO7tD73mh + wrOPFoV/4gX7MYtUbuwVuk7cTmPZZXS50L/KP4wKh3k9qCrpd6F/lCBQpYa+ztRDrneu + gRJ79RdPJQ/ik/xPiWGLmdxfZX7oXLklnjaU+vacEveKGJnywbJfIBL9ixp5bKXRKX3X + z90u/JpT9v2h7XxFB3vqn6k7w/ygC8mI8ben17Wv3lg9X16E7w/wAoG03lDyPsvNP7sf + 5e6B8SIsSMIkUvV4+mOcUPwhgmd0eEHdGF9vL0pzih+EMExujwQ7oxaq/D1UuQ23rD6Z + 2F8DE0UkJt8RHDq66qvR9cNTceeF2QZcFcRclmtr0kGkvtgAXks7Olzb5icbIWyXdFzt + FGm5Kt7hKVKScIkmpAyyhLZJ1nEsSES5hRfF6UP0KOC3ATmFYkXiHMkHiHqP6RL0myqn + IlhziYH9WAxPuoLRr1RbI/7RhiZtgTBUXWBjSvslC/aSrn2hWrEqyrgvbJTdQi200XVI + S3tXPHatIvix2vaMjkU1UIbtpovyXPkgSZL4W//Km3gytXZrq70Gy+E5lypr5qdfpaop + tENzUs+zQYqqcFSddc8rjmsk9lOZIrdLNrJssovWzHfZ6vzxQmYn3eUN9bZcyiQGGXlQ + 12tvUoX8mBP25P/wC9ZYPV9ehOcNYXXQfP+C3mdbcUU/SYkTZLq3cSERXtLzQzU/Ki40 + QluuDSUdlx8SVsN4+SFTO1Llo1uUAVFfIXzjHiNbaujdqWZdezp1x2moG3HvkA1puN4c + /zxkox05JulnhrzmRfJKvhuYbOS83k6Y5xQ+GGDZ3R4Qd0YXy8nTHOKHwwwbG6PBDujF + CscPVSpDbeucZ22rEcSaCaliFufYISqX92+I/y3BH6I0USJMGM6E7E3VUCwEWK1t0tMr + amDU82crNOqLbaqVTUw4Wzi0qbo4+WC2KwoulWzzKXF1san5RwSDtCONRFtdVIZHRZeV + ucs1p1sqvkhad8zzaILnvJG1pk6ZiHd2qoyMy57zDedNP3XRfe9+QStgBK7l1VruDj+M + CuZfIyVSUiMtoiXrQZr0XaamMFOtCHritJKnkKA9akugPuAlSiy8QCS7yiPa9KIdbZGD + 7uPZ3fRcnQ+9zpuVNalkNukikhI63+6eHZcaLtAXaTxRrLBvbNMgg5pvUjTmO63C9Iqe + tFHEiTDm40MWY4gJJhLDduRVnatuvO6nDJQ/p9X2orIkd8hLkbogOtTLBB8sDc98V2ZJ + JXSS45r//Z +URL;TYPE=HOMEPAGE:http://qt.nokia.com/logo.png +URL;TYPE=HOMEPAGE:http://qt.nokia2.com/logo.png +NOTE:Some notes are here +END:VCARD +BEGIN:VCARD +VERSION:3.0 +FN:Mr. Alexander Mcdonald +N:Mcdonald;Alexander;;; +EMAIL;TYPE=INTERNET:alex@example.com +TEL;TYPE=WORK:111111111 +ADR;TYPE=WORK;POSTAL;CHARSET=UTF-8:PO Box;Extended Address;Work Street Address;Work Locality(Town);Work Region(State);Work Post Code;Work Country;Work City;Work State;Work PostCode;Work Country +ADR;TYPE=HOME;POSTAL;CHARSET=UTF-8:PO Box;Extended Address;Home Street Address;Home Locality(Town);Home Region(State);Home Post Code;Home Country;Work City;Work State;Work PostCode;Work Country +ORG:Example +TITLE:Engineer +BDAY:2010-02-02 +END:VCARD +BEGIN:VCARD +VERSION:3.0 +FN:Mr. Andy Clark +N:Clark;Andy;;; +EMAIL;TYPE=INTERNET:andy@example.com +TEL;TYPE=WORK:07-2342322 +ORG:Example +TITLE:Engineer +BDAY:2011-03-03 +PHOTO;VALUE=URL;TYPE=PNG:http://qt.nokia.com/logo.png +END:VCARD +BEGIN:VCARD +VERSION:3.0 +FN:Mr. Bill Chilton +N:Chilton;Bill;;; +EMAIL;TYPE=INTERNET:bill@example.com +TEL;TYPE=WORK:564412232 +ORG:Example +TITLE:Manager +BDAY:2012-04-04 +END:VCARD +BEGIN:VCARD +VERSION:3.0 +FN:Mr. Bob Green +N:Green;Bob;;; +EMAIL;TYPE=INTERNET:bob@example.com +TEL;TYPE=WORK:07-3242325 +ORG:Example +TITLE:Engineer +BDAY:2013-05-05 +END:VCARD +BEGIN:VCARD +VERSION:3.0 +FN:Mr. Charles Brows +N:Brows;Charles;;; +EMAIL;TYPE=INTERNET:charles@example.com +TEL;TYPE=WORK:32324534233 +ORG:Example +TITLE:Engineer +BDAY:2015-07-07 +END:VCARD +BEGIN:VCARD +VERSION:3.0 +FN:Mr. David Edie +N:Edie;David;;; +EMAIL;TYPE=INTERNET:david@example.com +TEL;TYPE=WORK:(07) 3245-2323 +ORG:Example +TITLE:Manager +BDAY:2015-08-08 +END:VCARD +BEGIN:VCARD +VERSION:3.0 +FN:Mr. Jason Black +N:Black;Jason;;; +EMAIL;TYPE=INTERNET:jason@example.com +TEL;TYPE=WORK:33333333333 +ORG:Example +TITLE:Engineer +BDAY:2016-09-09 +END:VCARD +BEGIN:VCARD +VERSION:3.0 +FN:Mrs. Carol Eden +N:Eden;Carol;;; +EMAIL;TYPE=INTERNET:carol@example.com +TEL;TYPE=WORK:2323242 +ORG:Example +TITLE:Manager +BDAY:2014-06-06 +END:VCARD + diff --git a/qmlcontacts.pro b/qmlcontacts.pro new file mode 100644 index 0000000..65d9262 --- /dev/null +++ b/qmlcontacts.pro @@ -0,0 +1,2 @@ +TEMPLATE = subdirs +SUBDIRS = src diff --git a/rpm/qmlcontacts.changes b/rpm/qmlcontacts.changes new file mode 100644 index 0000000..aac641a --- /dev/null +++ b/rpm/qmlcontacts.changes @@ -0,0 +1,63 @@ +* Sun Mar 03 2013 Robin Burchell - 0.4.2 +- Remove constants.js fork from qmantle2, now that components can cache sheets + (from Robin) +- Simplify anchoring to improve performance (from Robin) +- Use unified empty state component (from Robin) +- Import packaging to repository (from Robin) + +* Thu Nov 8 2012 Robin Burchell - 0.4.1 +- Remove unneeded dependency from tools package on main package + +* Tue Oct 23 2012 John Brooks - 0.4.1 +- Change dependency from qmlmessages to nemo-qml-plugins-messages + +* Fri Oct 5 2012 Robin Burchell - 0.4.1 +- Remove duplicated PageHeader now that components contains it + +* Mon Oct 1 2012 Robin Burchell - 0.4.0 +- Fix QML/JS files not showing in Qt Creator (from Johan Paul) +- Fixes NEMO#250: Integrate messaging into contacts (from Robin/John Brooks) +- Fixes NEMO#384: SMS button does nothing (from Robin/John Brooks) +- New contact card design (from Robin) +- Fixes NEMO#390: Unable to scroll contact card to the end (from Robin) +- Fixes NEMO#268: [FEA] Search contacts (from Nicola De Filippo/Robin) + +* Mon Sep 3 2012 Robin Burchell - 0.3.15 +- Add 0001-fix-card-page-loading.patch, fixing a paper bag + +* Mon Sep 3 2012 Robin Burchell - 0.3.15 +- Fixes NEMO#394: Import contacts dialog shows always "Imported 0 contacts" (by Robin) +- Fixes NEMO#392: reset sheet state when reopening it (by Robin) +- Fixes NEMO#267: On edit page "save" button is enabled even when nothing has changed (by Tero Siironen) +- Fixes NEMO#253: Avatar picker should not default-select an image unless the contact already has one (by Tero Siironen) +- Various performance enhancements/decreasing memory usage (by Robin) + +* Sun Sep 02 2012 Marko Saukko - 0.3.14 +- Fixes NEMO#431: Require contactsd so that IM contacts are showed in the list. + +* Sun Aug 12 2012 Robin Burchell - 0.3.14 +- Implemented support for voice calling in contact card (Tom Swindell) +- Remove some unused junk (Robin) +- Basic UI for contact import (Robin) +- Simple implementation for contact export (Robin) +- Remove a stale, broken dependency, obsoletes 0001-remove-old-dependency-on-mobility-contacts.patch (Robin) + +* Fri Aug 03 2012 Robin Burchell - 0.3.12 +- Introduce use of org.nemomobile.contacts, fixes a number of bugs with + filtering, sort ordering, etc. +- Fixes editing of phone number lists +- Automatically close contact editor (and card) if a contact is deleted +- List (and edit) email addresses of contacts + +* Fri Jul 20 2012 Robin Burchell - 0.3.9 +- Fixes NEMO#251: Use the thumbnail provider for much faster avatar thumbnails +- Fixes NEMO#241: When creating a new contact, default avatar is empty +- Fixes NEMO#244: Fast scroll bar in contacts does not work +- Fixes NEMO#245: Share the gallery UI for setting thumbnails +- Fixes NEMO#249: Avatar quality is crap +- Avoid stretching avatar thumbnails in some circumstances +- Optimise list panning performance a bit + +* Fri Jul 20 2012 Robin Burchell - 0.3.7 +- Fixes NEMO#133: People should be replaced with QML Contacts App +- Initial packaging diff --git a/rpm/qmlcontacts.spec b/rpm/qmlcontacts.spec new file mode 100644 index 0000000..8796693 --- /dev/null +++ b/rpm/qmlcontacts.spec @@ -0,0 +1,77 @@ +# +# Do NOT Edit the Auto-generated Part! +# Generated by: spectacle version 0.26 +# + +Name: qmlcontacts + +# >> macros +# << macros + +Summary: Contacts application for nemo +Version: 0.4.2 +Release: 1 +Group: Applications/System +License: GPLv2 +URL: https://github.com/nemomobile/qmlcontacts +Source0: %{name}-%{version}.tar.bz2 +Source100: qmlcontacts.yaml +Requires: qt-components >= 1.4.8 +Requires: mapplauncherd-booster-qtcomponents +Requires: nemo-qml-plugin-thumbnailer +Requires: nemo-qml-plugin-contacts +Requires: nemo-qml-plugin-folderlistmodel +Requires: qmlgallery +Requires: qmlfilemuncher +Requires: contactsd +Requires: nemo-qml-plugin-dbus +BuildRequires: pkgconfig(QtCore) >= 4.7.0 +BuildRequires: pkgconfig(QtDeclarative) +BuildRequires: pkgconfig(QtContacts) +BuildRequires: pkgconfig(qdeclarative-boostable) +BuildRequires: desktop-file-utils +Provides: meego-handset-people > 0.2.32 +Provides: meego-handset-people-branding-upstream > 0.2.32 +Obsoletes: meego-handset-people <= 0.2.32 +Obsoletes: meego-handset-people-branding-upstream <= 0.2.32 + +%description +Contacts application using Qt Quick for Nemo Mobile. + +%prep +%setup -q -n %{name}-%{version} + +# >> setup +# << setup + +%build +# >> build pre +# << build pre + +%qmake + +make %{?jobs:-j%jobs} + +# >> build post +# << build post + +%install +rm -rf %{buildroot} +# >> install pre +# << install pre +%qmake_install + +# >> install post +# << install post + +desktop-file-install --delete-original \ + --dir %{buildroot}%{_datadir}/applications \ + %{buildroot}%{_datadir}/applications/*.desktop + +%files +%defattr(-,root,root,-) +%{_bindir}/qmlcontacts +%{_datadir}/applications/qmlcontacts.desktop +%{_libdir}/qt4/imports/org/nemomobile/qmlcontacts/* +# >> files +# << files diff --git a/rpm/qmlcontacts.yaml b/rpm/qmlcontacts.yaml new file mode 100644 index 0000000..abfd675 --- /dev/null +++ b/rpm/qmlcontacts.yaml @@ -0,0 +1,43 @@ +Name: qmlcontacts +Summary: Contacts application for nemo +Version: 0.4.2 +Release: 1 +Group: Applications/System +License: GPLv2 +URL: https://github.com/nemomobile/qmlcontacts +Sources: + - "%{name}-%{version}.tar.bz2" +Provides: + - meego-handset-people > 0.2.32 + - meego-handset-people-branding-upstream > 0.2.32 +Obsoletes: + - meego-handset-people <= 0.2.32 + - meego-handset-people-branding-upstream <= 0.2.32 +Description: Contacts application using Qt Quick for Nemo Mobile. +Configure: none +Builder: qmake +PkgConfigBR: + - QtCore >= 4.7.0 + - QtDeclarative + - QtContacts + - qdeclarative-boostable + +Requires: + - qt-components >= 1.4.8 + - mapplauncherd-booster-qtcomponents + - nemo-qml-plugin-thumbnailer + - nemo-qml-plugin-contacts + - nemo-qml-plugin-folderlistmodel + # qmlgallery code is used for avatar picker + - qmlgallery + # importing contacts is using code from qmlfilemuncher + - qmlfilemuncher + # contactsd is required to show IM contacts in the applications + - contactsd + # required for SMS/IM integration + - nemo-qml-plugin-dbus + +Files: + - "%{_bindir}/qmlcontacts" + - "%{_datadir}/applications/qmlcontacts.desktop" + - "%{_libdir}/qt4/imports/org/nemomobile/qmlcontacts/*" diff --git a/src/main.cpp b/src/main.cpp new file mode 100644 index 0000000..415effe --- /dev/null +++ b/src/main.cpp @@ -0,0 +1,97 @@ +/* + * Copyright (C) 2011 Robin Burchell + * + * You may use this file under the terms of the BSD license as follows: + * + * "Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Nemo Mobile nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + */ + +#include +#include +#include +#include +#include +#include +#include +#ifdef HAS_BOOSTER +#include +#endif + +#ifdef HAS_BOOSTER +Q_DECL_EXPORT +#endif +int main(int argc, char **argv) +{ + QApplication *application; + QQuickView *view; +#ifdef HAS_BOOSTER + application = MDeclarativeCache::qApplication(argc, argv); + view = MDeclarativeCache::qDeclarativeView(); +#else + qWarning() << Q_FUNC_INFO << "Warning! Running without booster. This may be a bit slower."; + QApplication stackApp(argc, argv); + QQuickView stackView; + application = &stackApp; + view = &stackView; +#endif + + bool isFullscreen = false; + QStringList arguments = application->arguments(); + for (int i = 0; i < arguments.count(); ++i) { + QString parameter = arguments.at(i); + if (parameter == "-fullscreen") { + isFullscreen = true; + } else if (parameter == "-help") { + qDebug() << "Contacts application"; + qDebug() << "-fullscreen - show QML fullscreen"; + exit(0); + } + } + + QObject::connect(view->engine(), SIGNAL(quit()), application, SLOT(quit())); + + if (QFile::exists("main.qml")) + view->setSource(QUrl::fromLocalFile("main.qml")); + else + view->setSource(QUrl("qrc:/qml/main.qml")); +/* + view->setAttribute(Qt::WA_OpaquePaintEvent); + view->setAttribute(Qt::WA_NoSystemBackground); + view->viewport()->setAttribute(Qt::WA_OpaquePaintEvent); + view->viewport()->setAttribute(Qt::WA_NoSystemBackground); +*/ + // TODO: we could do with a plugin to access QDesktopServices paths + view->rootContext()->setContextProperty("systemAvatarDirectory", QStandardPaths::writableLocation(QStandardPaths::PicturesLocation)); + view->rootContext()->setContextProperty("DocumentsLocation", QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation)); + + // if (isFullscreen) + // view->showFullScreen(); + // else + view->show(); + + return application->exec(); +} + diff --git a/src/qml/AvatarPickerSheet.qml b/src/qml/AvatarPickerSheet.qml new file mode 100644 index 0000000..fe4f389 --- /dev/null +++ b/src/qml/AvatarPickerSheet.qml @@ -0,0 +1,90 @@ +/* + * Copyright (C) 2012 Jolla Ltd. + * Copyright (C) 2011-2012 Robin Burchell + * + * You may use this file under the terms of the BSD license as follows: + * + * "Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Nemo Mobile nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + */ + +import QtQuick 2.0 +import com.nokia.meego 2.0 +import org.nemomobile.thumbnailer 1.0 +import org.nemomobile.qmlgallery 1.0 +import org.nemomobile.contacts 1.0 + +Sheet { + id: avatarPickerSheet + + acceptButtonText: qsTr("Select") + rejectButtonText: qsTr("Cancel") + + acceptButtonEnabled: avatarGridView.itemSelected + + property Person contact + signal avatarPicked(string pathToAvatar) + + content: Rectangle { + // TODO: see if we can get theme asset for inverted background + // cannot use theme.inverted, because that will change whole app's theme. + color: "black" + anchors.fill: parent + GalleryView { + id: avatarGridView + property string filePath + property bool itemSelected: false + model: GalleryModel { } + delegate: GalleryDelegate { + id: delegateInstance + MouseArea { + anchors.fill: parent + onClicked: { + avatarGridView.itemSelected = true + avatarGridView.currentIndex = index + avatarGridView.filePath = url + } + } + Rectangle { + color: "blue" + opacity: 0.3 + visible: delegateInstance.GridView.isCurrentItem && avatarGridView.itemSelected + anchors.fill: parent + } + } + } +} + + onAccepted: { + avatarPicked(avatarGridView.filePath) + avatarGridView.itemSelected = false + } + + onRejected: { + avatarGridView.itemSelected = false + } +} + + diff --git a/src/qml/ContactCardContentWidget.qml b/src/qml/ContactCardContentWidget.qml new file mode 100644 index 0000000..6884ce5 --- /dev/null +++ b/src/qml/ContactCardContentWidget.qml @@ -0,0 +1,181 @@ +/* + * Copyright (C) 2011-2012 Robin Burchell + * + * You may use this file under the terms of the BSD license as follows: + * + * "Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Nemo Mobile nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + */ + +import QtQuick 2.0 +import com.nokia.meego 2.0 +import org.nemomobile.contacts 1.0 +import org.nemomobile.qmlcontacts 1.0 +import org.nemomobile.voicecall 1.0 + +Flickable { + id: detailViewPortrait + contentWidth: parent.width + contentHeight: childrenRect.height + flickableDirection: Flickable.VerticalFlick + clip: true + + property Person contact + property VoiceCallManager callManager + + Item { + id: header + height: avatar.height + UiConstants.DefaultMargin + property int shortSize: parent.parent.width > parent.parent.height ? parent.parent.height : parent.parent.width + ContactAvatarImage { + id: avatar + contact: detailViewPage.contact + anchors.left: parent.left + anchors.top: parent.top + anchors.margins: UiConstants.DefaultMargin + width: parent.shortSize * 0.3 + height: parent.shortSize * 0.3 + } + + Label { + anchors.verticalCenter: avatar.verticalCenter + anchors.left: avatar.right + anchors.leftMargin: UiConstants.DefaultMargin + text: contact.displayLabel + } + } + + SelectionDialog { + id: selectionDialog + property int mode: 0 // 0: call, 1: sms, 2: message, 3: mail + + onSelectedIndexChanged: { + if (mode == 0) + callManager.dial(callManager.defaultProviderId, contact.phoneNumbers[selectedIndex]); + else if (mode == 1) + onClicked: messagesInterface.startSMS(contact.phoneNumbers[selectedIndex]) + else if (mode == 2) + messagesInterface.startConversation(contact.accountPaths[selectedIndex], contact.accountUris[selectedIndex]) + + accept() + } + } + + Button { + id: callButton + anchors.top: header.bottom + anchors.topMargin: UiConstants.DefaultMargin + anchors.left: parent.left + anchors.leftMargin: UiConstants.DefaultMargin + height: contact.phoneNumbers.length ? UiConstants.ListItemHeightDefault - UiConstants.DefaultMargin : 0 + width: parent.width - UiConstants.DefaultMargin * 2 + visible: height != 0 + iconSource: "image://theme/icon-m-telephony-incoming-call"; // TODO: icon-m-toolbar-make-call + text: "Call" + onClicked: { + if (contact.phoneNumbers.length == 1) { + callManager.dial(callManager.defaultProviderId, contact.phoneNumbers[0]) + return + } + + selectionDialog.mode = 0 + selectionDialog.titleText = qsTr("Call %1").arg(contact.firstName) + selectionDialog.model = contact.phoneNumbers + selectionDialog.open() + } + } + + Button { + id: smsButton + anchors.top: callButton.bottom + anchors.topMargin: UiConstants.DefaultMargin + anchors.left: parent.left + anchors.leftMargin: UiConstants.DefaultMargin + height: contact.phoneNumbers.length ? UiConstants.ListItemHeightDefault - UiConstants.DefaultMargin : 0 + width: parent.width - UiConstants.DefaultMargin * 2 + visible: height != 0 + iconSource: "image://theme/icon-m-toolbar-send-chat"; + text: "SMS" + onClicked: { + if (contact.phoneNumbers.length == 1) { + messagesInterface.startSMS(contact.phoneNumbers[0]) + return + } + + selectionDialog.mode = 1 + selectionDialog.titleText = qsTr("SMS %1").arg(contact.firstName) + selectionDialog.model = contact.phoneNumbers + selectionDialog.open() + } + } + + Button { + id: messageButton + anchors.top: smsButton.bottom + anchors.topMargin: UiConstants.DefaultMargin + anchors.left: parent.left + anchors.leftMargin: UiConstants.DefaultMargin + height: contact.accountUris.length ? UiConstants.ListItemHeightDefault - UiConstants.DefaultMargin : 0 + width: parent.width - UiConstants.DefaultMargin * 2 + visible: height != 0 + iconSource: "image://theme/icon-m-toolbar-send-chat"; + text: "Message" + onClicked: { + if (contact.accountUris.length == 1) { + messagesInterface.startConversation(contact.accountPaths[0], contact.accountUris[0]) + return + } + + selectionDialog.mode = 2 + selectionDialog.titleText = qsTr("Message %1").arg(contact.firstName) + selectionDialog.model = contact.accountUris + selectionDialog.open() + } + } + + Button { + id: mailButton + anchors.top: messageButton.bottom + anchors.topMargin: UiConstants.DefaultMargin + anchors.left: parent.left + anchors.leftMargin: UiConstants.DefaultMargin + height: contact.emailAddresses.length ? UiConstants.ListItemHeightDefault - UiConstants.DefaultMargin : 0 + width: parent.width - UiConstants.DefaultMargin * 2 + visible: height != 0 + iconSource: "image://theme/icon-m-toolbar-send-sms"; // TODO: icon-m-toolbar-send-email + text: "Mail" + onClicked: { + console.log("TODO: integrate with mail client") + if (contact.emailAddresses.length == 1) + return + + selectionDialog.mode = 3 + selectionDialog.titleText = qsTr("Mail %1").arg(contact.firstName) + selectionDialog.model = contact.emailAddresses + selectionDialog.open() + } + } +} + diff --git a/src/qml/ContactCardPage.qml b/src/qml/ContactCardPage.qml new file mode 100644 index 0000000..018b185 --- /dev/null +++ b/src/qml/ContactCardPage.qml @@ -0,0 +1,93 @@ +/* + * Copyright (C) 2011-2012 Robin Burchell + * + * You may use this file under the terms of the BSD license as follows: + * + * "Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Nemo Mobile nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + */ + +import QtQuick 2.0 +import com.nokia.meego 2.0 +import org.nemomobile.qmlcontacts 1.0 +import org.nemomobile.contacts 1.0 +import org.nemomobile.voicecall 1.0 + +Page { + id: detailViewPage + property Person contact + + VoiceCallManager {id:callManager} + MessagesInterface { id: messagesInterface } + + Connections { + target: contact + onContactRemoved: { + pageStack.pop() + } + } + + ContactCardContentWidget { + id: detailViewContact + anchors.fill: parent + contact: detailViewPage.contact + callManager: callManager + } + + tools: ToolBarLayout { + ToolIcon { + iconId: "icon-m-toolbar-back" + onClicked: pageStack.pop() + } + ToolIcon { + iconId: "icon-m-toolbar-edit" + onClicked: pageStack.openSheet(Qt.resolvedUrl("ContactEditorSheet.qml"), { contact: contact }) + } + ToolIcon { + iconId: contact.favorite ? "icon-m-toolbar-favorite-mark" : "icon-m-toolbar-favorite-unmark" + onClicked: { + contact.favorite = !contact.favorite + + // TODO: delay saving to save CPU on repeated toggling + app.contactListModel.savePerson(detailViewPage.contact) + } + } + ToolIcon { + iconId: "icon-m-toolbar-view-menu" + onClicked: (myMenu.status == DialogStatus.Closed) ? myMenu.open() : myMenu.close() + } + } + + Menu { + id: myMenu + MenuLayout { + MenuItem { + text: "Delete"; + onClicked: pageStack.openDialog(Qt.resolvedUrl("DeleteContactDialog.qml"), { contact: contact }) + } + } + } +} + diff --git a/src/qml/ContactEditorSheet.qml b/src/qml/ContactEditorSheet.qml new file mode 100644 index 0000000..16d4272 --- /dev/null +++ b/src/qml/ContactEditorSheet.qml @@ -0,0 +1,172 @@ +/* + * Copyright (C) 2012 Jolla Ltd. + * Copyright (C) 2011-2012 Robin Burchell + * + * You may use this file under the terms of the BSD license as follows: + * + * "Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Nemo Mobile nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + */ + +import QtQuick 2.0 +import com.nokia.meego 2.0 +import org.nemomobile.qmlcontacts 1.0 +import org.nemomobile.contacts 1.0 + +Sheet { + id: newContactViewPage + + acceptButtonText: qsTr("Save") + rejectButtonText: qsTr("Cancel") + + acceptButtonEnabled: data_first.edited || data_last.edited || + data_avatar.edited || phoneRepeater.edited || + emailRepeater.edited + + property Person contact + + Connections { + target: contact + onContactRemoved: { + reject() + } + } + + + onContactChanged: { + data_first.text = contact.firstName + data_last.text = contact.lastName + data_avatar.contact = contact + if (contact.avatarPath != "image://theme/icon-m-telephony-contact-avatar" ) + data_avatar.originalSource = "image://nemothumbnail/" + contact.avatarPath + else + data_avatar.originalSource = contact.avatarPath + + phoneRepeater.setModelData(contact.phoneNumbers) + emailRepeater.setModelData(contact.emailAddresses) + } + + content: Flickable { + anchors.fill: parent + contentHeight: editorContent.childrenRect.height + UiConstants.DefaultMargin * 2 + + Item { + id: editorContent + anchors.leftMargin: UiConstants.DefaultMargin + anchors.rightMargin: UiConstants.DefaultMargin + anchors.fill: parent + + Button { + id: avatarRect + width: height + anchors { top: parent.top; topMargin: UiConstants.DefaultMargin; left:parent.left; bottom: data_last.bottom } + onClicked: { + var avatarPicker = pageStack.openSheet(Qt.resolvedUrl("AvatarPickerSheet.qml"), { contact: contact }) + avatarPicker.avatarPicked.disconnect() + avatarPicker.avatarPicked.connect(function(avatar) { + data_avatar.source = avatar + }); + } + ContactAvatarImage { + id: data_avatar + property string originalSource + property bool edited: source != originalSource + width: parent.width - UiConstants.DefaultMargin + height: parent.height - UiConstants.DefaultMargin + anchors.centerIn: parent + contact: newContactViewPage.contact + } + } + TextField { + id: data_first + placeholderText: qsTr("First name") + property bool edited: text != contact.firstName + anchors { top: avatarRect.top; right: parent.right; left: avatarRect.right; leftMargin: UiConstants.DefaultMargin } + } + TextField { + id: data_last + placeholderText: qsTr("Last name") + property bool edited: text != contact.lastName + anchors { top: data_first.bottom; + topMargin: UiConstants.DefaultMargin; + right: parent.right; left: data_first.left + } + } + + Column { + id: phones + anchors.top: data_last.bottom + anchors.topMargin: UiConstants.DefaultMargin + anchors.left: parent.left + anchors.right: parent.right + spacing: UiConstants.DefaultMargin + + EditableList { + id: phoneRepeater + placeholderText: qsTr("Phone number") + anchors.left: parent.left + anchors.right: parent.right + } + } + + Column { + anchors.top: phones.bottom + anchors.topMargin: UiConstants.DefaultMargin + anchors.left: parent.left + anchors.right: parent.right + spacing: UiConstants.DefaultMargin + + EditableList { + id: emailRepeater + placeholderText: qsTr("Email address") + anchors.left: parent.left + anchors.right: parent.right + } + } + + } + } + + onAccepted: saveContact(); + + function saveContact() { + contact.firstName = data_first.text + contact.lastName = data_last.text + contact.avatarPath = data_avatar.source + contact.phoneNumbers = phoneRepeater.modelData() + contact.emailAddresses = emailRepeater.modelData() + + // TODO: this isn't asynchronous + app.contactListModel.savePerson(contact) + + // TODO: revisit + if (contact.dirty) + console.log("[saveContact] Unable to create new contact due to missing info"); + else + console.log("[saveContact] Saved contact") + } +} + + diff --git a/src/qml/ContactImportSheet.qml b/src/qml/ContactImportSheet.qml new file mode 100644 index 0000000..c000e73 --- /dev/null +++ b/src/qml/ContactImportSheet.qml @@ -0,0 +1,101 @@ +/* + * Copyright (C) 2011-2012 Robin Burchell + * Copyright (C) 2012 Jolla Ltd. + * + * You may use this file under the terms of the BSD license as follows: + * + * "Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Nemo Mobile nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + */ + +import QtQuick 2.0 +import com.nokia.meego 2.0 +import org.nemomobile.contacts 1.0 +import org.nemomobile.folderlistmodel 1.0 +import org.nemomobile.qmlfilemuncher 1.0 + +Sheet { + id: newContactViewPage + acceptButtonText: "Import" + rejectButtonText: "Cancel" + + onStatusChanged: { + if (status == DialogStatus.Opening) { + sheetContent.fileName = "" + folderListModel.refresh() + } + } + + content: ListView { + id: sheetContent + anchors.fill: parent + property string fileName + + model: FolderListModel { + id: folderListModel + path: DocumentsLocation + showDirectories: false + nameFilters: [ "*.vcf" ] + } + + delegate: FileListDelegate { + selected: sheetContent.fileName == model.fileName + onClicked: { + sheetContent.fileName = model.fileName + console.log(model.fileName) + } + } + } + + onAccepted: doImport(); + + function doImport() { + // TODO: would be nice if folderlistmodel had a role for the full + // resolved path + console.log("Importing " + sheetContent.fileName) + var count = app.contactListModel.importContacts(folderListModel.path + "/" + sheetContent.fileName) + importCompletedDialog.contactCount = count + importCompletedDialog.open() + } + + Dialog { + id: importCompletedDialog + property int contactCount: 0 + + title: Label { + color: "white" + text: "Import completed" + } + + content: Label { + color: "white" + text: "Imported " + importCompletedDialog.contactCount + " contacts" + width: parent.width + height: paintedHeight + } + } +} + + diff --git a/src/qml/ContactListPage.qml b/src/qml/ContactListPage.qml new file mode 100644 index 0000000..91350d9 --- /dev/null +++ b/src/qml/ContactListPage.qml @@ -0,0 +1,132 @@ +/* + * Copyright (C) 2011-2012 Robin Burchell + * + * You may use this file under the terms of the BSD license as follows: + * + * "Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Nemo Mobile nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + */ + +import QtQuick 2.0 +import com.nokia.meego 2.0 +import org.nemomobile.qmlcontacts 1.0 +import org.nemomobile.contacts 1.0 + +Page { + id: groupedViewPage + + PageHeader { + id: header + text: qsTr("Contacts") + color: "#007FFF" + } + + SearchBox { + id: searchbox + placeHolderText: "Search" + anchors.top: header.bottom + width: parent.width + onSearchTextChanged: { + app.contactListModel.search(searchbox.searchText); + } + } + + Component { + id: contactComponent + Person { + } + } + + ContactListWidget { + id: gvp + anchors.top: searchbox.bottom + width: parent.width + anchors.bottom: parent.bottom + clip: true + onAddNewContact: { + var editor = pageStack.openSheet(Qt.resolvedUrl("ContactEditorSheet.qml")) + editor.contact = contactComponent.createObject(editor) + } + + searching: (searchbox.searchText.length > 0) + model: app.contactListModel + delegate: ContactListDelegate { + id: card + onClicked: pageStack.push(Qt.resolvedUrl("ContactCardPage.qml"), { contact: model.person }) + } + } + + tools: ToolBarLayout { + ToolIcon { + iconId: "icon-m-common-add" + onClicked: { + var editor = pageStack.openSheet(Qt.resolvedUrl("ContactEditorSheet.qml")); + editor.contact = contactComponent.createObject(editor) + } + } + + ToolIcon { + iconId: "icon-m-toolbar-view-menu" + onClicked: (pageMenu.status == DialogStatus.Closed) ? pageMenu.open() : pageMenu.close() + } + } + + Menu { + id: pageMenu + MenuLayout { + MenuItem { + text: "Import contacts" + onClicked: pageStack.openSheet(Qt.resolvedUrl("ContactImportSheet.qml")) + } + + MenuItem { + text: "Export contacts" + onClicked: { + var path = app.contactListModel.exportContacts() + exportCompleteDialog.path = path + exportCompleteDialog.open() + } + } + } + } + + Dialog { + id: exportCompleteDialog + property string path + + title: Label { + color: "white" + text: "Export completed" + } + + content: Label { + color: "white" + text: "Export completed to " + exportCompleteDialog.path + width: parent.width + height: paintedHeight + } + } +} + diff --git a/src/qml/DeleteContactDialog.qml b/src/qml/DeleteContactDialog.qml new file mode 100644 index 0000000..9f82b51 --- /dev/null +++ b/src/qml/DeleteContactDialog.qml @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2011-2012 Robin Burchell + * + * You may use this file under the terms of the BSD license as follows: + * + * "Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Nemo Mobile nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + */ + +import QtQuick 2.0 +import com.nokia.meego 2.0 +import org.nemomobile.contacts 1.0 + +QueryDialog { + property Person contact: Person {} + + titleText: "Delete " + contact.displayLabel + "?" + message: "Are you sure?" + acceptButtonText: "Yes" + rejectButtonText: "No" + + onAccepted: { + app.contactListModel.removePerson(contact) + } +} diff --git a/src/qml/EditableList.qml b/src/qml/EditableList.qml new file mode 100644 index 0000000..a6d2705 --- /dev/null +++ b/src/qml/EditableList.qml @@ -0,0 +1,95 @@ +/* + * Copyright (C) 2011-2012 Robin Burchell + * + * You may use this file under the terms of the BSD license as follows: + * + * "Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Nemo Mobile nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + */ + +import QtQuick 2.0 +import com.nokia.meego 2.0 +import org.nemomobile.contacts 1.0 + +Repeater { + id: root + property string placeholderText + property bool edited : false + property variant originalData + model: ListModel { + } + property bool isSetup: false + + function setModelData(modelData) { + isSetup = false + model.clear() + + for (var i = 0; i < modelData.length; ++i) { + model.append({ data: modelData[i] }) + } + + model.append({ data: "" }) + originalData = modelData + isSetup = true + } + + function modelData() { + var modelData = [] + + // the -1 here is because we want to skip the always-added empty on the + // end of the model. + for (var i = 0; i < model.count - 1; ++i) { + modelData.push(model.get(i).data) + } + return modelData; + } + + delegate: TextField { + text: model.data + placeholderText: root.placeholderText + width: root.width + + onTextChanged: { + if (!root.isSetup) + return + + root.model.get(index).data = text + if (index == (root.model.count - 1)) { + root.model.append({ data: "" }) + } else if (text == "" && index != (root.model.count - 1)) { + root.model.remove(index) + } + if (!root.originalData[index] && text != "") { + edited = true + } else if(root.originalData[index] && root.originalData[index] != text) { + edited = true + } + else { + edited = false + } + } + } +} + diff --git a/src/qml/MessagesInterface.qml b/src/qml/MessagesInterface.qml new file mode 100644 index 0000000..e2613e0 --- /dev/null +++ b/src/qml/MessagesInterface.qml @@ -0,0 +1,22 @@ +import org.nemomobile.dbus 1.0 + +DBusInterface { + id: messagesInterface + destination: "org.nemomobile.qmlmessages" + path: "/" + iface: "org.nemomobile.qmlmessages" + + function startConversation(localUid, remoteUid) { + typedCall('startConversation', [ + { 'type':'s', 'value':localUid }, + { 'type':'s', 'value':remoteUid } + ]) + } + + function startSMS(phoneNumber) { + typedCall('startSMS', [ + { 'type':'s', 'value':phoneNumber } + ]) + } +} + diff --git a/src/qml/SearchBox.qml b/src/qml/SearchBox.qml new file mode 100644 index 0000000..6269f24 --- /dev/null +++ b/src/qml/SearchBox.qml @@ -0,0 +1,139 @@ +/**************************************************************************** + ** + ** Copyright (C) 2012 Robin Burchell + ** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). + ** + ** $QT_BEGIN_LICENSE:BSD$ + ** You may use this file under the terms of the BSD license as follows: + ** + ** "Redistribution and use in source and binary forms, with or without + ** modification, are permitted provided that the following conditions are + ** met: + ** * Redistributions of source code must retain the above copyright + ** notice, this list of conditions and the following disclaimer. + ** * Redistributions in binary form must reproduce the above copyright + ** notice, this list of conditions and the following disclaimer in + ** the documentation and/or other materials provided with the + ** distribution. + ** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor + ** the names of its contributors may be used to endorse or promote + ** products derived from this software without specific prior written + ** permission. + ** + ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + ** $QT_END_LICENSE$ + ** + ****************************************************************************/ + +import QtQuick 2.0 +import com.nokia.meego 2.0 + +Item { + id: root + + // Declared properties + property alias searchText: searchTextInput.text + property alias placeHolderText: searchTextInput.placeholderText + property alias maximumLength: searchTextInput.maximumLength + property alias activeFocus2: searchTextInput.activeFocus + // Styling for the SearchBox + property Style platformStyle: ToolBarStyle {} + + // Signals & functions + signal backClicked + + // Attribute definitions + width: parent ? parent.width : 0 + height: bgImage.height + + + // SearchBox background. + BorderImage { + id: bgImage + width: root.width + border.left: 10 + border.right: 10 + border.top: 10 + border.bottom: 10 + source: platformStyle.background + } + + TextField { + id: searchTextInput + + // Helper function ripped from QQC platform sources. Used for + // getting the correct URI for the platform toolbar images. + function __handleIconSource(iconId) { + var prefix = "icon-m-" + // check if id starts with prefix and use it as is + // otherwise append prefix and use the inverted version if required + if (iconId.indexOf(prefix) !== 0) + iconId = prefix.concat(iconId).concat(theme.inverted ? "-white" : ""); + return "image://theme/" + iconId; + } + + inputMethodHints: Qt.ImhNoPredictiveText + + anchors { + left: parent.left + right: parent.right + verticalCenter: parent.verticalCenter + margins: UiConstants.DefaultMargin + } + + // Save some empty space for the text on the left & right, + // for the icon graphics. + platformStyle: TextFieldStyle { + paddingLeft: searchIcon.width + UiConstants.DefaultMargin * 1.5 // 2 is mathematically correct, but looks too big. + paddingRight: clearTextIcon.width + } + + // Search icon, just for styling the SearchBox a bit. + Image { + id: searchIcon + + anchors { + left: parent.left + verticalCenter: parent.verticalCenter + margins: UiConstants.DefaultMargin + } + + fillMode: Image.PreserveAspectFit + source: searchTextInput.__handleIconSource("toolbar-search") + } + + // A trash can image, clicking it allows the user to quickly + // remove the typed text. + Image { + id: clearTextIcon + + anchors { + right: parent.right + rightMargin: UiConstants.DefaultMargin + verticalCenter: parent.verticalCenter + } + + fillMode: Image.PreserveAspectFit + source: searchTextInput.__handleIconSource("toolbar-delete") + visible: searchTextInput.text.length > 0 + + MouseArea { + anchors.fill: parent + onClicked: { + searchTextInput.text = "" + searchTextInput.forceActiveFocus() + } + } + } + } +} diff --git a/src/qml/api/ContactAvatarImage.qml b/src/qml/api/ContactAvatarImage.qml new file mode 100644 index 0000000..4f79877 --- /dev/null +++ b/src/qml/api/ContactAvatarImage.qml @@ -0,0 +1,71 @@ +/* + * Copyright (C) 2011-2012 Robin Burchell + * + * You may use this file under the terms of the BSD license as follows: + * + * "Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Nemo Mobile nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + */ + +import QtQuick 2.0 +import org.nemomobile.thumbnailer 1.0 +import org.nemomobile.contacts 1.0 + +Image { + fillMode: Image.PreserveAspectCrop + asynchronous: true + width: UiConstants.ListItemHeightSmall + height: UiConstants.ListItemHeightSmall + property Person contact + sourceSize.width: width + sourceSize.height: width + + onContactChanged: { + contact.avatarPathChanged.connect(avatarPotentiallyChanged) + avatarPotentiallyChanged(); + } + + Component.onCompleted: { + if (contact == null) + avatarPotentiallyChanged(); + } + + function avatarPotentiallyChanged() { + if (contact == null || contact.avatarPath == "image://theme/icon-m-telephony-contact-avatar") + source = "image://theme/icon-m-telephony-contact-avatar" + else + source = "image://nemoThumbnail/" + contact.avatarPath + } + + onStatusChanged: { + var fallback = "image://theme/icon-m-telephony-contact-avatar" + if (status == Image.Error || status == Image.Null) { + if (source == fallback) + console.log("ContactAvatarImage failed to load fallback image!"); + else + source = fallback + } + } +} diff --git a/src/qml/api/ContactListDelegate.qml b/src/qml/api/ContactListDelegate.qml new file mode 100644 index 0000000..4969e0a --- /dev/null +++ b/src/qml/api/ContactListDelegate.qml @@ -0,0 +1,76 @@ +/* + * Copyright (C) 2011-2012 Robin Burchell + * + * You may use this file under the terms of the BSD license as follows: + * + * "Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Nemo Mobile nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + */ + +import QtQuick 2.0 +import com.nokia.meego 2.0 + +MouseArea { + id: listDelegate + + height: UiConstants.ListItemHeightDefault + width: parent.width + + ContactAvatarImage { + id: photo + contact: model.person + x: UiConstants.DefaultMargin + anchors.verticalCenter: parent.verticalCenter + } + + Label { + id: nameFirst + text: model.person.displayLabel + elide: Text.ElideRight + anchors { + left: photo.right; + right: favorite.visible ? favorite.left : parent.right + verticalCenter: parent.verticalCenter; + leftMargin: UiConstants.DefaultMargin + } + } + + // TODO: only instantiate if required? + Image { + id: favorite + source: "image://theme/icon-m-toolbar-favorite-mark" + visible: model.person.favorite + anchors.right: parent.right + anchors.rightMargin: UiConstants.DefaultMargin + anchors.verticalCenter: parent.verticalCenter + } + + states: State { + name: "pressed"; when: pressed == true + PropertyChanges { target: listDelegate; opacity: .7} + } + +} + diff --git a/src/qml/api/ContactListWidget.qml b/src/qml/api/ContactListWidget.qml new file mode 100644 index 0000000..a729cb9 --- /dev/null +++ b/src/qml/api/ContactListWidget.qml @@ -0,0 +1,70 @@ +/* + * Copyright (C) 2011-2012 Robin Burchell + * + * You may use this file under the terms of the BSD license as follows: + * + * "Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Nemo Mobile nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + */ + +import QtQuick 2.0 +import com.nokia.meego 2.0 + +ListView { + id: groupedViewPortrait + + signal addNewContact + + property bool searching: false + + cacheBuffer: height + section.property: "sectionBucket" + section.criteria: ViewSection.FirstCharacter + section.delegate: Rectangle { + width: parent.width + height: childrenRect.height + color: "lightsteelblue" + + Text { + anchors.right: parent.right + anchors.rightMargin: UiConstants.DefaultMargin + text: section + font.bold: true + } + } + + ViewPlaceholder { + enabled: parent.count == 0 + text: ((searching) ? qsTr("Contact not found.") : qsTr("You haven't added any contacts yet.")); + } + + SectionScroller { + listView: parent + } + + ScrollDecorator { + flickableItem: parent + } +} diff --git a/src/qml/api/qmldir b/src/qml/api/qmldir new file mode 100644 index 0000000..306b809 --- /dev/null +++ b/src/qml/api/qmldir @@ -0,0 +1,3 @@ +ContactAvatarImage 1.0 ContactAvatarImage.qml +ContactListDelegate 1.0 ContactListDelegate.qml +ContactListWidget 1.0 ContactListWidget.qml diff --git a/src/qml/main.qml b/src/qml/main.qml new file mode 100644 index 0000000..1c8fe17 --- /dev/null +++ b/src/qml/main.qml @@ -0,0 +1,68 @@ +/* + * Copyright 2011 Intel Corporation. + * + * This program is licensed under the terms and conditions of the + * Apache License, version 2.0. The full text of the Apache License is at + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +import QtQuick 2.0 +import com.nokia.meego 2.0 +import org.nemomobile.contacts 1.0 + +PageStackWindow { + id: app + showToolBar: true; + + property variant accountItem + + property string filterNew: qsTr("New contact") + property string filterAll: qsTr("All") + property string filterFavorites: qsTr("Favorites") + + //: Load the details for the selected contact + property string contextView: qsTr("View") + property string contextShare: qsTr("Share") + property string contextEmail: qsTr("Email") + + //: Add favorite flag / add contact to favorites list + property string contextFavorite: qsTr("Favorite", "Verb") + + //: Remove favorite flag / remove contact from favorites list + property string contextUnFavorite: qsTr("Unfavorite") + + property string contextEdit: qsTr("Edit") + property string contextSave: qsTr("Save") + property string contextCancel: qsTr("Cancel") + property string contextDelete: qsTr("Delete") + + //: Confirmation of deletion - ensure the user wants to delete the contact + property string deleteConfirmation: qsTr("Delete Confirmation") + property int dateFormat: Qt.DefaultLocaleLongDate + + property string labelGroupedView: qsTr("Contacts") + property string labelDetailView: qsTr("Contact details") + property string labelNewContactView: qsTr("New contact") + property string labelEditView: qsTr("Edit contacts") + + //: If we are unable to get the contact name, use 'this contact' instead + property string contactname : (app.currentContactName ? app.currentContactName : qsTr("this contact")) + property string promptStr: qsTr("Are you sure you want to remove %1 from your contacts?").arg(contactname) + + property int animationDuration: 250 + + initialPage: Component { ContactListPage {} } + + property PeopleModel contactListModel: PeopleModel { + +// for testing purposes + Component.onCompleted: { +// importContacts("../test/example.vcf") + setDisplayLabelOrder(false); + } + } + + + +} + diff --git a/src/qmlcontacts.desktop b/src/qmlcontacts.desktop new file mode 100644 index 0000000..fb8cb7e --- /dev/null +++ b/src/qmlcontacts.desktop @@ -0,0 +1,6 @@ +[Desktop Entry] +Type=Application +Name=People +Icon=icons-Applications-people +Exec=invoker -s --type=qtcomponents /usr/bin/qmlcontacts -fullscreen +Comment=Nemo People Application diff --git a/src/res.qrc b/src/res.qrc new file mode 100644 index 0000000..6dfa6fd --- /dev/null +++ b/src/res.qrc @@ -0,0 +1,15 @@ + + + qml/AvatarPickerSheet.qml + qml/ContactCardContentWidget.qml + qml/ContactCardPage.qml + qml/ContactEditorSheet.qml + qml/ContactImportSheet.qml + qml/EditableList.qml + qml/ContactListPage.qml + qml/DeleteContactDialog.qml + qml/main.qml + qml/SearchBox.qml + qml/MessagesInterface.qml + + diff --git a/src/src.pro b/src/src.pro new file mode 100644 index 0000000..f8d377a --- /dev/null +++ b/src/src.pro @@ -0,0 +1,50 @@ +VERSION = 0.3.9 +PROJECT_NAME = qmlcontacts +TEMPLATE = app +CONFIG += ordered mobility hide_symbols +MOBILITY += contacts +QT += quick widgets +TARGET = $$PROJECT_NAME +CONFIG -= app_bundle # OS X + +CONFIG += link_pkgconfig + +packagesExist(qdeclarative-boostable) { + message("Building with qdeclarative-boostable support") + DEFINES += HAS_BOOSTER + PKGCONFIG += qdeclarative-boostable +} else { + warning("qdeclarative-boostable not available; startup times will be slower") +} + +SOURCES += main.cpp +RESOURCES += res.qrc + +QML_FILES = qml/*.qml +JS_FILES = *qml/.js + +OTHER_FILES += $${QML_FILES} $${JS_FILES} + +target.path = $$INSTALL_ROOT/usr/bin/ +INSTALLS += target + +desktop.files = $${PROJECT_NAME}.desktop +desktop.path = $$INSTALL_ROOT/usr/share/applications +INSTALLS += desktop + +# qml API we provide +qml_api.files = qml/api/* +qml_api.path = /usr/lib/qt5/qml/org/nemomobile/$$PROJECT_NAME +INSTALLS += qml_api + +TRANSLATIONS += *.qml +dist.commands += rm -fR $${PROJECT_NAME}-$${VERSION} && +dist.commands += git clone . $${PROJECT_NAME}-$${VERSION} && +dist.commands += rm -fR $${PROJECT_NAME}-$${VERSION}/.git && +dist.commands += rm -f $${PROJECT_NAME}-$${VERSION}/.gitignore && +dist.commands += mkdir -p $${PROJECT_NAME}-$${VERSION}/ts && +dist.commands += lupdate $${TRANSLATIONS} -ts $${PROJECT_NAME}-$${VERSION}/ts/$${PROJECT_NAME}.ts && +dist.commands += tar jcpvf $${PROJECT_NAME}-$${VERSION}.tar.bz2 $${PROJECT_NAME}-$${VERSION} && +dist.commands += rm -fR $${PROJECT_NAME}-$${VERSION} +QMAKE_EXTRA_TARGETS += dist + diff --git a/src/src.qmlproject b/src/src.qmlproject new file mode 100644 index 0000000..9062c6a --- /dev/null +++ b/src/src.qmlproject @@ -0,0 +1,16 @@ +import QmlProject 1.0 + +Project { + /* Include .qml, .js, and image files from current directory and subdirectories */ + QmlFiles { + directory: "." + } + JavaScriptFiles { + directory: "." + } + ImageFiles { + directory: "." + } + /* List of plugin directories passed to QML runtime */ + // importPaths: [ "../exampleplugin" ] +} diff --git a/test/README b/test/README new file mode 100644 index 0000000..3c40a17 --- /dev/null +++ b/test/README @@ -0,0 +1,10 @@ +MeeGo App Contacts Tests +======================= + +Avaialble tests: + +1) load_vcard: Uses asynchronous APIs to load a vcard + -How to Run: + ./load_vcard.sh + + Ex: ./load_vcard.sh KOR diff --git a/test/example.vcf b/test/example.vcf new file mode 100644 index 0000000..9a26e9c --- /dev/null +++ b/test/example.vcf @@ -0,0 +1,164 @@ +BEGIN:VCARD +VERSION:3.0 +FN:Ms. Aaron Gates +N:Gates;Aaron;;; +NICKNAME:Aaron nickname +IMPP;X-YAHOO:ymsgr:julien +IMPP;X-JABBER:xmpp:mikec@jabber.com +IMPP;X-AIM:aim:screenname=tacos +IMPP;X-MSN:msnim:contact=moolots +EMAIL;TYPE=INTERNET:aaron@example.com +EMAIL;TYPE=INTERNET:aaron_extra@example.com +TEL;TYPE=WORK:33333 +TEL;TYPE=HOME:333331 +TEL;TYPE=HOME;TYPE=FAX:333332 +TEL;TYPE=PAGER:333333 +TEL;TYPE=CELL:333334 +ADR;WORK;POSTAL;CHARSET=UTF-8:PO Box;Extended Address;Work Street Address;Work Locality(Town);Work Region(State);Work Post Code;Work Country;Work City;Work State;Work PostCode;Work Country +ADR;HOME;POSTAL;CHARSET=UTF-8:PO Box;Extended Address;Home Street Address;Home Locality(Town);Home Region(State);Home Post Code;Home Country;Work City;Work State;Work PostCode;Work Country +LABEL;WORK;ENCODING=QUOTED-PRINTABLE:BusinessOffice=0D=0A=0D=0A, =0D=0A +LABEL;HOME;ENCODING=QUOTED-PRINTABLE:=0D=0A, =0D=0A +ORG:Example +TITLE:Engineer +BDAY:2009-01-01 +PHOTO;ENCODING=BASE64;TYPE=GOOGLECONTACTSPHOTO_1140C7078B06ECD7:/9j/4A + AQSkZJRgABAQAAAQABAAD/2wCEAAUDBA0OCREQDg8IDggICAoICAgOCAgICQgICBAIBw + gICAgIDRANCAgOCQgIDBUNDhERExMTBw0WGBYSGBAXExIBBQUFCAcHDwkJDxgVEhQYFh + kUFBQUFBQUFBUUFBwcFBQUFBQUFBQUFRUWFBQUFBQUFBQUFBQUFB4UFBQeFBQeHv/AAB + EIAGAAYAMBIgACEQEDEQH/xAAdAAACAwACAwAAAAAAAAAAAAAHCAAFBgIDAQQJ/8QARh + AAAQIDBAUGCQgKAwAAAAAAAgEDAAQSBQYREwchIjJzCDE0QlKyFEFRYWJxcqLCI4GRkq + GxwdEVJCUzNUNTgoPwY9Lh/8QAGgEAAwEBAQEAAAAAAAAAAAAAAwQFBgECAP/EADQRAA + ECBAMFBgMJAAAAAAAAAAEAAgMEBRESITEyQUJxgSI0UZGhsRPB8QYUFSMzYYLh8P/aAA + wDAQACEQMRAD8AA+ji5YgLc1ONicu5UcjIkVKWhTsq66o6xkRWpFVFRahg96L350mUEX + nJeyWKxlpBsRIKXFJw2gMtZS+JFrXXA8vblpNGDIZcmwSBKy2YTgy7Tm0YARa6VIiX+6 + DnYcmLUuACgiLbY0im7tJUW1Gbqk89rbNNrrKGbfMx3ZkNboArZmfdEURDJBHdHsx6V5 + 2BnJdGZsc+TF0X/BjLLTNGoRPMb16kIvrR2RIzgmIoNw4+ZTQe4aFZWc0aWQTDgJZ8qB + utk2MyMw/my5Emp1oeZTHnRF7MY6T5Oll4pXM21h46GpfH3ggtxIbh1WZZo6/PNGbMxG + 70uL3JqmSMlbmbPRjMPIzXSF3KxXKzREcBdUMMUTx4xlr2aCrSYmsttvwwcsD8JllzGF + I+duokRaxXUqYQ2yp5h+qMeRXDmUk9kiDuw4yvxm7QBRWzzxqkevfo+n5IAKalplgJki + BgjEcHSb3xGnrJinPGaVpU14F9BJ9sfQY9eGO3Tu5ny4j7Inig+tI6rblwmJU2HgYOVf + pzWklmmq8tRIPlW0qDAhFdUOs+0TOJh6FGbPjeF8+6PV9ZPzjjDwsaM7HQcFs6WLZIal + mnxwUkwQ+fnHnjCy3Jys/rzdqJ7Mu0v3pDsOtyztTbmEZs5DKzt5elucYPhhg2N0eCHd + GF8vJ0pzjB8MMGxujwQ7oxDq3D1WUkNt/NeY4vvCIqpKIgO0RLsiI+lEmHhEVUlpBsai + JeqI9aKLRpYDlsT5kaqliSjg4tpsk694g9NotpVWEZKTdMPsNE/iOIMaLk6f7wV5YLqz + GCsA883VTnNjU2NPaIo0Q3Rmqccs/Z60GGzpFtoEFsWwAdQgIoA6vMnP64obTv7JMzSM + OvCD5btWyBL2UPmq80aD8CgN2nH0VMSbGN/Md8kJpyScbLBwHBLskMdEHq07PbeaUSQV + Ax5/H5lRYDd6bFKXeUV1t7wF2h/wC0SKjSnSwxNN2+yDMSxh5jMKpiYRkb4Wk74bLsMl + g69MBmj1iZJdqr5oPl57oywSpkIIjrbaYHiW9q14eeBwaZFiQTFFrapeCwxcWHhQxiYx + IkTV5S93l6Y5xQ/CGBZ3R4Qd0YXy8nTHOKHwwwbG6PBDuxarHD1UyQ23rL6U7RVqQLCl + c8sghX+mXWg9aC7t+CWMy3zmrea4dNJHmYmNXqEhT5oW7SumY+wxhjnkJb1PWHZ/8AYb + +xWqWATssNj9VMIq0OEGwcXirNNbijud4ABejfG0FalTJNRU0CXkIvHC733swX5VxDSp + wRJ8XKflMwdrYLnHGDjpbL9Sw7TwQJHxxFU7QkMI1mO4TLQDpZFqPadhOllr+SzeFyYs + hBdMiflHSbIi3hb6gL6kSL7TgiBZpvU1FKJmUp4xXBD+iBdyRXFSbnw2sMwC9mlXB5u1 + te7B5vjZ+dIvNquGdLOt1U44VIqIWHmi/hbFlyHZgosoTFkh42I8kFdGuj51+0mLRNWk + k/Bq2m+c1qRaKk8WCwbrxyROSpgNNZjSmOoYFXJzvortUirNP6JYFrwnMqz6VUaqMNjH + 1wWLwzytS5mg1K2NVFVNXzx9BhwhAs3Zt6L1JNh/AxN36896D9tXYfZCpwW0CrCoSqik + jY3qvgj8vRRSW8W1VTGQjFzrITIloRuElFDA7sHJL3eXpjnED4YYFndHgh3YXy8nTHOK + HwwwbG6PBDujD9Y4eqjyG29YPSB/FJP/esMOFI7g8MPuhO9I5oNpShLVQO8VO7tD73mh + wrOPFoV/4gX7MYtUbuwVuk7cTmPZZXS50L/KP4wKh3k9qCrpd6F/lCBQpYa+ztRDrneu + gRJ79RdPJQ/ik/xPiWGLmdxfZX7oXLklnjaU+vacEveKGJnywbJfIBL9ixp5bKXRKX3X + z90u/JpT9v2h7XxFB3vqn6k7w/ygC8mI8ben17Wv3lg9X16E7w/wAoG03lDyPsvNP7sf + 5e6B8SIsSMIkUvV4+mOcUPwhgmd0eEHdGF9vL0pzih+EMExujwQ7oxaq/D1UuQ23rD6Z + 2F8DE0UkJt8RHDq66qvR9cNTceeF2QZcFcRclmtr0kGkvtgAXks7Olzb5icbIWyXdFzt + FGm5Kt7hKVKScIkmpAyyhLZJ1nEsSES5hRfF6UP0KOC3ATmFYkXiHMkHiHqP6RL0myqn + IlhziYH9WAxPuoLRr1RbI/7RhiZtgTBUXWBjSvslC/aSrn2hWrEqyrgvbJTdQi200XVI + S3tXPHatIvix2vaMjkU1UIbtpovyXPkgSZL4W//Km3gytXZrq70Gy+E5lypr5qdfpaop + tENzUs+zQYqqcFSddc8rjmsk9lOZIrdLNrJssovWzHfZ6vzxQmYn3eUN9bZcyiQGGXlQ + 12tvUoX8mBP25P/wC9ZYPV9ehOcNYXXQfP+C3mdbcUU/SYkTZLq3cSERXtLzQzU/Ki40 + QluuDSUdlx8SVsN4+SFTO1Llo1uUAVFfIXzjHiNbaujdqWZdezp1x2moG3HvkA1puN4c + /zxkox05JulnhrzmRfJKvhuYbOS83k6Y5xQ+GGDZ3R4Qd0YXy8nTHOKHwwwbG6PBDujF + CscPVSpDbeucZ22rEcSaCaliFufYISqX92+I/y3BH6I0USJMGM6E7E3VUCwEWK1t0tMr + amDU82crNOqLbaqVTUw4Wzi0qbo4+WC2KwoulWzzKXF1san5RwSDtCONRFtdVIZHRZeV + ucs1p1sqvkhad8zzaILnvJG1pk6ZiHd2qoyMy57zDedNP3XRfe9+QStgBK7l1VruDj+M + CuZfIyVSUiMtoiXrQZr0XaamMFOtCHritJKnkKA9akugPuAlSiy8QCS7yiPa9KIdbZGD + 7uPZ3fRcnQ+9zpuVNalkNukikhI63+6eHZcaLtAXaTxRrLBvbNMgg5pvUjTmO63C9Iqe + tFHEiTDm40MWY4gJJhLDduRVnatuvO6nDJQ/p9X2orIkd8hLkbogOtTLBB8sDc98V2ZJ + JXSS45r//Z +URL;TYPE=HOMEPAGE:http://qt.nokia.com/logo.png +URL;TYPE=HOMEPAGE:http://qt.nokia2.com/logo.png +NOTE:Some notes are here +END:VCARD +BEGIN:VCARD +VERSION:3.0 +FN:Mr. Alexander Mcdonald +N:Mcdonald;Alexander;;; +EMAIL;TYPE=INTERNET:alex@example.com +TEL;TYPE=WORK:111111111 +ADR;TYPE=WORK;POSTAL;CHARSET=UTF-8:PO Box;Extended Address;Work Street Address;Work Locality(Town);Work Region(State);Work Post Code;Work Country;Work City;Work State;Work PostCode;Work Country +ADR;TYPE=HOME;POSTAL;CHARSET=UTF-8:PO Box;Extended Address;Home Street Address;Home Locality(Town);Home Region(State);Home Post Code;Home Country;Work City;Work State;Work PostCode;Work Country +ORG:Example +TITLE:Engineer +BDAY:2010-02-02 +END:VCARD +BEGIN:VCARD +VERSION:3.0 +FN:Mr. Andy Clark +N:Clark;Andy;;; +EMAIL;TYPE=INTERNET:andy@example.com +TEL;TYPE=WORK:07-2342322 +ORG:Example +TITLE:Engineer +BDAY:2011-03-03 +PHOTO;VALUE=URL;TYPE=PNG:http://qt.nokia.com/logo.png +END:VCARD +BEGIN:VCARD +VERSION:3.0 +FN:Mr. Bill Chilton +N:Chilton;Bill;;; +EMAIL;TYPE=INTERNET:bill@example.com +TEL;TYPE=WORK:564412232 +ORG:Example +TITLE:Manager +BDAY:2012-04-04 +END:VCARD +BEGIN:VCARD +VERSION:3.0 +FN:Mr. Bob Green +N:Green;Bob;;; +EMAIL;TYPE=INTERNET:bob@example.com +TEL;TYPE=WORK:07-3242325 +ORG:Example +TITLE:Engineer +BDAY:2013-05-05 +END:VCARD +BEGIN:VCARD +VERSION:3.0 +FN:Mr. Charles Brows +N:Brows;Charles;;; +EMAIL;TYPE=INTERNET:charles@example.com +TEL;TYPE=WORK:32324534233 +ORG:Example +TITLE:Engineer +BDAY:2015-07-07 +END:VCARD +BEGIN:VCARD +VERSION:3.0 +FN:Mr. David Edie +N:Edie;David;;; +EMAIL;TYPE=INTERNET:david@example.com +TEL;TYPE=WORK:(07) 3245-2323 +ORG:Example +TITLE:Manager +BDAY:2015-08-08 +END:VCARD +BEGIN:VCARD +VERSION:3.0 +FN:Mr. Jason Black +N:Black;Jason;;; +EMAIL;TYPE=INTERNET:jason@example.com +TEL;TYPE=WORK:33333333333 +ORG:Example +TITLE:Engineer +BDAY:2016-09-09 +END:VCARD +BEGIN:VCARD +VERSION:3.0 +FN:Mrs. Carol Eden +N:Eden;Carol;;; +EMAIL;TYPE=INTERNET:carol@example.com +TEL;TYPE=WORK:2323242 +ORG:Example +TITLE:Manager +BDAY:2014-06-06 +END:VCARD + diff --git a/test/load_vcard.cpp b/test/load_vcard.cpp new file mode 100644 index 0000000..6c5e46b --- /dev/null +++ b/test/load_vcard.cpp @@ -0,0 +1,123 @@ +/* + * Copyright 2011 Intel Corporation. + * + * This program is licensed under the terms and conditions of the + * Apache License, version 2.0. The full text of the Apache License is at + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +QTM_USE_NAMESPACE + +class Load_Vcard: public QObject +{ + Q_OBJECT + +private slots: + void addNewContacts_data(); + void addNewContacts(); +}; + +void Load_Vcard::addNewContacts_data() +{ + QTest::addColumn("vcard"); + QTest::addColumn("result"); + + QTest::newRow("CHS") << "vcardCHS.vcf" << "0"; + QTest::newRow("CHT") << "vcardCHT.vcf" << "0"; + QTest::newRow("CSY") << "vcardCSY.vcf" << "0"; + QTest::newRow("DAN") << "vcardDAN.vcf" << "0"; + QTest::newRow("DEU") << "vcardDEU.vcf" << "0"; + QTest::newRow("ELL") << "vcardELL.vcf" << "0"; + QTest::newRow("ESP") << "vcardESP.vcf" << "0"; + QTest::newRow("FIN") << "vcardFIN.vcf" << "0"; + QTest::newRow("FRA") << "vcardFRA.vcf" << "0"; + QTest::newRow("HUN") << "vcardHUN.vcf" << "0"; + QTest::newRow("ITA") << "vcardITA.vcf" << "0"; + QTest::newRow("JPN") << "vcardJPN.vcf" << "0"; + QTest::newRow("KOR") << "vcardKOR.vcf" << "0"; + QTest::newRow("NLD") << "vcardNLD.vcf" << "0"; + QTest::newRow("NOR") << "vcardNOR.vcf" << "0"; + QTest::newRow("PLK") << "vcardPLK.vcf" << "0"; + QTest::newRow("PTB") << "vcardPTB.vcf" << "0"; + QTest::newRow("PTG") << "vcardPTG.vcf" << "0"; + QTest::newRow("RUS") << "vcardRUS.vcf" << "0"; + QTest::newRow("SVE") << "vcardSVE.vcf" << "0"; + QTest::newRow("TRK") << "vcardTRK.vcf" << "0"; + QTest::newRow("example") << "example.vcf" << "0"; +} + +/* +void Load_Vcard::contactsSaved() +{ + QContactSaveRequest *request = qobject_cast(QObject::sender()); + + if (request->error() != QContactManager::NoError) + return; + + qDebug() << "[TEST] Saving " << request->contacts().size() << " contacts"; +} +*/ + +void Load_Vcard::addNewContacts() +{ + QFETCH(QString, vcard); + QFETCH(QString, result); + + QList contacts; + QString res = QString("1"); + + QContactManager *cm = new QContactManager(); + QContactSaveRequest *m_contactSaveRequest = new QContactSaveRequest(); + m_contactSaveRequest->setManager(cm); + //connect(&m_contactSaveRequest, SIGNAL(resultsAvailable()), this, + // SLOT(contactsSaved())); + + QFile file(vcard); + if (file.exists()) { + QByteArray cardArr; + if (file.open(QFile::ReadOnly)) { + while (!file.atEnd()) { + cardArr.append(file.readLine()); + } + } + + QBuffer input; + input.open(QBuffer::ReadWrite); + input.write(cardArr); + input.seek(0); + + QVersitReader reader(cardArr); + reader.startReading(); + reader.waitForFinished(); + QList inputDocuments = reader.results(); + + QVersitContactImporter importer; + if (importer.importDocuments(inputDocuments)) { + contacts = importer.contacts(); + m_contactSaveRequest->setContacts(contacts); + m_contactSaveRequest->start(); + m_contactSaveRequest->waitForFinished(); + res = QString("0"); + } + + input.close(); + file.close(); + } + delete m_contactSaveRequest; + delete cm; + + QCOMPARE(res, result); +} + +QTEST_MAIN(Load_Vcard) +#include "load_vcard.moc" diff --git a/test/load_vcard.sh b/test/load_vcard.sh new file mode 100644 index 0000000..ce5a4f8 --- /dev/null +++ b/test/load_vcard.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +VCARD=$1 + +./tst_meego-app-contacts/tst_meego-app-contacts addNewContacts:${VCARD} diff --git a/test/test.pro b/test/test.pro new file mode 100644 index 0000000..10b1dfb --- /dev/null +++ b/test/test.pro @@ -0,0 +1,19 @@ +TARGET = tst_meego-app-contacts +TEMPLATE = app + +QT += declarative testlib +CONFIG += qt \ + mobility \ + link_pkconfig + +PKGCONFIG += QtContacts QtVersit icu-uc icu-i18n + +DESTDIR = $$TARGET +OBJECTS_DIR = .obj +MOC_DIR = .moc +LIBS += -licuuc -licui18n + +MOBILITY = contacts versit + +SOURCES += load_vcard.cpp + diff --git a/test/vcardCHS.vcf b/test/vcardCHS.vcf new file mode 100644 index 0000000..ab1efaa --- /dev/null +++ b/test/vcardCHS.vcf @@ -0,0 +1,296 @@ +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8e} +N:陈;隆;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8f} +N:胡;菁菁 +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d90} +N:金;晓波;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d91} +N:李;之浩;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d92} +N:林;杰;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d93} +N:钱;梦佳;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d94} +N:任;宁;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d95} +N:任;启鸿;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d96} +N:任;媛莹;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d97} +N:申屠;李融;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d98} +N:沈;彬;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d99} +N:沈;佳麟;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9a} +N:史;逸婵;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9b} +N:孙;雯君;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9c} +N:孙;奕;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9d} +N:汤;康敏;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9e} +N:王;尔嘉;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9f} +N:王;震宇;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d00} +N:郁;菁菁;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d01} +N:臧;嘉澍;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d02} +N:张;青;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d03} +N:张;伊人;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d04} +N:张;越;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d05} +N:张;洲姬;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d06} +N:郑;潇誉;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d07} +N:周;懿荟;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d08} +N:樊;忆婷;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d09} +N:韩;竹韵;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d0a} +N:姜;文;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d0b} +N:陆;佳妮;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d0c} +N:梅;一欣;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d0d} +N:倪;晨佳;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d0e} +N:潘;春;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d0f} +N:魏;英轩;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d10} +N:徐;阳;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d11} +N:杨;珈珺;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d12} +N:欧阳;纳兰;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + diff --git a/test/vcardCHT.vcf b/test/vcardCHT.vcf new file mode 100644 index 0000000..4dd2dc4 --- /dev/null +++ b/test/vcardCHT.vcf @@ -0,0 +1,200 @@ +BEGIN:VCARD +VERSION:3.0 +UID:{7269c63a-87b0-469a-b0e8-63ea3e533b56} +N:王;羲之;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:02:17 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{7269c63a-87b0-469a-b0e8-63ea3e533b60} +N:元;宏;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:02:17 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{7269c63a-87b0-469a-b0e8-63ea3e533b61} +N:元;稹;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:02:17 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{7269c63a-87b0-469a-b0e8-63ea3e533b63} +N:田;因齊;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:02:17 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{7269c63a-87b0-469a-b0e8-63ea3e533b64} +N:白;居易;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:02:17 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{7269c63a-87b0-469a-b0e8-63ea3e533b65} +N:司馬;丕;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:02:17 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{7269c63a-87b0-469a-b0e8-63ea3e533b66} +N:田;辟疆;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:02:17 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{7269c63a-87b0-469a-b0e8-63ea3e533b67} +N:李;白;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:02:17 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{7269c63a-87b0-469a-b0e8-63ea3e533b68} +N:杜;牧;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:02:17 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{7269c63a-87b0-469a-b0e8-63ea3e533b69} +N:拓跋;珪;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:02:17 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{7269c63a-87b0-469a-b0e8-63ea3e533b6a} +N:拓跋;嗣;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:02:17 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{7269c63a-87b0-469a-b0e8-63ea3e533b77} +N:拓跋;燾;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:02:17 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{7269c63a-87b0-469a-b0e8-63ea3e533b6b} +N:高;洋;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:02:17 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{7269c63a-87b0-469a-b0e8-63ea3e533b6c} +N:孫;思邈;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:02:17 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{7269c63a-87b0-469a-b0e8-63ea3e533b6d} +N:姬;職;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:02:17 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{7269c63a-87b0-469a-b0e8-63ea3e533b55} +N:陶;弘景;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:02:17 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{7269c63a-87b0-469a-b0e8-63ea3e533b6e} +N:曹;操;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:02:17 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{7269c63a-87b0-469a-b0e8-63ea3e533b70} +N:葛;洪;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:02:17 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{7269c63a-87b0-469a-b0e8-63ea3e533b71} +N:劉;安;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:02:17 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{7269c63a-87b0-469a-b0e8-63ea3e533b72} +N:劉;欣;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:02:17 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{7269c63a-87b0-469a-b0e8-63ea3e533b73} +N:劉;禹錫;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:02:17 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{7269c63a-87b0-469a-b0e8-63ea3e533b74} +N:嬴;政;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:02:17 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{7269c63a-87b0-469a-b0e8-63ea3e533b75} +N:魏;伯陽;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:02:17 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{7269c63a-87b0-469a-b0e8-63ea3e533b76} +N:劉;徹;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:02:17 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{7269c63a-87b0-469a-b0e8-63ea3e533b77} +N:劉;驁;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:02:17 +END:VCARD + diff --git a/test/vcardCSY.vcf b/test/vcardCSY.vcf new file mode 100755 index 0000000..fff58af --- /dev/null +++ b/test/vcardCSY.vcf @@ -0,0 +1,514 @@ +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8e} +N:Ábelová;Marie;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8f} +N:Adam;Jiří;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d90} +N:Bláhová;Jana;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d91} +N:Blažek;Jan;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d92} +N:Bureš;Petr;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d93} +N:Čech;Josef;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d94} +N:Čermák;Pavel;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d95} +N:Černý;Jaroslav;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d96} +N:Dvořák;Tomáš;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d97} +N:Hájek;František;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d98} +N:Holubová;Anna;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d99} +N:Chládek;Ivan;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9a} +N:Chladil;Milan;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9b} +N:Jelínek;Václav;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9c} +N:Kadlecová;Věra;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9d} +N:Klátil;Karel;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9e} +N:Konečná;Lenka;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9f} +N:Kovář;Michal;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d00} +N:Králová;Kateřina;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d01} +N:Kratochvílová;Alena;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d02} +N:Krejčí;Petra;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d03} +N:Křížová;Lucie;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d04} +N:Kučera;Vladimír;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d05} +N:Malá;Jaroslava;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d06} +N:Marný;Tomáš;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d07} +N:Marková;Ludmila;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d08} +N:Matoušková;Helena;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d09} +N:Moravec;David;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d4a} +N:Musil;Ladislav;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d4b} +N:Navrátilová;Jitka;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d4c} +N:Nováková;Zdeňka;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d4d} +N:Novotný;Jakub;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d4e} +N:Pastorková;Veronika;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d4f} +N:Pašíková;Jarmila;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d50} +N:Pospíšil;Stanislav;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d51} +N:Procházková;Michaela;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d52} +N:Říha;Roman;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d53} +N:Růžičková;Ivana;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d54} +N:Soukupová;Monika;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d55} +N:Staňková;Tereza;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d56} +N:Svoboda;Ondřej;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d57} +N:Sýkora;Antonín;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d58} +N:Ševčíková;Božena;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d59} +N:Šimková;Zuzana;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d5a} +N:Šťastná;Vlasta;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d5b} +N:Štěpánek;Radek;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d5c} +N:Ťulpa;Jan;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d5d} +N:Tvaroh;Marek;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d5e} +N:Veselá;Libuše;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d5f} +N:Vaňková;Dagmar;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d60} +N:Vávrová;Dana;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d61} +N:Vlček;Daniel;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d55} +N:Zemanová;Marta;;; +FN:Marta Zemanová +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3ddd} +N:Sedláčková;Jiřina;;; +FN:Jiřina Sedláčková +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d56} +N:Doležal;Martin;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d57} +N:Dostál;Miroslav;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d58} +N:Fialová;Eva;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d59} +N:Kopecký;Milan;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d5a} +N:Němcová;Martina;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d56} +N:Doležal;Martin;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d57} +N:Dostál;Miroslav;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d58} +N:Fialová;Eva;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d59} +N:Kopecký;Milan;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d5a} +N:Němcová;Martina;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + diff --git a/test/vcardDAN.vcf b/test/vcardDAN.vcf new file mode 100644 index 0000000..808e634 --- /dev/null +++ b/test/vcardDAN.vcf @@ -0,0 +1,96 @@ +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8e} +N:Åstrøm;Niels;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8f} +N:Østermand;Gerda;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d90} +N:Ælleman;Oluf;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d91} +N:Sørensen;Ole;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d92} +N:Svendsen;Asker;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d93} +N:Sundstrøm;Søren;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d94} +N:Rasmussen;Simon;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d95} +N:Olsen;Børge;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d96} +N:Lundmand;Jørgen;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d97} +N:Jensen;Jesper;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d98} +N:Hansen;Jacob;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d99} +N:Aamand;Julie;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + diff --git a/test/vcardDEU.vcf b/test/vcardDEU.vcf new file mode 100644 index 0000000..58192d1 --- /dev/null +++ b/test/vcardDEU.vcf @@ -0,0 +1,161 @@ +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8f} +N:Müller;Göbel;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d90} +N:Schmidt;Goethe;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d91} +N:Schneider;Goldmann;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d92} +N:Fischer;Göthe;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d93} +N:Meyer;Götz;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d94} +N:Zinsmeister-Gütermann;Irmtraud;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d95} +N:Wassermann;Christoph;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d96} +N:Schwarze;Bettina;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d97} +N:Rößler;Julian;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d98} +N:Müllerschön;Christiane;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d99} +N:Kaiser;Karl;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9a} +N:Quadflieg;Florian;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9b} +N:Tegtmeier;Markus;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9c} +N:Böder;Anna;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9d} +N:Gösser;Georg;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9e} +N:Lüdermann;Juliane;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d00} +N:Malinowski;Tobias;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d01} +N:Oppenheimer;Margarete;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d02} +N:Droste-Müller;Maren;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d03} +N:Kistenfeger;Sebastian;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d04} +N:Eiermann;Käthe;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d05} +N:Friedrich;Paula;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d06} +N:Härtling;Wolfgang;;; +REV:2011-04-22T09:06:35 +END:VCARD + diff --git a/test/vcardELL.vcf b/test/vcardELL.vcf new file mode 100644 index 0000000..822a610 --- /dev/null +++ b/test/vcardELL.vcf @@ -0,0 +1,192 @@ +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8e} +N:Τσίπης;Θεόδωρος;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8f} +N:Νικολάου;Παναγιώτης;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d90} +N:Ψαράς;Νικόλαος;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d91} +N:Φαραζής;Εμμανουήλ;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d92} +N:Ωμάρ;Χαρίλαος;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d93} +N:Χρυσοχέρη;Ειρήνη;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d94} +N:Υάκινθου;Αθανάσιος;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d95} +N:Σπανός;Παντελής;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d96} +N:Ρόκου;Φωτηνή;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d97} +N:Πραμαντιώτη;Ευαγγελία;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d98} +N:Οικονομόπουλος;Σάββας;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d99} +N:Ξενοφώντα;Θεανώ;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9a} +N:Μαρκόπουλος;Αργυρώ;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9b} +N:Λεβογιάννης;Χρίστος;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9c} +N:Καλαμπάκας;Δημήτριος;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9d} +N:Ιωάννου;Γεώργιος;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9e} +N:Θεοδωρίδης;Αλέξανδρος;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d00} +N:Ηλιοπούλου;Αικατερίνη;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d01} +N:Ζαρναβελλής;Φαίδων;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d02} +N:Ευθημίου;Ομηρος;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d03} +N:Δημητρόπουλος;Βασίλειος;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d04} +N:Γεωργιάδης;Ηλίας;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d05} +N:Βαίος;Κωνσταντίνος;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d06} +N:Αρβανίτης;Σπύρος;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + diff --git a/test/vcardESP.vcf b/test/vcardESP.vcf new file mode 100644 index 0000000..8a1fe35 --- /dev/null +++ b/test/vcardESP.vcf @@ -0,0 +1,120 @@ +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8e} +N:Urroz Llorente;Juncal;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8f} +N:Urabayen Albizu;Elena;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d90} +N:Sudón Aguilar;Ramón;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d91} +N:Preciado Pascual;Mª Lourdes;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d92} +N:Martínez de Morentin García;Jorge Miguel;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d93} +N:Martínez Argüelles;Rocío;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d94} +N:Marqués Roncal;Jesús Vicente;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d95} +N:Jiménez Burgui;Ana Flor;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d96} +N:Hijosa Pardo;Alfonso;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d97} +N:Fajardo Griñán;Raúl;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d98} +N:Egiluz Gaubeka;Koldo;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d99} +N:Carmona López;Antonio;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9a} +N:Botello Fernández;Ana Isabel;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9b} +N:Basarte Lorente;Luis;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9c} +N:Aizcorbe Urroz;Mª Luisa;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + diff --git a/test/vcardFIN.vcf b/test/vcardFIN.vcf new file mode 100644 index 0000000..014ecd6 --- /dev/null +++ b/test/vcardFIN.vcf @@ -0,0 +1,105 @@ +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8e} +N:Männistö;Lauri;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8f} +N:Pääkkö;Jaakko;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d90} +N:Toivola;Päivi;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d91} +N:Lundström;Satu;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d92} +N:Leppälä;Anna-Riikka;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d93} +N:Lehtimäki;Hanna;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d94} +N:Väätäinen;Henri;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d95} +N:Lamminpää;Jukka-Pekka;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d96} +N:Töyräänvuori;Suvi;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d97} +N:Lepojärvi;Inkeri;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d98} +N:Latva-Löppönen;Sami;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d99} +N:Pölönen;Antti;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9a} +N:Hämeenlinna;Karita;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9b} +N:Vähätalo;Hestu;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9b} +N:Vähätalo;Hestu;;; +REV:2011-04-22T09:06:35 +END:VCARD + diff --git a/test/vcardFRA.vcf b/test/vcardFRA.vcf new file mode 100644 index 0000000..68ff6a9 --- /dev/null +++ b/test/vcardFRA.vcf @@ -0,0 +1,336 @@ +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8e} +N:UBERT;Ulysse;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8f} +N:ÛTÈGE;Marine;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d90} +N:ZOLA;Zoé;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d91} +N:YSAŸE;Yves;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d92} +N:QUEOURON;Quentin;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d93} +N:ŸLIAM;Martine;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d94} +N:VALÉRY;Vincent;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d95} +N:XIMENÈS;Xavier;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d96} +N:ORSONI;Olga;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d97} +N:RIBAINS (de);Georges;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d98} +N:ÙLLRICH;Sandra;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d99} +N:LOTI;Léon;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9a} +N:ÔME;Thomas;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9b} +N:WALDECK;Walter;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9c} +N:JARRY;Jules;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9d} +N:NIMIER;Noémie;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9e} +N:STAËL;Sylvie;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9f} +N:TEYSSANDIER;Théodore;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d00} +N:ÎLON;Ingrid;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d01} +N:KERDOMMAREC;Kévin;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d02} +N:ŒDIPE;Roland;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d03} +N:ROCHE;Rosalie;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d04} +N:ËBOLE;Antoine;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d05} +N:GRANDJEAN;Gérard;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d06} +N:ÏNOUIT;Jacques;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d07} +N:MARTIN;Maurice;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d08} +N:FAURE;François;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d09} +N:IMBERT;Isidore;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d0a} +N:LE ROUX;Yann;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d0b} +N:ÜBACH;Anne;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d0c} +N:Des LORMES;Jean;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d0d} +N:ÉRELL;Émile;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d0e} +N:ÈVRARD;Charles;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d0f} +N:HULOT;Héloïse;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d10} +N:ÂNON;Roger;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d11} +N:ÇALANGE;Renée;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d12} +N:DONNADIEU;Désirée;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d13} +N:ÊTABLE;Denis;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d14} +N:ARTAUD;Christophe;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d15} +N:BOYER;Bernard;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d16} +N:De LA VILLARDIÈRE;Gaston;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d17} +N:PANISSE;Pierre;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d18} +N:ANTHUS;Jean;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d19} +N:ÀVAS;Nicolas;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d1a} +N:CHAUMELIN;Coralie;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d1b} +N:ÆNÉE;Colas;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d1c} +N:ENJOLRAS;Edmond;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d1d} +N:ÁBRÁNYI;Sylvie;;; +REV:2011-04-22T09:06:35 +END:VCARD + diff --git a/test/vcardHUN.vcf b/test/vcardHUN.vcf new file mode 100644 index 0000000..934e6d9 --- /dev/null +++ b/test/vcardHUN.vcf @@ -0,0 +1,70 @@ +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8e} +N:Becht;Gábor;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8f} +N:Cyian;András;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d90} +N:Szalay;Baba;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d91} +N:Sándor;Béla;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d92} +N:Csanyi;András;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d93} +N:Ardai;Attila;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d94} +N:Nemeskéry;Balázs;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d95} +N:Cigány;Jószef;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d96} +N:Csányi;Izabella;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d96} +N:Csányi;Izabella;;; +REV:2011-04-22T09:06:35 +END:VCARD + diff --git a/test/vcardITA.vcf b/test/vcardITA.vcf new file mode 100644 index 0000000..cc56cd7 --- /dev/null +++ b/test/vcardITA.vcf @@ -0,0 +1,105 @@ +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8f} +N:Maria Luisa;Santanchè;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d90} +N:Amilcare;D'Onofrio;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d91} +N:Milù;Vincenzi;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d92} +N:Giovanni;Arleo;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d93} +N:Maria;Dona;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d94} +N:Ginevra;Lante della Rovere;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d95} +N:Gian Marco;Verdone;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d96} +N:Vincenzo;Abate;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d97} +N:Giuseppe;Macrì;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d98} +N:Oronzo;Donà;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d99} +N:Tarcisio;Abate;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9a} +N:Salvatore;Bombardini;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9b} +N:Paolo;De Sica;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9c} +N:Anna;Abete;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9d} +N:Raffaella;Donofrio;;; +REV:2011-04-22T09:06:35 +END:VCARD + diff --git a/test/vcardJPN.vcf b/test/vcardJPN.vcf new file mode 100644 index 0000000..8afb7a1 --- /dev/null +++ b/test/vcardJPN.vcf @@ -0,0 +1,132 @@ +BEGIN:VCARD +VERSION:3.0 +UID:{3b7dba5f-92c6-4c20-a0c8-c624b49379cd} +N:阿南;惟正;;; +NICKNAME:あなべ\nけんじ +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T08:58:03 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{3b7dba5f-92c6-4c20-a0c8-c624b49379ce} +N:インテリ;ジェント;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T08:58:03 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{3b7dba5f-92c6-4c20-a0c8-c624b49379cf} +N:イン;テル;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T08:58:03 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{3b7dba5f-92c6-4c20-a0c8-c624b49379d0} +N:コンピューター;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T08:58:03 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{3b7dba5f-92c6-4c20-a0c8-c624b49379d2} +N:横山;宏章;;; +NICKNAME:よこやま\nあきひろ +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T08:58:03 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{3b7dba5f-92c6-4c20-a0c8-c624b49379d3} +N:久木;尚志;;; +NICKNAME:ひさき\nひさぎ +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T08:58:03 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{3b7dba5f-92c6-4c20-a0c8-c624b49379d4} +N:君原;健二;;; +NICKNAME:くんばる\nけんじ +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T08:58:03 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{3b7dba5f-92c6-4c20-a0c8-c624b49379d5} +N:国武;豊喜;;; +NICKNAME:くにたけ\nとよき +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T08:58:03 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{3b7dba5f-92c6-4c20-a0c8-c624b49379d6} +N:佐木;隆三;;; +NICKNAME:さき\nりゅうぞう +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T08:58:03 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{3b7dba5f-92c6-4c20-a0c8-c624b49379d7} +N:山下;アキラ;;; +NICKNAME:やました +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T08:58:03 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{3b7dba5f-92c6-4c20-a0c8-c624b49379d8} +N:山下;さくら;;; +NICKNAME:やました +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T08:58:03 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{3b7dba5f-92c6-4c20-a0c8-c624b49379d9} +N:山下;ゆかり;;; +NICKNAME:やました +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T08:58:03 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{3b7dba5f-92c6-4c20-a0c8-c624b49379e0} +N:山下;大介;;; +NICKNAME:やました +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T08:58:03 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{3b7dba5f-92c6-4c20-a0c8-c624b49379e1} +N:山田;花子;;; +NICKNAME:やまだ\nはなこ +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T08:58:03 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{3b7dba5f-92c6-4c20-a0c8-c624b49379e2} +N:中道;寿一;;; +NICKNAME:なかみち\nひさかず +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T08:58:03 +END:VCARD + diff --git a/test/vcardKOR.vcf b/test/vcardKOR.vcf new file mode 100644 index 0000000..e5734e8 --- /dev/null +++ b/test/vcardKOR.vcf @@ -0,0 +1,112 @@ +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8e} +N:권;민중;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8f} +N:김;주영;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d90} +N:김;태희;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d91} +N:김;현철;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d92} +N:나;정원;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d94} +N:내;츄럴;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d95} +N:마;동하;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d96} +N:박;아라;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d97} +N:서;현우;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d98} +N:유;안나;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d99} +N:산;이;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9a} +N:차;해련;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9b} +N:정;우성;;; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9c} +N:노래를 찾는 사람들 외; +CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] +REV:2011-04-22T09:06:35 +END:VCARD + diff --git a/test/vcardNLD.vcf b/test/vcardNLD.vcf new file mode 100644 index 0000000..9559a1a --- /dev/null +++ b/test/vcardNLD.vcf @@ -0,0 +1,133 @@ +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8f} +N:van 't Schip van Teissen;Saskia;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d90} +N:Ter Schiphorst;Gerard;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d91} +N:Schüller;Anneke;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d92} +N:van Schip;Jon;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d93} +N:van 't Schip-van Tijssen;Anita Jolanda;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d94} +N:Terhorst van de Laan;Renée Adele;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d95} +N:ter Hosrt van de Laan;Renée Adele;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d96} +N:de Jong;Annemarie;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d97} +N:Schiphorst;Alexander-Jan;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d98} +N:van der A;Robert Jan;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d99} +N:Schuller;Karel-Jan;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9a} +N:van der Schip;Gerrit;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9b} +N:van Dijk;Jan-Jorgen;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9c} +N:IJselmuiden;Marco;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9d} +N:'s-Gravemade Oudejans;Corrie;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9e} +N:in Traa;Mieke;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9f} +N:à Cohen;Eveline;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d00} +N:van 't Schip;Huub;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d01} +N:In;Jacqueline;;; +REV:2011-04-22T09:06:35 +END:VCARD + diff --git a/test/vcardNOR.vcf b/test/vcardNOR.vcf new file mode 100644 index 0000000..6e9e523 --- /dev/null +++ b/test/vcardNOR.vcf @@ -0,0 +1,126 @@ +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8f} +N:Sæter;Frida;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d90} +N:Wyller Hermansen;Sjur;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d91} +N:Ås;Øystein;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d92} +N:Johannesen;Siv;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d93} +N:Tufte;Sigbjørn;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d94} +N:Østerdal;Kari;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d95} +N:Førde;Pia;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d96} +N:Vik;Gun;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d97} +N:Svensen;Sigurd;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d98} +N:Hansen;Åse;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d99} +N:Håkonson;Håkon;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9a} +N:Ødegård;Aslaug;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9b} +N:Syvertsen;Arild;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9c} +N:Hårteigen;Osmund;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9d} +N:Aarø;Hanna;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9e} +N:Brodersen;Ingebret;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9f} +N:Bredesen;Ben;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d00} +N:Halvorsen;Petter;;; +REV:2011-04-22T09:06:35 +END:VCARD + diff --git a/test/vcardPLK.vcf b/test/vcardPLK.vcf new file mode 100644 index 0000000..d9b27ee --- /dev/null +++ b/test/vcardPLK.vcf @@ -0,0 +1,98 @@ +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8f} +N:Motowska;Irena;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d90} +N:Szubert;Krzysztof;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d91} +N:Czosnyka;Justyna;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d92} +N:Godziuk;Piotrek;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d93} +N:Kowalski;Janusz;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d94} +N:Łącki;Tomasz;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d95} +N:Szewczyk;Magdalena;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d96} +N:Teredowski;Rafał;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d97} +N:Dzielski;Dorota;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d98} +N:Olszyńska;Alicja;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d99} +N:Kleszcz;Sylwia;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9a} +N:Lewandowski;Jacek;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9ab} +N:Brzęczyszczykiewicz;Grzegorz;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9ac} +N:Gostański;Agnieszka;;; +REV:2011-04-22T09:06:35 +END:VCARD + diff --git a/test/vcardPTB.vcf b/test/vcardPTB.vcf new file mode 100644 index 0000000..8bce9d3 --- /dev/null +++ b/test/vcardPTB.vcf @@ -0,0 +1,42 @@ +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8f} +N:Gonçalves;Pedro Luis;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d90} +N:dos Oliveira Macedo;João;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d91} +N:Sabará;Luis;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d92} +N:Ribeiro;José Henrique;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d93} +N:Aparecida;Maria;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d94} +N:de Oliveira Macedo;João;;; +REV:2011-04-22T09:06:35 +END:VCARD + diff --git a/test/vcardPTG.vcf b/test/vcardPTG.vcf new file mode 100644 index 0000000..8bce9d3 --- /dev/null +++ b/test/vcardPTG.vcf @@ -0,0 +1,42 @@ +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8f} +N:Gonçalves;Pedro Luis;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d90} +N:dos Oliveira Macedo;João;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d91} +N:Sabará;Luis;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d92} +N:Ribeiro;José Henrique;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d93} +N:Aparecida;Maria;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d94} +N:de Oliveira Macedo;João;;; +REV:2011-04-22T09:06:35 +END:VCARD + diff --git a/test/vcardRUS.vcf b/test/vcardRUS.vcf new file mode 100644 index 0000000..b833e70 --- /dev/null +++ b/test/vcardRUS.vcf @@ -0,0 +1,105 @@ +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8f} +N:Лукин;Спиридон;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d90} +N:Петров;Степан;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d91} +N:Абакумов;Мирон;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d92} +N:Юрин;Эрнест;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d93} +N:Зотов;Эммануил;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d94} +N:Достоевский;Эраст;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d95} +N:Хрущёв;Амос;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d96} +N:Апраксин;Любомир;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d97} +N:Сахаров;Эдуард;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d98} +N:Метёлкин;Амвросий;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d99} +N:Силантьев;Эмиль;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9a} +N:Апраксин;Любим;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9b} +N:Максимов;Станислав;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9c} +N:Фролов;Ананий;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9d} +N:Гагарин;Станимир;;; +REV:2011-04-22T09:06:35 +END:VCARD + diff --git a/test/vcardSVE.vcf b/test/vcardSVE.vcf new file mode 100644 index 0000000..bf285ae --- /dev/null +++ b/test/vcardSVE.vcf @@ -0,0 +1,133 @@ +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8f} +N:Finnbogadóttir;Vigdís;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d90} +N:Höök;Tage;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d91} +N:Öhvelius;Anna-Lena;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d92} +N:Umensjö-Bäckström;Jonna;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d93} +N:von Sydow;Max;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d94} +N:Ygdén;Marlén;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d95} +N:Umensjö-Böckström;Jonna;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d96} +N:Armén;Tilde;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d97} +N:Hjälmråde;Per-Åke;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d98} +N:Stjärnbåga;Ingvar;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d99} +N:Umensjö-Backström;Jonna;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9a} +N:Jönsson;Jenny;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9b} +N:Jönsson Johansson;Jenny;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9c} +N:af Ugglas;Caroline;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9d} +N:af Ekström;Fia-Lisa;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9e} +N:Jägerhorn af Spurila;Anna;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9f} +N:Jortzberg;Martina;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d00} +N:Afzelius;Björn;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d01} +N:Gatugård;Elis;;; +REV:2011-04-22T09:06:35 +END:VCARD + diff --git a/test/vcardTRK.vcf b/test/vcardTRK.vcf new file mode 100644 index 0000000..132f7ba --- /dev/null +++ b/test/vcardTRK.vcf @@ -0,0 +1,196 @@ +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8f} +N:Öntürk;Özge;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d90} +N:Aktaş;Kübra Çiçek;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d91} +N:Şen;Veysel Karani;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d92} +N:Çakar;Tuna;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d93} +N:Özışık;Yağmur;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d94} +N:Ünlüönen;Süha;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d95} +N:İstanbullu;Hilal Yıldız;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d96} +N:Şahin;Çiğdem;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d97} +N:Kayıkçı;Ümmühan;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d98} +N:Vanlıoğlu;Rıfat;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d99} +N:Dündar;Uğur;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9a} +N:İsmigüzel;Münevver;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9b} +N:Arabacı;Şinasi;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9c} +N:Sarıkaya;Büşra Nur;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9d} +N:Özişçioğlu;Pınar;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9e} +N:Osmanoğlu;Jale;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9f} +N:Kaplan;Orçun;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9f} +N:Güneş;Fatih;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d00} +N:Fıçıcı;İsmail Hakkı;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d01} +N:İstiklal;Ceyhun;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d02} +N:Kurtuluş;Gülcan;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d03} +N:Yüzbaşıoğlu;Nilgün;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d04} +N:Malçek;Levent;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d05} +N:Hakça;Alçin;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d06} +N:Dalgıç;Deniz Ece;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d07} +N:Erdeniz;Elçin;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d08} +N:Büyükçe;Işıl;;; +REV:2011-04-22T09:06:35 +END:VCARD + +BEGIN:VCARD +VERSION:3.0 +UID:{5292511c-3f05-45f8-bbb1-9942f36b3d09} +N:Akıncı;Zülfikar;;; +REV:2011-04-22T09:06:35 +END:VCARD + From 25b93a74c3ebe25e09531220c7add53d0e99a4be Mon Sep 17 00:00:00 2001 From: Timo Hannukkala Date: Mon, 5 Aug 2013 07:04:14 +0300 Subject: [PATCH 02/18] Company Name Add/Edit/View added --- src/qml/ContactCardContentWidget.qml | 9 +++++++++ src/qml/ContactEditorSheet.qml | 15 +++++++++++++-- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/qml/ContactCardContentWidget.qml b/src/qml/ContactCardContentWidget.qml index 6884ce5..7faadcd 100644 --- a/src/qml/ContactCardContentWidget.qml +++ b/src/qml/ContactCardContentWidget.qml @@ -60,11 +60,20 @@ Flickable { } Label { + id: personNameLabel anchors.verticalCenter: avatar.verticalCenter anchors.left: avatar.right anchors.leftMargin: UiConstants.DefaultMargin text: contact.displayLabel } + + Label { + anchors.top: personNameLabel.bottom; + anchors.verticalCenter: avatar.verticalCenter + anchors.left: avatar.right + anchors.leftMargin: UiConstants.DefaultMargin + text: contact.companyName + } } SelectionDialog { diff --git a/src/qml/ContactEditorSheet.qml b/src/qml/ContactEditorSheet.qml index 16d4272..d687bf6 100644 --- a/src/qml/ContactEditorSheet.qml +++ b/src/qml/ContactEditorSheet.qml @@ -41,7 +41,7 @@ Sheet { acceptButtonText: qsTr("Save") rejectButtonText: qsTr("Cancel") - acceptButtonEnabled: data_first.edited || data_last.edited || + acceptButtonEnabled: data_first.edited || data_last.edited || data_company.edited || data_avatar.edited || phoneRepeater.edited || emailRepeater.edited @@ -58,6 +58,7 @@ Sheet { onContactChanged: { data_first.text = contact.firstName data_last.text = contact.lastName + data_company.text = contact.companyName data_avatar.contact = contact if (contact.avatarPath != "image://theme/icon-m-telephony-contact-avatar" ) data_avatar.originalSource = "image://nemothumbnail/" + contact.avatarPath @@ -114,10 +115,19 @@ Sheet { right: parent.right; left: data_first.left } } + TextField { + id: data_company + placeholderText: qsTr("Company") + property bool edited: text != contact.companyName + anchors { top: data_last.bottom; + topMargin: UiConstants.DefaultMargin; + right: parent.right; left: data_last.left + } + } Column { id: phones - anchors.top: data_last.bottom + anchors.top: data_company.bottom anchors.topMargin: UiConstants.DefaultMargin anchors.left: parent.left anchors.right: parent.right @@ -154,6 +164,7 @@ Sheet { function saveContact() { contact.firstName = data_first.text contact.lastName = data_last.text + contact.companyName = data_company.text contact.avatarPath = data_avatar.source contact.phoneNumbers = phoneRepeater.modelData() contact.emailAddresses = emailRepeater.modelData() From c58f31fe8054fc3bfe9cb4ff302f65ba925d9c4d Mon Sep 17 00:00:00 2001 From: Timo Hannukkala Date: Wed, 7 Aug 2013 13:18:18 +0300 Subject: [PATCH 03/18] contacts supports now saving, viewing, and editing multiple addresses --- src/main.cpp | 2 +- src/qml/ContactCardContentWidget.qml | 20 ++ src/qml/ContactCardPage.qml | 14 +- src/qml/ContactEditorSheet.qml | 80 +++++++- src/qml/ContactListPage.qml | 4 + src/qml/EditAddress.qml | 269 +++++++++++++++++++++++++++ src/qml/MessagesInterface.qml | 1 + src/qml/ViewAddress.qml | 120 ++++++++++++ src/res.qrc | 2 + 9 files changed, 506 insertions(+), 6 deletions(-) create mode 100644 src/qml/EditAddress.qml create mode 100644 src/qml/ViewAddress.qml diff --git a/src/main.cpp b/src/main.cpp index 415effe..fd3350e 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -43,7 +43,7 @@ #ifdef HAS_BOOSTER Q_DECL_EXPORT #endif -int main(int argc, char **argv) +Q_DECL_EXPORT int main(int argc, char **argv) { QApplication *application; QQuickView *view; diff --git a/src/qml/ContactCardContentWidget.qml b/src/qml/ContactCardContentWidget.qml index 7faadcd..2097d6f 100644 --- a/src/qml/ContactCardContentWidget.qml +++ b/src/qml/ContactCardContentWidget.qml @@ -44,6 +44,11 @@ Flickable { property Person contact property VoiceCallManager callManager + + function newContact() + { + addressRepeater.setModelData(contact.addressesTypeList, contact.addresses) + } Item { id: header @@ -186,5 +191,20 @@ Flickable { selectionDialog.open() } } + + Column { + anchors.top: mailButton.bottom + anchors.topMargin: UiConstants.DefaultMargin + anchors.left: parent.left + anchors.right: parent.right + spacing: UiConstants.DefaultMargin + anchors.leftMargin: 20 + + ViewAddress { + id: addressRepeater + anchors.left: parent.left + anchors.right: parent.right + } + } } diff --git a/src/qml/ContactCardPage.qml b/src/qml/ContactCardPage.qml index 018b185..4b06459 100644 --- a/src/qml/ContactCardPage.qml +++ b/src/qml/ContactCardPage.qml @@ -48,7 +48,19 @@ Page { pageStack.pop() } } - + + onContactChanged: { + detailViewContact.newContact() + } + + function contactChange() + { + if (detailViewPage.visible) + { + detailViewContact.newContact() + } + } + ContactCardContentWidget { id: detailViewContact anchors.fill: parent diff --git a/src/qml/ContactEditorSheet.qml b/src/qml/ContactEditorSheet.qml index d687bf6..1a1f357 100644 --- a/src/qml/ContactEditorSheet.qml +++ b/src/qml/ContactEditorSheet.qml @@ -41,9 +41,10 @@ Sheet { acceptButtonText: qsTr("Save") rejectButtonText: qsTr("Cancel") - acceptButtonEnabled: data_first.edited || data_last.edited || data_company.edited || - data_avatar.edited || phoneRepeater.edited || - emailRepeater.edited + acceptButtonEnabled: data_first.edited || data_last.edited || + data_company.edited || + data_avatar.edited || phoneRepeater.edited || + emailRepeater.edited || addressRepeater.edited property Person contact @@ -67,6 +68,19 @@ Sheet { phoneRepeater.setModelData(contact.phoneNumbers) emailRepeater.setModelData(contact.emailAddresses) + addressRepeater.setModelData(contact.addressesTypeList, contact.addresses) + } + + SelectionDialog { + id: selectionDialog + titleText: qsTr("Select work, home or other address") + + onSelectedIndexChanged: { + if (selectedIndex != -1) + { + addressRepeater.addNewData(selectionDialog.model.get(selectedIndex).name); + } + } } content: Flickable { @@ -103,7 +117,7 @@ Sheet { TextField { id: data_first placeholderText: qsTr("First name") - property bool edited: text != contact.firstName + property bool edited: data_first.text != contact.firstName anchors { top: avatarRect.top; right: parent.right; left: avatarRect.right; leftMargin: UiConstants.DefaultMargin } } TextField { @@ -142,6 +156,7 @@ Sheet { } Column { + id: emails anchors.top: phones.bottom anchors.topMargin: UiConstants.DefaultMargin anchors.left: parent.left @@ -155,6 +170,58 @@ Sheet { anchors.right: parent.right } } + + Button { + id: buttonAddAddress + anchors.top: emails.bottom + anchors.topMargin: UiConstants.DefaultMargin + anchors.left: parent.left + anchors.right: parent.right + height: 40 + width: 200 + visible: true + text: "Add address" + onClicked: { + selectionDialog.model.clear(); + var iCount = 0; + + if (!addressRepeater.isAddressTypeExists("Work")) + { + selectionDialog.model.append( { name: "Work" } ); + iCount = 1; + } + if (!addressRepeater.isAddressTypeExists("Home")) + { + selectionDialog.model.append( { name: "Home" } ); + iCount = 1; + } + if (!addressRepeater.isAddressTypeExists("Other")) + { + selectionDialog.model.append( { name: "Other" } ); + iCount = 1; + } + + if (iCount != 0) + { + selectionDialog.selectedIndex = -1; + selectionDialog.open() + } + } + } + + Column { + anchors.top: buttonAddAddress.bottom + anchors.topMargin: UiConstants.DefaultMargin + anchors.left: parent.left + anchors.right: parent.right + spacing: UiConstants.DefaultMargin + + EditAddress { + id: addressRepeater + anchors.left: parent.left + anchors.right: parent.right + } + } } } @@ -168,6 +235,8 @@ Sheet { contact.avatarPath = data_avatar.source contact.phoneNumbers = phoneRepeater.modelData() contact.emailAddresses = emailRepeater.modelData() + contact.addresses = addressRepeater.modelData() + contact.addressesTypeList = addressRepeater.modelDataTypes() // TODO: this isn't asynchronous app.contactListModel.savePerson(contact) @@ -176,7 +245,10 @@ Sheet { if (contact.dirty) console.log("[saveContact] Unable to create new contact due to missing info"); else + { console.log("[saveContact] Saved contact") + pageStack.currentPage.contactChange(); + } } } diff --git a/src/qml/ContactListPage.qml b/src/qml/ContactListPage.qml index 91350d9..a30bb3e 100644 --- a/src/qml/ContactListPage.qml +++ b/src/qml/ContactListPage.qml @@ -52,6 +52,10 @@ Page { app.contactListModel.search(searchbox.searchText); } } + + function contactChange() + { + } Component { id: contactComponent diff --git a/src/qml/EditAddress.qml b/src/qml/EditAddress.qml new file mode 100644 index 0000000..096df19 --- /dev/null +++ b/src/qml/EditAddress.qml @@ -0,0 +1,269 @@ +/* + * Copyright (C) 2011-2012 Robin Burchell + * + * You may use this file under the terms of the BSD license as follows: + * + * "Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Nemo Mobile nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + */ + +import QtQuick 2.0 +import com.nokia.meego 2.0 +import org.nemomobile.contacts 1.0 + +Repeater { + id: root + property string placeholderText + property bool edited : false + property variant originalData + model: ListModel { + } + property bool isSetup: false + + function addNewData(nText) + { + model.append({ data: nText, data_street: "", data_city: "", data_state: "", data_postalcode: "", data_country: "", data_postofficebox: "" }) + edited = true + } + + function isAddressTypeExists(nType) + { + for (var i=0;i + * + * You may use this file under the terms of the BSD license as follows: + * + * "Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Nemo Mobile nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + */ + +import QtQuick 2.0 +import com.nokia.meego 2.0 +import org.nemomobile.contacts 1.0 + +Repeater { + id: root + property variant originalData + model: ListModel { + } + + function setModelData(modelDataType, modelData) { + model.clear() + + for (var i = 0; i < modelData.length; ++i) { + var words = modelData[i].split("\n") + model.append({ data: modelDataType[i], data_street: words[0], data_city: words[1], data_state: words[2], data_postalcode: words[3], data_country: words[4], data_postofficebox: words[5] }) + } + } + + + + Item { + id: rootItem + anchors.left: parent.left + anchors.right: parent.right + height: 320 + + Label { + id: addressType + text: model.data + font.family: "Helvetica" + font.pointSize: 20 + color: "black" + } + + Label { + id: data_street + text: model.data_street + anchors { top: addressType.bottom; + } + } + + Label { + id: data_city + text: model.data_city + anchors { top: data_street.bottom; + topMargin: data_street.topMargin; + right: data_street.right; left: data_street.left + } + } + + Label { + id: data_state + text: model.data_state + anchors { top: data_city.bottom; + topMargin: data_street.topMargin; + right: data_street.right; left: data_street.left + } + } + + Label { + id: data_postalcode + text: model.data_postalcode + anchors { top: data_state.bottom; + topMargin: data_street.topMargin; + right: data_street.right; left: data_street.left + } + } + + Label { + id: data_country + text: model.data_country + anchors { top: data_postalcode.bottom; + topMargin: data_street.topMargin; + right: data_street.right; left: data_street.left + } + } + + Label { + id: data_postofficebox + text: model.data_postofficebox + anchors { top: data_country.bottom; + topMargin: data_street.topMargin; + right: data_street.right; left: data_street.left + } + } + } +} + diff --git a/src/res.qrc b/src/res.qrc index 6dfa6fd..bec4690 100644 --- a/src/res.qrc +++ b/src/res.qrc @@ -5,6 +5,8 @@ qml/ContactCardPage.qml qml/ContactEditorSheet.qml qml/ContactImportSheet.qml + qml/EditAddress.qml + qml/ViewAddress.qml qml/EditableList.qml qml/ContactListPage.qml qml/DeleteContactDialog.qml From 0861eaa19cf081763797d93dffef0f1ee53473f8 Mon Sep 17 00:00:00 2001 From: Timo Hannukkala Date: Fri, 9 Aug 2013 06:53:36 +0300 Subject: [PATCH 04/18] qmlcontacts support now contact list with email and phone number contacts and deleting contact goes back to contact list --- src/qml/CheckBox.qml | 41 ++++++++++ src/qml/ContactCardPage.qml | 5 +- src/qml/ContactListPage.qml | 7 ++ src/qml/SettingsPage.qml | 149 ++++++++++++++++++++++++++++++++++++ src/qml/main.qml | 1 + src/res.qrc | 2 + 6 files changed, 204 insertions(+), 1 deletion(-) create mode 100644 src/qml/CheckBox.qml create mode 100644 src/qml/SettingsPage.qml diff --git a/src/qml/CheckBox.qml b/src/qml/CheckBox.qml new file mode 100644 index 0000000..d17f18f --- /dev/null +++ b/src/qml/CheckBox.qml @@ -0,0 +1,41 @@ +import QtQuick 2.0 + +FocusScope { + id: checkbox + + Accessible.role: Accessible.CheckBox + + property string text: "CheckBox" + property bool checked: false + + width: 100 + height: 30 + + Row { + spacing: 2 + + Rectangle { + width: 12 + height: 12 + border.width: checkbox.focus ? 2 : 1 + border.color: "black" + + Text { + id: checkboxText + text: checkbox.checked ? "x" : "" + anchors.centerIn: parent + } + } + + Text { + text: checkbox.text + } + } + + MouseArea { + anchors.fill: parent + //onClicked: checkbox.checked = !checkbox.checked + } + + // Keys.onSpacePressed: checkbox.checked = !checkbox.checked +} \ No newline at end of file diff --git a/src/qml/ContactCardPage.qml b/src/qml/ContactCardPage.qml index 4b06459..006a23e 100644 --- a/src/qml/ContactCardPage.qml +++ b/src/qml/ContactCardPage.qml @@ -97,7 +97,10 @@ Page { MenuLayout { MenuItem { text: "Delete"; - onClicked: pageStack.openDialog(Qt.resolvedUrl("DeleteContactDialog.qml"), { contact: contact }) + onClicked: { + pageStack.openDialog(Qt.resolvedUrl("DeleteContactDialog.qml"), { contact: contact }) + pageStack.pop() + } } } } diff --git a/src/qml/ContactListPage.qml b/src/qml/ContactListPage.qml index a30bb3e..13b0bcc 100644 --- a/src/qml/ContactListPage.qml +++ b/src/qml/ContactListPage.qml @@ -113,6 +113,13 @@ Page { exportCompleteDialog.open() } } + + MenuItem { + text: "Settings" + onClicked: { + pageStack.push(Qt.resolvedUrl("SettingsPage.qml")); + } + } } } diff --git a/src/qml/SettingsPage.qml b/src/qml/SettingsPage.qml new file mode 100644 index 0000000..01e52de --- /dev/null +++ b/src/qml/SettingsPage.qml @@ -0,0 +1,149 @@ +/* + * Copyright (C) 2011-2012 Timo Hannukkala + * + * You may use this file under the terms of the BSD license as follows: + * + * "Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Nemo Mobile nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + */ + +import QtQuick 2.0 +import com.nokia.meego 2.0 +//import org.nemomobile.qmlcontacts 1.0 +//import org.nemomobile.contacts 1.0 +//import org.nemomobile.voicecall 1.0 + +Page { + id: settingsPage + + PageHeader { + id: header + text: qsTr("Settings") + color: "#007FFF" + } + + Label { + id: searchbox + text: "Show contacts:" + anchors.top: header.bottom + width: parent.width + anchors.leftMargin: 20 + } + + CheckBox { + id: showAllContacts + text: "Show All contacts" + anchors.top: searchbox.bottom + width: parent.width + anchors.leftMargin: 20 + checked: true + onClicked: { + showAllContacts.checked = true + showFavoriteContacts.checked = false + showPhoneNumberContacts.checked = false + showEmailContacts.checked = false + app.contactListModel.setFilterType(1); + } + } + + CheckBox { + id: showFavoriteContacts + text: "Show favorite contacts" + anchors.top: showAllContacts.bottom + width: parent.width + anchors.leftMargin: 20 + onClicked: { + showAllContacts.checked = false + showFavoriteContacts.checked = true + showPhoneNumberContacts.checked = false + showEmailContacts.checked = false + app.contactListModel.setFilterType(2); + } + } + + CheckBox { + id: showPhoneNumberContacts + text: "Show contacts with phone number" + anchors.top: showFavoriteContacts.bottom + width: parent.width + anchors.leftMargin: 20 + onClicked: { + showAllContacts.checked = false + showFavoriteContacts.checked = false + showPhoneNumberContacts.checked = true + showEmailContacts.checked = false + app.contactListModel.setFilterType(5); + } + } + + CheckBox { + id: showEmailContacts + text: "Show contacts with email address" + anchors.top: showPhoneNumberContacts.bottom + width: parent.width + anchors.leftMargin: 20 + onClicked: { + showAllContacts.checked = false + showFavoriteContacts.checked = false + showPhoneNumberContacts.checked = false + showEmailContacts.checked = true + app.contactListModel.setFilterType(4); + } + + } + + + Component.onCompleted: { + if (app.contactListModel.filterType == 2) + { + showAllContacts.checked = false + showFavoriteContacts.checked = true + showPhoneNumberContacts.checked = false + showEmailContacts.checked = false + } + else if (app.contactListModel.filterType == 4) + { + showAllContacts.checked = false + showFavoriteContacts.checked = false + showPhoneNumberContacts.checked = false + showEmailContacts.checked = true + } + else if (app.contactListModel.filterType == 5) + { + showAllContacts.checked = false + showFavoriteContacts.checked = false + showPhoneNumberContacts.checked = true + showEmailContacts.checked = false + } + } + + tools: ToolBarLayout { + ToolIcon { + iconId: "icon-m-toolbar-back" + onClicked: pageStack.pop() + } + } +} + diff --git a/src/qml/main.qml b/src/qml/main.qml index 1c8fe17..0504d23 100644 --- a/src/qml/main.qml +++ b/src/qml/main.qml @@ -59,6 +59,7 @@ PageStackWindow { Component.onCompleted: { // importContacts("../test/example.vcf") setDisplayLabelOrder(false); + setFilterType(1); } } diff --git a/src/res.qrc b/src/res.qrc index bec4690..dc9ffd6 100644 --- a/src/res.qrc +++ b/src/res.qrc @@ -12,6 +12,8 @@ qml/DeleteContactDialog.qml qml/main.qml qml/SearchBox.qml + qml/CheckBox.qml + qml/SettingsPage.qml qml/MessagesInterface.qml From 57cd8327dcd1ca95fc5b53015afb3bddae76ee80 Mon Sep 17 00:00:00 2001 From: Timo Hannukkala Date: Fri, 9 Aug 2013 10:50:55 +0300 Subject: [PATCH 05/18] qmlcontacts can be opened by nemo user --- src/qmlcontacts.desktop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qmlcontacts.desktop b/src/qmlcontacts.desktop index fb8cb7e..88ce9a4 100644 --- a/src/qmlcontacts.desktop +++ b/src/qmlcontacts.desktop @@ -2,5 +2,5 @@ Type=Application Name=People Icon=icons-Applications-people -Exec=invoker -s --type=qtcomponents /usr/bin/qmlcontacts -fullscreen +Exec=invoker -s --type=e /usr/bin/qmlcontacts -fullscreen Comment=Nemo People Application From ebf798b722c224e3c75c47de8916892289390958 Mon Sep 17 00:00:00 2001 From: Timo Hannukkala Date: Mon, 12 Aug 2013 13:39:08 +0300 Subject: [PATCH 06/18] deleting user -> cancel takes now back to user page --- src/qml/ContactCardPage.qml | 1 - src/qml/DeleteContactDialog.qml | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qml/ContactCardPage.qml b/src/qml/ContactCardPage.qml index 006a23e..a357d48 100644 --- a/src/qml/ContactCardPage.qml +++ b/src/qml/ContactCardPage.qml @@ -99,7 +99,6 @@ Page { text: "Delete"; onClicked: { pageStack.openDialog(Qt.resolvedUrl("DeleteContactDialog.qml"), { contact: contact }) - pageStack.pop() } } } diff --git a/src/qml/DeleteContactDialog.qml b/src/qml/DeleteContactDialog.qml index 9f82b51..86145d3 100644 --- a/src/qml/DeleteContactDialog.qml +++ b/src/qml/DeleteContactDialog.qml @@ -43,5 +43,6 @@ QueryDialog { onAccepted: { app.contactListModel.removePerson(contact) + pageStack.pop() } } From 54add69d618df5a32cb967ec82caa5719b3739e7 Mon Sep 17 00:00:00 2001 From: Timo Hannukkala Date: Wed, 14 Aug 2013 08:48:56 +0300 Subject: [PATCH 07/18] booster fixes and compile fixes --- qmlcontacts-qt5.spec | 76 +++++++++++++++++++++++++++++++++++++++++ qmlcontacts-qt5.yaml | 42 +++++++++++++++++++++++ src/main.cpp | 9 ++--- src/qml/CheckBox.qml | 2 +- src/qmlcontacts.desktop | 2 +- src/src.pro | 4 +-- 6 files changed, 127 insertions(+), 8 deletions(-) create mode 100644 qmlcontacts-qt5.spec create mode 100644 qmlcontacts-qt5.yaml diff --git a/qmlcontacts-qt5.spec b/qmlcontacts-qt5.spec new file mode 100644 index 0000000..b09a50c --- /dev/null +++ b/qmlcontacts-qt5.spec @@ -0,0 +1,76 @@ +# +# Do NOT Edit the Auto-generated Part! +# Generated by: spectacle version 0.26 +# + +Name: qmlcontacts + +# >> macros +# << macros + +Summary: Contacts application for nemo +Version: 0.4.2 +Release: 1 +Group: Applications/System +License: GPLv2 +URL: https://github.com/nemomobile/qmlcontacts +Source0: %{name}-%{version}.tar.gz +Source100: qmlcontacts-qt5.yaml +Requires: qt-components-qt5 >= 1.4.8 +Requires: mapplauncherd-booster-qtcomponents-qt5 +Requires: nemo-qml-plugin-thumbnailer-qt5 +Requires: nemo-qml-plugin-contacts-qt5 +Requires: nemo-qml-plugin-folderlistmodel +Requires: qmlgallery +Requires: qmlfilemuncher +Requires: contactsd +Requires: nemo-qml-plugin-dbus-qt5 +BuildRequires: pkgconfig(Qt5Core) +BuildRequires: pkgconfig(Qt5Contacts) +BuildRequires: pkgconfig(qdeclarative5-boostable) +# BuildRequires: desktop-file-utils +Provides: meego-handset-people > 0.2.32 +Provides: meego-handset-people-branding-upstream > 0.2.32 +Obsoletes: meego-handset-people <= 0.2.32 +Obsoletes: meego-handset-people-branding-upstream <= 0.2.32 + +%description +Contacts application using Qt Quick for Nemo Mobile. + +%prep +%setup -q -n %{name}-%{version} + +# >> setup +# << setup + +%build +# >> build pre +# << build pre + +qmake -qt=5 -recursive + +make %{?jobs:-j%jobs} + +# >> build post +# << build post + +%install +rm -rf %{buildroot} +# >> install pre +# << install pre +%qmake_install + +# >> install post +# << install post + +desktop-file-install --delete-original \ + --dir %{buildroot}%{_datadir}/applications \ + %{buildroot}%{_datadir}/applications/*.desktop + +%files +%defattr(-,root,root,-) +%{_bindir}/qmlcontacts +%{_datadir}/applications/qmlcontacts.desktop +%{_libdir}/qt5/qml/org/nemomobile/qmlcontacts/* +# >> files +# << files diff --git a/qmlcontacts-qt5.yaml b/qmlcontacts-qt5.yaml new file mode 100644 index 0000000..4aaa9a4 --- /dev/null +++ b/qmlcontacts-qt5.yaml @@ -0,0 +1,42 @@ +Name: qmlcontacts +Summary: Contacts application for nemo +Version: 0.4.2 +Release: 1 +Group: Applications/System +License: GPLv2 +URL: https://github.com/nemomobile/qmlcontacts +Sources: + - "%{name}-%{version}.tar.gz" +Provides: + - meego-handset-people > 0.2.32 + - meego-handset-people-branding-upstream > 0.2.32 +Obsoletes: + - meego-handset-people <= 0.2.32 + - meego-handset-people-branding-upstream <= 0.2.32 +Description: Contacts application using Qt Quick for Nemo Mobile. +Configure: none +Builder: qmake -qt=5 -recursive +PkgConfigBR: + - Qt5Core + - Qt5Contacts + - qdeclarative5-boostable + +Requires: + - qt-components-qt5 + - mapplauncherd-booster-qtcomponents-qt5 + - nemo-qml-plugin-thumbnailer-qt5 + - nemo-qml-plugin-contacts-qt5 + - nemo-qml-plugin-folderlistmodel + # qmlgallery code is used for avatar picker + - qmlgallery + # importing contacts is using code from qmlfilemuncher + - qmlfilemuncher + # contactsd is required to show IM contacts in the applications + - contactsd + # required for SMS/IM integration + - nemo-qml-plugin-dbus-qt5 + +Files: + - "%{_bindir}/qmlcontacts" + - "%{_datadir}/applications/qmlcontacts.desktop" + - "%{_libdir}/qt5/qml/org/nemomobile/qmlcontacts/*" diff --git a/src/main.cpp b/src/main.cpp index fd3350e..6de5209 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -37,20 +37,21 @@ #include #include #ifdef HAS_BOOSTER -#include +#include #endif #ifdef HAS_BOOSTER Q_DECL_EXPORT #endif -Q_DECL_EXPORT int main(int argc, char **argv) +int main(int argc, char **argv) { - QApplication *application; QQuickView *view; #ifdef HAS_BOOSTER + QGuiApplication *application; application = MDeclarativeCache::qApplication(argc, argv); - view = MDeclarativeCache::qDeclarativeView(); + view = MDeclarativeCache::populate(); #else + QApplication *application; qWarning() << Q_FUNC_INFO << "Warning! Running without booster. This may be a bit slower."; QApplication stackApp(argc, argv); QQuickView stackView; diff --git a/src/qml/CheckBox.qml b/src/qml/CheckBox.qml index d17f18f..4aa2bf6 100644 --- a/src/qml/CheckBox.qml +++ b/src/qml/CheckBox.qml @@ -3,7 +3,7 @@ import QtQuick 2.0 FocusScope { id: checkbox - Accessible.role: Accessible.CheckBox + Accessible.role: Accessible.RadioButton property string text: "CheckBox" property bool checked: false diff --git a/src/qmlcontacts.desktop b/src/qmlcontacts.desktop index 88ce9a4..5123175 100644 --- a/src/qmlcontacts.desktop +++ b/src/qmlcontacts.desktop @@ -2,5 +2,5 @@ Type=Application Name=People Icon=icons-Applications-people -Exec=invoker -s --type=e /usr/bin/qmlcontacts -fullscreen +Exec=invoker -s --type=qtcomponents-qt5 /usr/bin/qmlcontacts -fullscreen Comment=Nemo People Application diff --git a/src/src.pro b/src/src.pro index f8d377a..ca1fe47 100644 --- a/src/src.pro +++ b/src/src.pro @@ -9,10 +9,10 @@ CONFIG -= app_bundle # OS X CONFIG += link_pkgconfig -packagesExist(qdeclarative-boostable) { +packagesExist(qdeclarative5-boostable) { message("Building with qdeclarative-boostable support") DEFINES += HAS_BOOSTER - PKGCONFIG += qdeclarative-boostable + PKGCONFIG += qdeclarative5-boostable } else { warning("qdeclarative-boostable not available; startup times will be slower") } From 8b49a40562e93b43110c9bc2705b9e4127784527 Mon Sep 17 00:00:00 2001 From: Timo Hannukkala Date: Wed, 14 Aug 2013 10:35:07 +0300 Subject: [PATCH 08/18] spec file done --- qmlcontacts-qt5.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qmlcontacts-qt5.spec b/qmlcontacts-qt5.spec index b09a50c..585fb6d 100644 --- a/qmlcontacts-qt5.spec +++ b/qmlcontacts-qt5.spec @@ -15,7 +15,7 @@ Group: Applications/System License: GPLv2 URL: https://github.com/nemomobile/qmlcontacts Source0: %{name}-%{version}.tar.gz -Source100: qmlcontacts-qt5.yaml +#Source100: qmlcontacts-qt5.yaml Requires: qt-components-qt5 >= 1.4.8 Requires: mapplauncherd-booster-qtcomponents-qt5 Requires: nemo-qml-plugin-thumbnailer-qt5 From fe77072738ed1e47161324cf8786a912252a8a8d Mon Sep 17 00:00:00 2001 From: Timo Hannukkala Date: Wed, 14 Aug 2013 11:41:44 +0300 Subject: [PATCH 09/18] modified .spec --- qmlcontacts-qt5.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/qmlcontacts-qt5.spec b/qmlcontacts-qt5.spec index 585fb6d..6676f50 100644 --- a/qmlcontacts-qt5.spec +++ b/qmlcontacts-qt5.spec @@ -28,6 +28,9 @@ Requires: nemo-qml-plugin-dbus-qt5 BuildRequires: pkgconfig(Qt5Core) BuildRequires: pkgconfig(Qt5Contacts) BuildRequires: pkgconfig(qdeclarative5-boostable) +BuildRequires: qt5-qtgui-devel +BuildRequires: qt5-qtwidgets-devel +BuildRequires: qt5-qtquick-devel # BuildRequires: desktop-file-utils Provides: meego-handset-people > 0.2.32 Provides: meego-handset-people-branding-upstream > 0.2.32 From ecf05c6f65898a7ea86fff4485426487bc58ba5e Mon Sep 17 00:00:00 2001 From: Timo Hannukkala Date: Wed, 14 Aug 2013 11:46:05 +0300 Subject: [PATCH 10/18] .spec modified --- qmlcontacts-qt5.spec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/qmlcontacts-qt5.spec b/qmlcontacts-qt5.spec index 6676f50..2b75f10 100644 --- a/qmlcontacts-qt5.spec +++ b/qmlcontacts-qt5.spec @@ -28,9 +28,9 @@ Requires: nemo-qml-plugin-dbus-qt5 BuildRequires: pkgconfig(Qt5Core) BuildRequires: pkgconfig(Qt5Contacts) BuildRequires: pkgconfig(qdeclarative5-boostable) -BuildRequires: qt5-qtgui-devel -BuildRequires: qt5-qtwidgets-devel -BuildRequires: qt5-qtquick-devel +Requires: qt5-qtgui-devel +Requires: qt5-qtwidgets-devel +Requires: qt5-qtquick-devel # BuildRequires: desktop-file-utils Provides: meego-handset-people > 0.2.32 Provides: meego-handset-people-branding-upstream > 0.2.32 From e69b30b002753c0c857c1f28716e32ff095dfc62 Mon Sep 17 00:00:00 2001 From: Timo Hannukkala Date: Wed, 14 Aug 2013 11:51:26 +0300 Subject: [PATCH 11/18] .spec modified --- qmlcontacts-qt5.spec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/qmlcontacts-qt5.spec b/qmlcontacts-qt5.spec index 2b75f10..6676f50 100644 --- a/qmlcontacts-qt5.spec +++ b/qmlcontacts-qt5.spec @@ -28,9 +28,9 @@ Requires: nemo-qml-plugin-dbus-qt5 BuildRequires: pkgconfig(Qt5Core) BuildRequires: pkgconfig(Qt5Contacts) BuildRequires: pkgconfig(qdeclarative5-boostable) -Requires: qt5-qtgui-devel -Requires: qt5-qtwidgets-devel -Requires: qt5-qtquick-devel +BuildRequires: qt5-qtgui-devel +BuildRequires: qt5-qtwidgets-devel +BuildRequires: qt5-qtquick-devel # BuildRequires: desktop-file-utils Provides: meego-handset-people > 0.2.32 Provides: meego-handset-people-branding-upstream > 0.2.32 From 46f64d69ab20e819881bfad7ca206f063a595366 Mon Sep 17 00:00:00 2001 From: Timo Hannukkala Date: Wed, 14 Aug 2013 11:56:36 +0300 Subject: [PATCH 12/18] .spec modified --- qmlcontacts-qt5.spec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/qmlcontacts-qt5.spec b/qmlcontacts-qt5.spec index 6676f50..7e7f2f3 100644 --- a/qmlcontacts-qt5.spec +++ b/qmlcontacts-qt5.spec @@ -28,9 +28,9 @@ Requires: nemo-qml-plugin-dbus-qt5 BuildRequires: pkgconfig(Qt5Core) BuildRequires: pkgconfig(Qt5Contacts) BuildRequires: pkgconfig(qdeclarative5-boostable) -BuildRequires: qt5-qtgui-devel -BuildRequires: qt5-qtwidgets-devel -BuildRequires: qt5-qtquick-devel +BuildRequires: pkgconfig(Qt5Gui) +BuildRequires: pkgconfig(Qt5Widgets) +BuildRequires: pkgconfig(Qt5Quick) # BuildRequires: desktop-file-utils Provides: meego-handset-people > 0.2.32 Provides: meego-handset-people-branding-upstream > 0.2.32 From 05f36ae99a618942280d56adbd85d479ac7cb79f Mon Sep 17 00:00:00 2001 From: Timo Hannukkala Date: Wed, 14 Aug 2013 12:05:14 +0300 Subject: [PATCH 13/18] modified .spec, file utils added --- qmlcontacts-qt5.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qmlcontacts-qt5.spec b/qmlcontacts-qt5.spec index 7e7f2f3..db02f4f 100644 --- a/qmlcontacts-qt5.spec +++ b/qmlcontacts-qt5.spec @@ -31,7 +31,7 @@ BuildRequires: pkgconfig(qdeclarative5-boostable) BuildRequires: pkgconfig(Qt5Gui) BuildRequires: pkgconfig(Qt5Widgets) BuildRequires: pkgconfig(Qt5Quick) -# BuildRequires: desktop-file-utils +BuildRequires: desktop-file-utils Provides: meego-handset-people > 0.2.32 Provides: meego-handset-people-branding-upstream > 0.2.32 Obsoletes: meego-handset-people <= 0.2.32 From 5e881349acbc78719bba91c9e03fb726b99103ae Mon Sep 17 00:00:00 2001 From: Timo Hannukkala Date: Wed, 14 Aug 2013 14:43:18 +0300 Subject: [PATCH 14/18] version numbering changed to skytree --- qmlcontacts-qt5.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qmlcontacts-qt5.spec b/qmlcontacts-qt5.spec index db02f4f..d1f6b66 100644 --- a/qmlcontacts-qt5.spec +++ b/qmlcontacts-qt5.spec @@ -9,7 +9,7 @@ Name: qmlcontacts # << macros Summary: Contacts application for nemo -Version: 0.4.2 +Version: 0.4.2.skytree1 Release: 1 Group: Applications/System License: GPLv2 From ad0b534328ccbf05cf03ef7e2c62ac5b0a14b655 Mon Sep 17 00:00:00 2001 From: Timo Hannukkala Date: Sat, 17 Aug 2013 20:03:58 +0300 Subject: [PATCH 15/18] merge / fork API fixes --- src/qml/ContactCardContentWidget.qml | 2 +- src/qml/ContactEditorSheet.qml | 4 +-- src/qml/EditAddress.qml | 42 ++++++++++++++++++++++++++-- src/qml/ViewAddress.qml | 23 ++++++++++++++- src/qml/main.qml | 2 +- 5 files changed, 66 insertions(+), 7 deletions(-) diff --git a/src/qml/ContactCardContentWidget.qml b/src/qml/ContactCardContentWidget.qml index 2097d6f..8e38bf5 100644 --- a/src/qml/ContactCardContentWidget.qml +++ b/src/qml/ContactCardContentWidget.qml @@ -47,7 +47,7 @@ Flickable { function newContact() { - addressRepeater.setModelData(contact.addressesTypeList, contact.addresses) + addressRepeater.setModelData(contact.addressTypes, contact.addresses) } Item { diff --git a/src/qml/ContactEditorSheet.qml b/src/qml/ContactEditorSheet.qml index 1a1f357..802499e 100644 --- a/src/qml/ContactEditorSheet.qml +++ b/src/qml/ContactEditorSheet.qml @@ -68,7 +68,7 @@ Sheet { phoneRepeater.setModelData(contact.phoneNumbers) emailRepeater.setModelData(contact.emailAddresses) - addressRepeater.setModelData(contact.addressesTypeList, contact.addresses) + addressRepeater.setModelData(contact.addressTypes, contact.addresses) } SelectionDialog { @@ -236,7 +236,7 @@ Sheet { contact.phoneNumbers = phoneRepeater.modelData() contact.emailAddresses = emailRepeater.modelData() contact.addresses = addressRepeater.modelData() - contact.addressesTypeList = addressRepeater.modelDataTypes() + contact.addressTypes = addressRepeater.modelDataTypes() // TODO: this isn't asynchronous app.contactListModel.savePerson(contact) diff --git a/src/qml/EditAddress.qml b/src/qml/EditAddress.qml index 096df19..e4e92c9 100644 --- a/src/qml/EditAddress.qml +++ b/src/qml/EditAddress.qml @@ -68,7 +68,34 @@ Repeater { for (var i = 0; i < modelData.length; ++i) { var words = modelData[i].split("\n") - model.append({ data: modelDataType[i], data_street: words[0], data_city: words[1], data_state: words[2], data_postalcode: words[3], data_country: words[4], data_postofficebox: words[5] }) + switch (modelDataType[i]) + { + case 14: + model.append({ data: "Home", data_street: words[0], + data_city: words[1], data_state: words[2], + data_postalcode: words[3], data_country: words[4], + data_postofficebox: words[5] }) + break; + case 15: + model.append({ data: "Work", data_street: words[0], + data_city: words[1], data_state: words[2], + data_postalcode: words[3], data_country: words[4], + data_postofficebox: words[5] }) + break; + case 16: + model.append({ data: "Other", data_street: words[0], + data_city: words[1], data_state: words[2], + data_postalcode: words[3], data_country: words[4], + data_postofficebox: words[5] }) + break; + default: + model.append({ data: modelDataType[i], + data_street: words[0], data_city: words[1], + data_state: words[2], data_postalcode: words[3], + data_country: words[4], + data_postofficebox: words[5] }) + break; + } } originalData = modelDataFull() @@ -120,7 +147,18 @@ Repeater { model.get(i).data_postalcode || model.get(i).data_country) { - modelData.push(model.get(i).data) + if (model.get(i).data == "Home") + { + modelData.push(14) + } + else if (model.get(i).data == "Work") + { + modelData.push(15) + } + else + { + modelData.push(16) + } } } return modelData; diff --git a/src/qml/ViewAddress.qml b/src/qml/ViewAddress.qml index c7c4653..246d6a8 100644 --- a/src/qml/ViewAddress.qml +++ b/src/qml/ViewAddress.qml @@ -44,7 +44,28 @@ Repeater { for (var i = 0; i < modelData.length; ++i) { var words = modelData[i].split("\n") - model.append({ data: modelDataType[i], data_street: words[0], data_city: words[1], data_state: words[2], data_postalcode: words[3], data_country: words[4], data_postofficebox: words[5] }) + switch (modelDataType[i]) + { + case 14: + model.append({ data: "Home", data_street: words[0], + data_city: words[1], data_state: words[2], + data_postalcode: words[3], data_country: words[4], + data_postofficebox: words[5] }) + break + case 15: + model.append({ data: "Work", data_street: words[0], + data_city: words[1], data_state: words[2], + data_postalcode: words[3], data_country: words[4], + data_postofficebox: words[5] }) + break + case 16: + default: + model.append({ data: "Other", data_street: words[0], + data_city: words[1], data_state: words[2], + data_postalcode: words[3], data_country: words[4], + data_postofficebox: words[5] }) + break + } } } diff --git a/src/qml/main.qml b/src/qml/main.qml index 0504d23..0570f51 100644 --- a/src/qml/main.qml +++ b/src/qml/main.qml @@ -58,7 +58,7 @@ PageStackWindow { // for testing purposes Component.onCompleted: { // importContacts("../test/example.vcf") - setDisplayLabelOrder(false); + setDisplayLabelOrder(1); setFilterType(1); } } From a5ac9dd1da572d92604d02b2ea1fff045cc7a87e Mon Sep 17 00:00:00 2001 From: Timo Hannukkala Date: Mon, 19 Aug 2013 14:53:50 +0300 Subject: [PATCH 16/18] cleanup --- LICENSE | 202 ----------- README | 9 - TODO | 102 ------ example.vcf | 164 --------- qmlcontacts-qt5.spec | 79 ---- qmlcontacts-qt5.yaml | 42 --- qmlcontacts.pro | 2 - rpm/qmlcontacts.changes | 63 ---- rpm/qmlcontacts.spec | 77 ---- rpm/qmlcontacts.yaml | 43 --- src/main.cpp | 98 ----- src/qml/AvatarPickerSheet.qml | 90 ----- src/qml/CheckBox.qml | 41 --- src/qml/ContactCardContentWidget.qml | 210 ----------- src/qml/ContactCardPage.qml | 107 ------ src/qml/ContactEditorSheet.qml | 255 ------------- src/qml/ContactImportSheet.qml | 101 ------ src/qml/ContactListPage.qml | 143 -------- src/qml/DeleteContactDialog.qml | 48 --- src/qml/EditAddress.qml | 269 -------------- src/qml/EditableList.qml | 95 ----- src/qml/MessagesInterface.qml | 23 -- src/qml/SearchBox.qml | 139 -------- src/qml/SettingsPage.qml | 149 -------- src/qml/ViewAddress.qml | 120 ------- src/qml/api/ContactAvatarImage.qml | 71 ---- src/qml/api/ContactListDelegate.qml | 76 ---- src/qml/api/ContactListWidget.qml | 70 ---- src/qml/api/qmldir | 3 - src/qml/main.qml | 69 ---- src/qmlcontacts.desktop | 6 - src/res.qrc | 19 - src/src.pro | 50 --- src/src.qmlproject | 16 - test/README | 10 - test/example.vcf | 164 --------- test/load_vcard.cpp | 123 ------- test/load_vcard.sh | 5 - test/test.pro | 19 - test/vcardCHS.vcf | 296 --------------- test/vcardCHT.vcf | 200 ----------- test/vcardCSY.vcf | 514 --------------------------- test/vcardDAN.vcf | 96 ----- test/vcardDEU.vcf | 161 --------- test/vcardELL.vcf | 192 ---------- test/vcardESP.vcf | 120 ------- test/vcardFIN.vcf | 105 ------ test/vcardFRA.vcf | 336 ----------------- test/vcardHUN.vcf | 70 ---- test/vcardITA.vcf | 105 ------ test/vcardJPN.vcf | 132 ------- test/vcardKOR.vcf | 112 ------ test/vcardNLD.vcf | 133 ------- test/vcardNOR.vcf | 126 ------- test/vcardPLK.vcf | 98 ----- test/vcardPTB.vcf | 42 --- test/vcardPTG.vcf | 42 --- test/vcardRUS.vcf | 105 ------ test/vcardSVE.vcf | 133 ------- test/vcardTRK.vcf | 196 ---------- 60 files changed, 6686 deletions(-) delete mode 100644 LICENSE delete mode 100644 README delete mode 100644 TODO delete mode 100644 example.vcf delete mode 100644 qmlcontacts-qt5.spec delete mode 100644 qmlcontacts-qt5.yaml delete mode 100644 qmlcontacts.pro delete mode 100644 rpm/qmlcontacts.changes delete mode 100644 rpm/qmlcontacts.spec delete mode 100644 rpm/qmlcontacts.yaml delete mode 100644 src/main.cpp delete mode 100644 src/qml/AvatarPickerSheet.qml delete mode 100644 src/qml/CheckBox.qml delete mode 100644 src/qml/ContactCardContentWidget.qml delete mode 100644 src/qml/ContactCardPage.qml delete mode 100644 src/qml/ContactEditorSheet.qml delete mode 100644 src/qml/ContactImportSheet.qml delete mode 100644 src/qml/ContactListPage.qml delete mode 100644 src/qml/DeleteContactDialog.qml delete mode 100644 src/qml/EditAddress.qml delete mode 100644 src/qml/EditableList.qml delete mode 100644 src/qml/MessagesInterface.qml delete mode 100644 src/qml/SearchBox.qml delete mode 100644 src/qml/SettingsPage.qml delete mode 100644 src/qml/ViewAddress.qml delete mode 100644 src/qml/api/ContactAvatarImage.qml delete mode 100644 src/qml/api/ContactListDelegate.qml delete mode 100644 src/qml/api/ContactListWidget.qml delete mode 100644 src/qml/api/qmldir delete mode 100644 src/qml/main.qml delete mode 100644 src/qmlcontacts.desktop delete mode 100644 src/res.qrc delete mode 100644 src/src.pro delete mode 100644 src/src.qmlproject delete mode 100644 test/README delete mode 100644 test/example.vcf delete mode 100644 test/load_vcard.cpp delete mode 100644 test/load_vcard.sh delete mode 100644 test/test.pro delete mode 100644 test/vcardCHS.vcf delete mode 100644 test/vcardCHT.vcf delete mode 100755 test/vcardCSY.vcf delete mode 100644 test/vcardDAN.vcf delete mode 100644 test/vcardDEU.vcf delete mode 100644 test/vcardELL.vcf delete mode 100644 test/vcardESP.vcf delete mode 100644 test/vcardFIN.vcf delete mode 100644 test/vcardFRA.vcf delete mode 100644 test/vcardHUN.vcf delete mode 100644 test/vcardITA.vcf delete mode 100644 test/vcardJPN.vcf delete mode 100644 test/vcardKOR.vcf delete mode 100644 test/vcardNLD.vcf delete mode 100644 test/vcardNOR.vcf delete mode 100644 test/vcardPLK.vcf delete mode 100644 test/vcardPTB.vcf delete mode 100644 test/vcardPTG.vcf delete mode 100644 test/vcardRUS.vcf delete mode 100644 test/vcardSVE.vcf delete mode 100644 test/vcardTRK.vcf diff --git a/LICENSE b/LICENSE deleted file mode 100644 index d645695..0000000 --- a/LICENSE +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/README b/README deleted file mode 100644 index 0e9cf68..0000000 --- a/README +++ /dev/null @@ -1,9 +0,0 @@ -Building: -You need nemo-qml-plugins from git, and qmlgallery built and installed if you -want to use the avatar picker in the editor. - -Maintainer: -Robin Burchell - -Contributors: -Jakub Pavelek diff --git a/TODO b/TODO deleted file mode 100644 index 8e51d33..0000000 --- a/TODO +++ /dev/null @@ -1,102 +0,0 @@ -CONTACTS TODO LIST -1.Flow -2.Opens -3.Blocked -4.Pending Bugs -5.Filed Bugs -6.Fixed -7.Released -8.Future plans -9.FAQ -*verified bugs are deleted from this document - -1.==Flow== -Opens (need more info) -Pending Bugs (can't make a bug for whatever reason) -Bugs (filed in bugs.meego.com) -Fixed (Code sr'd into obs, note tag in git) -Released (Code released in image) -Verified (Code verified by QA on valid image) - -2.==Opens== -Contact Picker needs index bar/search bar -Ringtones flow? - Done need branch to merge -Need smaller graphic for smaller devices for landscape view landing screen -Geolocation -Map - yes static for handset and movable for tablet - -3.==Blocked== -All blocked on folks: -Recent Communications -Link -Merge -Social networking supported - -4.==Bugs to be filed== 26 -Shift graphics under me card to display right on landing screen -Remove Truncates add ellides -Change hideous function signature -Drag on indexbar left and right is wrong -email/im in context meny -format checking -Add map -not for beta -Sharing framework: - Launch email attach vcard & subject - Launch IM attach vcard - Launch MMS attach vcard -Adding subject param to email -Email Call Contacts application to import contacts files on reception of vCard -MMS Call Contacts application to import contacts files on reception of vCard -Contact Contacts should support integration to a Dialer -addressbook support linking contacts -addressbook support merge of contacts -Add two addresses lines for street -Have a way to export contacts to SIM card (Tshah, In progress, May 13th) -Fix Call button in Libseaside views -Email in context menu -SMS in context menu, launch -SMS in share -Call from details view -SMS/Call from details view -Unable to find SMS, Call options in contextual menu of contact -Allow user random input to add email in contact edit page -Allow user input non number to add phone number - -5.==Filed Bugs== -Bug Owner Type Priority Description DueDate -Dbus call to import vCard -15434 Connie TBUG MED Thumbnail for the avatar needs to be used instead of full size image 1.2.2 -18184 enh Med IA daewon.park@windriver.com ASSIGNED --- Adding multiple contacts in one instance from email address field -15434 nor Med IA geoff@linux.intel.com ASSIGNED --- Thumbnail needs to be used instead of avatar to reduce memory footprint - [SEC] nor Med IA nicholas.e.richards@intel.com NEW --- Platform : Contacts: Email ids with improper format are accepted by “Email Field” - [SEC] nor Med IA nicholas.e.richards@intel.com NEW --- Platform : Alphabetic and special characters are accepted by the “mobile number field” - [SEC] maj Med IA kaitlin.rupert@linux.intel.com ASSIGNED --- Platform : Contacts: Unable to view the online contacts alone using "online view" mode in contacts - - -6.==Fixed== - -7.==Released== - -8.==Future Plans== -Video RingTones -Add custom context labels for phone and address fields -Merge local, synced and social contacts -Wireless sync with MeeGo devices -support linking contacts -Emergency Numbers -Add/Edit/Delete groups of contacts and attach to email -Fields in contacts for prefix/suffix/non-alpha languang transcription -Enable vCard export of all contacts -Add email to context menu -Add Call to context meny -Add SMS to context menu -Add 2 address fields -Share a contact via SMS, Email, or IM - -9.==FAQ== -Why is IM not in Context Menu? -IM will not be launched from context menu as it violates UI guidelines, IM can be launched from details view. -Which landing screen of the 3 wireframes should we use? - Tablet stay as is, smaller assets not till 1.4 -When do we show the landing screen vs the MCard default? - always show mecard shift graphics down -Why do wireframes only show one possible vCard on an SD Card? - new wireframes coming show dialog to select vcf files from sdcard. If there are multiple vCards on the SDCard need to show all .vcf files and let the user select which to import from or import all. - new wf coming -What is the flow for importing multiple vCards on one SD card? - show dialog to select which vCards user cares about -Voicemail is it in Dialer Settings or is it in Contacts? - Dialer settings diff --git a/example.vcf b/example.vcf deleted file mode 100644 index 9a26e9c..0000000 --- a/example.vcf +++ /dev/null @@ -1,164 +0,0 @@ -BEGIN:VCARD -VERSION:3.0 -FN:Ms. Aaron Gates -N:Gates;Aaron;;; -NICKNAME:Aaron nickname -IMPP;X-YAHOO:ymsgr:julien -IMPP;X-JABBER:xmpp:mikec@jabber.com -IMPP;X-AIM:aim:screenname=tacos -IMPP;X-MSN:msnim:contact=moolots -EMAIL;TYPE=INTERNET:aaron@example.com -EMAIL;TYPE=INTERNET:aaron_extra@example.com -TEL;TYPE=WORK:33333 -TEL;TYPE=HOME:333331 -TEL;TYPE=HOME;TYPE=FAX:333332 -TEL;TYPE=PAGER:333333 -TEL;TYPE=CELL:333334 -ADR;WORK;POSTAL;CHARSET=UTF-8:PO Box;Extended Address;Work Street Address;Work Locality(Town);Work Region(State);Work Post Code;Work Country;Work City;Work State;Work PostCode;Work Country -ADR;HOME;POSTAL;CHARSET=UTF-8:PO Box;Extended Address;Home Street Address;Home Locality(Town);Home Region(State);Home Post Code;Home Country;Work City;Work State;Work PostCode;Work Country -LABEL;WORK;ENCODING=QUOTED-PRINTABLE:BusinessOffice=0D=0A=0D=0A, =0D=0A -LABEL;HOME;ENCODING=QUOTED-PRINTABLE:=0D=0A, =0D=0A -ORG:Example -TITLE:Engineer -BDAY:2009-01-01 -PHOTO;ENCODING=BASE64;TYPE=GOOGLECONTACTSPHOTO_1140C7078B06ECD7:/9j/4A - AQSkZJRgABAQAAAQABAAD/2wCEAAUDBA0OCREQDg8IDggICAoICAgOCAgICQgICBAIBw - gICAgIDRANCAgOCQgIDBUNDhERExMTBw0WGBYSGBAXExIBBQUFCAcHDwkJDxgVEhQYFh - kUFBQUFBQUFBUUFBwcFBQUFBQUFBQUFRUWFBQUFBQUFBQUFBQUFB4UFBQeFBQeHv/AAB - EIAGAAYAMBIgACEQEDEQH/xAAdAAACAwACAwAAAAAAAAAAAAAHCAAFBgIDAQQJ/8QARh - AAAQIDBAUGCQgKAwAAAAAAAgEDAAQSBQYREwchIjJzCDE0QlKyFEFRYWJxcqLCI4GRkq - GxwdEVJCUzNUNTgoPwY9Lh/8QAGgEAAwEBAQEAAAAAAAAAAAAAAwQFBgECAP/EADQRAA - ECBAMFBgMJAAAAAAAAAAEAAgMEBRESITEyQUJxgSI0UZGhsRPB8QYUFSMzYYLh8P/aAA - wDAQACEQMRAD8AA+ji5YgLc1ONicu5UcjIkVKWhTsq66o6xkRWpFVFRahg96L350mUEX - nJeyWKxlpBsRIKXFJw2gMtZS+JFrXXA8vblpNGDIZcmwSBKy2YTgy7Tm0YARa6VIiX+6 - DnYcmLUuACgiLbY0im7tJUW1Gbqk89rbNNrrKGbfMx3ZkNboArZmfdEURDJBHdHsx6V5 - 2BnJdGZsc+TF0X/BjLLTNGoRPMb16kIvrR2RIzgmIoNw4+ZTQe4aFZWc0aWQTDgJZ8qB - utk2MyMw/my5Emp1oeZTHnRF7MY6T5Oll4pXM21h46GpfH3ggtxIbh1WZZo6/PNGbMxG - 70uL3JqmSMlbmbPRjMPIzXSF3KxXKzREcBdUMMUTx4xlr2aCrSYmsttvwwcsD8JllzGF - I+duokRaxXUqYQ2yp5h+qMeRXDmUk9kiDuw4yvxm7QBRWzzxqkevfo+n5IAKalplgJki - BgjEcHSb3xGnrJinPGaVpU14F9BJ9sfQY9eGO3Tu5ny4j7Inig+tI6rblwmJU2HgYOVf - pzWklmmq8tRIPlW0qDAhFdUOs+0TOJh6FGbPjeF8+6PV9ZPzjjDwsaM7HQcFs6WLZIal - mnxwUkwQ+fnHnjCy3Jys/rzdqJ7Mu0v3pDsOtyztTbmEZs5DKzt5elucYPhhg2N0eCHd - GF8vJ0pzjB8MMGxujwQ7oxDq3D1WUkNt/NeY4vvCIqpKIgO0RLsiI+lEmHhEVUlpBsai - JeqI9aKLRpYDlsT5kaqliSjg4tpsk694g9NotpVWEZKTdMPsNE/iOIMaLk6f7wV5YLqz - GCsA883VTnNjU2NPaIo0Q3Rmqccs/Z60GGzpFtoEFsWwAdQgIoA6vMnP64obTv7JMzSM - OvCD5btWyBL2UPmq80aD8CgN2nH0VMSbGN/Md8kJpyScbLBwHBLskMdEHq07PbeaUSQV - Ax5/H5lRYDd6bFKXeUV1t7wF2h/wC0SKjSnSwxNN2+yDMSxh5jMKpiYRkb4Wk74bLsMl - g69MBmj1iZJdqr5oPl57oywSpkIIjrbaYHiW9q14eeBwaZFiQTFFrapeCwxcWHhQxiYx - IkTV5S93l6Y5xQ/CGBZ3R4Qd0YXy8nTHOKHwwwbG6PBDuxarHD1UyQ23rL6U7RVqQLCl - c8sghX+mXWg9aC7t+CWMy3zmrea4dNJHmYmNXqEhT5oW7SumY+wxhjnkJb1PWHZ/8AYb - +xWqWATssNj9VMIq0OEGwcXirNNbijud4ABejfG0FalTJNRU0CXkIvHC733swX5VxDSp - wRJ8XKflMwdrYLnHGDjpbL9Sw7TwQJHxxFU7QkMI1mO4TLQDpZFqPadhOllr+SzeFyYs - hBdMiflHSbIi3hb6gL6kSL7TgiBZpvU1FKJmUp4xXBD+iBdyRXFSbnw2sMwC9mlXB5u1 - te7B5vjZ+dIvNquGdLOt1U44VIqIWHmi/hbFlyHZgosoTFkh42I8kFdGuj51+0mLRNWk - k/Bq2m+c1qRaKk8WCwbrxyROSpgNNZjSmOoYFXJzvortUirNP6JYFrwnMqz6VUaqMNjH - 1wWLwzytS5mg1K2NVFVNXzx9BhwhAs3Zt6L1JNh/AxN36896D9tXYfZCpwW0CrCoSqik - jY3qvgj8vRRSW8W1VTGQjFzrITIloRuElFDA7sHJL3eXpjnED4YYFndHgh3YXy8nTHOK - HwwwbG6PBDujD9Y4eqjyG29YPSB/FJP/esMOFI7g8MPuhO9I5oNpShLVQO8VO7tD73mh - wrOPFoV/4gX7MYtUbuwVuk7cTmPZZXS50L/KP4wKh3k9qCrpd6F/lCBQpYa+ztRDrneu - gRJ79RdPJQ/ik/xPiWGLmdxfZX7oXLklnjaU+vacEveKGJnywbJfIBL9ixp5bKXRKX3X - z90u/JpT9v2h7XxFB3vqn6k7w/ygC8mI8ben17Wv3lg9X16E7w/wAoG03lDyPsvNP7sf - 5e6B8SIsSMIkUvV4+mOcUPwhgmd0eEHdGF9vL0pzih+EMExujwQ7oxaq/D1UuQ23rD6Z - 2F8DE0UkJt8RHDq66qvR9cNTceeF2QZcFcRclmtr0kGkvtgAXks7Olzb5icbIWyXdFzt - FGm5Kt7hKVKScIkmpAyyhLZJ1nEsSES5hRfF6UP0KOC3ATmFYkXiHMkHiHqP6RL0myqn - IlhziYH9WAxPuoLRr1RbI/7RhiZtgTBUXWBjSvslC/aSrn2hWrEqyrgvbJTdQi200XVI - S3tXPHatIvix2vaMjkU1UIbtpovyXPkgSZL4W//Km3gytXZrq70Gy+E5lypr5qdfpaop - tENzUs+zQYqqcFSddc8rjmsk9lOZIrdLNrJssovWzHfZ6vzxQmYn3eUN9bZcyiQGGXlQ - 12tvUoX8mBP25P/wC9ZYPV9ehOcNYXXQfP+C3mdbcUU/SYkTZLq3cSERXtLzQzU/Ki40 - QluuDSUdlx8SVsN4+SFTO1Llo1uUAVFfIXzjHiNbaujdqWZdezp1x2moG3HvkA1puN4c - /zxkox05JulnhrzmRfJKvhuYbOS83k6Y5xQ+GGDZ3R4Qd0YXy8nTHOKHwwwbG6PBDujF - CscPVSpDbeucZ22rEcSaCaliFufYISqX92+I/y3BH6I0USJMGM6E7E3VUCwEWK1t0tMr - amDU82crNOqLbaqVTUw4Wzi0qbo4+WC2KwoulWzzKXF1san5RwSDtCONRFtdVIZHRZeV - ucs1p1sqvkhad8zzaILnvJG1pk6ZiHd2qoyMy57zDedNP3XRfe9+QStgBK7l1VruDj+M - CuZfIyVSUiMtoiXrQZr0XaamMFOtCHritJKnkKA9akugPuAlSiy8QCS7yiPa9KIdbZGD - 7uPZ3fRcnQ+9zpuVNalkNukikhI63+6eHZcaLtAXaTxRrLBvbNMgg5pvUjTmO63C9Iqe - tFHEiTDm40MWY4gJJhLDduRVnatuvO6nDJQ/p9X2orIkd8hLkbogOtTLBB8sDc98V2ZJ - JXSS45r//Z -URL;TYPE=HOMEPAGE:http://qt.nokia.com/logo.png -URL;TYPE=HOMEPAGE:http://qt.nokia2.com/logo.png -NOTE:Some notes are here -END:VCARD -BEGIN:VCARD -VERSION:3.0 -FN:Mr. Alexander Mcdonald -N:Mcdonald;Alexander;;; -EMAIL;TYPE=INTERNET:alex@example.com -TEL;TYPE=WORK:111111111 -ADR;TYPE=WORK;POSTAL;CHARSET=UTF-8:PO Box;Extended Address;Work Street Address;Work Locality(Town);Work Region(State);Work Post Code;Work Country;Work City;Work State;Work PostCode;Work Country -ADR;TYPE=HOME;POSTAL;CHARSET=UTF-8:PO Box;Extended Address;Home Street Address;Home Locality(Town);Home Region(State);Home Post Code;Home Country;Work City;Work State;Work PostCode;Work Country -ORG:Example -TITLE:Engineer -BDAY:2010-02-02 -END:VCARD -BEGIN:VCARD -VERSION:3.0 -FN:Mr. Andy Clark -N:Clark;Andy;;; -EMAIL;TYPE=INTERNET:andy@example.com -TEL;TYPE=WORK:07-2342322 -ORG:Example -TITLE:Engineer -BDAY:2011-03-03 -PHOTO;VALUE=URL;TYPE=PNG:http://qt.nokia.com/logo.png -END:VCARD -BEGIN:VCARD -VERSION:3.0 -FN:Mr. Bill Chilton -N:Chilton;Bill;;; -EMAIL;TYPE=INTERNET:bill@example.com -TEL;TYPE=WORK:564412232 -ORG:Example -TITLE:Manager -BDAY:2012-04-04 -END:VCARD -BEGIN:VCARD -VERSION:3.0 -FN:Mr. Bob Green -N:Green;Bob;;; -EMAIL;TYPE=INTERNET:bob@example.com -TEL;TYPE=WORK:07-3242325 -ORG:Example -TITLE:Engineer -BDAY:2013-05-05 -END:VCARD -BEGIN:VCARD -VERSION:3.0 -FN:Mr. Charles Brows -N:Brows;Charles;;; -EMAIL;TYPE=INTERNET:charles@example.com -TEL;TYPE=WORK:32324534233 -ORG:Example -TITLE:Engineer -BDAY:2015-07-07 -END:VCARD -BEGIN:VCARD -VERSION:3.0 -FN:Mr. David Edie -N:Edie;David;;; -EMAIL;TYPE=INTERNET:david@example.com -TEL;TYPE=WORK:(07) 3245-2323 -ORG:Example -TITLE:Manager -BDAY:2015-08-08 -END:VCARD -BEGIN:VCARD -VERSION:3.0 -FN:Mr. Jason Black -N:Black;Jason;;; -EMAIL;TYPE=INTERNET:jason@example.com -TEL;TYPE=WORK:33333333333 -ORG:Example -TITLE:Engineer -BDAY:2016-09-09 -END:VCARD -BEGIN:VCARD -VERSION:3.0 -FN:Mrs. Carol Eden -N:Eden;Carol;;; -EMAIL;TYPE=INTERNET:carol@example.com -TEL;TYPE=WORK:2323242 -ORG:Example -TITLE:Manager -BDAY:2014-06-06 -END:VCARD - diff --git a/qmlcontacts-qt5.spec b/qmlcontacts-qt5.spec deleted file mode 100644 index 6676f50..0000000 --- a/qmlcontacts-qt5.spec +++ /dev/null @@ -1,79 +0,0 @@ -# -# Do NOT Edit the Auto-generated Part! -# Generated by: spectacle version 0.26 -# - -Name: qmlcontacts - -# >> macros -# << macros - -Summary: Contacts application for nemo -Version: 0.4.2 -Release: 1 -Group: Applications/System -License: GPLv2 -URL: https://github.com/nemomobile/qmlcontacts -Source0: %{name}-%{version}.tar.gz -#Source100: qmlcontacts-qt5.yaml -Requires: qt-components-qt5 >= 1.4.8 -Requires: mapplauncherd-booster-qtcomponents-qt5 -Requires: nemo-qml-plugin-thumbnailer-qt5 -Requires: nemo-qml-plugin-contacts-qt5 -Requires: nemo-qml-plugin-folderlistmodel -Requires: qmlgallery -Requires: qmlfilemuncher -Requires: contactsd -Requires: nemo-qml-plugin-dbus-qt5 -BuildRequires: pkgconfig(Qt5Core) -BuildRequires: pkgconfig(Qt5Contacts) -BuildRequires: pkgconfig(qdeclarative5-boostable) -BuildRequires: qt5-qtgui-devel -BuildRequires: qt5-qtwidgets-devel -BuildRequires: qt5-qtquick-devel -# BuildRequires: desktop-file-utils -Provides: meego-handset-people > 0.2.32 -Provides: meego-handset-people-branding-upstream > 0.2.32 -Obsoletes: meego-handset-people <= 0.2.32 -Obsoletes: meego-handset-people-branding-upstream <= 0.2.32 - -%description -Contacts application using Qt Quick for Nemo Mobile. - -%prep -%setup -q -n %{name}-%{version} - -# >> setup -# << setup - -%build -# >> build pre -# << build pre - -qmake -qt=5 -recursive - -make %{?jobs:-j%jobs} - -# >> build post -# << build post - -%install -rm -rf %{buildroot} -# >> install pre -# << install pre -%qmake_install - -# >> install post -# << install post - -desktop-file-install --delete-original \ - --dir %{buildroot}%{_datadir}/applications \ - %{buildroot}%{_datadir}/applications/*.desktop - -%files -%defattr(-,root,root,-) -%{_bindir}/qmlcontacts -%{_datadir}/applications/qmlcontacts.desktop -%{_libdir}/qt5/qml/org/nemomobile/qmlcontacts/* -# >> files -# << files diff --git a/qmlcontacts-qt5.yaml b/qmlcontacts-qt5.yaml deleted file mode 100644 index 4aaa9a4..0000000 --- a/qmlcontacts-qt5.yaml +++ /dev/null @@ -1,42 +0,0 @@ -Name: qmlcontacts -Summary: Contacts application for nemo -Version: 0.4.2 -Release: 1 -Group: Applications/System -License: GPLv2 -URL: https://github.com/nemomobile/qmlcontacts -Sources: - - "%{name}-%{version}.tar.gz" -Provides: - - meego-handset-people > 0.2.32 - - meego-handset-people-branding-upstream > 0.2.32 -Obsoletes: - - meego-handset-people <= 0.2.32 - - meego-handset-people-branding-upstream <= 0.2.32 -Description: Contacts application using Qt Quick for Nemo Mobile. -Configure: none -Builder: qmake -qt=5 -recursive -PkgConfigBR: - - Qt5Core - - Qt5Contacts - - qdeclarative5-boostable - -Requires: - - qt-components-qt5 - - mapplauncherd-booster-qtcomponents-qt5 - - nemo-qml-plugin-thumbnailer-qt5 - - nemo-qml-plugin-contacts-qt5 - - nemo-qml-plugin-folderlistmodel - # qmlgallery code is used for avatar picker - - qmlgallery - # importing contacts is using code from qmlfilemuncher - - qmlfilemuncher - # contactsd is required to show IM contacts in the applications - - contactsd - # required for SMS/IM integration - - nemo-qml-plugin-dbus-qt5 - -Files: - - "%{_bindir}/qmlcontacts" - - "%{_datadir}/applications/qmlcontacts.desktop" - - "%{_libdir}/qt5/qml/org/nemomobile/qmlcontacts/*" diff --git a/qmlcontacts.pro b/qmlcontacts.pro deleted file mode 100644 index 65d9262..0000000 --- a/qmlcontacts.pro +++ /dev/null @@ -1,2 +0,0 @@ -TEMPLATE = subdirs -SUBDIRS = src diff --git a/rpm/qmlcontacts.changes b/rpm/qmlcontacts.changes deleted file mode 100644 index aac641a..0000000 --- a/rpm/qmlcontacts.changes +++ /dev/null @@ -1,63 +0,0 @@ -* Sun Mar 03 2013 Robin Burchell - 0.4.2 -- Remove constants.js fork from qmantle2, now that components can cache sheets - (from Robin) -- Simplify anchoring to improve performance (from Robin) -- Use unified empty state component (from Robin) -- Import packaging to repository (from Robin) - -* Thu Nov 8 2012 Robin Burchell - 0.4.1 -- Remove unneeded dependency from tools package on main package - -* Tue Oct 23 2012 John Brooks - 0.4.1 -- Change dependency from qmlmessages to nemo-qml-plugins-messages - -* Fri Oct 5 2012 Robin Burchell - 0.4.1 -- Remove duplicated PageHeader now that components contains it - -* Mon Oct 1 2012 Robin Burchell - 0.4.0 -- Fix QML/JS files not showing in Qt Creator (from Johan Paul) -- Fixes NEMO#250: Integrate messaging into contacts (from Robin/John Brooks) -- Fixes NEMO#384: SMS button does nothing (from Robin/John Brooks) -- New contact card design (from Robin) -- Fixes NEMO#390: Unable to scroll contact card to the end (from Robin) -- Fixes NEMO#268: [FEA] Search contacts (from Nicola De Filippo/Robin) - -* Mon Sep 3 2012 Robin Burchell - 0.3.15 -- Add 0001-fix-card-page-loading.patch, fixing a paper bag - -* Mon Sep 3 2012 Robin Burchell - 0.3.15 -- Fixes NEMO#394: Import contacts dialog shows always "Imported 0 contacts" (by Robin) -- Fixes NEMO#392: reset sheet state when reopening it (by Robin) -- Fixes NEMO#267: On edit page "save" button is enabled even when nothing has changed (by Tero Siironen) -- Fixes NEMO#253: Avatar picker should not default-select an image unless the contact already has one (by Tero Siironen) -- Various performance enhancements/decreasing memory usage (by Robin) - -* Sun Sep 02 2012 Marko Saukko - 0.3.14 -- Fixes NEMO#431: Require contactsd so that IM contacts are showed in the list. - -* Sun Aug 12 2012 Robin Burchell - 0.3.14 -- Implemented support for voice calling in contact card (Tom Swindell) -- Remove some unused junk (Robin) -- Basic UI for contact import (Robin) -- Simple implementation for contact export (Robin) -- Remove a stale, broken dependency, obsoletes 0001-remove-old-dependency-on-mobility-contacts.patch (Robin) - -* Fri Aug 03 2012 Robin Burchell - 0.3.12 -- Introduce use of org.nemomobile.contacts, fixes a number of bugs with - filtering, sort ordering, etc. -- Fixes editing of phone number lists -- Automatically close contact editor (and card) if a contact is deleted -- List (and edit) email addresses of contacts - -* Fri Jul 20 2012 Robin Burchell - 0.3.9 -- Fixes NEMO#251: Use the thumbnail provider for much faster avatar thumbnails -- Fixes NEMO#241: When creating a new contact, default avatar is empty -- Fixes NEMO#244: Fast scroll bar in contacts does not work -- Fixes NEMO#245: Share the gallery UI for setting thumbnails -- Fixes NEMO#249: Avatar quality is crap -- Avoid stretching avatar thumbnails in some circumstances -- Optimise list panning performance a bit - -* Fri Jul 20 2012 Robin Burchell - 0.3.7 -- Fixes NEMO#133: People should be replaced with QML Contacts App -- Initial packaging diff --git a/rpm/qmlcontacts.spec b/rpm/qmlcontacts.spec deleted file mode 100644 index 8796693..0000000 --- a/rpm/qmlcontacts.spec +++ /dev/null @@ -1,77 +0,0 @@ -# -# Do NOT Edit the Auto-generated Part! -# Generated by: spectacle version 0.26 -# - -Name: qmlcontacts - -# >> macros -# << macros - -Summary: Contacts application for nemo -Version: 0.4.2 -Release: 1 -Group: Applications/System -License: GPLv2 -URL: https://github.com/nemomobile/qmlcontacts -Source0: %{name}-%{version}.tar.bz2 -Source100: qmlcontacts.yaml -Requires: qt-components >= 1.4.8 -Requires: mapplauncherd-booster-qtcomponents -Requires: nemo-qml-plugin-thumbnailer -Requires: nemo-qml-plugin-contacts -Requires: nemo-qml-plugin-folderlistmodel -Requires: qmlgallery -Requires: qmlfilemuncher -Requires: contactsd -Requires: nemo-qml-plugin-dbus -BuildRequires: pkgconfig(QtCore) >= 4.7.0 -BuildRequires: pkgconfig(QtDeclarative) -BuildRequires: pkgconfig(QtContacts) -BuildRequires: pkgconfig(qdeclarative-boostable) -BuildRequires: desktop-file-utils -Provides: meego-handset-people > 0.2.32 -Provides: meego-handset-people-branding-upstream > 0.2.32 -Obsoletes: meego-handset-people <= 0.2.32 -Obsoletes: meego-handset-people-branding-upstream <= 0.2.32 - -%description -Contacts application using Qt Quick for Nemo Mobile. - -%prep -%setup -q -n %{name}-%{version} - -# >> setup -# << setup - -%build -# >> build pre -# << build pre - -%qmake - -make %{?jobs:-j%jobs} - -# >> build post -# << build post - -%install -rm -rf %{buildroot} -# >> install pre -# << install pre -%qmake_install - -# >> install post -# << install post - -desktop-file-install --delete-original \ - --dir %{buildroot}%{_datadir}/applications \ - %{buildroot}%{_datadir}/applications/*.desktop - -%files -%defattr(-,root,root,-) -%{_bindir}/qmlcontacts -%{_datadir}/applications/qmlcontacts.desktop -%{_libdir}/qt4/imports/org/nemomobile/qmlcontacts/* -# >> files -# << files diff --git a/rpm/qmlcontacts.yaml b/rpm/qmlcontacts.yaml deleted file mode 100644 index abfd675..0000000 --- a/rpm/qmlcontacts.yaml +++ /dev/null @@ -1,43 +0,0 @@ -Name: qmlcontacts -Summary: Contacts application for nemo -Version: 0.4.2 -Release: 1 -Group: Applications/System -License: GPLv2 -URL: https://github.com/nemomobile/qmlcontacts -Sources: - - "%{name}-%{version}.tar.bz2" -Provides: - - meego-handset-people > 0.2.32 - - meego-handset-people-branding-upstream > 0.2.32 -Obsoletes: - - meego-handset-people <= 0.2.32 - - meego-handset-people-branding-upstream <= 0.2.32 -Description: Contacts application using Qt Quick for Nemo Mobile. -Configure: none -Builder: qmake -PkgConfigBR: - - QtCore >= 4.7.0 - - QtDeclarative - - QtContacts - - qdeclarative-boostable - -Requires: - - qt-components >= 1.4.8 - - mapplauncherd-booster-qtcomponents - - nemo-qml-plugin-thumbnailer - - nemo-qml-plugin-contacts - - nemo-qml-plugin-folderlistmodel - # qmlgallery code is used for avatar picker - - qmlgallery - # importing contacts is using code from qmlfilemuncher - - qmlfilemuncher - # contactsd is required to show IM contacts in the applications - - contactsd - # required for SMS/IM integration - - nemo-qml-plugin-dbus - -Files: - - "%{_bindir}/qmlcontacts" - - "%{_datadir}/applications/qmlcontacts.desktop" - - "%{_libdir}/qt4/imports/org/nemomobile/qmlcontacts/*" diff --git a/src/main.cpp b/src/main.cpp deleted file mode 100644 index 6de5209..0000000 --- a/src/main.cpp +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Copyright (C) 2011 Robin Burchell - * - * You may use this file under the terms of the BSD license as follows: - * - * "Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Nemo Mobile nor the names of its contributors - * may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." - */ - -#include -#include -#include -#include -#include -#include -#include -#ifdef HAS_BOOSTER -#include -#endif - -#ifdef HAS_BOOSTER -Q_DECL_EXPORT -#endif -int main(int argc, char **argv) -{ - QQuickView *view; -#ifdef HAS_BOOSTER - QGuiApplication *application; - application = MDeclarativeCache::qApplication(argc, argv); - view = MDeclarativeCache::populate(); -#else - QApplication *application; - qWarning() << Q_FUNC_INFO << "Warning! Running without booster. This may be a bit slower."; - QApplication stackApp(argc, argv); - QQuickView stackView; - application = &stackApp; - view = &stackView; -#endif - - bool isFullscreen = false; - QStringList arguments = application->arguments(); - for (int i = 0; i < arguments.count(); ++i) { - QString parameter = arguments.at(i); - if (parameter == "-fullscreen") { - isFullscreen = true; - } else if (parameter == "-help") { - qDebug() << "Contacts application"; - qDebug() << "-fullscreen - show QML fullscreen"; - exit(0); - } - } - - QObject::connect(view->engine(), SIGNAL(quit()), application, SLOT(quit())); - - if (QFile::exists("main.qml")) - view->setSource(QUrl::fromLocalFile("main.qml")); - else - view->setSource(QUrl("qrc:/qml/main.qml")); -/* - view->setAttribute(Qt::WA_OpaquePaintEvent); - view->setAttribute(Qt::WA_NoSystemBackground); - view->viewport()->setAttribute(Qt::WA_OpaquePaintEvent); - view->viewport()->setAttribute(Qt::WA_NoSystemBackground); -*/ - // TODO: we could do with a plugin to access QDesktopServices paths - view->rootContext()->setContextProperty("systemAvatarDirectory", QStandardPaths::writableLocation(QStandardPaths::PicturesLocation)); - view->rootContext()->setContextProperty("DocumentsLocation", QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation)); - - // if (isFullscreen) - // view->showFullScreen(); - // else - view->show(); - - return application->exec(); -} - diff --git a/src/qml/AvatarPickerSheet.qml b/src/qml/AvatarPickerSheet.qml deleted file mode 100644 index fe4f389..0000000 --- a/src/qml/AvatarPickerSheet.qml +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Copyright (C) 2012 Jolla Ltd. - * Copyright (C) 2011-2012 Robin Burchell - * - * You may use this file under the terms of the BSD license as follows: - * - * "Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Nemo Mobile nor the names of its contributors - * may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." - */ - -import QtQuick 2.0 -import com.nokia.meego 2.0 -import org.nemomobile.thumbnailer 1.0 -import org.nemomobile.qmlgallery 1.0 -import org.nemomobile.contacts 1.0 - -Sheet { - id: avatarPickerSheet - - acceptButtonText: qsTr("Select") - rejectButtonText: qsTr("Cancel") - - acceptButtonEnabled: avatarGridView.itemSelected - - property Person contact - signal avatarPicked(string pathToAvatar) - - content: Rectangle { - // TODO: see if we can get theme asset for inverted background - // cannot use theme.inverted, because that will change whole app's theme. - color: "black" - anchors.fill: parent - GalleryView { - id: avatarGridView - property string filePath - property bool itemSelected: false - model: GalleryModel { } - delegate: GalleryDelegate { - id: delegateInstance - MouseArea { - anchors.fill: parent - onClicked: { - avatarGridView.itemSelected = true - avatarGridView.currentIndex = index - avatarGridView.filePath = url - } - } - Rectangle { - color: "blue" - opacity: 0.3 - visible: delegateInstance.GridView.isCurrentItem && avatarGridView.itemSelected - anchors.fill: parent - } - } - } -} - - onAccepted: { - avatarPicked(avatarGridView.filePath) - avatarGridView.itemSelected = false - } - - onRejected: { - avatarGridView.itemSelected = false - } -} - - diff --git a/src/qml/CheckBox.qml b/src/qml/CheckBox.qml deleted file mode 100644 index 4aa2bf6..0000000 --- a/src/qml/CheckBox.qml +++ /dev/null @@ -1,41 +0,0 @@ -import QtQuick 2.0 - -FocusScope { - id: checkbox - - Accessible.role: Accessible.RadioButton - - property string text: "CheckBox" - property bool checked: false - - width: 100 - height: 30 - - Row { - spacing: 2 - - Rectangle { - width: 12 - height: 12 - border.width: checkbox.focus ? 2 : 1 - border.color: "black" - - Text { - id: checkboxText - text: checkbox.checked ? "x" : "" - anchors.centerIn: parent - } - } - - Text { - text: checkbox.text - } - } - - MouseArea { - anchors.fill: parent - //onClicked: checkbox.checked = !checkbox.checked - } - - // Keys.onSpacePressed: checkbox.checked = !checkbox.checked -} \ No newline at end of file diff --git a/src/qml/ContactCardContentWidget.qml b/src/qml/ContactCardContentWidget.qml deleted file mode 100644 index 2097d6f..0000000 --- a/src/qml/ContactCardContentWidget.qml +++ /dev/null @@ -1,210 +0,0 @@ -/* - * Copyright (C) 2011-2012 Robin Burchell - * - * You may use this file under the terms of the BSD license as follows: - * - * "Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Nemo Mobile nor the names of its contributors - * may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." - */ - -import QtQuick 2.0 -import com.nokia.meego 2.0 -import org.nemomobile.contacts 1.0 -import org.nemomobile.qmlcontacts 1.0 -import org.nemomobile.voicecall 1.0 - -Flickable { - id: detailViewPortrait - contentWidth: parent.width - contentHeight: childrenRect.height - flickableDirection: Flickable.VerticalFlick - clip: true - - property Person contact - property VoiceCallManager callManager - - function newContact() - { - addressRepeater.setModelData(contact.addressesTypeList, contact.addresses) - } - - Item { - id: header - height: avatar.height + UiConstants.DefaultMargin - property int shortSize: parent.parent.width > parent.parent.height ? parent.parent.height : parent.parent.width - ContactAvatarImage { - id: avatar - contact: detailViewPage.contact - anchors.left: parent.left - anchors.top: parent.top - anchors.margins: UiConstants.DefaultMargin - width: parent.shortSize * 0.3 - height: parent.shortSize * 0.3 - } - - Label { - id: personNameLabel - anchors.verticalCenter: avatar.verticalCenter - anchors.left: avatar.right - anchors.leftMargin: UiConstants.DefaultMargin - text: contact.displayLabel - } - - Label { - anchors.top: personNameLabel.bottom; - anchors.verticalCenter: avatar.verticalCenter - anchors.left: avatar.right - anchors.leftMargin: UiConstants.DefaultMargin - text: contact.companyName - } - } - - SelectionDialog { - id: selectionDialog - property int mode: 0 // 0: call, 1: sms, 2: message, 3: mail - - onSelectedIndexChanged: { - if (mode == 0) - callManager.dial(callManager.defaultProviderId, contact.phoneNumbers[selectedIndex]); - else if (mode == 1) - onClicked: messagesInterface.startSMS(contact.phoneNumbers[selectedIndex]) - else if (mode == 2) - messagesInterface.startConversation(contact.accountPaths[selectedIndex], contact.accountUris[selectedIndex]) - - accept() - } - } - - Button { - id: callButton - anchors.top: header.bottom - anchors.topMargin: UiConstants.DefaultMargin - anchors.left: parent.left - anchors.leftMargin: UiConstants.DefaultMargin - height: contact.phoneNumbers.length ? UiConstants.ListItemHeightDefault - UiConstants.DefaultMargin : 0 - width: parent.width - UiConstants.DefaultMargin * 2 - visible: height != 0 - iconSource: "image://theme/icon-m-telephony-incoming-call"; // TODO: icon-m-toolbar-make-call - text: "Call" - onClicked: { - if (contact.phoneNumbers.length == 1) { - callManager.dial(callManager.defaultProviderId, contact.phoneNumbers[0]) - return - } - - selectionDialog.mode = 0 - selectionDialog.titleText = qsTr("Call %1").arg(contact.firstName) - selectionDialog.model = contact.phoneNumbers - selectionDialog.open() - } - } - - Button { - id: smsButton - anchors.top: callButton.bottom - anchors.topMargin: UiConstants.DefaultMargin - anchors.left: parent.left - anchors.leftMargin: UiConstants.DefaultMargin - height: contact.phoneNumbers.length ? UiConstants.ListItemHeightDefault - UiConstants.DefaultMargin : 0 - width: parent.width - UiConstants.DefaultMargin * 2 - visible: height != 0 - iconSource: "image://theme/icon-m-toolbar-send-chat"; - text: "SMS" - onClicked: { - if (contact.phoneNumbers.length == 1) { - messagesInterface.startSMS(contact.phoneNumbers[0]) - return - } - - selectionDialog.mode = 1 - selectionDialog.titleText = qsTr("SMS %1").arg(contact.firstName) - selectionDialog.model = contact.phoneNumbers - selectionDialog.open() - } - } - - Button { - id: messageButton - anchors.top: smsButton.bottom - anchors.topMargin: UiConstants.DefaultMargin - anchors.left: parent.left - anchors.leftMargin: UiConstants.DefaultMargin - height: contact.accountUris.length ? UiConstants.ListItemHeightDefault - UiConstants.DefaultMargin : 0 - width: parent.width - UiConstants.DefaultMargin * 2 - visible: height != 0 - iconSource: "image://theme/icon-m-toolbar-send-chat"; - text: "Message" - onClicked: { - if (contact.accountUris.length == 1) { - messagesInterface.startConversation(contact.accountPaths[0], contact.accountUris[0]) - return - } - - selectionDialog.mode = 2 - selectionDialog.titleText = qsTr("Message %1").arg(contact.firstName) - selectionDialog.model = contact.accountUris - selectionDialog.open() - } - } - - Button { - id: mailButton - anchors.top: messageButton.bottom - anchors.topMargin: UiConstants.DefaultMargin - anchors.left: parent.left - anchors.leftMargin: UiConstants.DefaultMargin - height: contact.emailAddresses.length ? UiConstants.ListItemHeightDefault - UiConstants.DefaultMargin : 0 - width: parent.width - UiConstants.DefaultMargin * 2 - visible: height != 0 - iconSource: "image://theme/icon-m-toolbar-send-sms"; // TODO: icon-m-toolbar-send-email - text: "Mail" - onClicked: { - console.log("TODO: integrate with mail client") - if (contact.emailAddresses.length == 1) - return - - selectionDialog.mode = 3 - selectionDialog.titleText = qsTr("Mail %1").arg(contact.firstName) - selectionDialog.model = contact.emailAddresses - selectionDialog.open() - } - } - - Column { - anchors.top: mailButton.bottom - anchors.topMargin: UiConstants.DefaultMargin - anchors.left: parent.left - anchors.right: parent.right - spacing: UiConstants.DefaultMargin - anchors.leftMargin: 20 - - ViewAddress { - id: addressRepeater - anchors.left: parent.left - anchors.right: parent.right - } - } -} - diff --git a/src/qml/ContactCardPage.qml b/src/qml/ContactCardPage.qml deleted file mode 100644 index a357d48..0000000 --- a/src/qml/ContactCardPage.qml +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Copyright (C) 2011-2012 Robin Burchell - * - * You may use this file under the terms of the BSD license as follows: - * - * "Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Nemo Mobile nor the names of its contributors - * may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." - */ - -import QtQuick 2.0 -import com.nokia.meego 2.0 -import org.nemomobile.qmlcontacts 1.0 -import org.nemomobile.contacts 1.0 -import org.nemomobile.voicecall 1.0 - -Page { - id: detailViewPage - property Person contact - - VoiceCallManager {id:callManager} - MessagesInterface { id: messagesInterface } - - Connections { - target: contact - onContactRemoved: { - pageStack.pop() - } - } - - onContactChanged: { - detailViewContact.newContact() - } - - function contactChange() - { - if (detailViewPage.visible) - { - detailViewContact.newContact() - } - } - - ContactCardContentWidget { - id: detailViewContact - anchors.fill: parent - contact: detailViewPage.contact - callManager: callManager - } - - tools: ToolBarLayout { - ToolIcon { - iconId: "icon-m-toolbar-back" - onClicked: pageStack.pop() - } - ToolIcon { - iconId: "icon-m-toolbar-edit" - onClicked: pageStack.openSheet(Qt.resolvedUrl("ContactEditorSheet.qml"), { contact: contact }) - } - ToolIcon { - iconId: contact.favorite ? "icon-m-toolbar-favorite-mark" : "icon-m-toolbar-favorite-unmark" - onClicked: { - contact.favorite = !contact.favorite - - // TODO: delay saving to save CPU on repeated toggling - app.contactListModel.savePerson(detailViewPage.contact) - } - } - ToolIcon { - iconId: "icon-m-toolbar-view-menu" - onClicked: (myMenu.status == DialogStatus.Closed) ? myMenu.open() : myMenu.close() - } - } - - Menu { - id: myMenu - MenuLayout { - MenuItem { - text: "Delete"; - onClicked: { - pageStack.openDialog(Qt.resolvedUrl("DeleteContactDialog.qml"), { contact: contact }) - } - } - } - } -} - diff --git a/src/qml/ContactEditorSheet.qml b/src/qml/ContactEditorSheet.qml deleted file mode 100644 index 1a1f357..0000000 --- a/src/qml/ContactEditorSheet.qml +++ /dev/null @@ -1,255 +0,0 @@ -/* - * Copyright (C) 2012 Jolla Ltd. - * Copyright (C) 2011-2012 Robin Burchell - * - * You may use this file under the terms of the BSD license as follows: - * - * "Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Nemo Mobile nor the names of its contributors - * may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." - */ - -import QtQuick 2.0 -import com.nokia.meego 2.0 -import org.nemomobile.qmlcontacts 1.0 -import org.nemomobile.contacts 1.0 - -Sheet { - id: newContactViewPage - - acceptButtonText: qsTr("Save") - rejectButtonText: qsTr("Cancel") - - acceptButtonEnabled: data_first.edited || data_last.edited || - data_company.edited || - data_avatar.edited || phoneRepeater.edited || - emailRepeater.edited || addressRepeater.edited - - property Person contact - - Connections { - target: contact - onContactRemoved: { - reject() - } - } - - - onContactChanged: { - data_first.text = contact.firstName - data_last.text = contact.lastName - data_company.text = contact.companyName - data_avatar.contact = contact - if (contact.avatarPath != "image://theme/icon-m-telephony-contact-avatar" ) - data_avatar.originalSource = "image://nemothumbnail/" + contact.avatarPath - else - data_avatar.originalSource = contact.avatarPath - - phoneRepeater.setModelData(contact.phoneNumbers) - emailRepeater.setModelData(contact.emailAddresses) - addressRepeater.setModelData(contact.addressesTypeList, contact.addresses) - } - - SelectionDialog { - id: selectionDialog - titleText: qsTr("Select work, home or other address") - - onSelectedIndexChanged: { - if (selectedIndex != -1) - { - addressRepeater.addNewData(selectionDialog.model.get(selectedIndex).name); - } - } - } - - content: Flickable { - anchors.fill: parent - contentHeight: editorContent.childrenRect.height + UiConstants.DefaultMargin * 2 - - Item { - id: editorContent - anchors.leftMargin: UiConstants.DefaultMargin - anchors.rightMargin: UiConstants.DefaultMargin - anchors.fill: parent - - Button { - id: avatarRect - width: height - anchors { top: parent.top; topMargin: UiConstants.DefaultMargin; left:parent.left; bottom: data_last.bottom } - onClicked: { - var avatarPicker = pageStack.openSheet(Qt.resolvedUrl("AvatarPickerSheet.qml"), { contact: contact }) - avatarPicker.avatarPicked.disconnect() - avatarPicker.avatarPicked.connect(function(avatar) { - data_avatar.source = avatar - }); - } - ContactAvatarImage { - id: data_avatar - property string originalSource - property bool edited: source != originalSource - width: parent.width - UiConstants.DefaultMargin - height: parent.height - UiConstants.DefaultMargin - anchors.centerIn: parent - contact: newContactViewPage.contact - } - } - TextField { - id: data_first - placeholderText: qsTr("First name") - property bool edited: data_first.text != contact.firstName - anchors { top: avatarRect.top; right: parent.right; left: avatarRect.right; leftMargin: UiConstants.DefaultMargin } - } - TextField { - id: data_last - placeholderText: qsTr("Last name") - property bool edited: text != contact.lastName - anchors { top: data_first.bottom; - topMargin: UiConstants.DefaultMargin; - right: parent.right; left: data_first.left - } - } - TextField { - id: data_company - placeholderText: qsTr("Company") - property bool edited: text != contact.companyName - anchors { top: data_last.bottom; - topMargin: UiConstants.DefaultMargin; - right: parent.right; left: data_last.left - } - } - - Column { - id: phones - anchors.top: data_company.bottom - anchors.topMargin: UiConstants.DefaultMargin - anchors.left: parent.left - anchors.right: parent.right - spacing: UiConstants.DefaultMargin - - EditableList { - id: phoneRepeater - placeholderText: qsTr("Phone number") - anchors.left: parent.left - anchors.right: parent.right - } - } - - Column { - id: emails - anchors.top: phones.bottom - anchors.topMargin: UiConstants.DefaultMargin - anchors.left: parent.left - anchors.right: parent.right - spacing: UiConstants.DefaultMargin - - EditableList { - id: emailRepeater - placeholderText: qsTr("Email address") - anchors.left: parent.left - anchors.right: parent.right - } - } - - Button { - id: buttonAddAddress - anchors.top: emails.bottom - anchors.topMargin: UiConstants.DefaultMargin - anchors.left: parent.left - anchors.right: parent.right - height: 40 - width: 200 - visible: true - text: "Add address" - onClicked: { - selectionDialog.model.clear(); - var iCount = 0; - - if (!addressRepeater.isAddressTypeExists("Work")) - { - selectionDialog.model.append( { name: "Work" } ); - iCount = 1; - } - if (!addressRepeater.isAddressTypeExists("Home")) - { - selectionDialog.model.append( { name: "Home" } ); - iCount = 1; - } - if (!addressRepeater.isAddressTypeExists("Other")) - { - selectionDialog.model.append( { name: "Other" } ); - iCount = 1; - } - - if (iCount != 0) - { - selectionDialog.selectedIndex = -1; - selectionDialog.open() - } - } - } - - Column { - anchors.top: buttonAddAddress.bottom - anchors.topMargin: UiConstants.DefaultMargin - anchors.left: parent.left - anchors.right: parent.right - spacing: UiConstants.DefaultMargin - - EditAddress { - id: addressRepeater - anchors.left: parent.left - anchors.right: parent.right - } - } - - } - } - - onAccepted: saveContact(); - - function saveContact() { - contact.firstName = data_first.text - contact.lastName = data_last.text - contact.companyName = data_company.text - contact.avatarPath = data_avatar.source - contact.phoneNumbers = phoneRepeater.modelData() - contact.emailAddresses = emailRepeater.modelData() - contact.addresses = addressRepeater.modelData() - contact.addressesTypeList = addressRepeater.modelDataTypes() - - // TODO: this isn't asynchronous - app.contactListModel.savePerson(contact) - - // TODO: revisit - if (contact.dirty) - console.log("[saveContact] Unable to create new contact due to missing info"); - else - { - console.log("[saveContact] Saved contact") - pageStack.currentPage.contactChange(); - } - } -} - - diff --git a/src/qml/ContactImportSheet.qml b/src/qml/ContactImportSheet.qml deleted file mode 100644 index c000e73..0000000 --- a/src/qml/ContactImportSheet.qml +++ /dev/null @@ -1,101 +0,0 @@ -/* - * Copyright (C) 2011-2012 Robin Burchell - * Copyright (C) 2012 Jolla Ltd. - * - * You may use this file under the terms of the BSD license as follows: - * - * "Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Nemo Mobile nor the names of its contributors - * may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." - */ - -import QtQuick 2.0 -import com.nokia.meego 2.0 -import org.nemomobile.contacts 1.0 -import org.nemomobile.folderlistmodel 1.0 -import org.nemomobile.qmlfilemuncher 1.0 - -Sheet { - id: newContactViewPage - acceptButtonText: "Import" - rejectButtonText: "Cancel" - - onStatusChanged: { - if (status == DialogStatus.Opening) { - sheetContent.fileName = "" - folderListModel.refresh() - } - } - - content: ListView { - id: sheetContent - anchors.fill: parent - property string fileName - - model: FolderListModel { - id: folderListModel - path: DocumentsLocation - showDirectories: false - nameFilters: [ "*.vcf" ] - } - - delegate: FileListDelegate { - selected: sheetContent.fileName == model.fileName - onClicked: { - sheetContent.fileName = model.fileName - console.log(model.fileName) - } - } - } - - onAccepted: doImport(); - - function doImport() { - // TODO: would be nice if folderlistmodel had a role for the full - // resolved path - console.log("Importing " + sheetContent.fileName) - var count = app.contactListModel.importContacts(folderListModel.path + "/" + sheetContent.fileName) - importCompletedDialog.contactCount = count - importCompletedDialog.open() - } - - Dialog { - id: importCompletedDialog - property int contactCount: 0 - - title: Label { - color: "white" - text: "Import completed" - } - - content: Label { - color: "white" - text: "Imported " + importCompletedDialog.contactCount + " contacts" - width: parent.width - height: paintedHeight - } - } -} - - diff --git a/src/qml/ContactListPage.qml b/src/qml/ContactListPage.qml deleted file mode 100644 index 13b0bcc..0000000 --- a/src/qml/ContactListPage.qml +++ /dev/null @@ -1,143 +0,0 @@ -/* - * Copyright (C) 2011-2012 Robin Burchell - * - * You may use this file under the terms of the BSD license as follows: - * - * "Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Nemo Mobile nor the names of its contributors - * may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." - */ - -import QtQuick 2.0 -import com.nokia.meego 2.0 -import org.nemomobile.qmlcontacts 1.0 -import org.nemomobile.contacts 1.0 - -Page { - id: groupedViewPage - - PageHeader { - id: header - text: qsTr("Contacts") - color: "#007FFF" - } - - SearchBox { - id: searchbox - placeHolderText: "Search" - anchors.top: header.bottom - width: parent.width - onSearchTextChanged: { - app.contactListModel.search(searchbox.searchText); - } - } - - function contactChange() - { - } - - Component { - id: contactComponent - Person { - } - } - - ContactListWidget { - id: gvp - anchors.top: searchbox.bottom - width: parent.width - anchors.bottom: parent.bottom - clip: true - onAddNewContact: { - var editor = pageStack.openSheet(Qt.resolvedUrl("ContactEditorSheet.qml")) - editor.contact = contactComponent.createObject(editor) - } - - searching: (searchbox.searchText.length > 0) - model: app.contactListModel - delegate: ContactListDelegate { - id: card - onClicked: pageStack.push(Qt.resolvedUrl("ContactCardPage.qml"), { contact: model.person }) - } - } - - tools: ToolBarLayout { - ToolIcon { - iconId: "icon-m-common-add" - onClicked: { - var editor = pageStack.openSheet(Qt.resolvedUrl("ContactEditorSheet.qml")); - editor.contact = contactComponent.createObject(editor) - } - } - - ToolIcon { - iconId: "icon-m-toolbar-view-menu" - onClicked: (pageMenu.status == DialogStatus.Closed) ? pageMenu.open() : pageMenu.close() - } - } - - Menu { - id: pageMenu - MenuLayout { - MenuItem { - text: "Import contacts" - onClicked: pageStack.openSheet(Qt.resolvedUrl("ContactImportSheet.qml")) - } - - MenuItem { - text: "Export contacts" - onClicked: { - var path = app.contactListModel.exportContacts() - exportCompleteDialog.path = path - exportCompleteDialog.open() - } - } - - MenuItem { - text: "Settings" - onClicked: { - pageStack.push(Qt.resolvedUrl("SettingsPage.qml")); - } - } - } - } - - Dialog { - id: exportCompleteDialog - property string path - - title: Label { - color: "white" - text: "Export completed" - } - - content: Label { - color: "white" - text: "Export completed to " + exportCompleteDialog.path - width: parent.width - height: paintedHeight - } - } -} - diff --git a/src/qml/DeleteContactDialog.qml b/src/qml/DeleteContactDialog.qml deleted file mode 100644 index 86145d3..0000000 --- a/src/qml/DeleteContactDialog.qml +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (C) 2011-2012 Robin Burchell - * - * You may use this file under the terms of the BSD license as follows: - * - * "Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Nemo Mobile nor the names of its contributors - * may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." - */ - -import QtQuick 2.0 -import com.nokia.meego 2.0 -import org.nemomobile.contacts 1.0 - -QueryDialog { - property Person contact: Person {} - - titleText: "Delete " + contact.displayLabel + "?" - message: "Are you sure?" - acceptButtonText: "Yes" - rejectButtonText: "No" - - onAccepted: { - app.contactListModel.removePerson(contact) - pageStack.pop() - } -} diff --git a/src/qml/EditAddress.qml b/src/qml/EditAddress.qml deleted file mode 100644 index 096df19..0000000 --- a/src/qml/EditAddress.qml +++ /dev/null @@ -1,269 +0,0 @@ -/* - * Copyright (C) 2011-2012 Robin Burchell - * - * You may use this file under the terms of the BSD license as follows: - * - * "Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Nemo Mobile nor the names of its contributors - * may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." - */ - -import QtQuick 2.0 -import com.nokia.meego 2.0 -import org.nemomobile.contacts 1.0 - -Repeater { - id: root - property string placeholderText - property bool edited : false - property variant originalData - model: ListModel { - } - property bool isSetup: false - - function addNewData(nText) - { - model.append({ data: nText, data_street: "", data_city: "", data_state: "", data_postalcode: "", data_country: "", data_postofficebox: "" }) - edited = true - } - - function isAddressTypeExists(nType) - { - for (var i=0;i - * - * You may use this file under the terms of the BSD license as follows: - * - * "Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Nemo Mobile nor the names of its contributors - * may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." - */ - -import QtQuick 2.0 -import com.nokia.meego 2.0 -import org.nemomobile.contacts 1.0 - -Repeater { - id: root - property string placeholderText - property bool edited : false - property variant originalData - model: ListModel { - } - property bool isSetup: false - - function setModelData(modelData) { - isSetup = false - model.clear() - - for (var i = 0; i < modelData.length; ++i) { - model.append({ data: modelData[i] }) - } - - model.append({ data: "" }) - originalData = modelData - isSetup = true - } - - function modelData() { - var modelData = [] - - // the -1 here is because we want to skip the always-added empty on the - // end of the model. - for (var i = 0; i < model.count - 1; ++i) { - modelData.push(model.get(i).data) - } - return modelData; - } - - delegate: TextField { - text: model.data - placeholderText: root.placeholderText - width: root.width - - onTextChanged: { - if (!root.isSetup) - return - - root.model.get(index).data = text - if (index == (root.model.count - 1)) { - root.model.append({ data: "" }) - } else if (text == "" && index != (root.model.count - 1)) { - root.model.remove(index) - } - if (!root.originalData[index] && text != "") { - edited = true - } else if(root.originalData[index] && root.originalData[index] != text) { - edited = true - } - else { - edited = false - } - } - } -} - diff --git a/src/qml/MessagesInterface.qml b/src/qml/MessagesInterface.qml deleted file mode 100644 index ac03071..0000000 --- a/src/qml/MessagesInterface.qml +++ /dev/null @@ -1,23 +0,0 @@ -import QtQuick 2.0 -import org.nemomobile.dbus 1.0 - -DBusInterface { - id: messagesInterface - destination: "org.nemomobile.qmlmessages" - path: "/" - iface: "org.nemomobile.qmlmessages" - - function startConversation(localUid, remoteUid) { - typedCall('startConversation', [ - { 'type':'s', 'value':localUid }, - { 'type':'s', 'value':remoteUid } - ]) - } - - function startSMS(phoneNumber) { - typedCall('startSMS', [ - { 'type':'s', 'value':phoneNumber } - ]) - } -} - diff --git a/src/qml/SearchBox.qml b/src/qml/SearchBox.qml deleted file mode 100644 index 6269f24..0000000 --- a/src/qml/SearchBox.qml +++ /dev/null @@ -1,139 +0,0 @@ -/**************************************************************************** - ** - ** Copyright (C) 2012 Robin Burchell - ** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). - ** - ** $QT_BEGIN_LICENSE:BSD$ - ** You may use this file under the terms of the BSD license as follows: - ** - ** "Redistribution and use in source and binary forms, with or without - ** modification, are permitted provided that the following conditions are - ** met: - ** * Redistributions of source code must retain the above copyright - ** notice, this list of conditions and the following disclaimer. - ** * Redistributions in binary form must reproduce the above copyright - ** notice, this list of conditions and the following disclaimer in - ** the documentation and/or other materials provided with the - ** distribution. - ** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor - ** the names of its contributors may be used to endorse or promote - ** products derived from this software without specific prior written - ** permission. - ** - ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." - ** $QT_END_LICENSE$ - ** - ****************************************************************************/ - -import QtQuick 2.0 -import com.nokia.meego 2.0 - -Item { - id: root - - // Declared properties - property alias searchText: searchTextInput.text - property alias placeHolderText: searchTextInput.placeholderText - property alias maximumLength: searchTextInput.maximumLength - property alias activeFocus2: searchTextInput.activeFocus - // Styling for the SearchBox - property Style platformStyle: ToolBarStyle {} - - // Signals & functions - signal backClicked - - // Attribute definitions - width: parent ? parent.width : 0 - height: bgImage.height - - - // SearchBox background. - BorderImage { - id: bgImage - width: root.width - border.left: 10 - border.right: 10 - border.top: 10 - border.bottom: 10 - source: platformStyle.background - } - - TextField { - id: searchTextInput - - // Helper function ripped from QQC platform sources. Used for - // getting the correct URI for the platform toolbar images. - function __handleIconSource(iconId) { - var prefix = "icon-m-" - // check if id starts with prefix and use it as is - // otherwise append prefix and use the inverted version if required - if (iconId.indexOf(prefix) !== 0) - iconId = prefix.concat(iconId).concat(theme.inverted ? "-white" : ""); - return "image://theme/" + iconId; - } - - inputMethodHints: Qt.ImhNoPredictiveText - - anchors { - left: parent.left - right: parent.right - verticalCenter: parent.verticalCenter - margins: UiConstants.DefaultMargin - } - - // Save some empty space for the text on the left & right, - // for the icon graphics. - platformStyle: TextFieldStyle { - paddingLeft: searchIcon.width + UiConstants.DefaultMargin * 1.5 // 2 is mathematically correct, but looks too big. - paddingRight: clearTextIcon.width - } - - // Search icon, just for styling the SearchBox a bit. - Image { - id: searchIcon - - anchors { - left: parent.left - verticalCenter: parent.verticalCenter - margins: UiConstants.DefaultMargin - } - - fillMode: Image.PreserveAspectFit - source: searchTextInput.__handleIconSource("toolbar-search") - } - - // A trash can image, clicking it allows the user to quickly - // remove the typed text. - Image { - id: clearTextIcon - - anchors { - right: parent.right - rightMargin: UiConstants.DefaultMargin - verticalCenter: parent.verticalCenter - } - - fillMode: Image.PreserveAspectFit - source: searchTextInput.__handleIconSource("toolbar-delete") - visible: searchTextInput.text.length > 0 - - MouseArea { - anchors.fill: parent - onClicked: { - searchTextInput.text = "" - searchTextInput.forceActiveFocus() - } - } - } - } -} diff --git a/src/qml/SettingsPage.qml b/src/qml/SettingsPage.qml deleted file mode 100644 index 01e52de..0000000 --- a/src/qml/SettingsPage.qml +++ /dev/null @@ -1,149 +0,0 @@ -/* - * Copyright (C) 2011-2012 Timo Hannukkala - * - * You may use this file under the terms of the BSD license as follows: - * - * "Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Nemo Mobile nor the names of its contributors - * may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." - */ - -import QtQuick 2.0 -import com.nokia.meego 2.0 -//import org.nemomobile.qmlcontacts 1.0 -//import org.nemomobile.contacts 1.0 -//import org.nemomobile.voicecall 1.0 - -Page { - id: settingsPage - - PageHeader { - id: header - text: qsTr("Settings") - color: "#007FFF" - } - - Label { - id: searchbox - text: "Show contacts:" - anchors.top: header.bottom - width: parent.width - anchors.leftMargin: 20 - } - - CheckBox { - id: showAllContacts - text: "Show All contacts" - anchors.top: searchbox.bottom - width: parent.width - anchors.leftMargin: 20 - checked: true - onClicked: { - showAllContacts.checked = true - showFavoriteContacts.checked = false - showPhoneNumberContacts.checked = false - showEmailContacts.checked = false - app.contactListModel.setFilterType(1); - } - } - - CheckBox { - id: showFavoriteContacts - text: "Show favorite contacts" - anchors.top: showAllContacts.bottom - width: parent.width - anchors.leftMargin: 20 - onClicked: { - showAllContacts.checked = false - showFavoriteContacts.checked = true - showPhoneNumberContacts.checked = false - showEmailContacts.checked = false - app.contactListModel.setFilterType(2); - } - } - - CheckBox { - id: showPhoneNumberContacts - text: "Show contacts with phone number" - anchors.top: showFavoriteContacts.bottom - width: parent.width - anchors.leftMargin: 20 - onClicked: { - showAllContacts.checked = false - showFavoriteContacts.checked = false - showPhoneNumberContacts.checked = true - showEmailContacts.checked = false - app.contactListModel.setFilterType(5); - } - } - - CheckBox { - id: showEmailContacts - text: "Show contacts with email address" - anchors.top: showPhoneNumberContacts.bottom - width: parent.width - anchors.leftMargin: 20 - onClicked: { - showAllContacts.checked = false - showFavoriteContacts.checked = false - showPhoneNumberContacts.checked = false - showEmailContacts.checked = true - app.contactListModel.setFilterType(4); - } - - } - - - Component.onCompleted: { - if (app.contactListModel.filterType == 2) - { - showAllContacts.checked = false - showFavoriteContacts.checked = true - showPhoneNumberContacts.checked = false - showEmailContacts.checked = false - } - else if (app.contactListModel.filterType == 4) - { - showAllContacts.checked = false - showFavoriteContacts.checked = false - showPhoneNumberContacts.checked = false - showEmailContacts.checked = true - } - else if (app.contactListModel.filterType == 5) - { - showAllContacts.checked = false - showFavoriteContacts.checked = false - showPhoneNumberContacts.checked = true - showEmailContacts.checked = false - } - } - - tools: ToolBarLayout { - ToolIcon { - iconId: "icon-m-toolbar-back" - onClicked: pageStack.pop() - } - } -} - diff --git a/src/qml/ViewAddress.qml b/src/qml/ViewAddress.qml deleted file mode 100644 index c7c4653..0000000 --- a/src/qml/ViewAddress.qml +++ /dev/null @@ -1,120 +0,0 @@ -/* - * Copyright (C) 2011-2012 Robin Burchell - * - * You may use this file under the terms of the BSD license as follows: - * - * "Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Nemo Mobile nor the names of its contributors - * may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." - */ - -import QtQuick 2.0 -import com.nokia.meego 2.0 -import org.nemomobile.contacts 1.0 - -Repeater { - id: root - property variant originalData - model: ListModel { - } - - function setModelData(modelDataType, modelData) { - model.clear() - - for (var i = 0; i < modelData.length; ++i) { - var words = modelData[i].split("\n") - model.append({ data: modelDataType[i], data_street: words[0], data_city: words[1], data_state: words[2], data_postalcode: words[3], data_country: words[4], data_postofficebox: words[5] }) - } - } - - - - Item { - id: rootItem - anchors.left: parent.left - anchors.right: parent.right - height: 320 - - Label { - id: addressType - text: model.data - font.family: "Helvetica" - font.pointSize: 20 - color: "black" - } - - Label { - id: data_street - text: model.data_street - anchors { top: addressType.bottom; - } - } - - Label { - id: data_city - text: model.data_city - anchors { top: data_street.bottom; - topMargin: data_street.topMargin; - right: data_street.right; left: data_street.left - } - } - - Label { - id: data_state - text: model.data_state - anchors { top: data_city.bottom; - topMargin: data_street.topMargin; - right: data_street.right; left: data_street.left - } - } - - Label { - id: data_postalcode - text: model.data_postalcode - anchors { top: data_state.bottom; - topMargin: data_street.topMargin; - right: data_street.right; left: data_street.left - } - } - - Label { - id: data_country - text: model.data_country - anchors { top: data_postalcode.bottom; - topMargin: data_street.topMargin; - right: data_street.right; left: data_street.left - } - } - - Label { - id: data_postofficebox - text: model.data_postofficebox - anchors { top: data_country.bottom; - topMargin: data_street.topMargin; - right: data_street.right; left: data_street.left - } - } - } -} - diff --git a/src/qml/api/ContactAvatarImage.qml b/src/qml/api/ContactAvatarImage.qml deleted file mode 100644 index 4f79877..0000000 --- a/src/qml/api/ContactAvatarImage.qml +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright (C) 2011-2012 Robin Burchell - * - * You may use this file under the terms of the BSD license as follows: - * - * "Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Nemo Mobile nor the names of its contributors - * may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." - */ - -import QtQuick 2.0 -import org.nemomobile.thumbnailer 1.0 -import org.nemomobile.contacts 1.0 - -Image { - fillMode: Image.PreserveAspectCrop - asynchronous: true - width: UiConstants.ListItemHeightSmall - height: UiConstants.ListItemHeightSmall - property Person contact - sourceSize.width: width - sourceSize.height: width - - onContactChanged: { - contact.avatarPathChanged.connect(avatarPotentiallyChanged) - avatarPotentiallyChanged(); - } - - Component.onCompleted: { - if (contact == null) - avatarPotentiallyChanged(); - } - - function avatarPotentiallyChanged() { - if (contact == null || contact.avatarPath == "image://theme/icon-m-telephony-contact-avatar") - source = "image://theme/icon-m-telephony-contact-avatar" - else - source = "image://nemoThumbnail/" + contact.avatarPath - } - - onStatusChanged: { - var fallback = "image://theme/icon-m-telephony-contact-avatar" - if (status == Image.Error || status == Image.Null) { - if (source == fallback) - console.log("ContactAvatarImage failed to load fallback image!"); - else - source = fallback - } - } -} diff --git a/src/qml/api/ContactListDelegate.qml b/src/qml/api/ContactListDelegate.qml deleted file mode 100644 index 4969e0a..0000000 --- a/src/qml/api/ContactListDelegate.qml +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright (C) 2011-2012 Robin Burchell - * - * You may use this file under the terms of the BSD license as follows: - * - * "Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Nemo Mobile nor the names of its contributors - * may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." - */ - -import QtQuick 2.0 -import com.nokia.meego 2.0 - -MouseArea { - id: listDelegate - - height: UiConstants.ListItemHeightDefault - width: parent.width - - ContactAvatarImage { - id: photo - contact: model.person - x: UiConstants.DefaultMargin - anchors.verticalCenter: parent.verticalCenter - } - - Label { - id: nameFirst - text: model.person.displayLabel - elide: Text.ElideRight - anchors { - left: photo.right; - right: favorite.visible ? favorite.left : parent.right - verticalCenter: parent.verticalCenter; - leftMargin: UiConstants.DefaultMargin - } - } - - // TODO: only instantiate if required? - Image { - id: favorite - source: "image://theme/icon-m-toolbar-favorite-mark" - visible: model.person.favorite - anchors.right: parent.right - anchors.rightMargin: UiConstants.DefaultMargin - anchors.verticalCenter: parent.verticalCenter - } - - states: State { - name: "pressed"; when: pressed == true - PropertyChanges { target: listDelegate; opacity: .7} - } - -} - diff --git a/src/qml/api/ContactListWidget.qml b/src/qml/api/ContactListWidget.qml deleted file mode 100644 index a729cb9..0000000 --- a/src/qml/api/ContactListWidget.qml +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright (C) 2011-2012 Robin Burchell - * - * You may use this file under the terms of the BSD license as follows: - * - * "Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Nemo Mobile nor the names of its contributors - * may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." - */ - -import QtQuick 2.0 -import com.nokia.meego 2.0 - -ListView { - id: groupedViewPortrait - - signal addNewContact - - property bool searching: false - - cacheBuffer: height - section.property: "sectionBucket" - section.criteria: ViewSection.FirstCharacter - section.delegate: Rectangle { - width: parent.width - height: childrenRect.height - color: "lightsteelblue" - - Text { - anchors.right: parent.right - anchors.rightMargin: UiConstants.DefaultMargin - text: section - font.bold: true - } - } - - ViewPlaceholder { - enabled: parent.count == 0 - text: ((searching) ? qsTr("Contact not found.") : qsTr("You haven't added any contacts yet.")); - } - - SectionScroller { - listView: parent - } - - ScrollDecorator { - flickableItem: parent - } -} diff --git a/src/qml/api/qmldir b/src/qml/api/qmldir deleted file mode 100644 index 306b809..0000000 --- a/src/qml/api/qmldir +++ /dev/null @@ -1,3 +0,0 @@ -ContactAvatarImage 1.0 ContactAvatarImage.qml -ContactListDelegate 1.0 ContactListDelegate.qml -ContactListWidget 1.0 ContactListWidget.qml diff --git a/src/qml/main.qml b/src/qml/main.qml deleted file mode 100644 index 0504d23..0000000 --- a/src/qml/main.qml +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright 2011 Intel Corporation. - * - * This program is licensed under the terms and conditions of the - * Apache License, version 2.0. The full text of the Apache License is at - * http://www.apache.org/licenses/LICENSE-2.0 - */ - -import QtQuick 2.0 -import com.nokia.meego 2.0 -import org.nemomobile.contacts 1.0 - -PageStackWindow { - id: app - showToolBar: true; - - property variant accountItem - - property string filterNew: qsTr("New contact") - property string filterAll: qsTr("All") - property string filterFavorites: qsTr("Favorites") - - //: Load the details for the selected contact - property string contextView: qsTr("View") - property string contextShare: qsTr("Share") - property string contextEmail: qsTr("Email") - - //: Add favorite flag / add contact to favorites list - property string contextFavorite: qsTr("Favorite", "Verb") - - //: Remove favorite flag / remove contact from favorites list - property string contextUnFavorite: qsTr("Unfavorite") - - property string contextEdit: qsTr("Edit") - property string contextSave: qsTr("Save") - property string contextCancel: qsTr("Cancel") - property string contextDelete: qsTr("Delete") - - //: Confirmation of deletion - ensure the user wants to delete the contact - property string deleteConfirmation: qsTr("Delete Confirmation") - property int dateFormat: Qt.DefaultLocaleLongDate - - property string labelGroupedView: qsTr("Contacts") - property string labelDetailView: qsTr("Contact details") - property string labelNewContactView: qsTr("New contact") - property string labelEditView: qsTr("Edit contacts") - - //: If we are unable to get the contact name, use 'this contact' instead - property string contactname : (app.currentContactName ? app.currentContactName : qsTr("this contact")) - property string promptStr: qsTr("Are you sure you want to remove %1 from your contacts?").arg(contactname) - - property int animationDuration: 250 - - initialPage: Component { ContactListPage {} } - - property PeopleModel contactListModel: PeopleModel { - -// for testing purposes - Component.onCompleted: { -// importContacts("../test/example.vcf") - setDisplayLabelOrder(false); - setFilterType(1); - } - } - - - -} - diff --git a/src/qmlcontacts.desktop b/src/qmlcontacts.desktop deleted file mode 100644 index 5123175..0000000 --- a/src/qmlcontacts.desktop +++ /dev/null @@ -1,6 +0,0 @@ -[Desktop Entry] -Type=Application -Name=People -Icon=icons-Applications-people -Exec=invoker -s --type=qtcomponents-qt5 /usr/bin/qmlcontacts -fullscreen -Comment=Nemo People Application diff --git a/src/res.qrc b/src/res.qrc deleted file mode 100644 index dc9ffd6..0000000 --- a/src/res.qrc +++ /dev/null @@ -1,19 +0,0 @@ - - - qml/AvatarPickerSheet.qml - qml/ContactCardContentWidget.qml - qml/ContactCardPage.qml - qml/ContactEditorSheet.qml - qml/ContactImportSheet.qml - qml/EditAddress.qml - qml/ViewAddress.qml - qml/EditableList.qml - qml/ContactListPage.qml - qml/DeleteContactDialog.qml - qml/main.qml - qml/SearchBox.qml - qml/CheckBox.qml - qml/SettingsPage.qml - qml/MessagesInterface.qml - - diff --git a/src/src.pro b/src/src.pro deleted file mode 100644 index ca1fe47..0000000 --- a/src/src.pro +++ /dev/null @@ -1,50 +0,0 @@ -VERSION = 0.3.9 -PROJECT_NAME = qmlcontacts -TEMPLATE = app -CONFIG += ordered mobility hide_symbols -MOBILITY += contacts -QT += quick widgets -TARGET = $$PROJECT_NAME -CONFIG -= app_bundle # OS X - -CONFIG += link_pkgconfig - -packagesExist(qdeclarative5-boostable) { - message("Building with qdeclarative-boostable support") - DEFINES += HAS_BOOSTER - PKGCONFIG += qdeclarative5-boostable -} else { - warning("qdeclarative-boostable not available; startup times will be slower") -} - -SOURCES += main.cpp -RESOURCES += res.qrc - -QML_FILES = qml/*.qml -JS_FILES = *qml/.js - -OTHER_FILES += $${QML_FILES} $${JS_FILES} - -target.path = $$INSTALL_ROOT/usr/bin/ -INSTALLS += target - -desktop.files = $${PROJECT_NAME}.desktop -desktop.path = $$INSTALL_ROOT/usr/share/applications -INSTALLS += desktop - -# qml API we provide -qml_api.files = qml/api/* -qml_api.path = /usr/lib/qt5/qml/org/nemomobile/$$PROJECT_NAME -INSTALLS += qml_api - -TRANSLATIONS += *.qml -dist.commands += rm -fR $${PROJECT_NAME}-$${VERSION} && -dist.commands += git clone . $${PROJECT_NAME}-$${VERSION} && -dist.commands += rm -fR $${PROJECT_NAME}-$${VERSION}/.git && -dist.commands += rm -f $${PROJECT_NAME}-$${VERSION}/.gitignore && -dist.commands += mkdir -p $${PROJECT_NAME}-$${VERSION}/ts && -dist.commands += lupdate $${TRANSLATIONS} -ts $${PROJECT_NAME}-$${VERSION}/ts/$${PROJECT_NAME}.ts && -dist.commands += tar jcpvf $${PROJECT_NAME}-$${VERSION}.tar.bz2 $${PROJECT_NAME}-$${VERSION} && -dist.commands += rm -fR $${PROJECT_NAME}-$${VERSION} -QMAKE_EXTRA_TARGETS += dist - diff --git a/src/src.qmlproject b/src/src.qmlproject deleted file mode 100644 index 9062c6a..0000000 --- a/src/src.qmlproject +++ /dev/null @@ -1,16 +0,0 @@ -import QmlProject 1.0 - -Project { - /* Include .qml, .js, and image files from current directory and subdirectories */ - QmlFiles { - directory: "." - } - JavaScriptFiles { - directory: "." - } - ImageFiles { - directory: "." - } - /* List of plugin directories passed to QML runtime */ - // importPaths: [ "../exampleplugin" ] -} diff --git a/test/README b/test/README deleted file mode 100644 index 3c40a17..0000000 --- a/test/README +++ /dev/null @@ -1,10 +0,0 @@ -MeeGo App Contacts Tests -======================= - -Avaialble tests: - -1) load_vcard: Uses asynchronous APIs to load a vcard - -How to Run: - ./load_vcard.sh - - Ex: ./load_vcard.sh KOR diff --git a/test/example.vcf b/test/example.vcf deleted file mode 100644 index 9a26e9c..0000000 --- a/test/example.vcf +++ /dev/null @@ -1,164 +0,0 @@ -BEGIN:VCARD -VERSION:3.0 -FN:Ms. Aaron Gates -N:Gates;Aaron;;; -NICKNAME:Aaron nickname -IMPP;X-YAHOO:ymsgr:julien -IMPP;X-JABBER:xmpp:mikec@jabber.com -IMPP;X-AIM:aim:screenname=tacos -IMPP;X-MSN:msnim:contact=moolots -EMAIL;TYPE=INTERNET:aaron@example.com -EMAIL;TYPE=INTERNET:aaron_extra@example.com -TEL;TYPE=WORK:33333 -TEL;TYPE=HOME:333331 -TEL;TYPE=HOME;TYPE=FAX:333332 -TEL;TYPE=PAGER:333333 -TEL;TYPE=CELL:333334 -ADR;WORK;POSTAL;CHARSET=UTF-8:PO Box;Extended Address;Work Street Address;Work Locality(Town);Work Region(State);Work Post Code;Work Country;Work City;Work State;Work PostCode;Work Country -ADR;HOME;POSTAL;CHARSET=UTF-8:PO Box;Extended Address;Home Street Address;Home Locality(Town);Home Region(State);Home Post Code;Home Country;Work City;Work State;Work PostCode;Work Country -LABEL;WORK;ENCODING=QUOTED-PRINTABLE:BusinessOffice=0D=0A=0D=0A, =0D=0A -LABEL;HOME;ENCODING=QUOTED-PRINTABLE:=0D=0A, =0D=0A -ORG:Example -TITLE:Engineer -BDAY:2009-01-01 -PHOTO;ENCODING=BASE64;TYPE=GOOGLECONTACTSPHOTO_1140C7078B06ECD7:/9j/4A - AQSkZJRgABAQAAAQABAAD/2wCEAAUDBA0OCREQDg8IDggICAoICAgOCAgICQgICBAIBw - gICAgIDRANCAgOCQgIDBUNDhERExMTBw0WGBYSGBAXExIBBQUFCAcHDwkJDxgVEhQYFh - kUFBQUFBQUFBUUFBwcFBQUFBQUFBQUFRUWFBQUFBQUFBQUFBQUFB4UFBQeFBQeHv/AAB - EIAGAAYAMBIgACEQEDEQH/xAAdAAACAwACAwAAAAAAAAAAAAAHCAAFBgIDAQQJ/8QARh - AAAQIDBAUGCQgKAwAAAAAAAgEDAAQSBQYREwchIjJzCDE0QlKyFEFRYWJxcqLCI4GRkq - GxwdEVJCUzNUNTgoPwY9Lh/8QAGgEAAwEBAQEAAAAAAAAAAAAAAwQFBgECAP/EADQRAA - ECBAMFBgMJAAAAAAAAAAEAAgMEBRESITEyQUJxgSI0UZGhsRPB8QYUFSMzYYLh8P/aAA - wDAQACEQMRAD8AA+ji5YgLc1ONicu5UcjIkVKWhTsq66o6xkRWpFVFRahg96L350mUEX - nJeyWKxlpBsRIKXFJw2gMtZS+JFrXXA8vblpNGDIZcmwSBKy2YTgy7Tm0YARa6VIiX+6 - DnYcmLUuACgiLbY0im7tJUW1Gbqk89rbNNrrKGbfMx3ZkNboArZmfdEURDJBHdHsx6V5 - 2BnJdGZsc+TF0X/BjLLTNGoRPMb16kIvrR2RIzgmIoNw4+ZTQe4aFZWc0aWQTDgJZ8qB - utk2MyMw/my5Emp1oeZTHnRF7MY6T5Oll4pXM21h46GpfH3ggtxIbh1WZZo6/PNGbMxG - 70uL3JqmSMlbmbPRjMPIzXSF3KxXKzREcBdUMMUTx4xlr2aCrSYmsttvwwcsD8JllzGF - I+duokRaxXUqYQ2yp5h+qMeRXDmUk9kiDuw4yvxm7QBRWzzxqkevfo+n5IAKalplgJki - BgjEcHSb3xGnrJinPGaVpU14F9BJ9sfQY9eGO3Tu5ny4j7Inig+tI6rblwmJU2HgYOVf - pzWklmmq8tRIPlW0qDAhFdUOs+0TOJh6FGbPjeF8+6PV9ZPzjjDwsaM7HQcFs6WLZIal - mnxwUkwQ+fnHnjCy3Jys/rzdqJ7Mu0v3pDsOtyztTbmEZs5DKzt5elucYPhhg2N0eCHd - GF8vJ0pzjB8MMGxujwQ7oxDq3D1WUkNt/NeY4vvCIqpKIgO0RLsiI+lEmHhEVUlpBsai - JeqI9aKLRpYDlsT5kaqliSjg4tpsk694g9NotpVWEZKTdMPsNE/iOIMaLk6f7wV5YLqz - GCsA883VTnNjU2NPaIo0Q3Rmqccs/Z60GGzpFtoEFsWwAdQgIoA6vMnP64obTv7JMzSM - OvCD5btWyBL2UPmq80aD8CgN2nH0VMSbGN/Md8kJpyScbLBwHBLskMdEHq07PbeaUSQV - Ax5/H5lRYDd6bFKXeUV1t7wF2h/wC0SKjSnSwxNN2+yDMSxh5jMKpiYRkb4Wk74bLsMl - g69MBmj1iZJdqr5oPl57oywSpkIIjrbaYHiW9q14eeBwaZFiQTFFrapeCwxcWHhQxiYx - IkTV5S93l6Y5xQ/CGBZ3R4Qd0YXy8nTHOKHwwwbG6PBDuxarHD1UyQ23rL6U7RVqQLCl - c8sghX+mXWg9aC7t+CWMy3zmrea4dNJHmYmNXqEhT5oW7SumY+wxhjnkJb1PWHZ/8AYb - +xWqWATssNj9VMIq0OEGwcXirNNbijud4ABejfG0FalTJNRU0CXkIvHC733swX5VxDSp - wRJ8XKflMwdrYLnHGDjpbL9Sw7TwQJHxxFU7QkMI1mO4TLQDpZFqPadhOllr+SzeFyYs - hBdMiflHSbIi3hb6gL6kSL7TgiBZpvU1FKJmUp4xXBD+iBdyRXFSbnw2sMwC9mlXB5u1 - te7B5vjZ+dIvNquGdLOt1U44VIqIWHmi/hbFlyHZgosoTFkh42I8kFdGuj51+0mLRNWk - k/Bq2m+c1qRaKk8WCwbrxyROSpgNNZjSmOoYFXJzvortUirNP6JYFrwnMqz6VUaqMNjH - 1wWLwzytS5mg1K2NVFVNXzx9BhwhAs3Zt6L1JNh/AxN36896D9tXYfZCpwW0CrCoSqik - jY3qvgj8vRRSW8W1VTGQjFzrITIloRuElFDA7sHJL3eXpjnED4YYFndHgh3YXy8nTHOK - HwwwbG6PBDujD9Y4eqjyG29YPSB/FJP/esMOFI7g8MPuhO9I5oNpShLVQO8VO7tD73mh - wrOPFoV/4gX7MYtUbuwVuk7cTmPZZXS50L/KP4wKh3k9qCrpd6F/lCBQpYa+ztRDrneu - gRJ79RdPJQ/ik/xPiWGLmdxfZX7oXLklnjaU+vacEveKGJnywbJfIBL9ixp5bKXRKX3X - z90u/JpT9v2h7XxFB3vqn6k7w/ygC8mI8ben17Wv3lg9X16E7w/wAoG03lDyPsvNP7sf - 5e6B8SIsSMIkUvV4+mOcUPwhgmd0eEHdGF9vL0pzih+EMExujwQ7oxaq/D1UuQ23rD6Z - 2F8DE0UkJt8RHDq66qvR9cNTceeF2QZcFcRclmtr0kGkvtgAXks7Olzb5icbIWyXdFzt - FGm5Kt7hKVKScIkmpAyyhLZJ1nEsSES5hRfF6UP0KOC3ATmFYkXiHMkHiHqP6RL0myqn - IlhziYH9WAxPuoLRr1RbI/7RhiZtgTBUXWBjSvslC/aSrn2hWrEqyrgvbJTdQi200XVI - S3tXPHatIvix2vaMjkU1UIbtpovyXPkgSZL4W//Km3gytXZrq70Gy+E5lypr5qdfpaop - tENzUs+zQYqqcFSddc8rjmsk9lOZIrdLNrJssovWzHfZ6vzxQmYn3eUN9bZcyiQGGXlQ - 12tvUoX8mBP25P/wC9ZYPV9ehOcNYXXQfP+C3mdbcUU/SYkTZLq3cSERXtLzQzU/Ki40 - QluuDSUdlx8SVsN4+SFTO1Llo1uUAVFfIXzjHiNbaujdqWZdezp1x2moG3HvkA1puN4c - /zxkox05JulnhrzmRfJKvhuYbOS83k6Y5xQ+GGDZ3R4Qd0YXy8nTHOKHwwwbG6PBDujF - CscPVSpDbeucZ22rEcSaCaliFufYISqX92+I/y3BH6I0USJMGM6E7E3VUCwEWK1t0tMr - amDU82crNOqLbaqVTUw4Wzi0qbo4+WC2KwoulWzzKXF1san5RwSDtCONRFtdVIZHRZeV - ucs1p1sqvkhad8zzaILnvJG1pk6ZiHd2qoyMy57zDedNP3XRfe9+QStgBK7l1VruDj+M - CuZfIyVSUiMtoiXrQZr0XaamMFOtCHritJKnkKA9akugPuAlSiy8QCS7yiPa9KIdbZGD - 7uPZ3fRcnQ+9zpuVNalkNukikhI63+6eHZcaLtAXaTxRrLBvbNMgg5pvUjTmO63C9Iqe - tFHEiTDm40MWY4gJJhLDduRVnatuvO6nDJQ/p9X2orIkd8hLkbogOtTLBB8sDc98V2ZJ - JXSS45r//Z -URL;TYPE=HOMEPAGE:http://qt.nokia.com/logo.png -URL;TYPE=HOMEPAGE:http://qt.nokia2.com/logo.png -NOTE:Some notes are here -END:VCARD -BEGIN:VCARD -VERSION:3.0 -FN:Mr. Alexander Mcdonald -N:Mcdonald;Alexander;;; -EMAIL;TYPE=INTERNET:alex@example.com -TEL;TYPE=WORK:111111111 -ADR;TYPE=WORK;POSTAL;CHARSET=UTF-8:PO Box;Extended Address;Work Street Address;Work Locality(Town);Work Region(State);Work Post Code;Work Country;Work City;Work State;Work PostCode;Work Country -ADR;TYPE=HOME;POSTAL;CHARSET=UTF-8:PO Box;Extended Address;Home Street Address;Home Locality(Town);Home Region(State);Home Post Code;Home Country;Work City;Work State;Work PostCode;Work Country -ORG:Example -TITLE:Engineer -BDAY:2010-02-02 -END:VCARD -BEGIN:VCARD -VERSION:3.0 -FN:Mr. Andy Clark -N:Clark;Andy;;; -EMAIL;TYPE=INTERNET:andy@example.com -TEL;TYPE=WORK:07-2342322 -ORG:Example -TITLE:Engineer -BDAY:2011-03-03 -PHOTO;VALUE=URL;TYPE=PNG:http://qt.nokia.com/logo.png -END:VCARD -BEGIN:VCARD -VERSION:3.0 -FN:Mr. Bill Chilton -N:Chilton;Bill;;; -EMAIL;TYPE=INTERNET:bill@example.com -TEL;TYPE=WORK:564412232 -ORG:Example -TITLE:Manager -BDAY:2012-04-04 -END:VCARD -BEGIN:VCARD -VERSION:3.0 -FN:Mr. Bob Green -N:Green;Bob;;; -EMAIL;TYPE=INTERNET:bob@example.com -TEL;TYPE=WORK:07-3242325 -ORG:Example -TITLE:Engineer -BDAY:2013-05-05 -END:VCARD -BEGIN:VCARD -VERSION:3.0 -FN:Mr. Charles Brows -N:Brows;Charles;;; -EMAIL;TYPE=INTERNET:charles@example.com -TEL;TYPE=WORK:32324534233 -ORG:Example -TITLE:Engineer -BDAY:2015-07-07 -END:VCARD -BEGIN:VCARD -VERSION:3.0 -FN:Mr. David Edie -N:Edie;David;;; -EMAIL;TYPE=INTERNET:david@example.com -TEL;TYPE=WORK:(07) 3245-2323 -ORG:Example -TITLE:Manager -BDAY:2015-08-08 -END:VCARD -BEGIN:VCARD -VERSION:3.0 -FN:Mr. Jason Black -N:Black;Jason;;; -EMAIL;TYPE=INTERNET:jason@example.com -TEL;TYPE=WORK:33333333333 -ORG:Example -TITLE:Engineer -BDAY:2016-09-09 -END:VCARD -BEGIN:VCARD -VERSION:3.0 -FN:Mrs. Carol Eden -N:Eden;Carol;;; -EMAIL;TYPE=INTERNET:carol@example.com -TEL;TYPE=WORK:2323242 -ORG:Example -TITLE:Manager -BDAY:2014-06-06 -END:VCARD - diff --git a/test/load_vcard.cpp b/test/load_vcard.cpp deleted file mode 100644 index 6c5e46b..0000000 --- a/test/load_vcard.cpp +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright 2011 Intel Corporation. - * - * This program is licensed under the terms and conditions of the - * Apache License, version 2.0. The full text of the Apache License is at - * http://www.apache.org/licenses/LICENSE-2.0 - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -QTM_USE_NAMESPACE - -class Load_Vcard: public QObject -{ - Q_OBJECT - -private slots: - void addNewContacts_data(); - void addNewContacts(); -}; - -void Load_Vcard::addNewContacts_data() -{ - QTest::addColumn("vcard"); - QTest::addColumn("result"); - - QTest::newRow("CHS") << "vcardCHS.vcf" << "0"; - QTest::newRow("CHT") << "vcardCHT.vcf" << "0"; - QTest::newRow("CSY") << "vcardCSY.vcf" << "0"; - QTest::newRow("DAN") << "vcardDAN.vcf" << "0"; - QTest::newRow("DEU") << "vcardDEU.vcf" << "0"; - QTest::newRow("ELL") << "vcardELL.vcf" << "0"; - QTest::newRow("ESP") << "vcardESP.vcf" << "0"; - QTest::newRow("FIN") << "vcardFIN.vcf" << "0"; - QTest::newRow("FRA") << "vcardFRA.vcf" << "0"; - QTest::newRow("HUN") << "vcardHUN.vcf" << "0"; - QTest::newRow("ITA") << "vcardITA.vcf" << "0"; - QTest::newRow("JPN") << "vcardJPN.vcf" << "0"; - QTest::newRow("KOR") << "vcardKOR.vcf" << "0"; - QTest::newRow("NLD") << "vcardNLD.vcf" << "0"; - QTest::newRow("NOR") << "vcardNOR.vcf" << "0"; - QTest::newRow("PLK") << "vcardPLK.vcf" << "0"; - QTest::newRow("PTB") << "vcardPTB.vcf" << "0"; - QTest::newRow("PTG") << "vcardPTG.vcf" << "0"; - QTest::newRow("RUS") << "vcardRUS.vcf" << "0"; - QTest::newRow("SVE") << "vcardSVE.vcf" << "0"; - QTest::newRow("TRK") << "vcardTRK.vcf" << "0"; - QTest::newRow("example") << "example.vcf" << "0"; -} - -/* -void Load_Vcard::contactsSaved() -{ - QContactSaveRequest *request = qobject_cast(QObject::sender()); - - if (request->error() != QContactManager::NoError) - return; - - qDebug() << "[TEST] Saving " << request->contacts().size() << " contacts"; -} -*/ - -void Load_Vcard::addNewContacts() -{ - QFETCH(QString, vcard); - QFETCH(QString, result); - - QList contacts; - QString res = QString("1"); - - QContactManager *cm = new QContactManager(); - QContactSaveRequest *m_contactSaveRequest = new QContactSaveRequest(); - m_contactSaveRequest->setManager(cm); - //connect(&m_contactSaveRequest, SIGNAL(resultsAvailable()), this, - // SLOT(contactsSaved())); - - QFile file(vcard); - if (file.exists()) { - QByteArray cardArr; - if (file.open(QFile::ReadOnly)) { - while (!file.atEnd()) { - cardArr.append(file.readLine()); - } - } - - QBuffer input; - input.open(QBuffer::ReadWrite); - input.write(cardArr); - input.seek(0); - - QVersitReader reader(cardArr); - reader.startReading(); - reader.waitForFinished(); - QList inputDocuments = reader.results(); - - QVersitContactImporter importer; - if (importer.importDocuments(inputDocuments)) { - contacts = importer.contacts(); - m_contactSaveRequest->setContacts(contacts); - m_contactSaveRequest->start(); - m_contactSaveRequest->waitForFinished(); - res = QString("0"); - } - - input.close(); - file.close(); - } - delete m_contactSaveRequest; - delete cm; - - QCOMPARE(res, result); -} - -QTEST_MAIN(Load_Vcard) -#include "load_vcard.moc" diff --git a/test/load_vcard.sh b/test/load_vcard.sh deleted file mode 100644 index ce5a4f8..0000000 --- a/test/load_vcard.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash - -VCARD=$1 - -./tst_meego-app-contacts/tst_meego-app-contacts addNewContacts:${VCARD} diff --git a/test/test.pro b/test/test.pro deleted file mode 100644 index 10b1dfb..0000000 --- a/test/test.pro +++ /dev/null @@ -1,19 +0,0 @@ -TARGET = tst_meego-app-contacts -TEMPLATE = app - -QT += declarative testlib -CONFIG += qt \ - mobility \ - link_pkconfig - -PKGCONFIG += QtContacts QtVersit icu-uc icu-i18n - -DESTDIR = $$TARGET -OBJECTS_DIR = .obj -MOC_DIR = .moc -LIBS += -licuuc -licui18n - -MOBILITY = contacts versit - -SOURCES += load_vcard.cpp - diff --git a/test/vcardCHS.vcf b/test/vcardCHS.vcf deleted file mode 100644 index ab1efaa..0000000 --- a/test/vcardCHS.vcf +++ /dev/null @@ -1,296 +0,0 @@ -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8e} -N:陈;隆;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8f} -N:胡;菁菁 -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d90} -N:金;晓波;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d91} -N:李;之浩;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d92} -N:林;杰;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d93} -N:钱;梦佳;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d94} -N:任;宁;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d95} -N:任;启鸿;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d96} -N:任;媛莹;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d97} -N:申屠;李融;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d98} -N:沈;彬;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d99} -N:沈;佳麟;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9a} -N:史;逸婵;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9b} -N:孙;雯君;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9c} -N:孙;奕;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9d} -N:汤;康敏;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9e} -N:王;尔嘉;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9f} -N:王;震宇;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d00} -N:郁;菁菁;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d01} -N:臧;嘉澍;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d02} -N:张;青;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d03} -N:张;伊人;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d04} -N:张;越;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d05} -N:张;洲姬;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d06} -N:郑;潇誉;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d07} -N:周;懿荟;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d08} -N:樊;忆婷;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d09} -N:韩;竹韵;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d0a} -N:姜;文;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d0b} -N:陆;佳妮;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d0c} -N:梅;一欣;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d0d} -N:倪;晨佳;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d0e} -N:潘;春;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d0f} -N:魏;英轩;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d10} -N:徐;阳;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d11} -N:杨;珈珺;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d12} -N:欧阳;纳兰;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - diff --git a/test/vcardCHT.vcf b/test/vcardCHT.vcf deleted file mode 100644 index 4dd2dc4..0000000 --- a/test/vcardCHT.vcf +++ /dev/null @@ -1,200 +0,0 @@ -BEGIN:VCARD -VERSION:3.0 -UID:{7269c63a-87b0-469a-b0e8-63ea3e533b56} -N:王;羲之;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:02:17 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{7269c63a-87b0-469a-b0e8-63ea3e533b60} -N:元;宏;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:02:17 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{7269c63a-87b0-469a-b0e8-63ea3e533b61} -N:元;稹;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:02:17 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{7269c63a-87b0-469a-b0e8-63ea3e533b63} -N:田;因齊;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:02:17 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{7269c63a-87b0-469a-b0e8-63ea3e533b64} -N:白;居易;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:02:17 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{7269c63a-87b0-469a-b0e8-63ea3e533b65} -N:司馬;丕;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:02:17 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{7269c63a-87b0-469a-b0e8-63ea3e533b66} -N:田;辟疆;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:02:17 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{7269c63a-87b0-469a-b0e8-63ea3e533b67} -N:李;白;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:02:17 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{7269c63a-87b0-469a-b0e8-63ea3e533b68} -N:杜;牧;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:02:17 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{7269c63a-87b0-469a-b0e8-63ea3e533b69} -N:拓跋;珪;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:02:17 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{7269c63a-87b0-469a-b0e8-63ea3e533b6a} -N:拓跋;嗣;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:02:17 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{7269c63a-87b0-469a-b0e8-63ea3e533b77} -N:拓跋;燾;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:02:17 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{7269c63a-87b0-469a-b0e8-63ea3e533b6b} -N:高;洋;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:02:17 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{7269c63a-87b0-469a-b0e8-63ea3e533b6c} -N:孫;思邈;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:02:17 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{7269c63a-87b0-469a-b0e8-63ea3e533b6d} -N:姬;職;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:02:17 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{7269c63a-87b0-469a-b0e8-63ea3e533b55} -N:陶;弘景;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:02:17 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{7269c63a-87b0-469a-b0e8-63ea3e533b6e} -N:曹;操;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:02:17 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{7269c63a-87b0-469a-b0e8-63ea3e533b70} -N:葛;洪;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:02:17 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{7269c63a-87b0-469a-b0e8-63ea3e533b71} -N:劉;安;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:02:17 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{7269c63a-87b0-469a-b0e8-63ea3e533b72} -N:劉;欣;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:02:17 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{7269c63a-87b0-469a-b0e8-63ea3e533b73} -N:劉;禹錫;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:02:17 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{7269c63a-87b0-469a-b0e8-63ea3e533b74} -N:嬴;政;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:02:17 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{7269c63a-87b0-469a-b0e8-63ea3e533b75} -N:魏;伯陽;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:02:17 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{7269c63a-87b0-469a-b0e8-63ea3e533b76} -N:劉;徹;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:02:17 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{7269c63a-87b0-469a-b0e8-63ea3e533b77} -N:劉;驁;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:02:17 -END:VCARD - diff --git a/test/vcardCSY.vcf b/test/vcardCSY.vcf deleted file mode 100755 index fff58af..0000000 --- a/test/vcardCSY.vcf +++ /dev/null @@ -1,514 +0,0 @@ -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8e} -N:Ábelová;Marie;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8f} -N:Adam;Jiří;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d90} -N:Bláhová;Jana;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d91} -N:Blažek;Jan;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d92} -N:Bureš;Petr;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d93} -N:Čech;Josef;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d94} -N:Čermák;Pavel;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d95} -N:Černý;Jaroslav;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d96} -N:Dvořák;Tomáš;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d97} -N:Hájek;František;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d98} -N:Holubová;Anna;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d99} -N:Chládek;Ivan;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9a} -N:Chladil;Milan;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9b} -N:Jelínek;Václav;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9c} -N:Kadlecová;Věra;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9d} -N:Klátil;Karel;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9e} -N:Konečná;Lenka;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9f} -N:Kovář;Michal;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d00} -N:Králová;Kateřina;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d01} -N:Kratochvílová;Alena;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d02} -N:Krejčí;Petra;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d03} -N:Křížová;Lucie;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d04} -N:Kučera;Vladimír;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d05} -N:Malá;Jaroslava;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d06} -N:Marný;Tomáš;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d07} -N:Marková;Ludmila;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d08} -N:Matoušková;Helena;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d09} -N:Moravec;David;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d4a} -N:Musil;Ladislav;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d4b} -N:Navrátilová;Jitka;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d4c} -N:Nováková;Zdeňka;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d4d} -N:Novotný;Jakub;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d4e} -N:Pastorková;Veronika;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d4f} -N:Pašíková;Jarmila;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d50} -N:Pospíšil;Stanislav;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d51} -N:Procházková;Michaela;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d52} -N:Říha;Roman;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d53} -N:Růžičková;Ivana;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d54} -N:Soukupová;Monika;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d55} -N:Staňková;Tereza;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d56} -N:Svoboda;Ondřej;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d57} -N:Sýkora;Antonín;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d58} -N:Ševčíková;Božena;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d59} -N:Šimková;Zuzana;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d5a} -N:Šťastná;Vlasta;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d5b} -N:Štěpánek;Radek;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d5c} -N:Ťulpa;Jan;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d5d} -N:Tvaroh;Marek;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d5e} -N:Veselá;Libuše;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d5f} -N:Vaňková;Dagmar;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d60} -N:Vávrová;Dana;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d61} -N:Vlček;Daniel;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d55} -N:Zemanová;Marta;;; -FN:Marta Zemanová -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3ddd} -N:Sedláčková;Jiřina;;; -FN:Jiřina Sedláčková -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d56} -N:Doležal;Martin;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d57} -N:Dostál;Miroslav;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d58} -N:Fialová;Eva;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d59} -N:Kopecký;Milan;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d5a} -N:Němcová;Martina;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d56} -N:Doležal;Martin;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d57} -N:Dostál;Miroslav;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d58} -N:Fialová;Eva;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d59} -N:Kopecký;Milan;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d5a} -N:Němcová;Martina;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - diff --git a/test/vcardDAN.vcf b/test/vcardDAN.vcf deleted file mode 100644 index 808e634..0000000 --- a/test/vcardDAN.vcf +++ /dev/null @@ -1,96 +0,0 @@ -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8e} -N:Åstrøm;Niels;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8f} -N:Østermand;Gerda;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d90} -N:Ælleman;Oluf;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d91} -N:Sørensen;Ole;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d92} -N:Svendsen;Asker;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d93} -N:Sundstrøm;Søren;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d94} -N:Rasmussen;Simon;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d95} -N:Olsen;Børge;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d96} -N:Lundmand;Jørgen;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d97} -N:Jensen;Jesper;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d98} -N:Hansen;Jacob;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d99} -N:Aamand;Julie;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - diff --git a/test/vcardDEU.vcf b/test/vcardDEU.vcf deleted file mode 100644 index 58192d1..0000000 --- a/test/vcardDEU.vcf +++ /dev/null @@ -1,161 +0,0 @@ -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8f} -N:Müller;Göbel;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d90} -N:Schmidt;Goethe;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d91} -N:Schneider;Goldmann;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d92} -N:Fischer;Göthe;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d93} -N:Meyer;Götz;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d94} -N:Zinsmeister-Gütermann;Irmtraud;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d95} -N:Wassermann;Christoph;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d96} -N:Schwarze;Bettina;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d97} -N:Rößler;Julian;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d98} -N:Müllerschön;Christiane;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d99} -N:Kaiser;Karl;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9a} -N:Quadflieg;Florian;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9b} -N:Tegtmeier;Markus;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9c} -N:Böder;Anna;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9d} -N:Gösser;Georg;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9e} -N:Lüdermann;Juliane;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d00} -N:Malinowski;Tobias;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d01} -N:Oppenheimer;Margarete;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d02} -N:Droste-Müller;Maren;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d03} -N:Kistenfeger;Sebastian;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d04} -N:Eiermann;Käthe;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d05} -N:Friedrich;Paula;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d06} -N:Härtling;Wolfgang;;; -REV:2011-04-22T09:06:35 -END:VCARD - diff --git a/test/vcardELL.vcf b/test/vcardELL.vcf deleted file mode 100644 index 822a610..0000000 --- a/test/vcardELL.vcf +++ /dev/null @@ -1,192 +0,0 @@ -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8e} -N:Τσίπης;Θεόδωρος;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8f} -N:Νικολάου;Παναγιώτης;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d90} -N:Ψαράς;Νικόλαος;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d91} -N:Φαραζής;Εμμανουήλ;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d92} -N:Ωμάρ;Χαρίλαος;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d93} -N:Χρυσοχέρη;Ειρήνη;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d94} -N:Υάκινθου;Αθανάσιος;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d95} -N:Σπανός;Παντελής;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d96} -N:Ρόκου;Φωτηνή;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d97} -N:Πραμαντιώτη;Ευαγγελία;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d98} -N:Οικονομόπουλος;Σάββας;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d99} -N:Ξενοφώντα;Θεανώ;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9a} -N:Μαρκόπουλος;Αργυρώ;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9b} -N:Λεβογιάννης;Χρίστος;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9c} -N:Καλαμπάκας;Δημήτριος;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9d} -N:Ιωάννου;Γεώργιος;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9e} -N:Θεοδωρίδης;Αλέξανδρος;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d00} -N:Ηλιοπούλου;Αικατερίνη;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d01} -N:Ζαρναβελλής;Φαίδων;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d02} -N:Ευθημίου;Ομηρος;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d03} -N:Δημητρόπουλος;Βασίλειος;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d04} -N:Γεωργιάδης;Ηλίας;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d05} -N:Βαίος;Κωνσταντίνος;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d06} -N:Αρβανίτης;Σπύρος;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - diff --git a/test/vcardESP.vcf b/test/vcardESP.vcf deleted file mode 100644 index 8a1fe35..0000000 --- a/test/vcardESP.vcf +++ /dev/null @@ -1,120 +0,0 @@ -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8e} -N:Urroz Llorente;Juncal;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8f} -N:Urabayen Albizu;Elena;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d90} -N:Sudón Aguilar;Ramón;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d91} -N:Preciado Pascual;Mª Lourdes;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d92} -N:Martínez de Morentin García;Jorge Miguel;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d93} -N:Martínez Argüelles;Rocío;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d94} -N:Marqués Roncal;Jesús Vicente;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d95} -N:Jiménez Burgui;Ana Flor;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d96} -N:Hijosa Pardo;Alfonso;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d97} -N:Fajardo Griñán;Raúl;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d98} -N:Egiluz Gaubeka;Koldo;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d99} -N:Carmona López;Antonio;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9a} -N:Botello Fernández;Ana Isabel;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9b} -N:Basarte Lorente;Luis;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9c} -N:Aizcorbe Urroz;Mª Luisa;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - diff --git a/test/vcardFIN.vcf b/test/vcardFIN.vcf deleted file mode 100644 index 014ecd6..0000000 --- a/test/vcardFIN.vcf +++ /dev/null @@ -1,105 +0,0 @@ -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8e} -N:Männistö;Lauri;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8f} -N:Pääkkö;Jaakko;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d90} -N:Toivola;Päivi;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d91} -N:Lundström;Satu;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d92} -N:Leppälä;Anna-Riikka;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d93} -N:Lehtimäki;Hanna;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d94} -N:Väätäinen;Henri;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d95} -N:Lamminpää;Jukka-Pekka;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d96} -N:Töyräänvuori;Suvi;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d97} -N:Lepojärvi;Inkeri;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d98} -N:Latva-Löppönen;Sami;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d99} -N:Pölönen;Antti;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9a} -N:Hämeenlinna;Karita;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9b} -N:Vähätalo;Hestu;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9b} -N:Vähätalo;Hestu;;; -REV:2011-04-22T09:06:35 -END:VCARD - diff --git a/test/vcardFRA.vcf b/test/vcardFRA.vcf deleted file mode 100644 index 68ff6a9..0000000 --- a/test/vcardFRA.vcf +++ /dev/null @@ -1,336 +0,0 @@ -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8e} -N:UBERT;Ulysse;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8f} -N:ÛTÈGE;Marine;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d90} -N:ZOLA;Zoé;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d91} -N:YSAŸE;Yves;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d92} -N:QUEOURON;Quentin;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d93} -N:ŸLIAM;Martine;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d94} -N:VALÉRY;Vincent;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d95} -N:XIMENÈS;Xavier;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d96} -N:ORSONI;Olga;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d97} -N:RIBAINS (de);Georges;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d98} -N:ÙLLRICH;Sandra;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d99} -N:LOTI;Léon;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9a} -N:ÔME;Thomas;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9b} -N:WALDECK;Walter;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9c} -N:JARRY;Jules;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9d} -N:NIMIER;Noémie;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9e} -N:STAËL;Sylvie;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9f} -N:TEYSSANDIER;Théodore;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d00} -N:ÎLON;Ingrid;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d01} -N:KERDOMMAREC;Kévin;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d02} -N:ŒDIPE;Roland;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d03} -N:ROCHE;Rosalie;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d04} -N:ËBOLE;Antoine;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d05} -N:GRANDJEAN;Gérard;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d06} -N:ÏNOUIT;Jacques;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d07} -N:MARTIN;Maurice;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d08} -N:FAURE;François;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d09} -N:IMBERT;Isidore;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d0a} -N:LE ROUX;Yann;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d0b} -N:ÜBACH;Anne;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d0c} -N:Des LORMES;Jean;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d0d} -N:ÉRELL;Émile;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d0e} -N:ÈVRARD;Charles;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d0f} -N:HULOT;Héloïse;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d10} -N:ÂNON;Roger;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d11} -N:ÇALANGE;Renée;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d12} -N:DONNADIEU;Désirée;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d13} -N:ÊTABLE;Denis;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d14} -N:ARTAUD;Christophe;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d15} -N:BOYER;Bernard;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d16} -N:De LA VILLARDIÈRE;Gaston;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d17} -N:PANISSE;Pierre;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d18} -N:ANTHUS;Jean;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d19} -N:ÀVAS;Nicolas;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d1a} -N:CHAUMELIN;Coralie;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d1b} -N:ÆNÉE;Colas;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d1c} -N:ENJOLRAS;Edmond;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d1d} -N:ÁBRÁNYI;Sylvie;;; -REV:2011-04-22T09:06:35 -END:VCARD - diff --git a/test/vcardHUN.vcf b/test/vcardHUN.vcf deleted file mode 100644 index 934e6d9..0000000 --- a/test/vcardHUN.vcf +++ /dev/null @@ -1,70 +0,0 @@ -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8e} -N:Becht;Gábor;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8f} -N:Cyian;András;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d90} -N:Szalay;Baba;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d91} -N:Sándor;Béla;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d92} -N:Csanyi;András;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d93} -N:Ardai;Attila;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d94} -N:Nemeskéry;Balázs;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d95} -N:Cigány;Jószef;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d96} -N:Csányi;Izabella;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d96} -N:Csányi;Izabella;;; -REV:2011-04-22T09:06:35 -END:VCARD - diff --git a/test/vcardITA.vcf b/test/vcardITA.vcf deleted file mode 100644 index cc56cd7..0000000 --- a/test/vcardITA.vcf +++ /dev/null @@ -1,105 +0,0 @@ -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8f} -N:Maria Luisa;Santanchè;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d90} -N:Amilcare;D'Onofrio;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d91} -N:Milù;Vincenzi;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d92} -N:Giovanni;Arleo;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d93} -N:Maria;Dona;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d94} -N:Ginevra;Lante della Rovere;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d95} -N:Gian Marco;Verdone;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d96} -N:Vincenzo;Abate;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d97} -N:Giuseppe;Macrì;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d98} -N:Oronzo;Donà;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d99} -N:Tarcisio;Abate;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9a} -N:Salvatore;Bombardini;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9b} -N:Paolo;De Sica;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9c} -N:Anna;Abete;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9d} -N:Raffaella;Donofrio;;; -REV:2011-04-22T09:06:35 -END:VCARD - diff --git a/test/vcardJPN.vcf b/test/vcardJPN.vcf deleted file mode 100644 index 8afb7a1..0000000 --- a/test/vcardJPN.vcf +++ /dev/null @@ -1,132 +0,0 @@ -BEGIN:VCARD -VERSION:3.0 -UID:{3b7dba5f-92c6-4c20-a0c8-c624b49379cd} -N:阿南;惟正;;; -NICKNAME:あなべ\nけんじ -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T08:58:03 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{3b7dba5f-92c6-4c20-a0c8-c624b49379ce} -N:インテリ;ジェント;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T08:58:03 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{3b7dba5f-92c6-4c20-a0c8-c624b49379cf} -N:イン;テル;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T08:58:03 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{3b7dba5f-92c6-4c20-a0c8-c624b49379d0} -N:コンピューター;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T08:58:03 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{3b7dba5f-92c6-4c20-a0c8-c624b49379d2} -N:横山;宏章;;; -NICKNAME:よこやま\nあきひろ -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T08:58:03 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{3b7dba5f-92c6-4c20-a0c8-c624b49379d3} -N:久木;尚志;;; -NICKNAME:ひさき\nひさぎ -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T08:58:03 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{3b7dba5f-92c6-4c20-a0c8-c624b49379d4} -N:君原;健二;;; -NICKNAME:くんばる\nけんじ -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T08:58:03 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{3b7dba5f-92c6-4c20-a0c8-c624b49379d5} -N:国武;豊喜;;; -NICKNAME:くにたけ\nとよき -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T08:58:03 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{3b7dba5f-92c6-4c20-a0c8-c624b49379d6} -N:佐木;隆三;;; -NICKNAME:さき\nりゅうぞう -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T08:58:03 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{3b7dba5f-92c6-4c20-a0c8-c624b49379d7} -N:山下;アキラ;;; -NICKNAME:やました -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T08:58:03 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{3b7dba5f-92c6-4c20-a0c8-c624b49379d8} -N:山下;さくら;;; -NICKNAME:やました -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T08:58:03 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{3b7dba5f-92c6-4c20-a0c8-c624b49379d9} -N:山下;ゆかり;;; -NICKNAME:やました -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T08:58:03 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{3b7dba5f-92c6-4c20-a0c8-c624b49379e0} -N:山下;大介;;; -NICKNAME:やました -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T08:58:03 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{3b7dba5f-92c6-4c20-a0c8-c624b49379e1} -N:山田;花子;;; -NICKNAME:やまだ\nはなこ -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T08:58:03 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{3b7dba5f-92c6-4c20-a0c8-c624b49379e2} -N:中道;寿一;;; -NICKNAME:なかみち\nひさかず -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T08:58:03 -END:VCARD - diff --git a/test/vcardKOR.vcf b/test/vcardKOR.vcf deleted file mode 100644 index e5734e8..0000000 --- a/test/vcardKOR.vcf +++ /dev/null @@ -1,112 +0,0 @@ -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8e} -N:권;민중;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8f} -N:김;주영;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d90} -N:김;태희;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d91} -N:김;현철;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d92} -N:나;정원;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d94} -N:내;츄럴;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d95} -N:마;동하;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d96} -N:박;아라;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d97} -N:서;현우;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d98} -N:유;안나;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d99} -N:산;이;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9a} -N:차;해련;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9b} -N:정;우성;;; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9c} -N:노래를 찾는 사람들 외; -CATEGORIES:[Úñƒàvõrï†é ÞàÐÐïñg ÞàÐÐïñg ÞàX] -REV:2011-04-22T09:06:35 -END:VCARD - diff --git a/test/vcardNLD.vcf b/test/vcardNLD.vcf deleted file mode 100644 index 9559a1a..0000000 --- a/test/vcardNLD.vcf +++ /dev/null @@ -1,133 +0,0 @@ -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8f} -N:van 't Schip van Teissen;Saskia;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d90} -N:Ter Schiphorst;Gerard;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d91} -N:Schüller;Anneke;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d92} -N:van Schip;Jon;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d93} -N:van 't Schip-van Tijssen;Anita Jolanda;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d94} -N:Terhorst van de Laan;Renée Adele;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d95} -N:ter Hosrt van de Laan;Renée Adele;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d96} -N:de Jong;Annemarie;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d97} -N:Schiphorst;Alexander-Jan;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d98} -N:van der A;Robert Jan;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d99} -N:Schuller;Karel-Jan;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9a} -N:van der Schip;Gerrit;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9b} -N:van Dijk;Jan-Jorgen;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9c} -N:IJselmuiden;Marco;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9d} -N:'s-Gravemade Oudejans;Corrie;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9e} -N:in Traa;Mieke;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9f} -N:à Cohen;Eveline;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d00} -N:van 't Schip;Huub;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d01} -N:In;Jacqueline;;; -REV:2011-04-22T09:06:35 -END:VCARD - diff --git a/test/vcardNOR.vcf b/test/vcardNOR.vcf deleted file mode 100644 index 6e9e523..0000000 --- a/test/vcardNOR.vcf +++ /dev/null @@ -1,126 +0,0 @@ -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8f} -N:Sæter;Frida;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d90} -N:Wyller Hermansen;Sjur;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d91} -N:Ås;Øystein;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d92} -N:Johannesen;Siv;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d93} -N:Tufte;Sigbjørn;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d94} -N:Østerdal;Kari;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d95} -N:Førde;Pia;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d96} -N:Vik;Gun;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d97} -N:Svensen;Sigurd;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d98} -N:Hansen;Åse;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d99} -N:Håkonson;Håkon;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9a} -N:Ødegård;Aslaug;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9b} -N:Syvertsen;Arild;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9c} -N:Hårteigen;Osmund;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9d} -N:Aarø;Hanna;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9e} -N:Brodersen;Ingebret;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9f} -N:Bredesen;Ben;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d00} -N:Halvorsen;Petter;;; -REV:2011-04-22T09:06:35 -END:VCARD - diff --git a/test/vcardPLK.vcf b/test/vcardPLK.vcf deleted file mode 100644 index d9b27ee..0000000 --- a/test/vcardPLK.vcf +++ /dev/null @@ -1,98 +0,0 @@ -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8f} -N:Motowska;Irena;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d90} -N:Szubert;Krzysztof;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d91} -N:Czosnyka;Justyna;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d92} -N:Godziuk;Piotrek;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d93} -N:Kowalski;Janusz;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d94} -N:Łącki;Tomasz;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d95} -N:Szewczyk;Magdalena;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d96} -N:Teredowski;Rafał;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d97} -N:Dzielski;Dorota;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d98} -N:Olszyńska;Alicja;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d99} -N:Kleszcz;Sylwia;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9a} -N:Lewandowski;Jacek;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9ab} -N:Brzęczyszczykiewicz;Grzegorz;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9ac} -N:Gostański;Agnieszka;;; -REV:2011-04-22T09:06:35 -END:VCARD - diff --git a/test/vcardPTB.vcf b/test/vcardPTB.vcf deleted file mode 100644 index 8bce9d3..0000000 --- a/test/vcardPTB.vcf +++ /dev/null @@ -1,42 +0,0 @@ -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8f} -N:Gonçalves;Pedro Luis;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d90} -N:dos Oliveira Macedo;João;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d91} -N:Sabará;Luis;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d92} -N:Ribeiro;José Henrique;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d93} -N:Aparecida;Maria;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d94} -N:de Oliveira Macedo;João;;; -REV:2011-04-22T09:06:35 -END:VCARD - diff --git a/test/vcardPTG.vcf b/test/vcardPTG.vcf deleted file mode 100644 index 8bce9d3..0000000 --- a/test/vcardPTG.vcf +++ /dev/null @@ -1,42 +0,0 @@ -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8f} -N:Gonçalves;Pedro Luis;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d90} -N:dos Oliveira Macedo;João;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d91} -N:Sabará;Luis;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d92} -N:Ribeiro;José Henrique;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d93} -N:Aparecida;Maria;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d94} -N:de Oliveira Macedo;João;;; -REV:2011-04-22T09:06:35 -END:VCARD - diff --git a/test/vcardRUS.vcf b/test/vcardRUS.vcf deleted file mode 100644 index b833e70..0000000 --- a/test/vcardRUS.vcf +++ /dev/null @@ -1,105 +0,0 @@ -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8f} -N:Лукин;Спиридон;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d90} -N:Петров;Степан;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d91} -N:Абакумов;Мирон;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d92} -N:Юрин;Эрнест;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d93} -N:Зотов;Эммануил;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d94} -N:Достоевский;Эраст;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d95} -N:Хрущёв;Амос;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d96} -N:Апраксин;Любомир;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d97} -N:Сахаров;Эдуард;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d98} -N:Метёлкин;Амвросий;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d99} -N:Силантьев;Эмиль;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9a} -N:Апраксин;Любим;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9b} -N:Максимов;Станислав;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9c} -N:Фролов;Ананий;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9d} -N:Гагарин;Станимир;;; -REV:2011-04-22T09:06:35 -END:VCARD - diff --git a/test/vcardSVE.vcf b/test/vcardSVE.vcf deleted file mode 100644 index bf285ae..0000000 --- a/test/vcardSVE.vcf +++ /dev/null @@ -1,133 +0,0 @@ -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8f} -N:Finnbogadóttir;Vigdís;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d90} -N:Höök;Tage;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d91} -N:Öhvelius;Anna-Lena;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d92} -N:Umensjö-Bäckström;Jonna;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d93} -N:von Sydow;Max;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d94} -N:Ygdén;Marlén;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d95} -N:Umensjö-Böckström;Jonna;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d96} -N:Armén;Tilde;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d97} -N:Hjälmråde;Per-Åke;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d98} -N:Stjärnbåga;Ingvar;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d99} -N:Umensjö-Backström;Jonna;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9a} -N:Jönsson;Jenny;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9b} -N:Jönsson Johansson;Jenny;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9c} -N:af Ugglas;Caroline;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9d} -N:af Ekström;Fia-Lisa;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9e} -N:Jägerhorn af Spurila;Anna;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9f} -N:Jortzberg;Martina;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d00} -N:Afzelius;Björn;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d01} -N:Gatugård;Elis;;; -REV:2011-04-22T09:06:35 -END:VCARD - diff --git a/test/vcardTRK.vcf b/test/vcardTRK.vcf deleted file mode 100644 index 132f7ba..0000000 --- a/test/vcardTRK.vcf +++ /dev/null @@ -1,196 +0,0 @@ -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d8f} -N:Öntürk;Özge;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d90} -N:Aktaş;Kübra Çiçek;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d91} -N:Şen;Veysel Karani;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d92} -N:Çakar;Tuna;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d93} -N:Özışık;Yağmur;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d94} -N:Ünlüönen;Süha;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d95} -N:İstanbullu;Hilal Yıldız;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d96} -N:Şahin;Çiğdem;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d97} -N:Kayıkçı;Ümmühan;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d98} -N:Vanlıoğlu;Rıfat;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d99} -N:Dündar;Uğur;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9a} -N:İsmigüzel;Münevver;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9b} -N:Arabacı;Şinasi;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9c} -N:Sarıkaya;Büşra Nur;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9d} -N:Özişçioğlu;Pınar;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9e} -N:Osmanoğlu;Jale;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9f} -N:Kaplan;Orçun;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d9f} -N:Güneş;Fatih;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d00} -N:Fıçıcı;İsmail Hakkı;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d01} -N:İstiklal;Ceyhun;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d02} -N:Kurtuluş;Gülcan;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d03} -N:Yüzbaşıoğlu;Nilgün;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d04} -N:Malçek;Levent;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d05} -N:Hakça;Alçin;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d06} -N:Dalgıç;Deniz Ece;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d07} -N:Erdeniz;Elçin;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d08} -N:Büyükçe;Işıl;;; -REV:2011-04-22T09:06:35 -END:VCARD - -BEGIN:VCARD -VERSION:3.0 -UID:{5292511c-3f05-45f8-bbb1-9942f36b3d09} -N:Akıncı;Zülfikar;;; -REV:2011-04-22T09:06:35 -END:VCARD - From 6773aed63a81e4515d49f5aba2025474402a5a90 Mon Sep 17 00:00:00 2001 From: Timo Hannukkala Date: Tue, 20 Aug 2013 08:24:34 +0300 Subject: [PATCH 17/18] qmlcontacts - qt5 - filter and last name first or first name first can be changed by main.qml --- src/qml/ContactImportSheet.qml | 4 ++-- src/qml/ContactListPage.qml | 12 +++++++++++- src/qml/SearchBox.qml | 2 +- src/src.pro | 8 ++++---- 4 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/qml/ContactImportSheet.qml b/src/qml/ContactImportSheet.qml index 9e002f9..c000e73 100644 --- a/src/qml/ContactImportSheet.qml +++ b/src/qml/ContactImportSheet.qml @@ -30,8 +30,8 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." */ -import QtQuick 1.1 -import com.nokia.meego 1.0 +import QtQuick 2.0 +import com.nokia.meego 2.0 import org.nemomobile.contacts 1.0 import org.nemomobile.folderlistmodel 1.0 import org.nemomobile.qmlfilemuncher 1.0 diff --git a/src/qml/ContactListPage.qml b/src/qml/ContactListPage.qml index 5b72f86..13b0bcc 100644 --- a/src/qml/ContactListPage.qml +++ b/src/qml/ContactListPage.qml @@ -52,6 +52,10 @@ Page { app.contactListModel.search(searchbox.searchText); } } + + function contactChange() + { + } Component { id: contactComponent @@ -76,7 +80,6 @@ Page { id: card onClicked: pageStack.push(Qt.resolvedUrl("ContactCardPage.qml"), { contact: model.person }) } - } tools: ToolBarLayout { @@ -110,6 +113,13 @@ Page { exportCompleteDialog.open() } } + + MenuItem { + text: "Settings" + onClicked: { + pageStack.push(Qt.resolvedUrl("SettingsPage.qml")); + } + } } } diff --git a/src/qml/SearchBox.qml b/src/qml/SearchBox.qml index e0e577a..6269f24 100644 --- a/src/qml/SearchBox.qml +++ b/src/qml/SearchBox.qml @@ -45,7 +45,7 @@ Item { property alias searchText: searchTextInput.text property alias placeHolderText: searchTextInput.placeholderText property alias maximumLength: searchTextInput.maximumLength - property alias activeFocus: searchTextInput.activeFocus + property alias activeFocus2: searchTextInput.activeFocus // Styling for the SearchBox property Style platformStyle: ToolBarStyle {} diff --git a/src/src.pro b/src/src.pro index f8d377a..ac3e29a 100644 --- a/src/src.pro +++ b/src/src.pro @@ -9,12 +9,12 @@ CONFIG -= app_bundle # OS X CONFIG += link_pkgconfig -packagesExist(qdeclarative-boostable) { - message("Building with qdeclarative-boostable support") +packagesExist(qdeclarative5-boostable) { + message("Building with qdeclarative5-boostable support") DEFINES += HAS_BOOSTER - PKGCONFIG += qdeclarative-boostable + PKGCONFIG += qdeclarative5-boostable } else { - warning("qdeclarative-boostable not available; startup times will be slower") + warning("qdeclarative5-boostable not available; startup times will be slower") } SOURCES += main.cpp From ac4d621d9326588e8ebabaa1c68c071c990bc32f Mon Sep 17 00:00:00 2001 From: Timo Hannukkala Date: Tue, 20 Aug 2013 12:59:00 +0300 Subject: [PATCH 18/18] target url fixed on src.pro --- src/src.pro | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/src.pro b/src/src.pro index ac3e29a..70b5ee1 100644 --- a/src/src.pro +++ b/src/src.pro @@ -34,7 +34,7 @@ INSTALLS += desktop # qml API we provide qml_api.files = qml/api/* -qml_api.path = /usr/lib/qt5/qml/org/nemomobile/$$PROJECT_NAME +qml_api.path = $$[QT_INSTALL_IMPORTS]/org/nemomobile/$$PROJECT_NAME INSTALLS += qml_api TRANSLATIONS += *.qml