SF.net SVN: geany-plugins:[1118] trunk/geany-plugins/geanysendmail/src
frlan at users.sourceforge.net
frlan at xxxxx
Tue Jan 5 23:07:40 UTC 2010
Revision: 1118
http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=1118&view=rev
Author: frlan
Date: 2010-01-05 23:07:37 +0000 (Tue, 05 Jan 2010)
Log Message:
-----------
GeanySendMail: Tagging of 0.4.3 maintenance release and merging it into geany-plugins combined plugin release
Modified Paths:
--------------
trunk/geany-plugins/geanysendmail/ChangeLog
trunk/geany-plugins/geanysendmail/NEWS
trunk/geany-plugins/geanysendmail/README
trunk/geany-plugins/geanysendmail/TODO
trunk/geany-plugins/geanysendmail/src/geanysendmail.c
Added Paths:
-----------
tags/geanysendmail/geanysendmail-0.4.3/
tags/geanysendmail/geanysendmail-0.4.3/ChangeLog
tags/geanysendmail/geanysendmail-0.4.3/NEWS
tags/geanysendmail/geanysendmail-0.4.3/po/de.po
tags/geanysendmail/geanysendmail-0.4.3/po/geanysendmail.pot
tags/geanysendmail/geanysendmail-0.4.3/src/geanysendmail.c
tags/geanysendmail/geanysendmail-0.4.3/wscript
Removed Paths:
-------------
tags/geanysendmail/geanysendmail-0.4.3/ChangeLog
tags/geanysendmail/geanysendmail-0.4.3/NEWS
tags/geanysendmail/geanysendmail-0.4.3/po/de.po
tags/geanysendmail/geanysendmail-0.4.3/po/geanysendmail.pot
tags/geanysendmail/geanysendmail-0.4.3/src/Makefile.am
tags/geanysendmail/geanysendmail-0.4.3/src/geanysendmail.c
tags/geanysendmail/geanysendmail-0.4.3/wscript
trunk/geany-plugins/geanysendmail/INSTALL
Deleted: tags/geanysendmail/geanysendmail-0.4.3/ChangeLog
===================================================================
--- trunk/geanysendmail/ChangeLog 2010-01-05 22:40:35 UTC (rev 1116)
+++ tags/geanysendmail/geanysendmail-0.4.3/ChangeLog 2010-01-05 23:07:37 UTC (rev 1118)
@@ -1,113 +0,0 @@
-2009-10-08 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
-
- * Use waf for building plugin in faovr of autotools.
-
-
-2009-07-18 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
-
- * Update to Geany plugin API v147 and make usage of single header includes.
-
-
-2009-05-28 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
-
- * Make usage of Geany's ui_widget_set_tooltip_text() function.
-
-
-2009-04-24 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
-
- * Applied a patch by Timothy Boronczyk which allows aborting when inserting
- recipient's email address.
-
-
-2008-10-14 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
-
- * Applied a patch by Nick to make use of Geany Plugin API r100 and the
- add_document_sensitive() function from plugin API.
-
-
-2008-10-13 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
-
- * Applied a patch by Nick to make use of Geany Plugin API r99 and the
- add item to toolbar function.
-
-
-2008-10-03 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
-
- * Implement a %b placeholder for adding basename of file to mailer command.
- Thanks to Timothy Boronczyk for idea.
-
-
-2008-09-28 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
-
- * Make configuration example copyable.
-
-
-2008-09-25 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
-
- * Added a patch by Timothy Boronczyk to support creating a mail with
- recipients email. Thanks for it.
-
-
-2008-09-01 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
-
- * Build environment: Update of Makefiles to include icon.h into source
- package
- * Build environment: Added makefile for Windows (needs to be tested)
- * configure.in: Update of version string
-
-
-2008-07-11 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
-
- * Make plugin compile with Geany svn r2767.
-
-
-2008-06-26 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
-
- * Update of used plugin API to v71.
-
-
-2008-06-16 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
-
- * Make plugin also work together with GTK-2.8. Thanks to Nick for
- providing patch.
-
-
-2008-06-14 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
-
- * Update of plugin API
-
-
-2008-05-20 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
-
- * Ported build system from spellcheck plugin. Thanks for it.
- * Updated Geany plugin API.
- * Activating of i18n support and adding a first German translation.
-
-
-2008-05-13 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
-
- * Restart using ChangeLog.
-
-
-2007-11-29 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
-
- * geanysendmail.c: Applied a patch from Enrico to improve code;
- Version 0.2b
-
-
-2007-11-23 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
-
- * geanysendmail.c, TODO: %f added Filename placeholder
- Fixes a few segfaults and momory problems
-
-
-2007-11-23 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
-
- * geanysendmail.c: Added support configuration dialog called by
- plugin manager and configuration file support to store mailer.
- * TODO: Added list to keep in mind what is still missing
-
-
-2007-11-20 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
-
- * *: Initial commit
Copied: tags/geanysendmail/geanysendmail-0.4.3/ChangeLog (from rev 1117, trunk/geanysendmail/ChangeLog)
===================================================================
--- tags/geanysendmail/geanysendmail-0.4.3/ChangeLog (rev 0)
+++ tags/geanysendmail/geanysendmail-0.4.3/ChangeLog 2010-01-05 23:07:37 UTC (rev 1118)
@@ -0,0 +1,118 @@
+2010-01-05
+
+ * Release of 0.4.3 mainteinance release.
+
+
+2009-10-08 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
+
+ * Use waf for building plugin in faovr of autotools.
+
+
+2009-07-18 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
+
+ * Update to Geany plugin API v147 and make usage of single header includes.
+
+
+2009-05-28 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
+
+ * Make usage of Geany's ui_widget_set_tooltip_text() function.
+
+
+2009-04-24 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
+
+ * Applied a patch by Timothy Boronczyk which allows aborting when inserting
+ recipient's email address.
+
+
+2008-10-14 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
+
+ * Applied a patch by Nick to make use of Geany Plugin API r100 and the
+ add_document_sensitive() function from plugin API.
+
+
+2008-10-13 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
+
+ * Applied a patch by Nick to make use of Geany Plugin API r99 and the
+ add item to toolbar function.
+
+
+2008-10-03 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
+
+ * Implement a %b placeholder for adding basename of file to mailer command.
+ Thanks to Timothy Boronczyk for idea.
+
+
+2008-09-28 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
+
+ * Make configuration example copyable.
+
+
+2008-09-25 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
+
+ * Added a patch by Timothy Boronczyk to support creating a mail with
+ recipients email. Thanks for it.
+
+
+2008-09-01 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
+
+ * Build environment: Update of Makefiles to include icon.h into source
+ package
+ * Build environment: Added makefile for Windows (needs to be tested)
+ * configure.in: Update of version string
+
+
+2008-07-11 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
+
+ * Make plugin compile with Geany svn r2767.
+
+
+2008-06-26 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
+
+ * Update of used plugin API to v71.
+
+
+2008-06-16 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
+
+ * Make plugin also work together with GTK-2.8. Thanks to Nick for
+ providing patch.
+
+
+2008-06-14 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
+
+ * Update of plugin API
+
+
+2008-05-20 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
+
+ * Ported build system from spellcheck plugin. Thanks for it.
+ * Updated Geany plugin API.
+ * Activating of i18n support and adding a first German translation.
+
+
+2008-05-13 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
+
+ * Restart using ChangeLog.
+
+
+2007-11-29 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
+
+ * geanysendmail.c: Applied a patch from Enrico to improve code;
+ Version 0.2b
+
+
+2007-11-23 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
+
+ * geanysendmail.c, TODO: %f added Filename placeholder
+ Fixes a few segfaults and momory problems
+
+
+2007-11-23 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
+
+ * geanysendmail.c: Added support configuration dialog called by
+ plugin manager and configuration file support to store mailer.
+ * TODO: Added list to keep in mind what is still missing
+
+
+2007-11-20 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
+
+ * *: Initial commit
Deleted: tags/geanysendmail/geanysendmail-0.4.3/NEWS
===================================================================
--- trunk/geanysendmail/NEWS 2010-01-05 22:40:35 UTC (rev 1116)
+++ tags/geanysendmail/geanysendmail-0.4.3/NEWS 2010-01-05 23:07:37 UTC (rev 1118)
@@ -1,22 +0,0 @@
-GeanySendMail 0.4.3 (t.b.d.s)
- * Use waf instead of autotools
- * Update to Geany plugin API 147
-
-
-GeanySendMail 0.4.2 (26. May 2009):
- * Added cancel button to recipient's address dialog
- * Some minor code cleanup
-
-
-GeanySendMail 0.4.1 (16. February 2009):
- * Update to Geany pugin API v116
- * Minor improvments on wording and cleanup of code
-
-
-GeanySendMail 0.4 (22. October 2008):
-
- * Adding support for creating a mail with recipients email
- (Basic Patch by Timothy Boronczyk)
- * Added placeholder for file's basename (Idea by Timothy Boronczyk)
- * Added build support for Windows (not very well tested)
- * Updates at translation, documentation and buildsystem
Copied: tags/geanysendmail/geanysendmail-0.4.3/NEWS (from rev 1117, trunk/geanysendmail/NEWS)
===================================================================
--- tags/geanysendmail/geanysendmail-0.4.3/NEWS (rev 0)
+++ tags/geanysendmail/geanysendmail-0.4.3/NEWS 2010-01-05 23:07:37 UTC (rev 1118)
@@ -0,0 +1,22 @@
+GeanySendMail 0.4.3 (05.01.2010 - maintenance release)
+ * Use waf instead of autotools
+ * Update to Geany plugin API 147
+
+
+GeanySendMail 0.4.2 (26. May 2009):
+ * Added cancel button to recipient's address dialog
+ * Some minor code cleanup
+
+
+GeanySendMail 0.4.1 (16. February 2009):
+ * Update to Geany pugin API v116
+ * Minor improvments on wording and cleanup of code
+
+
+GeanySendMail 0.4 (22. October 2008):
+
+ * Adding support for creating a mail with recipients email
+ (Basic Patch by Timothy Boronczyk)
+ * Added placeholder for file's basename (Idea by Timothy Boronczyk)
+ * Added build support for Windows (not very well tested)
+ * Updates at translation, documentation and buildsystem
Deleted: tags/geanysendmail/geanysendmail-0.4.3/po/de.po
===================================================================
--- trunk/geanysendmail/po/de.po 2010-01-05 22:40:35 UTC (rev 1116)
+++ tags/geanysendmail/geanysendmail-0.4.3/po/de.po 2010-01-05 23:07:37 UTC (rev 1118)
@@ -1,142 +0,0 @@
-# German translations for GeanySendMail package.
-# Copyright (C) 2008 THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
-msgid ""
-msgstr ""
-"Project-Id-Version: geanysendmail 0.4\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-05-25 00:27+0200\n"
-"PO-Revision-Date: 2009-05-25 00:27+0100\n"
-"Last-Translator: Frank Lanitz <frank at frank.uvena.de>\n"
-"Language-Team: <frank at frank.uvena.de>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Poedit-Language: German\n"
-"X-Poedit-Country: GERMANY\n"
-"X-Poedit-SourceCharset: utf-8\n"
-
-#: src/geanysendmail.c:47
-msgid "GeanySendMail"
-msgstr "GeanySendMail"
-
-#: src/geanysendmail.c:47
-msgid ""
-"A little plugin to send the current file as attachment by user's favorite "
-"mailer"
-msgstr ""
-"Ein Plugin zum Senden einer Datei als Anhang unter Verwendung eines "
-"Mailprogrammes."
-
-#: src/geanysendmail.c:107
-msgid "Recipient's Address"
-msgstr "Emailadresse des Empfängers"
-
-#: src/geanysendmail.c:118
-msgid "Enter the recipient's e-mail address:"
-msgstr "Emailadresse des Empfängers:"
-
-#: src/geanysendmail.c:151 src/geanysendmail.c:312
-msgid "Plugin configuration directory could not be created."
-msgstr "Konfigurationsdatei konnte nicht erstellt werden."
-
-#: src/geanysendmail.c:166
-msgid "Filename placeholder not found. The executed command might have failed."
-msgstr ""
-"Konnte den Platzhalter für den Dateinamen (\\%s) nicht finden. Das "
-"angegebene Kommando könnte nicht korrekt ausgeführt worden sein."
-
-#: src/geanysendmail.c:172
-msgid ""
-"Recipient address placeholder not found. The executed command might have "
-"failed."
-msgstr ""
-"Konnte den Platzhalter für den Mailempfänger nicht finden. Das angegebene "
-"Kommando könnte nicht korrekt ausgeführt worden sein."
-
-#: src/geanysendmail.c:184
-msgid "Could not execute mailer. Please check your configuration."
-msgstr ""
-"Konnte das Mailprogramm nicht aufrufen. Bitte überprüfen Sie Ihre "
-"Einstellungen"
-
-#: src/geanysendmail.c:196
-msgid "Please define a mail client first."
-msgstr "Bitte ein Mailprogramm angeben!"
-
-#: src/geanysendmail.c:201
-msgid "File has to be saved before sending."
-msgstr "Die Datei muss vor dem Senden gespeichert werden."
-
-#: src/geanysendmail.c:217
-msgid "Mail"
-msgstr "Mail"
-
-#: src/geanysendmail.c:248
-msgid "Send by mail"
-msgstr "Per Mail senden"
-
-#. add a label and a text entry to the dialog
-#: src/geanysendmail.c:336
-msgid "Path and options for the mail client:"
-msgstr "Pfad und Optionen für das Mailprogramm:"
-
-#: src/geanysendmail.c:344
-msgid ""
-"Note: \n"
-"\t\\%f will be replaced by your file.\n"
-"\t\\%r will be replaced by recipient's email address.\n"
-"\t\\%b will be replaced by basename of a file\n"
-"\tExamples:\n"
-"\tsylpheed --attach \"\\%f\" --compose \"\\%r\"\n"
-"\tmutt -s \"Sending '\\%b'\" -a \"\\%f\" \"\\%r\""
-msgstr ""
-"Anmerkung: \n"
-"\t\\%f wird mit der zu sendenden Datei ersetzt.\t\n"
-"\t\\%r wird mit der Emailadresse des Empfängers ersetzt.\t\n"
-"\t\\%b wird mit dem reinen Dateinamen der zu sendenen Datei ersetzt.\n"
-"\tEin Beispiel könnte sein:\t\n"
-"\tsylpheed --attach \"\\%f\" --compose \"\\%r\"\n"
-"\tmutt -s \"Sending '\\%b'\" -a \"\\%f\" \"\\%r\""
-
-#: src/geanysendmail.c:354
-msgid "Showing icon in toolbar"
-msgstr "Symbol in der Werkzeugleiste anzeigen"
-
-#: src/geanysendmail.c:357
-msgid "Shows a icon in the toolbar to send file more easy."
-msgstr ""
-"Zeigt ein Symbol in der Werkzeugleiste an, sodass eine Datei einfacher "
-"versendet werden kann."
-
-#: src/geanysendmail.c:364
-msgid "Using dialog for entering email address of recipients"
-msgstr ""
-"Zeigt einen Dialog zum Eingeben der Emailadresse des Empfängers der zu "
-"sendenden Datei"
-
-#: src/geanysendmail.c:389
-msgid "Send file by mail"
-msgstr "Per Mail senden"
-
-#. Build up menu entry
-#: src/geanysendmail.c:416
-msgid "_Mail document"
-msgstr "_Dokument versenden"
-
-#: src/geanysendmail.c:419
-msgid ""
-"Sends the opened file as unzipped attachment by any mailer from your $PATH"
-msgstr ""
-"Sendet ein geöffnetes Dokument als ungepackten Anhang unter Verwendung eines "
-"Mailprogrammes."
-
-#~ msgid "_Mail"
-#~ msgstr "_Mail"
-
-#~ msgid "Note: \\%f will be replaced by your filename."
-#~ msgstr "Anmerkung: \\%f wird durch den Dateinamen ersetzt."
-
-#~ msgid "Mail Configuration"
-#~ msgstr "Maileinstellungen"
Copied: tags/geanysendmail/geanysendmail-0.4.3/po/de.po (from rev 1117, trunk/geanysendmail/po/de.po)
===================================================================
--- tags/geanysendmail/geanysendmail-0.4.3/po/de.po (rev 0)
+++ tags/geanysendmail/geanysendmail-0.4.3/po/de.po 2010-01-05 23:07:37 UTC (rev 1118)
@@ -0,0 +1,142 @@
+# German translations for GeanySendMail package.
+# Copyright (C) 2008 THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
+msgid ""
+msgstr ""
+"Project-Id-Version: geanysendmail 0.4\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-01-05 23:53+0100\n"
+"PO-Revision-Date: 2009-05-25 00:27+0100\n"
+"Last-Translator: Frank Lanitz <frank at frank.uvena.de>\n"
+"Language-Team: <frank at frank.uvena.de>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: German\n"
+"X-Poedit-Country: GERMANY\n"
+"X-Poedit-SourceCharset: utf-8\n"
+
+#: ../src/geanysendmail.c:40
+msgid "GeanySendMail"
+msgstr "GeanySendMail"
+
+#: ../src/geanysendmail.c:40
+msgid ""
+"A little plugin to send the current file as attachment by user's favorite "
+"mailer"
+msgstr ""
+"Ein Plugin zum Senden einer Datei als Anhang unter Verwendung eines "
+"Mailprogrammes."
+
+#: ../src/geanysendmail.c:100
+msgid "Recipient's Address"
+msgstr "Emailadresse des Empfängers"
+
+#: ../src/geanysendmail.c:111
+msgid "Enter the recipient's e-mail address:"
+msgstr "Emailadresse des Empfängers:"
+
+#: ../src/geanysendmail.c:144 ../src/geanysendmail.c:305
+msgid "Plugin configuration directory could not be created."
+msgstr "Konfigurationsdatei konnte nicht erstellt werden."
+
+#: ../src/geanysendmail.c:159
+msgid "Filename placeholder not found. The executed command might have failed."
+msgstr ""
+"Konnte den Platzhalter für den Dateinamen (\\%s) nicht finden. Das "
+"angegebene Kommando könnte nicht korrekt ausgeführt worden sein."
+
+#: ../src/geanysendmail.c:165
+msgid ""
+"Recipient address placeholder not found. The executed command might have "
+"failed."
+msgstr ""
+"Konnte den Platzhalter für den Mailempfänger nicht finden. Das angegebene "
+"Kommando könnte nicht korrekt ausgeführt worden sein."
+
+#: ../src/geanysendmail.c:177
+msgid "Could not execute mailer. Please check your configuration."
+msgstr ""
+"Konnte das Mailprogramm nicht aufrufen. Bitte überprüfen Sie Ihre "
+"Einstellungen"
+
+#: ../src/geanysendmail.c:189
+msgid "Please define a mail client first."
+msgstr "Bitte ein Mailprogramm angeben!"
+
+#: ../src/geanysendmail.c:194
+msgid "File has to be saved before sending."
+msgstr "Die Datei muss vor dem Senden gespeichert werden."
+
+#: ../src/geanysendmail.c:210
+msgid "Mail"
+msgstr "Mail"
+
+#: ../src/geanysendmail.c:241
+msgid "Send by mail"
+msgstr "Per Mail senden"
+
+#. add a label and a text entry to the dialog
+#: ../src/geanysendmail.c:326
+msgid "Path and options for the mail client:"
+msgstr "Pfad und Optionen für das Mailprogramm:"
+
+#: ../src/geanysendmail.c:334
+msgid ""
+"Note: \n"
+"\t\\%f will be replaced by your file.\n"
+"\t\\%r will be replaced by recipient's email address.\n"
+"\t\\%b will be replaced by basename of a file\n"
+"\tExamples:\n"
+"\tsylpheed --attach \"\\%f\" --compose \"\\%r\"\n"
+"\tmutt -s \"Sending '\\%b'\" -a \"\\%f\" \"\\%r\""
+msgstr ""
+"Anmerkung: \n"
+"\t\\%f wird mit der zu sendenden Datei ersetzt.\t\n"
+"\t\\%r wird mit der Emailadresse des Empfängers ersetzt.\t\n"
+"\t\\%b wird mit dem reinen Dateinamen der zu sendenen Datei ersetzt.\n"
+"\tEin Beispiel könnte sein:\t\n"
+"\tsylpheed --attach \"\\%f\" --compose \"\\%r\"\n"
+"\tmutt -s \"Sending '\\%b'\" -a \"\\%f\" \"\\%r\""
+
+#: ../src/geanysendmail.c:344
+msgid "Showing icon in toolbar"
+msgstr "Symbol in der Werkzeugleiste anzeigen"
+
+#: ../src/geanysendmail.c:346
+msgid "Shows a icon in the toolbar to send file more easy."
+msgstr ""
+"Zeigt ein Symbol in der Werkzeugleiste an, sodass eine Datei einfacher "
+"versendet werden kann."
+
+#: ../src/geanysendmail.c:352
+msgid "Using dialog for entering email address of recipients"
+msgstr ""
+"Zeigt einen Dialog zum Eingeben der Emailadresse des Empfängers der zu "
+"sendenden Datei"
+
+#: ../src/geanysendmail.c:377
+msgid "Send file by mail"
+msgstr "Per Mail senden"
+
+#. Build up menu entry
+#: ../src/geanysendmail.c:404
+msgid "_Mail document"
+msgstr "_Dokument versenden"
+
+#: ../src/geanysendmail.c:407
+msgid ""
+"Sends the opened file as unzipped attachment by any mailer from your $PATH"
+msgstr ""
+"Sendet ein geöffnetes Dokument als ungepackten Anhang unter Verwendung eines "
+"Mailprogrammes."
+
+#~ msgid "_Mail"
+#~ msgstr "_Mail"
+
+#~ msgid "Note: \\%f will be replaced by your filename."
+#~ msgstr "Anmerkung: \\%f wird durch den Dateinamen ersetzt."
+
+#~ msgid "Mail Configuration"
+#~ msgstr "Maileinstellungen"
Deleted: tags/geanysendmail/geanysendmail-0.4.3/po/geanysendmail.pot
===================================================================
--- trunk/geanysendmail/po/geanysendmail.pot 2010-01-05 22:40:35 UTC (rev 1116)
+++ tags/geanysendmail/geanysendmail-0.4.3/po/geanysendmail.pot 2010-01-05 23:07:37 UTC (rev 1118)
@@ -1,111 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-05-25 00:27+0200\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Language-Team: LANGUAGE <LL at li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=CHARSET\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: src/geanysendmail.c:47
-msgid "GeanySendMail"
-msgstr ""
-
-#: src/geanysendmail.c:47
-msgid ""
-"A little plugin to send the current file as attachment by user's favorite "
-"mailer"
-msgstr ""
-
-#: src/geanysendmail.c:107
-msgid "Recipient's Address"
-msgstr ""
-
-#: src/geanysendmail.c:118
-msgid "Enter the recipient's e-mail address:"
-msgstr ""
-
-#: src/geanysendmail.c:151 src/geanysendmail.c:312
-msgid "Plugin configuration directory could not be created."
-msgstr ""
-
-#: src/geanysendmail.c:166
-msgid "Filename placeholder not found. The executed command might have failed."
-msgstr ""
-
-#: src/geanysendmail.c:172
-msgid ""
-"Recipient address placeholder not found. The executed command might have "
-"failed."
-msgstr ""
-
-#: src/geanysendmail.c:184
-msgid "Could not execute mailer. Please check your configuration."
-msgstr ""
-
-#: src/geanysendmail.c:196
-msgid "Please define a mail client first."
-msgstr ""
-
-#: src/geanysendmail.c:201
-msgid "File has to be saved before sending."
-msgstr ""
-
-#: src/geanysendmail.c:217
-msgid "Mail"
-msgstr ""
-
-#: src/geanysendmail.c:248
-msgid "Send by mail"
-msgstr ""
-
-#. add a label and a text entry to the dialog
-#: src/geanysendmail.c:336
-msgid "Path and options for the mail client:"
-msgstr ""
-
-#: src/geanysendmail.c:344
-msgid ""
-"Note: \n"
-"\t\\%f will be replaced by your file.\n"
-"\t\\%r will be replaced by recipient's email address.\n"
-"\t\\%b will be replaced by basename of a file\n"
-"\tExamples:\n"
-"\tsylpheed --attach \"\\%f\" --compose \"\\%r\"\n"
-"\tmutt -s \"Sending '\\%b'\" -a \"\\%f\" \"\\%r\""
-msgstr ""
-
-#: src/geanysendmail.c:354
-msgid "Showing icon in toolbar"
-msgstr ""
-
-#: src/geanysendmail.c:357
-msgid "Shows a icon in the toolbar to send file more easy."
-msgstr ""
-
-#: src/geanysendmail.c:364
-msgid "Using dialog for entering email address of recipients"
-msgstr ""
-
-#: src/geanysendmail.c:389
-msgid "Send file by mail"
-msgstr ""
-
-#. Build up menu entry
-#: src/geanysendmail.c:416
-msgid "_Mail document"
-msgstr ""
-
-#: src/geanysendmail.c:419
-msgid ""
-"Sends the opened file as unzipped attachment by any mailer from your $PATH"
-msgstr ""
Copied: tags/geanysendmail/geanysendmail-0.4.3/po/geanysendmail.pot (from rev 1117, trunk/geanysendmail/po/geanysendmail.pot)
===================================================================
--- tags/geanysendmail/geanysendmail-0.4.3/po/geanysendmail.pot (rev 0)
+++ tags/geanysendmail/geanysendmail-0.4.3/po/geanysendmail.pot 2010-01-05 23:07:37 UTC (rev 1118)
@@ -0,0 +1,111 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-01-05 23:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../src/geanysendmail.c:40
+msgid "GeanySendMail"
+msgstr ""
+
+#: ../src/geanysendmail.c:40
+msgid ""
+"A little plugin to send the current file as attachment by user's favorite "
+"mailer"
+msgstr ""
+
+#: ../src/geanysendmail.c:100
+msgid "Recipient's Address"
+msgstr ""
+
+#: ../src/geanysendmail.c:111
+msgid "Enter the recipient's e-mail address:"
+msgstr ""
+
+#: ../src/geanysendmail.c:144 ../src/geanysendmail.c:305
+msgid "Plugin configuration directory could not be created."
+msgstr ""
+
+#: ../src/geanysendmail.c:159
+msgid "Filename placeholder not found. The executed command might have failed."
+msgstr ""
+
+#: ../src/geanysendmail.c:165
+msgid ""
+"Recipient address placeholder not found. The executed command might have "
+"failed."
+msgstr ""
+
+#: ../src/geanysendmail.c:177
+msgid "Could not execute mailer. Please check your configuration."
+msgstr ""
+
+#: ../src/geanysendmail.c:189
+msgid "Please define a mail client first."
+msgstr ""
+
+#: ../src/geanysendmail.c:194
+msgid "File has to be saved before sending."
+msgstr ""
+
+#: ../src/geanysendmail.c:210
+msgid "Mail"
+msgstr ""
+
+#: ../src/geanysendmail.c:241
+msgid "Send by mail"
+msgstr ""
+
+#. add a label and a text entry to the dialog
+#: ../src/geanysendmail.c:326
+msgid "Path and options for the mail client:"
+msgstr ""
+
+#: ../src/geanysendmail.c:334
+msgid ""
+"Note: \n"
+"\t\\%f will be replaced by your file.\n"
+"\t\\%r will be replaced by recipient's email address.\n"
+"\t\\%b will be replaced by basename of a file\n"
+"\tExamples:\n"
+"\tsylpheed --attach \"\\%f\" --compose \"\\%r\"\n"
+"\tmutt -s \"Sending '\\%b'\" -a \"\\%f\" \"\\%r\""
+msgstr ""
+
+#: ../src/geanysendmail.c:344
+msgid "Showing icon in toolbar"
+msgstr ""
+
+#: ../src/geanysendmail.c:346
+msgid "Shows a icon in the toolbar to send file more easy."
+msgstr ""
+
+#: ../src/geanysendmail.c:352
+msgid "Using dialog for entering email address of recipients"
+msgstr ""
+
+#: ../src/geanysendmail.c:377
+msgid "Send file by mail"
+msgstr ""
+
+#. Build up menu entry
+#: ../src/geanysendmail.c:404
+msgid "_Mail document"
+msgstr ""
+
+#: ../src/geanysendmail.c:407
+msgid ""
+"Sends the opened file as unzipped attachment by any mailer from your $PATH"
+msgstr ""
Deleted: tags/geanysendmail/geanysendmail-0.4.3/src/Makefile.am
===================================================================
--- trunk/geanysendmail/src/Makefile.am 2010-01-05 22:40:35 UTC (rev 1116)
+++ tags/geanysendmail/geanysendmail-0.4.3/src/Makefile.am 2010-01-05 23:07:37 UTC (rev 1118)
@@ -1,7 +0,0 @@
-
-lib_LTLIBRARIES = geanysendmail.la
-geanysendmail_la_SOURCES = geanysendmail.c icon.h
-geanysendmail_la_LDFLAGS = -module -avoid-version
-geanysendmail_la_LIBADD = @GEANY_LIBS@ $(INTLLIBS)
-
-AM_CFLAGS = @GEANY_CFLAGS@ -DLOCALEDIR=\""$(localedir)"\"
Deleted: tags/geanysendmail/geanysendmail-0.4.3/src/geanysendmail.c
===================================================================
--- trunk/geanysendmail/src/geanysendmail.c 2010-01-05 22:40:35 UTC (rev 1116)
+++ tags/geanysendmail/geanysendmail-0.4.3/src/geanysendmail.c 2010-01-05 23:07:37 UTC (rev 1118)
@@ -1,427 +0,0 @@
-/*
- * geanysendmail.c
- *
- * Copyright 2007-2009 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
- * Copyright 2007 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
- * Copyright 2007, 2008 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
- * Copyright 2008, 2009 Timothy Boronczyk <tboronczyk(at)gmail(dot)com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-/* A little plugin to send a document as attachment using the preferred mail client */
-
-#include "geanyplugin.h"
-#include "icon.h"
-
-
-#ifdef HAVE_LOCALE_H
-# include <locale.h>
-#endif
-
-GeanyPlugin *geany_plugin;
-GeanyData *geany_data;
-GeanyFunctions *geany_functions;
-
-PLUGIN_VERSION_CHECK(147)
-
-PLUGIN_SET_INFO(_("GeanySendMail"), _("A little plugin to send the current \
-file as attachment by user's favorite mailer"), VERSION, "Frank Lanitz <frank at frank.uvena.de>")
-
-/* Keybinding(s) */
-enum
-{
- SENDMAIL_KB,
- COUNT_KB
-};
-
-PLUGIN_KEY_GROUP(sendmail, COUNT_KB)
-
-static gchar *config_file = NULL;
-static gchar *mailer = NULL;
-static gchar *address = NULL;
-gboolean icon_in_toolbar = FALSE;
-gboolean use_address_dialog = FALSE;
-/* Needed global to remove from toolbar again */
-GtkWidget *mailbutton = NULL;
-static GtkWidget *main_menu_item = NULL;
-
-/* Callback for sending file as attachment */
-static void
-send_as_attachment(G_GNUC_UNUSED GtkMenuItem *menuitem, G_GNUC_UNUSED gpointer gdata)
-{
- GeanyDocument *doc;
- gchar *locale_filename = NULL;
- gchar *command = NULL;
- GError *error = NULL;
- GString *cmd_str = NULL;
- GtkWidget *dialog = NULL;
- GtkWidget *label = NULL;
- GtkWidget *entry = NULL;
- GtkWidget *vbox = NULL;
- GKeyFile *config = g_key_file_new();
- gchar *config_dir = g_path_get_dirname(config_file);
- gchar *data;
-
- doc = document_get_current();
-
- if (doc->file_name == NULL)
- {
- dialogs_show_save_as();
- }
- else
- {
- document_save_file(doc, FALSE);
- }
-
- if (doc->file_name != NULL)
- {
- if (mailer)
- {
- locale_filename = utils_get_locale_from_utf8(doc->file_name);
- cmd_str = g_string_new(mailer);
-
- if ((use_address_dialog == TRUE) && (g_strrstr(mailer, "%r") != NULL))
- {
- gint tmp;
-
- dialog = gtk_dialog_new_with_buttons(_("Recipient's Address"),
- GTK_WINDOW(geany->main_widgets->window),
- GTK_DIALOG_DESTROY_WITH_PARENT,
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- GTK_STOCK_OK, GTK_RESPONSE_ACCEPT,
- NULL);
- gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT);
- vbox = ui_dialog_vbox_new(GTK_DIALOG(dialog));
- gtk_widget_set_name(dialog, "GeanyDialog");
- gtk_box_set_spacing(GTK_BOX(vbox), 10);
-
- label = gtk_label_new(_("Enter the recipient's e-mail address:"));
- gtk_widget_show(label);
- gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
- entry = gtk_entry_new();
- gtk_widget_show(entry);
- if (address != NULL)
- gtk_entry_set_text(GTK_ENTRY(entry), address);
-
- gtk_container_add(GTK_CONTAINER(vbox), label);
- gtk_container_add(GTK_CONTAINER(vbox), entry);
- gtk_widget_show(vbox);
-
- tmp = gtk_dialog_run(GTK_DIALOG(dialog));
-
- if (tmp != GTK_RESPONSE_ACCEPT)
- {
- gtk_widget_destroy(dialog);
- return;
- }
- else
- {
- g_key_file_load_from_file(config, config_file, G_KEY_FILE_NONE, NULL);
-
- g_free(address);
- address = g_strdup(gtk_entry_get_text(GTK_ENTRY(entry)));
-
- g_key_file_set_string(config, "tools", "address", address);
- }
-
- if (! g_file_test(config_dir, G_FILE_TEST_IS_DIR) &&
- utils_mkdir(config_dir, TRUE) != 0)
- {
- dialogs_show_msgbox(GTK_MESSAGE_ERROR,
- _("Plugin configuration directory could not be created."));
- }
- else
- {
- /* write config to file */
- data = g_key_file_to_data(config, NULL, NULL);
- utils_write_file(config_file, data);
- g_free(data);
- g_key_file_free(config);
- g_free(config_dir);
- }
- }
-
- if (! utils_string_replace_all(cmd_str, "%f", locale_filename))
- ui_set_statusbar(FALSE,
- _("Filename placeholder not found. The executed command might have failed."));
-
- if (use_address_dialog == TRUE && address != NULL)
- {
- if (! utils_string_replace_all(cmd_str, "%r", address))
- ui_set_statusbar(FALSE,
- _("Recipient address placeholder not found. The executed command might have failed."));
- }
- else
- /* Removes %r if option was not activ but was included into command */
- utils_string_replace_all(cmd_str, "%r", NULL);
-
- utils_string_replace_all(cmd_str, "%b", g_path_get_basename(locale_filename));
-
- command = g_string_free(cmd_str, FALSE);
- g_spawn_command_line_async(command, &error);
- if (error != NULL)
- {
- ui_set_statusbar(FALSE, _("Could not execute mailer. Please check your configuration."));
- g_error_free(error);
- }
-
- g_free(locale_filename);
- g_free(command);
-
- if (dialog != NULL)
- gtk_widget_destroy(dialog);
- }
- else
- {
- ui_set_statusbar(FALSE, _("Please define a mail client first."));
- }
- }
- else
- {
- ui_set_statusbar(FALSE, _("File has to be saved before sending."));
- }
-}
-
-static void key_send_as_attachment(G_GNUC_UNUSED guint key_id)
-{
- send_as_attachment(NULL, NULL);
-}
-
-#define GEANYSENDMAIL_STOCK_MAIL "geanysendmail-mail"
-
-static void add_stock_item(void)
-{
- GtkIconSet *icon_set;
- GtkIconFactory *factory = gtk_icon_factory_new();
- GtkIconTheme *theme = gtk_icon_theme_get_default();
- GtkStockItem item = { GEANYSENDMAIL_STOCK_MAIL, _("Mail"), 0, 0, GETTEXT_PACKAGE };
-
- if (gtk_icon_theme_has_icon(theme, "mail-message-new"))
- {
- GtkIconSource *icon_source = gtk_icon_source_new();
- icon_set = gtk_icon_set_new();
- gtk_icon_source_set_icon_name(icon_source, "mail-message-new");
- gtk_icon_set_add_source(icon_set, icon_source);
- gtk_icon_source_free(icon_source);
- }
- else
- {
- GdkPixbuf *pb = gdk_pixbuf_new_from_inline(-1, mail_pixbuf, FALSE, NULL);
- icon_set = gtk_icon_set_new_from_pixbuf(pb);
- g_object_unref(pb);
- }
- gtk_icon_factory_add(factory, item.stock_id, icon_set);
- gtk_stock_add(&item, 1);
- gtk_icon_factory_add_default(factory);
-
- g_object_unref(factory);
- gtk_icon_set_unref(icon_set);
-}
-
-
-void show_icon()
-{
- mailbutton = GTK_WIDGET(gtk_tool_button_new_from_stock(GEANYSENDMAIL_STOCK_MAIL));
- plugin_add_toolbar_item(geany_plugin, GTK_TOOL_ITEM(mailbutton));
- ui_add_document_sensitive(mailbutton);
-#if GTK_CHECK_VERSION(2, 12, 0)
- gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM(mailbutton), _("Send by mail"));
-#endif
- g_signal_connect (G_OBJECT(mailbutton), "clicked", G_CALLBACK(send_as_attachment), NULL);
- gtk_widget_show_all (mailbutton);
-}
-
-void cleanup_icon()
-{
- if (mailbutton != NULL)
- {
- gtk_container_remove(GTK_CONTAINER (geany->main_widgets->toolbar), mailbutton);
- }
-}
-
-
-static struct
-{
- GtkWidget *entry;
- GtkWidget *checkbox_icon_to_toolbar;
- GtkWidget *checkbox_use_addressdialog;
-}
-pref_widgets;
-
-static void
-on_configure_response(G_GNUC_UNUSED GtkDialog *dialog, gint response, G_GNUC_UNUSED gpointer user_data)
-{
- if (response == GTK_RESPONSE_OK || response == GTK_RESPONSE_APPLY)
- {
- GKeyFile *config = g_key_file_new();
- gchar *config_dir = g_path_get_dirname(config_file);
-
- g_free(mailer);
- mailer = g_strdup(gtk_entry_get_text(GTK_ENTRY(pref_widgets.entry)));
-
- if (icon_in_toolbar == FALSE &&
- gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(pref_widgets.checkbox_icon_to_toolbar)) == TRUE)
- {
- icon_in_toolbar = TRUE;
- show_icon();
- }
- else if (icon_in_toolbar == TRUE &&
- gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(pref_widgets.checkbox_icon_to_toolbar)) == FALSE)
- {
- cleanup_icon();
- icon_in_toolbar = FALSE;
- }
- else
- {
- icon_in_toolbar = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(pref_widgets.checkbox_icon_to_toolbar));
- }
-
- if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(pref_widgets.checkbox_use_addressdialog)) == TRUE)
- use_address_dialog = TRUE;
- else
- use_address_dialog = FALSE;
-
- g_key_file_load_from_file(config, config_file, G_KEY_FILE_NONE, NULL);
- g_key_file_set_string(config, "tools", "mailer", mailer);
- g_key_file_set_boolean(config, "tools", "address_usage", use_address_dialog);
- g_key_file_set_boolean(config, "icon", "show_icon", icon_in_toolbar);
-
- if (! g_file_test(config_dir, G_FILE_TEST_IS_DIR) && utils_mkdir(config_dir, TRUE) != 0)
- {
- dialogs_show_msgbox(GTK_MESSAGE_ERROR,
- _("Plugin configuration directory could not be created."));
- }
- else
- {
- /* write config to file */
- gchar *data = g_key_file_to_data(config, NULL, NULL);
- utils_write_file(config_file, data);
- g_free(data);
- }
- g_key_file_free(config);
- g_free(config_dir);
- }
-}
-
-GtkWidget *plugin_configure(GtkDialog *dialog)
-{
- GtkWidget *label1, *label2, *vbox;
-
- vbox = gtk_vbox_new(FALSE, 6);
-
- /* add a label and a text entry to the dialog */
- label1 = gtk_label_new(_("Path and options for the mail client:"));
- gtk_widget_show(label1);
- gtk_misc_set_alignment(GTK_MISC(label1), 0, 0.5);
- pref_widgets.entry = gtk_entry_new();
- gtk_widget_show(pref_widgets.entry);
- if (mailer != NULL)
- gtk_entry_set_text(GTK_ENTRY(pref_widgets.entry), mailer);
-
- label2 = gtk_label_new(_("Note: \n\t\%f will be replaced by your file."\
- "\n\t\%r will be replaced by recipient's email address."\
- "\n\t\%b will be replaced by basename of a file"\
- "\n\tExamples:"\
- "\n\tsylpheed --attach \"\%f\" --compose \"\%r\""\
- "\n\tmutt -s \"Sending \'\%b\'\" -a \"\%f\" \"\%r\""));
- gtk_label_set_selectable(GTK_LABEL(label2), TRUE);
- gtk_widget_show(label2);
- gtk_misc_set_alignment(GTK_MISC(label2), 0, 0.5);
-
- pref_widgets.checkbox_icon_to_toolbar = gtk_check_button_new_with_label(_("Showing icon in toolbar"));
- ui_widget_set_tooltip_text(pref_widgets.checkbox_icon_to_toolbar,
- _("Shows a icon in the toolbar to send file more easy."));
- gtk_button_set_focus_on_click(GTK_BUTTON(pref_widgets.checkbox_icon_to_toolbar), FALSE);
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(pref_widgets.checkbox_icon_to_toolbar), icon_in_toolbar);
- gtk_widget_show(pref_widgets.checkbox_icon_to_toolbar);
-
- pref_widgets.checkbox_use_addressdialog = gtk_check_button_new_with_label(_
- ("Using dialog for entering email address of recipients"));
-
- gtk_button_set_focus_on_click(GTK_BUTTON(pref_widgets.checkbox_use_addressdialog), FALSE);
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(pref_widgets.checkbox_use_addressdialog), use_address_dialog);
- gtk_widget_show(pref_widgets.checkbox_use_addressdialog);
-
- gtk_container_add(GTK_CONTAINER(vbox), label1);
- gtk_container_add(GTK_CONTAINER(vbox), pref_widgets.entry);
- gtk_container_add(GTK_CONTAINER(vbox), label2);
- gtk_box_pack_start(GTK_BOX(vbox), pref_widgets.checkbox_icon_to_toolbar, TRUE, FALSE, 2);
- gtk_box_pack_start(GTK_BOX(vbox), pref_widgets.checkbox_use_addressdialog, TRUE, FALSE, 2);
-
- gtk_widget_show(vbox);
-
- g_signal_connect(dialog, "response", G_CALLBACK(on_configure_response), NULL);
- return vbox;
-}
-
-/* Called by Geany to initialize the plugin */
-void plugin_init(GeanyData G_GNUC_UNUSED *data)
-{
- GtkTooltips *tooltips = NULL;
-
- GKeyFile *config = g_key_file_new();
-
- gchar *kb_label = _("Send file by mail");
-
- GtkWidget *menu_mail = NULL;
-
- main_locale_init(LOCALEDIR, GETTEXT_PACKAGE);
-
- config_file = g_strconcat(geany->app->configdir, G_DIR_SEPARATOR_S, "plugins", G_DIR_SEPARATOR_S,
- "geanysendmail", G_DIR_SEPARATOR_S, "mail.conf", NULL);
-
- /* Initialising options from config file */
- g_key_file_load_from_file(config, config_file, G_KEY_FILE_NONE, NULL);
- mailer = g_key_file_get_string(config, "tools", "mailer", NULL);
- address = g_key_file_get_string(config, "tools", "address", NULL);
- use_address_dialog = g_key_file_get_boolean(config, "tools", "address_usage", NULL);
- icon_in_toolbar = g_key_file_get_boolean(config, "icon", "show_icon", NULL);
-
- g_key_file_free(config);
-
- tooltips = gtk_tooltips_new();
-
- add_stock_item();
- if (icon_in_toolbar == TRUE)
- {
- show_icon();
- }
-
- /* Build up menu entry */
- menu_mail = gtk_menu_item_new_with_mnemonic(_("_Mail document"));
- gtk_container_add(GTK_CONTAINER(geany->main_widgets->tools_menu), menu_mail);
- ui_widget_set_tooltip_text(menu_mail,
- _("Sends the opened file as unzipped attachment by any mailer from your $PATH"));
- g_signal_connect(G_OBJECT(menu_mail), "activate", G_CALLBACK(send_as_attachment), NULL);
-
- /* setup keybindings */
- keybindings_set_item(plugin_key_group, SENDMAIL_KB, key_send_as_attachment,
- 0, 0, "send_file_as_attachment", kb_label, menu_mail);
-
- gtk_widget_show_all(menu_mail);
- ui_add_document_sensitive(menu_mail);
- main_menu_item = menu_mail;
-}
-
-
-void plugin_cleanup()
-{
- gtk_widget_destroy(main_menu_item);
- cleanup_icon();
- g_free(mailer);
- g_free(address);
- g_free(config_file);
-}
Copied: tags/geanysendmail/geanysendmail-0.4.3/src/geanysendmail.c (from rev 1117, trunk/geanysendmail/src/geanysendmail.c)
===================================================================
--- tags/geanysendmail/geanysendmail-0.4.3/src/geanysendmail.c (rev 0)
+++ tags/geanysendmail/geanysendmail-0.4.3/src/geanysendmail.c 2010-01-05 23:07:37 UTC (rev 1118)
@@ -0,0 +1,427 @@
+/*
+ * geanysendmail.c
+ *
+ * Copyright 2007-2009 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
+ * Copyright 2007 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
+ * Copyright 2007, 2008 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
+ * Copyright 2008, 2009 Timothy Boronczyk <tboronczyk(at)gmail(dot)com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+/* A little plugin to send a document as attachment using the preferred mail client */
+
+#include "geanyplugin.h"
+#include "icon.h"
+
+
+#ifdef HAVE_LOCALE_H
+# include <locale.h>
+#endif
+
+GeanyPlugin *geany_plugin;
+GeanyData *geany_data;
+GeanyFunctions *geany_functions;
+
+PLUGIN_VERSION_CHECK(147)
+
+PLUGIN_SET_INFO(_("GeanySendMail"), _("A little plugin to send the current \
+file as attachment by user's favorite mailer"), "0.4.3", "Frank Lanitz <frank at frank.uvena.de>")
+
+/* Keybinding(s) */
+enum
+{
+ SENDMAIL_KB,
+ COUNT_KB
+};
+
+PLUGIN_KEY_GROUP(sendmail, COUNT_KB)
+
+static gchar *config_file = NULL;
+static gchar *mailer = NULL;
+static gchar *address = NULL;
+gboolean icon_in_toolbar = FALSE;
+gboolean use_address_dialog = FALSE;
+/* Needed global to remove from toolbar again */
+GtkWidget *mailbutton = NULL;
+static GtkWidget *main_menu_item = NULL;
+
+/* Callback for sending file as attachment */
+static void
+send_as_attachment(G_GNUC_UNUSED GtkMenuItem *menuitem, G_GNUC_UNUSED gpointer gdata)
+{
+ GeanyDocument *doc;
+ gchar *locale_filename = NULL;
+ gchar *command = NULL;
+ GError *error = NULL;
+ GString *cmd_str = NULL;
+ GtkWidget *dialog = NULL;
+ GtkWidget *label = NULL;
+ GtkWidget *entry = NULL;
+ GtkWidget *vbox = NULL;
+ GKeyFile *config = g_key_file_new();
+ gchar *config_dir = g_path_get_dirname(config_file);
+ gchar *data;
+
+ doc = document_get_current();
+
+ if (doc->file_name == NULL)
+ {
+ dialogs_show_save_as();
+ }
+ else
+ {
+ document_save_file(doc, FALSE);
+ }
+
+ if (doc->file_name != NULL)
+ {
+ if (mailer)
+ {
+ locale_filename = utils_get_locale_from_utf8(doc->file_name);
+ cmd_str = g_string_new(mailer);
+
+ if ((use_address_dialog == TRUE) && (g_strrstr(mailer, "%r") != NULL))
+ {
+ gint tmp;
+
+ dialog = gtk_dialog_new_with_buttons(_("Recipient's Address"),
+ GTK_WINDOW(geany->main_widgets->window),
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+ GTK_STOCK_OK, GTK_RESPONSE_ACCEPT,
+ NULL);
+ gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT);
+ vbox = ui_dialog_vbox_new(GTK_DIALOG(dialog));
+ gtk_widget_set_name(dialog, "GeanyDialog");
+ gtk_box_set_spacing(GTK_BOX(vbox), 10);
+
+ label = gtk_label_new(_("Enter the recipient's e-mail address:"));
+ gtk_widget_show(label);
+ gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
+ entry = gtk_entry_new();
+ gtk_widget_show(entry);
+ if (address != NULL)
+ gtk_entry_set_text(GTK_ENTRY(entry), address);
+
+ gtk_container_add(GTK_CONTAINER(vbox), label);
+ gtk_container_add(GTK_CONTAINER(vbox), entry);
+ gtk_widget_show(vbox);
+
+ tmp = gtk_dialog_run(GTK_DIALOG(dialog));
+
+ if (tmp != GTK_RESPONSE_ACCEPT)
+ {
+ gtk_widget_destroy(dialog);
+ return;
+ }
+ else
+ {
+ g_key_file_load_from_file(config, config_file, G_KEY_FILE_NONE, NULL);
+
+ g_free(address);
+ address = g_strdup(gtk_entry_get_text(GTK_ENTRY(entry)));
+
+ g_key_file_set_string(config, "tools", "address", address);
+ }
+
+ if (! g_file_test(config_dir, G_FILE_TEST_IS_DIR) &&
+ utils_mkdir(config_dir, TRUE) != 0)
+ {
+ dialogs_show_msgbox(GTK_MESSAGE_ERROR,
+ _("Plugin configuration directory could not be created."));
+ }
+ else
+ {
+ /* write config to file */
+ data = g_key_file_to_data(config, NULL, NULL);
+ utils_write_file(config_file, data);
+ g_free(data);
+ g_key_file_free(config);
+ g_free(config_dir);
+ }
+ }
+
+ if (! utils_string_replace_all(cmd_str, "%f", locale_filename))
+ ui_set_statusbar(FALSE,
+ _("Filename placeholder not found. The executed command might have failed."));
+
+ if (use_address_dialog == TRUE && address != NULL)
+ {
+ if (! utils_string_replace_all(cmd_str, "%r", address))
+ ui_set_statusbar(FALSE,
+ _("Recipient address placeholder not found. The executed command might have failed."));
+ }
+ else
+ /* Removes %r if option was not activ but was included into command */
+ utils_string_replace_all(cmd_str, "%r", NULL);
+
+ utils_string_replace_all(cmd_str, "%b", g_path_get_basename(locale_filename));
+
+ command = g_string_free(cmd_str, FALSE);
+ g_spawn_command_line_async(command, &error);
+ if (error != NULL)
+ {
+ ui_set_statusbar(FALSE, _("Could not execute mailer. Please check your configuration."));
+ g_error_free(error);
+ }
+
+ g_free(locale_filename);
+ g_free(command);
+
+ if (dialog != NULL)
+ gtk_widget_destroy(dialog);
+ }
+ else
+ {
+ ui_set_statusbar(FALSE, _("Please define a mail client first."));
+ }
+ }
+ else
+ {
+ ui_set_statusbar(FALSE, _("File has to be saved before sending."));
+ }
+}
+
+static void key_send_as_attachment(G_GNUC_UNUSED guint key_id)
+{
+ send_as_attachment(NULL, NULL);
+}
+
+#define GEANYSENDMAIL_STOCK_MAIL "geanysendmail-mail"
+
+static void add_stock_item(void)
+{
+ GtkIconSet *icon_set;
+ GtkIconFactory *factory = gtk_icon_factory_new();
+ GtkIconTheme *theme = gtk_icon_theme_get_default();
+ GtkStockItem item = { GEANYSENDMAIL_STOCK_MAIL, _("Mail"), 0, 0, GETTEXT_PACKAGE };
+
+ if (gtk_icon_theme_has_icon(theme, "mail-message-new"))
+ {
+ GtkIconSource *icon_source = gtk_icon_source_new();
+ icon_set = gtk_icon_set_new();
+ gtk_icon_source_set_icon_name(icon_source, "mail-message-new");
+ gtk_icon_set_add_source(icon_set, icon_source);
+ gtk_icon_source_free(icon_source);
+ }
+ else
+ {
+ GdkPixbuf *pb = gdk_pixbuf_new_from_inline(-1, mail_pixbuf, FALSE, NULL);
+ icon_set = gtk_icon_set_new_from_pixbuf(pb);
+ g_object_unref(pb);
+ }
+ gtk_icon_factory_add(factory, item.stock_id, icon_set);
+ gtk_stock_add(&item, 1);
+ gtk_icon_factory_add_default(factory);
+
+ g_object_unref(factory);
+ gtk_icon_set_unref(icon_set);
+}
+
+
+void show_icon()
+{
+ mailbutton = GTK_WIDGET(gtk_tool_button_new_from_stock(GEANYSENDMAIL_STOCK_MAIL));
+ plugin_add_toolbar_item(geany_plugin, GTK_TOOL_ITEM(mailbutton));
+ ui_add_document_sensitive(mailbutton);
+#if GTK_CHECK_VERSION(2, 12, 0)
+ gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM(mailbutton), _("Send by mail"));
+#endif
+ g_signal_connect (G_OBJECT(mailbutton), "clicked", G_CALLBACK(send_as_attachment), NULL);
+ gtk_widget_show_all (mailbutton);
+}
+
+void cleanup_icon()
+{
+ if (mailbutton != NULL)
+ {
+ gtk_container_remove(GTK_CONTAINER (geany->main_widgets->toolbar), mailbutton);
+ }
+}
+
+
+static struct
+{
+ GtkWidget *entry;
+ GtkWidget *checkbox_icon_to_toolbar;
+ GtkWidget *checkbox_use_addressdialog;
+}
+pref_widgets;
+
+static void
+on_configure_response(G_GNUC_UNUSED GtkDialog *dialog, gint response, G_GNUC_UNUSED gpointer user_data)
+{
+ if (response == GTK_RESPONSE_OK || response == GTK_RESPONSE_APPLY)
+ {
+ GKeyFile *config = g_key_file_new();
+ gchar *config_dir = g_path_get_dirname(config_file);
+
+ g_free(mailer);
+ mailer = g_strdup(gtk_entry_get_text(GTK_ENTRY(pref_widgets.entry)));
+
+ if (icon_in_toolbar == FALSE &&
+ gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(pref_widgets.checkbox_icon_to_toolbar)) == TRUE)
+ {
+ icon_in_toolbar = TRUE;
+ show_icon();
+ }
+ else if (icon_in_toolbar == TRUE &&
+ gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(pref_widgets.checkbox_icon_to_toolbar)) == FALSE)
+ {
+ cleanup_icon();
+ icon_in_toolbar = FALSE;
+ }
+ else
+ {
+ icon_in_toolbar = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(pref_widgets.checkbox_icon_to_toolbar));
+ }
+
+ if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(pref_widgets.checkbox_use_addressdialog)) == TRUE)
+ use_address_dialog = TRUE;
+ else
+ use_address_dialog = FALSE;
+
+ g_key_file_load_from_file(config, config_file, G_KEY_FILE_NONE, NULL);
+ g_key_file_set_string(config, "tools", "mailer", mailer);
+ g_key_file_set_boolean(config, "tools", "address_usage", use_address_dialog);
+ g_key_file_set_boolean(config, "icon", "show_icon", icon_in_toolbar);
+
+ if (! g_file_test(config_dir, G_FILE_TEST_IS_DIR) && utils_mkdir(config_dir, TRUE) != 0)
+ {
+ dialogs_show_msgbox(GTK_MESSAGE_ERROR,
+ _("Plugin configuration directory could not be created."));
+ }
+ else
+ {
+ /* write config to file */
+ gchar *data = g_key_file_to_data(config, NULL, NULL);
+ utils_write_file(config_file, data);
+ g_free(data);
+ }
+ g_key_file_free(config);
+ g_free(config_dir);
+ }
+}
+
+GtkWidget *plugin_configure(GtkDialog *dialog)
+{
+ GtkWidget *label1, *label2, *vbox;
+
+ vbox = gtk_vbox_new(FALSE, 6);
+
+ /* add a label and a text entry to the dialog */
+ label1 = gtk_label_new(_("Path and options for the mail client:"));
+ gtk_widget_show(label1);
+ gtk_misc_set_alignment(GTK_MISC(label1), 0, 0.5);
+ pref_widgets.entry = gtk_entry_new();
+ gtk_widget_show(pref_widgets.entry);
+ if (mailer != NULL)
+ gtk_entry_set_text(GTK_ENTRY(pref_widgets.entry), mailer);
+
+ label2 = gtk_label_new(_("Note: \n\t\%f will be replaced by your file."\
+ "\n\t\%r will be replaced by recipient's email address."\
+ "\n\t\%b will be replaced by basename of a file"\
+ "\n\tExamples:"\
+ "\n\tsylpheed --attach \"\%f\" --compose \"\%r\""\
+ "\n\tmutt -s \"Sending \'\%b\'\" -a \"\%f\" \"\%r\""));
+ gtk_label_set_selectable(GTK_LABEL(label2), TRUE);
+ gtk_widget_show(label2);
+ gtk_misc_set_alignment(GTK_MISC(label2), 0, 0.5);
+
+ pref_widgets.checkbox_icon_to_toolbar = gtk_check_button_new_with_label(_("Showing icon in toolbar"));
+ ui_widget_set_tooltip_text(pref_widgets.checkbox_icon_to_toolbar,
+ _("Shows a icon in the toolbar to send file more easy."));
+ gtk_button_set_focus_on_click(GTK_BUTTON(pref_widgets.checkbox_icon_to_toolbar), FALSE);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(pref_widgets.checkbox_icon_to_toolbar), icon_in_toolbar);
+ gtk_widget_show(pref_widgets.checkbox_icon_to_toolbar);
+
+ pref_widgets.checkbox_use_addressdialog = gtk_check_button_new_with_label(_
+ ("Using dialog for entering email address of recipients"));
+
+ gtk_button_set_focus_on_click(GTK_BUTTON(pref_widgets.checkbox_use_addressdialog), FALSE);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(pref_widgets.checkbox_use_addressdialog), use_address_dialog);
+ gtk_widget_show(pref_widgets.checkbox_use_addressdialog);
+
+ gtk_container_add(GTK_CONTAINER(vbox), label1);
+ gtk_container_add(GTK_CONTAINER(vbox), pref_widgets.entry);
+ gtk_container_add(GTK_CONTAINER(vbox), label2);
+ gtk_box_pack_start(GTK_BOX(vbox), pref_widgets.checkbox_icon_to_toolbar, TRUE, FALSE, 2);
+ gtk_box_pack_start(GTK_BOX(vbox), pref_widgets.checkbox_use_addressdialog, TRUE, FALSE, 2);
+
+ gtk_widget_show(vbox);
+
+ g_signal_connect(dialog, "response", G_CALLBACK(on_configure_response), NULL);
+ return vbox;
+}
+
+/* Called by Geany to initialize the plugin */
+void plugin_init(GeanyData G_GNUC_UNUSED *data)
+{
+ GtkTooltips *tooltips = NULL;
+
+ GKeyFile *config = g_key_file_new();
+
+ gchar *kb_label = _("Send file by mail");
+
+ GtkWidget *menu_mail = NULL;
+
+ main_locale_init(LOCALEDIR, GETTEXT_PACKAGE);
+
+ config_file = g_strconcat(geany->app->configdir, G_DIR_SEPARATOR_S, "plugins", G_DIR_SEPARATOR_S,
+ "geanysendmail", G_DIR_SEPARATOR_S, "mail.conf", NULL);
+
+ /* Initialising options from config file */
+ g_key_file_load_from_file(config, config_file, G_KEY_FILE_NONE, NULL);
+ mailer = g_key_file_get_string(config, "tools", "mailer", NULL);
+ address = g_key_file_get_string(config, "tools", "address", NULL);
+ use_address_dialog = g_key_file_get_boolean(config, "tools", "address_usage", NULL);
+ icon_in_toolbar = g_key_file_get_boolean(config, "icon", "show_icon", NULL);
+
+ g_key_file_free(config);
+
+ tooltips = gtk_tooltips_new();
+
+ add_stock_item();
+ if (icon_in_toolbar == TRUE)
+ {
+ show_icon();
+ }
+
+ /* Build up menu entry */
+ menu_mail = gtk_menu_item_new_with_mnemonic(_("_Mail document"));
+ gtk_container_add(GTK_CONTAINER(geany->main_widgets->tools_menu), menu_mail);
+ ui_widget_set_tooltip_text(menu_mail,
+ _("Sends the opened file as unzipped attachment by any mailer from your $PATH"));
+ g_signal_connect(G_OBJECT(menu_mail), "activate", G_CALLBACK(send_as_attachment), NULL);
+
+ /* setup keybindings */
+ keybindings_set_item(plugin_key_group, SENDMAIL_KB, key_send_as_attachment,
+ 0, 0, "send_file_as_attachment", kb_label, menu_mail);
+
+ gtk_widget_show_all(menu_mail);
+ ui_add_document_sensitive(menu_mail);
+ main_menu_item = menu_mail;
+}
+
+
+void plugin_cleanup()
+{
+ gtk_widget_destroy(main_menu_item);
+ cleanup_icon();
+ g_free(mailer);
+ g_free(address);
+ g_free(config_file);
+}
Deleted: tags/geanysendmail/geanysendmail-0.4.3/wscript
===================================================================
--- trunk/geanysendmail/wscript 2010-01-05 22:40:35 UTC (rev 1116)
+++ tags/geanysendmail/geanysendmail-0.4.3/wscript 2010-01-05 23:07:37 UTC (rev 1118)
@@ -1,342 +0,0 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-#
-# WAF build script for geany plugin GeanySendMail
-#
-# Copyright 2008-2009 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
-# Copyright 2009 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# $Id$
-
-"""
-Waf build script for the Geany plugin GeanySendMail.
-
-
-The code of this file itself loosely follows PEP 8 with some exceptions
-(line width 100 characters and some other minor things).
-
-Requires WAF 1.5.7 and Python 2.4 (or later).
-"""
-
-
-import glob
-import os
-import sys
-import tempfile
-import Build
-import Options
-import Utils
-import preproc
-
-
-APPNAME = 'geanysendmail'
-VERSION = '0.4.3dev'
-
-srcdir = '.'
-blddir = '_build_'
-
-
-
-makefile_template = '''#!/usr/bin/make -f
-# Waf Makefile wrapper
-
-all:
- @./waf build
-
-update-po:
- @./waf --update-po
-
-install:
- @if test -n "$(DESTDIR)"; then \\
- ./waf install --destdir="$(DESTDIR)"; \\
- else \\
- ./waf install; \\
- fi;
-
-uninstall:
- @if test -n "$(DESTDIR)"; then \\
- ./waf uninstall --destdir="$(DESTDIR)"; \\
- else \\
- ./waf uninstall; \\
- fi;
-
-clean:
- @./waf clean
-
-distclean:
- @./waf distclean
-
-.PHONY: clean uninstall install all
-'''
-
-
-geanysendmail_sources = [
- 'src/geanysendmail.c']
-
-def configure(conf):
- def conf_get_svn_rev():
- # try GIT
- if os.path.exists('.git'):
- cmds = [ 'git svn find-rev HEAD 2>/dev/null',
- 'git svn find-rev origin/trunk 2>/dev/null',
- 'git svn find-rev trunk 2>/dev/null',
- 'git svn find-rev master 2>/dev/null' ]
- for c in cmds:
- try:
- stdout = Utils.cmd_output(c)
- if stdout:
- return stdout.strip()
- except:
- pass
- # try SVN
- elif os.path.exists('.svn'):
- try:
- _env = None if is_win32 else {'LANG' : 'C'}
- stdout = Utils.cmd_output(cmd='svn info --non-interactive',
- silent=True, env=_env)
- lines = stdout.splitlines(True)
- for line in lines:
- if line.startswith('Last Changed Rev'):
- key, value = line.split(': ', 1)
- return value.strip()
- except:
- pass
- else:
- pass
- return '-1'
-
- def set_lib_dir():
- # use the libdir specified on command line
- if Options.options.libdir:
- conf.define('LIBDIR', Options.options.libdir, 1)
- else:
- # get Geany's libdir (this should be the default case for most users)
- libdir = conf.check_cfg(package='geany', args='--variable=libdir')
- if libdir:
- conf.define('LIBDIR', libdir.strip(), 1)
- else:
- conf.define('LIBDIR', conf.env['PREFIX'] + '/lib', 1)
-
- def conf_define_from_opt(define_name, opt_name, default_value, quote=1):
- if opt_name:
- if isinstance(opt_name, bool):
- opt_name = 1
- conf.define(define_name, opt_name, quote)
- elif default_value:
- conf.define(define_name, default_value, quote)
-
-
- conf.check_tool('compiler_cc')
- is_win32 = target_is_win32(conf.env)
-
- # we don't require intltool on Windows (it would require Perl) though it works well
- try:
- conf.check_tool('intltool')
- except:
- pass
-
- if not is_win32:
- set_lib_dir()
-
-
- # GTK version check
- conf.check_cfg(package='gtk+-2.0', atleast_version='2.8.0',
- uselib_store='GTK', mandatory=True, args='--cflags --libs')
- gtk_version = conf.check_cfg(modversion='gtk+-2.0', uselib_store='GTK')
-
- # Checking for a 'good' geany
- conf.check_cfg(package='geany', atleast_version='0.18', mandatory=True, args='--cflags --libs')
-
- gtk_version = conf.check_cfg(modversion='gtk+-2.0') or 'Unknown'
- geany_version = conf.check_cfg(modversion='geany') or 'Unknown'
-
- # Windows specials
- if is_win32:
- if conf.env['PREFIX'] == tempfile.gettempdir():
- # overwrite default prefix on Windows (tempfile.gettempdir() is the Waf default)
- conf.define('PREFIX', os.path.join(conf.srcdir, '%s-%s' % (APPNAME, VERSION)), 1)
- # hack: we add the parent directory of the first include directory as this is missing in
- # list returned from pkg-config
- conf.env['CPPPATH_GTK'].insert(0, os.path.dirname(conf.env['CPPPATH_GTK'][0]))
- # we don't need -fPIC when compiling on or for Windows
- if '-fPIC' in conf.env['shlib_CCFLAGS']:
- conf.env['shlib_CCFLAGS'].remove('-fPIC')
- conf.env['shlib_PATTERN'] = '%s.dll'
- else:
- conf.env['shlib_PATTERN'] = '%s.so'
-
- svn_rev = conf_get_svn_rev()
- conf.define('REVISION', svn_rev, 1)
-
- conf.env['G_PREFIX'] = conf.env['PREFIX']
-
-
- if is_win32:
- conf.define('PREFIX', '', 1)
- conf.define('LIBDIR', '', 1)
- conf.define('DOCDIR', 'doc', 1)
- conf.define('LOCALEDIR', 'share/locale', 1)
- # DATADIR is defined in objidl.h, so we remove it from config.h
- conf.undefine('DATADIR')
- else:
- conf.define('PREFIX', conf.env['PREFIX'], 1)
- conf.define('DOCDIR', '%s/doc/geany-plugins/' % conf.env['DATADIR'], 1)
- conf.define('VERSION', VERSION, 1)
- conf.define('PACKAGE', APPNAME, 1)
- conf.define('GETTEXT_PACKAGE', APPNAME, 1)
- conf.define('ENABLE_NLS', 1)
- conf.write_config_header('config.h')
-
- if is_win32: # overwrite LOCALEDIR to install message catalogues properly
- conf.env['LOCALEDIR'] = os.path.join(conf.env['G_PREFIX'], 'share/locale')
-
- Utils.pprint('BLUE', 'Summary:')
- print_message(conf, 'Install GeanySendMail ' + VERSION + ' in', conf.env['G_PREFIX'])
- print_message(conf, 'Using GTK version', gtk_version)
- print_message(conf, 'Using Geany version', geany_version)
- if svn_rev != '-1':
- print_message(conf, 'Compiling Subversion revision', svn_rev)
- conf.env.append_value('CCFLAGS', '-g -O0 -DDEBUG'.split()) # -DGEANY_DISABLE_DEPRECATED'
-
- conf.env.append_value('CCFLAGS', '-DHAVE_CONFIG_H'.split())
-
- # convenience script (script content copied from the original waf.bat)
- if is_win32:
- f = open('waf.bat', 'wb')
- f.write('@python -x %~dp0waf %* & exit /b')
- f.close
- # write a simple Makefile
- else:
- f = open('Makefile', 'w')
- f.write(makefile_template)
- f.close
-
-def set_options(opt):
- opt.tool_options('compiler_cc')
- opt.tool_options('intltool')
-
- # Paths
- opt.add_option('--libdir', type='string', default='',
- help='object code libraries', dest='libdir')
- # Actions
- opt.add_option('--update-po', action='store_true', default=False,
- help='update the message catalogs for translation', dest='update_po')
- opt.add_option('--write-installer', action='store_true', default=False,
- help='create Windows installer (maintainer and Win32 only)', dest='write_installer')
-
-def build(bld):
- is_win32 = target_is_win32(bld.env)
-
- def install_docs(bld, pname, files):
- ext = '.txt' if is_win32 else ''
- docdir = '${G_PREFIX}/doc/plugins/%s' % pname if is_win32 else '${DOCDIR}/%s' % pname
- for file in files:
- if os.path.exists(file):
- bld.install_as(
- '%s/%s%s' % (docdir, uc_first(file, is_win32), ext), file)
-
- bld.new_task_gen(
- features = 'cc cshlib',
- name = 'geanysendmail',
- target = 'geanysendmail',
- source = geanysendmail_sources,
- includes = '. src/',
- uselib = 'GTK GEANY',
- install_path = '${G_PREFIX}/lib' if is_win32 else '${LIBDIR}/geany/'
- )
-
- install_docs(bld, 'geanysendmail', 'AUTHORS ChangeLog COPYING NEWS README THANKS TODO'.split())
-
- # Translations
- if bld.env['INTLTOOL']:
- bld.new_task_gen(
- features = 'intltool_po',
- podir = 'po',
- install_path = '${LOCALEDIR}',
- appname = 'geanysendmail'
- )
-
-def shutdown():
- if Options.options.write_installer:
- do_sign = os.path.exists("sign.bat") # private file to sign the binary files, not needed
- def sign_binary(file):
- if do_sign:
- Utils.exec_command('sign.bat %s' % file)
-
- # strip all binaries
- Utils.pprint('CYAN', 'Stripping %sfiles' % ('and signing binary ' if do_sign else ''))
- files = glob.glob(os.path.join(Build.bld.env['G_PREFIX'], 'lib', '*.dll'))
-
- if Options.options.update_po:
- # the following code was taken from midori's WAF script, thanks
- potfile = '%s.pot' % (APPNAME)
- os.chdir('%s/po' % srcdir)
- try:
- try:
- size_old = os.stat(potfile).st_size
- except:
- size_old = 0
- Utils.exec_command('intltool-update --pot -g %s' % APPNAME)
- if os.stat(potfile).st_size != size_old:
- Utils.pprint('CYAN', 'Updated POT file.')
- launch('intltool-update -r -g %s' % APPNAME, 'Updating translations', 'CYAN')
- else:
- Utils.pprint('CYAN', 'POT file is up to date.')
- except:
- Utils.pprint('RED', 'Failed to generate pot file.')
- os.chdir('..')
-
-
-# Simple function to execute a command and print its exit status
-def launch(command, status, success_color='GREEN'):
- ret = 0
- Utils.pprint(success_color, status)
- try:
- ret = Utils.exec_command(command)
- except OSError, e:
- ret = 1
- print str(e), ":", command
- except:
- ret = 1
-
- if ret != 0:
- Utils.pprint('RED', status + ' failed')
-
- return ret
-
-
-def print_message(conf, msg, result, color = 'GREEN'):
- conf.check_message_1(msg)
- conf.check_message_2(result, color)
-
-
-def uc_first(s, is_win32):
- if is_win32:
- return s.title()
- return s
-
-
-def target_is_win32(env):
- if sys.platform == 'win32':
- return True
- if env and 'CC' in env:
- cc = env['CC']
- if not isinstance(cc, str):
- cc = ''.join(cc)
- return cc.find('mingw') != -1
- return False
-
Copied: tags/geanysendmail/geanysendmail-0.4.3/wscript (from rev 1117, trunk/geanysendmail/wscript)
===================================================================
--- tags/geanysendmail/geanysendmail-0.4.3/wscript (rev 0)
+++ tags/geanysendmail/geanysendmail-0.4.3/wscript 2010-01-05 23:07:37 UTC (rev 1118)
@@ -0,0 +1,342 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+#
+# WAF build script for geany plugin GeanySendMail
+#
+# Copyright 2008-2009 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
+# Copyright 2009 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# $Id$
+
+"""
+Waf build script for the Geany plugin GeanySendMail.
+
+
+The code of this file itself loosely follows PEP 8 with some exceptions
+(line width 100 characters and some other minor things).
+
+Requires WAF 1.5.7 and Python 2.4 (or later).
+"""
+
+
+import glob
+import os
+import sys
+import tempfile
+import Build
+import Options
+import Utils
+import preproc
+
+
+APPNAME = 'geanysendmail'
+VERSION = '0.4.3'
+
+srcdir = '.'
+blddir = '_build_'
+
+
+
+makefile_template = '''#!/usr/bin/make -f
+# Waf Makefile wrapper
+
+all:
+ @./waf build
+
+update-po:
+ @./waf --update-po
+
+install:
+ @if test -n "$(DESTDIR)"; then \\
+ ./waf install --destdir="$(DESTDIR)"; \\
+ else \\
+ ./waf install; \\
+ fi;
+
+uninstall:
+ @if test -n "$(DESTDIR)"; then \\
+ ./waf uninstall --destdir="$(DESTDIR)"; \\
+ else \\
+ ./waf uninstall; \\
+ fi;
+
+clean:
+ @./waf clean
+
+distclean:
+ @./waf distclean
+
+.PHONY: clean uninstall install all
+'''
+
+
+geanysendmail_sources = [
+ 'src/geanysendmail.c']
+
+def configure(conf):
+ def conf_get_svn_rev():
+ # try GIT
+ if os.path.exists('.git'):
+ cmds = [ 'git svn find-rev HEAD 2>/dev/null',
+ 'git svn find-rev origin/trunk 2>/dev/null',
+ 'git svn find-rev trunk 2>/dev/null',
+ 'git svn find-rev master 2>/dev/null' ]
+ for c in cmds:
+ try:
+ stdout = Utils.cmd_output(c)
+ if stdout:
+ return stdout.strip()
+ except:
+ pass
+ # try SVN
+ elif os.path.exists('.svn'):
+ try:
+ _env = None if is_win32 else {'LANG' : 'C'}
+ stdout = Utils.cmd_output(cmd='svn info --non-interactive',
+ silent=True, env=_env)
+ lines = stdout.splitlines(True)
+ for line in lines:
+ if line.startswith('Last Changed Rev'):
+ key, value = line.split(': ', 1)
+ return value.strip()
+ except:
+ pass
+ else:
+ pass
+ return '-1'
+
+ def set_lib_dir():
+ # use the libdir specified on command line
+ if Options.options.libdir:
+ conf.define('LIBDIR', Options.options.libdir, 1)
+ else:
+ # get Geany's libdir (this should be the default case for most users)
+ libdir = conf.check_cfg(package='geany', args='--variable=libdir')
+ if libdir:
+ conf.define('LIBDIR', libdir.strip(), 1)
+ else:
+ conf.define('LIBDIR', conf.env['PREFIX'] + '/lib', 1)
+
+ def conf_define_from_opt(define_name, opt_name, default_value, quote=1):
+ if opt_name:
+ if isinstance(opt_name, bool):
+ opt_name = 1
+ conf.define(define_name, opt_name, quote)
+ elif default_value:
+ conf.define(define_name, default_value, quote)
+
+
+ conf.check_tool('compiler_cc')
+ is_win32 = target_is_win32(conf.env)
+
+ # we don't require intltool on Windows (it would require Perl) though it works well
+ try:
+ conf.check_tool('intltool')
+ except:
+ pass
+
+ if not is_win32:
+ set_lib_dir()
+
+
+ # GTK version check
+ conf.check_cfg(package='gtk+-2.0', atleast_version='2.8.0',
+ uselib_store='GTK', mandatory=True, args='--cflags --libs')
+ gtk_version = conf.check_cfg(modversion='gtk+-2.0', uselib_store='GTK')
+
+ # Checking for a 'good' geany
+ conf.check_cfg(package='geany', atleast_version='0.18', mandatory=True, args='--cflags --libs')
+
+ gtk_version = conf.check_cfg(modversion='gtk+-2.0') or 'Unknown'
+ geany_version = conf.check_cfg(modversion='geany') or 'Unknown'
+
+ # Windows specials
+ if is_win32:
+ if conf.env['PREFIX'] == tempfile.gettempdir():
+ # overwrite default prefix on Windows (tempfile.gettempdir() is the Waf default)
+ conf.define('PREFIX', os.path.join(conf.srcdir, '%s-%s' % (APPNAME, VERSION)), 1)
+ # hack: we add the parent directory of the first include directory as this is missing in
+ # list returned from pkg-config
+ conf.env['CPPPATH_GTK'].insert(0, os.path.dirname(conf.env['CPPPATH_GTK'][0]))
+ # we don't need -fPIC when compiling on or for Windows
+ if '-fPIC' in conf.env['shlib_CCFLAGS']:
+ conf.env['shlib_CCFLAGS'].remove('-fPIC')
+ conf.env['shlib_PATTERN'] = '%s.dll'
+ else:
+ conf.env['shlib_PATTERN'] = '%s.so'
+
+ svn_rev = conf_get_svn_rev()
+ conf.define('REVISION', svn_rev, 1)
+
+ conf.env['G_PREFIX'] = conf.env['PREFIX']
+
+
+ if is_win32:
+ conf.define('PREFIX', '', 1)
+ conf.define('LIBDIR', '', 1)
+ conf.define('DOCDIR', 'doc', 1)
+ conf.define('LOCALEDIR', 'share/locale', 1)
+ # DATADIR is defined in objidl.h, so we remove it from config.h
+ conf.undefine('DATADIR')
+ else:
+ conf.define('PREFIX', conf.env['PREFIX'], 1)
+ conf.define('DOCDIR', '%s/doc/geany-plugins/' % conf.env['DATADIR'], 1)
+ conf.define('VERSION', VERSION, 1)
+ conf.define('PACKAGE', APPNAME, 1)
+ conf.define('GETTEXT_PACKAGE', APPNAME, 1)
+ conf.define('ENABLE_NLS', 1)
+ conf.write_config_header('config.h')
+
+ if is_win32: # overwrite LOCALEDIR to install message catalogues properly
+ conf.env['LOCALEDIR'] = os.path.join(conf.env['G_PREFIX'], 'share/locale')
+
+ Utils.pprint('BLUE', 'Summary:')
+ print_message(conf, 'Install GeanySendMail ' + VERSION + ' in', conf.env['G_PREFIX'])
+ print_message(conf, 'Using GTK version', gtk_version)
+ print_message(conf, 'Using Geany version', geany_version)
+ if svn_rev != '-1':
+ print_message(conf, 'Compiling Subversion revision', svn_rev)
+ conf.env.append_value('CCFLAGS', '-g -O0 -DDEBUG'.split()) # -DGEANY_DISABLE_DEPRECATED'
+
+ conf.env.append_value('CCFLAGS', '-DHAVE_CONFIG_H'.split())
+
+ # convenience script (script content copied from the original waf.bat)
+ if is_win32:
+ f = open('waf.bat', 'wb')
+ f.write('@python -x %~dp0waf %* & exit /b')
+ f.close
+ # write a simple Makefile
+ else:
+ f = open('Makefile', 'w')
+ f.write(makefile_template)
+ f.close
+
+def set_options(opt):
+ opt.tool_options('compiler_cc')
+ opt.tool_options('intltool')
+
+ # Paths
+ opt.add_option('--libdir', type='string', default='',
+ help='object code libraries', dest='libdir')
+ # Actions
+ opt.add_option('--update-po', action='store_true', default=False,
+ help='update the message catalogs for translation', dest='update_po')
+ opt.add_option('--write-installer', action='store_true', default=False,
+ help='create Windows installer (maintainer and Win32 only)', dest='write_installer')
+
+def build(bld):
+ is_win32 = target_is_win32(bld.env)
+
+ def install_docs(bld, pname, files):
+ ext = '.txt' if is_win32 else ''
+ docdir = '${G_PREFIX}/doc/plugins/%s' % pname if is_win32 else '${DOCDIR}/%s' % pname
+ for file in files:
+ if os.path.exists(file):
+ bld.install_as(
+ '%s/%s%s' % (docdir, uc_first(file, is_win32), ext), file)
+
+ bld.new_task_gen(
+ features = 'cc cshlib',
+ name = 'geanysendmail',
+ target = 'geanysendmail',
+ source = geanysendmail_sources,
+ includes = '. src/',
+ uselib = 'GTK GEANY',
+ install_path = '${G_PREFIX}/lib' if is_win32 else '${LIBDIR}/geany/'
+ )
+
+ install_docs(bld, 'geanysendmail', 'AUTHORS ChangeLog COPYING NEWS README THANKS TODO'.split())
+
+ # Translations
+ if bld.env['INTLTOOL']:
+ bld.new_task_gen(
+ features = 'intltool_po',
+ podir = 'po',
+ install_path = '${LOCALEDIR}',
+ appname = 'geanysendmail'
+ )
+
+def shutdown():
+ if Options.options.write_installer:
+ do_sign = os.path.exists("sign.bat") # private file to sign the binary files, not needed
+ def sign_binary(file):
+ if do_sign:
+ Utils.exec_command('sign.bat %s' % file)
+
+ # strip all binaries
+ Utils.pprint('CYAN', 'Stripping %sfiles' % ('and signing binary ' if do_sign else ''))
+ files = glob.glob(os.path.join(Build.bld.env['G_PREFIX'], 'lib', '*.dll'))
+
+ if Options.options.update_po:
+ # the following code was taken from midori's WAF script, thanks
+ potfile = '%s.pot' % (APPNAME)
+ os.chdir('%s/po' % srcdir)
+ try:
+ try:
+ size_old = os.stat(potfile).st_size
+ except:
+ size_old = 0
+ Utils.exec_command('intltool-update --pot -g %s' % APPNAME)
+ if os.stat(potfile).st_size != size_old:
+ Utils.pprint('CYAN', 'Updated POT file.')
+ launch('intltool-update -r -g %s' % APPNAME, 'Updating translations', 'CYAN')
+ else:
+ Utils.pprint('CYAN', 'POT file is up to date.')
+ except:
+ Utils.pprint('RED', 'Failed to generate pot file.')
+ os.chdir('..')
+
+
+# Simple function to execute a command and print its exit status
+def launch(command, status, success_color='GREEN'):
+ ret = 0
+ Utils.pprint(success_color, status)
+ try:
+ ret = Utils.exec_command(command)
+ except OSError, e:
+ ret = 1
+ print str(e), ":", command
+ except:
+ ret = 1
+
+ if ret != 0:
+ Utils.pprint('RED', status + ' failed')
+
+ return ret
+
+
+def print_message(conf, msg, result, color = 'GREEN'):
+ conf.check_message_1(msg)
+ conf.check_message_2(result, color)
+
+
+def uc_first(s, is_win32):
+ if is_win32:
+ return s.title()
+ return s
+
+
+def target_is_win32(env):
+ if sys.platform == 'win32':
+ return True
+ if env and 'CC' in env:
+ cc = env['CC']
+ if not isinstance(cc, str):
+ cc = ''.join(cc)
+ return cc.find('mingw') != -1
+ return False
+
Modified: trunk/geany-plugins/geanysendmail/ChangeLog
===================================================================
--- trunk/geany-plugins/geanysendmail/ChangeLog 2010-01-05 22:56:08 UTC (rev 1117)
+++ trunk/geany-plugins/geanysendmail/ChangeLog 2010-01-05 23:07:37 UTC (rev 1118)
@@ -1,3 +1,18 @@
+2010-01-05
+
+ * Release of 0.4.3 mainteinance release.
+
+
+2009-10-08 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
+
+ * Use waf for building plugin in faovr of autotools.
+
+
+2009-07-18 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
+
+ * Update to Geany plugin API v147 and make usage of single header includes.
+
+
2009-05-28 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
* Make usage of Geany's ui_widget_set_tooltip_text() function.
Deleted: trunk/geany-plugins/geanysendmail/INSTALL
===================================================================
--- trunk/geany-plugins/geanysendmail/INSTALL 2010-01-05 22:56:08 UTC (rev 1117)
+++ trunk/geany-plugins/geanysendmail/INSTALL 2010-01-05 23:07:37 UTC (rev 1118)
@@ -1,3 +0,0 @@
-GeanySendMail as distributed within the geany-plugins package doesn't
-have a own build system for its own. Please check documentation of
-geany-plugins release instead.
Modified: trunk/geany-plugins/geanysendmail/NEWS
===================================================================
--- trunk/geany-plugins/geanysendmail/NEWS 2010-01-05 22:56:08 UTC (rev 1117)
+++ trunk/geany-plugins/geanysendmail/NEWS 2010-01-05 23:07:37 UTC (rev 1118)
@@ -1,5 +1,10 @@
+GeanySendMail 0.4.3 (05.01.2010 - maintenance release)
+ * Use waf instead of autotools
+ * Update to Geany plugin API 147
+
+
GeanySendMail 0.4.2 (26. May 2009):
- * Added cancel button to recipient's address dialog
+ * Added cancel button to recipient's address dialog
* Some minor code cleanup
Modified: trunk/geany-plugins/geanysendmail/README
===================================================================
--- trunk/geany-plugins/geanysendmail/README 2010-01-05 22:56:08 UTC (rev 1117)
+++ trunk/geany-plugins/geanysendmail/README 2010-01-05 23:07:37 UTC (rev 1118)
@@ -25,7 +25,7 @@
prepared package e.g. from your distribution you probably need to
install an additional package, this might be called geany-dev or
geany-devel. Please note that in order to compile and use this plugin,
-you need Geany 0.16 or later (Geany Plugin API v116 or higher).
+you need Geany 0.19 or later (Geany Plugin API v147 or higher).
Furthermore you need, of course, a C compiler and the Make tool. The
GNU versions of these tools are recommended.
Modified: trunk/geany-plugins/geanysendmail/TODO
===================================================================
--- trunk/geany-plugins/geanysendmail/TODO 2010-01-05 22:56:08 UTC (rev 1117)
+++ trunk/geany-plugins/geanysendmail/TODO 2010-01-05 23:07:37 UTC (rev 1118)
@@ -1,5 +1,6 @@
TODO
----
+ * Buildsupport for Win32 (Needs some testing)
* Support for Inline-mailing (embedded text inside mail)
* Send mail directly (only UNIX like systems)
Modified: trunk/geany-plugins/geanysendmail/src/geanysendmail.c
===================================================================
--- trunk/geany-plugins/geanysendmail/src/geanysendmail.c 2010-01-05 22:56:08 UTC (rev 1117)
+++ trunk/geany-plugins/geanysendmail/src/geanysendmail.c 2010-01-05 23:07:37 UTC (rev 1118)
@@ -23,17 +23,10 @@
/* A little plugin to send a document as attachment using the preferred mail client */
-#include "geany.h"
-#include "ui_utils.h"
-#include "support.h"
-#include "plugindata.h"
-#include "document.h"
-#include "filetypes.h"
-#include "utils.h"
-#include "keybindings.h"
+#include "geanyplugin.h"
#include "icon.h"
-#include "geanyfunctions.h"
+
#ifdef HAVE_LOCALE_H
# include <locale.h>
#endif
@@ -42,10 +35,10 @@
GeanyData *geany_data;
GeanyFunctions *geany_functions;
-PLUGIN_VERSION_CHECK(116)
+PLUGIN_VERSION_CHECK(147)
PLUGIN_SET_INFO(_("GeanySendMail"), _("A little plugin to send the current \
-file as attachment by user's favorite mailer"), "0.4.2", "Frank Lanitz <frank at frank.uvena.de>")
+file as attachment by user's favorite mailer"), "0.4.3", "Frank Lanitz <frank at frank.uvena.de>")
/* Keybinding(s) */
enum
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Plugins-Commits
mailing list