From 0c708d3927817836ef8bf8b08dae95b7b432e6e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emin=20Tufan=20=C3=87etin?= Date: Fri, 10 Jan 2020 16:02:06 +0000 Subject: [PATCH 01/23] Update Turkish translation --- po/tr.po | 177 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 90 insertions(+), 87 deletions(-) diff --git a/po/tr.po b/po/tr.po index ea89e432..34f1608e 100644 --- a/po/tr.po +++ b/po/tr.po @@ -10,14 +10,14 @@ # Necdet Yücel , 2015. # Simge Sezgin , 2015. # Muhammet Kara , 2014, 2016. -# Emin Tufan Çetin , 2016-2019. +# Emin Tufan Çetin , 2016-2020. # msgid "" msgstr "" "Project-Id-Version: geary.mainline\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/geary/issues\n" -"POT-Creation-Date: 2019-12-17 23:56+0000\n" -"PO-Revision-Date: 2019-12-27 16:09+0300\n" +"POT-Creation-Date: 2020-01-08 10:10+0000\n" +"PO-Revision-Date: 2020-01-10 19:01+0300\n" "Last-Translator: Emin Tufan Çetin \n" "Language-Team: Turkish \n" "Language: tr\n" @@ -1205,7 +1205,7 @@ msgstr "%s (%d)" #. Document (100.9MB) #. / In the composer, the filename followed by its filesize, i.e. "notes.txt (1.12KB)" #: src/client/components/components-attachment-pane.vala:107 -#: src/client/composer/composer-widget.vala:1815 +#: src/client/composer/composer-widget.vala:1816 #, c-format msgid "%s (%s)" msgstr "%s (%s)" @@ -1307,7 +1307,6 @@ msgstr "Ara" #. / Translators: Search entry tooltip #: src/client/components/components-search-bar.vala:32 -#| msgid "Search all mail in account for keywords (Ctrl+S)" msgid "Search all mail in account for keywords" msgstr "Anahtar sözcükleri hesaptaki tüm postalarda ara" @@ -1567,90 +1566,90 @@ msgstr "" #. Translators: This dialog text is displayed to the #. user when closing a composer where the options are #. Keep, Discard or Cancel. -#: src/client/composer/composer-widget.vala:814 +#: src/client/composer/composer-widget.vala:815 msgid "Do you want to keep or discard this draft message?" msgstr "Bu iletiyi saklamak mı yoksa gözden çıkarmak mı istersiniz?" #. Translators: This dialog text is displayed to the #. user when closing a composer where the options are #. only Discard or Cancel. -#: src/client/composer/composer-widget.vala:840 +#: src/client/composer/composer-widget.vala:841 msgid "Do you want to discard this draft message?" msgstr "Bu taslak iletiyi gözden çıkarmak istiyor musunuz?" -#: src/client/composer/composer-widget.vala:1484 +#: src/client/composer/composer-widget.vala:1485 msgid "Send message with an empty subject and body?" msgstr "İleti konusu ve gövdesi olmadan gönderilsin mi?" -#: src/client/composer/composer-widget.vala:1486 +#: src/client/composer/composer-widget.vala:1487 msgid "Send message with an empty subject?" msgstr "İleti konusu olmadan gönderilsin mi?" -#: src/client/composer/composer-widget.vala:1488 +#: src/client/composer/composer-widget.vala:1489 msgid "Send message with an empty body?" msgstr "İleti, ileti gövdesi olmadan gönderilsin mi?" -#: src/client/composer/composer-widget.vala:1497 +#: src/client/composer/composer-widget.vala:1498 msgid "Send message without an attachment?" msgstr "İleti eki olmadan gönderilsin mi?" -#: src/client/composer/composer-widget.vala:1807 +#: src/client/composer/composer-widget.vala:1808 #, c-format msgid "“%s” already attached for delivery." msgstr "“%s” gönderim için zaten eklendi." -#: src/client/composer/composer-widget.vala:1837 -#: src/client/composer/composer-widget.vala:1887 +#: src/client/composer/composer-widget.vala:1838 +#: src/client/composer/composer-widget.vala:1888 #, c-format msgid "“%s” is an empty file." msgstr "“%s” boş bir dosya." -#: src/client/composer/composer-widget.vala:1875 +#: src/client/composer/composer-widget.vala:1876 #, c-format msgid "“%s” could not be found." msgstr "“%s” bulunamadı." -#: src/client/composer/composer-widget.vala:1881 +#: src/client/composer/composer-widget.vala:1882 #, c-format msgid "“%s” is a folder." msgstr "“%s” bir klasör." -#: src/client/composer/composer-widget.vala:1900 +#: src/client/composer/composer-widget.vala:1901 #, c-format msgid "“%s” could not be opened for reading." msgstr "“%s” okuma için açılamadı." -#: src/client/composer/composer-widget.vala:1908 +#: src/client/composer/composer-widget.vala:1909 msgid "Cannot add attachment" msgstr "Eklenti eklenemiyor" #. Translators: Human-readable version of the RFC 822 To header -#: src/client/composer/composer-widget.vala:1965 +#: src/client/composer/composer-widget.vala:1966 #: src/client/conversation-viewer/conversation-email.vala:559 #: src/client/util/util-email.vala:235 ui/conversation-message.ui:312 msgid "To:" msgstr "Kime:" #. Translators: Human-readable version of the RFC 822 CC header -#: src/client/composer/composer-widget.vala:1971 +#: src/client/composer/composer-widget.vala:1972 #: src/client/conversation-viewer/conversation-email.vala:564 #: src/client/util/util-email.vala:240 ui/conversation-message.ui:357 msgid "Cc:" msgstr "Cc:" #. Translators: Human-readable version of the RFC 822 BCC header -#: src/client/composer/composer-widget.vala:1977 +#: src/client/composer/composer-widget.vala:1978 #: src/client/conversation-viewer/conversation-email.vala:569 #: ui/conversation-message.ui:402 msgid "Bcc:" msgstr "Bcc:" #. Translators: Human-readable version of the RFC 822 Reply-To header -#: src/client/composer/composer-widget.vala:1983 +#: src/client/composer/composer-widget.vala:1984 msgid "Reply-To: " -msgstr "Yanıtla: " +msgstr "Şuna Yanıtla: " -#: src/client/composer/composer-widget.vala:2172 +#: src/client/composer/composer-widget.vala:2170 msgid "Select Color" msgstr "Renk Seç" @@ -1659,20 +1658,20 @@ msgstr "Renk Seç" #. printf argument will be the alternate email address, #. and the second will be the account's primary email #. address. -#: src/client/composer/composer-widget.vala:2364 +#: src/client/composer/composer-widget.vala:2362 #, c-format msgid "%1$s via %2$s" msgstr "%2$s aracılığıyla %1$s" #. Composer label (with mnemonic underscore) for the account selector #. when choosing what address to send a message from. -#: src/client/composer/composer-widget.vala:2420 +#: src/client/composer/composer-widget.vala:2418 msgid "_From:" msgstr "_Gönderen:" #. Translators: This is the name of the file chooser filter #. when inserting an image in the composer. -#: src/client/composer/composer-widget.vala:2723 +#: src/client/composer/composer-widget.vala:2721 msgid "Images" msgstr "Resimler" @@ -2075,7 +2074,8 @@ msgstr "%a, %b %-e, %Y / %H:%M" msgid "%a, %b %-e, %Y at %X" msgstr "%a, %b %-e, %Y / %X" -#: src/client/util/util-email.vala:38 src/engine/rfc822/rfc822-message.vala:998 +#: src/client/util/util-email.vala:38 +#: src/engine/rfc822/rfc822-message.vala:1000 msgid "(no subject)" msgstr "(konu yok)" @@ -2414,12 +2414,12 @@ msgstr "Silinen Ögeler" msgid "Archive | Archives" msgstr "Arşiv | Arşivler" -#: src/engine/rfc822/rfc822-message.vala:467 +#: src/engine/rfc822/rfc822-message.vala:458 #, c-format msgid "Could not determine mime type for “%s”." msgstr "“%s” için mime türü saptanamadı." -#: src/engine/rfc822/rfc822-message.vala:475 +#: src/engine/rfc822/rfc822-message.vala:469 #, c-format msgid "Could not determine content type for mime type “%s” on “%s”." msgstr "“%2$s” üstündeki “%1$s” mime türü için içerik türü saptanamadı." @@ -2596,27 +2596,27 @@ msgstr "Bu Sunucuya _Güven" msgid "_Don’t Trust This Server" msgstr "Bu Sunucuya Güven_me" -#: ui/composer-headerbar.ui:19 ui/composer-headerbar.ui:176 +#: ui/composer-headerbar.ui:18 ui/composer-headerbar.ui:175 msgid "Detach the composer from the window" msgstr "Oluşturucuyu pencereden ayır" -#: ui/composer-headerbar.ui:59 ui/composer-headerbar.ui:84 +#: ui/composer-headerbar.ui:58 ui/composer-headerbar.ui:83 msgid "Attach a file" msgstr "Dosya ekle" -#: ui/composer-headerbar.ui:108 +#: ui/composer-headerbar.ui:107 msgid "Add original attachments" msgstr "Özgün ekleri ekle" -#: ui/composer-headerbar.ui:204 +#: ui/composer-headerbar.ui:203 msgid "_Send" msgstr "_Gönder" -#: ui/composer-headerbar.ui:231 +#: ui/composer-headerbar.ui:230 msgid "Discard and Close" msgstr "Gözden Çıkar ve Kapat" -#: ui/composer-headerbar.ui:255 +#: ui/composer-headerbar.ui:254 msgid "Save and Close" msgstr "Kaydet ve Kapat" @@ -2670,135 +2670,135 @@ msgstr "Büy_ük" msgid "C_olor" msgstr "R_enk" -#: ui/composer-menus.ui:47 ui/composer-menus.ui:62 +#: ui/composer-menus.ui:47 ui/composer-menus.ui:56 msgid "_Rich Text" msgstr "_Zengin Metin" -#: ui/composer-menus.ui:53 ui/composer-menus.ui:68 -msgid "Show Extended Fields" -msgstr "Genişletilmiş Alanları Göster" - -#: ui/composer-menus.ui:78 +#: ui/composer-menus.ui:66 msgid "_Undo" msgstr "_Geri Al" -#: ui/composer-menus.ui:82 +#: ui/composer-menus.ui:70 msgid "_Redo" msgstr "_Yinele" -#: ui/composer-menus.ui:88 ui/composer-menus.ui:106 +#: ui/composer-menus.ui:76 ui/composer-menus.ui:94 msgid "Cu_t" msgstr "Ke_s" -#: ui/composer-menus.ui:92 ui/composer-menus.ui:110 +#: ui/composer-menus.ui:80 ui/composer-menus.ui:98 #: ui/conversation-message-menus.ui:37 msgid "_Copy" msgstr "_Kopyala" -#: ui/composer-menus.ui:96 ui/composer-menus.ui:114 +#: ui/composer-menus.ui:84 ui/composer-menus.ui:102 msgid "_Paste" msgstr "_Yapıştır" -#: ui/composer-menus.ui:100 +#: ui/composer-menus.ui:88 msgctxt "Clipboard paste as plain text" msgid "Paste _Without Formatting" msgstr "Biçimlendirmede_n Yapıştır" -#: ui/composer-menus.ui:120 +#: ui/composer-menus.ui:108 msgid "Select _All" msgstr "Tümünü S_eç" -#: ui/composer-menus.ui:127 ui/conversation-message-menus.ui:43 +#: ui/composer-menus.ui:115 ui/conversation-message-menus.ui:43 msgid "_Inspect…" msgstr "_Denetle…" -#. Address(es) e-mail is to be sent to -#: ui/composer-widget.ui:56 -msgid "_To" -msgstr "_Kime" - -#: ui/composer-widget.ui:75 -msgid "_Cc" -msgstr "_Cc" - -#: ui/composer-widget.ui:130 -msgid "_Subject" -msgstr "_Konu" - -#: ui/composer-widget.ui:149 -msgid "_Bcc" -msgstr "_Bcc" - -#: ui/composer-widget.ui:179 -msgid "_Reply-To" -msgstr "_Yanıtla" - #. Geary account mail will be sent from -#: ui/composer-widget.ui:208 +#: ui/composer-widget.ui:61 msgid "From" msgstr "Gönderen" -#: ui/composer-widget.ui:293 +#. Address(es) e-mail is to be sent to +#: ui/composer-widget.ui:131 +msgid "_To" +msgstr "_Kime" + +#: ui/composer-widget.ui:159 +msgid "Show Cc, Bcc, and Reply-To fields" +msgstr "Cc, Bcc ve Şuna Yanıtla alanlarını göster" + +#: ui/composer-widget.ui:214 +msgid "_Cc" +msgstr "_Cc" + +#: ui/composer-widget.ui:258 +msgid "_Bcc" +msgstr "_Bcc" + +#: ui/composer-widget.ui:302 +msgid "_Reply-To" +msgstr "_Şuna Yanıtla" + +#: ui/composer-widget.ui:355 +msgid "_Subject" +msgstr "_Konu" + +#: ui/composer-widget.ui:428 msgid "Drop files here" msgstr "Dosyaları buraya bırak" -#: ui/composer-widget.ui:309 +#: ui/composer-widget.ui:444 msgid "To add them as attachments" msgstr "Onları ek olarak eklemek için" -#: ui/composer-widget.ui:353 +#: ui/composer-widget.ui:488 msgid "Undo last edit" msgstr "Son düzenlemeyi geri al" -#: ui/composer-widget.ui:377 +#: ui/composer-widget.ui:512 msgid "Redo last edit" msgstr "Son düzenlemeyi yinele" -#: ui/composer-widget.ui:415 +#: ui/composer-widget.ui:550 msgid "Bold text" msgstr "Kalın yazı" -#: ui/composer-widget.ui:439 +#: ui/composer-widget.ui:574 msgid "Italic text" msgstr "Eğik metin" -#: ui/composer-widget.ui:463 +#: ui/composer-widget.ui:598 msgid "Underline text" msgstr "Metnin altını çiz" -#: ui/composer-widget.ui:487 +#: ui/composer-widget.ui:622 msgid "Strikethrough text" msgstr "Çizgili metin" -#: ui/composer-widget.ui:525 +#: ui/composer-widget.ui:660 msgid "Insert bulleted list" msgstr "Sırasız liste yerleştir" -#: ui/composer-widget.ui:549 +#: ui/composer-widget.ui:684 msgid "Insert numbered list" msgstr "Sıralı liste yerleştir" -#: ui/composer-widget.ui:587 +#: ui/composer-widget.ui:722 msgid "Indent or quote text" msgstr "Girintile veya metin alıntıla" -#: ui/composer-widget.ui:611 +#: ui/composer-widget.ui:746 msgid "Un-indent or unquote text" msgstr "Girintiyi veya alıntıyı kaldır" -#: ui/composer-widget.ui:649 +#: ui/composer-widget.ui:784 msgid "Insert or update text link" msgstr "Metin bağlantısı ekle veya güncelle" -#: ui/composer-widget.ui:673 +#: ui/composer-widget.ui:808 msgid "Insert an image" msgstr "Resim yerleştir" -#: ui/composer-widget.ui:707 +#: ui/composer-widget.ui:842 msgid "Remove text formatting" msgstr "Metin biçimlendirmeyi kaldır" -#: ui/composer-widget.ui:731 +#: ui/composer-widget.ui:866 msgid "Select spell checking languages" msgstr "Yazım denetimi dillerini seç" @@ -3450,6 +3450,9 @@ msgstr "_Kimlik Doğrula" msgid "Geary update in progress…" msgstr "Geary güncellemesi sürüyor…" +#~ msgid "Show Extended Fields" +#~ msgstr "Genişletilmiş Alanları Göster" + #~ msgid "Indexing %s account" #~ msgstr "%s hesabı dizinleniyor" From 6e487b98cf7fcd4cff1ea740442535d3a06f142b Mon Sep 17 00:00:00 2001 From: Anders Jonsson Date: Sat, 11 Jan 2020 16:26:05 +0000 Subject: [PATCH 02/23] Update Swedish translation --- po/sv.po | 174 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 89 insertions(+), 85 deletions(-) diff --git a/po/sv.po b/po/sv.po index 3591f4f6..1c20e54a 100644 --- a/po/sv.po +++ b/po/sv.po @@ -11,15 +11,15 @@ # joachimj , 2013 # TommyBrunn , 2012 # Mattias Eriksson , 2014, 2015. -# Anders Jonsson , 2016, 2018, 2019. +# Anders Jonsson , 2016, 2018, 2019, 2020. # Josef Andersson , 2016, 2017, 2018. # msgid "" msgstr "" "Project-Id-Version: geary\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/geary/issues\n" -"POT-Creation-Date: 2019-12-17 23:56+0000\n" -"PO-Revision-Date: 2019-12-22 22:26+0100\n" +"POT-Creation-Date: 2020-01-08 10:10+0000\n" +"PO-Revision-Date: 2020-01-11 17:24+0100\n" "Last-Translator: Anders Jonsson \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -1221,7 +1221,7 @@ msgstr "%s (%d)" #. Document (100.9MB) #. / In the composer, the filename followed by its filesize, i.e. "notes.txt (1.12KB)" #: src/client/components/components-attachment-pane.vala:107 -#: src/client/composer/composer-widget.vala:1815 +#: src/client/composer/composer-widget.vala:1816 #, c-format msgid "%s (%s)" msgstr "%s (%s)" @@ -1589,90 +1589,90 @@ msgstr "" #. Translators: This dialog text is displayed to the #. user when closing a composer where the options are #. Keep, Discard or Cancel. -#: src/client/composer/composer-widget.vala:814 +#: src/client/composer/composer-widget.vala:815 msgid "Do you want to keep or discard this draft message?" msgstr "Vill du behålla eller förkasta detta utkast?" #. Translators: This dialog text is displayed to the #. user when closing a composer where the options are #. only Discard or Cancel. -#: src/client/composer/composer-widget.vala:840 +#: src/client/composer/composer-widget.vala:841 msgid "Do you want to discard this draft message?" msgstr "Vill du förkasta detta utkast?" -#: src/client/composer/composer-widget.vala:1484 +#: src/client/composer/composer-widget.vala:1485 msgid "Send message with an empty subject and body?" msgstr "Skicka meddelande med en tom ämnesrad och utan innehåll?" -#: src/client/composer/composer-widget.vala:1486 +#: src/client/composer/composer-widget.vala:1487 msgid "Send message with an empty subject?" msgstr "Skicka meddelande med en tom ämnesrad?" -#: src/client/composer/composer-widget.vala:1488 +#: src/client/composer/composer-widget.vala:1489 msgid "Send message with an empty body?" msgstr "Skicka meddelande utan innehåll?" -#: src/client/composer/composer-widget.vala:1497 +#: src/client/composer/composer-widget.vala:1498 msgid "Send message without an attachment?" msgstr "Skicka meddelande utan att bifoga filer?" -#: src/client/composer/composer-widget.vala:1807 +#: src/client/composer/composer-widget.vala:1808 #, c-format msgid "“%s” already attached for delivery." msgstr "”%s” är redan bifogad och kommer att skickas." -#: src/client/composer/composer-widget.vala:1837 -#: src/client/composer/composer-widget.vala:1887 +#: src/client/composer/composer-widget.vala:1838 +#: src/client/composer/composer-widget.vala:1888 #, c-format msgid "“%s” is an empty file." msgstr "”%s” är en tom fil." -#: src/client/composer/composer-widget.vala:1875 +#: src/client/composer/composer-widget.vala:1876 #, c-format msgid "“%s” could not be found." msgstr "”%s” kunde inte hittas." -#: src/client/composer/composer-widget.vala:1881 +#: src/client/composer/composer-widget.vala:1882 #, c-format msgid "“%s” is a folder." msgstr "”%s” är en mapp." -#: src/client/composer/composer-widget.vala:1900 +#: src/client/composer/composer-widget.vala:1901 #, c-format msgid "“%s” could not be opened for reading." msgstr "”%s” kunde inte öppnas för läsning." -#: src/client/composer/composer-widget.vala:1908 +#: src/client/composer/composer-widget.vala:1909 msgid "Cannot add attachment" msgstr "Kan inte bifoga din fil" #. Translators: Human-readable version of the RFC 822 To header -#: src/client/composer/composer-widget.vala:1965 +#: src/client/composer/composer-widget.vala:1966 #: src/client/conversation-viewer/conversation-email.vala:559 #: src/client/util/util-email.vala:235 ui/conversation-message.ui:312 msgid "To:" msgstr "Till:" #. Translators: Human-readable version of the RFC 822 CC header -#: src/client/composer/composer-widget.vala:1971 +#: src/client/composer/composer-widget.vala:1972 #: src/client/conversation-viewer/conversation-email.vala:564 #: src/client/util/util-email.vala:240 ui/conversation-message.ui:357 msgid "Cc:" msgstr "Cc:" #. Translators: Human-readable version of the RFC 822 BCC header -#: src/client/composer/composer-widget.vala:1977 +#: src/client/composer/composer-widget.vala:1978 #: src/client/conversation-viewer/conversation-email.vala:569 #: ui/conversation-message.ui:402 msgid "Bcc:" msgstr "Bcc:" #. Translators: Human-readable version of the RFC 822 Reply-To header -#: src/client/composer/composer-widget.vala:1983 +#: src/client/composer/composer-widget.vala:1984 msgid "Reply-To: " msgstr "Svara-till: " -#: src/client/composer/composer-widget.vala:2172 +#: src/client/composer/composer-widget.vala:2170 msgid "Select Color" msgstr "Välj färg" @@ -1681,20 +1681,20 @@ msgstr "Välj färg" #. printf argument will be the alternate email address, #. and the second will be the account's primary email #. address. -#: src/client/composer/composer-widget.vala:2364 +#: src/client/composer/composer-widget.vala:2362 #, c-format msgid "%1$s via %2$s" msgstr "%1$s via %2$s" #. Composer label (with mnemonic underscore) for the account selector #. when choosing what address to send a message from. -#: src/client/composer/composer-widget.vala:2420 +#: src/client/composer/composer-widget.vala:2418 msgid "_From:" msgstr "_Från:" #. Translators: This is the name of the file chooser filter #. when inserting an image in the composer. -#: src/client/composer/composer-widget.vala:2723 +#: src/client/composer/composer-widget.vala:2721 msgid "Images" msgstr "Bilder" @@ -2111,7 +2111,8 @@ msgstr "%a, %-e %b %Y klockan %H:%M" msgid "%a, %b %-e, %Y at %X" msgstr "%a, %-e %b %Y klockan %X" -#: src/client/util/util-email.vala:38 src/engine/rfc822/rfc822-message.vala:998 +#: src/client/util/util-email.vala:38 +#: src/engine/rfc822/rfc822-message.vala:1000 msgid "(no subject)" msgstr "(inget ämne)" @@ -2450,12 +2451,12 @@ msgstr "Borttaget" msgid "Archive | Archives" msgstr "Arkiv | Archive | Archives" -#: src/engine/rfc822/rfc822-message.vala:467 +#: src/engine/rfc822/rfc822-message.vala:458 #, c-format msgid "Could not determine mime type for “%s”." msgstr "Kunde inte avgöra mimetyp för ”%s”." -#: src/engine/rfc822/rfc822-message.vala:475 +#: src/engine/rfc822/rfc822-message.vala:469 #, c-format msgid "Could not determine content type for mime type “%s” on “%s”." msgstr "Kunde inte avgöra innehållstyp för mimetypen ”%s” på ”%s”." @@ -2635,27 +2636,27 @@ msgstr "Li_ta på denna server" msgid "_Don’t Trust This Server" msgstr "Lita inte på _denna server" -#: ui/composer-headerbar.ui:19 ui/composer-headerbar.ui:176 +#: ui/composer-headerbar.ui:18 ui/composer-headerbar.ui:175 msgid "Detach the composer from the window" msgstr "Koppla loss redigeraren från fönstret" -#: ui/composer-headerbar.ui:59 ui/composer-headerbar.ui:84 +#: ui/composer-headerbar.ui:58 ui/composer-headerbar.ui:83 msgid "Attach a file" msgstr "Bifoga en fil" -#: ui/composer-headerbar.ui:108 +#: ui/composer-headerbar.ui:107 msgid "Add original attachments" msgstr "Lägg till ursprungliga bilagor" -#: ui/composer-headerbar.ui:204 +#: ui/composer-headerbar.ui:203 msgid "_Send" msgstr "_Skicka" -#: ui/composer-headerbar.ui:231 +#: ui/composer-headerbar.ui:230 msgid "Discard and Close" msgstr "Förkasta och stäng" -#: ui/composer-headerbar.ui:255 +#: ui/composer-headerbar.ui:254 msgid "Save and Close" msgstr "Spara och stäng" @@ -2709,135 +2710,135 @@ msgstr "_Stor" msgid "C_olor" msgstr "Fär_g" -#: ui/composer-menus.ui:47 ui/composer-menus.ui:62 +#: ui/composer-menus.ui:47 ui/composer-menus.ui:56 msgid "_Rich Text" msgstr "_Rich Text" -#: ui/composer-menus.ui:53 ui/composer-menus.ui:68 -msgid "Show Extended Fields" -msgstr "Visa utökade fält" - -#: ui/composer-menus.ui:78 +#: ui/composer-menus.ui:66 msgid "_Undo" msgstr "_Ångra" -#: ui/composer-menus.ui:82 +#: ui/composer-menus.ui:70 msgid "_Redo" msgstr "_Upprepa" -#: ui/composer-menus.ui:88 ui/composer-menus.ui:106 +#: ui/composer-menus.ui:76 ui/composer-menus.ui:94 msgid "Cu_t" msgstr "Klipp u_t" -#: ui/composer-menus.ui:92 ui/composer-menus.ui:110 +#: ui/composer-menus.ui:80 ui/composer-menus.ui:98 #: ui/conversation-message-menus.ui:37 msgid "_Copy" msgstr "_Kopiera" -#: ui/composer-menus.ui:96 ui/composer-menus.ui:114 +#: ui/composer-menus.ui:84 ui/composer-menus.ui:102 msgid "_Paste" msgstr "_Klistra in" -#: ui/composer-menus.ui:100 +#: ui/composer-menus.ui:88 msgctxt "Clipboard paste as plain text" msgid "Paste _Without Formatting" msgstr "Klistra in _utan formatering" -#: ui/composer-menus.ui:120 +#: ui/composer-menus.ui:108 msgid "Select _All" msgstr "Välj _alla" -#: ui/composer-menus.ui:127 ui/conversation-message-menus.ui:43 +#: ui/composer-menus.ui:115 ui/conversation-message-menus.ui:43 msgid "_Inspect…" msgstr "_Inspektera…" -#. Address(es) e-mail is to be sent to -#: ui/composer-widget.ui:56 -msgid "_To" -msgstr "_Till" - -#: ui/composer-widget.ui:75 -msgid "_Cc" -msgstr "_Cc" - -#: ui/composer-widget.ui:130 -msgid "_Subject" -msgstr "_Ämne" - -#: ui/composer-widget.ui:149 -msgid "_Bcc" -msgstr "_Bcc" - -#: ui/composer-widget.ui:179 -msgid "_Reply-To" -msgstr "Sva_ra-till" - #. Geary account mail will be sent from -#: ui/composer-widget.ui:208 +#: ui/composer-widget.ui:61 msgid "From" msgstr "Från" -#: ui/composer-widget.ui:293 +#. Address(es) e-mail is to be sent to +#: ui/composer-widget.ui:131 +msgid "_To" +msgstr "_Till" + +#: ui/composer-widget.ui:159 +msgid "Show Cc, Bcc, and Reply-To fields" +msgstr "Visa fälten Cc, Bcc och Svara-till" + +#: ui/composer-widget.ui:214 +msgid "_Cc" +msgstr "_Cc" + +#: ui/composer-widget.ui:258 +msgid "_Bcc" +msgstr "_Bcc" + +#: ui/composer-widget.ui:302 +msgid "_Reply-To" +msgstr "Sva_ra-till" + +#: ui/composer-widget.ui:355 +msgid "_Subject" +msgstr "_Ämne" + +#: ui/composer-widget.ui:428 msgid "Drop files here" msgstr "Släpp filer här" -#: ui/composer-widget.ui:309 +#: ui/composer-widget.ui:444 msgid "To add them as attachments" msgstr "För att bifoga dem" -#: ui/composer-widget.ui:353 +#: ui/composer-widget.ui:488 msgid "Undo last edit" msgstr "Ångra senaste redigering" -#: ui/composer-widget.ui:377 +#: ui/composer-widget.ui:512 msgid "Redo last edit" msgstr "Gör om senaste redigering" -#: ui/composer-widget.ui:415 +#: ui/composer-widget.ui:550 msgid "Bold text" msgstr "Fet text" -#: ui/composer-widget.ui:439 +#: ui/composer-widget.ui:574 msgid "Italic text" msgstr "Kursiv text" -#: ui/composer-widget.ui:463 +#: ui/composer-widget.ui:598 msgid "Underline text" msgstr "Understryk text" -#: ui/composer-widget.ui:487 +#: ui/composer-widget.ui:622 msgid "Strikethrough text" msgstr "Genomstruken text" -#: ui/composer-widget.ui:525 +#: ui/composer-widget.ui:660 msgid "Insert bulleted list" msgstr "Infoga punktlista" -#: ui/composer-widget.ui:549 +#: ui/composer-widget.ui:684 msgid "Insert numbered list" msgstr "Infoga numrerad lista" -#: ui/composer-widget.ui:587 +#: ui/composer-widget.ui:722 msgid "Indent or quote text" msgstr "Indentera eller citera text" -#: ui/composer-widget.ui:611 +#: ui/composer-widget.ui:746 msgid "Un-indent or unquote text" msgstr "Avindentera eller avcitera text" -#: ui/composer-widget.ui:649 +#: ui/composer-widget.ui:784 msgid "Insert or update text link" msgstr "Infoga eller uppdatera textlänk" -#: ui/composer-widget.ui:673 +#: ui/composer-widget.ui:808 msgid "Insert an image" msgstr "Infoga en bild" -#: ui/composer-widget.ui:707 +#: ui/composer-widget.ui:842 msgid "Remove text formatting" msgstr "Ta bort textformatering" -#: ui/composer-widget.ui:731 +#: ui/composer-widget.ui:866 msgid "Select spell checking languages" msgstr "Välj språk för stavningskontroll" @@ -3488,6 +3489,9 @@ msgstr "_Autentisera" msgid "Geary update in progress…" msgstr "Geary-uppgradering pågår…" +#~ msgid "Show Extended Fields" +#~ msgstr "Visa utökade fält" + #~ msgid "Enable notification sounds" #~ msgstr "Aktivera aviseringsljud" From 00de745dc6d14e203838adf8b2e136520e6d8920 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20Dr=C4=85g?= Date: Sun, 12 Jan 2020 17:29:58 +0100 Subject: [PATCH 03/23] Update Polish translation --- po/pl.po | 180 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 91 insertions(+), 89 deletions(-) diff --git a/po/pl.po b/po/pl.po index bf7b4d58..68d33744 100644 --- a/po/pl.po +++ b/po/pl.po @@ -1,5 +1,5 @@ # Polish translation for geary. -# Copyright © 2012-2019 the geary authors. +# Copyright © 2012-2020 the geary authors. # This file is distributed under the same license as the geary package. # scrx , 2012. # Piotrek290 , 2012-2013. @@ -9,15 +9,15 @@ # wmq , 2012. # yorbajim , 2013. # zacol , 2012. -# Piotr Drąg , 2014-2019. -# Aviary.pl , 2014-2019. +# Piotr Drąg , 2014-2020. +# Aviary.pl , 2014-2020. # msgid "" msgstr "" "Project-Id-Version: geary\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/geary/issues\n" -"POT-Creation-Date: 2019-12-17 23:56+0000\n" -"PO-Revision-Date: 2019-12-26 13:53+0100\n" +"POT-Creation-Date: 2020-01-08 10:10+0000\n" +"PO-Revision-Date: 2020-01-12 17:29+0100\n" "Last-Translator: Piotr Drąg \n" "Language-Team: Polish \n" "Language: pl\n" @@ -962,8 +962,8 @@ msgstr "" "wmq , 2012\n" "yorbajim , 2013\n" "zacol , 2012\n" -"Piotr Drąg , 2014-2019\n" -"Aviary.pl , 2014-2019" +"Piotr Drąg , 2014-2020\n" +"Aviary.pl , 2014-2020" #. / Warning printed to the console when a deprecated #. / command line option is used. @@ -1240,7 +1240,7 @@ msgstr "%s (%d)" #. Document (100.9MB) #. / In the composer, the filename followed by its filesize, i.e. "notes.txt (1.12KB)" #: src/client/components/components-attachment-pane.vala:107 -#: src/client/composer/composer-widget.vala:1815 +#: src/client/composer/composer-widget.vala:1816 #, c-format msgid "%s (%s)" msgstr "%s (%s)" @@ -1615,90 +1615,90 @@ msgstr "" #. Translators: This dialog text is displayed to the #. user when closing a composer where the options are #. Keep, Discard or Cancel. -#: src/client/composer/composer-widget.vala:814 +#: src/client/composer/composer-widget.vala:815 msgid "Do you want to keep or discard this draft message?" msgstr "Zachować lub odrzucić ten szkic?" #. Translators: This dialog text is displayed to the #. user when closing a composer where the options are #. only Discard or Cancel. -#: src/client/composer/composer-widget.vala:840 +#: src/client/composer/composer-widget.vala:841 msgid "Do you want to discard this draft message?" msgstr "Odrzucić ten szkic?" -#: src/client/composer/composer-widget.vala:1484 +#: src/client/composer/composer-widget.vala:1485 msgid "Send message with an empty subject and body?" msgstr "Wysłać wiadomość niezawierającą tematu i treści?" -#: src/client/composer/composer-widget.vala:1486 +#: src/client/composer/composer-widget.vala:1487 msgid "Send message with an empty subject?" msgstr "Wysłać wiadomość niezawierającą tematu?" -#: src/client/composer/composer-widget.vala:1488 +#: src/client/composer/composer-widget.vala:1489 msgid "Send message with an empty body?" msgstr "Wysłać wiadomość niezawierającą treści?" -#: src/client/composer/composer-widget.vala:1497 +#: src/client/composer/composer-widget.vala:1498 msgid "Send message without an attachment?" msgstr "Wysłać wiadomość niezawierającą załączników?" -#: src/client/composer/composer-widget.vala:1807 +#: src/client/composer/composer-widget.vala:1808 #, c-format msgid "“%s” already attached for delivery." msgstr "Do wiadomości już załączono „%s”." -#: src/client/composer/composer-widget.vala:1837 -#: src/client/composer/composer-widget.vala:1887 +#: src/client/composer/composer-widget.vala:1838 +#: src/client/composer/composer-widget.vala:1888 #, c-format msgid "“%s” is an empty file." msgstr "„%s” jest pustym plikiem." -#: src/client/composer/composer-widget.vala:1875 +#: src/client/composer/composer-widget.vala:1876 #, c-format msgid "“%s” could not be found." msgstr "Nie można odnaleźć „%s”." -#: src/client/composer/composer-widget.vala:1881 +#: src/client/composer/composer-widget.vala:1882 #, c-format msgid "“%s” is a folder." msgstr "„%s” jest katalogiem." -#: src/client/composer/composer-widget.vala:1900 +#: src/client/composer/composer-widget.vala:1901 #, c-format msgid "“%s” could not be opened for reading." msgstr "Nie można otworzyć „%s” do odczytania." -#: src/client/composer/composer-widget.vala:1908 +#: src/client/composer/composer-widget.vala:1909 msgid "Cannot add attachment" msgstr "Nie można dodać załącznika" #. Translators: Human-readable version of the RFC 822 To header -#: src/client/composer/composer-widget.vala:1965 +#: src/client/composer/composer-widget.vala:1966 #: src/client/conversation-viewer/conversation-email.vala:559 #: src/client/util/util-email.vala:235 ui/conversation-message.ui:312 msgid "To:" msgstr "Do:" #. Translators: Human-readable version of the RFC 822 CC header -#: src/client/composer/composer-widget.vala:1971 +#: src/client/composer/composer-widget.vala:1972 #: src/client/conversation-viewer/conversation-email.vala:564 #: src/client/util/util-email.vala:240 ui/conversation-message.ui:357 msgid "Cc:" msgstr "DW:" #. Translators: Human-readable version of the RFC 822 BCC header -#: src/client/composer/composer-widget.vala:1977 +#: src/client/composer/composer-widget.vala:1978 #: src/client/conversation-viewer/conversation-email.vala:569 #: ui/conversation-message.ui:402 msgid "Bcc:" msgstr "UDW:" #. Translators: Human-readable version of the RFC 822 Reply-To header -#: src/client/composer/composer-widget.vala:1983 +#: src/client/composer/composer-widget.vala:1984 msgid "Reply-To: " msgstr "Odpowiedź do: " -#: src/client/composer/composer-widget.vala:2172 +#: src/client/composer/composer-widget.vala:2170 msgid "Select Color" msgstr "Wybór koloru" @@ -1707,20 +1707,20 @@ msgstr "Wybór koloru" #. printf argument will be the alternate email address, #. and the second will be the account's primary email #. address. -#: src/client/composer/composer-widget.vala:2364 +#: src/client/composer/composer-widget.vala:2362 #, c-format msgid "%1$s via %2$s" msgstr "%1$s przez %2$s" #. Composer label (with mnemonic underscore) for the account selector #. when choosing what address to send a message from. -#: src/client/composer/composer-widget.vala:2420 +#: src/client/composer/composer-widget.vala:2418 msgid "_From:" msgstr "_Od:" #. Translators: This is the name of the file chooser filter #. when inserting an image in the composer. -#: src/client/composer/composer-widget.vala:2723 +#: src/client/composer/composer-widget.vala:2721 msgid "Images" msgstr "Obrazy" @@ -2149,7 +2149,8 @@ msgstr "%a, %-e %b %Y o %H∶%M" msgid "%a, %b %-e, %Y at %X" msgstr "%a, %-e %b %Y o %X" -#: src/client/util/util-email.vala:38 src/engine/rfc822/rfc822-message.vala:998 +#: src/client/util/util-email.vala:38 +#: src/engine/rfc822/rfc822-message.vala:1000 msgid "(no subject)" msgstr "(brak tematu)" @@ -2487,12 +2488,12 @@ msgstr "Elementy usunięte" msgid "Archive | Archives" msgstr "Archiwum | Archiwa" -#: src/engine/rfc822/rfc822-message.vala:467 +#: src/engine/rfc822/rfc822-message.vala:458 #, c-format msgid "Could not determine mime type for “%s”." msgstr "Nie można ustalić typu MIME dla „%s”." -#: src/engine/rfc822/rfc822-message.vala:475 +#: src/engine/rfc822/rfc822-message.vala:469 #, c-format msgid "Could not determine content type for mime type “%s” on “%s”." msgstr "Nie można ustalić typu treści dla typu MIME „%s” na „%s”." @@ -2671,27 +2672,27 @@ msgstr "Z_aufaj temu serwerowi" msgid "_Don’t Trust This Server" msgstr "_Nie ufaj temu serwerowi" -#: ui/composer-headerbar.ui:19 ui/composer-headerbar.ui:176 +#: ui/composer-headerbar.ui:18 ui/composer-headerbar.ui:175 msgid "Detach the composer from the window" msgstr "Odłącza okno tworzenia wiadomości" -#: ui/composer-headerbar.ui:59 ui/composer-headerbar.ui:84 +#: ui/composer-headerbar.ui:58 ui/composer-headerbar.ui:83 msgid "Attach a file" msgstr "Załącza plik" -#: ui/composer-headerbar.ui:108 +#: ui/composer-headerbar.ui:107 msgid "Add original attachments" msgstr "Dodaje oryginalne załączniki" -#: ui/composer-headerbar.ui:204 +#: ui/composer-headerbar.ui:203 msgid "_Send" msgstr "_Wyślij" -#: ui/composer-headerbar.ui:231 +#: ui/composer-headerbar.ui:230 msgid "Discard and Close" msgstr "Odrzuca i zamyka" -#: ui/composer-headerbar.ui:255 +#: ui/composer-headerbar.ui:254 msgid "Save and Close" msgstr "Zapisuje i zamyka" @@ -2745,135 +2746,136 @@ msgstr "_Duży" msgid "C_olor" msgstr "K_olor" -#: ui/composer-menus.ui:47 ui/composer-menus.ui:62 +#: ui/composer-menus.ui:47 ui/composer-menus.ui:56 msgid "_Rich Text" msgstr "Tekst _sformatowany" -#: ui/composer-menus.ui:53 ui/composer-menus.ui:68 -msgid "Show Extended Fields" -msgstr "Rozszerzone pola" - -#: ui/composer-menus.ui:78 +#: ui/composer-menus.ui:66 msgid "_Undo" msgstr "Cof_nij" -#: ui/composer-menus.ui:82 +#: ui/composer-menus.ui:70 msgid "_Redo" msgstr "P_onów" -#: ui/composer-menus.ui:88 ui/composer-menus.ui:106 +#: ui/composer-menus.ui:76 ui/composer-menus.ui:94 msgid "Cu_t" msgstr "_Wytnij" -#: ui/composer-menus.ui:92 ui/composer-menus.ui:110 +#: ui/composer-menus.ui:80 ui/composer-menus.ui:98 #: ui/conversation-message-menus.ui:37 msgid "_Copy" msgstr "S_kopiuj" -#: ui/composer-menus.ui:96 ui/composer-menus.ui:114 +#: ui/composer-menus.ui:84 ui/composer-menus.ui:102 msgid "_Paste" msgstr "Wk_lej" -#: ui/composer-menus.ui:100 +#: ui/composer-menus.ui:88 msgctxt "Clipboard paste as plain text" msgid "Paste _Without Formatting" msgstr "Wklej be_z formatowania" -#: ui/composer-menus.ui:120 +#: ui/composer-menus.ui:108 msgid "Select _All" msgstr "Zaznacz _wszystko" -#: ui/composer-menus.ui:127 ui/conversation-message-menus.ui:43 +#: ui/composer-menus.ui:115 ui/conversation-message-menus.ui:43 msgid "_Inspect…" msgstr "Z_badaj…" -#. Address(es) e-mail is to be sent to -#: ui/composer-widget.ui:56 -msgid "_To" -msgstr "_Do" - -#: ui/composer-widget.ui:75 -msgid "_Cc" -msgstr "Do _wiadomości" - -#: ui/composer-widget.ui:130 -msgid "_Subject" -msgstr "_Temat" - -#: ui/composer-widget.ui:149 -msgid "_Bcc" -msgstr "_Ukryty do wiadomości" - -#: ui/composer-widget.ui:179 -msgid "_Reply-To" -msgstr "_Odpowiedź do" - #. Geary account mail will be sent from -#: ui/composer-widget.ui:208 +#: ui/composer-widget.ui:61 msgid "From" msgstr "Od" -#: ui/composer-widget.ui:293 +#. Address(es) e-mail is to be sent to +#: ui/composer-widget.ui:131 +msgid "_To" +msgstr "_Do" + +#: ui/composer-widget.ui:159 +msgid "Show Cc, Bcc, and Reply-To fields" +msgstr "" +"Wyświetla pola „Do wiadomości”, „Ukryty do wiadomości” i „Odpowiedź do”" + +#: ui/composer-widget.ui:214 +msgid "_Cc" +msgstr "Do _wiadomości" + +#: ui/composer-widget.ui:258 +msgid "_Bcc" +msgstr "_Ukryty do wiadomości" + +#: ui/composer-widget.ui:302 +msgid "_Reply-To" +msgstr "_Odpowiedź do" + +#: ui/composer-widget.ui:355 +msgid "_Subject" +msgstr "_Temat" + +#: ui/composer-widget.ui:428 msgid "Drop files here" msgstr "Tutaj można upuścić pliki," -#: ui/composer-widget.ui:309 +#: ui/composer-widget.ui:444 msgid "To add them as attachments" msgstr "aby dodać je jako załączniki." -#: ui/composer-widget.ui:353 +#: ui/composer-widget.ui:488 msgid "Undo last edit" msgstr "Cofa ostatnią modyfikację" -#: ui/composer-widget.ui:377 +#: ui/composer-widget.ui:512 msgid "Redo last edit" msgstr "Ponawia ostatnią modyfikację" -#: ui/composer-widget.ui:415 +#: ui/composer-widget.ui:550 msgid "Bold text" msgstr "Pogrubia tekst" -#: ui/composer-widget.ui:439 +#: ui/composer-widget.ui:574 msgid "Italic text" msgstr "Pochyla tekst" -#: ui/composer-widget.ui:463 +#: ui/composer-widget.ui:598 msgid "Underline text" msgstr "Podkreśla tekst" -#: ui/composer-widget.ui:487 +#: ui/composer-widget.ui:622 msgid "Strikethrough text" msgstr "Przekreśla tekst" -#: ui/composer-widget.ui:525 +#: ui/composer-widget.ui:660 msgid "Insert bulleted list" msgstr "Wstawia listę wypunktowaną" -#: ui/composer-widget.ui:549 +#: ui/composer-widget.ui:684 msgid "Insert numbered list" msgstr "Wstawia listę numerowaną" -#: ui/composer-widget.ui:587 +#: ui/composer-widget.ui:722 msgid "Indent or quote text" msgstr "Wcina lub cytuje tekst" -#: ui/composer-widget.ui:611 +#: ui/composer-widget.ui:746 msgid "Un-indent or unquote text" msgstr "Usuwa wcięcie lub cytowanie tekstu" -#: ui/composer-widget.ui:649 +#: ui/composer-widget.ui:784 msgid "Insert or update text link" msgstr "Wstawia lub aktualizuje odnośnik tekstowy" -#: ui/composer-widget.ui:673 +#: ui/composer-widget.ui:808 msgid "Insert an image" msgstr "Wstawia obraz" -#: ui/composer-widget.ui:707 +#: ui/composer-widget.ui:842 msgid "Remove text formatting" msgstr "Usuwa formatowanie tekstu" -#: ui/composer-widget.ui:731 +#: ui/composer-widget.ui:866 msgid "Select spell checking languages" msgstr "Wybiera język sprawdzania pisowni" From 6df665f1735b62d715f5ab81c66397757596aa7a Mon Sep 17 00:00:00 2001 From: Daniel Mustieles Date: Tue, 14 Jan 2020 12:32:17 +0100 Subject: [PATCH 04/23] Updated Spanish translation --- help/es/es.po | 609 ++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 436 insertions(+), 173 deletions(-) diff --git a/help/es/es.po b/help/es/es.po index 396bad91..d465261f 100644 --- a/help/es/es.po +++ b/help/es/es.po @@ -3,13 +3,13 @@ # This file is distributed under the same license as the geary package. # FIRST AUTHOR , YEAR. # Adolfo Jayme Barrientos , 2014, 2016. -# Daniel Mustieles , 2014-2019. +# Daniel Mustieles , 2014-2020. # msgid "" msgstr "" "Project-Id-Version: geary master\n" -"POT-Creation-Date: 2019-11-25 09:56+0000\n" -"PO-Revision-Date: 2019-11-25 11:52+0100\n" +"POT-Creation-Date: 2020-01-12 16:30+0000\n" +"PO-Revision-Date: 2020-01-14 11:29+0100\n" "Last-Translator: Daniel Mustieles \n" "Language-Team: Spanish - Spain \n" "Language: es_ES\n" @@ -23,7 +23,7 @@ msgstr "" msgctxt "_" msgid "translator-credits" msgstr "" -"Daniel Mustieles , 2014 - 2019\n" +"Daniel Mustieles , 2014 - 2020\n" "Adolfo Jayme Barrientos , 2014" #. (itstool) path: page/title @@ -212,31 +212,37 @@ msgstr "" "la ventana emergente o pulsando CtrlU." #. (itstool) path: page/title +#: C/archive.page:8 +msgid "Archive, trash and delete messages" +msgstr "Archivar, enviar a la papelera y eliminar mensajes" + +#. (itstool) path: page/p #: C/archive.page:10 -msgid "Delete or archive a message" -msgstr "Eliminar o archivar un mensaje" - -#. (itstool) path: page/p -#: C/archive.page:12 msgid "" -"When you use Geary with a Gmail account, Geary lets you archive " -"messages. The Archive toolbar button archives the selected " -"conversation(s). Archived messages appear in the All Mail folder." +"Geary lets you archive messages if your server supports it. Clicking the " +"Archive toolbar button moves the conversation " +"from the current folder to the Archive folder for most email " +"services, or to All Mail for GMail. Archiving helps keep your " +"email organised by moving old and replied-to email out of the way." msgstr "" -"Cuando usa Geary con una cuenta de Gmail, Geary le permite archivar " -"los mensajes. El botón Archivar de la barra de herramientas " -"archiva las conversaciones seleccionadas. Los mensajes archivados aparecen " -"en la carpeta Todos los correos." #. (itstool) path: page/p -#: C/archive.page:16 +#: C/archive.page:17 +#, fuzzy +#| msgid "" +#| "With other mail servers, you can trash or delete, but not archive, " +#| "messages. To move one or more conversations to the Trash " +#| "folder, select them and press the Trash button on the toolbar. " +#| "To permanently delete the conversations, hold down Shift and " +#| "press the Delete button that appears in place of the " +#| "Trash button." msgid "" -"With other mail servers, you can trash or delete, but not archive, messages. " -"To move one or more conversations to the Trash folder, select " -"them and press the Trash button on the toolbar. To permanently " -"delete the conversations, hold down Shift and press the " -"Delete button that appears in place of the Trash " -"button." +"To move conversations to the Trash folder, select them and click " +"the Trash toolbar button. To permanently delete " +"conversations, hold down Shift and click the Delete button that appears in place of the Trash button, " +"or open the conversation in the Trash folder and click Delete there." msgstr "" "Con otros servidores de correo puede eliminar o enviar a la papelera, pero " "no archivar mensajes. Para mover una o más conversaciones a la carpeta de " @@ -245,19 +251,31 @@ msgstr "" "mantenga pulsada la tecla Mayús y pulse el botón Eliminar que aparece en lugar del botón de Papelera." -#. (itstool) path: page/p -#: C/archive.page:21 +#. (itstool) path: note/title +#: C/archive.page:26 +msgid "Undoing changes" +msgstr "Deshacer cambios" + +#. (itstool) path: note/p +#: C/archive.page:27 msgid "" -"Delete is not available from every folder, such as Search. Delete is also " -"unavailable for Gmail. For Gmail, Trash will move messages to the " -"Trash folder on the server, where the user can then manually delete them. " -"The server will automatically remove trashed messages after 30 days." +"Note that you can always undo archiving or trashing a message if you change " +"your mind. Click Undo on the pop-up notification " +"that appears, or type CtrlZ, or open " +"the folder, find the message, then move it back to your Inbox" +msgstr "" + +#. (itstool) path: page/p +#: C/archive.page:34 +msgid "" +"While both Archive and Trash removes conversations from your Inbox folder, " +"there is an important difference. Clicking Archive will ensure your conversations are kept so you can find them again " +"later. Clicking Trash will cause conversations " +"to be hidden from , and they will likely be deleted " +"in the future." msgstr "" -"La eliminación no está disponible para todas la carpetas, como es el caso de " -"Buscar. Tampoco está disponible para Gmail. En este caso, la Papelera moverá los mensajes a la carpeta Papelera en el servidor, donde el " -"usuario puede eliminarlos manualmente. El servidor eliminará automáticamente " -"los mensajes de esta carpeta pasados 30 días." #. (itstool) path: page/title #: C/bugs.page:10 @@ -745,31 +763,21 @@ msgid "Preferences" msgstr "Preferencias" #. (itstool) path: page/p -#: C/preferences.page:11 +#: C/preferences.page:12 msgid "" -"The Preferences option is available in either Geary's application " -"menu or the gear menu in the upper-right of the toolbar. (The location " -"depends on the install desktop shell. For GNOME Shell and Unity, the " -"application menu is available near the top-left corner of the screen.)" +"Geary allows you to customise how it works via its Preferences window. To open the window, select Preferences from the application menu on the main window's toolbar. " +"You can change the following options:" msgstr "" -"La opción Preferencias está disponible en el menú aplicación de " -"Geary o el menú de configuración en la parte superior derecha de la barra de " -"herramientas. (La ubicación depende de la shell de instalación de " -"escritorio. Para GNOME Shell y Unity, el menú aplicación esta disponible " -"cerca de la esquina superior izquierda de la pantalla.)" - -#. (itstool) path: section/title -#: C/preferences.page:17 -msgid "Reading" -msgstr "Lectura" #. (itstool) path: item/title -#: C/preferences.page:20 +#: C/preferences.page:19 msgid "Automatically select next message" msgstr "Seleccionar automáticamente el mensaje siguiente" #. (itstool) path: item/p -#: C/preferences.page:21 +#: C/preferences.page:20 msgid "" "When this option is enabled, Geary automatically selects the latest message " "in a folder when you enter the folder. In addition, after archiving a " @@ -809,50 +817,32 @@ msgstr "" "los tres paneles. Si no están seleccionadas, la lista de carpetas y de " "conversaciones se aplicarán verticalmente en un único panel." -#. (itstool) path: section/title -#: C/preferences.page:40 -msgid "Notifications" -msgstr "Notificaciones" - #. (itstool) path: item/title -#: C/preferences.page:43 -msgid "Play notification sounds" -msgstr "Reproducir sonidos de notificación" - -#. (itstool) path: item/p -#: C/preferences.page:44 -msgid "When set, Geary plays a sound whenever a new message arrives." +#: C/preferences.page:38 +msgid "Use single key email shortcuts" msgstr "" -"Cuando está configurado, Geary reproduce un sonido cuando un mensaje nuevo " -"llega." - -#. (itstool) path: item/title -#: C/preferences.page:47 -msgid "Show notifications for new mail" -msgstr "Mostrar notificaciones de mensajes nuevos" #. (itstool) path: item/p -#: C/preferences.page:48 +#: C/preferences.page:39 +#, fuzzy +#| msgid "" +#| "A number of keyboard shortcuts are available in the composer; see for details." msgid "" -"When set, Geary displays a notification each time a new message " -"arrives. Notifications are displayed in a system-dependent manner. On GNOME " -"Shell, notifications appear at the bottom of the display (older versions) or " -"centered just below the top bar (newer versions). In Ubuntu Unity, " -"notifications appear at the upper right of the display." +"Enable keyboard shortcuts for email actions that do not require pressing " +"Ctrl. These match the shortcuts used by GMail. See for details." msgstr "" -"Cuando está configurado, Geary muestra una notificación cada vez " -"que un mensaje nuevo llega. Las notificaciones se muestran de una manera " -"dependiente del sistema. En GNOME Shell, las notificaciones se muestran en " -"la parte inferior de la pantalla (versiones antiguas). En Ubuntu Unity, las " -"notificaciones se muestran en la parte superior derecha de la pantalla." +"Hay disponibles varios atajos de teclado en la ventana del editor; consulte " +" para obtener más información." #. (itstool) path: item/title -#: C/preferences.page:54 +#: C/preferences.page:44 msgid "Watch for new mail when closed" msgstr "Revisar si hay mensajes nuevos al cerrar" #. (itstool) path: item/p -#: C/preferences.page:55 +#: C/preferences.page:45 msgid "" "Geary will watch your accounts for new mail even when the main window is not " "open. To do this, it will silently start when you log in to your computer, " @@ -1041,13 +1031,19 @@ msgstr "" msgid "Keyboard shortcuts" msgstr "Atajos de teclado" -#. (itstool) path: page/p -#: C/shortcuts.page:12 +#. (itstool) path: section/p +#: C/shortcuts.page:13 +#, fuzzy +#| msgid "" +#| "Geary has keyboard shortcuts for most common operations. Use the built-in " +#| "keyboard shortcuts help in Geary to discover the full list. This can be " +#| "accessed via the application menu: GearyKeyboard " +#| "Shortcuts or using the keyboard shortcuts listed below." msgid "" "Geary has keyboard shortcuts for most common operations. Use the built-in " -"keyboard shortcuts help in Geary to discover the full list. This can be " -"accessed via the application menu: GearyKeyboard " -"Shortcuts or using the keyboard shortcuts listed below." +"help to discover the full list. To open the shortcuts help, select Keyboard Shortcuts from the application menu on the " +"main window's toolbar, or using the keyboard shortcuts listed below." msgstr "" "Geary tiene atajos del teclado para la mayoría de operaciones habituales. " "Use la ayuda integrada de los atajos del teclado de Geary para descubrir la " @@ -1055,8 +1051,8 @@ msgstr "" "GearyAtajos del teclado o usando los " "atajos del teclado listados a continuación." -#. (itstool) path: page/p -#: C/shortcuts.page:18 +#. (itstool) path: section/p +#: C/shortcuts.page:19 msgid "" "The following keyboard shortcuts can be used to access on-line help from " "Geary:" @@ -1065,28 +1061,47 @@ msgstr "" "línea de Geary:" #. (itstool) path: td/p -#: C/shortcuts.page:22 -msgid "Display this User Manual" -msgstr "Mostrar este manual de usuario" +#: C/shortcuts.page:23 +#| msgid "Display this User Manual" +msgid "Display this online help manual" +msgstr "Mostrar este manual en línea" #. (itstool) path: td/p -#: C/shortcuts.page:23 +#: C/shortcuts.page:24 msgid "F1" msgstr "F1" #. (itstool) path: td/p -#: C/shortcuts.page:26 +#: C/shortcuts.page:27 msgid "Display all keyboard shortcuts" msgstr "Mostrar los atajos del teclado" #. (itstool) path: td/p -#: C/shortcuts.page:27 +#: C/shortcuts.page:28 +#| msgid "CtrlN or N" +msgid "Ctrl?" +msgstr "Ctrl?" + +#. (itstool) path: section/title +#: C/shortcuts.page:36 +#| msgid "Display all keyboard shortcuts" +msgid "Single key shortcuts" +msgstr "Atajos del teclado" + +#. (itstool) path: section/p +#: C/shortcuts.page:38 msgid "" -"Ctrl? or CtrlF1" +"You can enable keyboard shortcuts for email actions that do not require " +"pressing Ctrl. These match the shortcuts used by GMail. See for details." +msgstr "" + +#. (itstool) path: section/p +#: C/shortcuts.page:42 +msgid "" +"The full list of single key shortcuts enabled by this preference can be " +"found via the keyboard shortcuts help, above." msgstr "" -"Ctrl? o CtrlF1" #. (itstool) path: page/title #: C/star.page:10 @@ -1158,32 +1173,88 @@ msgstr "" "gui> en el menú desplegable." #. (itstool) path: page/title -#: C/write.page:9 -msgid "Write a message" -msgstr "Redactar un mensaje" +#: C/write.page:7 +#| msgid "Composing and replying" +msgid "Writing new email and replying" +msgstr "Escribir un corroe nuevo y responder" #. (itstool) path: section/title -#: C/write.page:12 +#: C/write.page:10 msgid "Composing and replying" msgstr "Redactar y responder" #. (itstool) path: section/p -#: C/write.page:13 +#: C/write.page:12 msgid "" -"To compose a new message in Geary, press the New Message button " -"on the toolbar." +"To start a new email conversation, click the Compose button on the toolbar. Type the email address of the people to receive " +"the message in the To text field, and a subject " +"line in the Subject field. You can then type your " +"message in the text area below these. Once the message is read to send, " +"click Send or type CtrlEnter to send the message." +msgstr "" + +#. (itstool) path: note/title +#: C/write.page:23 +msgid "Undoing sending" +msgstr "Deshacer el envío" + +#. (itstool) path: note/p +#: C/write.page:24 +msgid "" +"When sending an email, Geary will wait 5 seconds before delivering the " +"message. During this time, you will be able to click Undo on the pop-up notification that appears or type " +"CtrlZ to re-open the email, and make " +"more changes to it." msgstr "" -"Para redactar un mensaje nuevo en Geary, pulse el botón Mensaje nuevo de la barra de herramientas." #. (itstool) path: section/p -#: C/write.page:16 +#: C/write.page:32 msgid "" -"To reply to a message, open the message menu in the upper right corner of " -"the message and choose Reply, Reply All or " -"Forward. You can also reply to the last message in a conversation " -"via the Reply, Reply All or Forward buttons " -"on the toolbar." +"When entering an email address in the To and Cc fields, Geary will provide suggestions from your " +"desktop address book and from previously sent and received email messages. " +"To choose one of these suggestions, simply click on it. In addition, Bcc and Reply-to fields can " +"be shown by selecting Show extended fields from " +"the formatting toolbar menu." +msgstr "" + +#. (itstool) path: section/p +#: C/write.page:41 +msgid "" +"To reply to the currently selected conversation, click one of the Reply, Reply All or Forward toolbar buttons. This will open a new reply or " +"forwarded email composer for the latest message in the conversation." +msgstr "" + +#. (itstool) path: section/p +#: C/write.page:47 +msgid "" +"When replying, the message being replied to will be quoted and copied into " +"the footer of the new reply. This can be deleted before typing a reply by " +"pressing Backspace. Alternatively, text can be selectively quoted " +"by selecting the desired text in a message and clicking Reply or Reply All, only the selected " +"text will be quoted." +msgstr "" + +#. (itstool) path: section/p +#: C/write.page:55 +#, fuzzy +#| msgid "" +#| "To reply to a message, open the message menu in the upper right corner of " +#| "the message and choose Reply, Reply All or " +#| "Forward. You can also reply to the last message in a " +#| "conversation via the Reply, Reply All or " +#| "Forward buttons on the toolbar." +msgid "" +"To reply to a specific email message, open the message menu in the top " +"corner of the message and choose Reply, Reply All or " +"Forward." msgstr "" "Para responder a un mensaje, abra el menú del mensaje en la esquina superior " "derecha de este, y seleccione Responder, Responder a todos o Reenviar de la barra de herramientas." #. (itstool) path: section/title -#: C/write.page:21 -msgid "Features" -msgstr "Características" +#: C/write.page:61 +msgid "Text formatting, images and attachments" +msgstr "" #. (itstool) path: section/p -#: C/write.page:23 +#: C/write.page:63 msgid "" -"Geary's email composer lets you adjust the font, size and color of text. You " -"can also insert hyperlinks into messages." +"Geary's email composer lets you use text styles such as bold and " +"italic, indent text to quote it and links to web pages. Simply " +"select the text and click the appropriate button on the formatting toolbar." msgstr "" -"El editor de mensajes de Geary le permite ajustar el tipo de letra, el " -"tamaño y el color del texto. También puede insertar hiperenlaces en los " -"mensajes." #. (itstool) path: section/p -#: C/write.page:25 +#: C/write.page:68 msgid "" -"Geary can also send plain text messages. In the drop-down menu, check or " -"uncheck \"Rich Text\" to toggle between plain text and rich text mode." +"Bulleted and numbered lists can be inserted or removed by clicking the Bulleted list and Numbered " +"list buttons on the formatting toolbar. The level of indentation of " +"list items can be adjusted using the Indent and " +"Un-indent formatting toolbar buttons." msgstr "" -"Geary también puede enviar mensajes de texto sencillo. En el menú " -"desplegable, marque o desmarque «Texto enriquecido» para cambiar entre los " -"modos de texto sencillo y texto con formato." #. (itstool) path: section/p -#: C/write.page:28 +#: C/write.page:75 msgid "" -"You can attach a file to a message you're writing in either of these ways:" +"Images can be inserted into rich text messages by clicking the Insert Image button on the formatting toolbar and selecting " +"the image to attach, by dragging an image from the Files " +"application into the email body and then dropping it, or by pasting an image " +"that has been copied to the clipboard from another application." msgstr "" -"Puede adjuntar un archivo a un mensaje que esté redactando de las siguientes " -"maneras:" - -#. (itstool) path: item/p -#: C/write.page:30 -msgid "" -"Press the Attach File button at the lower left of the composer " -"window, then select a file to attach." -msgstr "" -"Pulse en el botón Adjuntar un archivo en la esquina inferior " -"izquierda de la ventana del editor, y seleccione el archivo que quiere " -"adjuntar." - -#. (itstool) path: item/p -#: C/write.page:32 -msgid "" -"Drag the file from the Nautilus file manager to the composer window, and " -"drop it either on the text fields at the top of the window or on the toolbar " -"at the bottom." -msgstr "" -"Arrastre el archivo desde el gestor de archivos Nautilus hasta la ventana " -"del editor, y suéltelo en los campos de texto en la parte superior de la " -"ventana o en la barra de herramientas inferior." #. (itstool) path: section/p -#: C/write.page:36 +#: C/write.page:82 +msgid "" +"Documents, music, videos, and other files can be attached to the email by " +"clicking the Attach File button at the top of " +"the composer window and selecting the document to attach, or by dragging a " +"file from the Files application to the composer window, and " +"dropping it either on the text fields at the top of the window or on the " +"toolbar at the bottom." +msgstr "" + +#. (itstool) path: section/p +#: C/write.page:90 msgid "" "A number of keyboard shortcuts are available in the composer; see for details." @@ -1255,25 +1316,59 @@ msgstr "" " para obtener más información." #. (itstool) path: section/p -#: C/write.page:38 +#: C/write.page:93 +#, fuzzy +#| msgid "" +#| "You may specify a signature to be inserted into the composer in the dialog." msgid "" -"You may specify a signature to be inserted into the composer in the dialog." +"You may specify a signature to be inserted into the footer of email in the " +"composer via the dialog." msgstr "" "Debe especificar una firma para insertarla dentro del editor en el diálogo " "." #. (itstool) path: section/title -#: C/write.page:43 -msgid "Drafts" -msgstr "Borradores" +#: C/write.page:98 +msgid "Checking spelling" +msgstr "Comprobar la ortogracía" #. (itstool) path: section/p -#: C/write.page:45 +#: C/write.page:100 +msgid "" +"Geary supports spell-checking your composed email in one or more languages, " +"as you type. To enable spell-checking, first ensure your computer has spell-" +"check dictionaries installed for the desired languages. Consult your " +"computer's help to determine how to install dictionaries if not present." +msgstr "" + +#. (itstool) path: section/p +#: C/write.page:106 +msgid "" +"To select languages for spell-checking, click the Spell check button on the formatting toolbar, and the language " +"selection popover will appear. Click on a language in the list to toggle it " +"on or off, and click the - button to remove it " +"from the list. If a language does not appear in the list, search for it by " +"typing its name in the search box, then click the + button to add it." +msgstr "" + +#. (itstool) path: section/title +#: C/write.page:117 +msgid "Saving drafts and restoring discarded messages" +msgstr "" + +#. (itstool) path: section/p +#: C/write.page:119 +#, fuzzy +#| msgid "" +#| "For mail servers that support drafts, Geary will automatically save the " +#| "message as you type. If you close the composer without sending, Geary " +#| "will prompt you to keep the draft or to discard it." msgid "" "For mail servers that support drafts, Geary will automatically save the " -"message as you type. If you close the composer without sending, Geary will " -"prompt you to keep the draft or to discard it." +"message as you type on the server after a short delay." msgstr "" "Si está usando un servidor de correo que admite borradores, Geary guardará " "automáticamente el mensaje a medida que lo escribe. Si cierra la ventana del " @@ -1281,29 +1376,197 @@ msgstr "" "borrador." #. (itstool) path: section/p -#: C/write.page:48 +#: C/write.page:123 +#, fuzzy +#| msgid "" +#| "To edit an existing draft, select the Drafts folder in the folder list, " +#| "select the message, and click \"Edit Draft\" in the message viewer." msgid "" -"To edit an existing draft, select the Drafts folder in the folder list, " -"select the message, and click \"Edit Draft\" in the message viewer." +"To edit an existing draft, select the Drafts folder in the folder " +"list, select the message, and click \"Edit Draft\" in the conversation " +"viewer." msgstr "" "Para editar un borrador existente, seleccione la carpeta Borradores de la " "lista de carpetas, elija el mensaje y pulse en «Editar el borrador» en el " "visor de mensajes." #. (itstool) path: section/p -#: C/write.page:51 -msgid "Geary deletes the draft when you send the message." +#: C/write.page:127 +#, fuzzy +#| msgid "Geary deletes the draft when you send the message." +msgid "Geary will delete the draft when you send the message." msgstr "Geary eliminará el borrador cuando envíe el mensaje." +#. (itstool) path: note/p +#: C/write.page:130 +msgid "" +"If you save or discard a composed email, you can re-open it by clicking Undo on the pop-up notification that appears or by " +"typing CtrlZ. The ability to restore " +"a saved or discarded composer will be remain for up to 30 minutes. After " +"that you will need to re-open the message via the Drafts folder, " +"if present." +msgstr "" + +#. (itstool) path: section/title +#: C/write.page:141 +#| msgid "Write a message" +msgid "Plain text messages" +msgstr "Mensajes de texto plano" + +#. (itstool) path: section/p +#: C/write.page:143 +msgid "" +"Geary can also send plain text messages. In the drop-down menu, check or " +"uncheck Rich Text to toggle between plain text and " +"rich text mode. Plain text mode is useful when sending email to mailing " +"lists that prohibit rich text (HTML) messages, or when sending email to " +"people that do no use modern clients like Geary." +msgstr "" + +#. (itstool) path: section/p +#: C/write.page:150 +msgid "" +"In plain text mode, text will be automatically wrapped using soft line " +"breaks so that it is no longer than 74 characters wide, and indented text " +"will be wrapped and quoted using a “>” character for each level of " +"quoting." +msgstr "" + +#~ msgid "Delete or archive a message" +#~ msgstr "Eliminar o archivar un mensaje" + +#~ msgid "" +#~ "When you use Geary with a Gmail account, Geary lets you archive " +#~ "messages. The Archive toolbar button archives the selected " +#~ "conversation(s). Archived messages appear in the All Mail " +#~ "folder." +#~ msgstr "" +#~ "Cuando usa Geary con una cuenta de Gmail, Geary le permite archivar los mensajes. El botón Archivar de la barra de " +#~ "herramientas archiva las conversaciones seleccionadas. Los mensajes " +#~ "archivados aparecen en la carpeta Todos los correos." + +#~ msgid "" +#~ "Delete is not available from every folder, such as Search. Delete is also " +#~ "unavailable for Gmail. For Gmail, Trash will move messages to " +#~ "the Trash folder on the server, where the user can then manually delete " +#~ "them. The server will automatically remove trashed messages after 30 days." +#~ msgstr "" +#~ "La eliminación no está disponible para todas la carpetas, como es el caso " +#~ "de Buscar. Tampoco está disponible para Gmail. En este caso, la " +#~ "Papelera moverá los mensajes a la carpeta Papelera en el " +#~ "servidor, donde el usuario puede eliminarlos manualmente. El servidor " +#~ "eliminará automáticamente los mensajes de esta carpeta pasados 30 días." + +#~ msgid "" +#~ "The Preferences option is available in either Geary's " +#~ "application menu or the gear menu in the upper-right of the toolbar. (The " +#~ "location depends on the install desktop shell. For GNOME Shell and Unity, " +#~ "the application menu is available near the top-left corner of the screen.)" +#~ msgstr "" +#~ "La opción Preferencias está disponible en el menú aplicación " +#~ "de Geary o el menú de configuración en la parte superior derecha de la " +#~ "barra de herramientas. (La ubicación depende de la shell de instalación " +#~ "de escritorio. Para GNOME Shell y Unity, el menú aplicación esta " +#~ "disponible cerca de la esquina superior izquierda de la pantalla.)" + +#~ msgid "Reading" +#~ msgstr "Lectura" + +#~ msgid "Notifications" +#~ msgstr "Notificaciones" + +#~ msgid "Play notification sounds" +#~ msgstr "Reproducir sonidos de notificación" + +#~ msgid "When set, Geary plays a sound whenever a new message arrives." +#~ msgstr "" +#~ "Cuando está configurado, Geary reproduce un sonido cuando un mensaje " +#~ "nuevo llega." + +#~ msgid "Show notifications for new mail" +#~ msgstr "Mostrar notificaciones de mensajes nuevos" + +#~ msgid "" +#~ "When set, Geary displays a notification each time a new message " +#~ "arrives. Notifications are displayed in a system-dependent manner. On " +#~ "GNOME Shell, notifications appear at the bottom of the display (older " +#~ "versions) or centered just below the top bar (newer versions). In Ubuntu " +#~ "Unity, notifications appear at the upper right of the display." +#~ msgstr "" +#~ "Cuando está configurado, Geary muestra una notificación cada vez " +#~ "que un mensaje nuevo llega. Las notificaciones se muestran de una manera " +#~ "dependiente del sistema. En GNOME Shell, las notificaciones se muestran " +#~ "en la parte inferior de la pantalla (versiones antiguas). En Ubuntu " +#~ "Unity, las notificaciones se muestran en la parte superior derecha de la " +#~ "pantalla." + +#~ msgid "" +#~ "Ctrl? or CtrlF1" +#~ msgstr "" +#~ "Ctrl? o CtrlF1" + +#~ msgid "" +#~ "To compose a new message in Geary, press the New Message " +#~ "button on the toolbar." +#~ msgstr "" +#~ "Para redactar un mensaje nuevo en Geary, pulse el botón Mensaje " +#~ "nuevo de la barra de herramientas." + +#~ msgid "Features" +#~ msgstr "Características" + +#~ msgid "" +#~ "Geary's email composer lets you adjust the font, size and color of text. " +#~ "You can also insert hyperlinks into messages." +#~ msgstr "" +#~ "El editor de mensajes de Geary le permite ajustar el tipo de letra, el " +#~ "tamaño y el color del texto. También puede insertar hiperenlaces en los " +#~ "mensajes." + +#~ msgid "" +#~ "Geary can also send plain text messages. In the drop-down menu, check or " +#~ "uncheck \"Rich Text\" to toggle between plain text and rich text mode." +#~ msgstr "" +#~ "Geary también puede enviar mensajes de texto sencillo. En el menú " +#~ "desplegable, marque o desmarque «Texto enriquecido» para cambiar entre " +#~ "los modos de texto sencillo y texto con formato." + +#~ msgid "" +#~ "You can attach a file to a message you're writing in either of these ways:" +#~ msgstr "" +#~ "Puede adjuntar un archivo a un mensaje que esté redactando de las " +#~ "siguientes maneras:" + +#~ msgid "" +#~ "Press the Attach File button at the lower left of the composer " +#~ "window, then select a file to attach." +#~ msgstr "" +#~ "Pulse en el botón Adjuntar un archivo en la esquina inferior " +#~ "izquierda de la ventana del editor, y seleccione el archivo que quiere " +#~ "adjuntar." + +#~ msgid "" +#~ "Drag the file from the Nautilus file manager to the composer window, and " +#~ "drop it either on the text fields at the top of the window or on the " +#~ "toolbar at the bottom." +#~ msgstr "" +#~ "Arrastre el archivo desde el gestor de archivos Nautilus hasta la ventana " +#~ "del editor, y suéltelo en los campos de texto en la parte superior de la " +#~ "ventana o en la barra de herramientas inferior." + +#~ msgid "Drafts" +#~ msgstr "Borradores" + #~ msgid "Geary has keyboard shortcuts for most common operations." #~ msgstr "Geary incluye atajos de teclado para las operaciones más comunes." #~ msgid "Compose a new message" #~ msgstr "Redactar un mensaje nuevo" -#~ msgid "CtrlN or N" -#~ msgstr "CtrlN o N" - #~ msgid "Reply to sender" #~ msgstr "Responder al remitente" From bc4f208d36292755773fd715b940eaa535d1a860 Mon Sep 17 00:00:00 2001 From: Kukuh Syafaat Date: Tue, 14 Jan 2020 13:20:37 +0000 Subject: [PATCH 05/23] Update Indonesian translation --- po/id.po | 197 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 101 insertions(+), 96 deletions(-) diff --git a/po/id.po b/po/id.po index b585dc6e..8fd9f184 100644 --- a/po/id.po +++ b/po/id.po @@ -6,20 +6,21 @@ # Andika Triwidada , 2012-2014 # elementary Indonesia , 2012, 2013 # Mohamad Hasan Al Banna, 2013 +# Kukuh Syafaat , 2017, 2018, 2020. msgid "" msgstr "" "Project-Id-Version: geary mainline\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/geary/issues\n" -"POT-Creation-Date: 2019-12-17 23:56+0000\n" -"PO-Revision-Date: 2020-01-04 08:23+0700\n" -"Last-Translator: Andika Triwidada \n" +"POT-Creation-Date: 2020-01-08 10:10+0000\n" +"PO-Revision-Date: 2020-01-14 20:18+0700\n" +"Last-Translator: Kukuh Syafaat \n" "Language-Team: Indonesian\n" "Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n!=1;\n" -"X-Generator: Poedit 2.2.1\n" +"X-Generator: Poedit 2.2.4\n" #: desktop/geary-attach.contract.desktop.in:3 msgid "Send by email" @@ -943,7 +944,7 @@ msgid "translator-credits" msgstr "" "Andika Triwidada , 2012, 2013, 2016, 2017, 2019\n" "Dani Pratomo , 2012.\n" -"Kukuh Syafaat , 2017, 2018." +"Kukuh Syafaat , 2017, 2018, 2020." #. / Warning printed to the console when a deprecated #. / command line option is used. @@ -1176,7 +1177,7 @@ msgstr "Hapus" msgid "Do you want to permanently delete this message?" msgid_plural "Do you want to permanently delete these messages?" msgstr[0] "Anda mau membuang pesan ini secara permanen?" -msgstr[1] "" +msgstr[1] "Anda mau membuang pesan ini secara permanen?" #: src/client/application/application-main-window.vala:1325 #, c-format @@ -1207,7 +1208,7 @@ msgstr "%s (%d)" #. Document (100.9MB) #. / In the composer, the filename followed by its filesize, i.e. "notes.txt (1.12KB)" #: src/client/components/components-attachment-pane.vala:107 -#: src/client/composer/composer-widget.vala:1815 +#: src/client/composer/composer-widget.vala:1816 #, c-format msgid "%s (%s)" msgstr "%s (%s)" @@ -1350,37 +1351,37 @@ msgstr "Tidak bisa mencari nama server" msgid "Mark conversation" msgid_plural "Mark conversations" msgstr[0] "Tandai percakapan" -msgstr[1] "" +msgstr[1] "Tandai percakapan" #: src/client/components/main-toolbar.vala:147 msgid "Add label to conversation" msgid_plural "Add label to conversations" msgstr[0] "Tambahkan label ke percakapan" -msgstr[1] "" +msgstr[1] "Tambahkan label ke percakapan" #: src/client/components/main-toolbar.vala:152 msgid "Move conversation" msgid_plural "Move conversations" msgstr[0] "Pindahkan percakapan" -msgstr[1] "" +msgstr[1] "Pindahkan percakapan" #: src/client/components/main-toolbar.vala:157 msgid "Archive conversation" msgid_plural "Archive conversations" msgstr[0] "Arsipkan percakapan" -msgstr[1] "" +msgstr[1] "Arsipkan percakapan" #: src/client/components/main-toolbar.vala:168 msgid "Move conversation to Trash" msgid_plural "Move conversations to Trash" msgstr[0] "Pindahkan percakapan ke Tong Sampah" -msgstr[1] "" +msgstr[1] "Pindahkan percakapan ke Tong Sampah" #: src/client/components/main-toolbar.vala:178 msgid "Delete conversation" msgid_plural "Delete conversations" msgstr[0] "Hapus percakapan" -msgstr[1] "" +msgstr[1] "Hapus percakapan" #. Translators: Info bar title for a generic account #. problem. @@ -1575,90 +1576,90 @@ msgstr "" #. Translators: This dialog text is displayed to the #. user when closing a composer where the options are #. Keep, Discard or Cancel. -#: src/client/composer/composer-widget.vala:814 +#: src/client/composer/composer-widget.vala:815 msgid "Do you want to keep or discard this draft message?" msgstr "Anda mau menyimpan atau membuang draf pesan ini?" #. Translators: This dialog text is displayed to the #. user when closing a composer where the options are #. only Discard or Cancel. -#: src/client/composer/composer-widget.vala:840 +#: src/client/composer/composer-widget.vala:841 msgid "Do you want to discard this draft message?" msgstr "Anda mau membuang draf pesan ini?" -#: src/client/composer/composer-widget.vala:1484 +#: src/client/composer/composer-widget.vala:1485 msgid "Send message with an empty subject and body?" msgstr "Kirim pesan dengan subjek dan isi kosong?" -#: src/client/composer/composer-widget.vala:1486 +#: src/client/composer/composer-widget.vala:1487 msgid "Send message with an empty subject?" msgstr "Kirim pesan dengan subjek kosong?" -#: src/client/composer/composer-widget.vala:1488 +#: src/client/composer/composer-widget.vala:1489 msgid "Send message with an empty body?" msgstr "Kirim pesan tanpa isi?" -#: src/client/composer/composer-widget.vala:1497 +#: src/client/composer/composer-widget.vala:1498 msgid "Send message without an attachment?" msgstr "Kirim pesan tanpa lampiran?" -#: src/client/composer/composer-widget.vala:1807 +#: src/client/composer/composer-widget.vala:1808 #, c-format msgid "“%s” already attached for delivery." msgstr "\"%s\" sudah dilampirkan untuk pengiriman." -#: src/client/composer/composer-widget.vala:1837 -#: src/client/composer/composer-widget.vala:1887 +#: src/client/composer/composer-widget.vala:1838 +#: src/client/composer/composer-widget.vala:1888 #, c-format msgid "“%s” is an empty file." msgstr "\"%s\" adalah berkas kosong." -#: src/client/composer/composer-widget.vala:1875 +#: src/client/composer/composer-widget.vala:1876 #, c-format msgid "“%s” could not be found." msgstr "\"%s\" tidak ditemukan." -#: src/client/composer/composer-widget.vala:1881 +#: src/client/composer/composer-widget.vala:1882 #, c-format msgid "“%s” is a folder." msgstr "\"%s\" adalah sebuah folder." -#: src/client/composer/composer-widget.vala:1900 +#: src/client/composer/composer-widget.vala:1901 #, c-format msgid "“%s” could not be opened for reading." msgstr "\"%s\" tak bisa dibuka untuk dibaca." -#: src/client/composer/composer-widget.vala:1908 +#: src/client/composer/composer-widget.vala:1909 msgid "Cannot add attachment" msgstr "Tak bisa menambah lampiran" #. Translators: Human-readable version of the RFC 822 To header -#: src/client/composer/composer-widget.vala:1965 +#: src/client/composer/composer-widget.vala:1966 #: src/client/conversation-viewer/conversation-email.vala:559 #: src/client/util/util-email.vala:235 ui/conversation-message.ui:312 msgid "To:" msgstr "Ke:" #. Translators: Human-readable version of the RFC 822 CC header -#: src/client/composer/composer-widget.vala:1971 +#: src/client/composer/composer-widget.vala:1972 #: src/client/conversation-viewer/conversation-email.vala:564 #: src/client/util/util-email.vala:240 ui/conversation-message.ui:357 msgid "Cc:" msgstr "Cc:" #. Translators: Human-readable version of the RFC 822 BCC header -#: src/client/composer/composer-widget.vala:1977 +#: src/client/composer/composer-widget.vala:1978 #: src/client/conversation-viewer/conversation-email.vala:569 #: ui/conversation-message.ui:402 msgid "Bcc:" msgstr "Bcc:" #. Translators: Human-readable version of the RFC 822 Reply-To header -#: src/client/composer/composer-widget.vala:1983 +#: src/client/composer/composer-widget.vala:1984 msgid "Reply-To: " msgstr "Balas-Ke: " -#: src/client/composer/composer-widget.vala:2172 +#: src/client/composer/composer-widget.vala:2170 msgid "Select Color" msgstr "Pilih Warna" @@ -1667,20 +1668,20 @@ msgstr "Pilih Warna" #. printf argument will be the alternate email address, #. and the second will be the account's primary email #. address. -#: src/client/composer/composer-widget.vala:2364 +#: src/client/composer/composer-widget.vala:2362 #, c-format msgid "%1$s via %2$s" msgstr "%1$s via %2$s" #. Composer label (with mnemonic underscore) for the account selector #. when choosing what address to send a message from. -#: src/client/composer/composer-widget.vala:2420 +#: src/client/composer/composer-widget.vala:2418 msgid "_From:" msgstr "_Dari:" #. Translators: This is the name of the file chooser filter #. when inserting an image in the composer. -#: src/client/composer/composer-widget.vala:2723 +#: src/client/composer/composer-widget.vala:2721 msgid "Images" msgstr "Citra" @@ -1701,14 +1702,14 @@ msgstr "Cari lebih banyak bahasa lagi" msgid "Move conversation to _Trash" msgid_plural "Move conversations to _Trash" msgstr[0] "Pindahkan percakapan ke _Tong Sampah" -msgstr[1] "" +msgstr[1] "Pindahkan percakapan ke _Tong Sampah" #. / Translators: Context menu item #: src/client/conversation-list/conversation-list-view.vala:347 msgid "_Delete conversation" msgid_plural "_Delete conversations" msgstr[0] "_Hapus percakapan" -msgstr[1] "" +msgstr[1] "_Hapus percakapan" #: src/client/conversation-list/conversation-list-view.vala:360 #: ui/main-toolbar-menus.ui:5 @@ -2097,7 +2098,8 @@ msgstr "%a, %-e %b %Y pada %-H:%M" msgid "%a, %b %-e, %Y at %X" msgstr "%a, %-e %b %Y pada %X" -#: src/client/util/util-email.vala:38 src/engine/rfc822/rfc822-message.vala:998 +#: src/client/util/util-email.vala:38 +#: src/engine/rfc822/rfc822-message.vala:1000 msgid "(no subject)" msgstr "(tanpa perihal)" @@ -2436,12 +2438,12 @@ msgstr "Dihapus" msgid "Archive | Archives" msgstr "Arsip | Archive | Archives" -#: src/engine/rfc822/rfc822-message.vala:467 +#: src/engine/rfc822/rfc822-message.vala:458 #, c-format msgid "Could not determine mime type for “%s”." msgstr "Tidak dapat menentukan tipe mime untuk \"%s\"." -#: src/engine/rfc822/rfc822-message.vala:475 +#: src/engine/rfc822/rfc822-message.vala:469 #, c-format msgid "Could not determine content type for mime type “%s” on “%s”." msgstr "Tidak dapat menentukan tipe isi untuk tipe mime \"%s\" pada \"%s\"." @@ -2620,27 +2622,27 @@ msgstr "_Percayai Server Ini" msgid "_Don’t Trust This Server" msgstr "_Jangan Percayai Server Ini" -#: ui/composer-headerbar.ui:19 ui/composer-headerbar.ui:176 +#: ui/composer-headerbar.ui:18 ui/composer-headerbar.ui:175 msgid "Detach the composer from the window" msgstr "Copot penyusun dari jendela" -#: ui/composer-headerbar.ui:59 ui/composer-headerbar.ui:84 +#: ui/composer-headerbar.ui:58 ui/composer-headerbar.ui:83 msgid "Attach a file" msgstr "Lampirkan berkas" -#: ui/composer-headerbar.ui:108 +#: ui/composer-headerbar.ui:107 msgid "Add original attachments" msgstr "Tambahkan lampiran asli" -#: ui/composer-headerbar.ui:204 +#: ui/composer-headerbar.ui:203 msgid "_Send" msgstr "_Kirim" -#: ui/composer-headerbar.ui:231 +#: ui/composer-headerbar.ui:230 msgid "Discard and Close" msgstr "Buang dan Tutup" -#: ui/composer-headerbar.ui:255 +#: ui/composer-headerbar.ui:254 msgid "Save and Close" msgstr "Simpan dan Tutup" @@ -2694,135 +2696,135 @@ msgstr "_Besar" msgid "C_olor" msgstr "_Warna" -#: ui/composer-menus.ui:47 ui/composer-menus.ui:62 +#: ui/composer-menus.ui:47 ui/composer-menus.ui:56 msgid "_Rich Text" msgstr "_Rich Text" -#: ui/composer-menus.ui:53 ui/composer-menus.ui:68 -msgid "Show Extended Fields" -msgstr "Tampilkan Ruas Yang Diperluas" - -#: ui/composer-menus.ui:78 +#: ui/composer-menus.ui:66 msgid "_Undo" msgstr "Tak _Jadi" -#: ui/composer-menus.ui:82 +#: ui/composer-menus.ui:70 msgid "_Redo" msgstr "Jadi _Lagi" -#: ui/composer-menus.ui:88 ui/composer-menus.ui:106 +#: ui/composer-menus.ui:76 ui/composer-menus.ui:94 msgid "Cu_t" msgstr "Po_tong" -#: ui/composer-menus.ui:92 ui/composer-menus.ui:110 +#: ui/composer-menus.ui:80 ui/composer-menus.ui:98 #: ui/conversation-message-menus.ui:37 msgid "_Copy" msgstr "Sali_n" -#: ui/composer-menus.ui:96 ui/composer-menus.ui:114 +#: ui/composer-menus.ui:84 ui/composer-menus.ui:102 msgid "_Paste" msgstr "Tem_pel" -#: ui/composer-menus.ui:100 +#: ui/composer-menus.ui:88 msgctxt "Clipboard paste as plain text" msgid "Paste _Without Formatting" msgstr "Tempel _Tanpa Format" -#: ui/composer-menus.ui:120 +#: ui/composer-menus.ui:108 msgid "Select _All" msgstr "Pilih Semu_a" -#: ui/composer-menus.ui:127 ui/conversation-message-menus.ui:43 +#: ui/composer-menus.ui:115 ui/conversation-message-menus.ui:43 msgid "_Inspect…" msgstr "Per_iksa…" -#. Address(es) e-mail is to be sent to -#: ui/composer-widget.ui:56 -msgid "_To" -msgstr "_Ke" - -#: ui/composer-widget.ui:75 -msgid "_Cc" -msgstr "_Cc" - -#: ui/composer-widget.ui:130 -msgid "_Subject" -msgstr "_Perihal" - -#: ui/composer-widget.ui:149 -msgid "_Bcc" -msgstr "_Bcc" - -#: ui/composer-widget.ui:179 -msgid "_Reply-To" -msgstr "B_alas-Ke" - #. Geary account mail will be sent from -#: ui/composer-widget.ui:208 +#: ui/composer-widget.ui:61 msgid "From" msgstr "Dari" -#: ui/composer-widget.ui:293 +#. Address(es) e-mail is to be sent to +#: ui/composer-widget.ui:131 +msgid "_To" +msgstr "_Ke" + +#: ui/composer-widget.ui:159 +msgid "Show Cc, Bcc, and Reply-To fields" +msgstr "Tampilkan kolom Cc, Bcc, dan Balas-Ke" + +#: ui/composer-widget.ui:214 +msgid "_Cc" +msgstr "_Cc" + +#: ui/composer-widget.ui:258 +msgid "_Bcc" +msgstr "_Bcc" + +#: ui/composer-widget.ui:302 +msgid "_Reply-To" +msgstr "B_alas-Ke" + +#: ui/composer-widget.ui:355 +msgid "_Subject" +msgstr "_Perihal" + +#: ui/composer-widget.ui:428 msgid "Drop files here" msgstr "Jatuhkan berkas di sini" -#: ui/composer-widget.ui:309 +#: ui/composer-widget.ui:444 msgid "To add them as attachments" msgstr "Untuk menambahkan mereka sebagai lampiran" -#: ui/composer-widget.ui:353 +#: ui/composer-widget.ui:488 msgid "Undo last edit" msgstr "Batalkan suntingan terakhir" -#: ui/composer-widget.ui:377 +#: ui/composer-widget.ui:512 msgid "Redo last edit" msgstr "Jadikan lagi penyuntingan terakhir" -#: ui/composer-widget.ui:415 +#: ui/composer-widget.ui:550 msgid "Bold text" msgstr "Teks tebal" -#: ui/composer-widget.ui:439 +#: ui/composer-widget.ui:574 msgid "Italic text" msgstr "Teks miring" -#: ui/composer-widget.ui:463 +#: ui/composer-widget.ui:598 msgid "Underline text" msgstr "Garisbawahi teks" -#: ui/composer-widget.ui:487 +#: ui/composer-widget.ui:622 msgid "Strikethrough text" msgstr "Coret teks" -#: ui/composer-widget.ui:525 +#: ui/composer-widget.ui:660 msgid "Insert bulleted list" msgstr "Sisipkan daftar bulet" -#: ui/composer-widget.ui:549 +#: ui/composer-widget.ui:684 msgid "Insert numbered list" msgstr "Sisipkan daftar bernomor" -#: ui/composer-widget.ui:587 +#: ui/composer-widget.ui:722 msgid "Indent or quote text" msgstr "Indentasikan atau kutip teks" -#: ui/composer-widget.ui:611 +#: ui/composer-widget.ui:746 msgid "Un-indent or unquote text" msgstr "Batalkan indentasi atau pengutipan teks" -#: ui/composer-widget.ui:649 +#: ui/composer-widget.ui:784 msgid "Insert or update text link" msgstr "Sisipkan atau mutakhirkan tautan teks" -#: ui/composer-widget.ui:673 +#: ui/composer-widget.ui:808 msgid "Insert an image" msgstr "Sisipkan sebuah citra" -#: ui/composer-widget.ui:707 +#: ui/composer-widget.ui:842 msgid "Remove text formatting" msgstr "Buang performatan teks" -#: ui/composer-widget.ui:731 +#: ui/composer-widget.ui:866 msgid "Select spell checking languages" msgstr "Pilih bahasa pemeriksaan ejaan" @@ -3472,3 +3474,6 @@ msgstr "Otentik_asikan" #: ui/upgrade_dialog.glade:60 msgid "Geary update in progress…" msgstr "Pemutakhiran Geary sedang berlangsung…" + +#~ msgid "Show Extended Fields" +#~ msgstr "Tampilkan Ruas Yang Diperluas" From 392c13472435b8e7957144218afc0ceba928ea04 Mon Sep 17 00:00:00 2001 From: Adrien Plazas Date: Thu, 16 Jan 2020 14:12:03 +0100 Subject: [PATCH 06/23] Use a HdyTitleBar Also add the .sidebar style class to the separator to make it still take the whole height. This will help dropping styling workarounds and ensure animating the headerbars work well. --- src/client/application/application-main-window.vala | 5 ++++- ui/main-toolbar.ui | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/client/application/application-main-window.vala b/src/client/application/application-main-window.vala index d605e027..97920ff6 100644 --- a/src/client/application/application-main-window.vala +++ b/src/client/application/application-main-window.vala @@ -1221,7 +1221,10 @@ public class Application.MainWindow : this.main_toolbar.show_close_button = false; this.main_layout.pack_start(main_toolbar, false, true, 0); } else { - set_titlebar(this.main_toolbar); + var titlebar = new Hdy.TitleBar(); + titlebar.show(); + titlebar.add(this.main_toolbar); + set_titlebar(titlebar); } // Status bar diff --git a/ui/main-toolbar.ui b/ui/main-toolbar.ui index 5cf9e4d8..83b7b978 100644 --- a/ui/main-toolbar.ui +++ b/ui/main-toolbar.ui @@ -89,6 +89,9 @@ True False vertical + False From 0f907c5754ac34b5f8e974d354137258c04cd261 Mon Sep 17 00:00:00 2001 From: Adrien Plazas Date: Thu, 16 Jan 2020 14:23:21 +0100 Subject: [PATCH 07/23] main-toolbar: Drop the custom styles Drop the custom titlebar styles as they are not needed since we use HdyTitleBar, and since they can interfeer with it. --- src/client/components/main-toolbar.vala | 4 ---- ui/geary.css | 9 --------- ui/main-toolbar.ui | 9 --------- 3 files changed, 22 deletions(-) diff --git a/src/client/components/main-toolbar.vala b/src/client/components/main-toolbar.vala index 5afaea6c..e4b55743 100644 --- a/src/client/components/main-toolbar.vala +++ b/src/client/components/main-toolbar.vala @@ -102,8 +102,6 @@ public class MainToolbar : Gtk.Box { public void set_conversation_header(Gtk.HeaderBar header) { conversation_header.hide(); - header.get_style_context().add_class("geary-titlebar"); - header.get_style_context().add_class("geary-titlebar-right"); guest_header_binding = bind_property("show-close-button-right", header, "show-close-button", BindingFlags.SYNC_CREATE); pack_start(header, true, true); @@ -112,8 +110,6 @@ public class MainToolbar : Gtk.Box { public void remove_conversation_header(Gtk.HeaderBar header) { remove(header); - header.get_style_context().remove_class("geary-titlebar"); - header.get_style_context().remove_class("geary-titlebar-right"); guest_header_binding.unbind(); header.decoration_layout = Gtk.Settings.get_default().gtk_decoration_layout; conversation_header.show(); diff --git a/ui/geary.css b/ui/geary.css index ab8c07fb..0b21e6b5 100644 --- a/ui/geary.css +++ b/ui/geary.css @@ -45,15 +45,6 @@ border-right: 0; } -.geary-titlebar-left:dir(ltr), -.geary-titlebar-right:dir(rtl) { - border-top-right-radius: 0px; -} -.geary-titlebar-right:dir(ltr), -.geary-titlebar-left:dir(rtl) { - border-top-left-radius: 0px; -} - /* MainWindowInfoBarSet */ .geary-info-bar-frame > border { diff --git a/ui/main-toolbar.ui b/ui/main-toolbar.ui index 83b7b978..f7576f7d 100644 --- a/ui/main-toolbar.ui +++ b/ui/main-toolbar.ui @@ -73,10 +73,6 @@ 3 - False @@ -334,11 +330,6 @@ 4 - True From 2588a12f3073775d4b0ce46c7f80cee7ba2dae1d Mon Sep 17 00:00:00 2001 From: Adam Dingle Date: Sun, 19 Jan 2020 11:54:36 +0100 Subject: [PATCH 08/23] Don't display "email queued for delivery" when undo-send-delay is 0 Closes #672 --- src/client/application/application-controller.vala | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/client/application/application-controller.vala b/src/client/application/application-controller.vala index 87f70a44..12470943 100644 --- a/src/client/application/application-controller.vala +++ b/src/client/application/application-controller.vala @@ -2630,13 +2630,14 @@ private class Application.SendComposerCommand : ComposerCommand { public override async void execute(GLib.Cancellable? cancellable) throws GLib.Error { Geary.ComposedEmail email = yield this.composer.get_composed_email(); - /// Translators: The label for an in-app notification. The - /// string substitution is a list of recipients of the email. - this.executed_label = _( - "Email to %s queued for delivery" - ).printf(Util.Email.to_short_recipient_display(email)); - + if (this.can_undo) { + /// Translators: The label for an in-app notification. The + /// string substitution is a list of recipients of the email. + this.executed_label = _( + "Email to %s queued for delivery" + ).printf(Util.Email.to_short_recipient_display(email)); + this.saved = yield this.smtp.save_email(email, cancellable); this.commit_timer.start(); } else { From 02c65476eac230ea90c70caff71afa8c09970ecf Mon Sep 17 00:00:00 2001 From: Adam Dingle Date: Sun, 19 Jan 2020 15:26:21 +0100 Subject: [PATCH 09/23] Allow brief notifications This change allows certain notifications to be displayed only briefly. The new DConf key brief-notification-duration is the number of seconds for which brief notifications should be displayed. At the moment the only brief notifications are "Message sent", "Conversation archived" and "Message archived". Closes #602 --- desktop/org.gnome.Geary.gschema.xml | 7 +++++++ src/client/accounts/accounts-editor-list-pane.vala | 6 +++++- src/client/application/application-command.vala | 8 ++++++++ src/client/application/application-configuration.vala | 5 +++++ src/client/application/application-controller.vala | 5 ++++- src/client/application/application-main-window.vala | 5 ++++- src/client/components/components-in-app-notification.vala | 4 +++- 7 files changed, 36 insertions(+), 4 deletions(-) diff --git a/desktop/org.gnome.Geary.gschema.xml b/desktop/org.gnome.Geary.gschema.xml index f0068798..df7f31be 100644 --- a/desktop/org.gnome.Geary.gschema.xml +++ b/desktop/org.gnome.Geary.gschema.xml @@ -128,6 +128,13 @@ email. Set to zero or less to disable. + + 5 + Brief notification display time + The length of time in seconds for which brief notifications should + be displayed. + + false Whether we migrated the old settings diff --git a/src/client/accounts/accounts-editor-list-pane.vala b/src/client/accounts/accounts-editor-list-pane.vala index 9bb42c1a..fc16da49 100644 --- a/src/client/accounts/accounts-editor-list-pane.vala +++ b/src/client/accounts/accounts-editor-list-pane.vala @@ -243,8 +243,12 @@ internal class Accounts.EditorListPane : Gtk.Grid, EditorPane, CommandPane { private void on_execute(Application.Command command) { if (command.executed_label != null) { + int notification_time = + command.executed_notification_brief ? + editor.application.config.brief_notification_duration : 0; Components.InAppNotification ian = - new Components.InAppNotification(command.executed_label); + new Components.InAppNotification( + command.executed_label, notification_time); ian.set_button(_("Undo"), Action.Edit.prefix(Action.Edit.UNDO)); this.editor.add_notification(ian); } diff --git a/src/client/application/application-command.vala b/src/client/application/application-command.vala index 24ee9f3b..446d6741 100644 --- a/src/client/application/application-command.vala +++ b/src/client/application/application-command.vala @@ -71,6 +71,14 @@ public abstract class Application.Command : GLib.Object { */ public string? executed_label { get; protected set; default = null; } + /** + * True if executed_label should be displayed only briefly to the user. + * Set this to true for very frequent notifications. + */ + public bool executed_notification_brief { + get; protected set; default = false; + } + /** * A human-readable label describing the result of calling {@link undo}. * diff --git a/src/client/application/application-configuration.vala b/src/client/application/application-configuration.vala index e2cc8f7b..c00bb564 100644 --- a/src/client/application/application-configuration.vala +++ b/src/client/application/application-configuration.vala @@ -14,6 +14,7 @@ public class Application.Configuration : Geary.BaseObject { public const string ASK_OPEN_ATTACHMENT_KEY = "ask-open-attachment"; public const string AUTOSELECT_KEY = "autoselect"; + public const string BRIEF_NOTIFICATION_DURATION = "brief-notification-duration"; public const string COMPOSER_WINDOW_SIZE_KEY = "composer-window-size"; public const string COMPOSE_AS_HTML_KEY = "compose-as-html"; public const string CONVERSATION_VIEWER_ZOOM_KEY = "conversation-viewer-zoom"; @@ -154,6 +155,10 @@ public class Application.Configuration : Geary.BaseObject { get { return settings.get_int(UNDO_SEND_DELAY); } } + /** The number of seconds for which brief notifications should be displayed. */ + public int brief_notification_duration { + get { return settings.get_int(BRIEF_NOTIFICATION_DURATION); } + } // Creates a configuration object. public Configuration(string schema_id) { diff --git a/src/client/application/application-controller.vala b/src/client/application/application-controller.vala index 87f70a44..48e902ee 100644 --- a/src/client/application/application-controller.vala +++ b/src/client/application/application-controller.vala @@ -1558,7 +1558,9 @@ internal class Application.Controller : Geary.BaseObject { "Email sent to %s" ).printf(Util.Email.to_short_recipient_display(sent)); Components.InAppNotification notification = - new Components.InAppNotification(message); + new Components.InAppNotification( + message, application.config.brief_notification_duration + ); foreach (MainWindow window in this.application.get_main_windows()) { window.add_notification(notification); } @@ -2324,6 +2326,7 @@ private class Application.ArchiveEmailCommand : RevokableCommand { base(source, conversations, messages); this.source = source; this.executed_label = executed_label; + this.executed_notification_brief = true; this.undone_label = undone_label; } diff --git a/src/client/application/application-main-window.vala b/src/client/application/application-main-window.vala index d605e027..6f337a10 100644 --- a/src/client/application/application-main-window.vala +++ b/src/client/application/application-main-window.vala @@ -2032,8 +2032,11 @@ public class Application.MainWindow : private void on_command_redo(Command command) { update_command_actions(); if (command.executed_label != null) { + int notification_time = + command.executed_notification_brief ? + application.config.brief_notification_duration : 0; Components.InAppNotification ian = - new Components.InAppNotification(command.executed_label); + new Components.InAppNotification(command.executed_label, notification_time); ian.set_button(_("Undo"), Action.Edit.prefix(Action.Edit.UNDO)); add_notification(ian); } diff --git a/src/client/components/components-in-app-notification.vala b/src/client/components/components-in-app-notification.vala index 79ec67c7..565e3974 100644 --- a/src/client/components/components-in-app-notification.vala +++ b/src/client/components/components-in-app-notification.vala @@ -26,7 +26,9 @@ public class Components.InAppNotification : Gtk.Revealer { * @param message The message that should be displayed. * @param keepalive The amount of seconds that the notification should stay visible. */ - public InAppNotification(string message, uint keepalive = DEFAULT_KEEPALIVE) { + public InAppNotification(string message, uint keepalive = 0) { + if (keepalive == 0) + keepalive = DEFAULT_KEEPALIVE; this.transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN; this.message_label.label = message; From 0d7e94b880a731ffcc6b7c5dff004a86586af9f7 Mon Sep 17 00:00:00 2001 From: Adam Dingle Date: Tue, 21 Jan 2020 11:54:59 +0100 Subject: [PATCH 10/23] Don't show brief notifications when brief-notification-duration is 0 --- .../components/components-in-app-notification.vala | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/client/components/components-in-app-notification.vala b/src/client/components/components-in-app-notification.vala index 565e3974..fd5a7797 100644 --- a/src/client/components/components-in-app-notification.vala +++ b/src/client/components/components-in-app-notification.vala @@ -26,8 +26,12 @@ public class Components.InAppNotification : Gtk.Revealer { * @param message The message that should be displayed. * @param keepalive The amount of seconds that the notification should stay visible. */ - public InAppNotification(string message, uint keepalive = 0) { - if (keepalive == 0) + public InAppNotification(string message, uint keepalive = -1) { + if (keepalive == 0) { + this.message_label.label = ""; + return; // skip the notification + } + if (keepalive == -1) keepalive = DEFAULT_KEEPALIVE; this.transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN; this.message_label.label = message; @@ -46,8 +50,10 @@ public class Components.InAppNotification : Gtk.Revealer { } public override void show() { - base.show(); - this.reveal_child = true; + if (this.message_label.label != "") { + base.show(); + this.reveal_child = true; + } } /** From 2aff2694b25cf9d49d06846a0447b0d607d0bff8 Mon Sep 17 00:00:00 2001 From: James Westman Date: Sat, 4 Jan 2020 02:09:38 -0600 Subject: [PATCH 11/23] composer: Move formatting buttons to new toolbar Splits the toolbar at the top of the composer into two action bars at the bottom. One is always visible and contains undo, redo, spellcheck, a menu, and a button to toggle the other action bar. The other action bar contains the formatting buttons. Also cleans up the margins around the fields at the top. Implemented according to the mockups at https://gitlab.gnome.org/Teams/Design/app-mockups/raw/master/mail/composer.png --- desktop/org.gnome.Geary.gschema.xml | 6 + .../application-configuration.vala | 6 + src/client/composer/composer-widget.vala | 54 +- ui/composer-widget.ui | 904 +++++++++--------- 4 files changed, 486 insertions(+), 484 deletions(-) diff --git a/desktop/org.gnome.Geary.gschema.xml b/desktop/org.gnome.Geary.gschema.xml index f0068798..cac7a4d0 100644 --- a/desktop/org.gnome.Geary.gschema.xml +++ b/desktop/org.gnome.Geary.gschema.xml @@ -45,6 +45,12 @@ True if the folder list Paned is in the horizontal orientation. + + true + Show/hide formatting toolbar + True if the formatting toolbar in the composer is shown. + + 250 Position of message list pane diff --git a/src/client/application/application-configuration.vala b/src/client/application/application-configuration.vala index e2cc8f7b..89db44cf 100644 --- a/src/client/application/application-configuration.vala +++ b/src/client/application/application-configuration.vala @@ -22,6 +22,7 @@ public class Application.Configuration : Geary.BaseObject { public const string FOLDER_LIST_PANE_POSITION_HORIZONTAL_KEY = "folder-list-pane-position-horizontal"; public const string FOLDER_LIST_PANE_POSITION_KEY = "folder-list-pane-position"; public const string FOLDER_LIST_PANE_POSITION_VERTICAL_KEY = "folder-list-pane-position-vertical"; + public const string FORMATTING_TOOLBAR_VISIBLE = "formatting-toolbar-visible"; public const string MESSAGES_PANE_POSITION_KEY = "messages-pane-position"; public const string SEARCH_STRATEGY_KEY = "search-strategy"; public const string SINGLE_KEY_SHORTCUTS = "single-key-shortcuts"; @@ -104,6 +105,11 @@ public class Application.Configuration : Geary.BaseObject { get { return settings.get_boolean(FOLDER_LIST_PANE_HORIZONTAL_KEY); } } + public bool formatting_toolbar_visible { + get { return settings.get_boolean(FORMATTING_TOOLBAR_VISIBLE); } + set { settings.set_boolean(FORMATTING_TOOLBAR_VISIBLE, value); } + } + public int messages_pane_position { get { return settings.get_int(MESSAGES_PANE_POSITION_KEY); } set { settings.set_int(MESSAGES_PANE_POSITION_KEY, value); } diff --git a/src/client/composer/composer-widget.vala b/src/client/composer/composer-widget.vala index 9253eab4..0a76f90b 100644 --- a/src/client/composer/composer-widget.vala +++ b/src/client/composer/composer-widget.vala @@ -131,6 +131,7 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface { private const string ACTION_INSERT_LINK = "insert-link"; private const string ACTION_COMPOSE_AS_HTML = "compose-as-html"; private const string ACTION_SHOW_EXTENDED_HEADERS = "show-extended-headers"; + private const string ACTION_SHOW_FORMATTING = "show-formatting"; private const string ACTION_DISCARD = "discard"; private const string ACTION_DETACH = "detach"; private const string ACTION_SEND = "send"; @@ -186,6 +187,7 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface { { ACTION_SELECT_DICTIONARY, on_select_dictionary }, { ACTION_SEND, on_send }, { ACTION_SHOW_EXTENDED_HEADERS, on_toggle_action, null, "false", on_show_extended_headers_toggled }, + { ACTION_SHOW_FORMATTING, on_toggle_action, null, "false", on_show_formatting }, }; public static void add_accelerators(Application.Client application) { @@ -310,6 +312,7 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface { [GtkChild] private Gtk.Label from_label; + [GtkChild] private Gtk.Box from_row; [GtkChild] private Gtk.Label from_single; [GtkChild] @@ -347,8 +350,7 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface { private EmailEntry reply_to_entry; private Components.EntryUndo reply_to_undo; - [GtkChild] - private Gtk.Label subject_label; + [GtkChild] private Gtk.Box subject_row; [GtkChild] private Gtk.Entry subject_entry; private Components.EntryUndo subject_undo; @@ -371,17 +373,10 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface { private Gtk.Widget recipients; [GtkChild] private Gtk.Box header_area; - [GtkChild] - private Gtk.Box insert_buttons; - [GtkChild] - private Gtk.Box font_style_buttons; - [GtkChild] - private Gtk.Box list_buttons; + [GtkChild] private Gtk.Revealer formatting; [GtkChild] private Gtk.Button insert_link_button; [GtkChild] - private Gtk.Button remove_format_button; - [GtkChild] private Gtk.Button select_dictionary_button; [GtkChild] private Gtk.MenuButton menu_button; @@ -1150,6 +1145,11 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface { ); } + this.composer_actions.change_action_state( + ACTION_SHOW_FORMATTING, + this.application.config.formatting_toolbar_visible + ); + get_action(Action.Edit.UNDO).set_enabled(false); get_action(Action.Edit.REDO).set_enabled(false); @@ -1435,20 +1435,17 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface { case PresentationMode.DETACHED: case PresentationMode.PANED: this.recipients.set_visible(true); - this.subject_label.set_visible(true); - this.subject_entry.set_visible(true); + this.subject_row.visible = true; break; case PresentationMode.INLINE: this.recipients.set_visible(true); - this.subject_label.set_visible(false); - this.subject_entry.set_visible(false); + this.subject_row.visible = false; break; case PresentationMode.INLINE_COMPACT: this.recipients.set_visible(false); - this.subject_label.set_visible(false); - this.subject_entry.set_visible(false); + this.subject_row.visible = false; set_compact_header_recipients(); break; } @@ -2123,10 +2120,9 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface { update_cursor_actions(); - this.insert_buttons.visible = compose_as_html; - this.font_style_buttons.visible = compose_as_html; - this.list_buttons.visible = compose_as_html; - this.remove_format_button.visible = compose_as_html; + var show_formatting = (SimpleAction) this.composer_actions.lookup_action(ACTION_SHOW_FORMATTING); + show_formatting.set_enabled(compose_as_html); + update_formatting_toolbar(); this.menu_button.menu_model = (compose_as_html) ? this.html_menu : this.plain_menu; @@ -2146,6 +2142,20 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface { } } + private void update_formatting_toolbar() { + var show_formatting = (SimpleAction) this.composer_actions.lookup_action(ACTION_SHOW_FORMATTING); + var text_format = (SimpleAction) this.composer_actions.lookup_action(ACTION_TEXT_FORMAT); + this.formatting.reveal_child = text_format.get_state().get_string() == "html" && show_formatting.get_state().get_boolean(); + } + + private void on_show_formatting(SimpleAction? action, Variant? new_state) { + bool show_formatting = new_state.get_boolean(); + this.application.config.formatting_toolbar_visible = show_formatting; + action.set_state(new_state); + + update_formatting_toolbar(); + } + private void on_font_family(SimpleAction action, Variant? param) { this.editor.execute_editing_command_with_argument( "fontname", param.get_string() @@ -2392,7 +2402,7 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface { // the from address had to be set private bool update_from_field() { this.from_multiple.changed.disconnect(on_from_changed); - this.from_single.visible = this.from_multiple.visible = this.from_label.visible = false; + this.from_single.visible = this.from_multiple.visible = this.from_row.visible = false; // Don't show in inline unless the current account has // multiple email accounts or aliases, since these will be replies to a @@ -2411,7 +2421,7 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface { return false; } - this.from_label.visible = true; + this.from_row.visible = true; this.from_label.set_mnemonic_widget(this.from_multiple); // Composer label (with mnemonic underscore) for the account selector // when choosing what address to send a message from. diff --git a/ui/composer-widget.ui b/ui/composer-widget.ui index 57ee5157..2899c6af 100644 --- a/ui/composer-widget.ui +++ b/ui/composer-widget.ui @@ -14,7 +14,6 @@ True False vertical - 2 True @@ -48,7 +47,7 @@ 6 vertical - + True False 6 @@ -343,10 +342,11 @@ - + True False 6 + 6 True @@ -467,461 +467,7 @@ True False - - - True - False - 6 - 6 - 4 - 6 - - - True - False - - - True - True - False - False - Undo last edit - edt.undo - True - - - True - False - 16 - edit-undo-symbolic - - - - - False - True - 0 - - - - - True - True - False - False - Redo last edit - edt.redo - True - - - True - False - 16 - edit-redo-symbolic - - - - - False - True - 1 - - - - - - False - True - 0 - - - - - True - False - - - True - True - False - False - Bold text - edt.bold - True - - - True - False - 16 - format-text-bold-symbolic - - - - - False - True - 0 - - - - - True - True - False - False - Italic text - edt.italic - True - - - True - False - 16 - format-text-italic-symbolic - - - - - False - True - 1 - - - - - True - True - False - False - Underline text - edt.underline - True - - - True - False - 16 - format-text-underline-symbolic - - - - - False - True - 2 - - - - - True - True - False - False - Strikethrough text - edt.strikethrough - True - - - True - False - 16 - format-text-strikethrough-symbolic - - - - - False - True - 3 - - - - - - False - True - 1 - - - - - True - False - - - True - True - False - False - Insert bulleted list - edt.ulist - True - - - True - False - 16 - format-unordered-list-symbolic - - - - - False - True - 0 - - - - - True - True - False - False - Insert numbered list - edt.olist - True - - - True - False - 16 - format-ordered-list-symbolic - - - - - False - True - 1 - - - - - - False - True - 2 - - - - - True - False - - - True - True - False - False - Indent or quote text - edt.indent - True - - - True - False - 16 - format-indent-more-symbolic - - - - - False - True - 0 - - - - - True - True - False - False - Un-indent or unquote text - edt.outdent - True - - - True - False - 16 - format-indent-less-symbolic - - - - - False - True - 1 - - - - - - False - True - 3 - - - - - True - False - - - True - True - False - False - Insert or update text link - edt.insert-link - True - - - True - False - 16 - insert-link-symbolic - - - - - False - True - 0 - - - - - True - True - False - False - Insert an image - edt.insert-image - True - - - True - False - 16 - insert-image-symbolic - - - - - False - True - 1 - - - - - - False - True - 4 - - - - - True - True - False - False - Remove text formatting - edt.remove-format - True - - - True - False - 16 - format-text-remove-symbolic - - - - - False - True - 5 - - - - - True - True - False - False - Select spell checking languages - win.select-dictionary - True - - - True - False - 16 - accessories-dictionary-symbolic - - - - - False - True - 6 - - - - - True - False - False - False - - - - - - False - True - end - 7 - - - - - True - True - end - 6 - 0 - - - - False - True - end - 8 - - - - - 0 - 0 - - + vertical True @@ -1011,10 +557,444 @@ - - 0 - 1 - + + + + True + slide-up + + + True + + + True + False + + + True + True + False + False + Bold text + edt.bold + True + + + True + False + 16 + format-text-bold-symbolic + + + + + False + True + 0 + + + + + True + True + False + False + Italic text + edt.italic + True + + + True + False + 16 + format-text-italic-symbolic + + + + + False + True + 1 + + + + + True + True + False + False + Underline text + edt.underline + True + + + True + False + 16 + format-text-underline-symbolic + + + + + False + True + 2 + + + + + True + True + False + False + Strikethrough text + edt.strikethrough + True + + + True + False + 16 + format-text-strikethrough-symbolic + + + + + False + True + 3 + + + + + + + + True + False + + + True + True + False + False + Insert bulleted list + edt.ulist + True + + + True + False + 16 + format-unordered-list-symbolic + + + + + False + True + 0 + + + + + True + True + False + False + Insert numbered list + edt.olist + True + + + True + False + 16 + format-ordered-list-symbolic + + + + + False + True + 1 + + + + + + + + True + False + + + True + True + False + False + Indent or quote text + edt.indent + True + + + True + False + 16 + format-indent-more-symbolic + + + + + False + True + 0 + + + + + True + True + False + False + Un-indent or unquote text + edt.outdent + True + + + True + False + 16 + format-indent-less-symbolic + + + + + False + True + 1 + + + + + + + + True + False + + + True + True + False + False + Insert or update text link + edt.insert-link + True + + + True + False + 16 + insert-link-symbolic + + + + + False + True + 0 + + + + + True + True + False + False + Insert an image + edt.insert-image + True + + + True + False + 16 + insert-image-symbolic + + + + + False + True + 1 + + + + + + + + True + True + False + False + Remove text formatting + edt.remove-format + True + + + True + False + 16 + format-text-remove-symbolic + + + + + + + + + + + True + + + True + False + + + True + True + False + False + Undo last edit + edt.undo + True + + + True + False + 16 + edit-undo-symbolic + + + + + False + True + 0 + + + + + True + True + False + False + Redo last edit + edt.redo + True + + + True + False + 16 + edit-redo-symbolic + + + + + False + True + 1 + + + + + + + + True + True + end + 6 + 0 + + + + + + True + False + False + False + + + True + view-more-symbolic + + + + + end + + + + + True + False + False + False + win.show-formatting + Show formatting toolbar + + + True + format-text-italic-symbolic + + + + + end + + + + + True + True + False + False + Select spell checking languages + win.select-dictionary + True + + + True + False + 16 + tools-check-spelling-symbolic + + + + + end + + + From decd33d3554018eaecd3ff846801efb5e7764c4f Mon Sep 17 00:00:00 2001 From: James Westman Date: Sat, 11 Jan 2020 19:22:12 -0600 Subject: [PATCH 12/23] composer: Ellipsize from fields Allow the from_multiple combobox to ellipsize if the name/address is too long to fit on the screen. --- src/client/application/application-main-window.vala | 2 +- src/client/composer/composer-widget.vala | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/client/application/application-main-window.vala b/src/client/application/application-main-window.vala index 97920ff6..253cde9f 100644 --- a/src/client/application/application-main-window.vala +++ b/src/client/application/application-main-window.vala @@ -1207,7 +1207,7 @@ public class Application.MainWindow : on_conversation_view_added ); - this.conversations_paned.pack2(this.conversation_viewer, true, true); + this.conversations_paned.pack2(this.conversation_viewer, true, false); // Main toolbar this.main_toolbar = new MainToolbar(config); diff --git a/src/client/composer/composer-widget.vala b/src/client/composer/composer-widget.vala index 0a76f90b..ec9e9211 100644 --- a/src/client/composer/composer-widget.vala +++ b/src/client/composer/composer-widget.vala @@ -605,6 +605,11 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface { ); this.background_work_pulse.repetition = FOREVER; + // Set the from_multiple combo box to ellipsize. This can't be done + // from the .ui file. + var cells = this.from_multiple.get_cells(); + ((Gtk.CellRendererText) cells.data).ellipsize = END; + load_entry_completions(); } From aaf172b77f19d1b6b151c7f71c581211e2c3234d Mon Sep 17 00:00:00 2001 From: James Westman Date: Mon, 13 Jan 2020 20:28:49 -0600 Subject: [PATCH 13/23] composer: Wrap toolbar when it gets too narrow This way, the composer fits on even smaller screens than before. Works by simply listening to the size-allocate signal and changing the orientation of a box if the allocated width is less than or equal to the combined width of the two rows. --- src/client/composer/composer-widget.vala | 17 + ui/composer-widget.ui | 596 ++++++++++++----------- 2 files changed, 328 insertions(+), 285 deletions(-) diff --git a/src/client/composer/composer-widget.vala b/src/client/composer/composer-widget.vala index ec9e9211..b4668980 100644 --- a/src/client/composer/composer-widget.vala +++ b/src/client/composer/composer-widget.vala @@ -374,6 +374,9 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface { [GtkChild] private Gtk.Box header_area; [GtkChild] private Gtk.Revealer formatting; + [GtkChild] private Gtk.Box toolbar_box; + [GtkChild] private Gtk.Box top_buttons; + [GtkChild] private Gtk.Box bottom_buttons; [GtkChild] private Gtk.Button insert_link_button; [GtkChild] @@ -2862,4 +2865,18 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface { this.background_work_pulse.reset(); this.show_background_work_timeout.reset(); } + + [GtkCallback] + private void on_toolbar_size_allocate(Gtk.Widget widget, Gtk.Allocation rect) { + int top_width = this.top_buttons.get_allocated_width(); + int bottom_width = this.bottom_buttons.get_allocated_width(); + // add 6 for spacing + int width = top_width + bottom_width + 6; + + if (rect.width <= width) { + this.toolbar_box.orientation = VERTICAL; + } else { + this.toolbar_box.orientation = HORIZONTAL; + } + } } diff --git a/ui/composer-widget.ui b/ui/composer-widget.ui index 2899c6af..1288ac6e 100644 --- a/ui/composer-widget.ui +++ b/ui/composer-widget.ui @@ -566,296 +566,322 @@ True - + True False + horizontal + 6 + True + - - True - True - False - False - Bold text - edt.bold - True - - - True - False - 16 - format-text-bold-symbolic - - - - - False - True - 0 - - - - - True - True - False - False - Italic text - edt.italic - True - - - True - False - 16 - format-text-italic-symbolic - - - - - False - True - 1 - - - - - True - True - False - False - Underline text - edt.underline - True - - - True - False - 16 - format-text-underline-symbolic - - - - - False - True - 2 - - - - - True - True - False - False - Strikethrough text - edt.strikethrough - True - - - True - False - 16 - format-text-strikethrough-symbolic - - - - - False - True - 3 - - - - - - - - True - False - - - True - True - False - False - Insert bulleted list - edt.ulist - True - - - True - False - 16 - format-unordered-list-symbolic - - - - - False - True - 0 - - - - - True - True - False - False - Insert numbered list - edt.olist - True - - - True - False - 16 - format-ordered-list-symbolic - - - - - False - True - 1 - - - - - - - - True - False - - - True - True - False - False - Indent or quote text - edt.indent - True - - - True - False - 16 - format-indent-more-symbolic - - - - - False - True - 0 - - - - - True - True - False - False - Un-indent or unquote text - edt.outdent - True - - - True - False - 16 - format-indent-less-symbolic - - - - - False - True - 1 - - - - - - - - True - False - - - True - True - False - False - Insert or update text link - edt.insert-link - True - - - True - False - 16 - insert-link-symbolic - - - - - False - True - 0 - - - - - True - True - False - False - Insert an image - edt.insert-image - True - - - True - False - 16 - insert-image-symbolic - - - - - False - True - 1 - - - - - - - - True - True - False - False - Remove text formatting - edt.remove-format - True - - + True False - 16 - format-text-remove-symbolic + 6 + start + + + True + False + + + True + True + False + False + Bold text + edt.bold + True + + + True + False + 16 + format-text-bold-symbolic + + + + + False + True + 0 + + + + + True + True + False + False + Italic text + edt.italic + True + + + True + False + 16 + format-text-italic-symbolic + + + + + False + True + 1 + + + + + True + True + False + False + Underline text + edt.underline + True + + + True + False + 16 + format-text-underline-symbolic + + + + + False + True + 2 + + + + + True + True + False + False + Strikethrough text + edt.strikethrough + True + + + True + False + 16 + format-text-strikethrough-symbolic + + + + + False + True + 3 + + + + + + + + True + False + + + True + True + False + False + Insert bulleted list + edt.ulist + True + + + True + False + 16 + format-unordered-list-symbolic + + + + + False + True + 0 + + + + + True + True + False + False + Insert numbered list + edt.olist + True + + + True + False + 16 + format-ordered-list-symbolic + + + + + False + True + 1 + + + + + + + + True + False + + + True + True + False + False + Indent or quote text + edt.indent + True + + + True + False + 16 + format-indent-more-symbolic + + + + + False + True + 0 + + + + + True + True + False + False + Un-indent or unquote text + edt.outdent + True + + + True + False + 16 + format-indent-less-symbolic + + + + + False + True + 1 + + + + + + + + True + False + + + True + True + False + False + Insert or update text link + edt.insert-link + True + + + True + False + 16 + insert-link-symbolic + + + + + False + True + 0 + + + + + True + True + False + False + Insert an image + edt.insert-image + True + + + True + False + 16 + insert-image-symbolic + + + + + False + True + 1 + + + + + + + + + + True + False + 6 + start + + + True + True + False + False + Remove text formatting + edt.remove-format + True + + + True + False + 16 + format-text-remove-symbolic + + + + From 0eed1bb21aff8b66ada9316f00b8ad356dcbf3d3 Mon Sep 17 00:00:00 2001 From: James Westman Date: Tue, 14 Jan 2020 22:35:18 -0600 Subject: [PATCH 14/23] composer: Add font buttons to toolbar This replaces the menu options in the overflow menu with nicer looking, more discoverable toolbar buttons. They work much the same way as before. --- icons/font-color-symbolic.svg | 19 ++ icons/font-size-symbolic.svg | 19 ++ icons/meson.build | 2 + src/client/composer/composer-web-view.vala | 11 +- src/client/composer/composer-widget.vala | 67 ++++-- src/client/util/util-gtk.vala | 9 + .../composer/composer-web-view-test.vala | 19 +- test/js/composer-page-state-test.vala | 6 +- ui/composer-menus.ui | 58 ----- ui/composer-web-view.js | 9 +- ui/composer-widget.ui | 218 +++++++++++++++--- 11 files changed, 316 insertions(+), 121 deletions(-) create mode 100644 icons/font-color-symbolic.svg create mode 100644 icons/font-size-symbolic.svg diff --git a/icons/font-color-symbolic.svg b/icons/font-color-symbolic.svg new file mode 100644 index 00000000..c51bc931 --- /dev/null +++ b/icons/font-color-symbolic.svg @@ -0,0 +1,19 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/icons/font-size-symbolic.svg b/icons/font-size-symbolic.svg new file mode 100644 index 00000000..07ecc544 --- /dev/null +++ b/icons/font-size-symbolic.svg @@ -0,0 +1,19 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + \ No newline at end of file diff --git a/icons/meson.build b/icons/meson.build index 2234d3b0..138ed558 100644 --- a/icons/meson.build +++ b/icons/meson.build @@ -6,6 +6,8 @@ icon_files = files( 'detach-symbolic.svg', 'text-x-generic-symbolic.svg', 'edit-symbolic.svg', + 'font-size-symbolic.svg', + 'font-color-symbolic.svg', 'format-ordered-list-symbolic.svg', 'format-ordered-list-symbolic-rtl.svg', 'format-text-remove-symbolic.svg', diff --git a/src/client/composer/composer-web-view.vala b/src/client/composer/composer-web-view.vala index 7f73becd..3dabf7fe 100644 --- a/src/client/composer/composer-web-view.vala +++ b/src/client/composer/composer-web-view.vala @@ -55,11 +55,16 @@ public class Composer.WebView : Components.WebView { public string link_url { get; private set; default = ""; } public string font_family { get; private set; default = "sans"; } public uint font_size { get; private set; default = 12; } + public Gdk.RGBA font_color { + get; + private set; + default = Util.Gtk.rgba(0, 0, 0, 1); + } private uint context = 0; public EditContext(string message) { - string[] values = message.split(","); + string[] values = message.split(";"); this.context = (uint) uint64.parse(values[0]); this.link_url = values[1]; @@ -73,6 +78,10 @@ public class Composer.WebView : Components.WebView { } this.font_size = (uint) uint64.parse(values[3]); + + Gdk.RGBA font_color = {0, 0, 0, 0}; + font_color.parse(values[4]); + this.font_color = font_color; } } diff --git a/src/client/composer/composer-widget.vala b/src/client/composer/composer-widget.vala index b4668980..e09a8806 100644 --- a/src/client/composer/composer-widget.vala +++ b/src/client/composer/composer-widget.vala @@ -129,7 +129,7 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface { private const string ACTION_COLOR = "color"; private const string ACTION_INSERT_IMAGE = "insert-image"; private const string ACTION_INSERT_LINK = "insert-link"; - private const string ACTION_COMPOSE_AS_HTML = "compose-as-html"; + private const string ACTION_TEXT_FORMAT = "text-format"; private const string ACTION_SHOW_EXTENDED_HEADERS = "show-extended-headers"; private const string ACTION_SHOW_FORMATTING = "show-formatting"; private const string ACTION_DISCARD = "discard"; @@ -181,7 +181,7 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface { { ACTION_ADD_ORIGINAL_ATTACHMENTS, on_pending_attachments }, { ACTION_CLOSE, on_close }, { ACTION_DISCARD, on_discard }, - { ACTION_COMPOSE_AS_HTML, on_toggle_action, null, "true", on_compose_as_html_toggled }, + { ACTION_TEXT_FORMAT, null, "s", "'html'", on_text_format }, { ACTION_DETACH, on_detach }, { ACTION_OPEN_INSPECTOR, on_open_inspector }, { ACTION_SELECT_DICTIONARY, on_select_dictionary }, @@ -377,13 +377,17 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface { [GtkChild] private Gtk.Box toolbar_box; [GtkChild] private Gtk.Box top_buttons; [GtkChild] private Gtk.Box bottom_buttons; + [GtkChild] private Gtk.MenuButton font_button; + [GtkChild] private Gtk.Stack font_button_stack; + [GtkChild] private Gtk.MenuButton font_size_button; + [GtkChild] private Gtk.Image font_color_icon; + [GtkChild] private Gtk.MenuButton text_format_button; + [GtkChild] private Gtk.Button insert_link_button; [GtkChild] private Gtk.Button select_dictionary_button; [GtkChild] - private Gtk.MenuButton menu_button; - [GtkChild] private Gtk.Label info_label; [GtkChild] @@ -392,9 +396,6 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface { private GLib.SimpleActionGroup composer_actions = new GLib.SimpleActionGroup(); private GLib.SimpleActionGroup editor_actions = new GLib.SimpleActionGroup(); - private Menu html_menu; - private Menu plain_menu; - private Menu context_menu_model; private Menu context_menu_rich_text; private Menu context_menu_plain_text; @@ -549,8 +550,6 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface { Gtk.Builder builder = new Gtk.Builder.from_resource( "/org/gnome/Geary/composer-menus.ui" ); - this.html_menu = (Menu) builder.get_object("html_menu_model"); - this.plain_menu = (Menu) builder.get_object("plain_menu_model"); this.context_menu_model = (Menu) builder.get_object("context_menu_model"); this.context_menu_rich_text = (Menu) builder.get_object("context_menu_rich_text"); this.context_menu_plain_text = (Menu) builder.get_object("context_menu_plain_text"); @@ -614,6 +613,8 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface { ((Gtk.CellRendererText) cells.data).ellipsize = END; load_entry_completions(); + + update_color_icon.begin(Util.Gtk.rgba(0, 0, 0, 0)); } public Widget.from_mailbox(Application.Client application, @@ -757,8 +758,8 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface { // model and hence the menu_button constructs a new // popover. this.composer_actions.change_action_state( - ACTION_COMPOSE_AS_HTML, - this.application.config.compose_as_html + ACTION_TEXT_FORMAT, + this.application.config.compose_as_html ? "html" : "plain" ); set_mode(DETACHED); @@ -1149,7 +1150,8 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface { ACTION_SHOW_EXTENDED_HEADERS, false ); entries_users.change_action_state( - ACTION_COMPOSE_AS_HTML, this.application.config.compose_as_html + ACTION_TEXT_FORMAT, + this.application.config.compose_as_html ? "html" : "plain" ); } @@ -2119,9 +2121,9 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface { action.change_state(!action.state.get_boolean()); } - private void on_compose_as_html_toggled(SimpleAction? action, Variant? new_state) { - bool compose_as_html = new_state.get_boolean(); - action.set_state(compose_as_html); + private void on_text_format(SimpleAction? action, Variant? new_state) { + bool compose_as_html = new_state.get_string() == "html"; + action.set_state(new_state.get_string()); foreach (string html_action in HTML_ACTIONS) get_action(html_action).set_enabled(compose_as_html); @@ -2132,11 +2134,10 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface { show_formatting.set_enabled(compose_as_html); update_formatting_toolbar(); - this.menu_button.menu_model = (compose_as_html) ? this.html_menu : this.plain_menu; - this.editor.set_rich_text(compose_as_html); this.application.config.compose_as_html = compose_as_html; + this.text_format_button.popover.popdown(); } private void on_show_extended_headers_toggled(GLib.SimpleAction? action, @@ -2165,10 +2166,14 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface { } private void on_font_family(SimpleAction action, Variant? param) { + string font = param.get_string(); this.editor.execute_editing_command_with_argument( - "fontname", param.get_string() + "fontname", font ); - action.set_state(param.get_string()); + action.set_state(font); + + this.font_button_stack.visible_child_name = font; + this.font_button.popover.popdown(); } private void on_font_size(SimpleAction action, Variant? param) { @@ -2182,15 +2187,35 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface { this.editor.execute_editing_command_with_argument("fontsize", size); action.set_state(param.get_string()); + + this.font_size_button.popover.popdown(); + } + + private async void update_color_icon(Gdk.RGBA color) { + var theme = Gtk.IconTheme.get_default(); + var icon = theme.lookup_icon("font-color-symbolic", 16, 0); + Gdk.RGBA fg_color = Util.Gtk.rgba(0, 0, 0, 1); + this.get_style_context().lookup_color("theme_fg_color", out fg_color); + + try { + var pixbuf = yield icon.load_symbolic_async(fg_color, color, null, null, null); + this.font_color_icon.pixbuf = pixbuf; + } catch(Error e) { + warning("Could not load icon `font-color-symbolic`!"); + this.font_color_icon.icon_name = "font-color-symbolic"; + } } private void on_select_color() { Gtk.ColorChooserDialog dialog = new Gtk.ColorChooserDialog(_("Select Color"), this.container.top_window); if (dialog.run() == Gtk.ResponseType.OK) { + var rgba = dialog.get_rgba(); this.editor.execute_editing_command_with_argument( - "forecolor", dialog.get_rgba().to_string() + "forecolor", rgba.to_string() ); + + this.update_color_icon.begin(rgba); } dialog.destroy(); } @@ -2675,6 +2700,8 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface { ACTION_FONT_FAMILY, context.font_family ); + this.update_color_icon.begin(context.font_color); + if (context.font_size < 11) this.editor_actions.change_action_state(ACTION_FONT_SIZE, "small"); else if (context.font_size > 20) diff --git a/src/client/util/util-gtk.vala b/src/client/util/util-gtk.vala index 70864ac9..1d41f2e5 100644 --- a/src/client/util/util-gtk.vala +++ b/src/client/util/util-gtk.vala @@ -218,4 +218,13 @@ namespace Util.Gtk { return new_url; } + public Gdk.RGBA rgba(double red, double green, double blue, double alpha) { + return Gdk.RGBA() { + red = red, + green = green, + blue = blue, + alpha = alpha + }; + } + } diff --git a/test/client/composer/composer-web-view-test.vala b/test/client/composer/composer-web-view-test.vala index 64828f04..97c2af29 100644 --- a/test/client/composer/composer-web-view-test.vala +++ b/test/client/composer/composer-web-view-test.vala @@ -35,15 +35,20 @@ public class Composer.WebViewTest : Components.WebViewTestCase } public void edit_context() throws Error { - assert(!(new WebView.EditContext("0,,,").is_link)); - assert(new WebView.EditContext("1,,,").is_link); - assert(new WebView.EditContext("1,url,,").link_url == "url"); + assert(!(new WebView.EditContext("0;;;;").is_link)); + assert(new WebView.EditContext("1;;;;").is_link); + assert(new WebView.EditContext("1;url;;;").link_url == "url"); - assert(new WebView.EditContext("0,,Helvetica,").font_family == "sans"); - assert(new WebView.EditContext("0,,Times New Roman,").font_family == "serif"); - assert(new WebView.EditContext("0,,Courier,").font_family == "monospace"); + assert(new WebView.EditContext("0;;Helvetica;;").font_family == "sans"); + assert(new WebView.EditContext("0;;Times New Roman;;").font_family == "serif"); + assert(new WebView.EditContext("0;;Courier;;").font_family == "monospace"); - assert(new WebView.EditContext("0,,,12").font_size == 12); + assert(new WebView.EditContext("0;;;12;").font_size == 12); + + assert(new WebView.EditContext("0;;;;rgb(0, 0, 0)").font_color == Util.Gtk.rgba(0, 0, 0, 1)); + assert(new WebView.EditContext("0;;;;rgb(255, 0, 0)").font_color == Util.Gtk.rgba(1, 0, 0, 1)); + assert(new WebView.EditContext("0;;;;rgb(0, 255, 0)").font_color == Util.Gtk.rgba(0, 1, 0, 1)); + assert(new WebView.EditContext("0;;;;rgb(0, 0, 255)").font_color == Util.Gtk.rgba(0, 0, 1, 1)); } public void get_html() throws GLib.Error { diff --git a/test/js/composer-page-state-test.vala b/test/js/composer-page-state-test.vala index dfb8566c..6228cc68 100644 --- a/test/js/composer-page-state-test.vala +++ b/test/js/composer-page-state-test.vala @@ -127,7 +127,7 @@ class Composer.PageStateTest : Components.WebViewTestCase { Util.JS.to_string( run_javascript(@"new EditContext(document.getElementById('test')).encode()") .get_js_value() - ).has_prefix("1,url,")); + ).has_prefix("1;url;")); } catch (Util.JS.Error err) { print("Util.JS.Error: %s\n", err.message); assert_not_reached(); @@ -138,7 +138,7 @@ class Composer.PageStateTest : Components.WebViewTestCase { } public void edit_context_font() throws Error { - string html = "

