Merge lp:~leonardolemos/pantheon-mail/fix-mail-translation into lp:~elementary-apps/pantheon-mail/trunk

Proposed by Leonardo Lemos
Status: Merged
Merged at revision: 2134
Proposed branch: lp:~leonardolemos/pantheon-mail/fix-mail-translation
Merge into: lp:~elementary-apps/pantheon-mail/trunk
Diff against target: 835 lines (+131/-70)
3 files modified
po/extra/extra.pot (+1/-1)
po/pantheon-mail.pot (+63/-1)
src/client/application/geary-application.vala (+67/-68)
To merge this branch: bzr merge lp:~leonardolemos/pantheon-mail/fix-mail-translation
Reviewer Review Type Date Requested Status
elementary Apps team Pending
Review via email: mp+301568@code.launchpad.net

Commit message

Mark the App's title in the About Dialog as translatable

Description of the change

This branch marks the App's title in the About Dialog as translatable.

To post a comment you must log in.
Revision history for this message
RabbitBot (rabbitbot-a) wrote :

Attempt to merge into lp:pantheon-mail failed due to conflicts:

text conflict in po/extra/extra.pot
text conflict in po/pantheon-mail.pot

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'po/extra/extra.pot'
--- po/extra/extra.pot 2016-07-09 17:27:52 +0000
+++ po/extra/extra.pot 2016-07-30 14:08:20 +0000
@@ -8,7 +8,7 @@
8msgstr ""8msgstr ""
9"Project-Id-Version: PACKAGE VERSION\n"9"Project-Id-Version: PACKAGE VERSION\n"
10"Report-Msgid-Bugs-To: \n"10"Report-Msgid-Bugs-To: \n"
11"POT-Creation-Date: 2016-07-09 10:27-0700\n"11"POT-Creation-Date: 2016-07-30 18:03+0400\n"
12"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"12"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"13"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14"Language-Team: LANGUAGE <LL@li.org>\n"14"Language-Team: LANGUAGE <LL@li.org>\n"
1515
=== modified file 'po/pantheon-mail.pot'
--- po/pantheon-mail.pot 2016-07-09 17:27:52 +0000
+++ po/pantheon-mail.pot 2016-07-30 14:08:20 +0000
@@ -8,7 +8,7 @@
8msgstr ""8msgstr ""
9"Project-Id-Version: PACKAGE VERSION\n"9"Project-Id-Version: PACKAGE VERSION\n"
10"Report-Msgid-Bugs-To: \n"10"Report-Msgid-Bugs-To: \n"
11"POT-Creation-Date: 2016-07-09 10:27-0700\n"11"POT-Creation-Date: 2016-07-30 18:03+0400\n"
12"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"12"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"13"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14"Language-Team: LANGUAGE <LL@li.org>\n"14"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -319,6 +319,7 @@
319#: ../src/client/components/main-toolbar.vala:108319#: ../src/client/components/main-toolbar.vala:108
320#: ../src/client/components/main-toolbar.vala:107320#: ../src/client/components/main-toolbar.vala:107
321#: ../src/client/components/main-toolbar.vala:123321#: ../src/client/components/main-toolbar.vala:123
322#: ../src/client/application/geary-controller.vala:387
322msgid "Mark conversation"323msgid "Mark conversation"
323msgstr ""324msgstr ""
324325
@@ -377,6 +378,7 @@
377#: ../src/client/application/geary-controller.vala:371378#: ../src/client/application/geary-controller.vala:371
378#: ../src/client/application/geary-controller.vala:370379#: ../src/client/application/geary-controller.vala:370
379#: ../src/client/application/geary-controller.vala:369380#: ../src/client/application/geary-controller.vala:369
381#: ../src/client/application/geary-controller.vala:375
380msgid "A_ccounts"382msgid "A_ccounts"
381msgstr ""383msgstr ""
382384
@@ -386,6 +388,7 @@
386#: ../src/client/application/geary-controller.vala:375388#: ../src/client/application/geary-controller.vala:375
387#: ../src/client/components/stock.vala:26389#: ../src/client/components/stock.vala:26
388#: ../src/client/application/geary-controller.vala:374390#: ../src/client/application/geary-controller.vala:374
391#: ../src/client/application/geary-controller.vala:380
389msgid "_Preferences"392msgid "_Preferences"
390msgstr ""393msgstr ""
391394
@@ -408,6 +411,7 @@
408#: ../src/client/application/geary-controller.vala:383411#: ../src/client/application/geary-controller.vala:383
409#: ../src/client/components/stock.vala:28412#: ../src/client/components/stock.vala:28
410#: ../src/client/application/geary-controller.vala:378413#: ../src/client/application/geary-controller.vala:378
414#: ../src/client/application/geary-controller.vala:384
411msgid "_Quit"415msgid "_Quit"
412msgstr ""416msgstr ""
413417
@@ -415,6 +419,7 @@
415#: ../src/client/application/geary-controller.vala:393419#: ../src/client/application/geary-controller.vala:393
416#: ../src/client/application/geary-controller.vala:388420#: ../src/client/application/geary-controller.vala:388
417#: ../src/client/application/geary-controller.vala:383421#: ../src/client/application/geary-controller.vala:383
422#: ../src/client/application/geary-controller.vala:389
418msgid "_Mark as..."423msgid "_Mark as..."
419msgstr ""424msgstr ""
420425
@@ -422,6 +427,7 @@
422#: ../src/client/application/geary-controller.vala:399427#: ../src/client/application/geary-controller.vala:399
423#: ../src/client/application/geary-controller.vala:394428#: ../src/client/application/geary-controller.vala:394
424#: ../src/client/application/geary-controller.vala:389429#: ../src/client/application/geary-controller.vala:389
430#: ../src/client/application/geary-controller.vala:395
425msgid "Mark as _Read"431msgid "Mark as _Read"
426msgstr ""432msgstr ""
427433
@@ -429,6 +435,7 @@
429#: ../src/client/application/geary-controller.vala:405435#: ../src/client/application/geary-controller.vala:405
430#: ../src/client/application/geary-controller.vala:400436#: ../src/client/application/geary-controller.vala:400
431#: ../src/client/application/geary-controller.vala:395437#: ../src/client/application/geary-controller.vala:395
438#: ../src/client/application/geary-controller.vala:401
432msgid "Mark as _Unread"439msgid "Mark as _Unread"
433msgstr ""440msgstr ""
434441
@@ -436,6 +443,7 @@
436#: ../src/client/application/geary-controller.vala:411443#: ../src/client/application/geary-controller.vala:411
437#: ../src/client/application/geary-controller.vala:406444#: ../src/client/application/geary-controller.vala:406
438#: ../src/client/application/geary-controller.vala:401445#: ../src/client/application/geary-controller.vala:401
446#: ../src/client/application/geary-controller.vala:407
439msgid "_Star"447msgid "_Star"
440msgstr ""448msgstr ""
441449
@@ -443,6 +451,7 @@
443#: ../src/client/application/geary-controller.vala:416451#: ../src/client/application/geary-controller.vala:416
444#: ../src/client/application/geary-controller.vala:411452#: ../src/client/application/geary-controller.vala:411
445#: ../src/client/application/geary-controller.vala:406453#: ../src/client/application/geary-controller.vala:406
454#: ../src/client/application/geary-controller.vala:412
446msgid "U_nstar"455msgid "U_nstar"
447msgstr ""456msgstr ""
448457
@@ -450,6 +459,7 @@
450#: ../src/client/application/geary-controller.vala:426459#: ../src/client/application/geary-controller.vala:426
451#: ../src/client/application/geary-controller.vala:421460#: ../src/client/application/geary-controller.vala:421
452#: ../src/client/application/geary-controller.vala:416461#: ../src/client/application/geary-controller.vala:416
462#: ../src/client/application/geary-controller.vala:422
453msgid "Add label"463msgid "Add label"
454msgstr ""464msgstr ""
455465
@@ -457,6 +467,7 @@
457#: ../src/client/application/geary-controller.vala:427467#: ../src/client/application/geary-controller.vala:427
458#: ../src/client/application/geary-controller.vala:422468#: ../src/client/application/geary-controller.vala:422
459#: ../src/client/application/geary-controller.vala:417469#: ../src/client/application/geary-controller.vala:417
470#: ../src/client/application/geary-controller.vala:423
460msgid "_Label"471msgid "_Label"
461msgstr ""472msgstr ""
462473
@@ -464,6 +475,7 @@
464#: ../src/client/application/geary-controller.vala:431475#: ../src/client/application/geary-controller.vala:431
465#: ../src/client/application/geary-controller.vala:426476#: ../src/client/application/geary-controller.vala:426
466#: ../src/client/application/geary-controller.vala:421477#: ../src/client/application/geary-controller.vala:421
478#: ../src/client/application/geary-controller.vala:427
467msgid "_Move"479msgid "_Move"
468msgstr ""480msgstr ""
469481
@@ -541,6 +553,7 @@
541#: ../src/client/application/geary-controller.vala:485553#: ../src/client/application/geary-controller.vala:485
542#: ../src/client/application/geary-controller.vala:479554#: ../src/client/application/geary-controller.vala:479
543#: ../src/client/application/geary-controller.vala:474555#: ../src/client/application/geary-controller.vala:474
556#: ../src/client/application/geary-controller.vala:480
544msgid "Empty _Spam…"557msgid "Empty _Spam…"
545msgstr ""558msgstr ""
546559
@@ -550,6 +563,7 @@
550#: ../src/client/application/geary-controller.vala:489563#: ../src/client/application/geary-controller.vala:489
551#: ../src/client/application/geary-controller.vala:483564#: ../src/client/application/geary-controller.vala:483
552#: ../src/client/application/geary-controller.vala:478565#: ../src/client/application/geary-controller.vala:478
566#: ../src/client/application/geary-controller.vala:484
553msgid "Empty _Trash…"567msgid "Empty _Trash…"
554msgstr ""568msgstr ""
555569
@@ -796,6 +810,7 @@
796#: ../src/client/application/geary-controller.vala:1940810#: ../src/client/application/geary-controller.vala:1940
797#: ../src/client/application/geary-controller.vala:1936811#: ../src/client/application/geary-controller.vala:1936
798#: ../src/client/application/geary-controller.vala:1931812#: ../src/client/application/geary-controller.vala:1931
813#: ../src/client/application/geary-controller.vala:1937
799msgid "Undo move (Ctrl+Z)"814msgid "Undo move (Ctrl+Z)"
800msgstr ""815msgstr ""
801816
@@ -832,6 +847,7 @@
832#: ../src/client/application/geary-controller.vala:1966847#: ../src/client/application/geary-controller.vala:1966
833#: ../src/client/application/geary-controller.vala:1962848#: ../src/client/application/geary-controller.vala:1962
834#: ../src/client/application/geary-controller.vala:1957849#: ../src/client/application/geary-controller.vala:1957
850#: ../src/client/application/geary-controller.vala:1963
835msgid "A file named \"%s\" already exists. Do you want to replace it?"851msgid "A file named \"%s\" already exists. Do you want to replace it?"
836msgstr ""852msgstr ""
837853
@@ -842,6 +858,7 @@
842#: ../src/client/application/geary-controller.vala:1968858#: ../src/client/application/geary-controller.vala:1968
843#: ../src/client/application/geary-controller.vala:1964859#: ../src/client/application/geary-controller.vala:1964
844#: ../src/client/application/geary-controller.vala:1959860#: ../src/client/application/geary-controller.vala:1959
861#: ../src/client/application/geary-controller.vala:1965
845msgid ""862msgid ""
846"The file already exists in \"%s\". Replacing it will overwrite its contents."863"The file already exists in \"%s\". Replacing it will overwrite its contents."
847msgstr ""864msgstr ""
@@ -853,6 +870,7 @@
853#: ../src/client/application/geary-controller.vala:1971870#: ../src/client/application/geary-controller.vala:1971
854#: ../src/client/application/geary-controller.vala:1967871#: ../src/client/application/geary-controller.vala:1967
855#: ../src/client/application/geary-controller.vala:1962872#: ../src/client/application/geary-controller.vala:1962
873#: ../src/client/application/geary-controller.vala:1968
856msgid "_Replace"874msgid "_Replace"
857msgstr ""875msgstr ""
858876
@@ -1452,6 +1470,7 @@
1452#: ../src/client/conversation-viewer/conversation-viewer.vala:3021470#: ../src/client/conversation-viewer/conversation-viewer.vala:302
1453#: ../src/client/conversation-viewer/conversation-viewer.vala:3081471#: ../src/client/conversation-viewer/conversation-viewer.vala:308
1454#: ../src/client/conversation-viewer/conversation-viewer.vala:3101472#: ../src/client/conversation-viewer/conversation-viewer.vala:310
1473#: ../src/client/conversation-viewer/conversation-viewer.vala:311
1455msgid "No conversations selected."1474msgid "No conversations selected."
1456msgstr ""1475msgstr ""
14571476
@@ -1460,6 +1479,7 @@
1460#: ../src/client/conversation-viewer/conversation-viewer.vala:3041479#: ../src/client/conversation-viewer/conversation-viewer.vala:304
1461#: ../src/client/conversation-viewer/conversation-viewer.vala:3101480#: ../src/client/conversation-viewer/conversation-viewer.vala:310
1462#: ../src/client/conversation-viewer/conversation-viewer.vala:3121481#: ../src/client/conversation-viewer/conversation-viewer.vala:312
1482#: ../src/client/conversation-viewer/conversation-viewer.vala:313
1463msgid "%u conversation selected."1483msgid "%u conversation selected."
1464msgid_plural "%u conversations selected."1484msgid_plural "%u conversations selected."
1465msgstr[0] ""1485msgstr[0] ""
@@ -1470,6 +1490,7 @@
1470#: ../src/client/conversation-viewer/conversation-viewer.vala:3331490#: ../src/client/conversation-viewer/conversation-viewer.vala:333
1471#: ../src/client/conversation-viewer/conversation-viewer.vala:3391491#: ../src/client/conversation-viewer/conversation-viewer.vala:339
1472#: ../src/client/conversation-viewer/conversation-viewer.vala:3411492#: ../src/client/conversation-viewer/conversation-viewer.vala:341
1493#: ../src/client/conversation-viewer/conversation-viewer.vala:342
1473msgid "No search results found."1494msgid "No search results found."
1474msgstr ""1495msgstr ""
14751496
@@ -1478,6 +1499,7 @@
1478#: ../src/client/conversation-viewer/conversation-viewer.vala:3351499#: ../src/client/conversation-viewer/conversation-viewer.vala:335
1479#: ../src/client/conversation-viewer/conversation-viewer.vala:3411500#: ../src/client/conversation-viewer/conversation-viewer.vala:341
1480#: ../src/client/conversation-viewer/conversation-viewer.vala:3431501#: ../src/client/conversation-viewer/conversation-viewer.vala:343
1502#: ../src/client/conversation-viewer/conversation-viewer.vala:344
1481msgid "No conversations in folder."1503msgid "No conversations in folder."
1482msgstr ""1504msgstr ""
14831505
@@ -1487,6 +1509,7 @@
1487#: ../src/client/conversation-viewer/ConversationWidget.vala:4501509#: ../src/client/conversation-viewer/ConversationWidget.vala:450
1488#: ../src/client/conversation-viewer/ConversationWidget.vala:4531510#: ../src/client/conversation-viewer/ConversationWidget.vala:453
1489#: ../src/client/conversation-viewer/ConversationWidget.vala:4561511#: ../src/client/conversation-viewer/ConversationWidget.vala:456
1512#: ../src/client/conversation-viewer/ConversationWidget.vala:459
1490msgid "This message contains remote images."1513msgid "This message contains remote images."
1491msgstr ""1514msgstr ""
14921515
@@ -1496,6 +1519,7 @@
1496#: ../src/client/conversation-viewer/ConversationWidget.vala:4481519#: ../src/client/conversation-viewer/ConversationWidget.vala:448
1497#: ../src/client/conversation-viewer/ConversationWidget.vala:4511520#: ../src/client/conversation-viewer/ConversationWidget.vala:451
1498#: ../src/client/conversation-viewer/ConversationWidget.vala:4541521#: ../src/client/conversation-viewer/ConversationWidget.vala:454
1522#: ../src/client/conversation-viewer/ConversationWidget.vala:457
1499msgid "Show Images"1523msgid "Show Images"
1500msgstr ""1524msgstr ""
15011525
@@ -1510,6 +1534,7 @@
1510#: ../src/client/conversation-viewer/ConversationWidget.vala:3971534#: ../src/client/conversation-viewer/ConversationWidget.vala:397
1511#: ../src/client/conversation-viewer/ConversationWidget.vala:4001535#: ../src/client/conversation-viewer/ConversationWidget.vala:400
1512#: ../src/client/conversation-viewer/ConversationWidget.vala:4031536#: ../src/client/conversation-viewer/ConversationWidget.vala:403
1537#: ../src/client/conversation-viewer/ConversationWidget.vala:405
1513msgid "Edit Draft"1538msgid "Edit Draft"
1514msgstr ""1539msgstr ""
15151540
@@ -1517,6 +1542,7 @@
1517#: ../src/client/conversation-viewer/conversation-viewer.vala:8141542#: ../src/client/conversation-viewer/conversation-viewer.vala:814
1518#: ../src/client/conversation-viewer/ConversationWidget.vala:1451543#: ../src/client/conversation-viewer/ConversationWidget.vala:145
1519#: ../src/client/conversation-viewer/ConversationWidget.vala:1481544#: ../src/client/conversation-viewer/ConversationWidget.vala:148
1545#: ../src/client/conversation-viewer/ConversationWidget.vala:150
1520msgid "From:"1546msgid "From:"
1521msgstr ""1547msgstr ""
15221548
@@ -1525,6 +1551,7 @@
1525#: ../src/client/conversation-viewer/ConversationWidget.vala:1491551#: ../src/client/conversation-viewer/ConversationWidget.vala:149
1526#: ../src/client/conversation-viewer/ConversationWidget.vala:1581552#: ../src/client/conversation-viewer/ConversationWidget.vala:158
1527#: ../src/client/conversation-viewer/ConversationWidget.vala:1611553#: ../src/client/conversation-viewer/ConversationWidget.vala:161
1554#: ../src/client/conversation-viewer/ConversationWidget.vala:163
1528msgid "To:"1555msgid "To:"
1529msgstr ""1556msgstr ""
15301557
@@ -1533,6 +1560,7 @@
1533#: ../src/client/conversation-viewer/ConversationWidget.vala:1541560#: ../src/client/conversation-viewer/ConversationWidget.vala:154
1534#: ../src/client/conversation-viewer/ConversationWidget.vala:1631561#: ../src/client/conversation-viewer/ConversationWidget.vala:163
1535#: ../src/client/conversation-viewer/ConversationWidget.vala:1661562#: ../src/client/conversation-viewer/ConversationWidget.vala:166
1563#: ../src/client/conversation-viewer/ConversationWidget.vala:168
1536msgid "Cc:"1564msgid "Cc:"
1537msgstr ""1565msgstr ""
15381566
@@ -1541,6 +1569,7 @@
1541#: ../src/client/conversation-viewer/ConversationWidget.vala:1591569#: ../src/client/conversation-viewer/ConversationWidget.vala:159
1542#: ../src/client/conversation-viewer/ConversationWidget.vala:1681570#: ../src/client/conversation-viewer/ConversationWidget.vala:168
1543#: ../src/client/conversation-viewer/ConversationWidget.vala:1711571#: ../src/client/conversation-viewer/ConversationWidget.vala:171
1572#: ../src/client/conversation-viewer/ConversationWidget.vala:173
1544msgid "Bcc:"1573msgid "Bcc:"
1545msgstr ""1574msgstr ""
15461575
@@ -1549,6 +1578,7 @@
1549#: ../src/client/conversation-viewer/ConversationWidget.vala:1641578#: ../src/client/conversation-viewer/ConversationWidget.vala:164
1550#: ../src/client/conversation-viewer/ConversationWidget.vala:1731579#: ../src/client/conversation-viewer/ConversationWidget.vala:173
1551#: ../src/client/conversation-viewer/ConversationWidget.vala:1761580#: ../src/client/conversation-viewer/ConversationWidget.vala:176
1581#: ../src/client/conversation-viewer/ConversationWidget.vala:178
1552msgid "Subject:"1582msgid "Subject:"
1553msgstr ""1583msgstr ""
15541584
@@ -1576,6 +1606,7 @@
1576#: ../src/client/conversation-viewer/ConversationWidget.vala:11531606#: ../src/client/conversation-viewer/ConversationWidget.vala:1153
1577#: ../src/client/conversation-viewer/ConversationWidget.vala:11571607#: ../src/client/conversation-viewer/ConversationWidget.vala:1157
1578#: ../src/client/conversation-viewer/ConversationWidget.vala:11621608#: ../src/client/conversation-viewer/ConversationWidget.vala:1162
1609#: ../src/client/conversation-viewer/ConversationWidget.vala:1172
1579msgid "_Copy"1610msgid "_Copy"
1580msgstr ""1611msgstr ""
15811612
@@ -1585,6 +1616,7 @@
1585#: ../src/client/conversation-viewer/ConversationWidget.vala:11611616#: ../src/client/conversation-viewer/ConversationWidget.vala:1161
1586#: ../src/client/conversation-viewer/ConversationWidget.vala:11651617#: ../src/client/conversation-viewer/ConversationWidget.vala:1165
1587#: ../src/client/conversation-viewer/ConversationWidget.vala:11701618#: ../src/client/conversation-viewer/ConversationWidget.vala:1170
1619#: ../src/client/conversation-viewer/ConversationWidget.vala:1180
1588msgid "Copy _Email Address"1620msgid "Copy _Email Address"
1589msgstr ""1621msgstr ""
15901622
@@ -1596,6 +1628,7 @@
1596#: ../data/ui/composer.ui:1031628#: ../data/ui/composer.ui:103
1597#: ../src/client/conversation-viewer/ConversationWidget.vala:11741629#: ../src/client/conversation-viewer/ConversationWidget.vala:1174
1598#: ../src/client/conversation-viewer/ConversationWidget.vala:11791630#: ../src/client/conversation-viewer/ConversationWidget.vala:1179
1631#: ../src/client/conversation-viewer/ConversationWidget.vala:1189
1599msgid "Copy _Link"1632msgid "Copy _Link"
1600msgstr ""1633msgstr ""
16011634
@@ -1612,6 +1645,7 @@
1612#: ../src/client/conversation-viewer/ConversationWidget.vala:11811645#: ../src/client/conversation-viewer/ConversationWidget.vala:1181
1613#: ../src/client/conversation-viewer/ConversationWidget.vala:11851646#: ../src/client/conversation-viewer/ConversationWidget.vala:1185
1614#: ../src/client/conversation-viewer/ConversationWidget.vala:11901647#: ../src/client/conversation-viewer/ConversationWidget.vala:1190
1648#: ../src/client/conversation-viewer/ConversationWidget.vala:1200
1615msgid "Select _All"1649msgid "Select _All"
1616msgstr ""1650msgstr ""
16171651
@@ -1621,6 +1655,7 @@
1621#: ../src/client/conversation-viewer/ConversationWidget.vala:11871655#: ../src/client/conversation-viewer/ConversationWidget.vala:1187
1622#: ../src/client/conversation-viewer/ConversationWidget.vala:11911656#: ../src/client/conversation-viewer/ConversationWidget.vala:1191
1623#: ../src/client/conversation-viewer/ConversationWidget.vala:11961657#: ../src/client/conversation-viewer/ConversationWidget.vala:1196
1658#: ../src/client/conversation-viewer/ConversationWidget.vala:1206
1624msgid "_Inspect"1659msgid "_Inspect"
1625msgstr ""1660msgstr ""
16261661
@@ -1692,6 +1727,7 @@
1692#: ../src/client/conversation-viewer/ConversationWidget.vala:10621727#: ../src/client/conversation-viewer/ConversationWidget.vala:1062
1693#: ../src/client/conversation-viewer/ConversationWidget.vala:10661728#: ../src/client/conversation-viewer/ConversationWidget.vala:1066
1694#: ../src/client/conversation-viewer/ConversationWidget.vala:10711729#: ../src/client/conversation-viewer/ConversationWidget.vala:1071
1730#: ../src/client/conversation-viewer/ConversationWidget.vala:1081
1695msgid "Failed to open default text editor."1731msgid "Failed to open default text editor."
1696msgstr ""1732msgstr ""
16971733
@@ -2717,30 +2753,35 @@
2717#: ../src/client/conversation-viewer/ConversationWidget.vala:2182753#: ../src/client/conversation-viewer/ConversationWidget.vala:218
2718#: ../src/client/conversation-viewer/ConversationWidget.vala:2272754#: ../src/client/conversation-viewer/ConversationWidget.vala:227
2719#: ../src/client/conversation-viewer/ConversationWidget.vala:2302755#: ../src/client/conversation-viewer/ConversationWidget.vala:230
2756#: ../src/client/conversation-viewer/ConversationWidget.vala:232
2720msgid "Save Attachment…"2757msgid "Save Attachment…"
2721msgstr ""2758msgstr ""
27222759
2723#: ../src/client/conversation-viewer/ConversationWidget.vala:2202760#: ../src/client/conversation-viewer/ConversationWidget.vala:220
2724#: ../src/client/conversation-viewer/ConversationWidget.vala:2292761#: ../src/client/conversation-viewer/ConversationWidget.vala:229
2725#: ../src/client/conversation-viewer/ConversationWidget.vala:2322762#: ../src/client/conversation-viewer/ConversationWidget.vala:232
2763#: ../src/client/conversation-viewer/ConversationWidget.vala:234
2726msgid "Save All Attachments…"2764msgid "Save All Attachments…"
2727msgstr ""2765msgstr ""
27282766
2729#: ../src/client/conversation-viewer/ConversationWidget.vala:2292767#: ../src/client/conversation-viewer/ConversationWidget.vala:229
2730#: ../src/client/conversation-viewer/ConversationWidget.vala:2382768#: ../src/client/conversation-viewer/ConversationWidget.vala:238
2731#: ../src/client/conversation-viewer/ConversationWidget.vala:2412769#: ../src/client/conversation-viewer/ConversationWidget.vala:241
2770#: ../src/client/conversation-viewer/ConversationWidget.vala:243
2732msgid "Reply"2771msgid "Reply"
2733msgstr ""2772msgstr ""
27342773
2735#: ../src/client/conversation-viewer/ConversationWidget.vala:2302774#: ../src/client/conversation-viewer/ConversationWidget.vala:230
2736#: ../src/client/conversation-viewer/ConversationWidget.vala:2392775#: ../src/client/conversation-viewer/ConversationWidget.vala:239
2737#: ../src/client/conversation-viewer/ConversationWidget.vala:2422776#: ../src/client/conversation-viewer/ConversationWidget.vala:242
2777#: ../src/client/conversation-viewer/ConversationWidget.vala:244
2738msgid "Reply to All"2778msgid "Reply to All"
2739msgstr ""2779msgstr ""
27402780
2741#: ../src/client/conversation-viewer/ConversationWidget.vala:2312781#: ../src/client/conversation-viewer/ConversationWidget.vala:231
2742#: ../src/client/conversation-viewer/ConversationWidget.vala:2402782#: ../src/client/conversation-viewer/ConversationWidget.vala:240
2743#: ../src/client/conversation-viewer/ConversationWidget.vala:2432783#: ../src/client/conversation-viewer/ConversationWidget.vala:243
2784#: ../src/client/conversation-viewer/ConversationWidget.vala:245
2744msgid "Forward"2785msgid "Forward"
2745msgstr ""2786msgstr ""
27462787
@@ -2751,6 +2792,8 @@
2751#: ../src/client/conversation-viewer/ConversationWidget.vala:11402792#: ../src/client/conversation-viewer/ConversationWidget.vala:1140
2752#: ../src/client/conversation-viewer/ConversationWidget.vala:2702793#: ../src/client/conversation-viewer/ConversationWidget.vala:270
2753#: ../src/client/conversation-viewer/ConversationWidget.vala:11452794#: ../src/client/conversation-viewer/ConversationWidget.vala:1145
2795#: ../src/client/conversation-viewer/ConversationWidget.vala:272
2796#: ../src/client/conversation-viewer/ConversationWidget.vala:1155
2754msgid "Mark as Unread"2797msgid "Mark as Unread"
2755msgstr ""2798msgstr ""
27562799
@@ -2761,18 +2804,22 @@
2761#: ../src/client/conversation-viewer/ConversationWidget.vala:11382804#: ../src/client/conversation-viewer/ConversationWidget.vala:1138
2762#: ../src/client/conversation-viewer/ConversationWidget.vala:2722805#: ../src/client/conversation-viewer/ConversationWidget.vala:272
2763#: ../src/client/conversation-viewer/ConversationWidget.vala:11432806#: ../src/client/conversation-viewer/ConversationWidget.vala:1143
2807#: ../src/client/conversation-viewer/ConversationWidget.vala:274
2808#: ../src/client/conversation-viewer/ConversationWidget.vala:1153
2764msgid "Mark as Read"2809msgid "Mark as Read"
2765msgstr ""2810msgstr ""
27662811
2767#: ../src/client/conversation-viewer/ConversationWidget.vala:2522812#: ../src/client/conversation-viewer/ConversationWidget.vala:252
2768#: ../src/client/conversation-viewer/ConversationWidget.vala:2722813#: ../src/client/conversation-viewer/ConversationWidget.vala:272
2769#: ../src/client/conversation-viewer/ConversationWidget.vala:2752814#: ../src/client/conversation-viewer/ConversationWidget.vala:275
2815#: ../src/client/conversation-viewer/ConversationWidget.vala:277
2770msgid "Print…"2816msgid "Print…"
2771msgstr ""2817msgstr ""
27722818
2773#: ../src/client/conversation-viewer/ConversationWidget.vala:2532819#: ../src/client/conversation-viewer/ConversationWidget.vala:253
2774#: ../src/client/conversation-viewer/ConversationWidget.vala:2732820#: ../src/client/conversation-viewer/ConversationWidget.vala:273
2775#: ../src/client/conversation-viewer/ConversationWidget.vala:2762821#: ../src/client/conversation-viewer/ConversationWidget.vala:276
2822#: ../src/client/conversation-viewer/ConversationWidget.vala:278
2776msgid "View Source"2823msgid "View Source"
2777msgstr ""2824msgstr ""
27782825
@@ -2784,6 +2831,8 @@
2784#: ../src/client/conversation-viewer/ConversationWidget.vala:6302831#: ../src/client/conversation-viewer/ConversationWidget.vala:630
2785#: ../src/client/conversation-viewer/ConversationWidget.vala:3432832#: ../src/client/conversation-viewer/ConversationWidget.vala:343
2786#: ../src/client/conversation-viewer/ConversationWidget.vala:6352833#: ../src/client/conversation-viewer/ConversationWidget.vala:635
2834#: ../src/client/conversation-viewer/ConversationWidget.vala:345
2835#: ../src/client/conversation-viewer/ConversationWidget.vala:638
2787msgid "View message"2836msgid "View message"
2788msgstr ""2837msgstr ""
27892838
@@ -2791,6 +2840,7 @@
2791#: ../src/client/conversation-viewer/ConversationWidget.vala:4062840#: ../src/client/conversation-viewer/ConversationWidget.vala:406
2792#: ../src/client/conversation-viewer/ConversationWidget.vala:4092841#: ../src/client/conversation-viewer/ConversationWidget.vala:409
2793#: ../src/client/conversation-viewer/ConversationWidget.vala:4122842#: ../src/client/conversation-viewer/ConversationWidget.vala:412
2843#: ../src/client/conversation-viewer/ConversationWidget.vala:414
2794msgid "This message contains one or more attachments"2844msgid "This message contains one or more attachments"
2795msgstr ""2845msgstr ""
27962846
@@ -2798,6 +2848,7 @@
2798#: ../src/client/conversation-viewer/ConversationWidget.vala:4492848#: ../src/client/conversation-viewer/ConversationWidget.vala:449
2799#: ../src/client/conversation-viewer/ConversationWidget.vala:4522849#: ../src/client/conversation-viewer/ConversationWidget.vala:452
2800#: ../src/client/conversation-viewer/ConversationWidget.vala:4552850#: ../src/client/conversation-viewer/ConversationWidget.vala:455
2851#: ../src/client/conversation-viewer/ConversationWidget.vala:458
2801msgid "Always Show from Sender"2852msgid "Always Show from Sender"
2802msgstr ""2853msgstr ""
28032854
@@ -2805,6 +2856,7 @@
2805#: ../src/client/conversation-viewer/ConversationWidget.vala:5772856#: ../src/client/conversation-viewer/ConversationWidget.vala:577
2806#: ../src/client/conversation-viewer/ConversationWidget.vala:5812857#: ../src/client/conversation-viewer/ConversationWidget.vala:581
2807#: ../src/client/conversation-viewer/ConversationWidget.vala:5842858#: ../src/client/conversation-viewer/ConversationWidget.vala:584
2859#: ../src/client/conversation-viewer/ConversationWidget.vala:587
2808msgid "Compose New Message"2860msgid "Compose New Message"
2809msgstr ""2861msgstr ""
28102862
@@ -2812,6 +2864,7 @@
2812#: ../src/client/conversation-viewer/ConversationWidget.vala:5782864#: ../src/client/conversation-viewer/ConversationWidget.vala:578
2813#: ../src/client/conversation-viewer/ConversationWidget.vala:5822865#: ../src/client/conversation-viewer/ConversationWidget.vala:582
2814#: ../src/client/conversation-viewer/ConversationWidget.vala:5852866#: ../src/client/conversation-viewer/ConversationWidget.vala:585
2867#: ../src/client/conversation-viewer/ConversationWidget.vala:588
2815msgid "Copy Email Address"2868msgid "Copy Email Address"
2816msgstr ""2869msgstr ""
28172870
@@ -2819,6 +2872,7 @@
2819#: ../src/client/conversation-viewer/ConversationWidget.vala:6392872#: ../src/client/conversation-viewer/ConversationWidget.vala:639
2820#: ../src/client/conversation-viewer/ConversationWidget.vala:6432873#: ../src/client/conversation-viewer/ConversationWidget.vala:643
2821#: ../src/client/conversation-viewer/ConversationWidget.vala:6482874#: ../src/client/conversation-viewer/ConversationWidget.vala:648
2875#: ../src/client/conversation-viewer/ConversationWidget.vala:651
2822msgid "Hide message"2876msgid "Hide message"
2823msgstr ""2877msgstr ""
28242878
@@ -2848,18 +2902,22 @@
2848#: ../src/client/conversation-viewer/ConversationWidget.vala:4262902#: ../src/client/conversation-viewer/ConversationWidget.vala:426
2849#: ../src/client/conversation-viewer/ConversationWidget.vala:4162903#: ../src/client/conversation-viewer/ConversationWidget.vala:416
2850#: ../src/client/conversation-viewer/ConversationWidget.vala:4292904#: ../src/client/conversation-viewer/ConversationWidget.vala:429
2905#: ../src/client/conversation-viewer/ConversationWidget.vala:418
2906#: ../src/client/conversation-viewer/ConversationWidget.vala:431
2851msgid "Star message"2907msgid "Star message"
2852msgstr ""2908msgstr ""
28532909
2854#: ../src/client/conversation-viewer/ConversationWidget.vala:4202910#: ../src/client/conversation-viewer/ConversationWidget.vala:420
2855#: ../src/client/conversation-viewer/ConversationWidget.vala:4232911#: ../src/client/conversation-viewer/ConversationWidget.vala:423
2856#: ../src/client/conversation-viewer/ConversationWidget.vala:4262912#: ../src/client/conversation-viewer/ConversationWidget.vala:426
2913#: ../src/client/conversation-viewer/ConversationWidget.vala:428
2857msgid "Unstar message"2914msgid "Unstar message"
2858msgstr ""2915msgstr ""
28592916
2860#: ../src/client/conversation-viewer/ConversationWidget.vala:4302917#: ../src/client/conversation-viewer/ConversationWidget.vala:430
2861#: ../src/client/conversation-viewer/ConversationWidget.vala:4332918#: ../src/client/conversation-viewer/ConversationWidget.vala:433
2862#: ../src/client/conversation-viewer/ConversationWidget.vala:4362919#: ../src/client/conversation-viewer/ConversationWidget.vala:436
2920#: ../src/client/conversation-viewer/ConversationWidget.vala:438
2863msgid "More"2921msgid "More"
2864msgstr ""2922msgstr ""
28652923
@@ -2940,3 +2998,7 @@
2940#: ../src/client/conversation-list/formatted-conversation-data.vala:1902998#: ../src/client/conversation-list/formatted-conversation-data.vala:190
2941msgid ", "2999msgid ", "
2942msgstr ""3000msgstr ""
3001
3002#: ../src/client/application/geary-application.vala:15
3003msgid "Mail"
3004msgstr ""
29433005
=== modified file 'src/client/application/geary-application.vala'
--- src/client/application/geary-application.vala 2016-07-07 19:36:17 +0000
+++ src/client/application/geary-application.vala 2016-07-30 14:08:20 +0000
@@ -12,7 +12,7 @@
12extern const string GETTEXT_PACKAGE;12extern const string GETTEXT_PACKAGE;
1313
14public class GearyApplication : Gtk.Application {14public class GearyApplication : Gtk.Application {
15 public const string NAME = "Mail";15 public const string NAME = _("Mail");
16 public const string PRGNAME = "pantheon-mail";16 public const string PRGNAME = "pantheon-mail";
17 public const string APP_ID = "org.pantheon.mail";17 public const string APP_ID = "org.pantheon.mail";
18 public const string COPYRIGHT = _("2011-2015 Yorba Foundation\n© 2016 elementary LLC.");18 public const string COPYRIGHT = _("2011-2015 Yorba Foundation\n© 2016 elementary LLC.");
@@ -46,16 +46,16 @@
46 "Sam Hewitt <sam@elementary.io>",46 "Sam Hewitt <sam@elementary.io>",
47 null47 null
48 };48 };
49 49
50 private const string ACTION_ENTRY_COMPOSE = "compose";50 private const string ACTION_ENTRY_COMPOSE = "compose";
51 51
52 public const ActionEntry[] action_entries = {52 public const ActionEntry[] action_entries = {
53 {ACTION_ENTRY_COMPOSE, activate_compose, "s"},53 {ACTION_ENTRY_COMPOSE, activate_compose, "s"},
54 };54 };
55 55
56 private const int64 USEC_PER_SEC = 1000000;56 private const int64 USEC_PER_SEC = 1000000;
57 private const int64 FORCE_SHUTDOWN_USEC = 5 * USEC_PER_SEC;57 private const int64 FORCE_SHUTDOWN_USEC = 5 * USEC_PER_SEC;
58 58
59 public static GearyApplication instance {59 public static GearyApplication instance {
60 get { return _instance; }60 get { return _instance; }
61 private set {61 private set {
@@ -64,7 +64,7 @@
64 _instance = value;64 _instance = value;
65 }65 }
66 }66 }
67 67
68 /**68 /**
69 * Signal that is activated when 'exit' is called, but before the application actually exits.69 * Signal that is activated when 'exit' is called, but before the application actually exits.
70 *70 *
@@ -74,41 +74,41 @@
74 public virtual signal bool exiting(bool panicked) {74 public virtual signal bool exiting(bool panicked) {
75 return true;75 return true;
76 }76 }
77 77
78 public GearyController controller { get; private set; default = new GearyController(); }78 public GearyController controller { get; private set; default = new GearyController(); }
79 79
80 public Gtk.ActionGroup actions {80 public Gtk.ActionGroup actions {
81 get; private set; default = new Gtk.ActionGroup("GearyActionGroup");81 get; private set; default = new Gtk.ActionGroup("GearyActionGroup");
82 }82 }
83 public Gee.Collection<Geary.ActionAdapter> action_adapters {83 public Gee.Collection<Geary.ActionAdapter> action_adapters {
84 get; private set; default = new Gee.ArrayList<Geary.ActionAdapter>();84 get; private set; default = new Gee.ArrayList<Geary.ActionAdapter>();
85 }85 }
86 86
87 public Gtk.UIManager ui_manager {87 public Gtk.UIManager ui_manager {
88 get; private set; default = new Gtk.UIManager();88 get; private set; default = new Gtk.UIManager();
89 }89 }
90 90
91 public Configuration config { get; private set; }91 public Configuration config { get; private set; }
9292
93 private static GearyApplication _instance = null;93 private static GearyApplication _instance = null;
94 94
95 private string bin;95 private string bin;
96 private File exec_dir;96 private File exec_dir;
97 private bool exiting_fired = false;97 private bool exiting_fired = false;
98 private int exitcode = 0;98 private int exitcode = 0;
99 private bool is_destroyed = false;99 private bool is_destroyed = false;
100 100
101 public GearyApplication() {101 public GearyApplication() {
102 Object(application_id: APP_ID);102 Object(application_id: APP_ID);
103 103
104 _instance = this;104 _instance = this;
105 }105 }
106 106
107 // Application.run() calls this as an entry point.107 // Application.run() calls this as an entry point.
108 public override bool local_command_line(ref unowned string[] args, out int exit_status) {108 public override bool local_command_line(ref unowned string[] args, out int exit_status) {
109 bin = args[0];109 bin = args[0];
110 exec_dir = (File.new_for_path(Posix.realpath(Environment.find_program_in_path(bin)))).get_parent();110 exec_dir = (File.new_for_path(Posix.realpath(Environment.find_program_in_path(bin)))).get_parent();
111 111
112 try {112 try {
113 register();113 register();
114 } catch (Error e) {114 } catch (Error e) {
@@ -121,131 +121,131 @@
121 exit_status = 1;121 exit_status = 1;
122 return true;122 return true;
123 }123 }
124 124
125 activate();125 activate();
126 foreach (unowned string arg in args) {126 foreach (unowned string arg in args) {
127 if (arg != null && arg.has_prefix(Geary.ComposedEmail.MAILTO_SCHEME))127 if (arg != null && arg.has_prefix(Geary.ComposedEmail.MAILTO_SCHEME))
128 activate_action(ACTION_ENTRY_COMPOSE, new Variant.string(arg));128 activate_action(ACTION_ENTRY_COMPOSE, new Variant.string(arg));
129 }129 }
130 130
131 exit_status = 0;131 exit_status = 0;
132 return true;132 return true;
133 }133 }
134 134
135 public override void startup() {135 public override void startup() {
136 Configuration.init(is_installed(), GSETTINGS_DIR);136 Configuration.init(is_installed(), GSETTINGS_DIR);
137 137
138 Environment.set_application_name(NAME);138 Environment.set_application_name(NAME);
139 Environment.set_prgname(PRGNAME);139 Environment.set_prgname(PRGNAME);
140 International.init(GETTEXT_PACKAGE, bin);140 International.init(GETTEXT_PACKAGE, bin);
141 141
142 Geary.Logging.init();142 Geary.Logging.init();
143 Date.init();143 Date.init();
144 WebKit.set_cache_model(WebKit.CacheModel.DOCUMENT_BROWSER);144 WebKit.set_cache_model(WebKit.CacheModel.DOCUMENT_BROWSER);
145 145
146 base.startup();146 base.startup();
147 147
148 var notification_action = new SimpleAction ("go-to-notification", null);148 var notification_action = new SimpleAction ("go-to-notification", null);
149 notification_action.activate.connect (() => {149 notification_action.activate.connect (() => {
150 this.activate ();150 this.activate ();
151 controller.notification_clicked ();151 controller.notification_clicked ();
152 });152 });
153 add_action (notification_action);153 add_action (notification_action);
154 154
155 add_action_entries(action_entries, this);155 add_action_entries(action_entries, this);
156 }156 }
157 157
158 public override void activate() {158 public override void activate() {
159 base.activate();159 base.activate();
160 160
161 if (!present())161 if (!present())
162 create_async.begin();162 create_async.begin();
163 }163 }
164 164
165 public void activate_compose(SimpleAction action, Variant? param) {165 public void activate_compose(SimpleAction action, Variant? param) {
166 if (param == null)166 if (param == null)
167 return;167 return;
168 168
169 compose(param.get_string());169 compose(param.get_string());
170 }170 }
171 171
172 public bool present() {172 public bool present() {
173 if (controller == null)173 if (controller == null)
174 return false;174 return false;
175 175
176 // if LoginDialog (i.e. the opening dialog for creating the initial account) is present176 // if LoginDialog (i.e. the opening dialog for creating the initial account) is present
177 // and visible, bring that to top (to prevent opening the hidden main window, which is177 // and visible, bring that to top (to prevent opening the hidden main window, which is
178 // empty)178 // empty)
179 if (controller.login_dialog != null && controller.login_dialog.visible) {179 if (controller.login_dialog != null && controller.login_dialog.visible) {
180 controller.login_dialog.present_with_time(Gdk.CURRENT_TIME);180 controller.login_dialog.present_with_time(Gdk.CURRENT_TIME);
181 181
182 return true;182 return true;
183 }183 }
184 184
185 if (controller.main_window == null)185 if (controller.main_window == null)
186 return false;186 return false;
187 187
188 if (!controller.main_window.get_realized())188 if (!controller.main_window.get_realized())
189 controller.main_window.show_all();189 controller.main_window.show_all();
190 else190 else
191 controller.main_window.present_with_time(Gdk.CURRENT_TIME);191 controller.main_window.present_with_time(Gdk.CURRENT_TIME);
192 192
193 return true;193 return true;
194 }194 }
195 195
196 private async void create_async() {196 private async void create_async() {
197 // Manually keep the main loop around for the duration of this call.197 // Manually keep the main loop around for the duration of this call.
198 // Without this, the main loop will exit as soon as we hit the yield198 // Without this, the main loop will exit as soon as we hit the yield
199 // below, before we create the main window.199 // below, before we create the main window.
200 hold();200 hold();
201 201
202 // do *after* parsing args, as they dicate where logging is sent to, if anywhere, and only202 // do *after* parsing args, as they dicate where logging is sent to, if anywhere, and only
203 // after activate (which means this is only logged for the one user-visible instance, not203 // after activate (which means this is only logged for the one user-visible instance, not
204 // the other instances called when sending commands to the app via the command-line)204 // the other instances called when sending commands to the app via the command-line)
205 message("%s %s prefix=%s exec_dir=%s is_installed=%s", NAME, VERSION, INSTALL_PREFIX,205 message("%s %s prefix=%s exec_dir=%s is_installed=%s", NAME, VERSION, INSTALL_PREFIX,
206 exec_dir.get_path(), is_installed().to_string());206 exec_dir.get_path(), is_installed().to_string());
207 207
208 config = new Configuration(APP_ID);208 config = new Configuration(APP_ID);
209 yield controller.open_async();209 yield controller.open_async();
210 210
211 release();211 release();
212 }212 }
213 213
214 private async void destroy_async() {214 private async void destroy_async() {
215 // see create_async() for reasoning hold/release is used215 // see create_async() for reasoning hold/release is used
216 hold();216 hold();
217 217
218 yield controller.close_async();218 yield controller.close_async();
219 219
220 release();220 release();
221 221
222 is_destroyed = true;222 is_destroyed = true;
223 }223 }
224 224
225 public bool compose(string mailto) {225 public bool compose(string mailto) {
226 if (controller == null)226 if (controller == null)
227 return false;227 return false;
228 228
229 controller.compose_mailto(mailto);229 controller.compose_mailto(mailto);
230 return true;230 return true;
231 }231 }
232 232
233 // NOTE: This assert()'s if the Gtk.Action is not present in the default action group233 // NOTE: This assert()'s if the Gtk.Action is not present in the default action group
234 public Gtk.Action get_action(string name) {234 public Gtk.Action get_action(string name) {
235 Gtk.Action? action = actions.get_action(name);235 Gtk.Action? action = actions.get_action(name);
236 assert(action != null);236 assert(action != null);
237 237
238 return action;238 return action;
239 }239 }
240 240
241 public File get_user_data_directory() {241 public File get_user_data_directory() {
242 return File.new_for_path(Environment.get_user_data_dir()).get_child("pantheon-mail");242 return File.new_for_path(Environment.get_user_data_dir()).get_child("pantheon-mail");
243 }243 }
244 244
245 public File get_user_config_directory() {245 public File get_user_config_directory() {
246 return File.new_for_path(Environment.get_user_config_dir()).get_child("pantheon-mail");246 return File.new_for_path(Environment.get_user_config_dir()).get_child("pantheon-mail");
247 }247 }
248 248
249 /**249 /**
250 * Returns the base directory that the application's various resource files are stored. If the250 * Returns the base directory that the application's various resource files are stored. If the
251 * application is running from its installed directory, this will point to251 * application is running from its installed directory, this will point to
@@ -258,54 +258,54 @@
258 else258 else
259 return File.new_for_path(SOURCE_ROOT_DIR + "/data");259 return File.new_for_path(SOURCE_ROOT_DIR + "/data");
260 }260 }
261 261
262 // Returns the directory the application is currently executing from.262 // Returns the directory the application is currently executing from.
263 public File get_exec_dir() {263 public File get_exec_dir() {
264 return exec_dir;264 return exec_dir;
265 }265 }
266 266
267 public File? get_desktop_file() {267 public File? get_desktop_file() {
268 File? install_dir = get_install_dir();268 File? install_dir = get_install_dir();
269 File desktop_file = (install_dir != null)269 File desktop_file = (install_dir != null)
270 ? install_dir.get_child("share").get_child("applications").get_child("pantheon-mail.desktop")270 ? install_dir.get_child("share").get_child("applications").get_child("pantheon-mail.desktop")
271 : File.new_for_path(SOURCE_ROOT_DIR).get_child("build").get_child("desktop").get_child("pantheon-mail.desktop");271 : File.new_for_path(SOURCE_ROOT_DIR).get_child("build").get_child("desktop").get_child("pantheon-mail.desktop");
272 272
273 return desktop_file.query_exists() ? desktop_file : null;273 return desktop_file.query_exists() ? desktop_file : null;
274 }274 }
275 275
276 public bool is_installed() {276 public bool is_installed() {
277 return exec_dir.has_prefix(get_install_prefix_dir());277 return exec_dir.has_prefix(get_install_prefix_dir());
278 }278 }
279 279
280 // Returns the configure installation prefix directory, which does not imply Geary is installed280 // Returns the configure installation prefix directory, which does not imply Geary is installed
281 // or that it's running from this directory.281 // or that it's running from this directory.
282 public File get_install_prefix_dir() {282 public File get_install_prefix_dir() {
283 return File.new_for_path(INSTALL_PREFIX);283 return File.new_for_path(INSTALL_PREFIX);
284 }284 }
285 285
286 // Returns the installation directory, or null if we're running outside of the installation286 // Returns the installation directory, or null if we're running outside of the installation
287 // directory.287 // directory.
288 public File? get_install_dir() {288 public File? get_install_dir() {
289 File prefix_dir = get_install_prefix_dir();289 File prefix_dir = get_install_prefix_dir();
290 290
291 return exec_dir.has_prefix(prefix_dir) ? prefix_dir : null;291 return exec_dir.has_prefix(prefix_dir) ? prefix_dir : null;
292 }292 }
293 293
294 // This call will fire "exiting" only if it's not already been fired.294 // This call will fire "exiting" only if it's not already been fired.
295 public void exit(int exitcode = 0) {295 public void exit(int exitcode = 0) {
296 if (exiting_fired)296 if (exiting_fired)
297 return;297 return;
298 298
299 this.exitcode = exitcode;299 this.exitcode = exitcode;
300 300
301 exiting_fired = true;301 exiting_fired = true;
302 if (!exiting(false)) {302 if (!exiting(false)) {
303 exiting_fired = false;303 exiting_fired = false;
304 this.exitcode = 0;304 this.exitcode = 0;
305 305
306 return;306 return;
307 }307 }
308 308
309 // Give asynchronous destroy_async() a chance to complete, but to avoid bug(s) where309 // Give asynchronous destroy_async() a chance to complete, but to avoid bug(s) where
310 // Mail hangs at exit, shut the whole thing down if destroy_async() takes too long to310 // Mail hangs at exit, shut the whole thing down if destroy_async() takes too long to
311 // complete311 // complete
@@ -313,23 +313,23 @@
313 destroy_async.begin();313 destroy_async.begin();
314 while (!is_destroyed || Gtk.events_pending()) {314 while (!is_destroyed || Gtk.events_pending()) {
315 Gtk.main_iteration();315 Gtk.main_iteration();
316 316
317 int64 delta_usec = get_monotonic_time() - start_usec;317 int64 delta_usec = get_monotonic_time() - start_usec;
318 if (delta_usec >= FORCE_SHUTDOWN_USEC) {318 if (delta_usec >= FORCE_SHUTDOWN_USEC) {
319 debug("Forcing shutdown of Mail, %ss passed...", (delta_usec / USEC_PER_SEC).to_string());319 debug("Forcing shutdown of Mail, %ss passed...", (delta_usec / USEC_PER_SEC).to_string());
320 320
321 break;321 break;
322 }322 }
323 }323 }
324 324
325 if (Gtk.main_level() > 0)325 if (Gtk.main_level() > 0)
326 Gtk.main_quit();326 Gtk.main_quit();
327 else327 else
328 Posix.exit(exitcode);328 Posix.exit(exitcode);
329 329
330 Date.terminate();330 Date.terminate();
331 }331 }
332 332
333 /**333 /**
334 * A callback for GearyApplication.exiting should return cancel_exit() to prevent the334 * A callback for GearyApplication.exiting should return cancel_exit() to prevent the
335 * application from exiting.335 * application from exiting.
@@ -338,7 +338,7 @@
338 Signal.stop_emission_by_name(this, "exiting");338 Signal.stop_emission_by_name(this, "exiting");
339 return false;339 return false;
340 }340 }
341 341
342 // This call will fire "exiting" only if it's not already been fired and halt the application342 // This call will fire "exiting" only if it's not already been fired and halt the application
343 // in its tracks.343 // in its tracks.
344 public void panic() {344 public void panic() {
@@ -346,8 +346,7 @@
346 exiting_fired = true;346 exiting_fired = true;
347 exiting(true);347 exiting(true);
348 }348 }
349 349
350 Posix.exit(1);350 Posix.exit(1);
351 }351 }
352}352}
353

Subscribers

People subscribed via source and target branches