Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

localize #3

Closed
wants to merge 12 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 14 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
SFOA – Show F*cking Outlook Appointments for Thunderbird
========================================================
IMPORTANT NOTICE
================

The latest Thunderbird 68 Update breaks the compatibility with this plugin. Therefore I do have to rewrite the complete plugin which is currently not planned in the near future.

Show Outlook Appointments (vcal / ics)
======================================

For a long time I did not even know that Outlook silently sends calendar appointments via email and how all this works. In the last year more and more colleagues and customers of my company started using Outlook for appointments and I wondered always about empty emails or emails which do not make sense at all.

Expand All @@ -13,7 +18,7 @@ As I am not using Lighting and am not willing to install a huge extension only t

I hacked together this Thunderbird extension without knowing much about Thunderbird extensions at all. So I copied code from various other exentions and made it work somehow. I could not find any up-to-date tutorials or documentation of the extension api so I only can hope that my code does what it should.

Don't blame me if something goes horribly wrong when using this exension. I did not dive deep into Thunderbird extensions, I did not read RFCs and I don't know if there are any side effects.
Dont blame me if something goes horribly wrong when using this exension. I did not dive deep into Thunderbird extensions, I did not read RFCs and I dont know if there are any side effects.

Help me by testing, reviewing and supporting this extension. Fork and create merge requests, I am happy to learn and willing to fix my mistakes.

Expand All @@ -23,7 +28,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI

When opening a message the content is scanned for alternative parts. This btw is the reason Thunderbird does not display the calendar entry. Normally an appointment consists of three parts: text, html and calendar which are all marked as alternatives. Therefore according to RFCs only one has to be shown and Thunderbird prefers text or html.

When found, a button "Download ICS" is shown (has to be added by customizing the bar first) and a large image is shown in the header bar of the message.
When found, a button Download ICS is shown (has to be added by customizing the bar first) and a large image is shown in the header bar of the message.

![Screenshot](/images/bar.png?raw=true "Message bar with button and image")

Expand All @@ -33,19 +38,19 @@ Either click the button or the image to save the ICS file in your temp directory

### Tested Platforms

This addon has been currently tested only on Linux using Thunderbird 60.3.0 64bit. Let me know if it works on your system.
This addon has been currently tested only on Linux using Thunderbird 60.3.0 64-bit. Let me know if it works on your system.

### Installing

Just install the latest XPI from the dist folder by using "Install Add-On From File" in Thunderbird in the addons tab.
Just install the latest XPI from the dist folder by using "Install Add-On From File" in Thunderbird in the `Add-ons Manager` tab.

After installing only the banner hint for an ICS attachment will be shown. To add the corresponding button to the tab bar, you have to customize the buttons by right clicking. Then drag and drop the blue button at the place you like.

This Addon is also available on https://addons.thunderbird.net/de/thunderbird/addon/sfoa/
This Add-on is also available on https://addons.thunderbird.net/addon/sfoa/

### Thanks

Thanks to all the available extensions out there where I could take a look how things work. But a special thanks goes to the "Rescue Conflicting Alternatives" (https://github.com/clear-code/tb-rescue-conflicting-alternatives) extension which was the base for this one.
Thanks to all the available extensions out there where I could take a look how things work. But a special thanks goes to the Rescue Conflicting Alternatives (https://github.com/clear-code/tb-rescue-conflicting-alternatives) extension which was the base for this one.

### ToDo

Expand All @@ -55,7 +60,7 @@ There is so much to do. First this extension needs more testing. I only tested w
* Upload to Mozilla Extension DB
* Localize
* Show folder selector when saving ICS
* ...
*

### Support Me

Expand Down
9 changes: 7 additions & 2 deletions src/chrome.manifest
Original file line number Diff line number Diff line change
@@ -1,2 +1,7 @@
content sfoa chrome/content/
overlay chrome://messenger/content/messenger.xul chrome://sfoa/content/sfoa.xul
content sfoa chrome/content/

# locale (default listed first, then alphabetically by locale)
locale sofa en-US chrome/locale/en-US/
locale sofa hu chrome/locale/hu/

overlay chrome://messenger/content/messenger.xul chrome://sfoa/content/sfoa.xul
6 changes: 5 additions & 1 deletion src/chrome/content/sfoa.xul
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
<?xml version="1.0"?>
<!DOCTYPE window [
<!ENTITY % buttonsDTD SYSTEM "chrome://sfoa/chrome/locale/sfoa.dtd"> %buttonsDTD;
]>

<overlay id="sfoa" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/javascript" src="chrome://sfoa/content/sfoa.js"/>

<toolbar id="header-view-toolbar">
<toolbarbutton removable="true" id="outlook-appointment-button" class="toolbarbutton-1 msgHeaderView-button" label="Download ICS" tooltiptext="Download attached Outlook appointment" style="display: none; background-color: #0071c5; color: white; list-style-image: url('chrome://sfoa/content/outlook-appointment-button.svg');"/>
<toolbarbutton removable="true" id="outlook-appointment-button" class="toolbarbutton-1 msgHeaderView-button" label="&toolbar.download.label;" tooltiptext="&toolbar.download.tooltiptext;" style="display: none; background-color: #0071c5; color: white; list-style-image: url('chrome://sfoa/content/outlook-appointment-button.svg');"/>
</toolbar>

<hbox id="expandedHeadersBottomBox">
Expand Down
2 changes: 2 additions & 0 deletions src/chrome/locale/en-US/sfoa.dtd
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
<!ENTITY toolbar.download.label "Download ICS">
<!ENTITY toolbar.download.tooltiptext "Download attached Outlook appointment">
2 changes: 2 additions & 0 deletions src/chrome/locale/hu/sfoa.dtd
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
<!ENTITY toolbar.download.label "ICS letöltése">
<!ENTITY toolbar.download.tooltiptext "Töltse le a csatolt Outlook-találkozók">
19 changes: 17 additions & 2 deletions src/install.rdf
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,32 @@
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#">
<Description about="urn:mozilla:install-manifest">
<em:id>[email protected]</em:id>
<em:name>Show F*cking Outlook Appointments</em:name>
<em:name>Show Outlook Appointments</em:name>
<em:description>Display embedded Outlook calendar (vcal/ics) attachments</em:description>
<em:version>0.2.3</em:version>
<em:creator>Sebastian Hammerl</em:creator>
<em:description>A Thunderbird extension to show embedded Outlook calendar parts</em:description>
<em:translator>Sebastian Hammerl (en-US)</em:translator>
<em:translator>Óvári (hu)</em:translator>
<em:iconURL>chrome://sfoa/content/outlook-appointment-icon.png</em:iconURL>

<!-- Target Application - Thunderbird -->
<em:targetApplication>
<Description>
<em:id>{3550f703-e582-4d05-9a08-453d09bdfdc6}</em:id>
<em:minVersion>60.0</em:minVersion>
<em:maxVersion>60.*</em:maxVersion>
</Description>
</em:targetApplication>

<!-- Hungarian -->
<em:localized>
<Description>
<em:locale>hu</em:locale>
<em:name>Outlook-találkozók megjelenítése (Show Outlook Appointments)</em:name>
<em:description>A beágyazott Outlook naptár (vcal/ics) mellékletek megjelenítése</em:description>
</Description>
</em:localized>

</Description>

</RDF>