From dfa4d10c36d3180bc72bde24db06ea543cfff21a Mon Sep 17 00:00:00 2001 From: blue Date: Thu, 7 Nov 2019 14:17:46 +0300 Subject: [PATCH] some VCard polishing, missing icons and translations --- core/adapterFuctions.cpp | 231 +++++----- global.h | 6 +- resources/images/fallback/dark/big/add.svg | 14 + resources/images/fallback/dark/big/copy.svg | 14 + .../images/fallback/dark/big/favorite.svg | 14 + .../images/fallback/dark/big/unfavorite.svg | 14 + resources/images/fallback/dark/small/add.svg | 13 + resources/images/fallback/dark/small/copy.svg | 13 + .../images/fallback/dark/small/favorite.svg | 14 + .../images/fallback/dark/small/unfavorite.svg | 14 + resources/images/fallback/light/big/add.svg | 14 + resources/images/fallback/light/big/copy.svg | 14 + .../images/fallback/light/big/favorite.svg | 14 + .../images/fallback/light/big/unfavorite.svg | 14 + resources/images/fallback/light/small/add.svg | 13 + .../images/fallback/light/small/copy.svg | 13 + .../images/fallback/light/small/favorite.svg | 14 + .../fallback/light/small/unfavorite.svg | 14 + resources/resources.qrc | 16 + translations/squawk.ru.ts | 415 +++++++++++++----- ui/widgets/vcard/emailsmodel.cpp | 2 +- ui/widgets/vcard/phonesmodel.cpp | 4 +- ui/widgets/vcard/vcard.cpp | 40 +- ui/widgets/vcard/vcard.ui | 40 +- 24 files changed, 727 insertions(+), 247 deletions(-) create mode 100644 resources/images/fallback/dark/big/add.svg create mode 100644 resources/images/fallback/dark/big/copy.svg create mode 100644 resources/images/fallback/dark/big/favorite.svg create mode 100644 resources/images/fallback/dark/big/unfavorite.svg create mode 100644 resources/images/fallback/dark/small/add.svg create mode 100644 resources/images/fallback/dark/small/copy.svg create mode 100644 resources/images/fallback/dark/small/favorite.svg create mode 100644 resources/images/fallback/dark/small/unfavorite.svg create mode 100644 resources/images/fallback/light/big/add.svg create mode 100644 resources/images/fallback/light/big/copy.svg create mode 100644 resources/images/fallback/light/big/favorite.svg create mode 100644 resources/images/fallback/light/big/unfavorite.svg create mode 100644 resources/images/fallback/light/small/add.svg create mode 100644 resources/images/fallback/light/small/copy.svg create mode 100644 resources/images/fallback/light/small/favorite.svg create mode 100644 resources/images/fallback/light/small/unfavorite.svg diff --git a/core/adapterFuctions.cpp b/core/adapterFuctions.cpp index 0279533..e2559d8 100644 --- a/core/adapterFuctions.cpp +++ b/core/adapterFuctions.cpp @@ -39,22 +39,25 @@ void Core::initializeVCard(Shared::VCard& vCard, const QXmppVCardIq& card) QList emails = card.emails(); std::deque& myEmails = vCard.getEmails(); for (const QXmppVCardEmail& em : emails) { - QXmppVCardEmail::Type et = em.type(); - bool prefered = false; - bool accounted = false; - if (et & QXmppVCardEmail::Preferred) { - prefered = true; - } - if (et & QXmppVCardEmail::Home) { - myEmails.emplace_back(em.address(), Shared::VCard::Email::home, prefered); - accounted = true; - } - if (et & QXmppVCardEmail::Work) { - myEmails.emplace_back(em.address(), Shared::VCard::Email::work, prefered); - accounted = true; - } - if (!accounted) { - myEmails.emplace_back(em.address(), Shared::VCard::Email::none, prefered); + QString addr = em.address(); + if (addr.size() != 0) { + QXmppVCardEmail::Type et = em.type(); + bool prefered = false; + bool accounted = false; + if (et & QXmppVCardEmail::Preferred) { + prefered = true; + } + if (et & QXmppVCardEmail::Home) { + myEmails.emplace_back(addr, Shared::VCard::Email::home, prefered); + accounted = true; + } + if (et & QXmppVCardEmail::Work) { + myEmails.emplace_back(addr, Shared::VCard::Email::work, prefered); + accounted = true; + } + if (!accounted) { + myEmails.emplace_back(addr, Shared::VCard::Email::none, prefered); + } } } @@ -62,113 +65,115 @@ void Core::initializeVCard(Shared::VCard& vCard, const QXmppVCardIq& card) QList phones = card.phones(); std::deque& myPhones = vCard.getPhones(); for (const QXmppVCardPhone& ph : phones) { - Shared::VCard::Phone mPh(ph.number()); - QXmppVCardPhone::Type pt = ph.type(); - bool prefered = false; - bool accounted = false; - if (pt & QXmppVCardPhone::Preferred) { - prefered = true; - } - - bool home = false; - bool work = false; - - if (pt & QXmppVCardPhone::Home) { - home = true; - } - if (pt & QXmppVCardPhone::Work) { - work = true; - } - - - if (pt & QXmppVCardPhone::Fax) { - if (home || work) { - if (home) { - myPhones.emplace_back(ph.number(), Shared::VCard::Phone::fax, Shared::VCard::Phone::home, prefered); - } - if (work) { - myPhones.emplace_back(ph.number(), Shared::VCard::Phone::fax, Shared::VCard::Phone::work, prefered); - } - } else { - myPhones.emplace_back(ph.number(), Shared::VCard::Phone::fax, Shared::VCard::Phone::none, prefered); + QString num = ph.number(); + if (num.size() != 0) { + QXmppVCardPhone::Type pt = ph.type(); + bool prefered = false; + bool accounted = false; + if (pt & QXmppVCardPhone::Preferred) { + prefered = true; } - accounted = true; - } - if (pt & QXmppVCardPhone::Voice) { - if (home || work) { - if (home) { - myPhones.emplace_back(ph.number(), Shared::VCard::Phone::voice, Shared::VCard::Phone::home, prefered); - } - if (work) { - myPhones.emplace_back(ph.number(), Shared::VCard::Phone::voice, Shared::VCard::Phone::work, prefered); - } - } else { - myPhones.emplace_back(ph.number(), Shared::VCard::Phone::voice, Shared::VCard::Phone::none, prefered); + + bool home = false; + bool work = false; + + if (pt & QXmppVCardPhone::Home) { + home = true; } - accounted = true; - } - if (pt & QXmppVCardPhone::Pager) { - if (home || work) { - if (home) { - myPhones.emplace_back(ph.number(), Shared::VCard::Phone::pager, Shared::VCard::Phone::home, prefered); - } - if (work) { - myPhones.emplace_back(ph.number(), Shared::VCard::Phone::pager, Shared::VCard::Phone::work, prefered); - } - } else { - myPhones.emplace_back(ph.number(), Shared::VCard::Phone::pager, Shared::VCard::Phone::none, prefered); + if (pt & QXmppVCardPhone::Work) { + work = true; } - accounted = true; - } - if (pt & QXmppVCardPhone::Cell) { - if (home || work) { - if (home) { - myPhones.emplace_back(ph.number(), Shared::VCard::Phone::cell, Shared::VCard::Phone::home, prefered); + + + if (pt & QXmppVCardPhone::Fax) { + if (home || work) { + if (home) { + myPhones.emplace_back(num, Shared::VCard::Phone::fax, Shared::VCard::Phone::home, prefered); + } + if (work) { + myPhones.emplace_back(num, Shared::VCard::Phone::fax, Shared::VCard::Phone::work, prefered); + } + } else { + myPhones.emplace_back(num, Shared::VCard::Phone::fax, Shared::VCard::Phone::none, prefered); } - if (work) { - myPhones.emplace_back(ph.number(), Shared::VCard::Phone::cell, Shared::VCard::Phone::work, prefered); + accounted = true; + } + if (pt & QXmppVCardPhone::Voice) { + if (home || work) { + if (home) { + myPhones.emplace_back(num, Shared::VCard::Phone::voice, Shared::VCard::Phone::home, prefered); + } + if (work) { + myPhones.emplace_back(num, Shared::VCard::Phone::voice, Shared::VCard::Phone::work, prefered); + } + } else { + myPhones.emplace_back(num, Shared::VCard::Phone::voice, Shared::VCard::Phone::none, prefered); } - } else { - myPhones.emplace_back(ph.number(), Shared::VCard::Phone::cell, Shared::VCard::Phone::none, prefered); - } - accounted = true; - } - if (pt & QXmppVCardPhone::Video) { - if (home || work) { - if (home) { - myPhones.emplace_back(ph.number(), Shared::VCard::Phone::video, Shared::VCard::Phone::home, prefered); + accounted = true; + } + if (pt & QXmppVCardPhone::Pager) { + if (home || work) { + if (home) { + myPhones.emplace_back(num, Shared::VCard::Phone::pager, Shared::VCard::Phone::home, prefered); + } + if (work) { + myPhones.emplace_back(num, Shared::VCard::Phone::pager, Shared::VCard::Phone::work, prefered); + } + } else { + myPhones.emplace_back(num, Shared::VCard::Phone::pager, Shared::VCard::Phone::none, prefered); } - if (work) { - myPhones.emplace_back(ph.number(), Shared::VCard::Phone::video, Shared::VCard::Phone::work, prefered); + accounted = true; + } + if (pt & QXmppVCardPhone::Cell) { + if (home || work) { + if (home) { + myPhones.emplace_back(num, Shared::VCard::Phone::cell, Shared::VCard::Phone::home, prefered); + } + if (work) { + myPhones.emplace_back(num, Shared::VCard::Phone::cell, Shared::VCard::Phone::work, prefered); + } + } else { + myPhones.emplace_back(num, Shared::VCard::Phone::cell, Shared::VCard::Phone::none, prefered); } - } else { - myPhones.emplace_back(ph.number(), Shared::VCard::Phone::video, Shared::VCard::Phone::none, prefered); - } - accounted = true; - } - if (pt & QXmppVCardPhone::Modem) { - if (home || work) { - if (home) { - myPhones.emplace_back(ph.number(), Shared::VCard::Phone::modem, Shared::VCard::Phone::home, prefered); + accounted = true; + } + if (pt & QXmppVCardPhone::Video) { + if (home || work) { + if (home) { + myPhones.emplace_back(num, Shared::VCard::Phone::video, Shared::VCard::Phone::home, prefered); + } + if (work) { + myPhones.emplace_back(num, Shared::VCard::Phone::video, Shared::VCard::Phone::work, prefered); + } + } else { + myPhones.emplace_back(num, Shared::VCard::Phone::video, Shared::VCard::Phone::none, prefered); } - if (work) { - myPhones.emplace_back(ph.number(), Shared::VCard::Phone::modem, Shared::VCard::Phone::work, prefered); + accounted = true; + } + if (pt & QXmppVCardPhone::Modem) { + if (home || work) { + if (home) { + myPhones.emplace_back(num, Shared::VCard::Phone::modem, Shared::VCard::Phone::home, prefered); + } + if (work) { + myPhones.emplace_back(num, Shared::VCard::Phone::modem, Shared::VCard::Phone::work, prefered); + } + } else { + myPhones.emplace_back(num, Shared::VCard::Phone::modem, Shared::VCard::Phone::none, prefered); } - } else { - myPhones.emplace_back(ph.number(), Shared::VCard::Phone::modem, Shared::VCard::Phone::none, prefered); - } - accounted = true; - } - if (!accounted) { - if (home || work) { - if (home) { - myPhones.emplace_back(ph.number(), Shared::VCard::Phone::other, Shared::VCard::Phone::home, prefered); + accounted = true; + } + if (!accounted) { + if (home || work) { + if (home) { + myPhones.emplace_back(num, Shared::VCard::Phone::other, Shared::VCard::Phone::home, prefered); + } + if (work) { + myPhones.emplace_back(num, Shared::VCard::Phone::other, Shared::VCard::Phone::work, prefered); + } + } else { + myPhones.emplace_back(num, Shared::VCard::Phone::other, Shared::VCard::Phone::none, prefered); } - if (work) { - myPhones.emplace_back(ph.number(), Shared::VCard::Phone::other, Shared::VCard::Phone::work, prefered); - } - } else { - myPhones.emplace_back(ph.number(), Shared::VCard::Phone::other, Shared::VCard::Phone::none, prefered); } } } diff --git a/global.h b/global.h index ccb7317..d5d206e 100644 --- a/global.h +++ b/global.h @@ -457,7 +457,9 @@ static const std::map> icons = { {"state-ok", {"state-ok", "state-ok"}}, {"state-error", {"state-error", "state-error"}}, + {"edit-copy", {"edit-copy", "copy"}}, {"edit-delete", {"edit-delete", "edit-delete"}}, + {"edit-rename", {"edit-rename", "edit-rename"}}, {"mail-message", {"mail-message", "mail-message"}}, {"mail-attachment", {"mail-attachment", "mail-attachment"}}, {"network-connect", {"network-connect", "network-connect"}}, @@ -469,9 +471,11 @@ static const std::map> icons = { {"clean", {"edit-clear-all", "clean"}}, {"user", {"user", "user"}}, {"user-properties", {"user-properties", "user-properties"}}, - {"edit-rename", {"edit-rename", "edit-rename"}}, {"group", {"group", "group"}}, {"group-new", {"resurce-group-new", "group-new"}}, + {"favorite", {"favorite", "favorite"}}, + {"unfavorite", {"draw-star", "unfavorite"}}, + {"list-add", {"list-add", "add"}}, }; }; diff --git a/resources/images/fallback/dark/big/add.svg b/resources/images/fallback/dark/big/add.svg new file mode 100644 index 0000000..f9bae3c --- /dev/null +++ b/resources/images/fallback/dark/big/add.svg @@ -0,0 +1,14 @@ + + + + + + diff --git a/resources/images/fallback/dark/big/copy.svg b/resources/images/fallback/dark/big/copy.svg new file mode 100644 index 0000000..7470e5f --- /dev/null +++ b/resources/images/fallback/dark/big/copy.svg @@ -0,0 +1,14 @@ + + + + + + diff --git a/resources/images/fallback/dark/big/favorite.svg b/resources/images/fallback/dark/big/favorite.svg new file mode 100644 index 0000000..5751db6 --- /dev/null +++ b/resources/images/fallback/dark/big/favorite.svg @@ -0,0 +1,14 @@ + + + + + + diff --git a/resources/images/fallback/dark/big/unfavorite.svg b/resources/images/fallback/dark/big/unfavorite.svg new file mode 100644 index 0000000..3d128ea --- /dev/null +++ b/resources/images/fallback/dark/big/unfavorite.svg @@ -0,0 +1,14 @@ + + + + + + diff --git a/resources/images/fallback/dark/small/add.svg b/resources/images/fallback/dark/small/add.svg new file mode 100644 index 0000000..8779062 --- /dev/null +++ b/resources/images/fallback/dark/small/add.svg @@ -0,0 +1,13 @@ + + + + + + diff --git a/resources/images/fallback/dark/small/copy.svg b/resources/images/fallback/dark/small/copy.svg new file mode 100644 index 0000000..061d734 --- /dev/null +++ b/resources/images/fallback/dark/small/copy.svg @@ -0,0 +1,13 @@ + + + + + + diff --git a/resources/images/fallback/dark/small/favorite.svg b/resources/images/fallback/dark/small/favorite.svg new file mode 100644 index 0000000..5751db6 --- /dev/null +++ b/resources/images/fallback/dark/small/favorite.svg @@ -0,0 +1,14 @@ + + + + + + diff --git a/resources/images/fallback/dark/small/unfavorite.svg b/resources/images/fallback/dark/small/unfavorite.svg new file mode 100644 index 0000000..3d128ea --- /dev/null +++ b/resources/images/fallback/dark/small/unfavorite.svg @@ -0,0 +1,14 @@ + + + + + + diff --git a/resources/images/fallback/light/big/add.svg b/resources/images/fallback/light/big/add.svg new file mode 100644 index 0000000..0d6166a --- /dev/null +++ b/resources/images/fallback/light/big/add.svg @@ -0,0 +1,14 @@ + + + + + + diff --git a/resources/images/fallback/light/big/copy.svg b/resources/images/fallback/light/big/copy.svg new file mode 100644 index 0000000..427de29 --- /dev/null +++ b/resources/images/fallback/light/big/copy.svg @@ -0,0 +1,14 @@ + + + + + + diff --git a/resources/images/fallback/light/big/favorite.svg b/resources/images/fallback/light/big/favorite.svg new file mode 100644 index 0000000..f6025c6 --- /dev/null +++ b/resources/images/fallback/light/big/favorite.svg @@ -0,0 +1,14 @@ + + + + + + diff --git a/resources/images/fallback/light/big/unfavorite.svg b/resources/images/fallback/light/big/unfavorite.svg new file mode 100644 index 0000000..5eef7a3 --- /dev/null +++ b/resources/images/fallback/light/big/unfavorite.svg @@ -0,0 +1,14 @@ + + + + + + diff --git a/resources/images/fallback/light/small/add.svg b/resources/images/fallback/light/small/add.svg new file mode 100644 index 0000000..f05db06 --- /dev/null +++ b/resources/images/fallback/light/small/add.svg @@ -0,0 +1,13 @@ + + + + + + diff --git a/resources/images/fallback/light/small/copy.svg b/resources/images/fallback/light/small/copy.svg new file mode 100644 index 0000000..c557cef --- /dev/null +++ b/resources/images/fallback/light/small/copy.svg @@ -0,0 +1,13 @@ + + + + + + diff --git a/resources/images/fallback/light/small/favorite.svg b/resources/images/fallback/light/small/favorite.svg new file mode 100644 index 0000000..f6025c6 --- /dev/null +++ b/resources/images/fallback/light/small/favorite.svg @@ -0,0 +1,14 @@ + + + + + + diff --git a/resources/images/fallback/light/small/unfavorite.svg b/resources/images/fallback/light/small/unfavorite.svg new file mode 100644 index 0000000..5eef7a3 --- /dev/null +++ b/resources/images/fallback/light/small/unfavorite.svg @@ -0,0 +1,14 @@ + + + + + + diff --git a/resources/resources.qrc b/resources/resources.qrc index 3cfaa84..4fb3e5b 100644 --- a/resources/resources.qrc +++ b/resources/resources.qrc @@ -36,6 +36,10 @@ images/fallback/dark/big/group-new.svg images/fallback/dark/big/edit-rename.svg images/fallback/dark/big/user-properties.svg + images/fallback/dark/big/copy.svg + images/fallback/dark/big/favorite.svg + images/fallback/dark/big/unfavorite.svg + images/fallback/dark/big/add.svg images/fallback/dark/small/absent.svg @@ -72,6 +76,10 @@ images/fallback/dark/small/group-new.svg images/fallback/dark/small/edit-rename.svg images/fallback/dark/small/user-properties.svg + images/fallback/dark/small/copy.svg + images/fallback/dark/small/favorite.svg + images/fallback/dark/small/unfavorite.svg + images/fallback/dark/small/add.svg images/fallback/light/big/absent.svg @@ -108,6 +116,10 @@ images/fallback/light/big/group-new.svg images/fallback/light/big/edit-rename.svg images/fallback/light/big/user-properties.svg + images/fallback/light/big/copy.svg + images/fallback/light/big/favorite.svg + images/fallback/light/big/unfavorite.svg + images/fallback/light/big/add.svg images/fallback/light/small/absent.svg @@ -144,5 +156,9 @@ images/fallback/light/small/group-new.svg images/fallback/light/small/edit-rename.svg images/fallback/light/small/user-properties.svg + images/fallback/light/small/copy.svg + images/fallback/light/small/favorite.svg + images/fallback/light/small/unfavorite.svg + images/fallback/light/small/add.svg diff --git a/translations/squawk.ru.ts b/translations/squawk.ru.ts index bb1fdef..e7bae69 100644 --- a/translations/squawk.ru.ts +++ b/translations/squawk.ru.ts @@ -5,92 +5,77 @@ Account - Account Заголовок окна Учетная запись - Your account login Имя пользователя Вашей учетной записи - john_smith1987 ivan_ivanov1987 - Server Сервер - A server address of your account. Like 404.city or macaw.me Адресс сервера вашей учетной записи (выглядит как 404.city или macaw.me) - macaw.me macaw.me - Login Имя учетной записи - Password Пароль - Password of your account Пароль вашей учетной записи - Name Имя - Just a name how would you call this account, doesn't affect anything Просто имя, то как Вы называете свою учетную запись, может быть любым - John Иван - Resource Ресурс - A resource name like "Home" or "Work" Имя этой программы для ваших контактов, может быть "Home" или "Phone" - QXmpp Ресурс по умолчанию QXmpp @@ -100,44 +85,38 @@ Accounts - Accounts Учетные записи - Delete Удалить - Add Добавить - Edit Редактировать - Change password Изменить пароль - - - + + Connect Подключить - + Disconnect Отключить @@ -146,10 +125,14 @@ Conversation - Type your message here... Введите сообщение... + + + Chose a file to send + Выберите файл для отправки + Global @@ -253,67 +236,97 @@ Moderator Модератор + + Not specified + Не указан + + + Personal + Личный + + + Business + Рабочий + + + Fax + Факс + + + Pager + Пэйджер + + + Voice + Стационарный + + + Cell + Мобильный + + + Video + Видеофон + + + Modem + Модем + + + Other + Другой + JoinConference - Join new conference Заголовок окна Присоединиться к новой беседе - JID JID - Room JID Jabber-идентификатор беседы - identifier@conference.server.org identifier@conference.server.org - Account Учетная запись - Join on login Автовход - If checked Squawk will try to join this conference on login Если стоит галочка Squawk автоматически присоединится к этой беседе при подключении - Nick name Псевдоним - Your nick name for that conference. If you leave this field empty your account name will be used as a nick name Ваш псевдоним в этой беседе, если оставите это поле пустым - будет использовано имя Вашей учетной записи - John Ivan @@ -321,24 +334,24 @@ Message - + Download Скачать - + Error downloading file: %1 You can try again Ошибка загрузки файла: %1 Вы можете попробовать снова - + %1 is offering you to download a file %1 предлагает Вам скачать файл - + Open Открыть @@ -388,67 +401,67 @@ You can try again Models::Roster - + New messages Есть непрочитанные сообщения - - - + + + New messages: Новых сообщений: - + Jabber ID: Идентификатор: - - - + + + Availability: Доступность: - - - + + + Status: Статус: - - - + + + Subscription: Подписка: - + Affiliation: Я правда не знаю, как это объяснить, не то что перевести Причастность: - + Role: Роль: - + Online contacts: Контакстов в сети: - + Total contacts: Всего контактов: - + Members: Участников: @@ -457,57 +470,48 @@ You can try again NewContact - Add new contact Заголовок окна Добавление нового контакта - Account Учетная запись - An account that is going to have new contact Учетная запись для которой будет добавлен контакт - JID JID - Jabber id of your new contact Jabber-идентификатор нового контакта - name@server.dmn Placeholder поля ввода JID name@server.dmn - Name Имя - The way this new contact will be labeled in your roster (optional) То, как будет подписан контакт в вашем списке контактов (не обязательно) - John Smith Иван Иванов @@ -516,87 +520,91 @@ You can try again Squawk - squawk Squawk - - + Settings Настройки - - + Squawk Squawk - - + Accounts Учетные записи - - + Quit Выйти - - + Add contact Добавить контакт - - + Add conference Присоединиться к беседе - + + Contact list + Список контактов + + + Disconnect Отключить - + Connect Подключить - - - + + + VCard + Карточка + + + + + Remove Удалить - + Open dialog Открыть диалог - - + + Unsubscribe Отписаться - - + + Subscribe Подписаться - + Rename Переименовать - + Input new name for %1 or leave it empty for the contact to be displayed as %1 @@ -606,34 +614,245 @@ to be displayed as %1 %1 - + Renaming %1 Назначение имени контакту %1 - + Groups Группы - + New group Создать новую группу - + New group name Имя группы - + Add %1 to a new group Добавление %1 в новую группу - + Open conversation Открыть окно беседы + + + %1 account card + Карточка учетной записи %1 + + + + %1 contact card + Карточка контакта %1 + + + + Downloading vCard + Получение карточки + + + + VCard + + + Received 12.07.2007 at 17.35 + Не обновлялось + + + + + General + Общее + + + + Organization + Место работы + + + + Middle name + Среднее имя + + + + First name + Имя + + + + Last name + Фамилия + + + + Nick name + Псевдоним + + + + Birthday + Дата рождения + + + + Organization name + Название организации + + + + Unit / Department + Отдел + + + + Role / Profession + Профессия + + + + Job title + Наименование должности + + + + Full name + Полное имя + + + + Personal information + Личная информация + + + + Addresses + Адреса + + + + E-Mail addresses + Адреса электронной почты + + + + Phone numbers + Номера телефонов + + + + + Contact + Контактная информация + + + + Jabber ID + Jabber ID + + + + Web site + Веб сайт + + + + + Description + Описание + + + + Set avatar + Установить иконку + + + + Clear avatar + Убрать иконку + + + + Account %1 card + Карточка учетной записи %1 + + + + Contact %1 card + Карточка контакта %1 + + + + Received %1 at %2 + Получено %1 в %2 + + + + Chose your new avatar + Выберите новую иконку + + + + Images (*.png *.jpg *.jpeg) + Изображения (*.png *.jpg *.jpeg) + + + + Add email address + Добавить адрес электронной почты + + + + Unset this email as preferred + Убрать отметку "предпочтительный" с этого адреса + + + + Set this email as preferred + Отметить этот адрес как "предпочтительный" + + + + Remove selected email addresses + Удалить выбранные адреса + + + + Copy selected emails to clipboard + Скопировать выбранные адреса в буфер обмена + + + + Add phone number + Добавить номер телефона + + + + Unset this phone as preferred + Убрать отметку "предпочтительный" с этого номера + + + + Set this phone as preferred + Отметить этот номер как "предпочтительный" + + + + Remove selected phone numbers + Удалить выбранные телефонные номера + + + + Copy selected phones to clipboard + Скопировать выбранные телефонные номера в буфер обмена + diff --git a/ui/widgets/vcard/emailsmodel.cpp b/ui/widgets/vcard/emailsmodel.cpp index 18838ee..4044322 100644 --- a/ui/widgets/vcard/emailsmodel.cpp +++ b/ui/widgets/vcard/emailsmodel.cpp @@ -52,7 +52,7 @@ QVariant UI::VCard::EMailsModel::data(const QModelIndex& index, int role) const case 1: switch (role) { case Qt::DisplayRole: - return tr(Shared::VCard::Email::roleNames[deque[index.row()].role].toStdString().c_str()); + return QCoreApplication::translate("Global", Shared::VCard::Email::roleNames[deque[index.row()].role].toStdString().c_str()); case Qt::EditRole: return deque[index.row()].role; default: diff --git a/ui/widgets/vcard/phonesmodel.cpp b/ui/widgets/vcard/phonesmodel.cpp index 4371dff..df9cad6 100644 --- a/ui/widgets/vcard/phonesmodel.cpp +++ b/ui/widgets/vcard/phonesmodel.cpp @@ -52,7 +52,7 @@ QVariant UI::VCard::PhonesModel::data(const QModelIndex& index, int role) const case 1: switch (role) { case Qt::DisplayRole: - return tr(Shared::VCard::Phone::roleNames[deque[index.row()].role].toStdString().c_str()); + return QCoreApplication::translate("Global", Shared::VCard::Phone::roleNames[deque[index.row()].role].toStdString().c_str()); case Qt::EditRole: return deque[index.row()].role; default: @@ -62,7 +62,7 @@ QVariant UI::VCard::PhonesModel::data(const QModelIndex& index, int role) const case 2: switch (role) { case Qt::DisplayRole: - return tr(Shared::VCard::Phone::typeNames[deque[index.row()].type].toStdString().c_str()); + return QCoreApplication::translate("Global", Shared::VCard::Phone::typeNames[deque[index.row()].type].toStdString().c_str()); case Qt::EditRole: return deque[index.row()].type; default: diff --git a/ui/widgets/vcard/vcard.cpp b/ui/widgets/vcard/vcard.cpp index d66d6cd..44b5aa3 100644 --- a/ui/widgets/vcard/vcard.cpp +++ b/ui/widgets/vcard/vcard.cpp @@ -55,17 +55,17 @@ VCard::VCard(const QString& jid, bool edit, QWidget* parent): setAvatar->setEnabled(true); clearAvatar->setEnabled(false); - roleDelegate->addEntry(tr(Shared::VCard::Email::roleNames[0].toStdString().c_str())); - roleDelegate->addEntry(tr(Shared::VCard::Email::roleNames[1].toStdString().c_str())); - roleDelegate->addEntry(tr(Shared::VCard::Email::roleNames[2].toStdString().c_str())); + roleDelegate->addEntry(QCoreApplication::translate("Global", Shared::VCard::Email::roleNames[0].toStdString().c_str())); + roleDelegate->addEntry(QCoreApplication::translate("Global", Shared::VCard::Email::roleNames[1].toStdString().c_str())); + roleDelegate->addEntry(QCoreApplication::translate("Global", Shared::VCard::Email::roleNames[2].toStdString().c_str())); - phoneTypeDelegate->addEntry(tr(Shared::VCard::Phone::typeNames[0].toStdString().c_str())); - phoneTypeDelegate->addEntry(tr(Shared::VCard::Phone::typeNames[1].toStdString().c_str())); - phoneTypeDelegate->addEntry(tr(Shared::VCard::Phone::typeNames[2].toStdString().c_str())); - phoneTypeDelegate->addEntry(tr(Shared::VCard::Phone::typeNames[3].toStdString().c_str())); - phoneTypeDelegate->addEntry(tr(Shared::VCard::Phone::typeNames[4].toStdString().c_str())); - phoneTypeDelegate->addEntry(tr(Shared::VCard::Phone::typeNames[5].toStdString().c_str())); - phoneTypeDelegate->addEntry(tr(Shared::VCard::Phone::typeNames[6].toStdString().c_str())); + phoneTypeDelegate->addEntry(QCoreApplication::translate("Global", Shared::VCard::Phone::typeNames[0].toStdString().c_str())); + phoneTypeDelegate->addEntry(QCoreApplication::translate("Global", Shared::VCard::Phone::typeNames[1].toStdString().c_str())); + phoneTypeDelegate->addEntry(QCoreApplication::translate("Global", Shared::VCard::Phone::typeNames[2].toStdString().c_str())); + phoneTypeDelegate->addEntry(QCoreApplication::translate("Global", Shared::VCard::Phone::typeNames[3].toStdString().c_str())); + phoneTypeDelegate->addEntry(QCoreApplication::translate("Global", Shared::VCard::Phone::typeNames[4].toStdString().c_str())); + phoneTypeDelegate->addEntry(QCoreApplication::translate("Global", Shared::VCard::Phone::typeNames[5].toStdString().c_str())); + phoneTypeDelegate->addEntry(QCoreApplication::translate("Global", Shared::VCard::Phone::typeNames[6].toStdString().c_str())); m_ui->emailsView->setContextMenuPolicy(Qt::CustomContextMenu); m_ui->emailsView->setModel(&emails); @@ -317,7 +317,7 @@ void VCard::onContextMenu(const QPoint& point) if (selectionSize == 1) { int row = sm->selectedRows().at(0).row(); if (emails.isPreferred(row)) { - QAction* rev = contextMenu->addAction(Shared::icon("view-media-favorite"), tr("Unset this email as preferred")); + QAction* rev = contextMenu->addAction(Shared::icon("unfavorite"), tr("Unset this email as preferred")); connect(rev, &QAction::triggered, std::bind(&UI::VCard::EMailsModel::revertPreferred, &emails, row)); } else { QAction* rev = contextMenu->addAction(Shared::icon("favorite"), tr("Set this email as preferred")); @@ -325,12 +325,12 @@ void VCard::onContextMenu(const QPoint& point) } } - QAction* del = contextMenu->addAction(Shared::icon("remove"), tr("Remove selected email addresses")); + QAction* del = contextMenu->addAction(Shared::icon("edit-delete"), tr("Remove selected email addresses")); connect(del, &QAction::triggered, this, &VCard::onRemoveEmail); } } - QAction* cp = contextMenu->addAction(Shared::icon("copy"), tr("Copy selected emails to clipboard")); + QAction* cp = contextMenu->addAction(Shared::icon("edit-copy"), tr("Copy selected emails to clipboard")); connect(cp, &QAction::triggered, this, &VCard::onCopyEmail); } else if (snd == m_ui->phonesView) { hasMenu = true; @@ -353,12 +353,12 @@ void VCard::onContextMenu(const QPoint& point) } } - QAction* del = contextMenu->addAction(Shared::icon("remove"), tr("Remove selected phone numbers")); + QAction* del = contextMenu->addAction(Shared::icon("edit-delete"), tr("Remove selected phone numbers")); connect(del, &QAction::triggered, this, &VCard::onRemovePhone); } } - QAction* cp = contextMenu->addAction(Shared::icon("copy"), tr("Copy selected phones to clipboard")); + QAction* cp = contextMenu->addAction(Shared::icon("edit-copy"), tr("Copy selected phones to clipboard")); connect(cp, &QAction::triggered, this, &VCard::onCopyPhone); } @@ -431,32 +431,30 @@ void VCard::onRemovePhone() void VCard::onCopyEmail() { - QItemSelection selection(m_ui->emailsView->selectionModel()->selection()); + QList selection(m_ui->emailsView->selectionModel()->selectedRows()); QList addrs; - for (const QModelIndex& index : selection.indexes()) { + for (const QModelIndex& index : selection) { addrs.push_back(emails.getEmail(index.row())); } QString list = addrs.join("\n"); - qDebug() << list; QClipboard* cb = QApplication::clipboard(); cb->setText(list); } void VCard::onCopyPhone() { - QItemSelection selection(m_ui->phonesView->selectionModel()->selection()); + QList selection(m_ui->phonesView->selectionModel()->selectedRows()); QList phs; - for (const QModelIndex& index : selection.indexes()) { + for (const QModelIndex& index : selection) { phs.push_back(phones.getPhone(index.row())); } QString list = phs.join("\n"); - qDebug() << list; QClipboard* cb = QApplication::clipboard(); cb->setText(list); } diff --git a/ui/widgets/vcard/vcard.ui b/ui/widgets/vcard/vcard.ui index e08bf49..26db8f9 100644 --- a/ui/widgets/vcard/vcard.ui +++ b/ui/widgets/vcard/vcard.ui @@ -124,10 +124,10 @@ - + font: 600 16pt; - <html><head/><body><p><span style=" font-size:16pt; font-weight:600;">Organization</span></p></body></html> + Organization Qt::AlignCenter @@ -418,8 +418,11 @@ + + font: 600 24pt ; + - <html><head/><body><p><span style=" font-size:24pt; font-weight:600;">General</span></p></body></html> + General @@ -445,7 +448,7 @@ - + font: 600 16pt; QFrame::NoFrame @@ -454,7 +457,7 @@ QFrame::Plain - <html><head/><body><p><span style=" font-size:16pt; font-weight:600;">Personal information</span></p></body></html> + Personal information Qt::AlignCenter @@ -536,8 +539,11 @@ + + font: 600 24pt ; + - <html><head/><body><p><span style=" font-size:24pt; font-weight:600;">Contact</span></p></body></html> + Contact @@ -561,7 +567,7 @@ 0 0 566 - 497 + 498 @@ -640,8 +646,11 @@ + + font: 600 16pt; + - <html><head/><body><p><span style=" font-size:16pt; font-weight:600;">Addresses</span></p></body></html> + Addresses Qt::AlignCenter @@ -666,8 +675,11 @@ + + font: 600 16pt; + - <html><head/><body><p><span style=" font-size:16pt; font-weight:600;">E-Mail addresses</span></p></body></html> + E-Mail addresses Qt::AlignCenter @@ -748,8 +760,11 @@ + + font: 600 16pt; + - <html><head/><body><p><span style=" font-size:16pt; font-weight:600;">Phone numbers</span></p></body></html> + Phone numbers Qt::AlignCenter @@ -800,8 +815,11 @@ + + font: 600 24pt ; + - <html><head/><body><p><span style=" font-size:24pt; font-weight:600;">Description</span></p></body></html> + Description