From 1a61af02f306e51d3a1e9e28adf15b1c375ba726 Mon Sep 17 00:00:00 2001 From: Andreas Traczyk <andreas.traczyk@savoirfairelinux.com> Date: Mon, 19 Jul 2021 23:52:58 -0400 Subject: [PATCH] resources: remove unused images and icons gen-resources.py should be used to generate resources.qrc and JamiResources.qml. Steps to add an image resource: - add the resource file to the appropriate path under resources/ - run gen-resources.py - use the newly available resource Note: only icons and images will be represented by Qml properties. The resource file generation may be made to run during CMake configuration in a subsequent commit. Some unused components were also removed during the refactor. Gitlab: #477 Change-Id: I8e7f13d465031666be2bbadd5f29f9afc94d210d --- CMakeLists.txt | 7 +- cmake/windows_daemon_deploy.cmake | 4 +- gen-resources.py | 33 +++ ico.rc | 2 +- images/ajax-loader.gif | Bin 673 -> 0 bytes images/icons/arrow_back-white-24dp.svg | 1 - images/icons/baseline-refresh-24px.svg | 1 - images/icons/chat-24px.svg | 1 - images/icons/chevron_left_black_24dp.svg | 1 - images/icons/delete-24px.svg | 11 - images/icons/ic_add_black_18dp_2x.png | Bin 237 -> 0 bytes .../ic_arrow_drop_down_black_18dp_2x.png | Bin 205 -> 0 bytes .../icons/ic_arrow_drop_down_black_9dp_2x.png | Bin 193 -> 0 bytes .../icons/ic_arrow_drop_up_black_18dp_2x.png | Bin 198 -> 0 bytes .../icons/ic_arrow_drop_up_black_9dp_2x.png | Bin 186 -> 0 bytes .../icons/ic_arrow_forward_white_48dp_2x.png | Bin 235 -> 0 bytes .../icons/ic_arrow_tab_next_black_9dp_2x.png | Bin 209 -> 0 bytes .../ic_arrow_tab_previous_black_9dp_2x.png | Bin 202 -> 0 bytes images/icons/ic_chat_black_24dp_2x.png | Bin 193 -> 0 bytes images/icons/ic_chat_white_24dp.png | Bin 205 -> 0 bytes images/icons/ic_check_white_18dp_2x.png | Bin 181 -> 0 bytes images/icons/ic_done_white_24dp.png | Bin 199 -> 0 bytes images/icons/ic_exit_full_screen_black.png | Bin 6079 -> 0 bytes images/icons/ic_folder_black_18dp_2x.png | Bin 241 -> 0 bytes images/icons/ic_full_screen_black.png | Bin 861 -> 0 bytes images/icons/ic_group_add_white_24dp.png | Bin 384 -> 0 bytes images/icons/ic_hide_password.png | Bin 4717 -> 0 bytes images/icons/ic_mic_off_white_24dp.png | Bin 484 -> 0 bytes images/icons/ic_mic_white_24dp.png | Bin 394 -> 0 bytes .../icons/ic_photo_camera_white_24dp_2x.png | Bin 446 -> 0 bytes images/icons/ic_play_white_24dp.png | Bin 196 -> 0 bytes images/icons/ic_send_white_24dp.png | Bin 344 -> 0 bytes images/icons/ic_settings_white_48dp_2x.png | Bin 1074 -> 0 bytes images/icons/ic_share_black_48dp_2x.png | Bin 888 -> 0 bytes images/icons/ic_show_password.png | Bin 7530 -> 0 bytes images/icons/ic_videocam_off_white_24dp.png | Bin 296 -> 0 bytes images/icons/ic_videocam_white.png | Bin 234 -> 0 bytes images/icons/mic-24px.svg | 12 - images/icons/pause-24px.svg | 1 - images/icons/play_circle_outline-24px.svg | 1 - images/jami.png | Bin 26060 -> 0 bytes images/spike.png | Bin 355 -> 0 bytes images/waiting.gif | Bin 2506 -> 0 bytes qml.qrc | 4 +- resources.qrc | 276 ++++++++---------- {images => resources/fonts}/FontAwesome.otf | Bin .../icons/account_24dp.svg | 0 .../icons/add_people_24dp.svg | 2 +- .../icons/add_people_black_24dp.svg | 0 .../icons/arrow_drop_down_24dp.svg | 0 .../icons/arrow_drop_up_24dp.svg | 0 .../icons/back_24dp.svg | 2 +- .../icons/backup_24dp.svg | 0 .../icons/baseline_camera_alt_24dp.svg | 0 .../icons/baseline_close_24dp.svg | 0 .../icons/baseline_desktop_windows_24dp.svg | 0 .../icons/baseline_done_24dp.svg | 0 .../icons/baseline_error_outline_24dp.svg | 0 .../icons/block_black_24dp.svg | 0 .../icons/chat_black_24dp.svg | 0 .../icons/check_black_24dp.svg | 0 .../icons/check_box_24dp.svg | 0 .../icons/check_box_outline_blank_24dp.svg | 0 resources/icons/chevron_left_black_24dp.svg | 1 + .../icons/close_fullscreen_24dp.svg | 2 +- .../icons/close_white_24dp.svg | 0 .../icons/content_copy_24dp.svg | 0 .../icons/cross_black_24dp.svg | 0 .../icons/delete_24dp.svg | 0 .../icons/delete_forever_24dp.svg | 0 .../icons/devices_24dp.svg | 0 .../icons/done_white_24dp.svg | 0 .../icons/drafts_24dp.svg | 0 .../icons/emoji_black_24dp.svg | 0 .../icons/expand_less_24dp.svg | 0 .../icons/expand_more_24dp.svg | 0 .../icons/extension_24dp.svg | 0 .../icons/fiber_manual_record_24dp.svg | 0 .../icons/file_black_24dp.svg | 0 .../icons/gear_black_24dp.svg | 0 .../icons/group_add_24dp.svg | 0 .../icons/groups_24dp.svg | 0 .../icons/ic_arrow_back_24dp.svg | 0 .../icons/ic_arrow_back_white_24dp.svg | 0 .../icons/ic_baseline_search_24dp.svg | 0 .../icons/ic_call_end_white_24dp.svg | 0 .../icons/ic_clear_24dp.svg | 0 .../icons/ic_content_copy.svg | 0 .../icons/ic_hangup_participant_24dp.svg | 0 .../icons/ic_high_quality_24dp.svg | 0 {images => resources}/icons/ic_keypad.svg | 0 .../icons/ic_pause_white_100px.svg | 0 .../icons/ic_send_24dp.svg | 0 .../icons/ic_video_call_24dp.svg | 0 .../icons/info_24dp.svg | 0 .../icons/insert_photo_24dp.svg | 0 .../icons/link_black_24dp.svg | 0 .../icons/media_black_24dp.svg | 0 .../icons/message_audio_black_24dp.svg | 0 .../icons/message_video_black_24dp.svg | 0 .../icons/mic_24dp.svg | 0 .../icons/mic_off_24dp.svg | 0 {images => resources}/icons/moderator.svg | 0 .../icons/more_vert_24dp.svg | 0 .../icons/mosaic_black_24dp.svg | 0 .../icons/open_in_full_24dp.svg | 0 .../icons/outline_info_24dp.svg | 0 .../icons/pause_24dp.svg | 0 .../icons/pause_circle_outline_24dp.svg | 0 .../icons/person_24dp.svg | 0 .../icons/phone_forwarded_24dp.svg | 0 .../icons/phone_paused_24dp.svg | 0 .../icons/place_audiocall_24dp.svg | 0 .../icons/play_circle_outline_24dp.svg | 0 .../icons/plugin_settings_black_24dp.svg | 0 .../icons/plugins_24dp.svg | 0 .../icons/qr_code_24dp.svg | 0 .../icons/re_record_24dp.svg | 0 .../icons/record_black_24dp.svg | 0 .../icons/round_add_24dp.svg | 0 .../icons/round_add_a_photo_24dp.svg | 0 .../icons/round_arrow_drop_down_24dp.svg | 0 .../icons/round_arrow_drop_up_24dp.svg | 0 .../icons/round_arrow_right_24dp.svg | 0 .../icons/round_check_circle_24dp.svg | 0 .../icons/round_close_24dp.svg | 0 .../icons/round_edit_24dp.svg | 0 .../icons/round_error_24dp.svg | 0 .../icons/round_folder_24dp.svg | 0 .../icons/round_remove_circle_24dp.svg | 0 .../icons/round_save_alt_24dp.svg | 0 .../icons/round_settings_24dp.svg | 0 .../icons/round_undo_24dp.svg | 0 .../icons/router_24dp.svg | 0 .../icons/send_24dp.svg | 0 .../icons/send_black_24dp.svg | 0 .../icons/settings_24dp.svg | 0 .../icons/settings_backup_restore_24dp.svg | 0 .../settings_backup_restore_black_18dp.svg | 0 .../icons/share_24dp.svg | 0 .../icons/share_screen_black_24dp.svg | 0 .../icons/share_stop_black_24dp.svg | 0 .../icons/spk_black_24dp.svg | 0 .../icons/spk_none_black_24dp.svg | 0 .../icons/star_outline_24dp.svg | 0 .../icons/stop_24dp.svg | 0 .../icons/stop_24dp_red.svg | 0 .../icons/videocam_24dp.svg | 0 .../icons/videocam_off_24dp.svg | 0 .../images}/default_avatar_overlay.svg | 0 {images => resources/images}/jami-32px.xpm | 0 {images => resources/images}/jami-48px.png | Bin {images => resources/images}/jami-new.svg | 0 {images => resources/images}/jami.ico | Bin {images => resources/images}/jami.svg | 0 .../images}/jami_eclipse_spinner.gif | Bin .../images}/jami_rolling_spinner.gif | Bin .../images}/logo-jami-standard-coul-white.svg | 0 .../images}/logo-jami-standard-coul.svg | 0 {images/icons => resources/images}/quote.svg | 0 .../misc/projectcredits.html | 0 src/DaemonReconnectWindow.qml | 7 +- .../AccountMigrationDialog.qml | 9 +- src/commoncomponents/DaemonReconnectPopup.qml | 4 +- src/commoncomponents/LookupStatusLabel.qml | 103 ------- src/commoncomponents/MaterialLineEdit.qml | 6 +- src/commoncomponents/PhotoboothView.qml | 8 +- .../PreferenceItemDelegate.qml | 4 +- src/commoncomponents/SpinnerButton.qml | 4 +- src/commoncomponents/TintedButton.qml | 114 -------- src/constant/JamiResources.qml | 118 ++++++++ src/mainapplication.cpp | 6 +- src/mainview/components/AboutPopUp.qml | 6 +- src/mainview/components/AccountComboBox.qml | 10 +- src/mainview/components/CallActionBar.qml | 41 +-- .../components/CallButtonDelegate.qml | 9 +- src/mainview/components/CallOverlay.qml | 2 +- .../components/CallViewContextMenu.qml | 25 +- src/mainview/components/ContactPicker.qml | 2 +- src/mainview/components/ContactSearchBar.qml | 4 +- .../ConversationSmartListContextMenu.qml | 18 +- .../components/FilesToSendDelegate.qml | 4 +- src/mainview/components/InitialCallPage.qml | 12 +- src/mainview/components/InvitationView.qml | 6 +- src/mainview/components/MainOverlay.qml | 2 +- src/mainview/components/MessageBar.qml | 10 +- .../components/MessageWebViewHeader.qml | 17 +- .../ParticipantCallInStatusDelegate.qml | 2 +- .../components/ParticipantControlLayout.qml | 13 +- .../components/ParticipantOverlay.qml | 6 +- .../components/PluginHandlerItemDelegate.qml | 2 +- .../components/PluginHandlerPicker.qml | 6 +- src/mainview/components/RecordBox.qml | 8 +- .../VideoCallPageContextMenuDeviceItem.qml | 4 +- src/mainview/components/WelcomePage.qml | 6 +- src/qmlregister.cpp | 5 +- .../components/AdvancedCallSettings.qml | 6 +- .../AdvancedJamiSecuritySettings.qml | 6 +- .../AdvancedSIPSecuritySettings.qml | 6 +- .../components/AdvancedSettings.qml | 10 +- .../components/BannedContacts.qml | 6 +- .../components/CurrentAccountSettings.qml | 6 +- .../components/DeviceItemDelegate.qml | 43 ++- .../components/LinkDeviceDialog.qml | 2 +- src/settingsview/components/LinkedDevices.qml | 2 +- .../components/MediaCodecDelegate.qml | 4 +- src/settingsview/components/MediaSettings.qml | 4 +- .../components/NameRegistrationDialog.qml | 2 +- .../components/PluginItemDelegate.qml | 2 +- .../components/PluginListPreferencesView.qml | 4 +- .../components/PluginListSettingsView.qml | 2 +- .../components/RecordingSettings.qml | 2 +- .../components/SettingsHeader.qml | 8 +- src/settingsview/components/SettingsMenu.qml | 8 +- .../components/SystemSettings.qml | 2 +- src/systemtray.cpp | 4 +- src/tintedbuttonimageprovider.h | 59 ---- src/utils.cpp | 2 +- .../components/CollapsiblePasswordWidget.qml | 154 ---------- .../ConnectToAccountManagerPage.qml | 2 +- .../components/CreateAccountPage.qml | 2 +- .../components/CreateSIPAccountPage.qml | 2 +- .../components/ImportFromBackupPage.qml | 4 +- .../components/ImportFromDevicePage.qml | 2 +- src/wizardview/components/WelcomePage.qml | 18 +- 225 files changed, 498 insertions(+), 841 deletions(-) create mode 100644 gen-resources.py delete mode 100644 images/ajax-loader.gif delete mode 100644 images/icons/arrow_back-white-24dp.svg delete mode 100644 images/icons/baseline-refresh-24px.svg delete mode 100644 images/icons/chat-24px.svg delete mode 100644 images/icons/chevron_left_black_24dp.svg delete mode 100644 images/icons/delete-24px.svg delete mode 100644 images/icons/ic_add_black_18dp_2x.png delete mode 100644 images/icons/ic_arrow_drop_down_black_18dp_2x.png delete mode 100644 images/icons/ic_arrow_drop_down_black_9dp_2x.png delete mode 100644 images/icons/ic_arrow_drop_up_black_18dp_2x.png delete mode 100644 images/icons/ic_arrow_drop_up_black_9dp_2x.png delete mode 100644 images/icons/ic_arrow_forward_white_48dp_2x.png delete mode 100644 images/icons/ic_arrow_tab_next_black_9dp_2x.png delete mode 100644 images/icons/ic_arrow_tab_previous_black_9dp_2x.png delete mode 100644 images/icons/ic_chat_black_24dp_2x.png delete mode 100644 images/icons/ic_chat_white_24dp.png delete mode 100644 images/icons/ic_check_white_18dp_2x.png delete mode 100644 images/icons/ic_done_white_24dp.png delete mode 100644 images/icons/ic_exit_full_screen_black.png delete mode 100644 images/icons/ic_folder_black_18dp_2x.png delete mode 100644 images/icons/ic_full_screen_black.png delete mode 100644 images/icons/ic_group_add_white_24dp.png delete mode 100644 images/icons/ic_hide_password.png delete mode 100644 images/icons/ic_mic_off_white_24dp.png delete mode 100644 images/icons/ic_mic_white_24dp.png delete mode 100644 images/icons/ic_photo_camera_white_24dp_2x.png delete mode 100644 images/icons/ic_play_white_24dp.png delete mode 100644 images/icons/ic_send_white_24dp.png delete mode 100644 images/icons/ic_settings_white_48dp_2x.png delete mode 100644 images/icons/ic_share_black_48dp_2x.png delete mode 100644 images/icons/ic_show_password.png delete mode 100644 images/icons/ic_videocam_off_white_24dp.png delete mode 100644 images/icons/ic_videocam_white.png delete mode 100644 images/icons/mic-24px.svg delete mode 100644 images/icons/pause-24px.svg delete mode 100644 images/icons/play_circle_outline-24px.svg delete mode 100644 images/jami.png delete mode 100644 images/spike.png delete mode 100644 images/waiting.gif rename {images => resources/fonts}/FontAwesome.otf (100%) rename images/icons/account_black-24dp.svg => resources/icons/account_24dp.svg (100%) rename images/icons/add_people-24px.svg => resources/icons/add_people_24dp.svg (96%) rename {images => resources}/icons/add_people_black_24dp.svg (100%) rename images/icons/arrow_drop_down-24px.svg => resources/icons/arrow_drop_down_24dp.svg (100%) rename images/icons/arrow_drop_up-24px.svg => resources/icons/arrow_drop_up_24dp.svg (100%) rename images/icons/ic_arrow_back_24px.svg => resources/icons/back_24dp.svg (87%) rename images/icons/backup-24px.svg => resources/icons/backup_24dp.svg (100%) rename images/icons/baseline-camera_alt-24px.svg => resources/icons/baseline_camera_alt_24dp.svg (100%) rename images/icons/baseline-close-24px.svg => resources/icons/baseline_close_24dp.svg (100%) rename images/icons/baseline-desktop_windows-24px.svg => resources/icons/baseline_desktop_windows_24dp.svg (100%) rename images/icons/baseline-done-24px.svg => resources/icons/baseline_done_24dp.svg (100%) rename images/icons/baseline-error_outline-24px.svg => resources/icons/baseline_error_outline_24dp.svg (100%) rename images/icons/block_black-24dp.svg => resources/icons/block_black_24dp.svg (100%) rename {images => resources}/icons/chat_black_24dp.svg (100%) rename images/icons/check_black-24dp.svg => resources/icons/check_black_24dp.svg (100%) rename images/icons/check_box-24px.svg => resources/icons/check_box_24dp.svg (100%) rename images/icons/check_box_outline_blank-24px.svg => resources/icons/check_box_outline_blank_24dp.svg (100%) create mode 100644 resources/icons/chevron_left_black_24dp.svg rename images/icons/close_fullscreen-24px.svg => resources/icons/close_fullscreen_24dp.svg (95%) rename images/icons/close-white-24dp.svg => resources/icons/close_white_24dp.svg (100%) rename images/icons/content_copy-24px.svg => resources/icons/content_copy_24dp.svg (100%) rename {images => resources}/icons/cross_black_24dp.svg (100%) rename images/icons/av_icons/delete-24px.svg => resources/icons/delete_24dp.svg (100%) rename images/icons/delete_forever-24px.svg => resources/icons/delete_forever_24dp.svg (100%) rename images/icons/devices-24px.svg => resources/icons/devices_24dp.svg (100%) rename images/icons/done-white-24dp.svg => resources/icons/done_white_24dp.svg (100%) rename images/icons/drafts-24px.svg => resources/icons/drafts_24dp.svg (100%) rename images/icons/emoji_black-24dp.svg => resources/icons/emoji_black_24dp.svg (100%) rename images/icons/expand_less-24px.svg => resources/icons/expand_less_24dp.svg (100%) rename images/icons/expand_more-24px.svg => resources/icons/expand_more_24dp.svg (100%) rename {images => resources}/icons/extension_24dp.svg (100%) rename images/icons/av_icons/fiber_manual_record-24px.svg => resources/icons/fiber_manual_record_24dp.svg (100%) rename images/icons/file_black-24dp.svg => resources/icons/file_black_24dp.svg (100%) rename images/icons/gear_black-24dp.svg => resources/icons/gear_black_24dp.svg (100%) rename images/icons/group_add-24px.svg => resources/icons/group_add_24dp.svg (100%) rename images/icons/groups-24px.svg => resources/icons/groups_24dp.svg (100%) rename images/icons/back-24px.svg => resources/icons/ic_arrow_back_24dp.svg (100%) rename {images => resources}/icons/ic_arrow_back_white_24dp.svg (100%) rename images/icons/ic_baseline-search-24px.svg => resources/icons/ic_baseline_search_24dp.svg (100%) rename images/icons/ic_call_end_white_24px.svg => resources/icons/ic_call_end_white_24dp.svg (100%) rename images/icons/ic_clear_24px.svg => resources/icons/ic_clear_24dp.svg (100%) rename {images => resources}/icons/ic_content_copy.svg (100%) rename images/icons/ic_hangup_participant-24px.svg => resources/icons/ic_hangup_participant_24dp.svg (100%) rename images/icons/ic_high_quality_24px.svg => resources/icons/ic_high_quality_24dp.svg (100%) rename {images => resources}/icons/ic_keypad.svg (100%) rename {images => resources}/icons/ic_pause_white_100px.svg (100%) rename images/icons/ic_send_24px.svg => resources/icons/ic_send_24dp.svg (100%) rename images/icons/ic_video_call_24px.svg => resources/icons/ic_video_call_24dp.svg (100%) rename images/icons/info-24px.svg => resources/icons/info_24dp.svg (100%) rename images/icons/insert_photo-24px.svg => resources/icons/insert_photo_24dp.svg (100%) rename images/icons/link_black-24dp.svg => resources/icons/link_black_24dp.svg (100%) rename images/icons/media_black-24dp.svg => resources/icons/media_black_24dp.svg (100%) rename images/icons/message_audio_black-24dp.svg => resources/icons/message_audio_black_24dp.svg (100%) rename images/icons/message_video_black-24dp.svg => resources/icons/message_video_black_24dp.svg (100%) rename images/icons/av_icons/mic-24px.svg => resources/icons/mic_24dp.svg (100%) rename images/icons/mic_off-24px.svg => resources/icons/mic_off_24dp.svg (100%) rename {images => resources}/icons/moderator.svg (100%) rename images/icons/more_vert-24dp.svg => resources/icons/more_vert_24dp.svg (100%) rename {images => resources}/icons/mosaic_black_24dp.svg (100%) rename images/icons/open_in_full-24px.svg => resources/icons/open_in_full_24dp.svg (100%) rename images/icons/outline-info-24px.svg => resources/icons/outline_info_24dp.svg (100%) rename images/icons/av_icons/pause-24px.svg => resources/icons/pause_24dp.svg (100%) rename images/icons/pause_circle_outline-24px.svg => resources/icons/pause_circle_outline_24dp.svg (100%) rename images/icons/person-24px.svg => resources/icons/person_24dp.svg (100%) rename images/icons/phone_forwarded-24px.svg => resources/icons/phone_forwarded_24dp.svg (100%) rename images/icons/phone_paused-24px.svg => resources/icons/phone_paused_24dp.svg (100%) rename images/icons/place_audiocall-24px.svg => resources/icons/place_audiocall_24dp.svg (100%) rename images/icons/av_icons/play_circle_outline-24px.svg => resources/icons/play_circle_outline_24dp.svg (100%) rename images/icons/plugin_settings_black-24dp.svg => resources/icons/plugin_settings_black_24dp.svg (100%) rename images/icons/plugins-24px.svg => resources/icons/plugins_24dp.svg (100%) rename images/icons/qr_code-24px.svg => resources/icons/qr_code_24dp.svg (100%) rename images/icons/av_icons/re-record-24px.svg => resources/icons/re_record_24dp.svg (100%) rename {images => resources}/icons/record_black_24dp.svg (100%) rename images/icons/round-add-24px.svg => resources/icons/round_add_24dp.svg (100%) rename images/icons/round-add_a_photo-24px.svg => resources/icons/round_add_a_photo_24dp.svg (100%) rename images/icons/round-arrow_drop_down-24px.svg => resources/icons/round_arrow_drop_down_24dp.svg (100%) rename images/icons/round-arrow_drop_up-24px.svg => resources/icons/round_arrow_drop_up_24dp.svg (100%) rename images/icons/round-arrow_right-24px.svg => resources/icons/round_arrow_right_24dp.svg (100%) rename images/icons/round-check_circle-24px.svg => resources/icons/round_check_circle_24dp.svg (100%) rename images/icons/round-close-24px.svg => resources/icons/round_close_24dp.svg (100%) rename images/icons/round-edit-24px.svg => resources/icons/round_edit_24dp.svg (100%) rename images/icons/round-error-24px.svg => resources/icons/round_error_24dp.svg (100%) rename images/icons/round-folder-24px.svg => resources/icons/round_folder_24dp.svg (100%) rename images/icons/round-remove_circle-24px.svg => resources/icons/round_remove_circle_24dp.svg (100%) rename images/icons/round-save_alt-24px.svg => resources/icons/round_save_alt_24dp.svg (100%) rename images/icons/round-settings-24px.svg => resources/icons/round_settings_24dp.svg (100%) rename images/icons/round-undo-24px.svg => resources/icons/round_undo_24dp.svg (100%) rename images/icons/router-24px.svg => resources/icons/router_24dp.svg (100%) rename images/icons/av_icons/send-24px.svg => resources/icons/send_24dp.svg (100%) rename images/icons/send_black-24dp.svg => resources/icons/send_black_24dp.svg (100%) rename images/icons/settings-24px.svg => resources/icons/settings_24dp.svg (100%) rename images/icons/settings_backup_restore-24px.svg => resources/icons/settings_backup_restore_24dp.svg (100%) rename images/icons/settings_backup_restore-black-18dp.svg => resources/icons/settings_backup_restore_black_18dp.svg (100%) rename images/icons/share-24px.svg => resources/icons/share_24dp.svg (100%) rename {images => resources}/icons/share_screen_black_24dp.svg (100%) rename {images => resources}/icons/share_stop_black_24dp.svg (100%) rename {images => resources}/icons/spk_black_24dp.svg (100%) rename {images => resources}/icons/spk_none_black_24dp.svg (100%) rename images/icons/star_outline-24px.svg => resources/icons/star_outline_24dp.svg (100%) rename images/icons/av_icons/stop-24px.svg => resources/icons/stop_24dp.svg (100%) rename images/icons/av_icons/stop-24px-red.svg => resources/icons/stop_24dp_red.svg (100%) rename images/icons/videocam-24px.svg => resources/icons/videocam_24dp.svg (100%) rename images/icons/videocam_off-24px.svg => resources/icons/videocam_off_24dp.svg (100%) rename {images => resources/images}/default_avatar_overlay.svg (100%) rename {images => resources/images}/jami-32px.xpm (100%) rename {images => resources/images}/jami-48px.png (100%) rename {images => resources/images}/jami-new.svg (100%) rename {images => resources/images}/jami.ico (100%) rename {images => resources/images}/jami.svg (100%) rename {images => resources/images}/jami_eclipse_spinner.gif (100%) rename {images => resources/images}/jami_rolling_spinner.gif (100%) rename {images => resources/images}/logo-jami-standard-coul-white.svg (100%) rename {images => resources/images}/logo-jami-standard-coul.svg (100%) rename {images/icons => resources/images}/quote.svg (100%) rename projectcredits.html => resources/misc/projectcredits.html (100%) delete mode 100644 src/commoncomponents/LookupStatusLabel.qml delete mode 100644 src/commoncomponents/TintedButton.qml create mode 100644 src/constant/JamiResources.qml delete mode 100644 src/tintedbuttonimageprovider.h delete mode 100644 src/wizardview/components/CollapsiblePasswordWidget.qml diff --git a/CMakeLists.txt b/CMakeLists.txt index 0d451969e..e547cdac4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -94,7 +94,6 @@ set(COMMON_HEADERS ${SRC_DIR}/qrimageprovider.h ${SRC_DIR}/messagesadapter.h ${SRC_DIR}/accountadapter.h - ${SRC_DIR}/tintedbuttonimageprovider.h ${SRC_DIR}/calladapter.h ${SRC_DIR}/conversationsadapter.h ${SRC_DIR}/distantrenderer.h @@ -436,14 +435,14 @@ else() target_compile_definitions(jami-qt PRIVATE JAMI_INSTALL_PREFIX="${JAMI_DATA_PREFIX}") # logos - install(FILES images/jami.svg + install(FILES resources/images/jami.svg DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/scalable/apps) - install(FILES images/jami-48px.png + install(FILES resources/images/jami-48px.png DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/48x48/apps RENAME jami.png) - install(FILES images/jami-32px.xpm + install(FILES resources/images/jami-32px.xpm DESTINATION ${CMAKE_INSTALL_PREFIX}/share/pixmaps RENAME jami.xpm) diff --git a/cmake/windows_daemon_deploy.cmake b/cmake/windows_daemon_deploy.cmake index 82d8a94bf..2d4c8b13c 100644 --- a/cmake/windows_daemon_deploy.cmake +++ b/cmake/windows_daemon_deploy.cmake @@ -12,7 +12,7 @@ else() "${DRING_PATH}/contrib/build/openssl/libcrypto-1_1-x64.dll" "${DRING_PATH}/contrib/build/openssl/libssl-1_1-x64.dll" "${PROJECT_ROOT_DIR}/qt.conf" - "${PROJECT_ROOT_DIR}/images/jami.ico" + "${PROJECT_ROOT_DIR}/resources/images/jami.ico" "${PROJECT_ROOT_DIR}/License.rtf" DESTINATION ${COPY_TO_PATH}) -endif() \ No newline at end of file +endif() diff --git a/gen-resources.py b/gen-resources.py new file mode 100644 index 000000000..a47147bf7 --- /dev/null +++ b/gen-resources.py @@ -0,0 +1,33 @@ +import os +import sys +import re + +resdir = 'resources' +qmlfile = os.path.join('src', 'constant', 'JamiResources.qml') +sep = '_' + +# replace characters that aren't valid within QML property names +formatProp = lambda str: ( + "".join([{".": sep, "-": sep, " ": sep} + .get(c, c) for c in str] + ).lower()) + +with open('resources.qrc', 'w') as qrc, open(qmlfile, 'w') as qml: + qrc.write('<RCC>\n') + qml.write('pragma Singleton\nimport QtQuick 2.14\nQtObject {\n') + for root, _, files in os.walk(resdir): + if len(files): + prefix = root.rsplit(os.sep, 1)[-1] + qrc.write('\t<qresource prefix="/%s">\n' % prefix) + for filename in files: + # use posix separators in the resource path + filepath = os.path.join(root, filename).replace(os.sep, '/') + qrc.write('\t\t<file alias="%s">%s</file>\n' + % (filename, filepath)) + # only record images/icons as properties + if (re.match("icons|images", prefix)): + qml.write(' readonly property string %s: "qrc:/%s"\n' + % (formatProp(filename), filepath.split('/', 1)[1])) + qrc.write('\t</qresource>\n') + qml.write('}') + qrc.write('</RCC>') \ No newline at end of file diff --git a/ico.rc b/ico.rc index ad48aa512..07f790922 100644 --- a/ico.rc +++ b/ico.rc @@ -1 +1 @@ -IDI_ICON1 ICON DISCARDABLE "images/jami.ico" +IDI_ICON1 ICON DISCARDABLE "resources/images/jami.ico" diff --git a/images/ajax-loader.gif b/images/ajax-loader.gif deleted file mode 100644 index f2a1bc0c6f545e20e631a96e8e92f9822e75d046..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 673 zcmZ?wbhEHb6krfw_{6~Q|Nnmm28Kh24mmkF0U1e2Nli^nlO|14{3qpHl$uzQnxasi zS(2fUn3Y(Olb@KPmzkHA&!G5|g@FsGT=74*pKD04vtxj(k)8oFBTz^Oh=E26FfcG1 zbL_hF&)}42ws10s6^G;;cE1^EoUR)U5A70}d2pLv!jVIT7j&Z~EblI3x0K*v_sV|m z0W=b9G$XP(CLnYCdK49;TX=SFc-G}o=oA=|U?{1O;Nu!CwW3C5Yw7*Bi4yD$3fCnb zwK+>}QdQ9sf*QnxY>*kpE+b{_Q;sJloS71)&(@kO!}mqf@1v(v;*8Y=G9S3kY~Cw# zY=t&c<XiDSjLnDnjaH^e&EL-gHHsP8D4^exRJBhTwM~38CoI0Tdl_e|A`gq9OM9Y> z;3~JK4HxB^lY(MD+sYeQ=t%XSSW;x^1M?dTvN=W^yNcAcy`HCte31C;)5xP%b~qs> zDP&4(%TBqBNGHwnryK;B<zCvzA65gK6Eq2C3@frRK<6kNnqVpZxa9esTk{MgkIOtz z)N|T4_f+_rMTR_V+#<z^yEmAApUT*1uz|C4_xxN<FPJ%O$mRf@bLZa&PQjaVLStt! zzPnXeFg2m$ZsMG~CevCS-HsZFOh}l$jggn-kb}T%!-hlG&P{|F!;WDLFy>dMI$fEg xd0mc!<FG>C@j^ZpLxYv4HmnPfI0THYuv<%+6iSmMn&w3dPGDfL1|=LY008wP(boU~ diff --git a/images/icons/arrow_back-white-24dp.svg b/images/icons/arrow_back-white-24dp.svg deleted file mode 100644 index bc39c0465..000000000 --- a/images/icons/arrow_back-white-24dp.svg +++ /dev/null @@ -1 +0,0 @@ -<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white" width="24px" height="24px"><path d="M0 0h24v24H0z" fill="none"/><path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z"/></svg> \ No newline at end of file diff --git a/images/icons/baseline-refresh-24px.svg b/images/icons/baseline-refresh-24px.svg deleted file mode 100644 index f1ad30d27..000000000 --- a/images/icons/baseline-refresh-24px.svg +++ /dev/null @@ -1 +0,0 @@ -<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z"/><path d="M0 0h24v24H0z" fill="none"/></svg> \ No newline at end of file diff --git a/images/icons/chat-24px.svg b/images/icons/chat-24px.svg deleted file mode 100644 index 4ce311b89..000000000 --- a/images/icons/chat-24px.svg +++ /dev/null @@ -1 +0,0 @@ -<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM6 9h12v2H6V9zm8 5H6v-2h8v2zm4-6H6V6h12v2z"/></svg> \ No newline at end of file diff --git a/images/icons/chevron_left_black_24dp.svg b/images/icons/chevron_left_black_24dp.svg deleted file mode 100644 index fad9a0553..000000000 --- a/images/icons/chevron_left_black_24dp.svg +++ /dev/null @@ -1 +0,0 @@ -<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0z" fill="none"/><path d="M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"/></svg> \ No newline at end of file diff --git a/images/icons/delete-24px.svg b/images/icons/delete-24px.svg deleted file mode 100644 index 07d10f6a4..000000000 --- a/images/icons/delete-24px.svg +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> - <title>Garbage</title> - <g id="Icones_Outline" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> - <g id="Garbage" fill="#000000" fill-rule="nonzero" stroke="#000000" stroke-width="0.75"> - <g id="noun_Garbage_2034095" transform="translate(2.000000, 2.000000)"> - <path d="M18.5416667,2.66666667 L12.4791667,2.66666667 L12.4791667,2.1875 C12.4791667,1.04166667 11.5416667,0.104166667 10.3958333,0.104166667 L8.77083333,0.104166667 C7.625,0.104166667 6.6875,1.04166667 6.6875,2.1875 L6.6875,2.66666667 L0.625,2.66666667 C0.333333333,2.66666667 0.0833333333,2.91666667 0.0833333333,3.20833333 C0.0833333333,3.5 0.333333333,3.75 0.625,3.75 L2.14583333,3.75 L2.85416667,17.7291667 C2.91666667,18.9375 3.91666667,19.8958333 5.14583333,19.8958333 L14.0625,19.8958333 C15.2708333,19.8958333 16.2916667,18.9375 16.3541667,17.7291667 L17.0208333,3.75 L18.5416667,3.75 C18.8333333,3.75 19.0833333,3.5 19.0833333,3.20833333 C19.0833333,2.91666667 18.8333333,2.66666667 18.5416667,2.66666667 Z M7.77083333,2.1875 C7.77083333,1.64583333 8.20833333,1.1875 8.77083333,1.1875 L10.3958333,1.1875 C10.9375,1.1875 11.3958333,1.625 11.3958333,2.1875 L11.3958333,2.66666667 L7.77083333,2.66666667 L7.77083333,2.1875 Z M15.2291667,17.6666667 C15.1875,18.3125 14.6666667,18.7916667 14.0416667,18.7916667 L5.125,18.7916667 C4.47916667,18.7916667 3.95833333,18.2916667 3.9375,17.6666667 L3.22916667,3.75 L15.9166667,3.75 L15.2291667,17.6666667 Z" id="Shape"></path> - </g> - </g> - </g> -</svg> \ No newline at end of file diff --git a/images/icons/ic_add_black_18dp_2x.png b/images/icons/ic_add_black_18dp_2x.png deleted file mode 100644 index 6f33be6bac35e3e9dae81da4931ee44b64ad180e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 237 zcmeAS@N?(olHy`uVBq!ia0vp^Dj>|k0wldT1B8JTQ<As43&a2R{xkc5JkA1-$YKTt zZlDaeFeAgPITAoY_7YEDSM~?YOhPJptV?I`0fp*3T^vI^jwdHbuqsO!2n8*8bl};6 z10P-=n9Ka*>P7*hj<b$i<~2SvWoBk<p0VQT*1+brMUFi;CdnH;D0r|nJ>f^q2lgl{ zC;vq{KryukTc2-r7j^Vs6!KY$dslP3vA}Cnq1;PZ8~*42k6)c=;@BtU;yIJobCHVr e{y>9G3=HW;N{PB%3tE6KVeoYIb6Mw<&;$T^*H6Fz diff --git a/images/icons/ic_arrow_drop_down_black_18dp_2x.png b/images/icons/ic_arrow_drop_down_black_18dp_2x.png deleted file mode 100644 index ec71509f355e483ad3f2d2d49cc8af4cb52767e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^Dj>|k0wldT1B8JTQ<As43&a2R{xkc5JkA1-$YKTt zZlDaeFeAgPITAoY_7YEDSM~?YjKUl|znaVE0)^r{T^vI^jwdHbur5vz>0#<(P&RY) zWqrv!=hF?-n))AC9{yrh;ysirqL*AC)pA$k&anrE9G5j}jy*8txT^8zn1BICqKINL whZKupS7YM@Ll;J0R^Qf(HAY-+2RAS?-1?z0Ywp1;3!qI5p00i_>zopr0A6f7ivR!s diff --git a/images/icons/ic_arrow_drop_down_black_9dp_2x.png b/images/icons/ic_arrow_drop_down_black_9dp_2x.png deleted file mode 100644 index 9ccea133ddb3b5a0293ccdbd374c8085040bc1c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+0wn(&ce?|mn3BBRT^Rni_n+Ah<Z%{wL>4nJ za0`PlBg3pY5<o%r5>H=O_6N+Yf@XS;4&>Pag@Qa?978nDCnrdpYna&R80`3qVYyA& z%lG{AtzzmAoH)=BE$PC^%&gqf?JMcS86&vNs6|M{b;YR(Qx|ABX*h>AE#p|!)5sXg jDYjtcf|Uj$kN6mR@-$|t#=3k3n$F<q>gTe~DWM4f+|@Yw diff --git a/images/icons/ic_arrow_drop_up_black_18dp_2x.png b/images/icons/ic_arrow_drop_up_black_18dp_2x.png deleted file mode 100644 index 65b14e07e4d317a898df215c7a6e89ed06957d5d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^Dj>|k0wldT1B8JTQ<As43&a2R{xkc5JkA1-$YKTt zZlDaeFeAgPITAoY_7YEDSM~?YjKb{JN0*(81qy|Gx;Tb-9DjRZp<sgngY(5Fe3vB! zu9S86ofC@?IMeW!&DWvmr`30thAEfsXKfAL8)dTj9mB7}bLCfjZZ<sM#p>G5XyV#` qQ6$za@XJigqvk!IL%lR>a~NLyQQz@{XBr343I<PCKbLh*2~7a6p+WWl diff --git a/images/icons/ic_arrow_drop_up_black_9dp_2x.png b/images/icons/ic_arrow_drop_up_black_9dp_2x.png deleted file mode 100644 index 7c319760027b8f5576ca698e58c2310874c61c05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+0wn(&ce?|mn3BBRT^Rni_n+Ah<Z%{wL>4nJ za0`PlBg3pY5<o%r5>H=O_6N+Yf@W4fq;@#~g}gmo978nDCnrcSIRrZfGsgC?#&&*T zWMgA%f6YI^Rr2E0f>Xu@HT6G4TqTv439+%2r1spHvOqie$U2r#No76N6Q?8!wGWou c{=mX;aJ~ADRkFp8fW|U-y85}Sb4q9e0E)FWxc~qF diff --git a/images/icons/ic_arrow_forward_white_48dp_2x.png b/images/icons/ic_arrow_forward_white_48dp_2x.png deleted file mode 100644 index 5e93f8862b879d31e51adaf46b3a0ebd2063c5a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 235 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD0wg^q?%xcgHhH=@hE&{od-WkNqa#C0AnyXt zUlw25*12(Xp7<;H#OGZt@0&d-=DQ<2CaHK{@;^0UVdX!)>rtFHp9d;G%&b#ZY~ORu z<%C)CSAk7u1Q}7m!^6tUvNG6fx+hE#o>atipl5x+Pvv(%&TLxsuluZd{jtyf&t~WE z`}u6Y`Tv}KKR3_WZ+5@t^V#_f8&=M%SLV6;*_|Wzb38}y=lL9KKfiBz_7muWN&j|n Y%N<#k$X1qa1#~@wr>mdKI;Vst0GCi?UH||9 diff --git a/images/icons/ic_arrow_tab_next_black_9dp_2x.png b/images/icons/ic_arrow_tab_next_black_9dp_2x.png deleted file mode 100644 index 62e6238e5597d2256a9407ce145ca5ddff4cf9a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+0wn(&ce?|mn3BBRT^Rni_n+Ah<Z%{wL>4nJ za0`PlBg3pY5<o%r5>H=O_6N+Yf>uI_QnA~BLP?%3jv*T7lM@s~Gqe)K)197q$RAk8 z<0`n^rYzNGMa-L1GcK@h&`dsLA`>hrY}UR=JNeMN%#c){BQ5fLuJ`5bN_YHYSg#bK z8X>w+``{vuV9qwB9Ip!vr<r43Hgqg;5@BF?cu=Y9<@JY&K-(BRUHx3vIVCg!0ANT! A&;S4c diff --git a/images/icons/ic_arrow_tab_previous_black_9dp_2x.png b/images/icons/ic_arrow_tab_previous_black_9dp_2x.png deleted file mode 100644 index 25769dad4b82d1d90d27dc252ccda3d9e733788d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+0wn(&ce?|mn3BBRT^Rni_n+Ah<Z%{wL>4nJ za0`PlBg3pY5<o%r5>H=O_6N+Yf>vq{>sB%Yg`z!O978nDCnqS#XJ{#Wp0PoDqMd`o z#AQui82u{ubQw%d&^WY=#aFOQRimpw(=n(enzK*gz{(fDnwRt4mlrbO+-@ZDx<J#p rShy@zg75fqvn>VXl@3Kgia@s(mML`!`R`;0TEpP!>gTe~DWM4fkytw0 diff --git a/images/icons/ic_chat_black_24dp_2x.png b/images/icons/ic_chat_black_24dp_2x.png deleted file mode 100644 index e9e92e5f809cd0a62b9a5867d57319d1a86fe31e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA0wn)(8}b0D4o?@ykP61Pmo9QL849>wjP~7f zM%N=^>jsTu{-rtzEdq0ncg?i^|K5SaK6KmT6TH7ay_<9M@#2DmP49knS|l`<9}0DD zY<u0<I`8$&0~!WVOn23Oxa!{&RyAN~x%bUsJtyO2=7ZA@TyqF!UM;plMD{|&-#zSN shlI~Bp671cUnTd|=2d0HiGN$nOEwG6=3cfS6zC=fPgg&ebxsLQ0BM*_h5!Hn diff --git a/images/icons/ic_chat_white_24dp.png b/images/icons/ic_chat_white_24dp.png deleted file mode 100644 index ace0bef32ec67afbe5af73db991c704650d394bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA0wn)(8}b0DDV{ElArXh)UXJ8*a1dyDXvf?4 z(n09-L4n7DPhDHi?C~jyT=bgZ|MW9TN!1r8EIQP%TKb{__fz4L3sLe40S?7m`M0cU z_}u6z+Q5H?&4uaW{u2zP51Q9!B+5@@+{o~El6<{uJxhV{g8GwecX%w!0*V^NIQa`S zm@D~DxK=;;!<q1epFw>;^O`?wA3iBP*~4L(UtOThSE{#-;qG@Op!*m+UHx3vIVCg! E0A!#`<p2Nx diff --git a/images/icons/ic_check_white_18dp_2x.png b/images/icons/ic_check_white_18dp_2x.png deleted file mode 100644 index 729f290104788ce25a026cd1842e625ed29469d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^Dj>|k0wldT1B8K8ji-xah{y4_S9bF@81T3TmS5N? z#C(9Q$LV3`iyt|zzNMK?OD+gTJ2maGvJ86jqI1fWJrY@L@@dRh+8HxyC3MfUOIWFC zSzj(@_&m4jkH)bAn}wUwn%lHbyQcPAEcKb)b;T<=reaCi=lz``&(3vDxn&&?D<LQt e{CnyjZS^{VAA0!=HDy3|FnGH9xvX<aXaWH2@<NUP diff --git a/images/icons/ic_done_white_24dp.png b/images/icons/ic_done_white_24dp.png deleted file mode 100644 index 3b2b65d26291575f2741d223cdf80facb436dc20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA0wn)(8}b0DK2I0Nkcif|mv{3vD2TKsT6rJ; zxO0YV_Rhw~KO`R95NK`?{Vrkn{Yy<f(?N;3e#@)NB@7FHGB-T^q@ZduPf%ly{FMLt z`|GE=_e%0kj%QeNzSCykp+|jrFI~RfJsfvjnDYyhf3^3PM}LZ)disUtTF9#(`KhpR ya^2eL2_HIJOypH0_DoOssCV#5sZ}haHRI)mIl|jd9moc{jKR~@&t;ucLK6Te9#8TB diff --git a/images/icons/ic_exit_full_screen_black.png b/images/icons/ic_exit_full_screen_black.png deleted file mode 100644 index 964dd00211344abeea319521600c2feb54305b96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6079 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 IHY(x&0Jyp_qyPW_ diff --git a/images/icons/ic_folder_black_18dp_2x.png b/images/icons/ic_folder_black_18dp_2x.png deleted file mode 100644 index fceeb6778dbbdcfaaf03c0b4f7d10350731fb59c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^Dj>|k0wldT1B8JTQ<As43&a2R{xkc5JkA1-$YKTt zZlDaeFeAgPITAoY_7YEDSM~?Yj6$-elRp-30}3^Hx;Tb-98XS=V0Gp<I3%&Fagy<k zqXwcj**3QwdK}Lfv>kNJIc8w+!RmvNoxMYoW7ORpQv}jQgbmM4TV<Z7VAWIef3n<x z{c-l*d-qIa5r4>(vuM(0k55v04IK(<SxXlOHoNgknPwc3{_@(?@>c!6BL*)bU!4zM jBK_H>bc>t(DF%k@sWL$~=62i%x`x5i)z4*}Q$iB}pJ!1n diff --git a/images/icons/ic_full_screen_black.png b/images/icons/ic_full_screen_black.png deleted file mode 100644 index 906ca1e46c4385c89faca3735ce121169568b7ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 861 zcmeAS@N?(olHy`uVBq!ia0vp^CqS5k4M?tyST_$yu@pObhHwBu4M$1`kk47*5n0T@ zz%2~Ij105pNH8!k{r7Zn45^s&_O5TAbf`$f#oH5PQzm$Ro1hTEl*HteBigBH?ZG0L zqZl+rx8+^R6h@BPqR{fEH{TW?`&!KYe)H*1lWm!SW@7*wCv)k(zwb6^%H3<9S-H8Y zL;G`4+PpP#NzLKQWwxkJ=(lE%eE9Z^O}y=qsg>r&=fn6n9`wxqzk2cV25&V14yHy0 z>_mLh_ouJ*3;O?8?SC-u`n$7dY+?)U=lAdVadCHL{_{=S9EvNyy))WATl}53f&dGX zBP#Lm&c3I1+bbg;&%erCQ<lg5>FSw15w<Med*>Pd67}zoz|?^-;NcxJ?RTZ-)4%HP zx&9zc?jZMvWX>l?&-~e2#qsay(=&fIR(1T|_2bY(53t*#?VA7Wdi<;0`dp*#w>76H z=W;%oet22KU%uGsavK#mSehIL0bz5q;7z{ux_WbC`}Y?7ep}OH&z<>Ga>_B9>1W|_ zf$cE2R~~5s$Hs=I#wRR)XMbg|@w?|p!1;G_EWSPNdwu`h<C}(ODsOGpOZSWUjZ@d5 zi?<#2&6{b@zwh|}N_%5_ogME@f7hnXTPOEuq3mAq?5W$0Ki7N}2!D3>j7_xd5w>qh z2WvTThvA`VclX?vF*|zr_lBwl?Js|SOmtwt0v;IEFxkFQ+xV27MFAx3>FVdQ&MBb@ E05U!*i~s-t diff --git a/images/icons/ic_group_add_white_24dp.png b/images/icons/ic_group_add_white_24dp.png deleted file mode 100644 index a769931c4236a87d4b19f944f56af54faa0eb94e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 384 zcmV-`0e}99P)<h;3K|Lk000e1NJLTq001xm001xu1ONa4{R=S+0003;Nkl<ZcmeH` zF-ikb6h)_SVhGx5P^?6h=mK1f)>;f2(pYK4M(orTNERTjAfR?S5tVdeX%k4g#9)Nu z6tDOUkIB3uAo|bk?){I$5EA@1JRT24YP1+8iK$W`keu=5c5VXlXNfj0&n(EY%qZR2 z1x4DVc_NhcTIq~}8XCK@ZYiB25L7`6jeA*FmCh&_qS2Fe*6n_&AV%X()-|Ow3aV)A z$hxg`M!__%q=}i5^+xGLkc}%_<OP=&Wm#7Ec004c`HFoW86<fia{f@Ke7c=cV9w+P zrXTqa2`WT1i0Lp&(jlfnL?!iVlRY-9f_aX3Lx*HJWX^eg1-x@iIiDb;PM>k~sT0b@ z3?BdtI3XM-DA6P@O-gcgfWR%KfUI0#;aslPo$fMQ(8WSmt_n`q%N7{X?!3S#m_WS1 e3%tM!a^weR3L$5R(Ms?D0000<MNUMnLSTY~$f4K( diff --git a/images/icons/ic_hide_password.png b/images/icons/ic_hide_password.png deleted file mode 100644 index ccad190eaf366c056fbaf2b8a1935d97f24472cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4717 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 KjcW|uV*d|5)(MdS diff --git a/images/icons/ic_mic_off_white_24dp.png b/images/icons/ic_mic_off_white_24dp.png deleted file mode 100644 index bb7915f33df69c09fbc22cb39e913205a6f06004..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 484 zcmV<A0UQ2_P)<h;3K|Lk000e1NJLTq001xm001xu1ONa4{R=S+00052Nkl<ZcmeI! zziLxa90%|_nJA*Mlg2+|Ecyh#f)8Lf2f;y6sdR7?aqta%4L28+X0u34rO|?JE@`Ec zLkaN@{kX`XG>5}42RexTey86(fe-f{4kyh~{+(!Bv2JQ==%JP-)<&$CY}%iXF4O^C zeZ85VwQV|>k=Fb`*B6Xuh!wdk&kyt=L#)eXFh9^U&Jt6(OkzNU7|13DM2L<-JrE|U zfjChQ#EE(!PSgW&q8^A7aiEfj1C>M^h!A@@A`Arjn;cOO`~-K?yi0~SmDcZrUvXd? zJWcaEazyGguoVYZ!OJv1ph&y|Z{olcFmd|te9T6HSnvZpjssT#kJ6L#M&t<{L$DYI z(&hPG`tP7+*}%la?hJ9pd#^R(fNS=^n&UHTi?%awaU}?(J_oGogoxBA(6$En>Uup< z(iaQ?ymd=At#sY?i3rgs^`sZ}XUE8f9VvMt1f<^dO+JkCA1Vl>o^a0x2Qzd>ThCUR zXheI_4FF5h`6v(xh&O*#UM>;!K#-^eGDLp6>wyB%KNKLH?$6F00+5Klv++Hs?-B5S a0e=92ZRRk`JirnF0000<MNUMnLSTa5_Rl#0 diff --git a/images/icons/ic_mic_white_24dp.png b/images/icons/ic_mic_white_24dp.png deleted file mode 100644 index 5917157b17791c2fb94a6eed899b0ecd202d50d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 394 zcmV;50d@X~P)<h;3K|Lk000e1NJLTq001xm001xu1ONa4{R=S+0003|Nkl<ZcmeI! zGXs@T0D$3>ZF|rCoNU|et+{_tYt4DdZprqN?VfzQw(otWkLR5ZLR0O~&LX$KEsL}Z z#bux?qFpgC6pt2;i+4hcP%LIhW@acBCna+_6pMF~c^isF3N;`2Uh2TNQU|`)eBeu| z1D|U?@Tt^+kJTIS7OafEPvUvx{i+-nKR3a~49oSA$ooy;X2_NUU~h&EXG+}n2Sc_j z1D|yHd*9Lt@s4U4*{{EYbs<}Z`3{ywo(ytHv`hatecJ(JL-y<jul0yJwk&iD+>JiA z7~v~88FFC+;E>iK4gK5$j0?H31+Yt(kb<Eu1Ga=*Y3l;uu?ZmwQ@jLR&^F{wZ)X9V zG2P(Eo57|#1K_+~AwSyNA=(QUT<}7)o!W;&nChKW-kKT;r-vE#`iy8#t=A_MkFF*F om}9I~q4)qolxCnAXlg2gAAA~XZ|PUt6951J07*qoM6N<$g49Z`NB{r; diff --git a/images/icons/ic_photo_camera_white_24dp_2x.png b/images/icons/ic_photo_camera_white_24dp_2x.png deleted file mode 100644 index be9fb226a53ce5ee4008cfafa0754f42284d51b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 446 zcmV;v0YUzWP)<h;3K|Lk000e1NJLTq001xm001xu1ONa4{R=S+0004nNkl<ZcmeH} zOKQSE9EYtU-a#ekrev=hrO*?Uf{zwKq3#MoyYd9xxalE8Q7VX!^Atf3P(-Cw`uG~c zkSvlkB{PD8zyC(^P3D7toJZ)CV+c*W(j??pz5}S^ogeOG1=oD>S3bFt5nS?tU*5U+ zuRv$a3fXL!qPq!nmZ-`S-6<HOG83m@h03g*0>wEv!Im}!G@?dn#;*=rm4ZHT$3Hy5 zK#ky=d(UOmFsQV^o<2gJx=}eIwnA3W7xau83lN!8vECcV2)4w<^v@2~67MD11sAjh ztGUt}LA${P1=0J3E1eNGc`3L+Gf5t=WKEt5E{OV^X;qWQ4p$&rl*20-lc(iB^4yia zijQ0lF6anWaiv8;dol|xA!y6No&?ck78<-*{Fa&B9E#TSq3mYYuttQ*QZ*_=*n0M$ zV!JjJ9`z`_U5gAzIwsc`sys4xbSaS{W>lIoJ$6TM=qna%_I>f1qB5iXUVh&=cfY<* oSSx7G$evyZ)YnOH5*(G_7e~OF#v^w+0000007*qoM6N<$g3E)#tN;K2 diff --git a/images/icons/ic_play_white_24dp.png b/images/icons/ic_play_white_24dp.png deleted file mode 100644 index d7768701870ef857e807e4cbe5029736f4cdb709..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 196 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA0wn)(8}b0DZci7-kP61P(>97aBnTW^F(r#x z;xOMfgBD+%MD}C}hqWP{&!QElo@T1-|5JYbPvatu8<H`McXYNaV|b8I!unyurOc)R zqn%6@H(!`K?wH}~2$XhwWXjrkT~sA5ctS-igd_fA{)zu5>z4g<{_Ngr|K?BOTYZ`A oR4(uP_R)V1pSG9nUi5=e-ru*qd#_!i7tmP@p00i_>zopr0I_{c5&!@I diff --git a/images/icons/ic_send_white_24dp.png b/images/icons/ic_send_white_24dp.png deleted file mode 100644 index ef59e77678dbd3f5d866bca9058b6e90cb8d6098..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 344 zcmV-e0jK_nP)<h;3K|Lk000e1NJLTq001xm001xu1ONa4{R=S+0003WNkl<ZcmeI! zQBJ}@7y#kHZ~!@gnCOkS3AElo$~lDMLE2uSMDfKYG`iVz;y%gGJ6}61zq=sw{3qZB zTn=n_W%zU8!uNb|N6!me+I#@OnLP!ET);T*6p>&W`22C;JryNwK41(MIA#GvFb#~s zwsao25E&6n03w(GL@)`A!D<SQGXOOw3U&+v(7__Wil?j3nxzO9XyU+hmaHe>$_85` z%9!`-s3_@X0OI`y_5>OaJWhc7Ux1pxX-=Z&t1o;=Bq}NC$3*rSV}~5rah@Eqct#)^ z#sARKe>b^SMWD8;A|0im5z9_QQGnQ=9+)gN{ZC&+5rBvy01-u99ZM?OT$kUFh@ye? qUBLr0?$ZKzW0Q{J0Y5k327Cd{Pq+sr^Mm~W0000<MNUMnLSTY(B8*u8 diff --git a/images/icons/ic_settings_white_48dp_2x.png b/images/icons/ic_settings_white_48dp_2x.png deleted file mode 100644 index 507c5edd44bfb5efe41327d5cef511a108d35f13..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1074 zcmV-21kL-2P)<h;3K|Lk000e1NJLTq003YB003YJ1ONa4NRhv@000B|Nkl<ZcmeIf zTTIqv0LSs)%P~*Q*2Gt$Oc{5%2^vlgvdq@9n&w3{E0>+t)}?IPi4`?n-BcG{I5ur- z(S>O`4876<#~6}k=`>Up4hWM~CUltm-)|Ri1Ni>m=Xw7B>2vXZK2lazR#sM4OxVB` zGWm@s<ST|TF-$@}q8L+m%SY5<YPEdCi<o*vK4J%^K9rBxgQ<P;5kFw+C;5nLm>MM^ z-;l({UGfbz*r=0l*o=*rbn~#1)BM5?7AY+r;d^YHV6D>PUbfT6IjR&Lx6#YE6o*+) zuBKoO-MHxHK}|s}>p4WgxIShmD&AzWe%_@-6DZ+pqS#BZCQ!mV^fOt5qM?`(rW@k` zYsq0Fe-hOnJV_2~IlvgxjZ&g0_?+}E6PL@R*DQCeAjPd$B{wAK#0SSo$OW75#b()K zHUs$LSLVnT+wsW<vcn?&#V7w!DjV#@H~VFd2k_AvnIV@`_~<mbGQq1vmEs6nsHTVl z3Ybp~^?XZ;s9uu^ekO`BcCuJEKq*ZGMA0J?bmQ&}<qE+v&f@NbOi;lfZVob288C}h z+zhfzW=PV8y@TY*0Qt0H?>mw*M;;$z=L|Dth}oRO&PU|Q78@DG)EG-;f#n348sTZV zVF~9kvs0GXg_$1ilRM_pLS`uz%MxXz$ZS8iD;g5KO+dIKazGp50^T5@IM7A7EpotC z!W~mwxJ0;WIiQwsy^0H?ge#H*l7zdexR6PK98gHOKye|H0y&_NaDn2&2;t_-0ZGDL zRb044xEeWN72z%_E_4yDUJlqsxMPX~IW&?Y+)+88op1pSBoqyIaEQ!Ol*$riq{ys= zxpK!+dNI=^OYFwX1(wJSoA?`3V^qijl?0d?Wut77&!^Zq%PbjU4n5fUgnXH!m=5f< zk}m_~a~ON=BxQz5hH%r$Y-PY44&!E!3Yp*}?#{7XA*iGWcbzi9S)vHoMVW4ZGIkRX z#g8(<%S4r;jjhy@q>w_AtYRDOq=;&>OpwD#d~}?I%ut7qs$`Bm_@-GlSja#4WRw!w z;XQoPAY06$A7At_L-u$UUpyrjB<R2gZF0r^q`1`r%H@vFNN<3+43J)vqF@2nnC?1X z@em0%FicceSVw|~*~fLJyGoIw;dLhK<1H3w0`vKjD868xCQwWRmzb<xQBlZ6#s#$S zC^?#fS~_siPPL{Wm&f^rfN?$KD>^DU#RVF<M`^K|E^KsCr?gne`<$nna@{;UkBw*K z8)~qzLcSr1jXUKZ{=(Gn@)0L7)g>RX2UE@R5j!x|C?D|xrk<0JScR#T@)5<DnkPST s1rvkv73&xxlOY~cR#sM4R#r^@2T4_fd+}U(w*UYD07*qoM6N<$g0!>nxBvhE diff --git a/images/icons/ic_share_black_48dp_2x.png b/images/icons/ic_share_black_48dp_2x.png deleted file mode 100644 index 5a8544ce5d6c8bf471c8fbd54cf4f88254ea9ccb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 888 zcmV-;1Bd*HP)<h;3K|Lk000e1NJLTq003YB003YJ1ONa4NRhv@0009&Nkl<ZcmeI& zK}c*>9LMqRypZ5w`JO>))98$f6)oE2rdCPO(4t&OEy|HVqeUTEVJbno>6L`orcEYB zO@<<t8JRNREOJw;pwg6hp;m^Lsi~vhe{Nbh%sI?ybN@H)=eu;{g>!#gj`DvJ3WY+U zOXmgB9rTlB8$sA6%WE_c81+o!A$fUBQ49J#&EJTj15zm0gJ7>4#oCY}dJ?5-IY5eN zpBhw}M2c)2g=+DTB0D3FI(>*kub|EX;?NxGY$6V=qfQQS=oocQ5r>XYXB~0qXVl3e z4t<U)cROy7(1jXT80G|V>VzmNT;dsiN1Pi)h5PviagRT!#CK8B$bZVC8K2!qANxqb ze#NtY#_=pZYi128*dhH~rkNeY&<>B`tGoCTF*HdH08qt9fnCb+E*1Ewj3MJ(e#-+~ zR7EGBvc?{}{Kz!VQ|a$qwzFkC7SC}5s@=!e##izkZb7x%_y94q$UP_!vCL%;d&aNH zC-7Aruae<6&hXeGLoabIdX!b`T>2=%Bwm5@oF)bU+{qV~xs2nhR?GF%E-l>5TjY#$ z*@VwtMyz>kYo5!e5PQ1kGR{6?PWxQK$A~#ab7_#^3~}m^0WPCPFJegBTpG+H4$TMs z?(%xj?=Ew}e*kqhf_{YNg8mYBBTjun9ja7wia2$|>y)C%hlq0<v=Tvy7=IzS_Z9b| z#N&7f?s<%GD=Ktie+18XUH&Isl%PNhyVkqQQm%1q`1$uFQ6S3u1s3Uq_oxB@>X|_d z%}}r7A-edCpE%%<>&)^3Q7%gIgYj>?Z%_*QmGGkRxNVXm0{T@jVtnnFXe1CCSu$?c zC>7{OgcO^`%dnRyK|kxfF7pWa614L+<D?m;g9HlL=XI6_{`D}6NM2czC}5x0H@S%` zOdy7)DAzu(zp#o}TA^D1yxLpls{VPkH=%A`oqJIKyxPm4i(y{PdBjj>0CA`db%qd! z22p1macB&6(m{WK;h-O(4#c4p>Li?IGzvlf-`xdNN+Lzpgi=#T5q*SO<*Xp~_>M9Z zt7h5$>vKEGU1h>@c*+QbhsfaN4d(()1WJrH1{phVkQ7lup-?CkD#AaVcIHkIiEiWo O0000<MNUMnLSTZiu%q|@ diff --git a/images/icons/ic_show_password.png b/images/icons/ic_show_password.png deleted file mode 100644 index 2a6655786a47723443854df3fa37aa2daa3b9ad5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7530 zcmZvhXHb(t*Y}eU2rcvu(gH}4B2uKc5JHhEy@etONRci*bdZuDAcBC>i!|vyC>^Cq zQz=mp=^g3ta?d-@hxdM;o!LESc4qf{xUSuE_Ww)J*VTZMvXBA*0H`JsZg^`?Zu?JS zqT8|VH-!Dx5ZP;Mz;EqsJ5y^9zcnOYNOK<mKm_)m4h$?-^1q#g_-Z~<hb)6>=>%Eq zDGEQ|PBHtcoB67Fy1PH|@CB%OKe6+D;>a1`;`@|SL-UcoDVl;20AQQcgsVIb{IQ+; zBHh|Jqd)wl%hU&nRJH%aqe22Scp8h4cnT}y<P_)U6r?tw)`!PDR3j)z#seP0i&dV% zsi^7t2H#1I6Va;>s{&|0F>x~^D+DDwPIPbTPI$)(Dhxjd?=Jf6T+g%#H8O4H1$Wh- zeE-}G`^!cY#U<a{1SX2Y{zQo}wL<^P@%~A}M2_%?>OrkY{g*T7uKmBQ_|G1&W?}UI zvf@8`B+dU%u)yd7Vf0db0l!w*hoG|a`t!f&`a-Med<w78RqdF1=`G73^+j|z0tZIP ziaolSXPeW>_gBEd-a+Ty@$3+^Md+dwYFSQ8701?<q%oJG*DjC<>`$>Uduag|+mhY| znk?uRpo49WC`&v#gB@BSt)i}Z4c>dW$G=Bh3o<KTvE6<v^qo=Mn-$@d`%;;99JmEx z19vcF5jTK@&re`HCgS7J8eXeuqlr?EwFzhXJqU`c7AYL6q%T$Ju`()$h4F6ipaM|R zC}&iP#j44>cY5hPvtG)~{N<M2;6SERxjj=n(C<upv^6o*4;C;Oosv<u9mKc@eaI4+ zbKU6lY0xVDSh1U>1=wP;aDJ>@leQrB7Ar?gmfJGs6XAfCUJHE@gb?;t7`*;q@h=7^ ziF>fIYU#K*xXoMlGh@7lU=h0YJtElK#2_?W6xb{@bOVy#c)MAD$6;ku_WjEZdk%uP zL|>FAAFF>bE6ZM^=RK3f-^YXS4DSYHOq+Pcy`5vm33<Zh852A>z|UTSN0P>K5bC>Y zlt5{MZlWE+pyV~gjs$Tocz{o!e2l<G<)KQQM8YE3JT!zop`&JC(hadggpnn|d<7_i z*??O`aOo+AP}iOsP&Itgl^)iLZMT^TV#HhHAef3e9%ZMpeBK&>9%u>V0nW5ooFB9n zGL!}yp~=wA6+$)=hSGGJ!j~*~jUecTL>g=Bz($yK`N)+GPlhCP^W6w&=mPym>!9-3 zSt#kgcWV5UdgD|nfJ5ET+`n{`eHckQB7^h8S-3gg_ofUe&5HmJD<;9azaIZvwz-zZ z=OFEL@>@3%JFfQ4Fl#eg@IM^rNmtuuGr?bi0Ly91(V;5(Cvt!#b=mqKUkFdK@$@`T z{8{&&<KJ{Jep*SHw=kBXeMo)EnbzF&`<0iz>aaz340vH?W!iWQ+A4{fA=)Ahp>)}* zB@UdcKIg#V*Bq3?7m@7pt(CphP9R%^;E3$Ao4>Iul^DV1!$YUOL**TRJOJ;8^EboY zt2x<kN1x#eI*PtV@-|y+CE$2*zmRez3sr|N#V4K4t?^bxhac=${-sVm!g1lg2Q_;P zV`H@PT(Qxw@6p}}Hkfg8aML89dhg)OarvscIfUvS$<cb?QGlXKR_HWI!U*!EV*#=) zGg&o8kMjUAwz0H18Qw)gBIwU4KJ?(Y;v+5hmpOF&gQmK=7|AI&9mYM)+kis7G&88d zDr2Yi^@SjjUn?IV!{jx9oyVK?aFPy?K#%XTRd+ek)r)V>)p}r-;1$H|Tz?#TNn|kk zf=@zPf!JHaV2YHD<np!0mxrA8HH7SsRc}aJAnR#C*we<3vT8|uu11j@<Xg!|u>f#G z7d@T>SB~4w^|?aqY?*DEG|uc!Br`#3f1P9c<H@j!tBtNthLf8_jJfFvd5`H(?0eLm zpqO!xrAnl`El|XN)LqQGRC|lNwvguHk)tUtyeL`(rZ95*FDttiKe+qgF@5dZ$fFjH z*dmsn1TCb;+)(~}vYtmLY4ZkjlCZDrru&oT=3UsfqRg{dWa6r3QTFhQy*u1Idrh=^ zyzpTegOFo--XgtAe$;(-x0V;`9t%3c$orqlaSVCwk)b#c-WydnmQ2BNGIwV^O3ARQ zrN)#e4lJldaM}C%^NgjpP+ci^>n82A{i$o6G^fRa^O?sTq6Bm=?i$C4u_G5|r|n>M zA-wkdJ8uCC2$g!Ik`Q`F{A_ZTQ<sD}H5lZ@IDW_8vLLMHE0xL+*|hP=G3U-iXh51z z^+>6${6AD79X4ds^H_Iw<rhNp0}d1#XZhA=Q*B$?e>7uy(wbt6?2?Ye<ZLasVS~%h zflghnGQd8woya4Qw)VA03UgjsTO@h+1+iD9PxWiI_kwHwG~&-t;$evC5u7;w4vvN+ zTkkiyXFSM@EsY_2U7&6xs5y+x%V#mZ%4B{$*cQY_I$sLO^W^9J5hM-t)K8rpR3K^q z=BvsE@&&imv`+~unCP8bk)5nx+>j&`-Ox}Q?Tu0cZK{d>nk5ToSt^oNE>MKf2X-$8 zgpl_>Q=a5sQY$gd?%nF&Wrg)L`5aaJcJPvzaFe4vC1Re|9iwY4<j;;y@>O70GUC?^ zJ0izBzwrI6@qF7As9191#ZkDf+gVSBNm5>=*w?|d3&w@=ror6*d5xK14kl=i!WKLw z7FPm9D~=Tz%Z*O3cwW3A565C|@uum<N;UVt8&1jJiljmhQIa%(j=t!9jpHk_AWoae zZbH$}ws1YjjB{V)05j)5oub}dz@@Ry3lj%0VrwEVF>SM3HDO|X-A#gESIu5M=g;Ep zhi`^+m)7(zIYmL^ug@A+6H_lJt~HBzW@kxzZFr8)*iqI$802;L9Xz6n5<_^KjI<wc zw2a0ph-_}BGcj^~28T>bx&ar-t;lsW+q0{FWm?(>YQv2kol_I6XFjht=x1L%u<yCc z6~i4Iy!AB$y@~Bf+nj8x=o6p{CUfjM7-bLdAoUXR;+r%>m0<~IvyU9G>$zPs5IQQE zZEbXd@qw{jnx(B5%br8g8=R@VT#?D8FP>0Hznm;j)dDdad`Y2>XM(qt!=8G>5(Q=n zJbOK5@}RgO91OA5w%Fro8hJ4<W2#L0kpXTnHS?5gk?QvBOHeaox)`su_pDNiJ6O<) zMP=(!m(L_L#|uPmbA2X)rlT4t8H%MSN<HJh{2*W1Pm1FBJHOoD8Osy{swLa&MqbYa zRCV}Z45t?nfuYZH6Rf8gWw`<Np2~vdc@jS)zbJ^p#2?#!S~_A1;+N!d`Sv3Dz-Dtj zQ<{K7BbwY&e#u$W_i|K!+DN?XpD8GH+4D%g2aMmu*(DF6XZwUx3(80|S8caj<uY0x zcj6Rr1c;r-^M}NNa)u@IEI7MkHZLl#aD|1#77C7nvfeHlCAm<df};CTeTc28c^}9< zxRzXK^WuH6JEzRGZVJMIRu1+9xF%%WSUS}|dT}wlx4g~}Jkl&*b$YC8#@+VU*@B!3 z@J)4)j98ToxaN&zHLFvwW7D*5^!=ooBppc^u1yom+3s_oOK~pAv+Da8$En>{NOXLq zc*+|+X&0?y1YQZ0c=wVaP<r|8q=mG%>9OMtoKZ1-zf}l3HET#2uRy5Dx}9*;w_CAe zD-o@60QM41)40y*r<Hwhop;}Gp@r%us$m*z3kYdijiP+(vmA!8`ez)!W*rlrE3m!! z3ht8QR);ta#2gL#7Uj6g>_xWK6jO)9C0_e<#z%f}Kvp<Cc!&8FkVigWWs^a+vaS+K zDK+g|<yt$Z$>CwD+^frQIoR7iG)E-Loh)q&$(sp&T1*sYF1klNX>{fNE^C5dTSp<w zN_p&Xa4$-gZ?Gz7i{CLjmTb$MLT7ZYKSh$@xqNL!3TsDE=H;Wor;Ge*ZdB#X2db$4 zqJmkR0{Wq`_a^rkkR6Jdqldq#&$@3vHcqEy8#VKum0E9Ykg10ZM|s4;G}$HO#^#6+ zo{?jBK*6xcHeJ|?O0ltIL5PFNq;1<`Fff2~`58;G<Sc238LX{dJYCfX2MtOlCb?gr z(-6V(w64!#{;7HqAk3drpa#wAe7}~DOgOh~v7KNRRL|0}IAm5Dt}$iMG%}bDEv3Hp zi;e?%ae5)>)P<qE&8yl<<vk_#5id6}`)#b^%3DlW);9Jz!9F?%>N#raA9I54?qUkQ z`4egndn<aP9pX}*`OM{qznbVb|02IME@RVN+%IX6PNsP(TM(DaS66v5ym(vtt-7?Y zSv>Y_B)U<Bvx-+g?Khj1W$$x(8F9x~r4+37Ebi#p(kpag6$#6iY<2&{$h7vGH_T_b zVRy>h@=%#J10^Xj_<er8w0aWJ2&r+`CCy=4{%LwSw)N;?3!TD<B*2f`OgSQpe;;w; zK)&@}B<Q`!iV5R$MK7jbgyR(k2<}N22dTYA@&O4xz*0iNQ;Xr97aV(>c7-IGBVBF{ zC%b{sy^F8K;EYl+HYgH-CVE%VO9=JV&OOU?cWi@I_DVH?lGaJT>RfOt_A%5$Asgi+ z53;}eJN6Z*)7i8T^5!DLiS(JcMQql7<Lw<z*iihWQ_{67-7Cs<8oUHNl`6z&rfBQ| zyCdO)WYMYYD0Pc7ciy28_|ih$1zsp3prk`O^H0P)Ne?AJQDV{}DljYAM7by?h3qo# zs(?#b@Y_rYa!UYN6*f@_J*iHwanqx<DgL3)&)pX7)9=>WtZKn7=l#)(9;KOR>_R=6 z+S#fxn@_yXs`o%~ymCg45{a<65lbx4%xR<OQ!~S^C?0=go3F1Ny7C(4@X))Y0VMgR zZei@FEeKEL&QyRdCkkOk?0)jZbq;<5OL|#<ia)!j-8JMJzGm;2B1I-PWPRJsB(gyJ zpk+QUbVD4jGm)lR8lw#N%1w1?YxX6&>hu!h($vJ+UZ_S-u~<p4=|O%XJ=MLl3@C;= z#WO@34Wc~SN;ef*hx$s67xG}?@n~s)9EBe*%a$m+%JO+kJz}Q;(a(3a-^E_`2pOhW zwL7D!I1&3rTr?$pJ{XfaHH$(%C>Eda5t_{VebXIxX}_ayTF`@(=N%x+F!_v3FR-)} zDw15Az<L+z4Ks-sN;0+PkL{~Amb9p}f7xU{?3v46R=A*3OV_4E?5LkAY|U$I5`>-b zni?v;&GymRv1Bf|^cVBCRbx8L>bD0@ww>@94tG(sZmJh$9{yXHgwp`7_n!`4$>BL< z8WuGhjhDOA(mVXQA9RH9oDvAIL=$5{qp(&+kRH@n{0`;E2@_C09{~srMI;p!PF|XY zA0O#=MjZuJe7p8=+0O7N(yDT9iD4d2?Pk7l=1QFbJ$rqy>&1FaLYa=X#n}9O!q8<| zXrS8fsPu6D===M@1xSdgUR=k!h$MF1Ly4}jdP%*K7{y$BY3oTO_O3j{s!2dplzo*V zka6#d&3u<QE7v68RYjEu0%SA_^Im%SWm}8P9XBJx?Jv4#jQU<eF%<~D!Sc#*1xC~T z(tBheRc1u_*fvpo7&#W6{XN5dNUznG@Kj+h3XAj{`20))a!EU(w>d`AW2vchaPH0{ zyh>2FtKRVW8#!onn7UP((;-KLZYxFFPV*csguw)}8#=hhPpW4_*%oldj!LyNg?ZL8 zf8MzMd_}ncEQQ=~AlepTt+xL_wmhBOF^B?Y>L{J$d6ugVP@w$s&aY71CyBfDWhp1R z(MxOT<fR=LgY>h0*xa+B@Kewy#sY1LAKyGWLs(8RZMNne6jiF}L6aVh&xmX?2<%S? z@*yUv{n{)O34h-T0hd%(B}_qgPi}L1pLOHn%ZQN&EsLGF*XV%<V!s1fxap|H	jj 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 diff --git a/images/icons/ic_videocam_off_white_24dp.png b/images/icons/ic_videocam_off_white_24dp.png deleted file mode 100644 index 5d540589b4a4f9e22a8c4f1f292e12ec75ad443b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 296 zcmV+@0oVSCP)<h;3K|Lk000e1NJLTq001xm001xu1ONa4{R=S+0002*Nkl<ZSi|ks zJr06E5QgD7f?BBu0B=LQ5hsHSsI}Gx2wdW`Fyb!kAInT)%)T83-%~&_M5!MNN7Tq9 z=N|wXF#<K-NfF4<N)!2?5S=t}5+ra&54DlN4mX$^P=o{h?DaN)=qD?s9WWI@==1us z9|$1y`Q?C@(C1?SmDu8H20rs~fRoVYV*v-D&&LCHqO|{2%K)H7ZvPe>KoGGG(20u# z;3d`r9)bgK5<Gx|-~y}!AD|MOFTn{I30?r`rUW-IBlv*{VFv~t!VVOMyTaFVyaq>t u`<lwoBw`s+5lIqv?1|)v3I|H1n0o=2Q8_)8G@zRR0000<MNUMnLSTZ$MR3vp diff --git a/images/icons/ic_videocam_white.png b/images/icons/ic_videocam_white.png deleted file mode 100644 index 44c28e2f2830f927973beaa3a143ddfe439f20ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 234 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY0wn)GsXhawHhQ`^hEy=Vy<y08*g(J~F!Y>h zQBv~(_A|Uaeg>M$g-&EJ3;(E>F0WfsuqEq@i4qW8@}AzdO6rx>m9XRe^SrNqJ^A{6 z_JW14-f=$P%=XJsxKGL9nM=c&PKKGnj7I8ADSj*`=EzL26jUe%O0+bb;bi0#P;hAY zVbJ!!)MT<nU5?BJi$k+it}R&WIx+OtlK*@9Uaop~XZHrHE2ZN9te$Vy-n)U3g#)C8 efsskXEdI@lcXb~Q^LGOs&*16m=d#Wzp$PzEw_QR2 diff --git a/images/icons/mic-24px.svg b/images/icons/mic-24px.svg deleted file mode 100644 index cdb2429b7..000000000 --- a/images/icons/mic-24px.svg +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> - <title>Micro</title> - <g id="Icones_Outline" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> - <g id="Micro" fill-rule="nonzero" stroke="#000000"> - <g id="Group" transform="translate(5.000000, 2.000000)"> - <path d="M6.56527519,0.974075391 C7.45579029,0.974075391 8.26271949,1.33613472 8.84711447,1.9205297 C9.43150944,2.50492467 9.79356877,3.31185387 9.79356877,4.20236897 L9.79356877,4.20236897 L9.79356877,10.2205384 C9.79356877,11.1110527 9.43150906,11.917982 8.84711379,12.5023773 C8.2627189,13.0867722 7.45579,13.4488319 6.56527519,13.4488319 C5.67476035,13.4488319 4.86783137,13.0867721 4.2834364,12.5023772 C3.6990411,11.917982 3.33698134,11.1110526 3.33698134,10.2205384 L3.33698134,10.2205384 L3.33698134,4.20236897 C3.33698134,3.31185389 3.69904072,2.50492472 4.28343573,1.92052975 C4.86783077,1.33613475 5.67476006,0.974075391 6.56527519,0.974075391 Z" id="Path" stroke-width="1.75"></path> - <path d="M0.555659536,6.93784593 C0.263494091,6.93333516 -0.00456587154,7.20139238 -5.2430396e-05,7.49355783 L-5.2430396e-05,10.2290732 C-5.2430396e-05,13.673624 2.64524538,16.4924773 6.01816938,16.768711 L6.01816938,18.7006784 L3.82974614,18.7006784 C3.52758781,18.7006784 3.28264033,18.9456177 3.28264033,19.2477842 C3.28264033,19.5499508 3.52758781,19.79489 3.82974614,19.79489 L9.30080425,19.79489 C9.60296258,19.79489 9.84791006,19.5499508 9.84791006,19.2477842 C9.84791006,18.9456177 9.60296258,18.7012802 9.30080425,18.7006784 L7.112381,18.7006784 L7.112381,16.768711 C10.4853047,16.4924773 13.1305918,13.673624 13.1305918,10.2290732 L13.1305918,7.49355783 C13.1346209,7.20451636 12.8725107,6.93866123 12.5834391,6.93866123 C12.2943675,6.93866123 12.0322464,7.20451636 12.0363333,7.49355783 L12.0363333,10.2290732 C12.0363333,13.2695043 9.60570358,15.7001313 6.56527519,15.7001313 C3.52484407,15.7001313 1.09421682,13.2695043 1.09421682,10.2290732 L1.09421682,7.49355783 C1.09870309,7.20709323 0.842124138,6.94237335 0.555659536,6.93784593 Z" id="Path" stroke-width="0.5" fill="#000000"></path> - </g> - </g> - </g> -</svg> \ No newline at end of file diff --git a/images/icons/pause-24px.svg b/images/icons/pause-24px.svg deleted file mode 100644 index 63a1c461e..000000000 --- a/images/icons/pause-24px.svg +++ /dev/null @@ -1 +0,0 @@ -<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M6 19h4V5H6v14zm8-14v14h4V5h-4z"/></svg> \ No newline at end of file diff --git a/images/icons/play_circle_outline-24px.svg b/images/icons/play_circle_outline-24px.svg deleted file mode 100644 index a845a76c4..000000000 --- a/images/icons/play_circle_outline-24px.svg +++ /dev/null @@ -1 +0,0 @@ -<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M10 16.5l6-4.5-6-4.5v9zM12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"/></svg> \ No newline at end of file diff --git a/images/jami.png b/images/jami.png deleted file mode 100644 index aef46d27351a67bf8b10d63bc759c6a85387d41c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26060 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 XVHWpGW|Vg`00000NkvXXu0mjfD&eco diff --git a/images/spike.png b/images/spike.png deleted file mode 100644 index 1f0392703b91ddcc49f5fd47707ee5f82eb51021..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 355 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQfx`y?k)^63>6GJ4s#z~1r*^d z@Q5sCV9-+rVaAH3_GLgp_7YEDSN6wDG7KE@mAC$z0fi(>Tq8=H^K)}k^GX<;i&7Iy zQd1PlGfOfQ+&z5*!W;R-fr?Ihx;TbJ9DaHs){7}oqU~Y+w1ljkhSwEEqNZ?W-AK9> znqm65vXMP*ZiPXO0>?QEd%F+w_J0>WB<akqyk_cl+p-_0@9NtbI@^a>-gzJ=J^i-W zdx;h+p1a&iSG4V%Dl{Y$yF=eTQf@Ka=hbmOOLo5Vi^L!Ur#ACDt!i%?K12vOZGOb< zc49+LOijy&miMc>?S&W0eza_{o9FLxVnc>6P_$|O>h6AlW$pr(!j8LhtQU0Zs(k&p tUm-+len>}ww3CEf-4BmRDr+D0*YjU$mRqrLsVC4|44$rjF6*2UngED9fl>ef diff --git a/images/waiting.gif b/images/waiting.gif deleted file mode 100644 index ba2fbbcf203d31269617a75a0bf1fb308226791d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2506 zcmZ?wbhEHblwe?E_`tyM_3PKWcke3xWMSoEU|>-Erx27{oLQBcqEMb$lA(}Vm7bZV zmz<xg;O^<BkeisDTEw9EpWDwhB-q(8z|~04fSD1fO$Ue>Kn5}}iTChVu6RA|KzIH& zSM7a1uktG6C*(c~1R4#r0;m9?wh_p=c=008b|8aEriWkiH0K$<pnx4(OLk6mmaX9Z zn)#?GP0i9Slo7k;qeqXDuX+3S?c{4-wQ3dln&-`%N51AslO~a`xvi~@e9aXV736Eq z&dw%UGbkOx6BH<s#K*@Itr;VQ0d0mPGA2223S)lk*rhA}l;_;NDUQ<Nkr5VU_hv3l zWo~1|p2mQ_h9oocv;#vNlF-Q04vcL`QX@}0BBe<IbLEUj`+b-U&#*sUBhI}pqnABM z=|OG!Ofl^KMzVPdzvO97Xt0S88Ei=YCPzC`sFR}|Db9(|jwiiIfwi+QPS!oDt;Wme zy|q-1Dd^FRsaJ(Xu?HKH&2vD(#so=iGDHR&lE2B(juh(TXh({3a<n5-n+!PEfMvPC z4k=Jsu1mNqN3k1N5ipV#a40?}T{}v+ldc^l)(L9IpWZ5GJOpObKyWr?CzwrvHbaX> yU{WPbE6~s6Y6XTixmtnoOs-Z$`Xbq{i29mjt%!C4$yyQZ6Oy$e+C})ZS_1&{Irq5$ diff --git a/qml.qrc b/qml.qrc index 233a6e2f4..e4a1b61f8 100644 --- a/qml.qrc +++ b/qml.qrc @@ -10,13 +10,11 @@ <file>src/commoncomponents/PasswordDialog.qml</file> <file>src/commoncomponents/MaterialLineEdit.qml</file> <file>src/commoncomponents/PhotoboothView.qml</file> - <file>src/commoncomponents/LookupStatusLabel.qml</file> <file>src/commoncomponents/ListViewJami.qml</file> <file>src/commoncomponents/DeleteAccountDialog.qml</file> <file>src/commoncomponents/CustomBorder.qml</file> <file>src/commoncomponents/PushButton.qml</file> <file>src/commoncomponents/JamiFileDialog.qml</file> - <file>src/commoncomponents/TintedButton.qml</file> <file>src/commoncomponents/AccountMigrationDialog.qml</file> <file>src/commoncomponents/MaterialButton.qml</file> <file>src/commoncomponents/ElidedTextLabel.qml</file> @@ -89,7 +87,6 @@ <file>src/wizardview/components/ImportFromDevicePage.qml</file> <file>src/wizardview/components/ConnectToAccountManagerPage.qml</file> <file>src/wizardview/components/ProfilePage.qml</file> - <file>src/wizardview/components/CollapsiblePasswordWidget.qml</file> <file>src/wizardview/components/AccountCreationStepIndicator.qml</file> <file>src/mainview/MainView.qml</file> <file>src/mainview/components/PluginHandlerItemDelegate.qml</file> @@ -159,5 +156,6 @@ <file>src/mainview/components/ConversationAvatar.qml</file> <file>src/mainview/components/InvitationView.qml</file> <file>src/commoncomponents/GeneralWebEngineView.qml</file> + <file>src/constant/JamiResources.qml</file> </qresource> </RCC> diff --git a/resources.qrc b/resources.qrc index 884215072..037ed738d 100644 --- a/resources.qrc +++ b/resources.qrc @@ -1,150 +1,126 @@ -<RCC> - <qresource prefix="/"> - <file>images/icons/outline-info-24px.svg</file> - <file>images/icons/baseline-camera_alt-24px.svg</file> - <file>images/icons/baseline-refresh-24px.svg</file> - <file>images/jami_rolling_spinner.gif</file> - <file>images/icons/baseline-close-24px.svg</file> - <file>images/icons/cross_black_24dp.svg</file> - <file>images/icons/mosaic_black_24dp.svg</file> - <file>images/icons/baseline-done-24px.svg</file> - <file>images/icons/baseline-error_outline-24px.svg</file> - <file>projectcredits.html</file> - <file>images/ajax-loader.gif</file> - <file>images/default_avatar_overlay.svg</file> - <file>images/FontAwesome.otf</file> - <file>images/jami.ico</file> - <file>images/jami.png</file> - <file>images/jami.svg</file> - <file>images/jami-new.svg</file> - <file>images/spike.png</file> - <file>images/waiting.gif</file> - <file>images/icons/ic_add_black_18dp_2x.png</file> - <file>images/icons/info-24px.svg</file> - <file>images/icons/backup-24px.svg</file> - <file>images/icons/check_box_outline_blank-24px.svg</file> - <file>images/icons/check_box-24px.svg</file> - <file>images/icons/check_black-24dp.svg</file> - <file>images/icons/devices-24px.svg</file> - <file>images/icons/ic_arrow_back_24px.svg</file> - <file>images/icons/ic_arrow_back_white_24dp.svg</file> - <file>images/icons/ic_arrow_drop_down_black_9dp_2x.png</file> - <file>images/icons/ic_arrow_drop_down_black_18dp_2x.png</file> - <file>images/icons/ic_arrow_drop_up_black_9dp_2x.png</file> - <file>images/icons/ic_arrow_drop_up_black_18dp_2x.png</file> - <file>images/icons/ic_arrow_forward_white_48dp_2x.png</file> - <file>images/icons/ic_arrow_tab_next_black_9dp_2x.png</file> - <file>images/icons/ic_arrow_tab_previous_black_9dp_2x.png</file> - <file>images/icons/block_black-24dp.svg</file> - <file>images/icons/ic_hangup_participant-24px.svg</file> - <file>images/icons/delete_forever-24px.svg</file> - <file>images/icons/phone_forwarded-24px.svg</file> - <file>images/icons/ic_chat_black_24dp_2x.png</file> - <file>images/icons/ic_chat_white_24dp.png</file> - <file>images/icons/ic_clear_24px.svg</file> - <file>images/icons/ic_content_copy.svg</file> - <file>images/icons/ic_done_white_24dp.png</file> - <file>images/icons/ic_keypad.svg</file> - <file>images/icons/open_in_full-24px.svg</file> - <file>images/icons/close_fullscreen-24px.svg</file> - <file>images/icons/ic_group_add_white_24dp.png</file> - <file>images/icons/ic_mic_off_white_24dp.png</file> - <file>images/icons/pause_circle_outline-24px.svg</file> - <file>images/icons/play_circle_outline-24px.svg</file> - <file>images/icons/ic_pause_white_100px.svg</file> - <file>images/icons/groups-24px.svg</file> - <file>images/icons/ic_photo_camera_white_24dp_2x.png</file> - <file>images/icons/ic_baseline-search-24px.svg</file> - <file>images/icons/ic_send_24px.svg</file> - <file>images/icons/ic_send_white_24dp.png</file> - <file>images/icons/ic_settings_white_48dp_2x.png</file> - <file>images/icons/ic_share_black_48dp_2x.png</file> - <file>images/icons/ic_video_call_24px.svg</file> - <file>images/icons/ic_videocam_off_white_24dp.png</file> - <file>images/icons/ic_videocam_white.png</file> - <file>images/icons/ic_call_end_white_24px.svg</file> - <file>images/icons/round-add-24px.svg</file> - <file>images/icons/round-arrow_drop_down-24px.svg</file> - <file>images/icons/round-arrow_drop_up-24px.svg</file> - <file>images/icons/round-arrow_right-24px.svg</file> - <file>images/icons/round-close-24px.svg</file> - <file>images/icons/round-edit-24px.svg</file> - <file>images/icons/round-folder-24px.svg</file> - <file>images/icons/round-remove_circle-24px.svg</file> - <file>images/icons/round-settings-24px.svg</file> - <file>images/icons/round-undo-24px.svg</file> - <file>images/icons/round-check_circle-24px.svg</file> - <file>images/icons/round-error-24px.svg</file> - <file>images/icons/round-save_alt-24px.svg</file> - <file>images/jami_eclipse_spinner.gif</file> - <file>images/icons/ic_hide_password.png</file> - <file>images/icons/ic_show_password.png</file> - <file>images/icons/baseline-desktop_windows-24px.svg</file> - <file>images/icons/ic_high_quality_24px.svg</file> - <file>images/icons/insert_photo-24px.svg</file> - <file>images/icons/round-add_a_photo-24px.svg</file> - <file>images/icons/ic_mic_white_24dp.png</file> - <file>images/icons/ic_play_white_24dp.png</file> - <file>images/icons/av_icons/delete-24px.svg</file> - <file>images/icons/av_icons/fiber_manual_record-24px.svg</file> - <file>images/icons/av_icons/play_circle_outline-24px.svg</file> - <file>images/icons/av_icons/re-record-24px.svg</file> - <file>images/icons/av_icons/stop-24px-red.svg</file> - <file>images/icons/av_icons/pause-24px.svg</file> - <file>images/icons/av_icons/send-24px.svg</file> - <file>images/icons/av_icons/stop-24px.svg</file> - <file>images/icons/av_icons/mic-24px.svg</file> - <file>images/icons/extension_24dp.svg</file> - <file>images/icons/settings_backup_restore-black-18dp.svg</file> - <file>images/icons/person-24px.svg</file> - <file>images/icons/drafts-24px.svg</file> - <file>images/icons/router-24px.svg</file> - <file>images/icons/arrow_back-white-24dp.svg</file> - <file>images/icons/videocam-24px.svg</file> - <file>images/icons/qr_code-24px.svg</file> - <file>images/icons/content_copy-24px.svg</file> - <file>images/icons/videocam_off-24px.svg</file> - <file>images/icons/mic_off-24px.svg</file> - <file>images/icons/mic-24px.svg</file> - <file>images/icons/group_add-24px.svg</file> - <file>images/icons/chat-24px.svg</file> - <file>images/icons/phone_paused-24px.svg</file> - <file>images/icons/pause-24px.svg</file> - <file>images/icons/arrow_drop_up-24px.svg</file> - <file>images/icons/arrow_drop_down-24px.svg</file> - <file>images/icons/expand_less-24px.svg</file> - <file>images/icons/expand_more-24px.svg</file> - <file>images/icons/delete-24px.svg</file> - <file>images/icons/settings_backup_restore-24px.svg</file> - <file>images/logo-jami-standard-coul.svg</file> - <file>images/logo-jami-standard-coul-white.svg</file> - <file>images/icons/moderator.svg</file> - <file>images/icons/star_outline-24px.svg</file> - <file>images/icons/message_audio_black-24dp.svg</file> - <file>images/icons/message_video_black-24dp.svg</file> - <file>images/icons/send_black-24dp.svg</file> - <file>images/icons/back-24px.svg</file> - <file>images/icons/place_audiocall-24px.svg</file> - <file>images/icons/add_people-24px.svg</file> - <file>images/icons/share-24px.svg</file> - <file>images/icons/settings-24px.svg</file> - <file>images/icons/quote.svg</file> - <file>images/icons/plugins-24px.svg</file> - <file>images/icons/record_black_24dp.svg</file> - <file>images/icons/account_black-24dp.svg</file> - <file>images/icons/gear_black-24dp.svg</file> - <file>images/icons/media_black-24dp.svg</file> - <file>images/icons/plugin_settings_black-24dp.svg</file> - <file>images/icons/share_stop_black_24dp.svg</file> - <file>images/icons/share_screen_black_24dp.svg</file> - <file>images/icons/chat_black_24dp.svg</file> - <file>images/icons/add_people_black_24dp.svg</file> - <file>images/icons/spk_black_24dp.svg</file> - <file>images/icons/spk_none_black_24dp.svg</file> - <file>images/icons/more_vert-24dp.svg</file> - <file>images/icons/chevron_left_black_24dp.svg</file> - <file>images/icons/emoji_black-24dp.svg</file> - <file>images/icons/link_black-24dp.svg</file> - <file>images/icons/file_black-24dp.svg</file> - </qresource> -</RCC> +<RCC> + <qresource prefix="/fonts"> + <file alias="FontAwesome.otf">resources/fonts/FontAwesome.otf</file> + </qresource> + <qresource prefix="/icons"> + <file alias="account_24dp.svg">resources/icons/account_24dp.svg</file> + <file alias="add_people_24dp.svg">resources/icons/add_people_24dp.svg</file> + <file alias="add_people_black_24dp.svg">resources/icons/add_people_black_24dp.svg</file> + <file alias="arrow_drop_down_24dp.svg">resources/icons/arrow_drop_down_24dp.svg</file> + <file alias="arrow_drop_up_24dp.svg">resources/icons/arrow_drop_up_24dp.svg</file> + <file alias="backup_24dp.svg">resources/icons/backup_24dp.svg</file> + <file alias="back_24dp.svg">resources/icons/back_24dp.svg</file> + <file alias="baseline_camera_alt_24dp.svg">resources/icons/baseline_camera_alt_24dp.svg</file> + <file alias="baseline_close_24dp.svg">resources/icons/baseline_close_24dp.svg</file> + <file alias="baseline_desktop_windows_24dp.svg">resources/icons/baseline_desktop_windows_24dp.svg</file> + <file alias="baseline_done_24dp.svg">resources/icons/baseline_done_24dp.svg</file> + <file alias="baseline_error_outline_24dp.svg">resources/icons/baseline_error_outline_24dp.svg</file> + <file alias="block_black_24dp.svg">resources/icons/block_black_24dp.svg</file> + <file alias="chat_black_24dp.svg">resources/icons/chat_black_24dp.svg</file> + <file alias="check_black_24dp.svg">resources/icons/check_black_24dp.svg</file> + <file alias="check_box_24dp.svg">resources/icons/check_box_24dp.svg</file> + <file alias="check_box_outline_blank_24dp.svg">resources/icons/check_box_outline_blank_24dp.svg</file> + <file alias="chevron_left_black_24dp.svg">resources/icons/chevron_left_black_24dp.svg</file> + <file alias="close_fullscreen_24dp.svg">resources/icons/close_fullscreen_24dp.svg</file> + <file alias="close_white_24dp.svg">resources/icons/close_white_24dp.svg</file> + <file alias="content_copy_24dp.svg">resources/icons/content_copy_24dp.svg</file> + <file alias="cross_black_24dp.svg">resources/icons/cross_black_24dp.svg</file> + <file alias="delete_24dp.svg">resources/icons/delete_24dp.svg</file> + <file alias="delete_forever_24dp.svg">resources/icons/delete_forever_24dp.svg</file> + <file alias="devices_24dp.svg">resources/icons/devices_24dp.svg</file> + <file alias="done_white_24dp.svg">resources/icons/done_white_24dp.svg</file> + <file alias="drafts_24dp.svg">resources/icons/drafts_24dp.svg</file> + <file alias="emoji_black_24dp.svg">resources/icons/emoji_black_24dp.svg</file> + <file alias="expand_less_24dp.svg">resources/icons/expand_less_24dp.svg</file> + <file alias="expand_more_24dp.svg">resources/icons/expand_more_24dp.svg</file> + <file alias="extension_24dp.svg">resources/icons/extension_24dp.svg</file> + <file alias="fiber_manual_record_24dp.svg">resources/icons/fiber_manual_record_24dp.svg</file> + <file alias="file_black_24dp.svg">resources/icons/file_black_24dp.svg</file> + <file alias="gear_black_24dp.svg">resources/icons/gear_black_24dp.svg</file> + <file alias="groups_24dp.svg">resources/icons/groups_24dp.svg</file> + <file alias="group_add_24dp.svg">resources/icons/group_add_24dp.svg</file> + <file alias="ic_arrow_back_24dp.svg">resources/icons/ic_arrow_back_24dp.svg</file> + <file alias="ic_arrow_back_white_24dp.svg">resources/icons/ic_arrow_back_white_24dp.svg</file> + <file alias="ic_baseline_search_24dp.svg">resources/icons/ic_baseline_search_24dp.svg</file> + <file alias="ic_call_end_white_24dp.svg">resources/icons/ic_call_end_white_24dp.svg</file> + <file alias="ic_clear_24dp.svg">resources/icons/ic_clear_24dp.svg</file> + <file alias="ic_content_copy.svg">resources/icons/ic_content_copy.svg</file> + <file alias="ic_hangup_participant_24dp.svg">resources/icons/ic_hangup_participant_24dp.svg</file> + <file alias="ic_high_quality_24dp.svg">resources/icons/ic_high_quality_24dp.svg</file> + <file alias="ic_keypad.svg">resources/icons/ic_keypad.svg</file> + <file alias="ic_pause_white_100px.svg">resources/icons/ic_pause_white_100px.svg</file> + <file alias="ic_send_24dp.svg">resources/icons/ic_send_24dp.svg</file> + <file alias="ic_video_call_24dp.svg">resources/icons/ic_video_call_24dp.svg</file> + <file alias="info_24dp.svg">resources/icons/info_24dp.svg</file> + <file alias="insert_photo_24dp.svg">resources/icons/insert_photo_24dp.svg</file> + <file alias="link_black_24dp.svg">resources/icons/link_black_24dp.svg</file> + <file alias="media_black_24dp.svg">resources/icons/media_black_24dp.svg</file> + <file alias="message_audio_black_24dp.svg">resources/icons/message_audio_black_24dp.svg</file> + <file alias="message_video_black_24dp.svg">resources/icons/message_video_black_24dp.svg</file> + <file alias="mic_24dp.svg">resources/icons/mic_24dp.svg</file> + <file alias="mic_off_24dp.svg">resources/icons/mic_off_24dp.svg</file> + <file alias="moderator.svg">resources/icons/moderator.svg</file> + <file alias="more_vert_24dp.svg">resources/icons/more_vert_24dp.svg</file> + <file alias="mosaic_black_24dp.svg">resources/icons/mosaic_black_24dp.svg</file> + <file alias="open_in_full_24dp.svg">resources/icons/open_in_full_24dp.svg</file> + <file alias="outline_info_24dp.svg">resources/icons/outline_info_24dp.svg</file> + <file alias="pause_24dp.svg">resources/icons/pause_24dp.svg</file> + <file alias="pause_circle_outline_24dp.svg">resources/icons/pause_circle_outline_24dp.svg</file> + <file alias="person_24dp.svg">resources/icons/person_24dp.svg</file> + <file alias="phone_forwarded_24dp.svg">resources/icons/phone_forwarded_24dp.svg</file> + <file alias="phone_paused_24dp.svg">resources/icons/phone_paused_24dp.svg</file> + <file alias="place_audiocall_24dp.svg">resources/icons/place_audiocall_24dp.svg</file> + <file alias="play_circle_outline_24dp.svg">resources/icons/play_circle_outline_24dp.svg</file> + <file alias="plugins_24dp.svg">resources/icons/plugins_24dp.svg</file> + <file alias="plugin_settings_black_24dp.svg">resources/icons/plugin_settings_black_24dp.svg</file> + <file alias="qr_code_24dp.svg">resources/icons/qr_code_24dp.svg</file> + <file alias="record_black_24dp.svg">resources/icons/record_black_24dp.svg</file> + <file alias="re_record_24dp.svg">resources/icons/re_record_24dp.svg</file> + <file alias="round_add_24dp.svg">resources/icons/round_add_24dp.svg</file> + <file alias="round_add_a_photo_24dp.svg">resources/icons/round_add_a_photo_24dp.svg</file> + <file alias="round_arrow_drop_down_24dp.svg">resources/icons/round_arrow_drop_down_24dp.svg</file> + <file alias="round_arrow_drop_up_24dp.svg">resources/icons/round_arrow_drop_up_24dp.svg</file> + <file alias="round_arrow_right_24dp.svg">resources/icons/round_arrow_right_24dp.svg</file> + <file alias="round_check_circle_24dp.svg">resources/icons/round_check_circle_24dp.svg</file> + <file alias="round_close_24dp.svg">resources/icons/round_close_24dp.svg</file> + <file alias="round_edit_24dp.svg">resources/icons/round_edit_24dp.svg</file> + <file alias="round_error_24dp.svg">resources/icons/round_error_24dp.svg</file> + <file alias="round_folder_24dp.svg">resources/icons/round_folder_24dp.svg</file> + <file alias="round_remove_circle_24dp.svg">resources/icons/round_remove_circle_24dp.svg</file> + <file alias="round_save_alt_24dp.svg">resources/icons/round_save_alt_24dp.svg</file> + <file alias="round_settings_24dp.svg">resources/icons/round_settings_24dp.svg</file> + <file alias="round_undo_24dp.svg">resources/icons/round_undo_24dp.svg</file> + <file alias="router_24dp.svg">resources/icons/router_24dp.svg</file> + <file alias="send_24dp.svg">resources/icons/send_24dp.svg</file> + <file alias="send_black_24dp.svg">resources/icons/send_black_24dp.svg</file> + <file alias="settings_24dp.svg">resources/icons/settings_24dp.svg</file> + <file alias="settings_backup_restore_24dp.svg">resources/icons/settings_backup_restore_24dp.svg</file> + <file alias="settings_backup_restore_black_18dp.svg">resources/icons/settings_backup_restore_black_18dp.svg</file> + <file alias="share_24dp.svg">resources/icons/share_24dp.svg</file> + <file alias="share_screen_black_24dp.svg">resources/icons/share_screen_black_24dp.svg</file> + <file alias="share_stop_black_24dp.svg">resources/icons/share_stop_black_24dp.svg</file> + <file alias="spk_black_24dp.svg">resources/icons/spk_black_24dp.svg</file> + <file alias="spk_none_black_24dp.svg">resources/icons/spk_none_black_24dp.svg</file> + <file alias="star_outline_24dp.svg">resources/icons/star_outline_24dp.svg</file> + <file alias="stop_24dp.svg">resources/icons/stop_24dp.svg</file> + <file alias="stop_24dp_red.svg">resources/icons/stop_24dp_red.svg</file> + <file alias="videocam_24dp.svg">resources/icons/videocam_24dp.svg</file> + <file alias="videocam_off_24dp.svg">resources/icons/videocam_off_24dp.svg</file> + </qresource> + <qresource prefix="/images"> + <file alias="default_avatar_overlay.svg">resources/images/default_avatar_overlay.svg</file> + <file alias="jami-32px.xpm">resources/images/jami-32px.xpm</file> + <file alias="jami-48px.png">resources/images/jami-48px.png</file> + <file alias="jami-new.svg">resources/images/jami-new.svg</file> + <file alias="jami.ico">resources/images/jami.ico</file> + <file alias="jami.svg">resources/images/jami.svg</file> + <file alias="jami_eclipse_spinner.gif">resources/images/jami_eclipse_spinner.gif</file> + <file alias="jami_rolling_spinner.gif">resources/images/jami_rolling_spinner.gif</file> + <file alias="logo-jami-standard-coul-white.svg">resources/images/logo-jami-standard-coul-white.svg</file> + <file alias="logo-jami-standard-coul.svg">resources/images/logo-jami-standard-coul.svg</file> + <file alias="quote.svg">resources/images/quote.svg</file> + </qresource> + <qresource prefix="/misc"> + <file alias="projectcredits.html">resources/misc/projectcredits.html</file> + </qresource> +</RCC> \ No newline at end of file diff --git a/images/FontAwesome.otf b/resources/fonts/FontAwesome.otf similarity index 100% rename from images/FontAwesome.otf rename to resources/fonts/FontAwesome.otf diff --git a/images/icons/account_black-24dp.svg b/resources/icons/account_24dp.svg similarity index 100% rename from images/icons/account_black-24dp.svg rename to resources/icons/account_24dp.svg diff --git a/images/icons/add_people-24px.svg b/resources/icons/add_people_24dp.svg similarity index 96% rename from images/icons/add_people-24px.svg rename to resources/icons/add_people_24dp.svg index 536065ad9..d108ce122 100644 --- a/images/icons/add_people-24px.svg +++ b/resources/icons/add_people_24dp.svg @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> +<svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title>Add people</title> <g id="Icones_Outline" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g id="Add-people" fill="#000000" fill-rule="nonzero" stroke="#000000" stroke-width="0.5"> diff --git a/images/icons/add_people_black_24dp.svg b/resources/icons/add_people_black_24dp.svg similarity index 100% rename from images/icons/add_people_black_24dp.svg rename to resources/icons/add_people_black_24dp.svg diff --git a/images/icons/arrow_drop_down-24px.svg b/resources/icons/arrow_drop_down_24dp.svg similarity index 100% rename from images/icons/arrow_drop_down-24px.svg rename to resources/icons/arrow_drop_down_24dp.svg diff --git a/images/icons/arrow_drop_up-24px.svg b/resources/icons/arrow_drop_up_24dp.svg similarity index 100% rename from images/icons/arrow_drop_up-24px.svg rename to resources/icons/arrow_drop_up_24dp.svg diff --git a/images/icons/ic_arrow_back_24px.svg b/resources/icons/back_24dp.svg similarity index 87% rename from images/icons/ic_arrow_back_24px.svg rename to resources/icons/back_24dp.svg index 7dfac6569..67bc868f5 100644 --- a/images/icons/ic_arrow_back_24px.svg +++ b/resources/icons/back_24dp.svg @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> +<svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title>Arrow Left</title> <g id="Icones" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g id="<-" fill="#000000" transform="translate(2.000000, 5.000000)"> diff --git a/images/icons/backup-24px.svg b/resources/icons/backup_24dp.svg similarity index 100% rename from images/icons/backup-24px.svg rename to resources/icons/backup_24dp.svg diff --git a/images/icons/baseline-camera_alt-24px.svg b/resources/icons/baseline_camera_alt_24dp.svg similarity index 100% rename from images/icons/baseline-camera_alt-24px.svg rename to resources/icons/baseline_camera_alt_24dp.svg diff --git a/images/icons/baseline-close-24px.svg b/resources/icons/baseline_close_24dp.svg similarity index 100% rename from images/icons/baseline-close-24px.svg rename to resources/icons/baseline_close_24dp.svg diff --git a/images/icons/baseline-desktop_windows-24px.svg b/resources/icons/baseline_desktop_windows_24dp.svg similarity index 100% rename from images/icons/baseline-desktop_windows-24px.svg rename to resources/icons/baseline_desktop_windows_24dp.svg diff --git a/images/icons/baseline-done-24px.svg b/resources/icons/baseline_done_24dp.svg similarity index 100% rename from images/icons/baseline-done-24px.svg rename to resources/icons/baseline_done_24dp.svg diff --git a/images/icons/baseline-error_outline-24px.svg b/resources/icons/baseline_error_outline_24dp.svg similarity index 100% rename from images/icons/baseline-error_outline-24px.svg rename to resources/icons/baseline_error_outline_24dp.svg diff --git a/images/icons/block_black-24dp.svg b/resources/icons/block_black_24dp.svg similarity index 100% rename from images/icons/block_black-24dp.svg rename to resources/icons/block_black_24dp.svg diff --git a/images/icons/chat_black_24dp.svg b/resources/icons/chat_black_24dp.svg similarity index 100% rename from images/icons/chat_black_24dp.svg rename to resources/icons/chat_black_24dp.svg diff --git a/images/icons/check_black-24dp.svg b/resources/icons/check_black_24dp.svg similarity index 100% rename from images/icons/check_black-24dp.svg rename to resources/icons/check_black_24dp.svg diff --git a/images/icons/check_box-24px.svg b/resources/icons/check_box_24dp.svg similarity index 100% rename from images/icons/check_box-24px.svg rename to resources/icons/check_box_24dp.svg diff --git a/images/icons/check_box_outline_blank-24px.svg b/resources/icons/check_box_outline_blank_24dp.svg similarity index 100% rename from images/icons/check_box_outline_blank-24px.svg rename to resources/icons/check_box_outline_blank_24dp.svg diff --git a/resources/icons/chevron_left_black_24dp.svg b/resources/icons/chevron_left_black_24dp.svg new file mode 100644 index 000000000..5eedff574 --- /dev/null +++ b/resources/icons/chevron_left_black_24dp.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24" fill="#000000"><path d="M0 0h24v24H0z" fill="none"/><path d="M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"/></svg> \ No newline at end of file diff --git a/images/icons/close_fullscreen-24px.svg b/resources/icons/close_fullscreen_24dp.svg similarity index 95% rename from images/icons/close_fullscreen-24px.svg rename to resources/icons/close_fullscreen_24dp.svg index 283edad30..58c109d09 100644 --- a/images/icons/close_fullscreen-24px.svg +++ b/resources/icons/close_fullscreen_24dp.svg @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> +<svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title>Reduce Screen</title> <g id="Icones" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g id="Reduce-Screen" fill="#000000" fill-rule="nonzero"> diff --git a/images/icons/close-white-24dp.svg b/resources/icons/close_white_24dp.svg similarity index 100% rename from images/icons/close-white-24dp.svg rename to resources/icons/close_white_24dp.svg diff --git a/images/icons/content_copy-24px.svg b/resources/icons/content_copy_24dp.svg similarity index 100% rename from images/icons/content_copy-24px.svg rename to resources/icons/content_copy_24dp.svg diff --git a/images/icons/cross_black_24dp.svg b/resources/icons/cross_black_24dp.svg similarity index 100% rename from images/icons/cross_black_24dp.svg rename to resources/icons/cross_black_24dp.svg diff --git a/images/icons/av_icons/delete-24px.svg b/resources/icons/delete_24dp.svg similarity index 100% rename from images/icons/av_icons/delete-24px.svg rename to resources/icons/delete_24dp.svg diff --git a/images/icons/delete_forever-24px.svg b/resources/icons/delete_forever_24dp.svg similarity index 100% rename from images/icons/delete_forever-24px.svg rename to resources/icons/delete_forever_24dp.svg diff --git a/images/icons/devices-24px.svg b/resources/icons/devices_24dp.svg similarity index 100% rename from images/icons/devices-24px.svg rename to resources/icons/devices_24dp.svg diff --git a/images/icons/done-white-24dp.svg b/resources/icons/done_white_24dp.svg similarity index 100% rename from images/icons/done-white-24dp.svg rename to resources/icons/done_white_24dp.svg diff --git a/images/icons/drafts-24px.svg b/resources/icons/drafts_24dp.svg similarity index 100% rename from images/icons/drafts-24px.svg rename to resources/icons/drafts_24dp.svg diff --git a/images/icons/emoji_black-24dp.svg b/resources/icons/emoji_black_24dp.svg similarity index 100% rename from images/icons/emoji_black-24dp.svg rename to resources/icons/emoji_black_24dp.svg diff --git a/images/icons/expand_less-24px.svg b/resources/icons/expand_less_24dp.svg similarity index 100% rename from images/icons/expand_less-24px.svg rename to resources/icons/expand_less_24dp.svg diff --git a/images/icons/expand_more-24px.svg b/resources/icons/expand_more_24dp.svg similarity index 100% rename from images/icons/expand_more-24px.svg rename to resources/icons/expand_more_24dp.svg diff --git a/images/icons/extension_24dp.svg b/resources/icons/extension_24dp.svg similarity index 100% rename from images/icons/extension_24dp.svg rename to resources/icons/extension_24dp.svg diff --git a/images/icons/av_icons/fiber_manual_record-24px.svg b/resources/icons/fiber_manual_record_24dp.svg similarity index 100% rename from images/icons/av_icons/fiber_manual_record-24px.svg rename to resources/icons/fiber_manual_record_24dp.svg diff --git a/images/icons/file_black-24dp.svg b/resources/icons/file_black_24dp.svg similarity index 100% rename from images/icons/file_black-24dp.svg rename to resources/icons/file_black_24dp.svg diff --git a/images/icons/gear_black-24dp.svg b/resources/icons/gear_black_24dp.svg similarity index 100% rename from images/icons/gear_black-24dp.svg rename to resources/icons/gear_black_24dp.svg diff --git a/images/icons/group_add-24px.svg b/resources/icons/group_add_24dp.svg similarity index 100% rename from images/icons/group_add-24px.svg rename to resources/icons/group_add_24dp.svg diff --git a/images/icons/groups-24px.svg b/resources/icons/groups_24dp.svg similarity index 100% rename from images/icons/groups-24px.svg rename to resources/icons/groups_24dp.svg diff --git a/images/icons/back-24px.svg b/resources/icons/ic_arrow_back_24dp.svg similarity index 100% rename from images/icons/back-24px.svg rename to resources/icons/ic_arrow_back_24dp.svg diff --git a/images/icons/ic_arrow_back_white_24dp.svg b/resources/icons/ic_arrow_back_white_24dp.svg similarity index 100% rename from images/icons/ic_arrow_back_white_24dp.svg rename to resources/icons/ic_arrow_back_white_24dp.svg diff --git a/images/icons/ic_baseline-search-24px.svg b/resources/icons/ic_baseline_search_24dp.svg similarity index 100% rename from images/icons/ic_baseline-search-24px.svg rename to resources/icons/ic_baseline_search_24dp.svg diff --git a/images/icons/ic_call_end_white_24px.svg b/resources/icons/ic_call_end_white_24dp.svg similarity index 100% rename from images/icons/ic_call_end_white_24px.svg rename to resources/icons/ic_call_end_white_24dp.svg diff --git a/images/icons/ic_clear_24px.svg b/resources/icons/ic_clear_24dp.svg similarity index 100% rename from images/icons/ic_clear_24px.svg rename to resources/icons/ic_clear_24dp.svg diff --git a/images/icons/ic_content_copy.svg b/resources/icons/ic_content_copy.svg similarity index 100% rename from images/icons/ic_content_copy.svg rename to resources/icons/ic_content_copy.svg diff --git a/images/icons/ic_hangup_participant-24px.svg b/resources/icons/ic_hangup_participant_24dp.svg similarity index 100% rename from images/icons/ic_hangup_participant-24px.svg rename to resources/icons/ic_hangup_participant_24dp.svg diff --git a/images/icons/ic_high_quality_24px.svg b/resources/icons/ic_high_quality_24dp.svg similarity index 100% rename from images/icons/ic_high_quality_24px.svg rename to resources/icons/ic_high_quality_24dp.svg diff --git a/images/icons/ic_keypad.svg b/resources/icons/ic_keypad.svg similarity index 100% rename from images/icons/ic_keypad.svg rename to resources/icons/ic_keypad.svg diff --git a/images/icons/ic_pause_white_100px.svg b/resources/icons/ic_pause_white_100px.svg similarity index 100% rename from images/icons/ic_pause_white_100px.svg rename to resources/icons/ic_pause_white_100px.svg diff --git a/images/icons/ic_send_24px.svg b/resources/icons/ic_send_24dp.svg similarity index 100% rename from images/icons/ic_send_24px.svg rename to resources/icons/ic_send_24dp.svg diff --git a/images/icons/ic_video_call_24px.svg b/resources/icons/ic_video_call_24dp.svg similarity index 100% rename from images/icons/ic_video_call_24px.svg rename to resources/icons/ic_video_call_24dp.svg diff --git a/images/icons/info-24px.svg b/resources/icons/info_24dp.svg similarity index 100% rename from images/icons/info-24px.svg rename to resources/icons/info_24dp.svg diff --git a/images/icons/insert_photo-24px.svg b/resources/icons/insert_photo_24dp.svg similarity index 100% rename from images/icons/insert_photo-24px.svg rename to resources/icons/insert_photo_24dp.svg diff --git a/images/icons/link_black-24dp.svg b/resources/icons/link_black_24dp.svg similarity index 100% rename from images/icons/link_black-24dp.svg rename to resources/icons/link_black_24dp.svg diff --git a/images/icons/media_black-24dp.svg b/resources/icons/media_black_24dp.svg similarity index 100% rename from images/icons/media_black-24dp.svg rename to resources/icons/media_black_24dp.svg diff --git a/images/icons/message_audio_black-24dp.svg b/resources/icons/message_audio_black_24dp.svg similarity index 100% rename from images/icons/message_audio_black-24dp.svg rename to resources/icons/message_audio_black_24dp.svg diff --git a/images/icons/message_video_black-24dp.svg b/resources/icons/message_video_black_24dp.svg similarity index 100% rename from images/icons/message_video_black-24dp.svg rename to resources/icons/message_video_black_24dp.svg diff --git a/images/icons/av_icons/mic-24px.svg b/resources/icons/mic_24dp.svg similarity index 100% rename from images/icons/av_icons/mic-24px.svg rename to resources/icons/mic_24dp.svg diff --git a/images/icons/mic_off-24px.svg b/resources/icons/mic_off_24dp.svg similarity index 100% rename from images/icons/mic_off-24px.svg rename to resources/icons/mic_off_24dp.svg diff --git a/images/icons/moderator.svg b/resources/icons/moderator.svg similarity index 100% rename from images/icons/moderator.svg rename to resources/icons/moderator.svg diff --git a/images/icons/more_vert-24dp.svg b/resources/icons/more_vert_24dp.svg similarity index 100% rename from images/icons/more_vert-24dp.svg rename to resources/icons/more_vert_24dp.svg diff --git a/images/icons/mosaic_black_24dp.svg b/resources/icons/mosaic_black_24dp.svg similarity index 100% rename from images/icons/mosaic_black_24dp.svg rename to resources/icons/mosaic_black_24dp.svg diff --git a/images/icons/open_in_full-24px.svg b/resources/icons/open_in_full_24dp.svg similarity index 100% rename from images/icons/open_in_full-24px.svg rename to resources/icons/open_in_full_24dp.svg diff --git a/images/icons/outline-info-24px.svg b/resources/icons/outline_info_24dp.svg similarity index 100% rename from images/icons/outline-info-24px.svg rename to resources/icons/outline_info_24dp.svg diff --git a/images/icons/av_icons/pause-24px.svg b/resources/icons/pause_24dp.svg similarity index 100% rename from images/icons/av_icons/pause-24px.svg rename to resources/icons/pause_24dp.svg diff --git a/images/icons/pause_circle_outline-24px.svg b/resources/icons/pause_circle_outline_24dp.svg similarity index 100% rename from images/icons/pause_circle_outline-24px.svg rename to resources/icons/pause_circle_outline_24dp.svg diff --git a/images/icons/person-24px.svg b/resources/icons/person_24dp.svg similarity index 100% rename from images/icons/person-24px.svg rename to resources/icons/person_24dp.svg diff --git a/images/icons/phone_forwarded-24px.svg b/resources/icons/phone_forwarded_24dp.svg similarity index 100% rename from images/icons/phone_forwarded-24px.svg rename to resources/icons/phone_forwarded_24dp.svg diff --git a/images/icons/phone_paused-24px.svg b/resources/icons/phone_paused_24dp.svg similarity index 100% rename from images/icons/phone_paused-24px.svg rename to resources/icons/phone_paused_24dp.svg diff --git a/images/icons/place_audiocall-24px.svg b/resources/icons/place_audiocall_24dp.svg similarity index 100% rename from images/icons/place_audiocall-24px.svg rename to resources/icons/place_audiocall_24dp.svg diff --git a/images/icons/av_icons/play_circle_outline-24px.svg b/resources/icons/play_circle_outline_24dp.svg similarity index 100% rename from images/icons/av_icons/play_circle_outline-24px.svg rename to resources/icons/play_circle_outline_24dp.svg diff --git a/images/icons/plugin_settings_black-24dp.svg b/resources/icons/plugin_settings_black_24dp.svg similarity index 100% rename from images/icons/plugin_settings_black-24dp.svg rename to resources/icons/plugin_settings_black_24dp.svg diff --git a/images/icons/plugins-24px.svg b/resources/icons/plugins_24dp.svg similarity index 100% rename from images/icons/plugins-24px.svg rename to resources/icons/plugins_24dp.svg diff --git a/images/icons/qr_code-24px.svg b/resources/icons/qr_code_24dp.svg similarity index 100% rename from images/icons/qr_code-24px.svg rename to resources/icons/qr_code_24dp.svg diff --git a/images/icons/av_icons/re-record-24px.svg b/resources/icons/re_record_24dp.svg similarity index 100% rename from images/icons/av_icons/re-record-24px.svg rename to resources/icons/re_record_24dp.svg diff --git a/images/icons/record_black_24dp.svg b/resources/icons/record_black_24dp.svg similarity index 100% rename from images/icons/record_black_24dp.svg rename to resources/icons/record_black_24dp.svg diff --git a/images/icons/round-add-24px.svg b/resources/icons/round_add_24dp.svg similarity index 100% rename from images/icons/round-add-24px.svg rename to resources/icons/round_add_24dp.svg diff --git a/images/icons/round-add_a_photo-24px.svg b/resources/icons/round_add_a_photo_24dp.svg similarity index 100% rename from images/icons/round-add_a_photo-24px.svg rename to resources/icons/round_add_a_photo_24dp.svg diff --git a/images/icons/round-arrow_drop_down-24px.svg b/resources/icons/round_arrow_drop_down_24dp.svg similarity index 100% rename from images/icons/round-arrow_drop_down-24px.svg rename to resources/icons/round_arrow_drop_down_24dp.svg diff --git a/images/icons/round-arrow_drop_up-24px.svg b/resources/icons/round_arrow_drop_up_24dp.svg similarity index 100% rename from images/icons/round-arrow_drop_up-24px.svg rename to resources/icons/round_arrow_drop_up_24dp.svg diff --git a/images/icons/round-arrow_right-24px.svg b/resources/icons/round_arrow_right_24dp.svg similarity index 100% rename from images/icons/round-arrow_right-24px.svg rename to resources/icons/round_arrow_right_24dp.svg diff --git a/images/icons/round-check_circle-24px.svg b/resources/icons/round_check_circle_24dp.svg similarity index 100% rename from images/icons/round-check_circle-24px.svg rename to resources/icons/round_check_circle_24dp.svg diff --git a/images/icons/round-close-24px.svg b/resources/icons/round_close_24dp.svg similarity index 100% rename from images/icons/round-close-24px.svg rename to resources/icons/round_close_24dp.svg diff --git a/images/icons/round-edit-24px.svg b/resources/icons/round_edit_24dp.svg similarity index 100% rename from images/icons/round-edit-24px.svg rename to resources/icons/round_edit_24dp.svg diff --git a/images/icons/round-error-24px.svg b/resources/icons/round_error_24dp.svg similarity index 100% rename from images/icons/round-error-24px.svg rename to resources/icons/round_error_24dp.svg diff --git a/images/icons/round-folder-24px.svg b/resources/icons/round_folder_24dp.svg similarity index 100% rename from images/icons/round-folder-24px.svg rename to resources/icons/round_folder_24dp.svg diff --git a/images/icons/round-remove_circle-24px.svg b/resources/icons/round_remove_circle_24dp.svg similarity index 100% rename from images/icons/round-remove_circle-24px.svg rename to resources/icons/round_remove_circle_24dp.svg diff --git a/images/icons/round-save_alt-24px.svg b/resources/icons/round_save_alt_24dp.svg similarity index 100% rename from images/icons/round-save_alt-24px.svg rename to resources/icons/round_save_alt_24dp.svg diff --git a/images/icons/round-settings-24px.svg b/resources/icons/round_settings_24dp.svg similarity index 100% rename from images/icons/round-settings-24px.svg rename to resources/icons/round_settings_24dp.svg diff --git a/images/icons/round-undo-24px.svg b/resources/icons/round_undo_24dp.svg similarity index 100% rename from images/icons/round-undo-24px.svg rename to resources/icons/round_undo_24dp.svg diff --git a/images/icons/router-24px.svg b/resources/icons/router_24dp.svg similarity index 100% rename from images/icons/router-24px.svg rename to resources/icons/router_24dp.svg diff --git a/images/icons/av_icons/send-24px.svg b/resources/icons/send_24dp.svg similarity index 100% rename from images/icons/av_icons/send-24px.svg rename to resources/icons/send_24dp.svg diff --git a/images/icons/send_black-24dp.svg b/resources/icons/send_black_24dp.svg similarity index 100% rename from images/icons/send_black-24dp.svg rename to resources/icons/send_black_24dp.svg diff --git a/images/icons/settings-24px.svg b/resources/icons/settings_24dp.svg similarity index 100% rename from images/icons/settings-24px.svg rename to resources/icons/settings_24dp.svg diff --git a/images/icons/settings_backup_restore-24px.svg b/resources/icons/settings_backup_restore_24dp.svg similarity index 100% rename from images/icons/settings_backup_restore-24px.svg rename to resources/icons/settings_backup_restore_24dp.svg diff --git a/images/icons/settings_backup_restore-black-18dp.svg b/resources/icons/settings_backup_restore_black_18dp.svg similarity index 100% rename from images/icons/settings_backup_restore-black-18dp.svg rename to resources/icons/settings_backup_restore_black_18dp.svg diff --git a/images/icons/share-24px.svg b/resources/icons/share_24dp.svg similarity index 100% rename from images/icons/share-24px.svg rename to resources/icons/share_24dp.svg diff --git a/images/icons/share_screen_black_24dp.svg b/resources/icons/share_screen_black_24dp.svg similarity index 100% rename from images/icons/share_screen_black_24dp.svg rename to resources/icons/share_screen_black_24dp.svg diff --git a/images/icons/share_stop_black_24dp.svg b/resources/icons/share_stop_black_24dp.svg similarity index 100% rename from images/icons/share_stop_black_24dp.svg rename to resources/icons/share_stop_black_24dp.svg diff --git a/images/icons/spk_black_24dp.svg b/resources/icons/spk_black_24dp.svg similarity index 100% rename from images/icons/spk_black_24dp.svg rename to resources/icons/spk_black_24dp.svg diff --git a/images/icons/spk_none_black_24dp.svg b/resources/icons/spk_none_black_24dp.svg similarity index 100% rename from images/icons/spk_none_black_24dp.svg rename to resources/icons/spk_none_black_24dp.svg diff --git a/images/icons/star_outline-24px.svg b/resources/icons/star_outline_24dp.svg similarity index 100% rename from images/icons/star_outline-24px.svg rename to resources/icons/star_outline_24dp.svg diff --git a/images/icons/av_icons/stop-24px.svg b/resources/icons/stop_24dp.svg similarity index 100% rename from images/icons/av_icons/stop-24px.svg rename to resources/icons/stop_24dp.svg diff --git a/images/icons/av_icons/stop-24px-red.svg b/resources/icons/stop_24dp_red.svg similarity index 100% rename from images/icons/av_icons/stop-24px-red.svg rename to resources/icons/stop_24dp_red.svg diff --git a/images/icons/videocam-24px.svg b/resources/icons/videocam_24dp.svg similarity index 100% rename from images/icons/videocam-24px.svg rename to resources/icons/videocam_24dp.svg diff --git a/images/icons/videocam_off-24px.svg b/resources/icons/videocam_off_24dp.svg similarity index 100% rename from images/icons/videocam_off-24px.svg rename to resources/icons/videocam_off_24dp.svg diff --git a/images/default_avatar_overlay.svg b/resources/images/default_avatar_overlay.svg similarity index 100% rename from images/default_avatar_overlay.svg rename to resources/images/default_avatar_overlay.svg diff --git a/images/jami-32px.xpm b/resources/images/jami-32px.xpm similarity index 100% rename from images/jami-32px.xpm rename to resources/images/jami-32px.xpm diff --git a/images/jami-48px.png b/resources/images/jami-48px.png similarity index 100% rename from images/jami-48px.png rename to resources/images/jami-48px.png diff --git a/images/jami-new.svg b/resources/images/jami-new.svg similarity index 100% rename from images/jami-new.svg rename to resources/images/jami-new.svg diff --git a/images/jami.ico b/resources/images/jami.ico similarity index 100% rename from images/jami.ico rename to resources/images/jami.ico diff --git a/images/jami.svg b/resources/images/jami.svg similarity index 100% rename from images/jami.svg rename to resources/images/jami.svg diff --git a/images/jami_eclipse_spinner.gif b/resources/images/jami_eclipse_spinner.gif similarity index 100% rename from images/jami_eclipse_spinner.gif rename to resources/images/jami_eclipse_spinner.gif diff --git a/images/jami_rolling_spinner.gif b/resources/images/jami_rolling_spinner.gif similarity index 100% rename from images/jami_rolling_spinner.gif rename to resources/images/jami_rolling_spinner.gif diff --git a/images/logo-jami-standard-coul-white.svg b/resources/images/logo-jami-standard-coul-white.svg similarity index 100% rename from images/logo-jami-standard-coul-white.svg rename to resources/images/logo-jami-standard-coul-white.svg diff --git a/images/logo-jami-standard-coul.svg b/resources/images/logo-jami-standard-coul.svg similarity index 100% rename from images/logo-jami-standard-coul.svg rename to resources/images/logo-jami-standard-coul.svg diff --git a/images/icons/quote.svg b/resources/images/quote.svg similarity index 100% rename from images/icons/quote.svg rename to resources/images/quote.svg diff --git a/projectcredits.html b/resources/misc/projectcredits.html similarity index 100% rename from projectcredits.html rename to resources/misc/projectcredits.html diff --git a/src/DaemonReconnectWindow.qml b/src/DaemonReconnectWindow.qml index fa1eb907c..b017a4226 100644 --- a/src/DaemonReconnectWindow.qml +++ b/src/DaemonReconnectWindow.qml @@ -23,8 +23,7 @@ import QtQuick.Layouts 1.14 import QtQuick.Controls.Universal 2.14 import QtGraphicalEffects 1.14 -// Should not import anything other than this -// to make sure that it is self-dependent +import net.jami.Constants 1.0 import net.jami.Models 1.0 import "commoncomponents" @@ -62,7 +61,7 @@ ApplicationWindow { anchors.fill: parent - source: "qrc:/images/logo-jami-standard-coul.svg" + source: JamiResources.logo_jami_standard_coul_svg } Popup { @@ -115,7 +114,7 @@ ApplicationWindow { visible: !connectionFailed - source: "qrc:/images/jami_rolling_spinner.gif" + source: JamiResources.jami_rolling_spinner_gif playing: true paused: false diff --git a/src/commoncomponents/AccountMigrationDialog.qml b/src/commoncomponents/AccountMigrationDialog.qml index 67ae6920b..733358c1a 100644 --- a/src/commoncomponents/AccountMigrationDialog.qml +++ b/src/commoncomponents/AccountMigrationDialog.qml @@ -510,21 +510,20 @@ Window { switch (spinnerDisplyState) { case "spinnerLabel_Regular": background = Qt.createQmlObject("import QtQuick 2.14; + import \"qrc:/src/constant/\"; AnimatedImage { - source: \"qrc:/images/jami_eclipse_spinner.gif\" - + source: JamiResources.jami_eclipse_spinner_gif playing: true paused: false fillMode: Image.PreserveAspectFit - mipmap: true - }", spinnerLabel) + mipmap: true}", spinnerLabel) break case "spinnerLabel_Failure": background = Qt.createQmlObject("import QtQuick 2.14; import \"qrc:/src/constant/\"; Image { anchors.fill: parent; - source:\"image://tintedPixmap/\" + (\"qrc:/images/icons/baseline-error_outline-24px.svg\").replace(\"qrc:/images/icons/\", \"\") + \"+\" + JamiTheme.urgentOrange_; + source: JamiResources.baseline_error_outline_24dp_svg; mipmap: true;}", spinnerLabel) break } diff --git a/src/commoncomponents/DaemonReconnectPopup.qml b/src/commoncomponents/DaemonReconnectPopup.qml index 9520e3a21..640b2bc93 100644 --- a/src/commoncomponents/DaemonReconnectPopup.qml +++ b/src/commoncomponents/DaemonReconnectPopup.qml @@ -20,8 +20,8 @@ import QtQuick 2.14 import QtQuick.Controls 2.14 import QtQuick.Layouts 1.14 -import net.jami.Models 1.0 import net.jami.Constants 1.0 +import net.jami.Models 1.0 ModalPopup { id: root @@ -72,7 +72,7 @@ ModalPopup { visible: !connectionFailed - source: "qrc:/images/jami_rolling_spinner.gif"; + source: JamiResources.jami_rolling_spinner_gif playing: true paused: false diff --git a/src/commoncomponents/LookupStatusLabel.qml b/src/commoncomponents/LookupStatusLabel.qml deleted file mode 100644 index 5cc64d213..000000000 --- a/src/commoncomponents/LookupStatusLabel.qml +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Copyright (C) 2019-2020 by Savoir-faire Linux - * Author: Yang Wang <yang.wang@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -import QtQuick 2.14 -import QtQuick.Layouts 1.14 -import QtQuick.Controls 2.14 - -import net.jami.Constants 1.0 - -Label { - id: lookupStatusLabel - - property int labelWidth : 30 - property int labelHeight : 30 - - Layout.maximumWidth: labelWidth - Layout.preferredWidth: labelWidth - Layout.minimumWidth: labelWidth - - Layout.maximumHeight: labelHeight - Layout.preferredHeight: labelHeight - Layout.minimumHeight: labelHeight - - property string lookupStatusState: "Blank" - - // whenever look up status state change, the backgroud weill be set to a cooresponding choice - onLookupStatusStateChanged: { - switch (lookupStatusState) { - case "Blank": - background = Qt.createQmlObject( - "import QtQuick 2.14; Rectangle { anchors.fill: parent; color: \"transparent\"; }", - lookupStatusLabel) - break - case "Invalid": - background = Qt.createQmlObject("import QtQuick 2.14; -import \"qrc:/src/constant/\"; -Rectangle { -anchors.fill: parent; -Image { -anchors.fill: parent; -source: \"image://tintedPixmap/\" + (\"qrc:/images/icons/baseline-error_outline-24px.svg\").replace(\"qrc:/images/icons/\",\"\") + \"+\" + JamiTheme.urgentOrange_; -mipmap: true; -} -}", lookupStatusLabel) - break - case "Taken": - background = Qt.createQmlObject("import QtQuick 2.14; -import \"qrc:/src/constant/\"; -Rectangle { -anchors.fill: parent; -Image{ -anchors.fill: parent; -source: \"image://tintedPixmap/\" + (\"qrc:/images/icons/baseline-close-24px.svg\").replace(\"qrc:/images/icons/\",\"\") + \"+\" + JamiTheme.red_; -mipmap: true; -} -}", lookupStatusLabel) - break - case "Free": - background = Qt.createQmlObject("import QtQuick 2.14; -import \"qrc:/src/constant/\"; -Rectangle { -anchors.fill: parent; -Image { -anchors.fill: parent; -source: \"image://tintedPixmap/\"+ (\"qrc:/images/icons/baseline-done-24px.svg\").replace(\"qrc:/images/icons/\",\"\") + \"+\" + JamiTheme.presenceGreen_; -mipmap: true; -} -}", lookupStatusLabel) - break - case "Searching": - background = Qt.createQmlObject("import QtQuick 2.14; -import \"qrc:/src/constant/\"; -Rectangle { -anchors.fill: parent; -AnimatedImage { -anchors.fill: parent -source: \"qrc:/images/jami_rolling_spinner.gif\"; - -playing: true -paused: false -fillMode: Image.PreserveAspectFit -mipmap: true -} -}", lookupStatusLabel) - break - } - } -} diff --git a/src/commoncomponents/MaterialLineEdit.qml b/src/commoncomponents/MaterialLineEdit.qml index 45adb3047..968529730 100644 --- a/src/commoncomponents/MaterialLineEdit.qml +++ b/src/commoncomponents/MaterialLineEdit.qml @@ -52,7 +52,7 @@ TextField { switch(borderColorMode){ case MaterialLineEdit.SEARCHING: - iconSource = "qrc:/images/jami_rolling_spinner.gif" + iconSource = JamiResources.jami_rolling_spinner_gif borderColor = JamiTheme.greyBorderColor break case MaterialLineEdit.NORMAL: @@ -60,11 +60,11 @@ TextField { borderColor = JamiTheme.greyBorderColor break case MaterialLineEdit.RIGHT: - iconSource = "qrc:/images/icons/round-check_circle-24px.svg" + iconSource = JamiResources.round_check_circle_24dp_svg borderColor = "green" break case MaterialLineEdit.ERROR: - iconSource = "qrc:/images/icons/round-error-24px.svg" + iconSource = JamiResources.round_error_24dp_svg borderColor = "red" break } diff --git a/src/commoncomponents/PhotoboothView.qml b/src/commoncomponents/PhotoboothView.qml index 6772e9884..7f1b33412 100644 --- a/src/commoncomponents/PhotoboothView.qml +++ b/src/commoncomponents/PhotoboothView.qml @@ -157,8 +157,8 @@ Item { imageColor: JamiTheme.textColor toolTipText: JamiStrings.takePhoto source: isPreviewing ? - "qrc:/images/icons/round-add_a_photo-24px.svg" : - "qrc:/images/icons/baseline-camera_alt-24px.svg" + JamiResources.round_add_a_photo_24dp_svg : + JamiResources.baseline_camera_alt_24dp_svg onClicked: { if (isPreviewing) { @@ -179,7 +179,7 @@ Item { visible: LRCInstance.currentAccountAvatarSet Layout.alignment: Qt.AlignHCenter radius: JamiTheme.primaryRadius - source: "qrc:/images/icons/round-close-24px.svg" + source: JamiResources.round_close_24dp_svg toolTipText: JamiStrings.clearAvatar imageColor: JamiTheme.textColor @@ -194,7 +194,7 @@ Item { Layout.alignment: Qt.AlignHCenter radius: JamiTheme.primaryRadius - source: "qrc:/images/icons/round-folder-24px.svg" + source: JamiResources.round_folder_24dp_svg toolTipText: JamiStrings.importFromFile imageColor: JamiTheme.textColor diff --git a/src/commoncomponents/PreferenceItemDelegate.qml b/src/commoncomponents/PreferenceItemDelegate.qml index d9af39b3e..57b3ea9d1 100644 --- a/src/commoncomponents/PreferenceItemDelegate.qml +++ b/src/commoncomponents/PreferenceItemDelegate.qml @@ -128,7 +128,7 @@ ItemDelegate { Layout.preferredHeight: preferredSize imageColor: JamiTheme.textColor - source: "qrc:/images/icons/round-settings-24px.svg" + source: JamiResources.round_settings_24dp_svg toolTipText: qsTr("Edit preference") opacity: enabled ? 1.0 : 0.5 @@ -180,7 +180,7 @@ ItemDelegate { text: UtilsAdapter.fileName(preferenceCurrentValue) toolTipText: JamiStrings.chooseImageFile - source: "qrc:/images/icons/round-folder-24px.svg" + source: JamiResources.round_folder_24dp_svg color: JamiTheme.buttonTintedGrey hoveredColor: JamiTheme.buttonTintedGreyHovered pressedColor: JamiTheme.buttonTintedGreyPressed diff --git a/src/commoncomponents/SpinnerButton.qml b/src/commoncomponents/SpinnerButton.qml index 05c7737fd..f0306a5e9 100644 --- a/src/commoncomponents/SpinnerButton.qml +++ b/src/commoncomponents/SpinnerButton.qml @@ -28,7 +28,9 @@ MaterialButton { property string spinnerTriggeredtext: value property string normalText: value - animatedImageSource: spinnerTriggered ? "qrc:/images/jami_rolling_spinner.gif" : "" + animatedImageSource: spinnerTriggered ? + JamiResources.jami_rolling_spinner_gif : + "" text: spinnerTriggered ? spinnerTriggeredtext : normalText color: !enabled ? JamiTheme.buttonTintedGreyInactive : JamiTheme.wizardBlueButtons diff --git a/src/commoncomponents/TintedButton.qml b/src/commoncomponents/TintedButton.qml deleted file mode 100644 index fba4737d2..000000000 --- a/src/commoncomponents/TintedButton.qml +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Copyright (C) 2020 by Savoir-faire Linux - * Author: Mingrui Zhang <mingrui.zhang@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <https://www.gnu.org/licenses/>. - */ - -import QtQuick 2.14 -import QtQuick.Controls 2.14 - -Button { - id: tintedButton - - - // TintColor, color for the pixmap when button is hovered. - property string tintColor: "white" - - - // NormalPixmapSource - icons in normal state (non-toggled). - // SelectedPixmapSource - icons once button is toggled. - property string normalPixmapSource: "" - property string selectedPixmapSource: "" - - - // IsSelected property is to help set button current state manually. - property bool isSelected: false - - - // ButtonEntered signal is to help call overlay change its opacity - signal buttonEntered - - function setChecked(checked) { - isSelected = checked - if (isSelected) { - tintedButtonImage.source = selectedPixmapSource - } else { - tintedButtonImage.source = normalPixmapSource - } - } - - hoverEnabled: true - - background: Rectangle { - id: tintedButtonBackground - - radius: 30 - color: "transparent" - - Image { - id: tintedButtonImage - - anchors.centerIn: tintedButtonBackground - - height: tintedButtonBackground.height - 10 - width: tintedButtonBackground.width - 10 - - source: normalPixmapSource - fillMode: Image.PreserveAspectFit - mipmap: true - asynchronous: true - } - - MouseArea { - anchors.fill: parent - - hoverEnabled: true - - onReleased: { - isSelected = !isSelected - if (isSelected) { - tintedButtonImage.source = "image://tintedPixmap/" - + selectedPixmapSource.replace( - "qrc:/images/icons/", "") + "+" + tintColor - } else { - tintedButtonImage.source = "image://tintedPixmap/" + normalPixmapSource.replace( - "qrc:/images/icons/", "") + "+" + tintColor - } - tintedButton.clicked() - } - onEntered: { - - - // Tinted. - if (isSelected) { - tintedButtonImage.source = "image://tintedPixmap/" - + selectedPixmapSource.replace( - "qrc:/images/icons/", "") + "+" + tintColor - } else { - tintedButtonImage.source = "image://tintedPixmap/" + normalPixmapSource.replace( - "qrc:/images/icons/", "") + "+" + tintColor - } - tintedButton.buttonEntered() - } - onExited: { - if (isSelected) { - tintedButtonImage.source = selectedPixmapSource - } else { - tintedButtonImage.source = normalPixmapSource - } - } - } - } -} diff --git a/src/constant/JamiResources.qml b/src/constant/JamiResources.qml new file mode 100644 index 000000000..52fc026df --- /dev/null +++ b/src/constant/JamiResources.qml @@ -0,0 +1,118 @@ +pragma Singleton +import QtQuick 2.14 +QtObject { + readonly property string account_24dp_svg: "qrc:/icons/account_24dp.svg" + readonly property string add_people_24dp_svg: "qrc:/icons/add_people_24dp.svg" + readonly property string add_people_black_24dp_svg: "qrc:/icons/add_people_black_24dp.svg" + readonly property string arrow_drop_down_24dp_svg: "qrc:/icons/arrow_drop_down_24dp.svg" + readonly property string arrow_drop_up_24dp_svg: "qrc:/icons/arrow_drop_up_24dp.svg" + readonly property string backup_24dp_svg: "qrc:/icons/backup_24dp.svg" + readonly property string back_24dp_svg: "qrc:/icons/back_24dp.svg" + readonly property string baseline_camera_alt_24dp_svg: "qrc:/icons/baseline_camera_alt_24dp.svg" + readonly property string baseline_close_24dp_svg: "qrc:/icons/baseline_close_24dp.svg" + readonly property string baseline_desktop_windows_24dp_svg: "qrc:/icons/baseline_desktop_windows_24dp.svg" + readonly property string baseline_done_24dp_svg: "qrc:/icons/baseline_done_24dp.svg" + readonly property string baseline_error_outline_24dp_svg: "qrc:/icons/baseline_error_outline_24dp.svg" + readonly property string block_black_24dp_svg: "qrc:/icons/block_black_24dp.svg" + readonly property string chat_black_24dp_svg: "qrc:/icons/chat_black_24dp.svg" + readonly property string check_black_24dp_svg: "qrc:/icons/check_black_24dp.svg" + readonly property string check_box_24dp_svg: "qrc:/icons/check_box_24dp.svg" + readonly property string check_box_outline_blank_24dp_svg: "qrc:/icons/check_box_outline_blank_24dp.svg" + readonly property string chevron_left_black_24dp_svg: "qrc:/icons/chevron_left_black_24dp.svg" + readonly property string close_fullscreen_24dp_svg: "qrc:/icons/close_fullscreen_24dp.svg" + readonly property string close_white_24dp_svg: "qrc:/icons/close_white_24dp.svg" + readonly property string content_copy_24dp_svg: "qrc:/icons/content_copy_24dp.svg" + readonly property string cross_black_24dp_svg: "qrc:/icons/cross_black_24dp.svg" + readonly property string delete_24dp_svg: "qrc:/icons/delete_24dp.svg" + readonly property string delete_forever_24dp_svg: "qrc:/icons/delete_forever_24dp.svg" + readonly property string devices_24dp_svg: "qrc:/icons/devices_24dp.svg" + readonly property string done_white_24dp_svg: "qrc:/icons/done_white_24dp.svg" + readonly property string drafts_24dp_svg: "qrc:/icons/drafts_24dp.svg" + readonly property string emoji_black_24dp_svg: "qrc:/icons/emoji_black_24dp.svg" + readonly property string expand_less_24dp_svg: "qrc:/icons/expand_less_24dp.svg" + readonly property string expand_more_24dp_svg: "qrc:/icons/expand_more_24dp.svg" + readonly property string extension_24dp_svg: "qrc:/icons/extension_24dp.svg" + readonly property string fiber_manual_record_24dp_svg: "qrc:/icons/fiber_manual_record_24dp.svg" + readonly property string file_black_24dp_svg: "qrc:/icons/file_black_24dp.svg" + readonly property string gear_black_24dp_svg: "qrc:/icons/gear_black_24dp.svg" + readonly property string groups_24dp_svg: "qrc:/icons/groups_24dp.svg" + readonly property string group_add_24dp_svg: "qrc:/icons/group_add_24dp.svg" + readonly property string ic_arrow_back_24dp_svg: "qrc:/icons/ic_arrow_back_24dp.svg" + readonly property string ic_arrow_back_white_24dp_svg: "qrc:/icons/ic_arrow_back_white_24dp.svg" + readonly property string ic_baseline_search_24dp_svg: "qrc:/icons/ic_baseline_search_24dp.svg" + readonly property string ic_call_end_white_24dp_svg: "qrc:/icons/ic_call_end_white_24dp.svg" + readonly property string ic_clear_24dp_svg: "qrc:/icons/ic_clear_24dp.svg" + readonly property string ic_content_copy_svg: "qrc:/icons/ic_content_copy.svg" + readonly property string ic_hangup_participant_24dp_svg: "qrc:/icons/ic_hangup_participant_24dp.svg" + readonly property string ic_high_quality_24dp_svg: "qrc:/icons/ic_high_quality_24dp.svg" + readonly property string ic_keypad_svg: "qrc:/icons/ic_keypad.svg" + readonly property string ic_pause_white_100px_svg: "qrc:/icons/ic_pause_white_100px.svg" + readonly property string ic_send_24dp_svg: "qrc:/icons/ic_send_24dp.svg" + readonly property string ic_video_call_24dp_svg: "qrc:/icons/ic_video_call_24dp.svg" + readonly property string info_24dp_svg: "qrc:/icons/info_24dp.svg" + readonly property string insert_photo_24dp_svg: "qrc:/icons/insert_photo_24dp.svg" + readonly property string link_black_24dp_svg: "qrc:/icons/link_black_24dp.svg" + readonly property string media_black_24dp_svg: "qrc:/icons/media_black_24dp.svg" + readonly property string message_audio_black_24dp_svg: "qrc:/icons/message_audio_black_24dp.svg" + readonly property string message_video_black_24dp_svg: "qrc:/icons/message_video_black_24dp.svg" + readonly property string mic_24dp_svg: "qrc:/icons/mic_24dp.svg" + readonly property string mic_off_24dp_svg: "qrc:/icons/mic_off_24dp.svg" + readonly property string moderator_svg: "qrc:/icons/moderator.svg" + readonly property string more_vert_24dp_svg: "qrc:/icons/more_vert_24dp.svg" + readonly property string mosaic_black_24dp_svg: "qrc:/icons/mosaic_black_24dp.svg" + readonly property string open_in_full_24dp_svg: "qrc:/icons/open_in_full_24dp.svg" + readonly property string outline_info_24dp_svg: "qrc:/icons/outline_info_24dp.svg" + readonly property string pause_24dp_svg: "qrc:/icons/pause_24dp.svg" + readonly property string pause_circle_outline_24dp_svg: "qrc:/icons/pause_circle_outline_24dp.svg" + readonly property string person_24dp_svg: "qrc:/icons/person_24dp.svg" + readonly property string phone_forwarded_24dp_svg: "qrc:/icons/phone_forwarded_24dp.svg" + readonly property string phone_paused_24dp_svg: "qrc:/icons/phone_paused_24dp.svg" + readonly property string place_audiocall_24dp_svg: "qrc:/icons/place_audiocall_24dp.svg" + readonly property string play_circle_outline_24dp_svg: "qrc:/icons/play_circle_outline_24dp.svg" + readonly property string plugins_24dp_svg: "qrc:/icons/plugins_24dp.svg" + readonly property string plugin_settings_black_24dp_svg: "qrc:/icons/plugin_settings_black_24dp.svg" + readonly property string qr_code_24dp_svg: "qrc:/icons/qr_code_24dp.svg" + readonly property string record_black_24dp_svg: "qrc:/icons/record_black_24dp.svg" + readonly property string re_record_24dp_svg: "qrc:/icons/re_record_24dp.svg" + readonly property string round_add_24dp_svg: "qrc:/icons/round_add_24dp.svg" + readonly property string round_add_a_photo_24dp_svg: "qrc:/icons/round_add_a_photo_24dp.svg" + readonly property string round_arrow_drop_down_24dp_svg: "qrc:/icons/round_arrow_drop_down_24dp.svg" + readonly property string round_arrow_drop_up_24dp_svg: "qrc:/icons/round_arrow_drop_up_24dp.svg" + readonly property string round_arrow_right_24dp_svg: "qrc:/icons/round_arrow_right_24dp.svg" + readonly property string round_check_circle_24dp_svg: "qrc:/icons/round_check_circle_24dp.svg" + readonly property string round_close_24dp_svg: "qrc:/icons/round_close_24dp.svg" + readonly property string round_edit_24dp_svg: "qrc:/icons/round_edit_24dp.svg" + readonly property string round_error_24dp_svg: "qrc:/icons/round_error_24dp.svg" + readonly property string round_folder_24dp_svg: "qrc:/icons/round_folder_24dp.svg" + readonly property string round_remove_circle_24dp_svg: "qrc:/icons/round_remove_circle_24dp.svg" + readonly property string round_save_alt_24dp_svg: "qrc:/icons/round_save_alt_24dp.svg" + readonly property string round_settings_24dp_svg: "qrc:/icons/round_settings_24dp.svg" + readonly property string round_undo_24dp_svg: "qrc:/icons/round_undo_24dp.svg" + readonly property string router_24dp_svg: "qrc:/icons/router_24dp.svg" + readonly property string send_24dp_svg: "qrc:/icons/send_24dp.svg" + readonly property string send_black_24dp_svg: "qrc:/icons/send_black_24dp.svg" + readonly property string settings_24dp_svg: "qrc:/icons/settings_24dp.svg" + readonly property string settings_backup_restore_24dp_svg: "qrc:/icons/settings_backup_restore_24dp.svg" + readonly property string settings_backup_restore_black_18dp_svg: "qrc:/icons/settings_backup_restore_black_18dp.svg" + readonly property string share_24dp_svg: "qrc:/icons/share_24dp.svg" + readonly property string share_screen_black_24dp_svg: "qrc:/icons/share_screen_black_24dp.svg" + readonly property string share_stop_black_24dp_svg: "qrc:/icons/share_stop_black_24dp.svg" + readonly property string spk_black_24dp_svg: "qrc:/icons/spk_black_24dp.svg" + readonly property string spk_none_black_24dp_svg: "qrc:/icons/spk_none_black_24dp.svg" + readonly property string star_outline_24dp_svg: "qrc:/icons/star_outline_24dp.svg" + readonly property string stop_24dp_svg: "qrc:/icons/stop_24dp.svg" + readonly property string stop_24dp_red_svg: "qrc:/icons/stop_24dp_red.svg" + readonly property string videocam_24dp_svg: "qrc:/icons/videocam_24dp.svg" + readonly property string videocam_off_24dp_svg: "qrc:/icons/videocam_off_24dp.svg" + readonly property string default_avatar_overlay_svg: "qrc:/images/default_avatar_overlay.svg" + readonly property string jami_32px_xpm: "qrc:/images/jami-32px.xpm" + readonly property string jami_48px_png: "qrc:/images/jami-48px.png" + readonly property string jami_new_svg: "qrc:/images/jami-new.svg" + readonly property string jami_ico: "qrc:/images/jami.ico" + readonly property string jami_svg: "qrc:/images/jami.svg" + readonly property string jami_eclipse_spinner_gif: "qrc:/images/jami_eclipse_spinner.gif" + readonly property string jami_rolling_spinner_gif: "qrc:/images/jami_rolling_spinner.gif" + readonly property string logo_jami_standard_coul_white_svg: "qrc:/images/logo-jami-standard-coul-white.svg" + readonly property string logo_jami_standard_coul_svg: "qrc:/images/logo-jami-standard-coul.svg" + readonly property string quote_svg: "qrc:/images/quote.svg" +} \ No newline at end of file diff --git a/src/mainapplication.cpp b/src/mainapplication.cpp index e92a981ad..7b27b8cbd 100644 --- a/src/mainapplication.cpp +++ b/src/mainapplication.cpp @@ -165,7 +165,7 @@ MainApplication::~MainApplication() bool MainApplication::init() { - setWindowIcon(QIcon(":images/jami.ico")); + setWindowIcon(QIcon(":/images/jami.ico")); // Lrc web resources QResource::registerResource(QCoreApplication::applicationDirPath() + QDir::separator() @@ -414,7 +414,7 @@ MainApplication::setApplicationFont() QFont font; font.setFamily("Segoe UI"); setFont(font); - QFontDatabase::addApplicationFont(":/images/FontAwesome.otf"); + QFontDatabase::addApplicationFont(":/fonts/FontAwesome.otf"); } void @@ -434,7 +434,7 @@ MainApplication::initQmlLayer() void MainApplication::initSystray() { - systemTray_->setIcon(QIcon(":images/jami.svg")); + systemTray_->setIcon(QIcon(":/images/jami.svg")); QMenu* systrayMenu = new QMenu(); diff --git a/src/mainview/components/AboutPopUp.qml b/src/mainview/components/AboutPopUp.qml index 95353319e..0c251ed91 100644 --- a/src/mainview/components/AboutPopUp.qml +++ b/src/mainview/components/AboutPopUp.qml @@ -66,9 +66,9 @@ ModalPopup { Layout.preferredWidth: 250 Layout.preferredHeight: 88 - source: JamiTheme.darkTheme? - "qrc:/images/logo-jami-standard-coul-white.svg" : - "qrc:/images/logo-jami-standard-coul.svg" + source: JamiTheme.darkTheme ? + JamiResources.logo_jami_standard_coul_white_svg : + JamiResources.logo_jami_standard_coul_svg } MaterialLineEdit { diff --git a/src/mainview/components/AccountComboBox.qml b/src/mainview/components/AccountComboBox.qml index 5d22252b3..9a20ca23d 100644 --- a/src/mainview/components/AccountComboBox.qml +++ b/src/mainview/components/AccountComboBox.qml @@ -190,8 +190,8 @@ Label { color: JamiTheme.textColor source: !root.popup.opened ? - "qrc:/images/icons/expand_more-24px.svg" : - "qrc:/images/icons/expand_less-24px.svg" + JamiResources.expand_more_24dp_svg : + JamiResources.expand_less_24dp_svg } @@ -205,7 +205,7 @@ Label { visible: LRCInstance.currentAccountType === Profile.Type.JAMI toolTipText: JamiStrings.displayQRCode - source: "qrc:/images/icons/share-24px.svg" + source: JamiResources.share_24dp_svg normalColor: JamiTheme.backgroundColor imageColor: JamiTheme.textColor @@ -221,8 +221,8 @@ Label { anchors.verticalCenter: parent.verticalCenter source: !mainView.inSettingsView ? - "qrc:/images/icons/settings-24px.svg" : - "qrc:/images/icons/round-close-24px.svg" + JamiResources.settings_24dp_svg : + JamiResources.round_close_24dp_svg normalColor: JamiTheme.backgroundColor imageColor: JamiTheme.textColor diff --git a/src/mainview/components/CallActionBar.qml b/src/mainview/components/CallActionBar.qml index 313441998..10e7ed75a 100644 --- a/src/mainview/components/CallActionBar.qml +++ b/src/mainview/components/CallActionBar.qml @@ -121,11 +121,11 @@ Control { Component.onCompleted: { shareModel.append({"Name": JamiStrings.shareScreen, - "IconSource": "qrc:/images/icons/share_screen_black_24dp.svg"}) + "IconSource": JamiResources.share_screen_black_24dp_svg}) shareModel.append({"Name": JamiStrings.shareScreenArea, - "IconSource" :"qrc:/images/icons/share_screen_black_24dp.svg"}) + "IconSource" : JamiResources.share_screen_black_24dp_svg}) shareModel.append({"Name": JamiStrings.shareFile, - "IconSource" :"qrc:/images/icons/insert_photo-24px.svg"}) + "IconSource" : JamiResources.insert_photo_24dp_svg}) } } function accept(index) { @@ -182,8 +182,8 @@ Control { onTriggered: CallAdapter.muteThisCallToggle() checkable: true icon.source: checked ? - "qrc:/images/icons/mic_off-24px.svg" : - "qrc:/images/icons/mic-24px.svg" + JamiResources.mic_off_24dp_svg : + JamiResources.mic_24dp_svg icon.color: checked ? "red" : "white" text: !checked ? JamiStrings.mute : JamiStrings.unmute property var menuAction: audioInputMenuAction @@ -191,7 +191,7 @@ Control { Action { id: hangupAction onTriggered: CallAdapter.hangUpThisCall() - icon.source: "qrc:/images/icons/ic_call_end_white_24px.svg" + icon.source: JamiResources.ic_call_end_white_24dp_svg icon.color: "white" text: JamiStrings.hangup property bool hasBg: true @@ -201,8 +201,8 @@ Control { onTriggered: CallAdapter.videoPauseThisCallToggle() checkable: true icon.source: checked ? - "qrc:/images/icons/videocam_off-24px.svg" : - "qrc:/images/icons/videocam-24px.svg" + JamiResources.videocam_off_24dp_svg : + JamiResources.videocam_24dp_svg icon.color: checked ? "red" : "white" text: !checked ? JamiStrings.pauseVideo : JamiStrings.resumeVideo property var menuAction: videoInputMenuAction @@ -215,7 +215,7 @@ Control { // temp hack for missing back-end, just open device selection property bool openPopupWhenClicked: true checkable: !openPopupWhenClicked - icon.source: "qrc:/images/icons/spk_black_24dp.svg" + icon.source: JamiResources.spk_black_24dp_svg icon.color: "white" text: JamiStrings.selectAudioOutputDevice property var menuAction: audioOutputMenuAction @@ -223,36 +223,37 @@ Control { Action { id: addPersonAction onTriggered: root.addToConferenceClicked() - icon.source: "qrc:/images/icons/add_people_black_24dp.svg" + icon.source: JamiResources.add_people_black_24dp_svg icon.color: "white" text: JamiStrings.addParticipants }, Action { id: chatAction onTriggered: root.chatClicked() - icon.source: "qrc:/images/icons/chat_black_24dp.svg" + icon.source: JamiResources.chat_black_24dp_svg icon.color: "white" text: JamiStrings.chat }, Action { id: resumePauseCallAction onTriggered: root.resumePauseCallClicked() - icon.source: isPaused ? "qrc:/images/icons/play_circle_outline-24px.svg" : - "qrc:/images/icons/pause_circle_outline-24px.svg" + icon.source: isPaused ? + JamiResources.play_circle_outline_24dp_svg : + JamiResources.pause_circle_outline_24dp_svg icon.color: "white" text: isPaused ? JamiStrings.resumeCall : JamiStrings.pauseCall }, Action { id: inputPanelSIPAction onTriggered: root.showInputPanelClicked() - icon.source: "qrc:/images/icons/ic_keypad.svg" + icon.source: JamiResources.ic_keypad_svg icon.color: "white" text: JamiStrings.sipInputPanel }, Action { id: callTransferAction onTriggered: root.transferClicked() - icon.source: "qrc:/images/icons/phone_forwarded-24px.svg" + icon.source: JamiResources.phone_forwarded_24dp_svg icon.color: "white" text: JamiStrings.transferCall }, @@ -265,8 +266,8 @@ Control { root.shareScreenClicked() } icon.source: AvAdapter.currentRenderingDeviceType === Video.DeviceType.DISPLAY ? - "qrc:/images/icons/share_stop_black_24dp.svg" : - "qrc:/images/icons/share_screen_black_24dp.svg" + JamiResources.share_stop_black_24dp_svg : + JamiResources.share_screen_black_24dp_svg icon.color: AvAdapter.currentRenderingDeviceType === Video.DeviceType.DISPLAY ? "red" : "white" text: AvAdapter.currentRenderingDeviceType === Video.DeviceType.DISPLAY ? @@ -279,7 +280,7 @@ Control { id: recordAction onTriggered: CallAdapter.recordThisCallToggle() checkable: true - icon.source: "qrc:/images/icons/record_black_24dp.svg" + icon.source: JamiResources.record_black_24dp_svg icon.color: checked ? "red" : "white" text: !checked ? JamiStrings.startRec : JamiStrings.stopRec property bool blinksWhenChecked: true @@ -292,7 +293,7 @@ Control { Action { id: pluginsAction onTriggered: root.pluginsClicked() - icon.source: "qrc:/images/icons/plugins-24px.svg" + icon.source: JamiResources.plugins_24dp_svg icon.color: "white" text: JamiStrings.viewPlugin enabled: PluginAdapter.callMediaHandlersListCount @@ -415,7 +416,7 @@ Control { contentItem: ResponsiveImage { color: "white" - source: "qrc:/images/icons/more_vert-24dp.svg" + source: JamiResources.more_vert_24dp_svg anchors.fill: parent anchors.margins: 17 } diff --git a/src/mainview/components/CallButtonDelegate.qml b/src/mainview/components/CallButtonDelegate.qml index 088905512..680f500e0 100644 --- a/src/mainview/components/CallButtonDelegate.qml +++ b/src/mainview/components/CallButtonDelegate.qml @@ -186,8 +186,9 @@ ItemDelegate { } contentItem: ResponsiveImage { - source: isVertical ? "qrc:/images/icons/chevron_left_black_24dp.svg" : - "qrc:/images/icons/expand_less-24px.svg" + source: isVertical ? + JamiResources.chevron_left_black_24dp_svg : + JamiResources.expand_less_24dp_svg color: "white" } @@ -213,8 +214,8 @@ ItemDelegate { ResponsiveImage { source: menuAction.popupMode === CallActionBar.ActionPopupMode.ListElement ? IconSource : (menuItem.ListView.isCurrentItem ? - "qrc:/images/icons/check_box-24px.svg" : - "qrc:/images/icons/check_box_outline_blank-24px.svg") + JamiResources.check_box_24dp_svg : + JamiResources.check_box_outline_blank_24dp_svg) color: "white" } Text { diff --git a/src/mainview/components/CallOverlay.qml b/src/mainview/components/CallOverlay.qml index 796b8afec..f3be6b096 100644 --- a/src/mainview/components/CallOverlay.qml +++ b/src/mainview/components/CallOverlay.qml @@ -155,7 +155,7 @@ Item { visible: false - source: "qrc:/images/icons/ic_pause_white_100px.svg" + source: JamiResources.ic_pause_white_100px_svg } function openContactPicker(type) { diff --git a/src/mainview/components/CallViewContextMenu.qml b/src/mainview/components/CallViewContextMenu.qml index 7ea1e555f..83a182d61 100644 --- a/src/mainview/components/CallViewContextMenu.qml +++ b/src/mainview/components/CallViewContextMenu.qml @@ -49,8 +49,9 @@ ContextMenuAutoLoader { canTrigger: isSIP itemName: isPaused ? JamiStrings.resumeCall : JamiStrings.pauseCall - iconSource: isPaused ? "qrc:/images/icons/play_circle_outline-24px.svg" : - "qrc:/images/icons/pause_circle_outline-24px.svg" + iconSource: isPaused ? + JamiResources.play_circle_outline_24dp_svg : + JamiResources.pause_circle_outline_24dp_svg onClicked: { CallAdapter.holdThisCallToggle() } @@ -60,7 +61,7 @@ ContextMenuAutoLoader { canTrigger: isSIP itemName: JamiStrings.sipInputPanel - iconSource: "qrc:/images/icons/ic_keypad.svg" + iconSource: JamiResources.ic_keypad_svg onClicked: { sipInputPanel.open() } @@ -70,7 +71,7 @@ ContextMenuAutoLoader { canTrigger: isSIP itemName: JamiStrings.transferCall - iconSource: "qrc:/images/icons/phone_forwarded-24px.svg" + iconSource: JamiResources.phone_forwarded_24dp_svg addMenuSeparatorAfter: isSIP onClicked: { root.transferCallButtonClicked() @@ -80,7 +81,7 @@ ContextMenuAutoLoader { id: localRecord itemName: localIsRecording ? JamiStrings.stopRec : JamiStrings.startRec - iconSource: "qrc:/images/icons/av_icons/fiber_manual_record-24px.svg" + iconSource: JamiResources.fiber_manual_record_24dp_svg iconColor: JamiTheme.recordIconColor onClicked: { CallAdapter.recordThisCallToggle() @@ -93,8 +94,8 @@ ContextMenuAutoLoader { itemName: JamiQmlUtils.callIsFullscreen ? JamiStrings.exitFullScreen : JamiStrings.fullScreen iconSource: JamiQmlUtils.callIsFullscreen ? - "qrc:/images/icons/close_fullscreen-24px.svg" : - "qrc:/images/icons/open_in_full-24px.svg" + JamiResources.close_fullscreen_24dp_svg : + JamiResources.open_in_full_24dp_svg onClicked: { callStackView.toggleFullScreen() } @@ -106,7 +107,7 @@ ContextMenuAutoLoader { && AvAdapter.currentRenderingDeviceType === Video.DeviceType.DISPLAY && !isSIP itemName: JamiStrings.stopSharing - iconSource: "qrc:/images/icons/share_stop_black_24dp.svg" + iconSource: JamiResources.share_stop_black_24dp_svg iconColor: JamiTheme.redColor onClicked: { AvAdapter.stopSharing() @@ -119,7 +120,7 @@ ContextMenuAutoLoader { && AvAdapter.currentRenderingDeviceType !== Video.DeviceType.DISPLAY && !isSIP itemName: JamiStrings.shareScreen - iconSource: "qrc:/images/icons/share_screen_black_24dp.svg" + iconSource: JamiResources.share_screen_black_24dp_svg onClicked: { if (Qt.application.screens.length === 1) { AvAdapter.shareEntireScreen(0) @@ -136,7 +137,7 @@ ContextMenuAutoLoader { && AvAdapter.currentRenderingDeviceType !== Video.DeviceType.DISPLAY && !isSIP itemName: JamiStrings.shareScreenArea - iconSource: "qrc:/images/icons/share_screen_black_24dp.svg" + iconSource: JamiResources.share_screen_black_24dp_svg onClicked: { if (Qt.platform.os !== "windows") { AvAdapter.shareScreenArea(0, 0, 0, 0) @@ -151,7 +152,7 @@ ContextMenuAutoLoader { canTrigger: !isAudioOnly && !isSIP itemName: JamiStrings.shareFile - iconSource: "qrc:/images/icons/insert_photo-24px.svg" + iconSource: JamiResources.insert_photo_24dp_svg onClicked: { jamiFileDialog.open() } @@ -161,7 +162,7 @@ ContextMenuAutoLoader { canTrigger: PluginAdapter.callMediaHandlersListCount itemName: JamiStrings.viewPlugin - iconSource: "qrc:/images/icons/extension_24dp.svg" + iconSource: JamiResources.extension_24dp_svg onClicked: { root.pluginItemClicked() } diff --git a/src/mainview/components/ContactPicker.qml b/src/mainview/components/ContactPicker.qml index d0ca5582f..eb3c2af92 100644 --- a/src/mainview/components/ContactPicker.qml +++ b/src/mainview/components/ContactPicker.qml @@ -52,7 +52,7 @@ Popup { anchors.rightMargin: 5 imageColor: JamiTheme.textColor - source: "qrc:/images/icons/round-close-24px.svg" + source: JamiResources.round_close_24dp_svg onClicked: { contactPickerPopup.close() diff --git a/src/mainview/components/ContactSearchBar.qml b/src/mainview/components/ContactSearchBar.qml index 37eb3f292..7eccf510a 100644 --- a/src/mainview/components/ContactSearchBar.qml +++ b/src/mainview/components/ContactSearchBar.qml @@ -62,7 +62,7 @@ Rectangle { width: 20 height: 20 - source: "qrc:/images/icons/ic_baseline-search-24px.svg" + source: JamiResources.ic_baseline_search_24dp_svg color: JamiTheme.primaryForegroundColor } @@ -117,7 +117,7 @@ Rectangle { normalColor: root.color imageColor: JamiTheme.primaryForegroundColor - source: "qrc:/images/icons/ic_clear_24px.svg" + source: JamiResources.ic_clear_24dp_svg toolTipText: JamiStrings.clearText onClicked: contactSearchBar.clear() diff --git a/src/mainview/components/ConversationSmartListContextMenu.qml b/src/mainview/components/ConversationSmartListContextMenu.qml index 1c78e0ba4..a23d486b8 100644 --- a/src/mainview/components/ConversationSmartListContextMenu.qml +++ b/src/mainview/components/ConversationSmartListContextMenu.qml @@ -47,7 +47,7 @@ ContextMenuAutoLoader { canTrigger: !hasCall itemName: JamiStrings.startVideoCall - iconSource: "qrc:/images/icons/videocam-24px.svg" + iconSource: JamiResources.videocam_24dp_svg onClicked: { LRCInstance.selectConversation(responsibleConvUid, responsibleAccountId) @@ -61,7 +61,7 @@ ContextMenuAutoLoader { canTrigger: !hasCall itemName: JamiStrings.startAudioCall - iconSource: "qrc:/images/icons/place_audiocall-24px.svg" + iconSource: JamiResources.place_audiocall_24dp_svg onClicked: { LRCInstance.selectConversation(responsibleConvUid, responsibleAccountId) @@ -75,7 +75,7 @@ ContextMenuAutoLoader { canTrigger: !isSwarm && !hasCall itemName: JamiStrings.clearConversation - iconSource: "qrc:/images/icons/ic_clear_24px.svg" + iconSource: JamiResources.ic_clear_24dp_svg onClicked: { MessagesAdapter.clearConversationHistory( responsibleAccountId, @@ -88,7 +88,7 @@ ContextMenuAutoLoader { canTrigger: !hasCall && (contactType === Profile.Type.JAMI || contactType === Profile.Type.SIP) itemName: JamiStrings.removeContact - iconSource: "qrc:/images/icons/ic_hangup_participant-24px.svg" + iconSource: JamiResources.ic_hangup_participant_24dp_svg onClicked: { MessagesAdapter.removeConversation(responsibleAccountId, responsibleConvUid) @@ -99,7 +99,7 @@ ContextMenuAutoLoader { canTrigger: hasCall itemName: JamiStrings.hangup - iconSource: "qrc:/images/icons/ic_call_end_white_24px.svg" + iconSource: JamiResources.ic_call_end_white_24dp_svg addMenuSeparatorAfter: contactType !== Profile.Type.SIP && (contactType === Profile.Type.PENDING || !hasCall) @@ -113,7 +113,7 @@ ContextMenuAutoLoader { canTrigger: contactType === Profile.Type.PENDING itemName: JamiStrings.acceptContactRequest - iconSource: "qrc:/images/icons/add_people-24px.svg" + iconSource: JamiResources.add_people_24dp_svg onClicked: { MessagesAdapter.acceptInvitation(responsibleConvUid) communicationPageMessageWebView.setSendContactRequestButtonVisible( @@ -125,7 +125,7 @@ ContextMenuAutoLoader { canTrigger: contactType === Profile.Type.PENDING itemName: JamiStrings.declineContactRequest - iconSource: "qrc:/images/icons/round-close-24px.svg" + iconSource: JamiResources.round_close_24dp_svg onClicked: { MessagesAdapter.refuseInvitation(responsibleConvUid) } @@ -135,7 +135,7 @@ ContextMenuAutoLoader { canTrigger: !hasCall && contactType !== Profile.Type.SIP itemName: JamiStrings.blockContact - iconSource: "qrc:/images/icons/block_black-24dp.svg" + iconSource: JamiResources.block_black_24dp_svg addMenuSeparatorAfter: contactType !== Profile.Type.SIP onClicked: { MessagesAdapter.blockConversation(responsibleConvUid) @@ -146,7 +146,7 @@ ContextMenuAutoLoader { canTrigger: contactType !== Profile.Type.SIP itemName: JamiStrings.contactDetails - iconSource: "qrc:/images/icons/person-24px.svg" + iconSource: JamiResources.person_24dp_svg onClicked: { userProfile.open() } diff --git a/src/mainview/components/FilesToSendDelegate.qml b/src/mainview/components/FilesToSendDelegate.qml index 52e913be3..9b73e6cee 100644 --- a/src/mainview/components/FilesToSendDelegate.qml +++ b/src/mainview/components/FilesToSendDelegate.qml @@ -55,7 +55,7 @@ Rectangle { visible: !IsImage - source: "qrc:/images/icons/file_black-24dp.svg" + source: JamiResources.file_black_24dp_svg } Text { @@ -132,7 +132,7 @@ Rectangle { toolTipText: JamiStrings.remove - source: "qrc:/images/icons/cross_black_24dp.svg" + source: JamiResources.cross_black_24dp_svg normalColor: JamiTheme.removeFileButtonColor hoveredColor: JamiTheme.lightGrey_ diff --git a/src/mainview/components/InitialCallPage.qml b/src/mainview/components/InitialCallPage.qml index 0e67602e4..b4afe2792 100644 --- a/src/mainview/components/InitialCallPage.qml +++ b/src/mainview/components/InitialCallPage.qml @@ -45,13 +45,17 @@ Rectangle { ListModel { id: incomingControlsModel - ListElement { type: "refuse"; image: "qrc:/images/icons/round-close-24px.svg"} - ListElement { type: "mic"; image: "qrc:/images/icons/place_audiocall-24px.svg"} - ListElement { type: "cam"; image: "qrc:/images/icons/videocam-24px.svg"} + Component.onCompleted: { + append({"type": "refuse", "image": JamiResources.round_close_24dp_svg}) + append({"type": "mic", "image" : JamiResources.place_audiocall_24dp_svg}) + append({"type": "cam", "image" : JamiResources.videocam_24dp_svg}) + } } ListModel { id: outgoingControlsModel - ListElement { type: "cancel"; image: "qrc:/images/icons/ic_call_end_white_24px.svg"} + Component.onCompleted: { + append({"type": "cancel", "image": JamiResources.ic_call_end_white_24dp_svg}) + } } onAccountConvPairChanged: { diff --git a/src/mainview/components/InvitationView.qml b/src/mainview/components/InvitationView.qml index e928cc629..9926bd193 100644 --- a/src/mainview/components/InvitationView.qml +++ b/src/mainview/components/InvitationView.qml @@ -143,7 +143,7 @@ Rectangle { toolTipText: JamiStrings.blockContact - source: "qrc:/images/icons/block_black-24dp.svg" + source: JamiResources.block_black_24dp_svg imageColor: JamiTheme.primaryBackgroundColor normalColor: JamiTheme.blockOrangeTransparency @@ -165,7 +165,7 @@ Rectangle { toolTipText: JamiStrings.declineContactRequest - source: "qrc:/images/icons/cross_black_24dp.svg" + source: JamiResources.cross_black_24dp_svg imageColor: JamiTheme.primaryBackgroundColor normalColor: JamiTheme.refuseRedTransparent @@ -187,7 +187,7 @@ Rectangle { toolTipText: JamiStrings.acceptContactRequest - source: "qrc:/images/icons/check_black-24dp.svg" + source: JamiResources.check_black_24dp_svg imageColor: JamiTheme.primaryBackgroundColor normalColor: JamiTheme.acceptGreenTransparency diff --git a/src/mainview/components/MainOverlay.qml b/src/mainview/components/MainOverlay.qml index 31af56bb7..a8cee1bbe 100644 --- a/src/mainview/components/MainOverlay.qml +++ b/src/mainview/components/MainOverlay.qml @@ -158,7 +158,7 @@ Item { imageColor: JamiTheme.whiteColor imageContainerHeight: 20 imageContainerWidth: 20 - source: "qrc:/images/icons/mosaic_black_24dp.svg" + source: JamiResources.mosaic_black_24dp_svg normalColor: JamiTheme.mosaicButtonNormalColor onButtonTextWidthChanged: { diff --git a/src/mainview/components/MessageBar.qml b/src/mainview/components/MessageBar.qml index 8bf09a7e9..3d36346b2 100644 --- a/src/mainview/components/MessageBar.qml +++ b/src/mainview/components/MessageBar.qml @@ -78,7 +78,7 @@ ColumnLayout { toolTipText: JamiStrings.sendFile - source: "qrc:/images/icons/link_black-24dp.svg" + source: JamiResources.link_black_24dp_svg normalColor: JamiTheme.primaryBackgroundColor imageColor: JamiTheme.messageWebViewFooterButtonImageColor @@ -98,7 +98,7 @@ ColumnLayout { toolTipText: JamiStrings.leaveAudioMessage - source: "qrc:/images/icons/message_audio_black-24dp.svg" + source: JamiResources.message_audio_black_24dp_svg normalColor: JamiTheme.primaryBackgroundColor imageColor: JamiTheme.messageWebViewFooterButtonImageColor @@ -120,7 +120,7 @@ ColumnLayout { toolTipText: JamiStrings.leaveVideoMessage - source: "qrc:/images/icons/message_video_black-24dp.svg" + source: JamiResources.message_video_black_24dp_svg normalColor: JamiTheme.primaryBackgroundColor imageColor: JamiTheme.messageWebViewFooterButtonImageColor @@ -161,7 +161,7 @@ ColumnLayout { toolTipText: JamiStrings.addEmoji - source: "qrc:/images/icons/emoji_black-24dp.svg" + source: JamiResources.emoji_black_24dp_svg normalColor: JamiTheme.primaryBackgroundColor imageColor: JamiTheme.messageWebViewFooterButtonImageColor @@ -186,7 +186,7 @@ ColumnLayout { toolTipText: JamiStrings.send - source: "qrc:/images/icons/send_black-24dp.svg" + source: JamiResources.send_black_24dp_svg normalColor: JamiTheme.primaryBackgroundColor imageColor: JamiTheme.messageWebViewFooterButtonImageColor diff --git a/src/mainview/components/MessageWebViewHeader.qml b/src/mainview/components/MessageWebViewHeader.qml index 1ed6eba45..7d39aeda7 100644 --- a/src/mainview/components/MessageWebViewHeader.qml +++ b/src/mainview/components/MessageWebViewHeader.qml @@ -31,7 +31,7 @@ Rectangle { property string userAliasLabelText property string userUserNameLabelText - property string backToWelcomeViewButtonSource: "qrc:/images/icons/back-24px.svg" + property string backToWelcomeViewButtonSource: JamiResources.back_24dp_svg property alias sendContactRequestButtonVisible: sendContactRequestButton.visible signal backClicked @@ -39,8 +39,9 @@ Rectangle { signal pluginSelector function resetBackToWelcomeViewButtonSource(reset) { - backToWelcomeViewButtonSource = reset ? "qrc:/images/icons/back-24px.svg" - : "qrc:/images/icons/round-close-24px.svg" + backToWelcomeViewButtonSource = reset ? + JamiResources.back_24dp_svg : + JamiResources.round_close_24dp_svg } function toggleMessagingHeaderButtonsVisible(visible) { @@ -70,7 +71,7 @@ Rectangle { imageColor: JamiTheme.chatviewButtonColor onClicked: { - if (backToWelcomeViewButtonSource === "qrc:/images/icons/back-24px.svg") + if (backToWelcomeViewButtonSource === JamiResources.back_24dp_svg) messagingHeaderRect.backClicked() else messagingHeaderRect.needToHideConversationInCall() @@ -147,7 +148,7 @@ Rectangle { anchors.rightMargin: 8 anchors.verticalCenter: buttonGroup.verticalCenter - source: "qrc:/images/icons/place_audiocall-24px.svg" + source: JamiResources.place_audiocall_24dp_svg toolTipText: JamiStrings.placeAudioCall normalColor: JamiTheme.chatviewBgColor @@ -170,7 +171,7 @@ Rectangle { anchors.rightMargin: 8 anchors.verticalCenter: buttonGroup.verticalCenter - source: "qrc:/images/icons/videocam-24px.svg" + source: JamiResources.videocam_24dp_svg toolTipText: JamiStrings.placeVideoCall normalColor: JamiTheme.chatviewBgColor @@ -194,7 +195,7 @@ Rectangle { anchors.rightMargin: sendContactRequestButton.visible ? 8 : 16 anchors.verticalCenter: buttonGroup.verticalCenter - source: "qrc:/images/icons/plugins-24px.svg" + source: JamiResources.plugins_24dp_svg toolTipText: JamiStrings.showPlugins normalColor: JamiTheme.chatviewBgColor @@ -210,7 +211,7 @@ Rectangle { anchors.rightMargin: 8 anchors.verticalCenter: buttonGroup.verticalCenter - source: "qrc:/images/icons/add_people-24px.svg" + source: JamiResources.add_people_24dp_svg toolTipText: JamiStrings.addToConversations normalColor: JamiTheme.chatviewBgColor diff --git a/src/mainview/components/ParticipantCallInStatusDelegate.qml b/src/mainview/components/ParticipantCallInStatusDelegate.qml index 965a6ae7b..8cf564f46 100644 --- a/src/mainview/components/ParticipantCallInStatusDelegate.qml +++ b/src/mainview/components/ParticipantCallInStatusDelegate.qml @@ -130,7 +130,7 @@ SpinningAnimation { hoveredColor: JamiTheme.refuseRed normalColor: JamiTheme.refuseRedTransparent - source: "qrc:/images/icons/cross_black_24dp.svg" + source: JamiResources.cross_black_24dp_svg imageColor: JamiTheme.whiteColor toolTipText: JamiStrings.optionCancel diff --git a/src/mainview/components/ParticipantControlLayout.qml b/src/mainview/components/ParticipantControlLayout.qml index e41bd249d..195f9a09f 100644 --- a/src/mainview/components/ParticipantControlLayout.qml +++ b/src/mainview/components/ParticipantControlLayout.qml @@ -40,7 +40,7 @@ RowLayout { preferredSize: iconButtonPreferredSize Layout.preferredHeight: buttonPreferredSize Layout.preferredWidth: buttonPreferredSize - source: "qrc:/images/icons/moderator.svg" + source: JamiResources.moderator_svg onClicked: CallAdapter.setModerator(uri, showSetModerator) toolTipText: showSetModerator? JamiStrings.setModerator : JamiStrings.unsetModerator @@ -53,8 +53,9 @@ RowLayout { preferredSize: iconButtonPreferredSize Layout.preferredHeight: buttonPreferredSize Layout.preferredWidth: buttonPreferredSize - source: showModeratorMute? "qrc:/images/icons/mic-24px.svg" - : "qrc:/images/icons/mic_off-24px.svg" + source: showModeratorMute ? + JamiResources.mic_24dp_svg : + JamiResources.mic_off_24dp_svg onClicked: CallAdapter.muteParticipant(uri, showModeratorMute) toolTipText: showModeratorMute? JamiStrings.muteParticipant : JamiStrings.unmuteParticipant @@ -67,7 +68,7 @@ RowLayout { preferredSize: iconButtonPreferredSize Layout.preferredHeight: buttonPreferredSize Layout.preferredWidth: buttonPreferredSize - source: "qrc:/images/icons/open_in_full-24px.svg" + source: JamiResources.open_in_full_24dp_svg onClicked: CallAdapter.maximizeParticipant(uri) toolTipText: JamiStrings.maximizeParticipant } @@ -79,7 +80,7 @@ RowLayout { preferredSize: iconButtonPreferredSize Layout.preferredHeight: buttonPreferredSize Layout.preferredWidth: buttonPreferredSize - source: "qrc:/images/icons/close_fullscreen-24px.svg" + source: JamiResources.close_fullscreen_24dp_svg onClicked: CallAdapter.minimizeParticipant(uri) toolTipText: JamiStrings.minimizeParticipant } @@ -91,7 +92,7 @@ RowLayout { preferredSize: iconButtonPreferredSize Layout.preferredHeight: buttonPreferredSize Layout.preferredWidth: buttonPreferredSize - source: "qrc:/images/icons/ic_hangup_participant-24px.svg" + source: JamiResources.ic_hangup_participant_24dp_svg onClicked: CallAdapter.hangupParticipant(uri) toolTipText: JamiStrings.hangupParticipant } diff --git a/src/mainview/components/ParticipantOverlay.qml b/src/mainview/components/ParticipantOverlay.qml index 169b7958d..71fb9c9e6 100644 --- a/src/mainview/components/ParticipantOverlay.qml +++ b/src/mainview/components/ParticipantOverlay.qml @@ -126,7 +126,7 @@ Item { visible: participantIsHost - source: "qrc:/images/icons/star_outline-24px.svg" + source: JamiResources.star_outline_24dp_svg color: JamiTheme.whiteColor } @@ -141,7 +141,7 @@ Item { visible: participantIsModerator - source: "qrc:/images/icons/moderator.svg" + source: JamiResources.moderator_svg color: JamiTheme.whiteColor } @@ -156,7 +156,7 @@ Item { visible: participantIsMuted - source: "qrc:/images/icons/mic_off-24px.svg" + source: JamiResources.mic_off_24dp_svg color: JamiTheme.whiteColor } } diff --git a/src/mainview/components/PluginHandlerItemDelegate.qml b/src/mainview/components/PluginHandlerItemDelegate.qml index 19bdf469c..75991f5ff 100644 --- a/src/mainview/components/PluginHandlerItemDelegate.qml +++ b/src/mainview/components/PluginHandlerItemDelegate.qml @@ -121,7 +121,7 @@ ItemDelegate { Layout.alignment: Qt.AlingVCenter | Qt.AlignRight Layout.rightMargin: 8 - source: "qrc:/images/icons/round-settings-24px.svg" + source: JamiResources.round_settings_24dp_svg normalColor: JamiTheme.primaryBackgroundColor imageColor: JamiTheme.textColor toolTipText: qsTr(pluginId) diff --git a/src/mainview/components/PluginHandlerPicker.qml b/src/mainview/components/PluginHandlerPicker.qml index f7f2ef736..5b2bca669 100644 --- a/src/mainview/components/PluginHandlerPicker.qml +++ b/src/mainview/components/PluginHandlerPicker.qml @@ -115,7 +115,7 @@ Popup { Layout.rightMargin: 5 Layout.topMargin: 5 - source: "qrc:/images/icons/round-close-24px.svg" + source: JamiResources.round_close_24dp_svg imageColor: JamiTheme.textColor onClicked: { @@ -207,7 +207,7 @@ Popup { Layout.topMargin: 5 imageColor: JamiTheme.textColor - source: "qrc:/images/icons/ic_arrow_back_24px.svg" + source: JamiResources.ic_arrow_back_24dp_svg toolTipText: qsTr("Go back to plugins list") hoverEnabled: true onClicked: { @@ -235,7 +235,7 @@ Popup { Layout.rightMargin: 5 Layout.topMargin: 5 - source: "qrc:/images/icons/round-close-24px.svg" + source: JamiResources.round_close_24dp_svg imageColor: JamiTheme.textColor onClicked: { diff --git a/src/mainview/components/RecordBox.qml b/src/mainview/components/RecordBox.qml index 9542829f3..9b0dc5f50 100644 --- a/src/mainview/components/RecordBox.qml +++ b/src/mainview/components/RecordBox.qml @@ -308,7 +308,7 @@ Rectangle { normalColor: isVideo ? "transparent" : JamiTheme.backgroundColor - source: "qrc:/images/icons/av_icons/fiber_manual_record-24px.svg" + source: JamiResources.fiber_manual_record_24dp_svg imageColor: JamiTheme.recordIconColor onClicked: { @@ -328,7 +328,7 @@ Rectangle { normalColor: isVideo ? "transparent" : JamiTheme.backgroundColor - source: "qrc:/images/icons/av_icons/stop-24px-red.svg" + source: JamiResources.stop_24dp_red_svg imageColor: isVideo ? JamiTheme.whiteColor : JamiTheme.textColor onClicked: { @@ -349,7 +349,7 @@ Rectangle { normalColor: isVideo ? "transparent" : JamiTheme.backgroundColor - source: "qrc:/images/icons/av_icons/re-record-24px.svg" + source: JamiResources.re_record_24dp_svg imageColor: isVideo ? JamiTheme.whiteColor : JamiTheme.textColor onClicked: { @@ -370,7 +370,7 @@ Rectangle { normalColor: isVideo ? "transparent" : JamiTheme.backgroundColor - source: "qrc:/images/icons/av_icons/send-24px.svg" + source: JamiResources.send_24dp_svg imageColor: isVideo ? JamiTheme.whiteColor : JamiTheme.textColor onClicked: { diff --git a/src/mainview/components/VideoCallPageContextMenuDeviceItem.qml b/src/mainview/components/VideoCallPageContextMenuDeviceItem.qml index 985c0dbc2..702f1d716 100644 --- a/src/mainview/components/VideoCallPageContextMenuDeviceItem.qml +++ b/src/mainview/components/VideoCallPageContextMenuDeviceItem.qml @@ -45,8 +45,8 @@ GeneralMenuItem { indicator: null iconSource: videoCallPageContextMenuDeviceItem.checked ? - "qrc:/images/icons/check_box-24px.svg" : - "qrc:/images/icons/check_box_outline_blank-24px.svg" + JamiResources.check_box_24dp_svg : + JamiResources.check_box_outline_blank_24dp_svg onClicked: { var deviceName = videoCallPageContextMenuDeviceItem.itemName diff --git a/src/mainview/components/WelcomePage.qml b/src/mainview/components/WelcomePage.qml index 8263aeceb..5bdff512f 100644 --- a/src/mainview/components/WelcomePage.qml +++ b/src/mainview/components/WelcomePage.qml @@ -55,8 +55,8 @@ Rectangle { Layout.bottomMargin: 10 source: JamiTheme.darkTheme ? - "qrc:/images/logo-jami-standard-coul-white.svg" : - "qrc:/images/logo-jami-standard-coul.svg" + JamiResources.logo_jami_standard_coul_white_svg : + JamiResources.logo_jami_standard_coul_svg } Label { @@ -142,7 +142,7 @@ Rectangle { imagePadding: 4 imageColor: JamiTheme.textColor - source: "qrc:/images/icons/content_copy-24px.svg" + source: JamiResources.content_copy_24dp_svg onClicked: { UtilsAdapter.setClipboardText( diff --git a/src/qmlregister.cpp b/src/qmlregister.cpp index b24ca19b3..1bb6ebfa7 100644 --- a/src/qmlregister.cpp +++ b/src/qmlregister.cpp @@ -41,7 +41,6 @@ #include "filestosendlistmodel.h" #include "qrimageprovider.h" -#include "tintedbuttonimageprovider.h" #include "avatarimageprovider.h" #include "avatarregistry.h" #include "appsettingsmanager.h" @@ -175,6 +174,8 @@ registerTypes(QQmlEngine* engine, QML_REGISTERSINGLETONTYPE_URL(NS_CONSTANTS, "qrc:/src/constant/JamiTheme.qml", JamiTheme); QML_REGISTERSINGLETONTYPE_URL(NS_MODELS, "qrc:/src/constant/JamiQmlUtils.qml", JamiQmlUtils); QML_REGISTERSINGLETONTYPE_URL(NS_CONSTANTS, "qrc:/src/constant/JamiStrings.qml", JamiStrings); + QML_REGISTERSINGLETONTYPE_URL(NS_CONSTANTS, "qrc:/src/constant/JamiResources.qml", JamiResources); + QML_REGISTERSINGLETONTYPE_POBJECT(NS_CONSTANTS, screenInfo, "ScreenInfo") QML_REGISTERSINGLETONTYPE_POBJECT(NS_CONSTANTS, lrcInstance, "LRCInstance") @@ -208,8 +209,6 @@ registerTypes(QQmlEngine* engine, QML_REGISTERUNCREATABLE(NS_ENUMS, NetWorkManager); engine->addImageProvider(QLatin1String("qrImage"), new QrImageProvider(lrcInstance)); - engine->addImageProvider(QLatin1String("tintedPixmap"), - new TintedButtonImageProvider(lrcInstance)); engine->addImageProvider(QLatin1String("avatarImage"), new AvatarImageProvider(lrcInstance)); diff --git a/src/settingsview/components/AdvancedCallSettings.qml b/src/settingsview/components/AdvancedCallSettings.qml index 8ed53453f..db9c69c0b 100644 --- a/src/settingsview/components/AdvancedCallSettings.qml +++ b/src/settingsview/components/AdvancedCallSettings.qml @@ -146,7 +146,7 @@ ColumnLayout { Layout.minimumHeight: JamiTheme.preferredFieldHeight titleField: JamiStrings.selectCustomRingtone - source: "qrc:/images/icons/round-folder-24px.svg" + source: JamiResources.round_folder_24dp_svg itemWidth: root.itemWidth onClick: ringtonePath_Dialog.open() } @@ -201,7 +201,7 @@ ColumnLayout { contactName: ContactName contactID: ContactID - btnImgSource: "qrc:/images/icons/round-remove_circle-24px.svg" + btnImgSource: JamiResources.round_remove_circle_24dp_svg btnToolTip: JamiStrings.removeDefaultModerator onClicked: moderatorListWidget.currentIndex = index @@ -226,7 +226,7 @@ ColumnLayout { outlined: true toolTipText: JamiStrings.addDefaultModerator - source: "qrc:/images/icons/round-add-24px.svg" + source: JamiResources.round_add_24dp_svg text: JamiStrings.addDefaultModerator diff --git a/src/settingsview/components/AdvancedJamiSecuritySettings.qml b/src/settingsview/components/AdvancedJamiSecuritySettings.qml index 75ad2bd2e..27ebfeb04 100644 --- a/src/settingsview/components/AdvancedJamiSecuritySettings.qml +++ b/src/settingsview/components/AdvancedJamiSecuritySettings.qml @@ -139,7 +139,7 @@ ColumnLayout { Layout.minimumHeight: JamiTheme.preferredFieldHeight titleField: JamiStrings.caCertificate - source: "qrc:/images/icons/round-folder-24px.svg" + source: JamiResources.round_folder_24dp_svg itemWidth: root.itemWidth onClick: caCert_Dialog.open() } @@ -150,7 +150,7 @@ ColumnLayout { Layout.minimumHeight: JamiTheme.preferredFieldHeight titleField: JamiStrings.userCertificate - source: "qrc:/images/icons/round-folder-24px.svg" + source: JamiResources.round_folder_24dp_svg itemWidth: root.itemWidth onClick: userCert_Dialog.open() } @@ -161,7 +161,7 @@ ColumnLayout { Layout.minimumHeight: JamiTheme.preferredFieldHeight titleField: JamiStrings.privateKey - source: "qrc:/images/icons/round-folder-24px.svg" + source: JamiResources.round_folder_24dp_svg itemWidth: root.itemWidth onClick: privateKey_Dialog.open() } diff --git a/src/settingsview/components/AdvancedSIPSecuritySettings.qml b/src/settingsview/components/AdvancedSIPSecuritySettings.qml index bd56dc9ac..20f5202c1 100644 --- a/src/settingsview/components/AdvancedSIPSecuritySettings.qml +++ b/src/settingsview/components/AdvancedSIPSecuritySettings.qml @@ -206,7 +206,7 @@ ColumnLayout { Layout.minimumHeight: JamiTheme.preferredFieldHeight titleField: JamiStrings.caCertificate - source: "qrc:/images/icons/round-folder-24px.svg" + source: JamiResources.round_folder_24dp_svg itemWidth: root.itemWidth onClick: caCert_Dialog_SIP.open() } @@ -217,7 +217,7 @@ ColumnLayout { Layout.minimumHeight: JamiTheme.preferredFieldHeight titleField: JamiStrings.userCertificate - source: "qrc:/images/icons/round-folder-24px.svg" + source: JamiResources.round_folder_24dp_svg itemWidth: root.itemWidth onClick: userCert_Dialog_SIP.open() } @@ -228,7 +228,7 @@ ColumnLayout { Layout.minimumHeight: JamiTheme.preferredFieldHeight titleField: JamiStrings.privateKey - source: "qrc:/images/icons/round-folder-24px.svg" + source: JamiResources.round_folder_24dp_svg itemWidth: root.itemWidth onClick: privateKey_Dialog_SIP.open() } diff --git a/src/settingsview/components/AdvancedSettings.qml b/src/settingsview/components/AdvancedSettings.qml index f5b6eba5b..b9cb3c450 100644 --- a/src/settingsview/components/AdvancedSettings.qml +++ b/src/settingsview/components/AdvancedSettings.qml @@ -79,13 +79,9 @@ ColumnLayout { toolTipText: JamiStrings.tipAdvancedSettingsDisplay preferredSize: 32 - source: { - if (advancedSettingsView.visible) { - return "qrc:/images/icons/expand_less-24px.svg" - } else { - return "qrc:/images/icons/expand_more-24px.svg" - } - } + source: advancedSettingsView.visible ? + JamiResources.expand_less_24dp_svg : + JamiResources.expand_more_24dp_svg onClicked: { advancedSettingsView.visible = !advancedSettingsView.visible diff --git a/src/settingsview/components/BannedContacts.qml b/src/settingsview/components/BannedContacts.qml index 0571805dd..37ff07e98 100644 --- a/src/settingsview/components/BannedContacts.qml +++ b/src/settingsview/components/BannedContacts.qml @@ -99,8 +99,8 @@ ColumnLayout { imageColor: JamiTheme.textColor source: bannedListWidget.visible? - "qrc:/images/icons/expand_less-24px.svg" : - "qrc:/images/icons//expand_more-24px.svg" + JamiResources.expand_less_24dp_svg : + JamiResources.expand_more_24dp_svg onClicked: toggleBannedContacts() } @@ -127,7 +127,7 @@ ColumnLayout { contactName: ContactName contactID: ContactID - btnImgSource: "qrc:/images/icons/round-remove_circle-24px.svg" + btnImgSource: JamiResources.round_remove_circle_24dp_svg btnToolTip: JamiStrings.reinstateContact onClicked: bannedListWidget.currentIndex = index diff --git a/src/settingsview/components/CurrentAccountSettings.qml b/src/settingsview/components/CurrentAccountSettings.qml index b8e6dc6eb..f04d07737 100644 --- a/src/settingsview/components/CurrentAccountSettings.qml +++ b/src/settingsview/components/CurrentAccountSettings.qml @@ -233,7 +233,7 @@ Rectangle { JamiStrings.changeCurrentPassword : JamiStrings.setAPassword text: AccountAdapter.hasPassword() ? JamiStrings.changePassword : JamiStrings.setPassword - source: "qrc:/images/icons/round-edit-24px.svg" + source: JamiResources.round_edit_24dp_svg onClicked: { passwordClicked() @@ -256,7 +256,7 @@ Rectangle { toolTipText: JamiStrings.tipBackupAccount text: JamiStrings.backupAccountBtn - source: "qrc:/images/icons/round-save_alt-24px.svg" + source: JamiResources.round_save_alt_24dp_svg onClicked: { exportAccountSlot() @@ -276,7 +276,7 @@ Rectangle { text: JamiStrings.deleteAccount - source: "qrc:/images/icons/delete_forever-24px.svg" + source: JamiResources.delete_forever_24dp_svg onClicked: { delAccountSlot() diff --git a/src/settingsview/components/DeviceItemDelegate.qml b/src/settingsview/components/DeviceItemDelegate.qml index 319c89825..0e2e959f1 100644 --- a/src/settingsview/components/DeviceItemDelegate.qml +++ b/src/settingsview/components/DeviceItemDelegate.qml @@ -77,7 +77,7 @@ ItemDelegate { color: JamiTheme.textColor } } - source: "qrc:/images/icons/baseline-desktop_windows-24px.svg" + source: JamiResources.baseline_desktop_windows_24dp_svg } ColumnLayout { @@ -130,33 +130,24 @@ ItemDelegate { Layout.preferredHeight: JamiTheme.preferredFieldHeight imageColor: JamiTheme.textColor - normalColor: highlighted? JamiTheme.selectedColor : JamiTheme.editBackgroundColor - - source: { - if(isCurrent) { - var path = editable ? - "qrc:/images/icons/round-save_alt-24px.svg" : - "qrc:/images/icons/round-edit-24px.svg" - return path - } else { - return "qrc:/images/icons/round-remove_circle-24px.svg" - } - } - - toolTipText: { - if(isCurrent) { - if (editable) { - return JamiStrings.saveNewDeviceName - } else { - return JamiStrings.editDeviceName - } - } else { - return JamiStrings.unlinkDevice - } - } + normalColor: highlighted ? + JamiTheme.selectedColor : + JamiTheme.editBackgroundColor + + source: isCurrent ? + (editable ? + JamiResources.round_save_alt_24dp_svg : + JamiResources.round_edit_24dp_svg) : + JamiResources.round_remove_circle_24dp_svg + + toolTipText: isCurrent ? + (editable ? + JamiStrings.saveNewDeviceName : + JamiStrings.editDeviceName) : + JamiStrings.unlinkDevice onClicked: { - if(isCurrent) { + if (isCurrent) { toggleEditable() } else { btnRemoveDeviceClicked() diff --git a/src/settingsview/components/LinkDeviceDialog.qml b/src/settingsview/components/LinkDeviceDialog.qml index 288d50aac..db1059920 100644 --- a/src/settingsview/components/LinkDeviceDialog.qml +++ b/src/settingsview/components/LinkDeviceDialog.qml @@ -242,7 +242,7 @@ BaseDialog { AnimatedImage { id: spinnerMovie anchors.fill: parent - source: "qrc:/images/jami_eclipse_spinner.gif" + source: JamiResources.jami_eclipse_spinner_gif playing: exportingSpinner.visible paused: false fillMode: Image.PreserveAspectFit diff --git a/src/settingsview/components/LinkedDevices.qml b/src/settingsview/components/LinkedDevices.qml index e22f27615..ebc0468cb 100644 --- a/src/settingsview/components/LinkedDevices.qml +++ b/src/settingsview/components/LinkedDevices.qml @@ -167,7 +167,7 @@ ColumnLayout { outlined: true toolTipText: JamiStrings.tipLinkNewDevice - source: "qrc:/images/icons/round-add-24px.svg" + source: JamiResources.round_add_24dp_svg text: JamiStrings.linkAnotherDevice diff --git a/src/settingsview/components/MediaCodecDelegate.qml b/src/settingsview/components/MediaCodecDelegate.qml index 278386d1a..e202cefc1 100644 --- a/src/settingsview/components/MediaCodecDelegate.qml +++ b/src/settingsview/components/MediaCodecDelegate.qml @@ -70,8 +70,8 @@ ItemDelegate { width: checkBoxWidth height: checkBoxWidth source: checkBoxIsEnabled.checked ? - "qrc:/images/icons/check_box-24px.svg" : - "qrc:/images/icons/check_box_outline_blank-24px.svg" + JamiResources.check_box_24dp_svg : + JamiResources.check_box_outline_blank_24dp_svg } nextCheckState: function() { diff --git a/src/settingsview/components/MediaSettings.qml b/src/settingsview/components/MediaSettings.qml index 1463c0a32..aac8f38d2 100644 --- a/src/settingsview/components/MediaSettings.qml +++ b/src/settingsview/components/MediaSettings.qml @@ -97,13 +97,13 @@ ColumnLayout { } PushButton { - source: "qrc:/images/icons/arrow_drop_down-24px.svg" + source: JamiResources.arrow_drop_down_24dp_svg imageColor: JamiTheme.textColor onClicked: decreaseCodecPriority() } PushButton { - source: "qrc:/images/icons/arrow_drop_up-24px.svg" + source: JamiResources.arrow_drop_up_24dp_svg imageColor: JamiTheme.textColor onClicked: increaseCodecPriority() } diff --git a/src/settingsview/components/NameRegistrationDialog.qml b/src/settingsview/components/NameRegistrationDialog.qml index 4f7a6b5e0..208a522d6 100644 --- a/src/settingsview/components/NameRegistrationDialog.qml +++ b/src/settingsview/components/NameRegistrationDialog.qml @@ -222,7 +222,7 @@ BaseDialog { AnimatedImage { id: spinnerMovie anchors.fill: parent - source: "qrc:/images/jami_eclipse_spinner.gif" + source: JamiResources.jami_eclipse_spinner_gif playing: spinnerLabel.visible paused: false fillMode: Image.PreserveAspectFit diff --git a/src/settingsview/components/PluginItemDelegate.qml b/src/settingsview/components/PluginItemDelegate.qml index 977e694d4..5ae56e8f9 100644 --- a/src/settingsview/components/PluginItemDelegate.qml +++ b/src/settingsview/components/PluginItemDelegate.qml @@ -140,7 +140,7 @@ ItemDelegate { Layout.topMargin: 8 Layout.rightMargin: 8 - source: "qrc:/images/icons/round-settings-24px.svg" + source: JamiResources.round_settings_24dp_svg normalColor: JamiTheme.primaryBackgroundColor imageColor: JamiTheme.textColor toolTipText: JamiStrings.showHidePrefs diff --git a/src/settingsview/components/PluginListPreferencesView.qml b/src/settingsview/components/PluginListPreferencesView.qml index 3fffe8750..f7e2a8b58 100644 --- a/src/settingsview/components/PluginListPreferencesView.qml +++ b/src/settingsview/components/PluginListPreferencesView.qml @@ -380,7 +380,7 @@ Rectangle { pressedColor: JamiTheme.buttonTintedBlackPressed outlined: true - source: "qrc:/images/icons/settings_backup_restore-24px.svg" + source: JamiResources.settings_backup_restore_24dp_svg text: JamiStrings.reset @@ -398,7 +398,7 @@ Rectangle { pressedColor: JamiTheme.buttonTintedBlackPressed outlined: true - source: "qrc:/images/icons/delete-24px.svg" + source: JamiResources.delete_24dp_svg text: qsTr("Uninstall") diff --git a/src/settingsview/components/PluginListSettingsView.qml b/src/settingsview/components/PluginListSettingsView.qml index 07b31c633..f1bbc03e2 100644 --- a/src/settingsview/components/PluginListSettingsView.qml +++ b/src/settingsview/components/PluginListSettingsView.qml @@ -108,7 +108,7 @@ Rectangle { outlined: true toolTipText: JamiStrings.addNewPlugin - source: "qrc:/images/icons/round-add-24px.svg" + source: JamiResources.round_add_24dp_svg text: JamiStrings.installPlugin diff --git a/src/settingsview/components/RecordingSettings.qml b/src/settingsview/components/RecordingSettings.qml index d3d999c01..f233a0686 100644 --- a/src/settingsview/components/RecordingSettings.qml +++ b/src/settingsview/components/RecordingSettings.qml @@ -183,7 +183,7 @@ ColumnLayout { toolTipText: JamiStrings.tipRecordFolder text: recordPath - source: "qrc:/images/icons/round-folder-24px.svg" + source: JamiResources.round_folder_24dp_svg color: JamiTheme.buttonTintedGrey hoveredColor: JamiTheme.buttonTintedGreyHovered pressedColor: JamiTheme.buttonTintedGreyPressed diff --git a/src/settingsview/components/SettingsHeader.qml b/src/settingsview/components/SettingsHeader.qml index f7b6b60fd..b5336b59d 100644 --- a/src/settingsview/components/SettingsHeader.qml +++ b/src/settingsview/components/SettingsHeader.qml @@ -40,19 +40,15 @@ RowLayout { Layout.preferredHeight: JamiTheme.preferredFieldHeight radius: JamiTheme.preferredFieldHeight - source: "qrc:/images/icons/ic_arrow_back_24px.svg" - + source: JamiResources.ic_arrow_back_24dp_svg normalColor: JamiTheme.backgroundColor imageColor: JamiTheme.textColor - toolTipText: JamiStrings.back hoverEnabled: true visible: mainView.sidePanelOnly - onClicked: { - backArrowClicked() - } + onClicked: backArrowClicked() } Label { diff --git a/src/settingsview/components/SettingsMenu.qml b/src/settingsview/components/SettingsMenu.qml index af8384e8f..70d92008e 100644 --- a/src/settingsview/components/SettingsMenu.qml +++ b/src/settingsview/components/SettingsMenu.qml @@ -34,13 +34,13 @@ Rectangle { Component.onCompleted: { listModel.append({ 'type': SettingsView.Account, 'name': qsTr("Account"), - 'iconSource': "qrc:/images/icons/account_black-24dp.svg"}) + 'iconSource': JamiResources.account_24dp_svg}) listModel.append({ 'type': SettingsView.General, 'name': qsTr("General"), - 'iconSource': "qrc:/images/icons/gear_black-24dp.svg"}) + 'iconSource': JamiResources.gear_black_24dp_svg}) listModel.append({ 'type': SettingsView.Media, 'name': qsTr("Audio/Video"), - 'iconSource': "qrc:/images/icons/media_black-24dp.svg"}) + 'iconSource': JamiResources.media_black_24dp_svg}) listModel.append({ 'type': SettingsView.Plugin, 'name': qsTr("Plugin"), - 'iconSource': "qrc:/images/icons/plugin_settings_black-24dp.svg"}) + 'iconSource': JamiResources.plugin_settings_black_24dp_svg}) } anchors.fill: parent diff --git a/src/settingsview/components/SystemSettings.qml b/src/settingsview/components/SystemSettings.qml index 4737cdea2..cb2f0e775 100644 --- a/src/settingsview/components/SystemSettings.qml +++ b/src/settingsview/components/SystemSettings.qml @@ -152,7 +152,7 @@ ColumnLayout { toolTipText: JamiStrings.tipChooseDownloadFolder text: downloadPath - source: "qrc:/images/icons/round-folder-24px.svg" + source: JamiResources.round_folder_24dp_svg color: JamiTheme.buttonTintedGrey hoveredColor: JamiTheme.buttonTintedGreyHovered pressedColor: JamiTheme.buttonTintedGreyPressed diff --git a/src/systemtray.cpp b/src/systemtray.cpp index 644c7c699..1123781ec 100644 --- a/src/systemtray.cpp +++ b/src/systemtray.cpp @@ -141,9 +141,9 @@ void SystemTray::setCount(int count) { if (count == 0) { - setIcon(QIcon(":images/jami.svg")); + setIcon(QIcon(":/images/jami.svg")); } else { - setIcon(QIcon(":images/jami-new.svg")); + setIcon(QIcon(":/images/jami-new.svg")); } } diff --git a/src/tintedbuttonimageprovider.h b/src/tintedbuttonimageprovider.h deleted file mode 100644 index 073b7b081..000000000 --- a/src/tintedbuttonimageprovider.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright (C) 2020 by Savoir-faire Linux - * Author: Mingrui Zhang <mingrui.zhang@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <https://www.gnu.org/licenses/>. - */ - -#pragma once - -#include "quickimageproviderbase.h" -#include "lrcinstance.h" -#include "utils.h" - -#include <QPair> -#include <QString> - -class TintedButtonImageProvider : public QuickImageProviderBase -{ -public: - TintedButtonImageProvider(LRCInstance* instance = nullptr) - : QuickImageProviderBase(QQuickImageProvider::Pixmap, - QQmlImageProviderBase::ForceAsynchronousImageLoading, - instance) - {} - - QPixmap requestPixmap(const QString& id, QSize* size, const QSize& requestedSize) override - { - Q_UNUSED(size); - - QColor tintedColor; - - auto list = id.split('+', Qt::SkipEmptyParts); - - if (list.size() == 2) { - QPixmap pixmapToSend(":/images/icons/" + list[0]); - if (!requestedSize.isEmpty()) { - pixmapToSend = pixmapToSend.scaled(requestedSize, Qt::KeepAspectRatio); - } else { - pixmapToSend = pixmapToSend.scaled(QSize(30, 30), Qt::KeepAspectRatio); - } - tintedColor.setNamedColor(list[1]); - - return Utils::generateTintedPixmap(pixmapToSend, tintedColor); - } - - return QPixmap(); - } -}; diff --git a/src/utils.cpp b/src/utils.cpp index d042f3030..ef00633e9 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -493,7 +493,7 @@ QString Utils::getProjectCredits() { QString credits; - QFile projectCreditsFile(":/projectcredits.html"); + QFile projectCreditsFile(":/misc/projectcredits.html"); if (!projectCreditsFile.open(QIODevice::ReadOnly | QIODevice::Text)) { qDebug().noquote() << " Project Credits failed to load"; return {}; diff --git a/src/wizardview/components/CollapsiblePasswordWidget.qml b/src/wizardview/components/CollapsiblePasswordWidget.qml deleted file mode 100644 index c9bf8f645..000000000 --- a/src/wizardview/components/CollapsiblePasswordWidget.qml +++ /dev/null @@ -1,154 +0,0 @@ -/* - * Copyright (C) 2020 by Savoir-faire Linux - * Author: Yang Wang <yang.wang@savoirfairelinux.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <https://www.gnu.org/licenses/>. - */ - -import QtQuick 2.14 -import QtQuick.Layouts 1.14 -import QtQuick.Controls 2.14 - -import net.jami.Constants 1.0 - -import "../../commoncomponents" - -// An independent widget that keeps the password's textfields, including password field and confirm password field -GridLayout { - id: root - - property alias text_passwordEditAlias: passwordEdit.text - property alias text_confirmPasswordEditAlias: confirmPasswordEdit.text - property alias state_passwordStatusLabelAlias: passwordStatusLabel.passwordStatusState - - property bool visibleCollapsble: false - - function clearAllTextFields() { - passwordEdit.clear() - confirmPasswordEdit.clear() - } - - visible: visibleCollapsble - Layout.fillWidth: true - rowSpacing: 6 - columnSpacing: 6 - - rows: 2 - columns: 2 - - Layout.leftMargin: 32 - - MaterialLineEdit { - id: passwordEdit - - visible: visibleCollapsble - - Layout.row: 0 - Layout.column: 0 - - fieldLayoutWidth: 261 - - Layout.alignment: Qt.AlignHCenter - - selectByMouse: true - echoMode: TextInput.Password - placeholderText: qsTr("Password") - font.pointSize: 10 - font.kerning: true - } - - Item { - Layout.row: 0 - Layout.column: 1 - - Layout.maximumWidth: 32 - Layout.preferredWidth: 32 - Layout.minimumWidth: 32 - - Layout.maximumHeight: 30 - Layout.preferredHeight: 30 - Layout.minimumHeight: 30 - } - - MaterialLineEdit { - id: confirmPasswordEdit - - visible: visibleCollapsble - - Layout.row: 1 - Layout.column: 0 - - fieldLayoutWidth: 261 - - Layout.alignment: Qt.AlignHCenter - - selectByMouse: true - echoMode: TextInput.Password - placeholderText: qsTr("Confirm Password") - font.pointSize: 10 - font.kerning: true - } - - Label { - id: passwordStatusLabel - - visible: visibleCollapsble - - Layout.row: 1 - Layout.column: 1 - - Layout.maximumWidth: 32 - Layout.preferredWidth: 32 - Layout.minimumWidth: 32 - - Layout.maximumHeight: 30 - Layout.preferredHeight: 30 - Layout.minimumHeight: 30 - - Layout.alignment: Qt.AlignRight - - property string passwordStatusState: "Hide" - - background: { - switch (passwordStatusState) { - case "Hide": - return Qt.createQmlObject("import QtQuick 2.14; -import \"qrc:/src/constant/\"; -Rectangle { -anchors.fill: parent; -color: \"transparent\"; }", passwordStatusLabel) - case "Fail": - return Qt.createQmlObject("import QtQuick 2.14; -import \"qrc:/src/constant/\"; -Rectangle { -anchors.fill: parent; -Image{ -anchors.fill: parent; -source: \"image://tintedPixmap/\"+ (\"qrc:/images/icons/baseline-close-24px.svg\").replace(\"qrc:/images/icons/\",\"\") + \"+\" + JamiTheme.red_; -mipmap: true;} -}", passwordStatusLabel) - case "Success": - return Qt.createQmlObject("import QtQuick 2.14; -import \"qrc:/src/constant/\"; -Rectangle { -anchors.fill: parent; -Image { -anchors.fill: parent; -source: \"image://tintedPixmap/\"+ (\"qrc:/images/icons/baseline-done-24px.svg\").replace(\"qrc:/images/icons/\",\"\") + \"+\" + JamiTheme.presenceGreen_; -mipmap: true;} -}", passwordStatusLabel) - } - } - } -} diff --git a/src/wizardview/components/ConnectToAccountManagerPage.qml b/src/wizardview/components/ConnectToAccountManagerPage.qml index ae2610aed..378821f86 100644 --- a/src/wizardview/components/ConnectToAccountManagerPage.qml +++ b/src/wizardview/components/ConnectToAccountManagerPage.qml @@ -210,7 +210,7 @@ Rectangle { normalColor: root.color imageColor: JamiTheme.primaryForegroundColor - source: "qrc:/images/icons/ic_arrow_back_24px.svg" + source: JamiResources.ic_arrow_back_24dp_svg toolTipText: JamiStrings.backToWelcome onClicked: leavePage() diff --git a/src/wizardview/components/CreateAccountPage.qml b/src/wizardview/components/CreateAccountPage.qml index e3151663c..0329736b4 100644 --- a/src/wizardview/components/CreateAccountPage.qml +++ b/src/wizardview/components/CreateAccountPage.qml @@ -368,7 +368,7 @@ Rectangle { normalColor: root.color imageColor: JamiTheme.primaryForegroundColor - source: "qrc:/images/icons/ic_arrow_back_24px.svg" + source: JamiResources.ic_arrow_back_24dp_svg toolTipText: JamiStrings.back onClicked: { diff --git a/src/wizardview/components/CreateSIPAccountPage.qml b/src/wizardview/components/CreateSIPAccountPage.qml index a6b8d389c..bb3ed416a 100644 --- a/src/wizardview/components/CreateSIPAccountPage.qml +++ b/src/wizardview/components/CreateSIPAccountPage.qml @@ -175,7 +175,7 @@ Rectangle { normalColor: root.color imageColor: JamiTheme.primaryForegroundColor - source: "qrc:/images/icons/ic_arrow_back_24px.svg" + source: JamiResources.ic_arrow_back_24dp_svg toolTipText: JamiStrings.backToWelcome onClicked: leavePage() diff --git a/src/wizardview/components/ImportFromBackupPage.qml b/src/wizardview/components/ImportFromBackupPage.qml index f1078d521..a7e5f67e3 100644 --- a/src/wizardview/components/ImportFromBackupPage.qml +++ b/src/wizardview/components/ImportFromBackupPage.qml @@ -99,7 +99,7 @@ Rectangle { text: fileImportBtnText toolTipText: JamiStrings.importAccountArchive - source: "qrc:/images/icons/round-folder-24px.svg" + source: JamiResources.round_folder_24dp_svg color: JamiTheme.buttonTintedGrey hoveredColor: JamiTheme.buttonTintedGreyHovered pressedColor: JamiTheme.buttonTintedGreyPressed @@ -200,7 +200,7 @@ Rectangle { normalColor: root.color imageColor: JamiTheme.primaryForegroundColor - source: "qrc:/images/icons/ic_arrow_back_24px.svg" + source: JamiResources.ic_arrow_back_24dp_svg toolTipText: qsTr("Back to welcome page") onClicked: leavePage() diff --git a/src/wizardview/components/ImportFromDevicePage.qml b/src/wizardview/components/ImportFromDevicePage.qml index 3f15c6617..2c26e271d 100644 --- a/src/wizardview/components/ImportFromDevicePage.qml +++ b/src/wizardview/components/ImportFromDevicePage.qml @@ -176,7 +176,7 @@ Rectangle { normalColor: root.color imageColor: JamiTheme.primaryForegroundColor - source: "qrc:/images/icons/ic_arrow_back_24px.svg" + source: JamiResources.ic_arrow_back_24dp_svg toolTipText: qsTr("Back to welcome page") onClicked: leavePage() diff --git a/src/wizardview/components/WelcomePage.qml b/src/wizardview/components/WelcomePage.qml index 482d94d4b..7338c77d4 100644 --- a/src/wizardview/components/WelcomePage.qml +++ b/src/wizardview/components/WelcomePage.qml @@ -70,8 +70,8 @@ Rectangle { Layout.preferredHeight: 110 source: JamiTheme.darkTheme ? - "qrc:/images/logo-jami-standard-coul-white.svg" : - "qrc:/images/logo-jami-standard-coul.svg" + JamiResources.logo_jami_standard_coul_white_svg : + JamiResources.logo_jami_standard_coul_svg } MaterialButton { @@ -84,7 +84,7 @@ Rectangle { text: JamiStrings.createNewJA fontCapitalization: Font.AllUppercase toolTipText: qsTr("Create new Jami account") - source: "qrc:/images/default_avatar_overlay.svg" + source: JamiResources.default_avatar_overlay_svg color: JamiTheme.buttonTintedBlue hoveredColor: JamiTheme.buttonTintedBlueHovered pressedColor: JamiTheme.buttonTintedBluePressed @@ -104,7 +104,7 @@ Rectangle { text: JamiStrings.createRV fontCapitalization: Font.AllUppercase toolTipText: JamiStrings.createNewRV - source: "qrc:/images/icons/groups-24px.svg" + source: JamiResources.groups_24dp_svg color: JamiTheme.buttonTintedBlue hoveredColor: JamiTheme.buttonTintedBlueHovered pressedColor: JamiTheme.buttonTintedBluePressed @@ -124,7 +124,7 @@ Rectangle { text: JamiStrings.linkFromAnotherDevice fontCapitalization: Font.AllUppercase toolTipText: qsTr("Import account from other device") - source: "qrc:/images/icons/devices-24px.svg" + source: JamiResources.devices_24dp_svg color: JamiTheme.buttonTintedBlue hoveredColor: JamiTheme.buttonTintedBlueHovered pressedColor: JamiTheme.buttonTintedBluePressed @@ -144,7 +144,7 @@ Rectangle { text: JamiStrings.connectFromBackup fontCapitalization: Font.AllUppercase toolTipText: qsTr("Import account from backup file") - source: "qrc:/images/icons/backup-24px.svg" + source: JamiResources.backup_24dp_svg color: JamiTheme.buttonTintedBlue hoveredColor: JamiTheme.buttonTintedBlueHovered pressedColor: JamiTheme.buttonTintedBluePressed @@ -194,7 +194,7 @@ Rectangle { text: JamiStrings.connectJAMSServer fontCapitalization: Font.AllUppercase toolTipText: JamiStrings.createFromJAMS - source: "qrc:/images/icons/router-24px.svg" + source: JamiResources.router_24dp_svg color: JamiTheme.buttonTintedBlue hoveredColor: JamiTheme.buttonTintedBlueHovered pressedColor: JamiTheme.buttonTintedBluePressed @@ -217,7 +217,7 @@ Rectangle { text: JamiStrings.addSIPAccount fontCapitalization: Font.AllUppercase toolTipText: qsTr("Create new SIP account") - source: "qrc:/images/default_avatar_overlay.svg" + source: JamiResources.default_avatar_overlay_svg color: JamiTheme.buttonTintedBlue hoveredColor: JamiTheme.buttonTintedBlueHovered pressedColor: JamiTheme.buttonTintedBluePressed @@ -253,7 +253,7 @@ Rectangle { normalColor: root.color imageColor: JamiTheme.primaryForegroundColor - source: "qrc:/images/icons/ic_arrow_back_24px.svg" + source: JamiResources.ic_arrow_back_24dp_svg toolTipText: JamiStrings.back onClicked: leavePage() -- GitLab