para

"; + string html = "

para

"; load_body_fixture(html); try { @@ -146,7 +146,7 @@ class Composer.PageStateTest : Components.WebViewTestCase { Util.JS.to_string( run_javascript(@"new EditContext(document.getElementById('test')).encode()") .get_js_value() - ) == "0,,Comic Sans,144"); + ) == "0;;Comic Sans;144;rgb(255, 127, 1)"); } catch (Util.JS.Error err) { print("Util.JS.Error: %s\n", err.message); assert_not_reached(); diff --git a/ui/composer-menus.ui b/ui/composer-menus.ui index 2f4c342f..7acf20ab 100644 --- a/ui/composer-menus.ui +++ b/ui/composer-menus.ui @@ -1,64 +1,6 @@ - -
- - S_ans Serif - edt.font-family - sans - - - S_erif - edt.font-family - serif - - - _Fixed Width - edt.font-family - monospace - -
-
- - _Small - edt.font-size - small - - - _Medium - edt.font-size - medium - - - Lar_ge - edt.font-size - large - -
-
- - C_olor - edt.color - -
-
- - _Rich Text - win.compose-as-html - -
-
- - -
- - _Rich Text - win.compose-as-html - -
-
-
diff --git a/ui/composer-web-view.js b/ui/composer-web-view.js index e3870190..fc5dbf91 100644 --- a/ui/composer-web-view.js +++ b/ui/composer-web-view.js @@ -684,21 +684,24 @@ EditContext.prototype = { } this.fontFamily = fontFamily; this.fontSize = styles.getPropertyValue("font-size").replace("px", ""); + this.fontColor = styles.getPropertyValue("color"); }, equals: function(other) { return other != null && this.context == other.context && this.linkUrl == other.linkUrl && this.fontFamily == other.fontFamily - && this.fontSize == other.fontSize; + && this.fontSize == other.fontSize + && this.fontColor == other.fontColor; }, encode: function() { return [ this.context.toString(16), this.linkUrl, this.fontFamily, - this.fontSize - ].join(","); + this.fontSize, + this.fontColor + ].join(";"); } }; diff --git a/ui/composer-widget.ui b/ui/composer-widget.ui index 1288ac6e..94768a21 100644 --- a/ui/composer-widget.ui +++ b/ui/composer-widget.ui @@ -798,6 +798,137 @@
+ + + True + True + False + False + Remove text formatting + edt.remove-format + True + + + True + False + 16 + format-text-remove-symbolic + + + + +
+
+ + + True + False + 6 + start + + + True + True + font_menu + Change font type + + + True + False + horizontal + + + True + False + + + True + False + Sans Serif + start + + + sans + + + + + True + False + Serif + start + + + serif + + + + + True + False + Fixed Width + start + + + monospace + + + + + + + True + False + pan-down + + + + + + + + + True + True + edt.color + Change font color + + + True + False + + + + + + + True + True + font_size_menu + Change font size + + + True + False + horizontal + + + True + False + font-size-symbolic + + + + + True + False + pan-down + + + + + + True @@ -857,33 +988,6 @@ - - - True - False - 6 - start - - - True - True - False - False - Remove text formatting - edt.remove-format - True - - - True - False - 16 - format-text-remove-symbolic - - - - - -
@@ -963,15 +1067,16 @@
- + True False False False + rich_text_menu True - view-more-symbolic + format-text-bold-symbolic @@ -1064,4 +1169,59 @@ + + +
+ + S_ans Serif + edt.font-family + sans + + + S_erif + edt.font-family + serif + + + _Fixed Width + edt.font-family + monospace + +
+
+ + +
+ + _Small + edt.font-size + small + + + _Medium + edt.font-size + medium + + + Lar_ge + edt.font-size + large + +
+
+ + +
+ + _Rich Text + win.text-format + html + + + _Plain Text + win.text-format + plain + +
+
From d5a5afcc782cde5b065bcbd1e7a9f9e0d533ad73 Mon Sep 17 00:00:00 2001 From: James Westman Date: Wed, 15 Jan 2020 22:12:34 -0600 Subject: [PATCH 15/23] composer: More tweaks to match mockups - Move the attachment button(s) out of the headerbar into the action bar - Add a cancel button - Adjust some margins - Set popover positions to top - Remove subject from headerbar title to save horizontal space --- src/client/composer/composer-headerbar.vala | 9 --- src/client/composer/composer-widget.vala | 13 +-- src/client/composer/spell-check-popover.vala | 3 +- ui/composer-headerbar.ui | 84 ++----------------- ui/composer-link-popover.ui | 2 +- ui/composer-widget.ui | 85 ++++++++++++++++++++ 6 files changed, 104 insertions(+), 92 deletions(-) diff --git a/src/client/composer/composer-headerbar.vala b/src/client/composer/composer-headerbar.vala index 4fde97cd..0b1bbd53 100644 --- a/src/client/composer/composer-headerbar.vala +++ b/src/client/composer/composer-headerbar.vala @@ -26,10 +26,6 @@ public class Composer.Headerbar : Gtk.HeaderBar { [GtkChild] private Gtk.Label recipients_label; [GtkChild] - private Gtk.Button new_message_attach_button; - [GtkChild] - private Gtk.Box conversation_attach_buttons; - [GtkChild] private Gtk.Button save_and_close_button; @@ -56,11 +52,6 @@ public class Composer.Headerbar : Gtk.HeaderBar { recipients_button.tooltip_text = tooltip; } - public void set_show_pending_attachments(bool show) { - this.new_message_attach_button.visible = !show; - this.conversation_attach_buttons.visible = show; - } - internal void set_mode(Widget.PresentationMode mode) { switch (mode) { case Widget.PresentationMode.DETACHED: diff --git a/src/client/composer/composer-widget.vala b/src/client/composer/composer-widget.vala index e09a8806..6c490cf5 100644 --- a/src/client/composer/composer-widget.vala +++ b/src/client/composer/composer-widget.vala @@ -373,6 +373,10 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface { private Gtk.Widget recipients; [GtkChild] private Gtk.Box header_area; + + [GtkChild] private Gtk.Button new_message_attach_button; + [GtkChild] private Gtk.Box conversation_attach_buttons; + [GtkChild] private Gtk.Revealer formatting; [GtkChild] private Gtk.Box toolbar_box; [GtkChild] private Gtk.Box top_buttons; @@ -1431,10 +1435,6 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface { if (this.container != null) { this.container.top_window.title = subject; } - - if (this.application.config.desktop_environment != UNITY) { - this.header.title = subject; - } } internal void set_mode(PresentationMode new_mode) { @@ -1802,7 +1802,10 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface { } } } - this.header.set_show_pending_attachments(manual_enabled); + + this.new_message_attach_button.visible = !manual_enabled; + this.conversation_attach_buttons.visible = manual_enabled; + return have_added; } diff --git a/src/client/composer/spell-check-popover.vala b/src/client/composer/spell-check-popover.vala index c04183c0..44dfa021 100644 --- a/src/client/composer/spell-check-popover.vala +++ b/src/client/composer/spell-check-popover.vala @@ -60,6 +60,8 @@ public class SpellCheckPopover { this.is_lang_visible = is_active || is_visible; Gtk.Box box = new Gtk.Box(Gtk.Orientation.HORIZONTAL, 6); + box.margin = 6; + box.margin_start = 12; lang_name = Util.International.language_name_from_locale(lang_code); country_name = Util.International.country_name_from_locale(lang_code); @@ -69,7 +71,6 @@ public class SpellCheckPopover { label_text += " (" + country_name + ")"; Gtk.Label label = new Gtk.Label(label_text); label.set_halign(Gtk.Align.START); - label.set_size_request(-1, 24); box.pack_start(label, false, false); diff --git a/ui/composer-headerbar.ui b/ui/composer-headerbar.ui index 930854f0..2e2501d0 100644 --- a/ui/composer-headerbar.ui +++ b/ui/composer-headerbar.ui @@ -5,6 +5,11 @@