diff --git a/tests/build_resources_file b/tests/build_resources_file
deleted file mode 100755
index 6066a6740..000000000
--- a/tests/build_resources_file
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/usr/bin/bash
-
-echo ""
-echo " "
-
-for filename in $(find languages/ ui/ imgs/ -type f)
-do
- basename="${filename##*/}"
- extension="${filename##*.}"
-
- if [[ "${extension}" == @(qml|svg|png|qm|js) ||
- "${basename}" == "qmldir" ]]; then
- echo " $filename"
- fi
-done
-
-echo " "
-echo ""
diff --git a/tests/linphone.pro b/tests/linphone.pro
index 1cfdb0ab7..fd3fa69ec 100644
--- a/tests/linphone.pro
+++ b/tests/linphone.pro
@@ -4,26 +4,30 @@ TARGET = linphone
TEMPLATE = app
CONFIG += c++11
+RESOURCES = resources.qrc
+
SOURCES = \
src/app.cpp \
src/main.cpp \
src/models/notification/NotificationModel.cpp \
+ src/models/settings/AccountSettingsListModel.cpp \
src/models/settings/AccountSettingsModel.cpp \
- src/models/settings/SettingsModel.cpp
+ src/models/settings/SettingsModel.cpp \
HEADERS = \
-src/app.hpp \
+ src/app.hpp \
src/models/notification/NotificationModel.hpp \
+ src/models/settings/AccountSettingsListModel.hpp \
src/models/settings/AccountSettingsModel.hpp \
- src/models/settings/SettingsModel.hpp
+ src/models/settings/SettingsModel.hpp \
TRANSLATIONS = \
languages/en.ts \
- languages/fr.ts
+ languages/fr.ts \
lupdate_only{
- # Each component folder must be added explicitly.
SOURCES = \
+ ui/Linphone/*.qml \
ui/Linphone/Chat/*.qml \
ui/Linphone/Collapse/*.qml \
ui/Linphone/Contact/*.qml \
@@ -40,7 +44,6 @@ lupdate_only{
ui/Linphone/Timeline/*.qml \
ui/Linphone/View/*.qml \
ui/Views/*.qml \
- ui/Views/MainWindow/*.qml
-}
+ ui/Views/MainWindow/*.qml \
-RESOURCES = resources.qrc
+}
diff --git a/tests/resources.qrc b/tests/resources.qrc
index de2e6b5e8..c318ee7dd 100644
--- a/tests/resources.qrc
+++ b/tests/resources.qrc
@@ -1,74 +1,74 @@
- languages/fr.qm
+ imgs/call.svg
+ imgs/cam.svg
+ imgs/chat_attachment.svg
+ imgs/chat.svg
+ imgs/collapse.svg
+ imgs/conference.svg
+ imgs/contact.svg
+ imgs/delete.svg
+ imgs/hangup.svg
+ imgs/history.svg
+ imgs/incoming_call.svg
+ imgs/led_absent.svg
+ imgs/led_connected.svg
+ imgs/led_disconnected.svg
+ imgs/led_do_not_disturb.svg
+ imgs/linphone.png
+ imgs/lost_incoming_call.svg
+ imgs/lost_outgoing_call.svg
+ imgs/valid.svg
languages/en.qm
- ui/Views/MainWindow/Contact.qml
- ui/Views/MainWindow/Contacts.qml
- ui/Views/MainWindow/Conversation.qml
- ui/Views/MainWindow/MainWindow.qml
- ui/Views/MainWindow/Home.qml
- ui/Views/ManageAccounts.qml
- ui/Views/NewCall.qml
- ui/scripts/utils.js
+ languages/fr.qm
+ ui/Linphone/Chat/Chat.qml
+ ui/Linphone/Chat/Event.qml
+ ui/Linphone/Chat/IncomingMessage.qml
+ ui/Linphone/Chat/Message.qml
+ ui/Linphone/Chat/OutgoingMessage.qml
+ ui/Linphone/Collapse/Collapse.qml
+ ui/Linphone/Constants.qml
+ ui/Linphone/Contact/Avatar.qml
+ ui/Linphone/Contact/ContactDescription.qml
+ ui/Linphone/Contact/Contact.qml
+ ui/Linphone/Dialog/ConfirmDialog.qml
+ ui/Linphone/Dialog/DialogDescription.qml
+ ui/Linphone/Dialog/DialogPlus.qml
+ ui/Linphone/Form/ActionBar.qml
+ ui/Linphone/Form/ActionButton.qml
+ ui/Linphone/Form/CheckBoxText.qml
+ ui/Linphone/Form/DarkButton.qml
+ ui/Linphone/Form/DropZone.qml
+ ui/Linphone/Form/ExclusiveButtons.qml
+ ui/Linphone/Form/LightButton.qml
+ ui/Linphone/Form/ListForm.qml
+ ui/Linphone/Form/SmallButton.qml
+ ui/Linphone/Form/TransparentComboBox.qml
+ ui/Linphone/Image/Icon.qml
+ ui/Linphone/InvertedMouseArea/InvertedMouseArea.qml
+ ui/Linphone/Misc/MenuEntry.qml
ui/Linphone/Popup/DropDownMenu.qml
ui/Linphone/Popup/PopupShadow.qml
ui/Linphone/qmldir
ui/Linphone/ScrollBar/ForceScrollBar.qml
- ui/Linphone/Chat/IncomingMessage.qml
- ui/Linphone/Chat/Chat.qml
- ui/Linphone/Chat/OutgoingMessage.qml
- ui/Linphone/Chat/Event.qml
- ui/Linphone/Chat/Message.qml
ui/Linphone/SearchBox/SearchBox.qml
- ui/Linphone/Form/CheckBoxText.qml
- ui/Linphone/Form/DropZone.qml
- ui/Linphone/Form/LightButton.qml
- ui/Linphone/Form/ListForm.qml
- ui/Linphone/Form/ExclusiveButtons.qml
- ui/Linphone/Form/ActionBar.qml
- ui/Linphone/Form/ActionButton.qml
- ui/Linphone/Form/TransparentComboBox.qml
- ui/Linphone/Form/SmallButton.qml
- ui/Linphone/Form/DarkButton.qml
- ui/Linphone/View/ScrollableListView.qml
- ui/Linphone/Collapse/Collapse.qml
- ui/Linphone/Styles/qmldir
- ui/Linphone/Styles/DialogStyle.qml
- ui/Linphone/Styles/ScrollBarStyle.qml
- ui/Linphone/Styles/TimelineStyle.qml
- ui/Linphone/Styles/SearchBoxStyle.qml
- ui/Linphone/Styles/CollapseStyle.qml
- ui/Linphone/Styles/PopupStyle.qml
- ui/Linphone/Timeline/Timeline.qml
- ui/Linphone/Misc/MenuEntry.qml
- ui/Linphone/InvertedMouseArea/InvertedMouseArea.qml
ui/Linphone/Select/SelectContact.qml
- ui/Linphone/Contact/Contact.qml
- ui/Linphone/Contact/ContactDescription.qml
- ui/Linphone/Contact/Avatar.qml
- ui/Linphone/Constants.qml
- ui/Linphone/Dialog/ConfirmDialog.qml
- ui/Linphone/Dialog/DialogDescription.qml
- ui/Linphone/Dialog/DialogPlus.qml
- ui/Linphone/Image/Icon.qml
- imgs/lost_outgoing_call.svg
- imgs/led_disconnected.svg
- imgs/valid.svg
- imgs/incoming_call.svg
- imgs/linphone.png
- imgs/led_do_not_disturb.svg
- imgs/lost_incoming_call.svg
- imgs/conference.svg
- imgs/cam.svg
- imgs/history.svg
- imgs/hangup.svg
- imgs/chat.svg
- imgs/chat_attachment.svg
- imgs/led_connected.svg
- imgs/led_absent.svg
- imgs/call.svg
- imgs/collapse.svg
- imgs/delete.svg
- imgs/contact.svg
+ ui/Linphone/Styles/CollapseStyle.qml
+ ui/Linphone/Styles/DialogStyle.qml
+ ui/Linphone/Styles/PopupStyle.qml
+ ui/Linphone/Styles/qmldir
+ ui/Linphone/Styles/ScrollBarStyle.qml
+ ui/Linphone/Styles/SearchBoxStyle.qml
+ ui/Linphone/Styles/TimelineStyle.qml
+ ui/Linphone/Timeline/Timeline.qml
+ ui/Linphone/View/ScrollableListView.qml
+ ui/scripts/utils.js
+ ui/Views/MainWindow/Contact.qml
+ ui/Views/MainWindow/Contacts.qml
+ ui/Views/MainWindow/Conversation.qml
+ ui/Views/MainWindow/Home.qml
+ ui/Views/MainWindow/MainWindow.qml
+ ui/Views/ManageAccounts.qml
+ ui/Views/NewCall.qml
diff --git a/tests/scripts/build_resources_file b/tests/scripts/build_resources_file
new file mode 100755
index 000000000..9fb86ba82
--- /dev/null
+++ b/tests/scripts/build_resources_file
@@ -0,0 +1,22 @@
+#!/usr/bin/bash
+
+RESOURCE_FILE="resources.qrc"
+
+cd $1
+
+echo "
+ " > $RESOURCE_FILE
+
+for filename in $(find languages/ ui/ imgs/ -type f | sort)
+do
+ basename="${filename##*/}"
+ extension="${filename##*.}"
+
+ if [[ "${extension}" == @(qml|svg|png|qm|js) ||
+ "${basename}" == "qmldir" ]]; then
+ echo " $filename" >> $RESOURCE_FILE
+ fi
+done
+
+echo "
+" >> $RESOURCE_FILE
diff --git a/tests/scripts/update_languages b/tests/scripts/update_languages
new file mode 100755
index 000000000..8a51b9d87
--- /dev/null
+++ b/tests/scripts/update_languages
@@ -0,0 +1,4 @@
+#!/usr/bin/bash
+
+lupdate-qt5 -verbose $1/linphone.pro
+lrelease-qt5 $1/linphone.pro
diff --git a/tests/scripts/update_linphone b/tests/scripts/update_linphone
new file mode 100755
index 000000000..97514cf4a
--- /dev/null
+++ b/tests/scripts/update_linphone
@@ -0,0 +1,44 @@
+#!/usr/bin/bash
+
+PRO_FILE="linphone.pro"
+
+cd $1
+
+echo "QT = core gui quick widgets quickcontrols2
+
+TARGET = linphone
+TEMPLATE = app
+CONFIG += c++11
+
+RESOURCES = resources.qrc" > $PRO_FILE
+
+echo "
+SOURCES = \\" >> $PRO_FILE
+for filename in $(find src/ -name \*.cpp -type f | sort)
+do
+ echo " $filename \\" >> $PRO_FILE
+done
+
+echo "
+HEADERS = \\" >> $PRO_FILE
+for filename in $(find src/ -name \*.hpp -type f | sort)
+do
+ echo " $filename \\" >> $PRO_FILE
+done
+
+echo "
+TRANSLATIONS = \\" >> $PRO_FILE
+for filename in $(find languages/ -name \*.ts -type f | sort)
+do
+ echo " $filename \\" >> $PRO_FILE
+done
+
+echo "
+lupdate_only{
+ SOURCES = \\" >> $PRO_FILE
+for filename in $(find ui/ -type f -name \*.qml -printf '%h\n' | sort -u)
+do
+ echo " $filename/*.qml \\" >> $PRO_FILE
+done
+echo "
+}" >> $PRO_FILE
diff --git a/tests/update_project b/tests/update_project
new file mode 100755
index 000000000..518445030
--- /dev/null
+++ b/tests/update_project
@@ -0,0 +1,7 @@
+#!/usr/bin/bash
+
+SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+
+$SCRIPT_DIR/scripts/update_linphone $SCRIPT_DIR
+$SCRIPT_DIR/scripts/build_resources_file $SCRIPT_DIR
+$SCRIPT_DIR/scripts/update_languages $SCRIPT_DIR