From 4aad42fdc7fc7d9b3837a37d43d36597ef8b620c Mon Sep 17 00:00:00 2001 From: Julien Wadel Date: Tue, 7 Jun 2022 17:41:53 +0200 Subject: [PATCH] Rework phone keypad design. Add phone keypad on main window and use it in smart search bar. Add a backup text on smartsearch bar in order to avoid losing text when focus change (in the case of we want to get it). --- .../images/tel_keypad_voicemail_custom.svg | 63 + linphone-app/assets/languages (copy)/tr.ts | 3672 +++++++++++++++++ linphone-app/resources.qrc | 1 + .../components/chat-room/ChatRoomModel.cpp | 1 - .../other/colors/ColorListModel.hpp | 3 + .../ui/modules/Common/Form/ActionButton.qml | 19 +- .../SmartSearchBar/SmartSearchBar.qml | 2 + .../Styles/TelKeypad/TelKeypadStyle.qml | 36 +- .../modules/Linphone/TelKeypad/TelKeypad.qml | 194 +- .../Linphone/TelKeypad/TelKeypadButton.qml | 159 +- linphone-app/ui/views/App/Main/MainWindow.qml | 37 +- .../ui/views/App/Styles/Calls/CallStyle.qml | 2 + .../views/App/Styles/Main/MainWindowStyle.qml | 13 + 13 files changed, 4010 insertions(+), 192 deletions(-) create mode 100644 linphone-app/assets/images/tel_keypad_voicemail_custom.svg create mode 100644 linphone-app/assets/languages (copy)/tr.ts diff --git a/linphone-app/assets/images/tel_keypad_voicemail_custom.svg b/linphone-app/assets/images/tel_keypad_voicemail_custom.svg new file mode 100644 index 000000000..48930fd49 --- /dev/null +++ b/linphone-app/assets/images/tel_keypad_voicemail_custom.svg @@ -0,0 +1,63 @@ + + + + + + + + + + + + diff --git a/linphone-app/assets/languages (copy)/tr.ts b/linphone-app/assets/languages (copy)/tr.ts new file mode 100644 index 000000000..65eaeabd6 --- /dev/null +++ b/linphone-app/assets/languages (copy)/tr.ts @@ -0,0 +1,3672 @@ + + + + + About + + ok + TAMAM + + + + ActivateAppSipAccountWithEmail + + activateAppSipAccount + %1 HESABINIZI ETKİNLEŞTİRİN + + + confirmAction + ETKİNLEŞTİR + + + activationSteps + Hesabınızı etkinleştirmek için: %1 adresine gönderdiğimiz yönergeleri takip edin ardından aşağıdakine tıklayın. + + + + ActivateAppSipAccountWithPhoneNumber + + activateAppSipAccount + %1 HESABINIZI ETKİNLEŞTİRİN + + + confirmAction + ETKİNLEŞTİR + + + activationSteps + %1 numarasına doğrulama kodu içeren SMS gönderdik. Telefon numarası doğrulamanızı tamamlamak için lütfen 4 haneli kodu aşağıya girin. + + + + App + + commandLineOptionVerbose + çalışırken bazı hata ayıklama bilgilerini stdout'a günlükle + + + commandLineOptionConfig + kullanılacak %1 yapılandırma dosyasını belirt + + + applicationDescription + Özgür SIP görüntülü telefonu. + + + commandLineOptionIconified + sistem tepsisinde başla, ana arayüzü gösterme + + + commandLineOptionConfigArg + dosya + + + commandLineOptionHelp + bu yardımı göster + + + commandLineOptionVersion + uygulama sürümünü göster + + + commandLineOptionCliHelp + %1'u komut satırı arayüzüyle kullanmak için yardım menüsünü gösterir + + + commandLineDescription + komut satırıyla uygulamaya emir gönder + + + restore + Kurtar + + + quit + Çıkış + + + settings + Tercihler + + + about + Hakkında + + + commandLineOptionFetchConfig + + + + commandLineOptionFetchConfigArg + + + + commandLineOptionCall + + + + commandLineOptionCallArg + + + + + AssistantAbstractView + + back + GERİ + + + + AssistantHome + + useAppSipAccount + %1 HESABI KULLAN + + + useOtherSipAccount + SIP HESABI KULLAN + + + fetchRemoteConfiguration + UZAKTAN YAPILANDIRMA AL + + + homeTitle + HOŞ GELDİNİZ + + + homeDescription + Bu yardımcı, %1 hesabınızı yapıldırmanız ve kullanmanız için size yardım edecek. + + + createAppSipAccount + %1 HESABI OLUŞTUR + + + + AssistantModel + + loginWithUsernameFailed + Giriş başarısız. Lütfen kullanıcı adı/parolanızı denetleyin. + + + usernameStatusTooShort + Çok kısa! (en az %1 karakter) + + + usernameStatusTooLong + Çok uzun! (en çok %1 karakter) + + + usernameStatusInvalidCharacters + Geçersiz karakter saptandı. (regex: `%1`) + + + usernameStatusInvalid + Geçersiz kullanıcı adı. + + + passwordStatusTooShort + Çok kısa! (en az %1 karakter) + + + passwordStatusTooLong + Çok uzun! (en çok %1 karakter) + + + passwordStatusInvalidCharacters + Geçersiz karakter saptandı. (regex: `%1`) + + + passwordStatusMissingCharacters + Eksik karakterler: `%1`. + + + requestFailed + İstek gönderilemiyor. + + + emailStatusMalformed + Doğru olmayan e-posta adresi. + + + emailStatusMalformedInvalidCharacters + Doğru olmayan e-posta adresi veya geçersiz karakterler. + + + cannotSendSms + Sunucu hatası: sms gönderilemedi. + + + accountAlreadyExists + Bu hesap zaten var. + + + smsActivationFailed + SMS etkinleştirme başarısız! + + + emailActivationFailed + Lütfen hesabınızı doğruladığınızı onaylayın veya yeniden deneyin. + + + phoneNumberStatusInvalid + Geçersiz telefon numarası! + + + phoneNumberStatusTooShort + Çok kısa! + + + phoneNumberStatusTooLong + Çok uzun! + + + phoneNumberStatusInvalidCountryCode + Geçersiz ülke kodu! + + + loginWithPhoneNumberFailed + Giriş başarısız. Lütfen telefon numaranızı denetleyin. + + + unableToAddAccount + Bu hesap eklenemiyor. + + + + AuthenticationRequest + + cancel + İPTAL + + + confirm + GİR + + + identityLabel + Kimlik + + + passwordLabel + Parola + + + authenticationRequestDescription + Yetkilendirilemiyor. Lütfen parolanızı onaylayın. + + + userIdLabel + Kullanıcı kimliği (isteğe bağlı) + + + realmLabel + Yetki alanı + + + + CallModel + + callStatsCodec + Çözücü + + + callStatsUploadBandwidth + Yükleme bant genişliği + + + callStatsDownloadBandwidth + İndirme bant genişliği + + + callStatsEstimatedDownloadBandwidth + Hesaplanan indirme bant genişliği + + + callStatsIceState + ICE durumu + + + callStatsIpFamily + IP ailesi + + + callStatsSenderLossRate + Gönderici kayıp oranı + + + callStatsReceiverLossRate + Alıcı kayıp oranı + + + callStatsJitterBuffer + Gecikme arabelleği + + + callStatsSentVideoDefinition + Giden görüntü tanımı + + + callStatsReceivedVideoDefinition + Alınan görüntü tanımı + + + iceStateNotActivated + Etkin değil + + + iceStateFailed + Başarısız + + + iceStateInProgress + Sürüyor + + + iceStateReflexiveConnection + Dönüşlü bağlantı + + + iceStateHostConnection + Ana makine bağlantısı + + + iceStateRelayConnection + Röle bağlantısı + + + iceStateInvalid + Geçersiz + + + callErrorDeclined + Uzak şahıs çağrıyı reddetti. + + + callErrorNotFound + Uzak şahıs bulunamadı. + + + callErrorBusy + Uzak şahıs meşgul. + + + callErrorNotAcceptable + Uzak şahıs çağrıyı kabul edemez. + + + callStatsReceivedFramerate + Alınan çerçeve oranı + + + callStatsSentFramerate + Giden çerçeve oranı + + + + CallSipAddress + + cancel + İPTAL + + + callSipAddressDescription + Yeni çağrı başlat. + + + + CallStatistics + + audioStatsLabel + Ses + + + videoStatsLabel + Görüntü + + + + CallTransfer + + cancel + İPTAL + + + callTransferDescription + Bu çağrıyı aktarmak ister misiniz? + + + + Calls + + acceptAudioCall + SESLİ ÇAĞRIYI KABUL ET + + + acceptVideoCall + GÖRÜNTÜLÜ ÇAĞRIYI KABUL ET + + + terminateCall + TELEFONU KAPAT + + + resumeCall + ÇAĞRIYI DEVAM ETTİR + + + transferCall + ÇAĞRIYI AKTAR + + + callPause + ÇAĞRIYI DURAKLAT + + + attendedTransferComplete + 'COMPLETE ATTENDED TRANSFER' : Title button, design is in uppercase. + + + + attendedTransferCall + 'ATTENDED TRANSFER CALL' : Title button, design is in uppercase. + + + + + CallsWindow + + callsTitle + Çağrılar + + + acceptClosingDescription + Tüm çağrılara son vermek istediğinize emin misiniz? + + + + Chat + + newMessagePlaceholder + İletinizi girin + + + noFileTransferUrl + Dosya gönderilemiyor. +Sunucu url'si yapılandırılmadı. + + + chatTyping + '%1 is typing...' indicate that someone is composing in chat + + + + + + allTextCopied + "Copied to clipboard" : when a user copy a text from the menu, this message show up. + + + + selectedTextCopied + "Selection copied to clipboard" : when a user copy a text from the menu, this message show up. + + + + + ChatDeliveries + + deliveryDelivered + 'Send to %1 - %2' Little message to indicate the state of a message + + %1 is someone, %2 is a date/time. The state is that the message has been sent but not received. + + + deliveryDeliveredToUser + 'Retrieved by %1 - %2' Little message to indicate the state of a message + + %1 is someone, %2 is a date/time. The state is that the message has been retrieved + + + deliveryDisplayed + 'Read by %1 - %2' Little message to indicate the state of a message + + %1 is someone, %2 is a date/time. The state that the message has been read. + + + deliveryNotDelivered + "%1 have nothing received" Little message to indicate the state of a message + + %1 is someone. The state is that the message hasn't been delivered. + + + + ChatMenu + + menuCopyAll + 'Copy all' : Text menu to copy all message text into clipboard + + + + menuCopy + 'Copy' : Text menu to copy selected text in message into clipboard + Kopyala + + + menuPlayMe + Beni oynat! + + + menuDeliveryStatus + 'Delivery status' : Item menu that lead to IMDN of a message + + + + menuDelete + 'Delete' : Item menu to delete a message + + + + menuHideDeliveryStatus + 'Hide delivery status' : Item menu that lead to IMDN of a message + + + + + ChatNoticeModel + + nMinute + + + + + + nHour + + + + + + nDay + + + + + + nWeek + + + + + + + Cli + + appCliDescription + %1 uygulamasını komut satırlarıyla denetleme yolu. + + + uriCommandLineSyntax + + + + cliCommandLineSyntax + + + + commandsName + komut listesi: + + + showFunctionDescription + Uygulamanın ana penceresini göster. + + + callFunctionDescription + Sip adresine çağrı başlat. + + + initiateConferenceFunctionDescription + Toplantı başlat. + + + joinConferenceFunctionDescription + Sip adresinin ev sahipliğindeki toplantıya görünen ad ile katıl. Eğer vekil yapılandırmaya bağlandıysanız "toplantıya şunun ile katıl"a bakın. + + + joinConferenceAsFunctionDescription + Sip adresinin ev sahipliğindeki toplantıya misafir sip adresi ile katıl. Eğer vekil yapılandırmaya bağlandıysanız "toplantıya-katıl"a bakın. + + + byeFunctionDescription + + + + + CodecsViewer + + codecMime + Ad + + + codecEncoderDescription + Açıklama + + + codecEncoderClockRate + Oran (Hz) + + + codecBitrate + Bit oranı (Kbit/s) + + + codecRecvFmtp + Parametreler + + + codecStatus + Durum + + + + Conference + + conferenceTitle + TOPLANTI + + + + ConferenceControls + + conference + TOPLANTI + + + + ConferenceManager + + conferenceManagerDescription + Toplantı katılımcılarınızı yönetin. + + + cancel + İPTAL + + + confirm + BAŞLAT + + + + ConfirmDialog + + cancel + İPTAL + + + confirm + ONAYLA + + + + ContactEdit + + removeContactDescription + Bu kişiyi adres defterinizden silmek istediğinize emin misiniz? + + + sipAccounts + SIP HESAPLARI + + + address + ADRES + + + emails + E-POSTA(LAR) + + + webSites + WEB SİTE(LERİ) + + + avatarChooserTitle + Avatarınızı seçin + + + companies + ŞİRKETLER + + + save + KAYDET + + + cancel + İPTAL + + + sipAccountsPlaceholder + SIP hesabı + + + companiesPlaceholder + Şirket + + + emailsPlaceholder + E-posta + + + webSitesPlaceholder + Web site + + + abortEditDescriptionText + Kişi düzenlemesini iptal etmek istediğinize emin misiniz? + + + tooltipShowConversation + Sohbeti göster + + + missingConferenceURI + 'You need to set the conference URI in your account settings to create a conference based chat room.' : Tooltip to warn the user that a setting is missing in its configuration. + + + + + Contacts + + searchContactPlaceholder + Kişi ara + + + selectAllContacts + Tümü + + + selectConnectedContacts + Bağlı + + + addContact + KİŞİ EKLE + + + removeContactDescription + Bu kişiyi adres defterinizden silmek istediğinize emin misiniz? + + + missingConferenceURI + 'You need to set the conference URI in your account settings to create a conference based chat room.' : Tooltip to warn the user that a setting is missing in its configuration. + + + + + Conversation + + displayCallsAndMessages + TÜMÜ + + + displayCalls + ÇAĞRILAR + + + displayMessages + İLETİLER + + + removeAllEntriesDescription + Bu geçmişi temizlemek istediğinize emin misiniz? + + + tooltipContactEdit + Kişi düzenle + + + tooltipContactAdd + Kişi ekle + + + cleanHistory + Geçmişi sil + + + adminStatus + 'Admin' : Admin(istrator) + + One word title for describing the current admin status + + + conversationMenuGroupInformations + 'Group information' : Item menu to get information about the chat room + + + + conversationMenuDevices + "Conversation's devices" : Item menu to get all participant devices of the chat room + + + + conversationMenuEphemeral + 'Ephemeral messages' : Item menu to enable ephemeral mode + + + + groupChatCallButton + "Call all chat room's participants" : tooltip on a button for calling all participant in the current chat room + + + + searchMessagesPlaceholder + 'Search in messages' : this is a placeholder when searching something in the timeline list + + + + + CreateAppSipAccount + + createAppSipAccountDescription + Hesabınızı nasıl oluşturmak istersiniz? + + + createAppSipAccountTitle + %1 HESABI OLUŞTUR + + + withPhoneNumber + TELEFON NUMARASIYLA + + + withEmailAddress + E-POSTA ADRESİYLE + + + + CreateAppSipAccountWithEmail + + createAppSipAccountTitle + %1 HESABI OLUŞTUR + + + confirmAction + OLUŞTUR + + + usernameLabel + Kullanıcı adı + + + emailLabel + E-posta + + + passwordLabel + Parola + + + passwordConfirmationLabel + Parola onayı + + + passwordConfirmationError + Girdiğiniz parolalar eşleşmiyor. + + + quitWarning + Hesabınız oluşturuldu ancak henüz doğrulanmadı. Bu görünümden çıkmak istediğinize emin misiniz? + + + displayNameLabel + Görünen ad (isteğe bağlı) + + + + CreateAppSipAccountWithPhoneNumber + + createAppSipAccountTitle + %1 HESABI OLUŞTUR + + + countryLabel + Ülke + + + phoneNumberLabel + Telefon numarası + + + usernameLabel + Kullanıcı adı + + + displayNameLabel + Görünen ad (isteğe bağlı) + + + confirmAction + OLUŞTUR + + + quitWarning + Hesabınız oluşturuldu ancak henüz doğrulanmadı. Eğer bu görünümden çıkarsanız, hesabınızı 24 saat içinde doğrulamanız ve kendi kendinize yeniden eklemek zorunda kalırsınız. + + + + DroppableTextArea + + fileChooserTitle + Lütfen bir veya daha çok dosya seçin + + + dropYourAttachment + Ekinizi atın + + + attachmentTooltip + Dosya gönder + + + + EphemeralChatRoom + + cancelButton + 'cancel' : button text for cancelling operation + + + + startButton + 'start' : button text to start ephemeral mode + + + + ephemeralTitle + "Ephemeral messages" : Popup title for ephemerals + + + + ephemeralText + 'New messages will be deleted on both ends once it has been read by your contact. Select a timeout.' : Context Explanation for ephemerals + + + + ephemeralNotInConference! + 'Ephemeral message is only supported in conference based chat room!' + + Warning about not being in conference based chat room. + + + disabled + 'Disabled' + + + + nMinute + '%1 minute' + + + + + + nHour + '%1 hour' + + + + + + nDay + '%1 day' + + + + + + nWeek + '%1 week' + + + + + + + Event + + incomingCall + Gelen çağrı + + + outgoingCall + Giden çağrı + + + declinedIncomingCall + Reddilen gelen çağrı + + + declinedOutgoingCall + Reddedilen giden çağrı + + + endedCall + Son verilen çağrı + + + missedIncomingCall + Yanıtsız gelen çağrı + + + missedOutgoingCall + Yanıtsız giden çağrı + + + + FetchRemoteConfiguration + + confirmAction + AL + + + fetchRemoteConfigurationTitle + UZAKTAN YAPILANDIRMA AL + + + urlLabel + URL + + + remoteProvisioningError + Bu uzaktan ön hazırlık uri'si belirlenemiyor. + + + remoteProvisioningUpdateDescription + Uygulamanın yeniden başlaması gerekiyor. Şimdi yeniden başlatmak ister misiniz? + + + + HistoryView + + removeAllEntriesDescription + Bu geçmişi temizlemek istediğinize emin misiniz? + + + tooltipContactEdit + Kişi düzenle + + + tooltipContactAdd + Kişi ekle + + + cleanHistory + Geçmişi sil + + + + Home + + howToDescription + %1'un nasıl kullanılacağıyla ilgili yardıma mı gereksiniyorsunuz? + + + howToTitle + %1 NASIL KULLANILIR + + + inviteDescription + %1'daki arkadaşlarınızı davet edin. + + + inviteTitle + ARKADAŞLARINIZI DAVET EDİN + + + accountAssistantDescription + %1 hesabı oluştur veya yönet. + + + accountAssistantTitle + HESAP YARDIMCISI + + + assistantButton + YARDIMCI + + + showTooltips + Bilgi çubuklarını göster + + + inviteButton + DAVET ET + + + + Incall + + acceptVideoDescription + Kişiniz görüntüyü açmak istiyor. + + + securedStringFormat + Çağrı şununla şifrelendi: %1. + + + callNotSecured + Çağrı şifrelenmedi. + + + takeSnapshotLabel + Anlık görüntü al. + + + startRecordingLabel + Kayda başla. + + + stopRecordingLabel + Kaydı durdur. + + + pendingRequestLabel + + + + + IncallFullscreenWindow + + takeSnapshotLabel + Anlık görüntü al. + + + startRecordingLabel + Kayda başla. + + + stopRecordingLabel + Kaydı durdur. + + + + InfoChatRoom + + quitGroupButton + 'Exit group' : Button label + + + + ok + 'OK' : Button label + TAMAM + + + addParticipantPlaceholder + 'Add Participants' : Placeholder in a search bar for adding participant to the chat room + + + + addParticipantTooltip + 'Search participants in your contact list in order to invite them into the chat room.' + + Explanation for inviting the selected participants into chat room + + + participantList + 'Participant list' + + + + adminStatus + 'Admin' : Admin(istrator) + + word for admin status + + + chatRoomDetailsTitle + "Group information" : Popup title. + + popup display data about the current chat room + + + + InfoEncryption + + cancelButton + 'CANCEL' : button text for cancelling operation + + + + callButton + 'CALL' : Button that lead to a call + + + + okButton + 'OK' : Button that validate the popup to be redirected to the device list + + + + infoEncryptionTitle + 'End-to-end encrypted' Popup title about encryption information. + + + + encryptionExplanation + "Instant messages are end-to-end encrypted in secured conversations. It is possible to upgrade the security level of a conversation by authentificating participants." + + Explanation of Encryption + + + encryptionProcessExplanation + "To do so, call the contact and follow the authentification process." + + Explanation process + + + + InviteFriends + + enterEmailLabel + Arkadaşın e-posta adresi + + + messageLabel + İleti + + + cancel + İPTAL + + + confirm + ONAYLA + + + inviteFriendsTitle + Arkadaşları Davet Et + + + defaultMessage + %1 sizi %2'da davet ediyor ! + + + defaultSubject + %1 daveti + + + forcedMessage + Uygulamayı bilgisayarınıza indirin ve kullanıcıları ücretsiz olarak aramaya ve konuşmaya başlayın. + +Buraya tıklayın: <a href="%1">%1</a> + + + + + MainWindow + + mainSearchBarPlaceholder + Kişi ara, çağrı veya sohbet başlat… + + + contactsEntry + KİŞİLER + + + autoAnswerStatus + kendiliğinden + + + smartSearchBarTooltip + Sesli veya görüntülü çağrı başlatmak, ileti göndermek ve kişi eklemek için akıllı arama çubuğunu kullanın. Yalnızca arkadaşınızın SIP adresini veya kullanıcı adını girin. + + + newConferenceButton + Konferans aramasını başlat + + + newChatRoom + 'Open Conference' : Tooltip to illustrate a button + + + + hideTimeline + 'Hide Timeline' : Tooltip for a button that hide the timeline + + + + openTimeline + 'Open Timeline' : Tooltip for a button that open the timeline + + + + openHome + 'Open Home' : Tooltip for a button that open the home view + + + + + MainWindowMenuBar + + settings + Tercihler + + + about + Hakkında + + + quit + Çıkış + + + checkForUpdates + 'Check for updates' : Item menu for checking updates + + + + + MainWindowTopMenuBar + + settings + Tercihler + + + about + Hakkında + + + quit + Bırakın + + + + ManageAccounts + + ok + TAMAM + + + selectPresenceLabel + Bulunma durumu + + + selectAccountLabel + Etkin hesap + + + + MultimediaParameters + + ok + TAMAM + + + + NewChatRoom + + cancelButton + 'Cancel' : Cancel button + + + + startButton + 'Launch' : Start button + + + + missingSubject + 'You need to fill a subject.' : Tooltip to warn a user on missing field. + + + + missingParticipants + 'You need at least %1 participant.' : Tooltip to warn a user that there are not enough participants for the chat creation. + + + + + + missingConferenceURI + 'You need to set the conference URI in your account settings to create a conference based chat room.' : Tooltip to warn the user that a setting is missong in its configuration. + + + + newChatRoomTitle + 'Start a chat room' : Title of a popup about creation of a chat room + + + + askEncryption + 'Would you like to encrypt your chat?' : Ask about setting the chat room as secured. + + + + subjectLabel + 'Subject' : Label of a text field about the subject of the chat room + + + + subjectTooltip + 'Current subject of the Chat Room. It cannot be empty' + + Explanation about the subject of the chat room + + + participantSelectionPlaceholder + 'Select participants' : Placeholder for a search on participant to add them in selection. + + + + participantSelectionTooltip + 'Search in your contacts or add a custom one to the chat room.' + + + + adminStatus + 'Admin' : Admin(istrator) + + word for admin status + + + removeParticipantSelection + 'Remove this participant from the selection' : Explanation about removing participant from a selection + + This is a tooltip + + + requiredField + 'Required' : Word relative to a star to explain that it is a requirement (Field form) + + + + subjectPlaceholder + 'Give a subject' : Placeholder in a form about setting a subject + + + + LastContactsTitle + 'Last contacts' : Header for showing last contacts + + + + + Notice + + conferenceCreatedEvent + 'You have joined the group' : Little message to show on the event when the user join the chat group. + + + + conferenceCreatedTerminated + 'You have left the group' : Little message to show on the event when the user leave the chat group. + + + + conferenceParticipantAddedEvent + '%1 has joined' : Little message to show on the event when someone join the chat group. + + + + conferenceParticipantRemovedEvent + '%1 has left' : Little message to show on the event when someone leave the chat group + + + + conferenceParticipantSetAdminEvent + '%1 is now an admin' : Little message to show on the event when someone get the admin status. %1 is somebody + + + + conferencePArticipantUnsetAdminEvent + '%1 is no more an admin' : Little message to show on the event when somebody lost its admin status. %1 is somebody + + + + conferenceSecurityEvent + 'Security level degraded by %1': Little message to show on the event when a security level has been lost. + + + + conferenceEphemeralMessageEnabledEvent + 'Ephemeral messages have been enabled: %1' : Little message to show on the event when ephemeral has been activated. %1 is a date time + + + + conferenceEphemeralMessageDisabledEvent + 'Ephemeral messages have been disabled': Little message to show on the event when ephemeral has been deactivated. + + + + conferenceSubjectChangedEvent + 'New subject : %1' : Little message to show on the event when the subject of the chat room has been changed. %1 is the new subject. + + + + conferenceEphemeralMessageLifetimeChangedEvent + 'Ephemeral messages have been updated: %1' : Little message to show on the event when ephemeral has been updated. %1 is a date time + + + + + Notifier + + newVersionAvailable + Yeni sürüm (%1) var! + + + newFileMessage + Yeni ek alındı! + + + + OnlineInstallerDialog + + confirm + ONAYLA + + + onlineInstallerExtractingDescription + %1 çıkarılıyor... + + + onlineInstallerDownloadingDescription + %1 indiriliyor... + + + onlineInstallerFinishedDescription + %1 kuruldu! + + + onlineInstallerFailedDescription + %1 kurulumu başarısız! + + + + OutgoingMessage + + messageError + Hata + + + messageRead + Okundu + + + messageDelivered + İletildi + + + + ParticipantsView + + participantsAdminHeader + '(Admin)' : One word for Admin(istrator) + + Little Header in one word for a column in participant + + + + Presence + + presenceOnline + Uygun + + + presenceBusy + Meşgul + + + presenceDoNotDisturb + Rahatsız etme + + + presenceOffline + Çevrim dışı + + + + QObject + + LinphoneEnums_TunnelModeEnable + 'Enable' : One word for button action to enable tunnel mode. + + + + LinphoneEnums_TunnelModeDisable + 'Disable' : One word for button action to disable tunnel mode. + + + + LinphoneEnums_TunnelModeAuto + 'Auto' : One word for button action to set the auto tunnel mode. + + + + + SettingsAdvanced + + logsTitle + Günlükler + + + logsFolderLabel + Günlük klasörü + + + sendLogs + GÜNLÜKLERİ GÖNDER + + + logsUploadUrlLabel + Günlüklerin yükleneceği sunucu url'si + + + logsUploadFailed + Günlük yükleme başarısız. + + + logsEnabledLabel + Günlükler etkin + + + cleanLogs + GÜNLÜKLERİ TEMİZLE + + + cleanLogsDescription + Tüm günlükleri temizlemek istediğinize emin misiniz? + + + developerSettingsTitle + Geliştirici ayarları + + + developerSettingsEnabledLabel + Geliştirici ayarlarını etkinleştir + + + logsMailerFailed + Message when Linphone try to open a mailer to send logs, after uploading them to the server (%1 would be the upload url) + Posta bulunamadı, ancak %1 konumuna günlükler yüklendi + + + logsMailerSuccess + Günlükler %1 dosyasına yüklendi + + + contactsTitle + Kişiler + + + noPlugin + 'No Plugins to load' : Text in combobox + + + + + SettingsAudio + + audioTitle + Ses parametreleri + + + playbackDeviceLabel + Kayıttan oynatma aygıtı + + + captureDeviceLabel + Yakalama aygıtı + + + ringerDeviceLabel + Zil aygıtı + + + ringLabel + Zil + + + echoCancellationLabel + Yankı gidermeyi etkinleştir + + + audioCodecsTitle + Ses çözücüler + + + showAudioCodecsLabel + Ses çözücüleri göster + + + playbackGainLabel + Oynatma kazancı + + + captureGainLabel + Kazancı yakalayın + + + audioTestLabel + Yakalama seviyesi + + + audioSettingsInCallWarning + Sesli çağrı devam ediyor: bazı ayarlar kullanılamıyor. + + + echoCancellationCalibrationLabel + + + + calibratingEchoCancellationInProgress + + + + calibratingEchoCancellationDone + + + + calibratingEchoCancellationFailed + + + + calibratingEchoCancellationNone + + + + + SettingsCallsChat + + fileServerLabel + Dosya sunucusu + + + encryptWithLimeLabel + LIME ile şifrele + + + limeDisabled + Devre dışı + + + limeRequired + Zorunlu + + + limePreferred + Yeğlenen + + + chatTitle + Sohbet + + + callsTitle + Çağrılar + + + encryptionLabel + Şfireleme + + + noEncryption + Hiçbiri + + + autoAnswerLabel + Kendiliğinden yanıtla + + + autoAnswerDelayLabel + Gecikme (ms türünde) + + + autoAnswerWithVideoLabel + Kendiliğinden yanıtla (görüntüyle) + + + chatEnabledLabel + Konuşmayı etkinleştir + + + callRecorderEnabledLabel + Çağrı kaydediciyi etkinleştir + + + chatNotificationSoundEnabledLabel + Bildirim sesini etkinleştir + + + chatNotificationSoundLabel + Bildirim sesi + + + conferenceEnabledLabel + Toplantıyı etkinleştir + + + contactsTitle + Kişiler + + + contactsEnabledLabel + Kişileri etkinleştir + + + muteMicrophoneEnabledLabel + Mikrofonu kısmayı etkinleştir + + + outgoingCallsEnabledLabel + Giden çağrıları ektinleştir + + + showTelKeypadAutomaticallyLabel + Telefon numara takımını kendiliğinden göster + + + automaticallyRecordCallsLabel + Çağrıları kendiliğinden kaydet + + + keepCallsWindowInBackgroundLabel + Çağrı pencerelerini arka planda tut + + + callPauseEnabledLabel + Çağrı duraklatma etkin + + + encryptionMandatoryLabel + Şifreleme zorunludur + + + hideEmptyChatRoomsLabel + 'Hide empty chat rooms' : Label for a switch to choose if Linphone hide empty chat rooms + + + + waitRegistrationForCallLabel + 'Call when registered' : Label on switch to choose if calls are make when the current proxy is registered + + + + + SettingsLdap + + newServer + + + + + SettingsLdapEdit + + cancel + İPTAL + + + confirm + + + + displayNameLabel + Görünen ad (isteğe bağlı) + + + displayNameTooltip + + + + connectionTitle + + + + serverLabel + + + + serverTooltip + + + + bindDNLabel + + + + bindDNTooltip + + + + passwordLabel + Parola + + + useTLSLabel + + + + useTLSTooltip + + + + useSalLabel + + + + useSalTooltip + + + + verifyTLSLabel + + + + AutoMode + + + + offMode + + + + onMode + + + + verifyTLSTooltip + + + + searchTitle + + + + baseObjectLabel + + + + baseObjectPlaceholder + + + + baseObjectTooltip + + + + filterLabel + + + + filterTooltip + + + + maxResultsLabel + + + + maxResultsTooltip + + + + timeoutLabel + + + + timeoutTooltip + + + + parsingTitle + + + + nameAttributesLabel + + + + nameAttributesTooltip + + + + sipAttributesLabel + + + + sipAttributesTooltip + + + + domainLabel + + + + domainTooltip + + + + miscLabel + + + + debugLabel + + + + debugTooltip + + + + + SettingsNetwork + + sendDtmfsLabel + DTMF'leri gönderme yöntemi + + + allowIpV6Label + IPv6'ya izin ver + + + transportTitle + Taşıma + + + natAndFirewallTitle + NAT ve Güvenlik Duvarı + + + enableIceLabel + ICE'yi etkinleştir + + + stunServerLabel + STUN/TURN sunucusu + + + enableTurnLabel + TURN'u etkinleştir + + + turnUserLabel + TURN kullanıcısı + + + turnPasswordLabel + TURN parolası + + + networkProtocolAndPortsTitle + Ağ iletişim kuralları ve bağlantı noktaları + + + sipUdpPortLabel + SIP UDP bağlantı noktası + + + sipTcpPortLabel + SIP TCP bağlantı noktası + + + audioRtpUdpPortLabel + Ses RTP UDP bağlantı noktası + + + videoRtpUdpPortLabel + Görüntü RTP UDP bağlantı noktası + + + dscpFieldsTitle + DSCP Alanları + + + sipFieldLabel + SIP + + + audioRtpStreamFieldLabel + Ses RTP Akışı + + + videoRtpStreamFieldLabel + Görüntü RTP Akışı + + + bandwidthControlTitle + Bant Genişliği Denetimi + + + downloadSpeedLimitLabel + Kbit/sn türünde indirme hız sınırı + + + uploadSpeedLimitLabel + Kbit/sn türünde yükleme hız sınırı + + + enableAdaptiveRateControlLabel + Uyarlanır oran denetimini etkinleştir + + + presenceTitle + Bulunma + + + rlsUriLabel + RLS URI'si kullan + + + rlsUriAuto + KENDİLİĞİNDEN + + + rlsUriDisabled + ASLA + + + showNetworkSettingsLabel + Ağ ayarlarını göster + + + generalTitle + Genel + + + + SettingsSipAccounts + + defaultIdentityTitle + Öntanımlı kimlik + + + defaultUsernameLabel + Kullanıcı adı + + + defaultSipAddressLabel + SIP adresi + + + proxyAccountsTitle + Vekil hesapları + + + eraseAllPasswords + PAROLALARI SİL + + + addAccount + HESAP EKLE + + + editHeader + Düzenle + + + deleteHeader + Sil + + + deleteAccountDescription + Bu hesabı silmek istediğinize emin misiniz? + + + eraseAllPasswordsDescription + Tüm parolaları silmek istediğinize emin misiniz? + + + defaultDisplayNameLabel + Görünen ad + + + assistantTitle + Yardimci + + + createAppSipAccountEnabledLabel + Hesap oluşturmayı etkinleştir + + + useAppSipAccountEnabledLabel + Hesap kullanımını etkinleştir + + + useOtherSipAccountEnabledLabel + Genel hesap kullanımını etkinleştir + + + fetchRemoteConfigurationEnabledLabel + Yapılandırma almayı etkinleştir + + + assistantSupportsPhoneNumbersLabel + Telefon numaralarını destekler + + + + SettingsSipAccountsEdit + + sipAddressLabel + SIP adresi + + + transportLabel + Taşıma + + + serverAddressLabel + SIP Sunucu adresi + + + registrationDurationLabel + Kaydolma uzunluğu (saniye) + + + routeLabel + Rota + + + contactParamsLabel + Kişi parametreleri + + + publishPresenceLabel + Bulunma bilgisini yayımla + + + avpfIntervalLabel + AVPF düzenli RTCP aralığı (saniye) + + + registerEnabledLabel + Kaydol + + + avpfEnabledLabel + AVPF'yi etkinleştir + + + cancel + İPTAL + + + confirm + ONAYLA + + + invalidSipAddress + Geçersiz SIP adresi. + + + invalidServerAddress + Geçersiz sunucu adresi. + + + invalidRoute + Geçersiz rota. + + + enableIceLabel + ICE'yi etkinleştir + + + stunServerLabel + STUN/TURN sunucusu + + + enableTurnLabel + TURN'u etkinleştir + + + turnUserLabel + TURN kullanıcısı + + + turnPasswordLabel + TURN parolası + + + natAndFirewallTitle + NAT ve Güvenlik Duvarı + + + mainSipAccountSettingsTitle + Ana SIP hesabı ayarları + + + conferenceURI + "Conference URI" : Label of a text edit for filling Conference URI + + + + invalidConferenceURI + "invalid conference URI" : Error text about conference URI + + + + + SettingsTunnel + + tunnelStatus + 'Tunnel Status' : Field title to introduce the status of the tunnel (activated or not) + + + + tunnelDomain + 'Domain' : Field title of a textfield to set domain. + + + + tunnelUsername + 'Username' : Field title of a textfield to set username. + + + + tunnelSIP + 'SIP' : Field title of a switch to set SIP mode. + + + + cancel + 'Cancel' : Button to cancel the action. + İPTAL + + + setHTTPProxy + 'Set HTTP proxy' : Button to set the new proxy. + + + + proxyHttpHost + 'Host' : Placeholder to set hostname. + + + + proxyHttpPort + 'Port' : Placehoilder to set port. + + + + proxyHttpUsername + 'Username' : Placeholder to set username. + + + + proxyHttpPassword + 'Password' : Placeholder to set password. + + + + proxyHttpApply + 'Apply' : Button to set proxy from changes. + + + + serverMode + 'Mode' : Field title on form to set tunnel mode. + + + + serverDualMode + 'Dual mode' : Field title on form to set dual mode of the tunnel. + + + + serverTitle + 'Server' : Title form to set a server + + + + serverHostname + 'Hostname' : Field title on form to set hostname. + + + + serverPort + 'Port' : Field title on form to set port. + + + + serverDualHostname + 'Dual hostname URL' : Field title on form to set the second hostname for dual configuration. + + + + serverDualPort + 'Dual port' : Field title on form to set the second port for the dual configuration. + + + + serverRemoteUDPMirrorPort + 'Remote UDP mirror port' : Field title on form to set the remote UDP mirror port. + + + + serverDelay + 'Delay' : Field title on form to set the delay of the tunnel. + + + + tunnelAddServer + 'Add server' : Button for adding a server + + + + tunnelApply + 'Apply' : Button to apply changes. + + + + + SettingsUi + + pathsTitle + Yollar + + + savedScreenshotsLabel + Kaydedilen ekran görüntüleri klasörü + + + savedCallsLabel + Kaydedilen çağrılar klasörü + + + languagesTitle + Diller + + + languagesLabel + Dil + + + systemLocale + Sistem yereli + + + cleanAvatars + AVATARLARI SİL + + + cleanAvatarsDescription + Tüm avatarları silmek istediğinize emin misiniz? + + + downloadLabel + İndirme klasörü + + + setLocaleDescription + Uygulamanın yeniden başlaması gerekiyor. Şimdi yeniden başlatmak ister misiniz? + + + otherTitle + Diğer + + + exitOnCloseLabel + Pencere kapatıldığında uygulamadan çık + + + dataTitle + Kullanıcı Arayüzü Verisi + + + autoStartLabel + Uygulamayı kendiliğinden başlat + + + fontsTitle + 'Fonts' : title of fonts section in settings + + + + fontsTextChange + 'Text Messages' : Label for changing text message fonts + + + + fontsPopupTitle + 'Select a new font' : Popup title for choosing new fonts + + + + checkForUpdateLabel + 'Check for updates' : Label switch for enabling check for updates + + + + + SettingsVideo + + videoInputDeviceLabel + Görüntü giriş aygıtı + + + videoFramerateLabel + Çerçeve oranı + + + videoCaptureTitle + Görüntü yakalama parametreleri + + + videoPresetLabel + Görüntü ön ayarı + + + presetDefault + Öntanımlı + + + presetHighFps + Yüksek saniye başına çerçeve + + + presetCustom + Özel + + + videoSizeLabel + Görüntü çözünürlüğü + + + videoCodecsTitle + Görüntü çözücüler + + + showCameraPreview + GÖRÜNTÜ ÖNİZLEMESİ + + + showVideoCodecsLabel + Görüntü çözücüleri göster + + + videoSettingsInCallWarning + Görüntülü arama devam ediyor: bazı ayarlar mevcut değil. + + + + SettingsVideoPreview + + confirm + TAMAM + + + + SettingsWindow + + settingsTitle + Ayarlar + + + sipAccountsTab + SIP hesapları + + + audioTab + Ses + + + videoTab + Görüntü + + + callsAndChatTab + Çağrı ve Sohbet + + + networkTab + + + + uiTab + Kullanıcı Arayüzü + + + validButton + TAMAM + + + uiAdvanced + Gelişmiş + + + tunnelTab + 'Tunnel' : Tab title for tunnel section in settings. + + + + + SmartSearchBar + + addContact + KİŞİ EKLE + + + + Timeline + + timelineFilter + A title for filtering mode. + + + + timelineFilterAll + 'All' The mode for timelines filtering. + + + + timelineFilterCustom + 'Custom' The mode for timelines filtering. + + + + timelineFilterSimpleRooms + 'Simple rooms' : Filter item + + Selecting it will show all simple rooms + + + timelineFilterSecureRooms + 'Secure rooms' : Filter item + + Selecting it will show all secure rooms + + + timelineFilterChatGroups + 'Chat groups' : Filter item + + Selecting it will show all chat groups (with more than one participant) + + + timelineFilterSecureChatGroups + 'Secure Chat Groups' : Filter item + + Selecting it will show all secure chat groups (with more than one participant) + + + timelineFilterEphemerals + 'Ephemerals' : Filter item + + Selecting it will show all chat rooms where the ephemeral mode has been enabled. + + + timelineSearchPlaceholderText + 'Search in the list' : ths is a placeholder when searching something in the timeline list + + + + + UseAppSipAccount + + confirmAction + KULLAN + + + useAppSipAccountTitle + %1 HESABI KULLAN + + + useUsernameToLogin + Telefon numaranız yerine kullanıcı adı ve parola kullanın. + + + quitWarning + Hesabınız oluşturuldu ancak henüz doğrulanmadı. Bu görünümden çıkmak istediğinize emin misiniz? + + + passwordRecovery + 'Forgotten password?' : text for an url shortcut to change the password + + + + + UseAppSipAccountWithPhoneNumber + + countryLabel + Ülke + + + phoneNumberLabel + Telefon numarası + + + + UseAppSipAccountWithUsername + + usernameLabel + Kullanıcı adı + + + passwordLabel + Parola + + + + UseOtherSipAccount + + confirmAction + KULLAN + + + useOtherSipAccountTitle + SIP HESABI KULLAN + + + usernameLabel + Kullanıcı adı + + + displayNameLabel + Görünen ad (isteğe bağlı) + + + sipDomainLabel + SIP Alan Adı + + + passwordLabel + Parola + + + transportLabel + Taşıma + + + addOtherSipAccountError + Bu hesap eklenemiyor. + + + + ZrtpTokenAuthentication + + confirmSas + Aşağıdaki kısa yetkilendirme dizgesini eşinizle onaylayın. + + + codeA + Söyleyin: + + + codeB + Kişiniz şunu söylemeli: + + + deny + REDDET + + + accept + ONAYLA + + + + country + + Afghanistan + Afganistan + + + Albania + Arnavutluk + + + Algeria + Cezayir + + + AmericanSamoa + Amerikan Samoası + + + Andorra + Andorra + + + Angola + Angola + + + Anguilla + Anguilla + + + AntiguaAndBarbuda + Antigua ve Barbuda + + + Argentina + Arjantin + + + Armenia + Ermenistan + + + Aruba + Aruba + + + Australia + Avustralya + + + Austria + Avusturya + + + Azerbaijan + Azerbaycan + + + Bahamas + Bahamalar + + + Bahrain + Bahreyn + + + Bangladesh + Bangladeş + + + Barbados + Barbados + + + Belarus + Belarus + + + Belgium + Belçika + + + Belize + Belize + + + Benin + Benin + + + Bermuda + Bermuda + + + Bhutan + Bhutan + + + Bolivia + Bolivya + + + BosniaAndHerzegowina + Bosna-Hersek + + + Botswana + Botsvana + + + Brazil + Brezilya + + + Brunei + Bruney + + + Bulgaria + Bulgaristan + + + BurkinaFaso + Burkina Faso + + + Burundi + Burundi + + + Cambodia + Kamboçya + + + Cameroon + Kamerun + + + Canada + Kanada + + + CapeVerde + Yeşil Burun Adaları + + + CaymanIslands + Cayman Adaları + + + CentralAfricanRepublic + Orta Afrika Cumhuriyeti + + + Chad + Çad + + + Chile + Şili + + + China + Çin + + + Colombia + Kolombiya + + + Comoros + Komorlar + + + PeoplesRepublicOfCongo + Kongo Cumhuriyeti + + + DemocraticRepublicOfCongo + Demokratik Kongo Cumhuriyeti + + + CookIslands + Cook Adaları + + + CostaRica + Kosta Rika + + + IvoryCoast + Fildişi Sahili + + + Croatia + Hırvatistan + + + Cuba + Küba + + + Cyprus + Kıbrıs + + + CzechRepublic + Çek Cumhuriyeti + + + Denmark + Danimarka + + + Djibouti + Cibuti + + + Dominica + Dominika + + + DominicanRepublic + Dominik Cumhuriyeti + + + Ecuador + Ekvador + + + Egypt + Mısır + + + ElSalvador + El Salvador + + + EquatorialGuinea + Ekvator Ginesi + + + Eritrea + Eritre + + + Estonia + Estonya + + + Ethiopia + Etyopya + + + FalklandIslands + Falkland Adaları + + + FaroeIslands + Faroe Adaları + + + Fiji + Fiji + + + Finland + Finlandiya + + + France + Fransa + + + FrenchGuiana + Fransız Guyanası + + + FrenchPolynesia + Fransız Polinezyası + + + Gabon + Gabon + + + Gambia + Gambiya + + + Georgia + Georgia + + + Germany + Almanya + + + Ghana + Gana + + + Gibraltar + Cebelitarık + + + Greece + Yunanistan + + + Greenland + Grönland + + + Grenada + Grenada + + + Guadeloupe + Guadeloupe + + + Guam + Guam'a + + + Guatemala + Guatemala + + + Guinea + Gine + + + GuineaBissau + Gine Bissau + + + Guyana + Guyana + + + Haiti + Haiti + + + Honduras + Honduras + + + HongKong + Hong Kong + + + Hungary + Macaristan + + + Iceland + İzlanda + + + India + Hindistan + + + Indonesia + Endonezya + + + Iran + İran + + + Iraq + Irak + + + Ireland + İrlanda + + + Israel + İsrail + + + Italy + İtalya + + + Jamaica + Jamaika + + + Japan + Japonya + + + Jordan + Ürdün + + + Kazakhstan + Kazakistan + + + Kenya + Kenya + + + Kiribati + Kiribati + + + DemocraticRepublicOfKorea + Kore Demokratik Cumhuriyeti + + + RepublicOfKorea + Kore Cumhuriyeti + + + Kuwait + Kuveyt + + + Kyrgyzstan + Kırgızistan + + + Laos + Laos + + + Latvia + Letonya + + + Lebanon + Lübnan + + + Lesotho + Lesotho + + + Liberia + Liberya + + + Libya + Libya + + + Liechtenstein + Lihtenştayn + + + Lithuania + Litvanya + + + Luxembourg + Lüksemburg + + + Macau + Makao + + + Macedonia + Makedonya + + + Madagascar + Madagaskar + + + Malawi + Malavi + + + Malaysia + Malezya + + + Maldives + Maldivler + + + Mali + Mali + + + Malta + Malta + + + MarshallIslands + Marshall Adaları + + + Martinique + Martinik + + + Mauritania + Moritanya + + + Mauritius + Mauritius + + + Mayotte + Mayotte + + + Mexico + Meksika + + + Micronesia + Mikronezya + + + Moldova + Moldova + + + Monaco + Monako + + + Mongolia + Moğolistan + + + Montenegro + Karadağ + + + Montserrat + Montserrat + + + Morocco + Fas + + + Mozambique + Mozambik + + + Myanmar + Myanmar + + + Namibia + Namibya + + + NauruCountry + Nauru + + + Nepal + Nepal + + + Netherlands + Hollanda + + + NewCaledonia + Yeni Kaledonya + + + NewZealand + Yeni Zelanda + + + Nicaragua + Nikaragua + + + Niger + Nijer + + + Nigeria + Nijerya + + + Niue + Niue + + + NorfolkIsland + Norfolk Adası + + + NorthernMarianaIslands + Kuzey Mariana Adaları + + + Norway + Norveç + + + Oman + Umman + + + Pakistan + Pakistan + + + Palau + Palau + + + PalestinianTerritories + Filistin Toprakları + + + Panama + Panama + + + PapuaNewGuinea + Papua Yeni Gine + + + Paraguay + Paraguay + + + Peru + Peru + + + Philippines + Filipinler + + + Poland + Polonya + + + Portugal + Portekiz + + + PuertoRico + Porto Riko + + + Qatar + Katar + + + Reunion + Buluşma + + + Romania + Romanya + + + RussianFederation + Rusya Federasyonu + + + Rwanda + Ruanda + + + SaintHelena + Saint Helena + + + SaintKittsAndNevis + Saint Kitts ve Nevis + + + SaintLucia + Saint Lucia + + + SaintPierreAndMiquelon + Saint Pierre ve Miquelon + + + SaintVincentAndTheGrenadines + Saint Vincent ve Grenadinler + + + Samoa + Samoa + + + SanMarino + San Marino + + + SaoTomeAndPrincipe + São Tomé ve Principe + + + SaudiArabia + Suudi Arabistan + + + Senegal + Senegal + + + Serbia + Sırbistan + + + Seychelles + Seyşeller + + + SierraLeone + Sierra Leone + + + Singapore + Singapur + + + Slovakia + Slovakya + + + Slovenia + Slovenya + + + SolomonIslands + Solomon Adaları + + + Somalia + Somali + + + SouthAfrica + Güney Afrika Cumhuriyeti + + + Spain + İspanya + + + SriLanka + Sri Lanka + + + Sudan + Sudan + + + Suriname + Surinam + + + Swaziland + Svaziland + + + Sweden + İsveç + + + Switzerland + İsviçre + + + Syria + Suriye + + + Taiwan + Tayvan + + + Tajikistan + Tacikistan + + + Tanzania + Tanzanya + + + Thailand + Tayland + + + Togo + Togo + + + Tokelau + Tokelau + + + Tonga + Tonga + + + TrinidadAndTobago + Trinidad ve Tobago + + + Tunisia + Tunus + + + Turkey + Türkiye + + + Turkmenistan + Türkmenistan + + + TurksAndCaicosIslands + Turks ve Caicos Adaları + + + Tuvalu + Tuvalu + + + Uganda + Uganda + + + Ukraine + Ukrayna + + + UnitedArabEmirates + Birleşik Arap Emirlikleri + + + UnitedKingdom + Birleşik Krallık + + + UnitedStates + Amerika Birleşik Devletleri + + + Uruguay + Uruguay + + + Uzbekistan + Özbekistan + + + Vanuatu + Vanuatu + + + Venezuela + Venezuela + + + Vietnam + Vietnam + + + WallisAndFutunaIslands + Wallis ve Futuna Adaları + + + Yemen + Yemen + + + Zambia + Zambiya + + + Zimbabwe + Zimbabve + + + + linphone-utils + + downloadCodecDescription + %1 (%2) indirilmesini istiyor musunuz? + + + diff --git a/linphone-app/resources.qrc b/linphone-app/resources.qrc index 320a3ef38..bf9010a19 100644 --- a/linphone-app/resources.qrc +++ b/linphone-app/resources.qrc @@ -152,6 +152,7 @@ assets/images/stop_fullscreen_custom.svg assets/images/timer_custom.svg assets/images/tel_keypad_custom.svg + assets/images/tel_keypad_voicemail_custom.svg assets/images/tooltip_arrow_bottom_custom.svg assets/images/tooltip_arrow_left_custom.svg assets/images/tooltip_arrow_right_custom.svg diff --git a/linphone-app/src/components/chat-room/ChatRoomModel.cpp b/linphone-app/src/components/chat-room/ChatRoomModel.cpp index c158ae920..3e52db2ef 100644 --- a/linphone-app/src/components/chat-room/ChatRoomModel.cpp +++ b/linphone-app/src/components/chat-room/ChatRoomModel.cpp @@ -347,7 +347,6 @@ QString ChatRoomModel::getUsername () const { } QString ChatRoomModel::getAvatar () const { - qWarning() << getUsername() << " *> " << mChatRoom->getNbParticipants(); if( mChatRoom && mChatRoom->getNbParticipants() == 1){ auto participants = getParticipants(false); auto contact = CoreManager::getInstance()->getContactsListModel()->findContactModelFromSipAddress(Utils::coreStringToAppString((*participants.begin())->getAddress()->asString())); diff --git a/linphone-app/src/components/other/colors/ColorListModel.hpp b/linphone-app/src/components/other/colors/ColorListModel.hpp index 9b7fcd7ac..32a3f3bf8 100644 --- a/linphone-app/src/components/other/colors/ColorListModel.hpp +++ b/linphone-app/src/components/other/colors/ColorListModel.hpp @@ -123,6 +123,9 @@ class ColorListModel : public ProxyListModel { ADD_COLOR("readonly_fg", "#B1B1B1", "Chat text area Readonly foreground") + ADD_COLOR("telkeypad_bg", "#4D5B66", "Background for phone keypad") + ADD_COLOR("telkeypad_fg", "#E4E4E4", "Foreground for phone keypad") + ADD_COLOR("telkeypad_h", "#B1B1B1", "Foreground for phone keypad") // Keywords: 'mKeywordsMap' // s=standard, ma=main, l=list, sc=screen, me=menu diff --git a/linphone-app/ui/modules/Common/Form/ActionButton.qml b/linphone-app/ui/modules/Common/Form/ActionButton.qml index 2c789eb18..85cb2482f 100644 --- a/linphone-app/ui/modules/Common/Form/ActionButton.qml +++ b/linphone-app/ui/modules/Common/Form/ActionButton.qml @@ -82,6 +82,7 @@ Item { signal clicked(real x, real y) signal pressed(real x, real y) + signal released(real x, real y) // --------------------------------------------------------------------------- @@ -121,8 +122,8 @@ Item { function getBackgroundColor(){ var defaultColor = 'transparent' if(isCustom){ - if(wrappedButton.icon == '') - return getColor(wrappedButton.colorSet.backgroundNormalColor, defaultColor, 'backgroundNormalColor') + //if(wrappedButton.icon == '') + //return getColor(wrappedButton.colorSet.backgroundNormalColor, defaultColor, 'backgroundNormalColor') if (wrappedButton.updating || wrappedButton.toggled) return getColor(wrappedButton.colorSet.backgroundUpdatingColor, defaultColor, 'backgroundUpdatingColor') if (!useStates) @@ -138,8 +139,8 @@ Item { function getForegroundColor(){ var defaultColor = 'black' if(isCustom){ - if(wrappedButton.icon == '') - return getColor(wrappedButton.colorSet.foregroundNormalColor, defaultColor, 'foregroundNormalColor') + //if(wrappedButton.icon == '') + //return getColor(wrappedButton.colorSet.foregroundNormalColor, defaultColor, 'foregroundNormalColor') if (wrappedButton.updating || wrappedButton.toggled) return getColor(wrappedButton.colorSet.foregroundUpdatingColor, defaultColor, 'foregroundUpdatingColor') if (!useStates) @@ -155,8 +156,8 @@ Item { function getBackgroundHiddenPartColor(){ var defaultColor = 'transparent' if(isCustom){ - if(wrappedButton.icon == '') - return getColor(wrappedButton.colorSet.backgroundHiddenPartNormalColor, defaultColor, 'backgroundHiddenPartNormalColor') + //if(wrappedButton.icon == '') + //return getColor(wrappedButton.colorSet.backgroundHiddenPartNormalColor, defaultColor, 'backgroundHiddenPartNormalColor') if (wrappedButton.updating || wrappedButton.toggled) return getColor(wrappedButton.colorSet.backgroundHiddenPartUpdatingColor, defaultColor, 'backgroundHiddenPartUpdatingColor') if (!useStates) @@ -172,8 +173,8 @@ Item { function getForegroundHiddenPartColor(){ var defaultColor = '#80FFFFFF' if(isCustom){ - if(wrappedButton.icon == '') - return getColor(wrappedButton.colorSet.foregroundHiddenPartNormalColor, defaultColor, 'foregroundHiddenPartNormalColor') + //if(wrappedButton.icon == '') + //return getColor(wrappedButton.colorSet.foregroundHiddenPartNormalColor, defaultColor, 'foregroundHiddenPartNormalColor') if (wrappedButton.updating || wrappedButton.toggled) return getColor(wrappedButton.colorSet.foregroundHiddenPartUpdatingColor, defaultColor, 'foregroundHiddenPartUpdatingColor') if (!useStates) @@ -214,6 +215,8 @@ Item { hoverEnabled: !wrappedButton.updating//|| wrappedButton.autoIcon onClicked: !wrappedButton.updating && wrappedButton.enabled && wrappedButton.clicked(pressX, pressY) onPressed: !wrappedButton.updating && wrappedButton.enabled && wrappedButton.pressed(pressX, pressY) + onReleased: !wrappedButton.updating && wrappedButton.enabled && wrappedButton.released(pressX, pressY) + Rectangle{ id: foregroundColor anchors.fill:parent diff --git a/linphone-app/ui/modules/Linphone/SmartSearchBar/SmartSearchBar.qml b/linphone-app/ui/modules/Linphone/SmartSearchBar/SmartSearchBar.qml index 367be8c72..fc4f80177 100644 --- a/linphone-app/ui/modules/Linphone/SmartSearchBar/SmartSearchBar.qml +++ b/linphone-app/ui/modules/Linphone/SmartSearchBar/SmartSearchBar.qml @@ -18,6 +18,8 @@ SearchBox { property alias header : view.headerItem property alias actions : view.actions property alias showHeader : view.showHeader + property string previousText: text + onTextChanged: if( text != '') previousText = text; function addAddressToIgnore(entry){ searchModel.addAddressToIgnore(entry) diff --git a/linphone-app/ui/modules/Linphone/Styles/TelKeypad/TelKeypadStyle.qml b/linphone-app/ui/modules/Linphone/Styles/TelKeypad/TelKeypadStyle.qml index 1fb7b7f9b..908d13856 100644 --- a/linphone-app/ui/modules/Linphone/Styles/TelKeypad/TelKeypadStyle.qml +++ b/linphone-app/ui/modules/Linphone/Styles/TelKeypad/TelKeypadStyle.qml @@ -7,19 +7,33 @@ import ColorsList 1.0 QtObject { property string sectionName: 'TelKeypad' - property int columnSpacing: 0 - property int height: 180 - property int rowSpacing: 0 - property int width: 180 - property color color: ColorsList.add(sectionName+'', 'k').color + property int columnSpacing: 12 + property int height: 240 + property int rowSpacing: 12 + property int width: 240 + property color color: ColorsList.add(sectionName+'', 'telkeypad_bg').color property color selectedColor : ColorsList.add(sectionName+'_c', 'm').color property int selectedBorderWidth: 2 - property real radius : 5.0 + property real radius : 20 + + property QtObject voicemail: QtObject{ + property string icon: 'tel_keypad_voicemail_custom' + property int iconSize: 20 + } property QtObject button: QtObject { - property QtObject color: QtObject { - property color normal: ColorsList.add(sectionName+'_b_n', 'q').color - property color pressed: ColorsList.add(sectionName+'_b_p', 'i').color + property QtObject colorSet: QtObject{ + property int iconSize: 0 + property string name : 'telButton' + property string icon : '' + property color backgroundNormalColor : ColorsList.addImageColor(sectionName+'_'+name+'_bg_n', icon, 'telkeypad_fg').color + property color backgroundHoveredColor : ColorsList.addImageColor(sectionName+'_'+name+'_bg_h', icon, 'telkeypad_h').color + property color backgroundPressedColor : ColorsList.addImageColor(sectionName+'_'+name+'_bg_p', icon, 'i').color + property color backgroundUpdatingColor : ColorsList.addImageColor(sectionName+'_'+name+'_bg_u', icon, 'i').color + property color foregroundNormalColor : ColorsList.addImageColor(sectionName+'_'+name+'_fg_n', icon, 'transparent').color + property color foregroundHoveredColor : ColorsList.addImageColor(sectionName+'_'+name+'_fg_h', icon, 'transparent').color + property color foregroundPressedColor : ColorsList.addImageColor(sectionName+'_'+name+'_fg_p', icon, 'transparent').color + property color foregroundUpdatingColor : ColorsList.addImageColor(sectionName+'_'+name+'_fg_u', icon, 'transparent').color } property QtObject line: QtObject { @@ -32,8 +46,8 @@ QtObject { } property QtObject text: QtObject { - property color color: ColorsList.add(sectionName+'_b_text', 'd').color - property int pointSize: Units.dp * 11 + property color color: ColorsList.add(sectionName+'_b_text', 'telkeypad_bg').color + property int pointSize: Units.dp * 14 } } } diff --git a/linphone-app/ui/modules/Linphone/TelKeypad/TelKeypad.qml b/linphone-app/ui/modules/Linphone/TelKeypad/TelKeypad.qml index 687f342c9..ec01fe7be 100644 --- a/linphone-app/ui/modules/Linphone/TelKeypad/TelKeypad.qml +++ b/linphone-app/ui/modules/Linphone/TelKeypad/TelKeypad.qml @@ -9,118 +9,86 @@ import 'TelKeypad.js' as Logic // ============================================================================= Rectangle { - id: telKeypad + id: telKeypad + + property var container: parent + property var call + signal sendDtmf(var dtmf) + signal keyPressed(var event) + + color: TelKeypadStyle.color // useless as it is overridden by buttons color, but keep it if buttons are transparent + onActiveFocusChanged: {if(activeFocus) selectedArea.border.width=TelKeypadStyle.selectedBorderWidth; else selectedArea.border.width=0} + Keys.onPressed: keyPressed(event) + layer { + effect: PopupShadow {} + enabled: true + } + + height: TelKeypadStyle.height + width: TelKeypadStyle.width + radius:TelKeypadStyle.radius+1.0 // +1 for avoid mixing color with border slection (some pixels can be print after the line) - property var container: parent - property var call - - color: TelKeypadStyle.color // useless as it is overridden by buttons color, but keep it if buttons are transparent - onActiveFocusChanged: {if(activeFocus) selectedArea.border.width=TelKeypadStyle.selectedBorderWidth; else selectedArea.border.width=0} - - layer { - effect: PopupShadow {} - enabled: true - } - - height: TelKeypadStyle.height - width: TelKeypadStyle.width - radius:TelKeypadStyle.radius+1.0 // +1 for avoid mixing color with border slection (some pixels can be print after the line) - - Keys.onPressed: { - var index = Logic.mapKeyToButtonIndex(event.key) - if (index != null) { - event.accepted = true - Logic.sendDtmf(index) - } - } - - // --------------------------------------------------------------------------- - - GridLayout { - id: grid - - anchors.fill: parent - - columns: 4 // Not a style. - rows: 4 // Same idea. - - columnSpacing: TelKeypadStyle.columnSpacing - rowSpacing: TelKeypadStyle.rowSpacing - - Repeater { - model: [ - '1', '2', '3', 'A', - '4', '5', '6', 'B', - '7', '8', '9', 'C', - '*', '0', '#', 'D', - ] - - TelKeypadButton { - property var _timeout - - Layout.fillHeight: true - Layout.fillWidth: true - - text: modelData - - onClicked: telKeypad.call.sendDtmf(modelData) - } - } - } - - // --------------------------------------------------------------------------- - - DragBox { - id: dragBox - - readonly property int delta: 5 - - property int _id - property var _mouseX - property var _mouseY - - container: telKeypad.container - draggable: parent - - xPosition: (function () { - return 80 - }) - yPosition: (function () { - return 70 - }) - - onPressed: { - _mouseX = mouse.x - _mouseY = mouse.y - _id = parseInt(_mouseX / (parent.width / grid.columns)) + parseInt(_mouseY / (parent.height / grid.rows)) * grid.columns - - telKeypad.focus = true - } - - onReleased: Math.abs(_mouseX - mouse.x) <= delta && Math.abs(_mouseY - mouse.y) <= delta && - Logic.sendDtmf(_id) - } - Rectangle{ - id: selectedArea - anchors.fill:parent - color:"transparent" - border.color:TelKeypadStyle.selectedColor - border.width:0 - focus:false - enabled:false - radius:TelKeypadStyle.radius - } - MouseArea - {// Just take hover events and set popup to do its automatic close if mouse is not inside field/popup area - anchors.fill: parent - onContainsMouseChanged: (containsMouse?telKeypad.forceActiveFocus():telKeypad.focus=false) - hoverEnabled:true - preventStealing: true - propagateComposedEvents:true - onPressed: mouse.accepted=false - onReleased: mouse.accepted=false - onClicked: mouse.accepted=false - onDoubleClicked: mouse.accepted=false - onPressAndHold: mouse.accepted=false - } + // --------------------------------------------------------------------------- + MouseArea{ + anchors.fill:parent + onClicked: telKeypad.forceActiveFocus() + } + GridLayout { + id: grid + + anchors.fill: parent + anchors.topMargin: TelKeypadStyle.rowSpacing+5 + anchors.bottomMargin: TelKeypadStyle.rowSpacing+5 + anchors.leftMargin: TelKeypadStyle.columnSpacing+5 + anchors.rightMargin: TelKeypadStyle.columnSpacing+5 + + columns: 4 // Not a style. + rows: 4 // Same idea. + + columnSpacing: TelKeypadStyle.columnSpacing + rowSpacing: TelKeypadStyle.rowSpacing + + Repeater { + model: [ + '1', '2', '3', 'A', + '4', '5', '6', 'B', + '7', '8', '9', 'C', + '*', '0', '#', 'D', + ] + + TelKeypadButton { + id: telKeypadButton + property var _timeout + showVoicemail: index === 0 + auxSymbol: index === 13 ? '+' : '' + + Layout.fillHeight: true + Layout.fillWidth: true + + text: modelData + onSendDtmf: { + telKeypad.forceActiveFocus() + if(telKeypad.call) telKeypad.call.sendDtmf(dtmf) + telKeypad.sendDtmf(dtmf) + } + Connections{ + target: telKeypad + onKeyPressed: telKeypadButton.activateEvent(event.key) + } + } + } + } + + // --------------------------------------------------------------------------- + + Rectangle{ + id: selectedArea + anchors.fill:parent + color:"transparent" + border.color:TelKeypadStyle.selectedColor + border.width:0 + focus:false + enabled:false + radius:TelKeypadStyle.radius + } } diff --git a/linphone-app/ui/modules/Linphone/TelKeypad/TelKeypadButton.qml b/linphone-app/ui/modules/Linphone/TelKeypad/TelKeypadButton.qml index 3931c9092..2dac83638 100644 --- a/linphone-app/ui/modules/Linphone/TelKeypad/TelKeypadButton.qml +++ b/linphone-app/ui/modules/Linphone/TelKeypad/TelKeypadButton.qml @@ -1,59 +1,118 @@ import QtQuick 2.7 import QtQuick.Layouts 1.3 +import Common 1.0 import Linphone.Styles 1.0 // ============================================================================= Item { id: button - - property color color: TelKeypadStyle.button.color.normal - property string text: '' - - signal clicked - - // --------------------------------------------------------------------------- - - Rectangle { - anchors.fill: parent - color: button.color - radius:TelKeypadStyle.radius+2.0 - - ColumnLayout { - anchors.fill: parent - - spacing: 0 - - Text { - Layout.fillHeight: true - Layout.fillWidth: true - - color: TelKeypadStyle.button.text.color - elide: Text.ElideRight - - font { - bold: true - pointSize: TelKeypadStyle.button.text.pointSize - } - - text: button.text - - horizontalAlignment: Text.AlignHCenter - verticalAlignment: Text.AlignVCenter - } - - Rectangle { - Layout.fillWidth: true - Layout.preferredHeight: TelKeypadStyle.button.line.height - - Layout.bottomMargin: TelKeypadStyle.button.line.bottomMargin - Layout.leftMargin: TelKeypadStyle.button.line.leftMargin - Layout.rightMargin: TelKeypadStyle.button.line.rightMargin - Layout.topMargin: TelKeypadStyle.button.line.topMargin - - color: TelKeypadStyle.button.line.color - } - } - } -} + + property string text: '' + property bool showVoicemail: false + property string auxSymbol: '' + + signal sendDtmf(var dtmf) + + function activateEvent(key){ + var keyString = String.fromCharCode(key) + if( keyString == text || keyString == auxSymbol){ + actionButton.toggled = true; + sendDtmf(keyString) + } + } + // --------------------------------------------------------------------------- + Timer{ + id: untoggledTimer + interval: 100 + repeat: false + onTriggered: actionButton.toggled = false + } + ActionButton { + id: actionButton + onToggledChanged: if(toggled) untoggledTimer.start() + anchors.fill: parent + colorSet: TelKeypadStyle.button.colorSet + backgroundRadius: width/2 + isCustom: true + property bool doNotSend: false + Timer{ + id: longPress + interval: 500 + onTriggered: { if(actionButton.doNotSend){ + actionButton.doNotSend = false + }else{ + if( button.auxSymbol != '' && actionButton.hovered) { + actionButton.doNotSend = true; + button.sendDtmf(button.auxSymbol) + } + } + } + } + onPressed: {actionButton.doNotSend = false;longPress.start()} + onReleased: { if(actionButton.doNotSend) + actionButton.doNotSend = false + else { + actionButton.doNotSend = true; + button.sendDtmf(button.text) + } + } + + ColumnLayout { + anchors.fill: parent + spacing: 0 + anchors.topMargin: 5 + anchors.bottomMargin: 5 + + RowLayout{ + Layout.fillHeight: true + Layout.fillWidth: true + Layout.alignment: Qt.AlignCenter + Layout.leftMargin: 5 + Layout.rightMargin: 5 + spacing: 0 + Text { + id: charText + Layout.fillHeight: true + Layout.fillWidth: true + color: TelKeypadStyle.button.text.color + elide: Text.ElideRight + + font { + bold: true + pointSize: TelKeypadStyle.button.text.pointSize + } + + text: button.text + + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + } + Icon{ + icon: TelKeypadStyle.voicemail.icon + iconSize: charText.height/2 + overwriteColor: TelKeypadStyle.button.text.color + visible: button.showVoicemail + } + } + Text { + visible: text != '' + Layout.fillHeight: true + Layout.fillWidth: true + color: TelKeypadStyle.button.text.color + elide: Text.ElideRight + + font { + bold: true + pointSize: TelKeypadStyle.button.text.pointSize + } + + text: auxSymbol + + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + } + } + } + } diff --git a/linphone-app/ui/views/App/Main/MainWindow.qml b/linphone-app/ui/views/App/Main/MainWindow.qml index 841cd24f8..98c2cb3af 100644 --- a/linphone-app/ui/views/App/Main/MainWindow.qml +++ b/linphone-app/ui/views/App/Main/MainWindow.qml @@ -200,9 +200,16 @@ ApplicationWindow { onLaunchSecureChat: CallsListModel.launchChat( sipAddress,1 ) onLaunchVideoCall: CallsListModel.launchVideoCall(sipAddress, '') } - + ActionButton { + isCustom: true + backgroundRadius: 90 + colorSet: MainWindowStyle.buttons.telKeyad + onClicked: telKeypad.visible = !telKeypad.visible + toggled: telKeypad.visible + } ActionButton { + Layout.leftMargin: 30 isCustom: true backgroundRadius: 4 colorSet: MainWindowStyle.buttons.newChatGroup @@ -355,16 +362,28 @@ ApplicationWindow { } // Main content. - Loader { - id: contentLoader - - objectName: '__contentLoader' - + Item{ Layout.fillHeight: true Layout.fillWidth: true - - source: 'Home.qml' - Component.onCompleted: if (AccountSettingsModel.accounts.length < 2) source= 'Assistant.qml' // default proxy = 1. Do not use this set diretly in source because of bindings that will override next setSource + Loader { + id: contentLoader + + objectName: '__contentLoader' + + anchors.fill: parent + + source: 'Home.qml' + Component.onCompleted: if (AccountSettingsModel.accounts.length < 2) source= 'Assistant.qml' // default proxy = 1. Do not use this set diretly in source because of bindings that will override next setSource + } + TelKeypad { + anchors.right: parent.right + anchors.top: parent.top + id: telKeypad + onSendDtmf: smartSearchBar.text = smartSearchBar.previousText+dtmf + onVisibleChanged: if(!visible) smartSearchBar.previousText = '' // this is a way to reset search text + //call: incall.call + visible: SettingsModel.showTelKeypadAutomatically + } } } } diff --git a/linphone-app/ui/views/App/Styles/Calls/CallStyle.qml b/linphone-app/ui/views/App/Styles/Calls/CallStyle.qml index 1fc8f003d..f1313b992 100644 --- a/linphone-app/ui/views/App/Styles/Calls/CallStyle.qml +++ b/linphone-app/ui/views/App/Styles/Calls/CallStyle.qml @@ -130,9 +130,11 @@ QtObject { property color backgroundNormalColor : ColorsList.addImageColor(sectionName+'_'+name+'_bg_n', icon, 'me_n_b_bg').color property color backgroundHoveredColor : ColorsList.addImageColor(sectionName+'_'+name+'_bg_h', icon, 'me_h_b_bg').color property color backgroundPressedColor : ColorsList.addImageColor(sectionName+'_'+name+'_bg_p', icon, 'me_p_b_bg').color + property color backgroundUpdatingColor : ColorsList.addImageColor(sectionName+'_'+name+'_bg_u', icon, 'me_u_b_bg').color property color foregroundNormalColor : ColorsList.addImageColor(sectionName+'_'+name+'_fg_n', icon, 'me_n_b_fg').color property color foregroundHoveredColor : ColorsList.addImageColor(sectionName+'_'+name+'_fg_h', icon, 'me_h_b_fg').color property color foregroundPressedColor : ColorsList.addImageColor(sectionName+'_'+name+'_fg_p', icon, 'me_p_b_fg').color + property color foregroundUpdatingColor : ColorsList.addImageColor(sectionName+'_'+name+'_fg_u', icon, 'me_u_b_fg').color } property QtObject secure: QtObject { property int iconSize: 16 diff --git a/linphone-app/ui/views/App/Styles/Main/MainWindowStyle.qml b/linphone-app/ui/views/App/Styles/Main/MainWindowStyle.qml index 91020ce6b..087ecb2d4 100644 --- a/linphone-app/ui/views/App/Styles/Main/MainWindowStyle.qml +++ b/linphone-app/ui/views/App/Styles/Main/MainWindowStyle.qml @@ -83,6 +83,19 @@ QtObject { property color foregroundHoveredColor : ColorsList.addImageColor(sectionName+'_'+name+'_fg_h', icon, 'ma_h_b_fg').color property color foregroundPressedColor : ColorsList.addImageColor(sectionName+'_'+name+'_fg_p', icon, 'ma_p_b_fg').color } + property QtObject telKeyad: QtObject { + property int iconSize: 16 + property string name : 'telKeypad' + property string icon : 'tel_keypad_custom' + property color backgroundNormalColor : ColorsList.addImageColor(sectionName+'_'+name+'_bg_n', icon, 'l_n_b_bg').color + property color backgroundHoveredColor : ColorsList.addImageColor(sectionName+'_'+name+'_bg_h', icon, 'l_h_b_bg').color + property color backgroundPressedColor : ColorsList.addImageColor(sectionName+'_'+name+'_bg_p', icon, 'l_p_b_bg').color + property color backgroundUpdatingColor : ColorsList.addImageColor(sectionName+'_'+name+'_bg_u', icon, 'l_u_b_bg').color + property color foregroundNormalColor : ColorsList.addImageColor(sectionName+'_'+name+'_fg_n', icon, 'l_n_b_fg').color + property color foregroundHoveredColor : ColorsList.addImageColor(sectionName+'_'+name+'_fg_h', icon, 'l_h_b_fg').color + property color foregroundPressedColor : ColorsList.addImageColor(sectionName+'_'+name+'_fg_p', icon, 'l_p_b_fg').color + property color foregroundUpdatingColor : ColorsList.addImageColor(sectionName+'_'+name+'_fg_u', icon, 'l_u_b_fg').color + } property QtObject newChatGroup: QtObject { property int iconSize: 40 property string name : 'newChatGroup'