settings redesigned a little, documents changed to files in lang

This commit is contained in:
John Preston 2015-02-09 13:26:59 +00:00
parent 69830d570f
commit a5d2558f5a
22 changed files with 106 additions and 100 deletions

View File

@ -121,7 +121,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
"lng_bad_name" = "Please enter your first and last name.";
"lng_bad_photo" = "Bad image selected.";
"lng_bad_image_for_photo" = "This image can't be sent that way.\nWould you like to send it as a document?";
"lng_bad_image_for_photo" = "This image can't be sent that way.\nWould you like to send it as a file?";
"lng_signup_title" = "Information and photo";
"lng_signup_desc" = "Please enter your name and\nupload a photo.";
@ -153,8 +153,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
"lng_settings_section_contact_info" = "Contact info";
"lng_settings_phone_number" = "Phone number:";
"lng_settings_username" = "Username:";
"lng_settings_choose_username" = "choose username";
"lng_settings_change_username" = "Change";
"lng_settings_choose_username" = "Choose username";
"lng_settings_section_notify" = "Notifications";
"lng_settings_desktop_notify" = "Desktop notifications";
@ -278,8 +277,8 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
"lng_profile_photos_header" = "Photos overview";
"lng_profile_videos" = "{count:_not_used_|# video file|# video files} »";
"lng_profile_videos_header" = "Video files overview";
"lng_profile_documents" = "{count:_not_used_|# document|# documents} »";
"lng_profile_documents_header" = "Documents overview";
"lng_profile_files" = "{count:_not_used_|# file|# files} »";
"lng_profile_files_header" = "Files overview";
"lng_profile_audios" = "{count:_not_used_|# voice message|# voice messages} »";
"lng_profile_audios_header" = "Voice messages overview";
"lng_profile_show_all_types" = "Show all types";
@ -313,13 +312,13 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
"lng_forwarded_from" = "Forwarded from";
"lng_attach_failed" = "Failed";
"lng_attach_file" = "Document";
"lng_attach_file" = "File";
"lng_attach_photo" = "Photo";
"lng_media_type" = "Media type";
"lng_media_type_photos" = "Photos";
"lng_media_type_videos" = "Video files";
"lng_media_type_documents" = "Documents";
"lng_media_type_files" = "Files";
"lng_media_type_audios" = "Voice messages";
"lng_media_open_with" = "Open With";
@ -332,7 +331,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
"lng_in_dlg_video" = "Video";
"lng_in_dlg_contact" = "Contact";
"lng_in_dlg_audio" = "Audio";
"lng_in_dlg_document" = "Document";
"lng_in_dlg_file" = "File";
"lng_in_dlg_sticker" = "Sticker";
"lng_in_dlg_sticker_emoji" = "{emoji} (sticker)";
@ -353,7 +352,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
"lng_save_photo" = "Save image";
"lng_save_video" = "Save video";
"lng_save_audio" = "Save audio";
"lng_save_document" = "Save document";
"lng_save_file" = "Save file";
"lng_save_downloaded" = "{ready} / {total} {mb}";
"lng_duration_and_size" = "{duration}, {size}";
"lng_choose_images" = "Choose images";
@ -377,8 +376,8 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
"lng_context_save_video" = "Save Video As..";
"lng_context_open_audio" = "Open Audio";
"lng_context_save_audio" = "Save Audio As..";
"lng_context_open_document" = "Open File";
"lng_context_save_document" = "Save File As..";
"lng_context_open_file" = "Open File";
"lng_context_save_file" = "Save File As..";
"lng_context_forward_file" = "Forward File";
"lng_context_delete_file" = "Delete File";
"lng_context_close_file" = "Close File";
@ -424,7 +423,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
"lng_drag_to_send_quick" = "to send them in a quick way";
"lng_drag_to_send_no_compression" = "to send them without compression";
"lng_drag_to_send_documents" = "to send them as documents";
"lng_drag_to_send_files" = "to send them as files";
"lng_selected_clear" = "Cancel";
"lng_selected_delete" = "Delete";
@ -449,7 +448,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
"lng_mediaview_group_photo" = "Group Photo";
"lng_mediaview_profile_photo" = "Profile Photo";
"lng_mediaview_n_of_count" = "Photo {n} of {count}";
"lng_mediaview_doc_image" = "Document";
"lng_mediaview_doc_image" = "File";
"lng_mediaview_today" = "today at {time}";
"lng_mediaview_yesterday" = "yesterday at {time}";
"lng_mediaview_date_time" = "{date} at {time}";
@ -458,9 +457,9 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
"lng_new_authorization" = "{name},\nWe detected a login into your account from a new device on {day}, {date} at {time}\n\nDevice: {device}\nLocation: {location}\n\nIf this wasn't you, you can go to Settings — Terminate other sessions.\n\nThanks,\nThe Telegram Team";
"lng_new_version_minor" = "Telegram Desktop was updated to version {version}\n\n — Bug fixes and other minor improvements\n\nFull version history is available here:\n{link}";
"lng_new_version7009" = "Telegram Desktop was updated to version {version}\n\n — Added Korean language\n — Quick «open with» menu on Windows and OS X\n\nFull version history is available here:\n{link}";
"lng_new_version_wrap" = "Telegram Desktop was updated to version {version}\n\n{changes}\n\nFull version history is available here:\n{link}";
"lng_new_version_minor" = "— Bug fixes and other minor improvements";
"lng_new_version7013" = "— You can now change the chat background";
"lng_new_version7006_appstore" = "Telegram Desktop was updated to version {version}\n\n — Stickers support\n — Local caching for voice messages\n — Added new languages\n\nFull version history is available here:\n{link}";
// Wnd specific

