diff --git a/Telegram/Resources/lang.strings b/Telegram/Resources/lang.strings index 67aaae7389..8476efef96 100644 --- a/Telegram/Resources/lang.strings +++ b/Telegram/Resources/lang.strings @@ -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 diff --git a/Telegram/Resources/style.txt b/Telegram/Resources/style.txt index 03ed38905c..476048bd2a 100644 --- a/Telegram/Resources/style.txt +++ b/Telegram/Resources/style.txt @@ -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; diff --git a/Telegram/SourceFiles/application.cpp b/Telegram/SourceFiles/application.cpp index 2c8d8c1180..0adc0915cb 100644 --- a/Telegram/SourceFiles/application.cpp +++ b/Telegram/SourceFiles/application.cpp @@ -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); - } } } } diff --git a/Telegram/SourceFiles/config.h b/Telegram/SourceFiles/config.h index ece2255cc0..9095934f4c 100644 --- a/Telegram/SourceFiles/config.h +++ b/Telegram/SourceFiles/config.h @@ -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) { diff --git a/Telegram/SourceFiles/dropdown.cpp b/Telegram/SourceFiles/dropdown.cpp index 5ca90f168f..d5cc525f0c 100644 --- a/Telegram/SourceFiles/dropdown.cpp +++ b/Telegram/SourceFiles/dropdown.cpp @@ -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) { diff --git a/Telegram/SourceFiles/dropdown.h b/Telegram/SourceFiles/dropdown.h index 0c4e67d537..e490b2c23c 100644 --- a/Telegram/SourceFiles/dropdown.h +++ b/Telegram/SourceFiles/dropdown.h @@ -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(); diff --git a/Telegram/SourceFiles/history.cpp b/Telegram/SourceFiles/history.cpp index 9ac117437f..db1bc3d7f4 100644 --- a/Telegram/SourceFiles/history.cpp +++ b/Telegram/SourceFiles/history.cpp @@ -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 { diff --git a/Telegram/SourceFiles/historywidget.cpp b/Telegram/SourceFiles/historywidget.cpp index 607f2fef24..c0055639c0 100644 --- a/Telegram/SourceFiles/historywidget.cpp +++ b/Telegram/SourceFiles/historywidget.cpp @@ -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: diff --git a/Telegram/SourceFiles/langs/lang_de.strings b/Telegram/SourceFiles/langs/lang_de.strings index a312b98851..a4cccd72f1 100644 --- a/Telegram/SourceFiles/langs/lang_de.strings +++ b/Telegram/SourceFiles/langs/lang_de.strings @@ -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 diff --git a/Telegram/SourceFiles/langs/lang_es.strings b/Telegram/SourceFiles/langs/lang_es.strings index 40397b5516..3f5474aa66 100644 --- a/Telegram/SourceFiles/langs/lang_es.strings +++ b/Telegram/SourceFiles/langs/lang_es.strings @@ -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 diff --git a/Telegram/SourceFiles/langs/lang_it.strings b/Telegram/SourceFiles/langs/lang_it.strings index 362ea5e9a8..e51ead59a4 100644 --- a/Telegram/SourceFiles/langs/lang_it.strings +++ b/Telegram/SourceFiles/langs/lang_it.strings @@ -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 diff --git a/Telegram/SourceFiles/langs/lang_ko.strings b/Telegram/SourceFiles/langs/lang_ko.strings index 222913bd42..aeebfc2120 100644 --- a/Telegram/SourceFiles/langs/lang_ko.strings +++ b/Telegram/SourceFiles/langs/lang_ko.strings @@ -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 diff --git a/Telegram/SourceFiles/langs/lang_nl.strings b/Telegram/SourceFiles/langs/lang_nl.strings index ebdaa96abb..1e94815b83 100644 --- a/Telegram/SourceFiles/langs/lang_nl.strings +++ b/Telegram/SourceFiles/langs/lang_nl.strings @@ -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 diff --git a/Telegram/SourceFiles/langs/lang_pt_BR.strings b/Telegram/SourceFiles/langs/lang_pt_BR.strings index 345a154b66..508cf99bf2 100644 --- a/Telegram/SourceFiles/langs/lang_pt_BR.strings +++ b/Telegram/SourceFiles/langs/lang_pt_BR.strings @@ -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 diff --git a/Telegram/SourceFiles/mainwidget.cpp b/Telegram/SourceFiles/mainwidget.cpp index 019d05b80f..23ae621852 100644 --- a/Telegram/SourceFiles/mainwidget.cpp +++ b/Telegram/SourceFiles/mainwidget.cpp @@ -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; } } diff --git a/Telegram/SourceFiles/mediaview.cpp b/Telegram/SourceFiles/mediaview.cpp index 42ef3e6056..646c31c1bd 100644 --- a/Telegram/SourceFiles/mediaview.cpp +++ b/Telegram/SourceFiles/mediaview.cpp @@ -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); diff --git a/Telegram/SourceFiles/mtproto/mtpDC.cpp b/Telegram/SourceFiles/mtproto/mtpDC.cpp index 7474e98c64..e698c3b5e3 100644 --- a/Telegram/SourceFiles/mtproto/mtpDC.cpp +++ b/Telegram/SourceFiles/mtproto/mtpDC.cpp @@ -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) { diff --git a/Telegram/SourceFiles/overviewwidget.cpp b/Telegram/SourceFiles/overviewwidget.cpp index 44cd4664ed..a42d7d9c59 100644 --- a/Telegram/SourceFiles/overviewwidget.cpp +++ b/Telegram/SourceFiles/overviewwidget.cpp @@ -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(); diff --git a/Telegram/SourceFiles/profilewidget.cpp b/Telegram/SourceFiles/profilewidget.cpp index ed77911716..e3d7539614 100644 --- a/Telegram/SourceFiles/profilewidget.cpp +++ b/Telegram/SourceFiles/profilewidget.cpp @@ -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(); diff --git a/Telegram/SourceFiles/settingswidget.cpp b/Telegram/SourceFiles/settingswidget.cpp index 359605070b..6b65139dd7 100644 --- a/Telegram/SourceFiles/settingswidget.cpp +++ b/Telegram/SourceFiles/settingswidget.cpp @@ -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 diff --git a/Telegram/SourceFiles/settingswidget.h b/Telegram/SourceFiles/settingswidget.h index 11d99b77a5..d05afbbb53 100644 --- a/Telegram/SourceFiles/settingswidget.h +++ b/Telegram/SourceFiles/settingswidget.h @@ -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; diff --git a/Telegram/SourceFiles/title.cpp b/Telegram/SourceFiles/title.cpp index 09f845d4c7..7ec146d1e5 100644 --- a/Telegram/SourceFiles/title.cpp +++ b/Telegram/SourceFiles/title.cpp @@ -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();