View File

@ -497,19 +497,20 @@ introErrLabel: flatLabel(labelDefFlat) {
setWidth: 356px;
setTop: 26px;
setNameLeft: 3px;
setNameTop: 1px;
setNameFont: font(22px);
setStatusTop: 39px;
setStatusLeft: 1px;
setStatusFont: font(16px);
setNameTop: 5px;
setNameFont: font(18px);
setStatusTop: 35px;
setStatusLeft: 3px;
setStatusFont: font(14px);
setPhotoSize: 120px;
setHeaderFont: font(20px);
setHeaderFont: font(17px);
setHeaderColor: black;
setHeaderSkip: 59px;
setHeaderSkip: 60px;
setHeaderLeft: -1px;
setHeaderTop: 22px;
setHeaderTop: 26px;
setLittleSkip: 9px;
setSectionSkip: 25px;
setContactInfoLeft: 150px;
setVersionHeight: 41px;
setVersionLeft: 36px;
setVersionTop: 3px;

View File

@ -511,8 +511,8 @@ void Application::startUpdateCheck(bool forceWait) {
updateCheckTimer.stop();
if (updateRequestId || updateThread || updateReply || !cAutoUpdate()) return;
int32 updateInSecs = cLastUpdateCheck() + 3600 + (rand() % 3600) - unixtime();
bool sendRequest = (updateInSecs <= 0 || updateInSecs > 7200);
int32 updateInSecs = cLastUpdateCheck() + UpdateDelayConstPart + (rand() % UpdateDelayRandPart) - unixtime();
bool sendRequest = (updateInSecs <= 0 || updateInSecs > (UpdateDelayConstPart + UpdateDelayRandPart));
if (!sendRequest && !forceWait) {
QDir updates(cWorkingDir() + "tupdates");
if (updates.exists()) {
@ -689,7 +689,6 @@ void Application::startApp() {
App::initMedia();
DEBUG_LOG(("Application Info: showing."));
if (MTP::authedId()) {
window->setupMain(false);
} else {
@ -706,17 +705,15 @@ void Application::startApp() {
if (Local::oldMapVersion() < AppVersion) {
psRegisterCustomScheme();
if (Local::oldMapVersion()) {
QString versionFeatures;
if (DevChannel && Local::oldMapVersion() < 7012) {
QString versionFeatures(qsl("Telegram Desktop was updated to version {version}\n\n{changes}\n\nFull version history is available here:\n{link}"));
versionFeatures = versionFeatures.replace(qsl("{changes}"), QString::fromUtf8(" \xe2\x80\x94 Chat background settings translated"));
versionFeatures = versionFeatures.replace(qsl("{version}"), QString::fromStdWString(AppVersionStr) + qsl(" dev"));
versionFeatures = versionFeatures.replace(qsl("{link}"), qsl("https://desktop.telegram.org/#changelog"));
versionFeatures = QString::fromUtf8("\xe2\x80\x94 Chat background settings translated");
} else if (!DevChannel && Local::oldMapVersion() < 7013) {
versionFeatures = lang(lng_new_version7013).trimmed();
}
if (!versionFeatures.isEmpty()) {
versionFeatures = lng_new_version_wrap(lt_version, QString::fromStdWString(AppVersionStr), lt_changes, versionFeatures, lt_link, qsl("https://desktop.telegram.org/#changelog"));
window->serviceNotification(versionFeatures);
} else if (!DevChannel && Local::oldMapVersion() < 7010) {
QString versionFeatures(lng_new_version_minor(lt_version, QString::fromStdWString(AppVersionStr), lt_link, qsl("https://desktop.telegram.org/#changelog")));
if (!versionFeatures.isEmpty()) {
window->serviceNotification(versionFeatures);
}
}
}
}

View File

@ -120,6 +120,9 @@ enum {
CacheBackgroundTimeout = 3000, // cache background scaled image after 3s
BackgroundsInRow = 3,
UpdateDelayConstPart = 8 * 3600, // 8 hour min time between update check requests
UpdateDelayRandPart = 8 * 3600, // 8 hour max - min time between update check requests
};
inline bool isServiceUser(uint64 id) {

View File

@ -23,12 +23,24 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
#include "localstorage.h"
#include "lang.h"
#include "window.h"
Dropdown::Dropdown(QWidget *parent) : TWidget(parent),
_hiding(false), a_opacity(0), _shadow(st::dropdownShadow) {
resetButtons();
_hideTimer.setSingleShot(true);
connect(&_hideTimer, SIGNAL(timeout()), this, SLOT(hideStart()));
if (cPlatform() == dbipMac) {
connect(App::wnd()->windowHandle(), SIGNAL(activeChanged()), this, SLOT(onWndActiveChanged()));
}
}
void Dropdown::onWndActiveChanged() {
if (!App::wnd()->windowHandle()->isActive() && !isHidden()) {
leaveEvent(0);
}
}
IconedButton *Dropdown::addButton(IconedButton *button) {
@ -684,6 +696,16 @@ _scroll(this, st::emojiScroll), _inner() {
connect(&_inner, SIGNAL(emojiSelected(EmojiPtr)), this, SIGNAL(emojiSelected(EmojiPtr)));
connect(&_inner, SIGNAL(stickerSelected(DocumentData*)), this, SIGNAL(stickerSelected(DocumentData*)));
if (cPlatform() == dbipMac) {
connect(App::wnd()->windowHandle(), SIGNAL(activeChanged()), this, SLOT(onWndActiveChanged()));
}
}
void EmojiPan::onWndActiveChanged() {
if (!App::wnd()->windowHandle()->isActive() && !isHidden()) {
leaveEvent(0);
}
}
void EmojiPan::paintEvent(QPaintEvent *e) {

View File

@ -50,6 +50,7 @@ public slots:
void hideFinish();
void showStart();
void onWndActiveChanged();
private:
@ -193,6 +194,7 @@ public slots:
void hideFinish();
void showStart();
void onWndActiveChanged();
void onTabChange();

View File

@ -673,7 +673,7 @@ void DocumentOpenLink::onClick(Qt::MouseButton button) const {
filter = mimeType.filterString() + qsl(";;All files (*.*)");
}
QString filename = saveFileName(lang(lng_save_document), filter, qsl("doc"), name, false);
QString filename = saveFileName(lang(lng_save_file), filter, qsl("doc"), name, false);
if (!filename.isEmpty()) {
data->openOnSave = 1;
data->openOnSaveMsgId = App::hoveredLinkItem() ? App::hoveredLinkItem()->id : 0;
@ -707,7 +707,7 @@ void DocumentSaveLink::doSave(bool forceSavingAs) const {
filter = mimeType.filterString() + qsl(";;All files (*.*)");
}
QString filename = saveFileName(lang(lng_save_document), filter, qsl("doc"), name, forceSavingAs, alreadyDir);
QString filename = saveFileName(lang(lng_save_file), filter, qsl("doc"), name, forceSavingAs, alreadyDir);
if (!filename.isEmpty()) {
if (forceSavingAs) {
data->cancel();
@ -2985,11 +2985,11 @@ int32 HistoryDocument::resize(int32 width, bool dontRecountText, const HistoryIt
}
const QString HistoryDocument::inDialogsText() const {
return data->name.isEmpty() ? lang(lng_in_dlg_document) : data->name;
return data->name.isEmpty() ? lang(lng_in_dlg_file) : data->name;
}
const QString HistoryDocument::inHistoryText() const {
return qsl("[ ") + lang(lng_in_dlg_document) + (data->name.isEmpty() ? QString() : (qsl(" : ") + data->name)) + qsl(" ]");
return qsl("[ ") + lang(lng_in_dlg_file) + (data->name.isEmpty() ? QString() : (qsl(" : ") + data->name)) + qsl(" ]");
}
bool HistoryDocument::hasPoint(int32 x, int32 y, const HistoryItem *parent, int32 width) const {

View File

@ -657,8 +657,8 @@ void HistoryList::showContextMenu(QContextMenuEvent *e, bool showFromTouch) {
if ((lnkVideo && !lnkVideo->video()->already(true).isEmpty()) || (lnkAudio && !lnkAudio->audio()->already(true).isEmpty()) || (lnkDocument && !lnkDocument->document()->already(true).isEmpty())) {
_menu->addAction(lang(cPlatform() == dbipMac ? lng_context_show_in_finder : lng_context_show_in_folder), this, SLOT(showContextInFolder()))->setEnabled(true);
}
_menu->addAction(lang(lnkVideo ? lng_context_open_video : (lnkAudio ? lng_context_open_audio : lng_context_open_document)), this, SLOT(openContextFile()))->setEnabled(true);
_menu->addAction(lang(lnkVideo ? lng_context_save_video : (lnkAudio ? lng_context_save_audio : lng_context_save_document)), this, SLOT(saveContextFile()))->setEnabled(true);
_menu->addAction(lang(lnkVideo ? lng_context_open_video : (lnkAudio ? lng_context_open_audio : lng_context_open_file)), this, SLOT(openContextFile()))->setEnabled(true);
_menu->addAction(lang(lnkVideo ? lng_context_save_video : (lnkAudio ? lng_context_save_audio : lng_context_save_file)), this, SLOT(saveContextFile()))->setEnabled(true);
}
}
if (isUponSelected > 1) {
@ -2788,7 +2788,7 @@ void HistoryWidget::updateDragAreas() {
break;
case DragStateFiles:
_attachDragDocument.otherEnter();
_attachDragDocument.setText(lang(lng_drag_files_here), lang(lng_drag_to_send_documents));
_attachDragDocument.setText(lang(lng_drag_files_here), lang(lng_drag_to_send_files));
_attachDragPhoto.fastHide();
break;
case DragStatePhotoFiles:

View File

@ -458,9 +458,9 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
"lng_new_authorization" = "{name},\n\nwir haben eine Anmeldung von einem neuen Gerät am {day}, {date} um {time} festgestellt. \n\nGerät: {device}\nStandort: {location}\n\nWarst du das selbst? Wenn du das nicht selbst gewesen bist, melde alle anderen Sitzungen in den Telegram Einstellungen unverzüglich ab. \n\nDanke,\nDein Telegram Team";
"lng_new_version_minor" = "Telegram Desktop wurde auf Version {version} aktualisiert\n\n— Fehlerbehebungen und Softwareoptimierungen\n\nKompletter Versionsverlauf:\n{link}";
"lng_new_version7009" = "Telegram Desktop wurde auf Version {version} aktualisiert\n\n— Koreanische Sprache hinzugefügt\n— Neues \"Öffnen mit\" Menü bei Windows und OS X\n\nKompletter Versionsverlauf:\n{link}";
"lng_new_version_wrap" = "Telegram Desktop wurde aktualisiert auf Version {version}\n\n{changes}\n\nGesamter Versionsverlauf:\n{link}";
"lng_new_version_minor" = "— Fehlerbehebungen und Softwareoptimierungen";
"lng_new_version7013" = "— Chat-Hintergrundbild kann in den Einstellungen geändert werden";
"lng_new_version7006_appstore" = "Telegram Desktop wurde auf Version {version} aktualisiert\n\n— Sticker werden unterstützt\n— Sprachnachrichten werden temporär lokal gespeichert\n— Neue Sprachen hinzugefügt\n\nKompletter Versionsverlauf ist hier zu finden:\n{link}";
// Wnd specific

View File

@ -458,9 +458,9 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
"lng_new_authorization" = "{name},\nDetectamos un inicio de sesión en tu cuenta desde un nuevo dispositivo el {day}, {date} a las {time}\n\nDispositivo: {device}\nUbicación: {location}\n\nSi no eras tú, puedes ir a Ajustes — Cerrar todas las otras sesiones.\n\nGracias.\nEl equipo de Telegram";
"lng_new_version_minor" = "Telegram Desktop fue actualizada a la versión {version}\n\n — Arreglo de bugs y otras mejoras menores\n\nEl historial completo está disponible aquí:\n{link}";
"lng_new_version7009" = "Telegram Desktop fue actualizada a la versión {version}\n\n Se añadió el idioma coreano\n Menú rápido para «abrir con» en Windows y OS X\n\nEl historial completo está disponible aquí:\n{link}";
"lng_new_version_wrap" = "Telegram Desktop fue actualizada a la versión {version}\n\n{changes}\n\nEl historial completo está disponible aquí:\n{link}";
"lng_new_version_minor" = "— Corrección de errores y otras mejoras menores";
"lng_new_version7013" = "— Ahora puedes cambiar el fondo del chat";
"lng_new_version7006_appstore" = "Telegram Desktop fue actualizada a la versión {version}\n\n Soporte para stickers\n Caché local para mensajes de voz\n Nuevos idiomas añadidos\n\nLa versión completa del historial está disponible aquí:\n{link} ";
// Wnd specific

View File

@ -458,9 +458,9 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
"lng_new_authorization" = "{name},\nAbbiamo rilevato un accesso al tuo account da un nuovo dispositivo il {day}, {date} alle {time}\n\nDispositivo: {device}\nPosizione: {location}\n\nSe non sei tu, puoi andare su Impostazioni Termina tutte le sessioni. \n\nGrazie, \nIl Team di Telegram";
"lng_new_version_minor" = "Telegram Desktop è stato aggiornato alla versione {version}\n\n— Bug fix e altri miglioramenti\n\nLa cronologia degli update è disponibile qui:\n{link}";
"lng_new_version7009" = "Telegram Desktop è stato aggiornato alla versione {version}\n\n— Aggiunto il Coreano\n— Menu rapido \"Apri con\" su Windows e OS X\n\nLa cronologia degli update è disponibile qui:\n{link}";
"lng_new_version_wrap" = "Telegram Desktop si è aggiornato alla versione {version}\n\n{changes}\n\nLa cronologia degli update è disponibile qui:\n{link}";
"lng_new_version_minor" = "— Bug fix e altri miglioramenti minori";
"lng_new_version7013" = "— Puoi ora cambiare lo sfondo delle chat";
"lng_new_version7006_appstore" = "Telegram Desktop è stato aggiornato alla versione {version}\n\n— Aggiunto il supporto agli sticker\n— Cache locale per i messaggi vocali\n— Aggiunte nuove lingue\n\nLa cronologia degli update è disponibile qui:\n{link}";
// Wnd specific

View File

@ -458,9 +458,9 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
"lng_new_authorization" = "{name}님,\n{day}, {date} {time}에 새 기기에서 회원님의 계정에 로그인하였습니다.\n\n기기: {device}\n위치: {location}\n\n본인의 접속이 아니라면 '설정'으로 가서 '다른 모든 세션 종료'를 실행하세요.\n\n감사합니다.\n텔레그램 팀 드림";
"lng_new_version_minor" = "텔레그램 데스크탑은 {version} 버전으로 업데이트 되었습니다. \n\n— 버그 수정 및 일부 기능 향상\n\n 전체 버전 히스토리는 아래에서 확인 가능합니다:\n{link}";
"lng_new_version7009" = "텔레그램 데스크탑은 {version} 버전으로 업데이트 되었습니다. \n\n— 한국어 추가\n— 윈도우와 윈도우와 맥에 «다음으로 실행» 퀵메뉴 추가\n\n 전체 버전 히스토리는 아래에서 확인 가능합니다: {link}";
"lng_new_version_wrap" = "텔레그램 데스크탑은 {version} 버전으로 업데이트 되었습니다.\n\n{changes}\n\n전체 버전 히스토리는 아래에서 확인 가능합니다:\n{link}";
"lng_new_version_minor" = "— 버그 수정 및 일부 기능 향상";
"lng_new_version7013" = "— 대화방 배경 변경 가능";
"lng_new_version7006_appstore" = "텔레그램 데스크탑은 {version} 버전으로 업데이트 되었습니다.\n\n— 스티커 지원\n— 음성 메시지 로컬 캐싱\n— 언어 추가\n\n전체 버전 히스토리는 아래에서 확인 가능합니다:\n{link}";
// Wnd specific

View File

@ -458,9 +458,9 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
"lng_new_authorization" = "{name},\nEr is op je account ingelogd vanaf een nieuw apparaat op {day}, {date} om {time}\n\nApparaat: {device}\nLocatie: {location}\n\nAls jij dit niet was, kun je alle sessies beëindigen via Instellingen Beëindig alle andere sessies.\n\nBedankt,\nHet Telegram-Team";
"lng_new_version_minor" = "Telegram is bijgewerkt naar versie {version}\n\n— Probleemoplossing en andere kleine verbeteringen\n\nVolledige versiegeschiedenis is hier te vinden:\n{link}";
"lng_new_version7009" = "Telegram is bijgewerkt naar versie {version}\n\n— Koreaans toegevoegd.\n— Snel «openen met» menu voor Windows en OS X\n\nVolledige versiegeschiedenis is hier te vinden:\n{link}";
"lng_new_version_wrap" = "Telegram is bijgewerkt naar versie {version}\n\n{changes} \n\nVolledige versiegeschiedenis is hier te vinden:\n{link}";
"lng_new_version_minor" = "— Probleemoplossing en andere kleine verbeteringen";
"lng_new_version7013" = "— Je kunt nu een chatachtergrond instellen";
"lng_new_version7006_appstore" = "Telegram is bijgewerkt naar versie {version}\n\n— Ondersteuning voor Stickers\n— Lokale cache voor spraakberichten\n— Nieuwe talen toegevoegd\n\nVolledige versiegeschiedenis is hier te vinden:\n{link}";
// Wnd specific

View File

@ -194,7 +194,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
"lng_settings_send_cmdenter" = "Enviar com Cmd+Enter";
"lng_settings_section_background" = "Papel de Parede";
"lng_settings_bg_from_gallery" = "Escolher da galeria";
"lng_settings_bg_from_gallery" = "Escolher da galeria";
"lng_settings_bg_from_file" = "Escolher dos arquivos";
"lng_settings_bg_tile" = "Lado-a-lado";
@ -458,9 +458,9 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
"lng_new_authorization" = "{name},\nDetectamos um acesso à sua conta de um novo dispositivo em {day}, {date} às {time}\n\nDispositivo: {device}\nLocalização: {location}\n\nCaso não tenha sido você, vá em Configurações Terminar todas as outras sessões.\n\nObrigado,\nEquipe Telegram";
"lng_new_version_minor" = "Telegram Desktop foi atualizado para a versão {version}\n\n — Resolução de bugs e pequenas melhorias\n\nHistórico completo da atualização disponível aqui:\n{link}";
"lng_new_version7009" = "Telegram Desktop foi atualizado para a versão {version}\n\n — Adicionado o idioma Coreano\n — Menu rápido «abrir com» no Windows e OS X\n\nHistórico completo da atualização disponível aqui:\n{link}";
"lng_new_version_wrap" = "Telegram Desktop foi atualizado para a versão {version}\n\n{changes}\n\nVersão completa do histórico disponível aqui:\n{link}";
"lng_new_version_minor" = "— Resolução de bugs e outras menores melhorias";
"lng_new_version7013" = "— Agora você pode alterar o papel de parede do chat";
"lng_new_version7006_appstore" = "Telegram Desktop foi atualizado para a versão {version}\n\n — Suporte à stickers\n — Cache local para mensagens de voz\n — Adicionadas novas linguagens\n\nHistórico completo da versão disponível aqui:\n{link}";
// Wnd specific

View File

@ -913,7 +913,7 @@ void MainWidget::mediaOverviewUpdated(PeerData *peer) {
switch (i) {
case OverviewPhotos: connect(_mediaType.addButton(new IconedButton(this, st::dropdownMediaPhotos, lang(lng_media_type_photos))), SIGNAL(clicked()), this, SLOT(onPhotosSelect())); break;
case OverviewVideos: connect(_mediaType.addButton(new IconedButton(this, st::dropdownMediaVideos, lang(lng_media_type_videos))), SIGNAL(clicked()), this, SLOT(onVideosSelect())); break;
case OverviewDocuments: connect(_mediaType.addButton(new IconedButton(this, st::dropdownMediaDocuments, lang(lng_media_type_documents))), SIGNAL(clicked()), this, SLOT(onDocumentsSelect())); break;
case OverviewDocuments: connect(_mediaType.addButton(new IconedButton(this, st::dropdownMediaDocuments, lang(lng_media_type_files))), SIGNAL(clicked()), this, SLOT(onDocumentsSelect())); break;
case OverviewAudios: connect(_mediaType.addButton(new IconedButton(this, st::dropdownMediaAudios, lang(lng_media_type_audios))), SIGNAL(clicked()), this, SLOT(onAudiosSelect())); break;
}
}

View File

@ -1125,7 +1125,7 @@ void MediaView::contextMenuEvent(QContextMenuEvent *e) {
if (!_doc->already(true).isEmpty()) {
_menu->addAction(lang(cPlatform() == dbipMac ? lng_context_show_in_finder : lng_context_show_in_folder), this, SLOT(onShowInFolder()))->setEnabled(true);
}
_menu->addAction(lang(lng_context_save_document), this, SLOT(onSave()))->setEnabled(true);
_menu->addAction(lang(lng_context_save_file), this, SLOT(onSave()))->setEnabled(true);
_menu->addAction(lang(lng_context_close_file), this, SLOT(onClose()))->setEnabled(true);
if (_msgid) {
_menu->addAction(lang(lng_context_forward_file), this, SLOT(onForward()))->setEnabled(true);

View File

@ -201,13 +201,14 @@ namespace {
if (keysFile.open(QIODevice::ReadOnly)) {
DEBUG_LOG(("MTP Info: keys file opened for reading"));
int32 oldFound = readAuthKeys(keysFile);
if (gDCOptions.isEmpty() || (mainDC && gDCOptions.find(mainDC) == gDCOptions.cend())) { // load first dc info
if (gDCOptions.isEmpty()) {
const BuiltInDc *bdcs = builtInDcs();
for (int i = 0, l = builtInDcsCount(); i < l; ++i) {
gDCOptions.insert(bdcs[i].id, mtpDcOption(bdcs[i].id, "", bdcs[i].ip, bdcs[i].port));
DEBUG_LOG(("MTP Info: adding built in DC %1 connect option: %2:%3").arg(bdcs[i].id).arg(bdcs[i].ip).arg(bdcs[i].port));
}
}
if (mainDC && gDCOptions.find(mainDC) == gDCOptions.cend()) { // load first dc info
userId = 0;
mainDC = (gDCOptions.constFind(2) == gDCOptions.cend()) ? gDCOptions.begin().key() : 2;
} else {
@ -515,12 +516,10 @@ void mtpWriteConfig(QDataStream &stream) {
if (userId) {
stream << quint32(dbiUser) << qint32(userId) << quint32(mainDC);
}
if (configLoadedOnce) {
for (mtpDcOptions::const_iterator i = gDCOptions.cbegin(), e = gDCOptions.cend(); i != e; ++i) {
stream << quint32(dbiDcOption) << i->id << QString(i->host.c_str()) << QString(i->ip.c_str()) << i->port;
}
stream << quint32(dbiConfig1) << qint32(cMaxGroupCount());
for (mtpDcOptions::const_iterator i = gDCOptions.cbegin(), e = gDCOptions.cend(); i != e; ++i) {
stream << quint32(dbiDcOption) << i->id << QString(i->host.c_str()) << QString(i->ip.c_str()) << i->port;
}
stream << quint32(dbiConfig1) << qint32(cMaxGroupCount());
}
bool mtpReadConfigElem(int32 blockId, QDataStream &stream) {

View File

@ -1073,8 +1073,8 @@ void OverviewInner::showContextMenu(QContextMenuEvent *e, bool showFromTouch) {
if ((lnkVideo && !lnkVideo->video()->already(true).isEmpty()) || (lnkAudio && !lnkAudio->audio()->already(true).isEmpty()) || (lnkDocument && !lnkDocument->document()->already(true).isEmpty())) {
_menu->addAction(lang(cPlatform() == dbipMac ? lng_context_show_in_finder : lng_context_show_in_folder), this, SLOT(showContextInFolder()))->setEnabled(true);
}
_menu->addAction(lang(lnkVideo ? lng_context_open_video : (lnkAudio ? lng_context_open_audio : lng_context_open_document)), this, SLOT(openContextFile()))->setEnabled(true);
_menu->addAction(lang(lnkVideo ? lng_context_save_video : (lnkAudio ? lng_context_save_audio : lng_context_save_document)), this, SLOT(saveContextFile()))->setEnabled(true);
_menu->addAction(lang(lnkVideo ? lng_context_open_video : (lnkAudio ? lng_context_open_audio : lng_context_open_file)), this, SLOT(openContextFile()))->setEnabled(true);
_menu->addAction(lang(lnkVideo ? lng_context_save_video : (lnkAudio ? lng_context_save_audio : lng_context_save_file)), this, SLOT(saveContextFile()))->setEnabled(true);
}
}
if (isUponSelected > 1) {
@ -1669,7 +1669,7 @@ void OverviewWidget::switchType(MediaOverviewType type) {
switch (type) {
case OverviewPhotos: _header = lang(lng_profile_photos_header); break;
case OverviewVideos: _header = lang(lng_profile_videos_header); break;
case OverviewDocuments: _header = lang(lng_profile_documents_header); break;
case OverviewDocuments: _header = lang(lng_profile_files_header); break;
case OverviewAudios: _header = lang(lng_profile_audios_header); break;
}
noSelectingScroll();

View File

@ -876,7 +876,7 @@ QString ProfileInner::overviewLinkText(int32 type, int32 count) {
switch (type) {
case OverviewPhotos: return lng_profile_photos(lt_count, count);
case OverviewVideos: return lng_profile_videos(lt_count, count);
case OverviewDocuments: return lng_profile_documents(lt_count, count);
case OverviewDocuments: return lng_profile_files(lt_count, count);
case OverviewAudios: return lng_profile_audios(lt_count, count);
}
return QString();

View File

@ -111,11 +111,7 @@ SettingsInner::SettingsInner(SettingsWidget *parent) : QWidget(parent),
// contact info
_phoneText(self() ? App::formatPhone(self()->phone) : QString()),
_usernameText((self() && !self()->username.isEmpty()) ? ('@' + self()->username) : QString()),
_phoneLeft(st::linkFont->m.width(lang(lng_settings_phone_number)) + st::linkFont->spacew),
_usernameLeft(st::linkFont->m.width(lang(lng_settings_username)) + st::linkFont->spacew),
_chooseUsername(this, lang(lng_settings_choose_username)),
_changeUsername(this, lang(lng_settings_change_username)),
_chooseUsername(this, (self() && !self()->username.isEmpty()) ? ('@' + self()->username) : lang(lng_settings_choose_username)),
// notifications
_desktopNotify(this, lang(lng_settings_desktop_notify), cDesktopNotify()),
@ -197,7 +193,6 @@ SettingsInner::SettingsInner(SettingsWidget *parent) : QWidget(parent),
// contact info
connect(&_chooseUsername, SIGNAL(clicked()), this, SLOT(onUsername()));
connect(&_changeUsername, SIGNAL(clicked()), this, SLOT(onUsername()));
// notifications
_senderName.setDisabled(!_desktopNotify.checked());
@ -382,13 +377,10 @@ void SettingsInner::paintEvent(QPaintEvent *e) {
p.setFont(st::linkFont->f);
p.setPen(st::black->p);
p.drawText(_left, top + st::linkFont->ascent, lang(lng_settings_phone_number));
p.drawText(_left + _phoneLeft, top + st::linkFont->ascent, _phoneText);
p.drawText(_left + st::setContactInfoLeft, top + st::linkFont->ascent, _phoneText);
top += st::linkFont->height + st::setLittleSkip;
p.drawText(_left, top + st::linkFont->ascent, lang(lng_settings_username));
if (!_usernameText.isEmpty()) {
p.drawText(_left + _usernameLeft, top + st::linkFont->ascent, _usernameText);
}
top += st::linkFont->height;
// notifications
@ -613,8 +605,7 @@ void SettingsInner::resizeEvent(QResizeEvent *e) {
// contact info
top += st::setHeaderSkip;
top += st::linkFont->height + st::setLittleSkip;
_chooseUsername.move(_left + _usernameLeft, top);
_changeUsername.move(_left + st::setWidth - _changeUsername.width(), top); top += st::linkFont->height;
_chooseUsername.move(_left + st::setContactInfoLeft, top); top += st::linkFont->height;
// notifications
top += st::setHeaderSkip;
@ -801,7 +792,7 @@ void SettingsInner::gotFullSelf(const MTPUserFull &selfFull) {
}
void SettingsInner::usernameChanged() {
_usernameText = (self() && !self()->username.isEmpty()) ? ('@' + self()->username) : QString();
_chooseUsername.setText((self() && !self()->username.isEmpty()) ? ('@' + self()->username) : lang(lng_settings_choose_username));
showAll();
update();
}
@ -823,16 +814,9 @@ void SettingsInner::showAll() {
// contact info
if (self()) {
if (self()->username.isEmpty()) {
_chooseUsername.show();
_changeUsername.hide();
} else {
_chooseUsername.hide();
_changeUsername.show();
}
_chooseUsername.show();
} else {
_chooseUsername.hide();
_changeUsername.hide();
}
// notifications

View File

@ -181,9 +181,8 @@ private:
QString _errorText;
// contact info
QString _phoneText, _usernameText;
int32 _phoneLeft, _usernameLeft;
LinkButton _chooseUsername, _changeUsername;
QString _phoneText;
LinkButton _chooseUsername;
// notifications
FlatCheckbox _desktopNotify, _senderName, _messagePreview, _soundNotify;

View File

@ -79,7 +79,7 @@ TitleWidget::TitleWidget(Window *window)
connect(&_about, SIGNAL(clicked()), this, SLOT(onAbout()));
connect(wnd->windowHandle(), SIGNAL(windowStateChanged(Qt::WindowState)), this, SLOT(stateChanged(Qt::WindowState)));
connect(App::app(), SIGNAL(updateReady()), this, SLOT(showUpdateBtn()));
if (cPlatform() != dbipWindows) {
_minimize.hide();
_maximize.hide();