diff -uNr qdigidoc-3.5.0/CMakeLists.txt qdigidoc-3.5.0p/CMakeLists.txt --- qdigidoc-3.5.0/CMakeLists.txt 2011-11-11 09:17:04.989438000 +0200 +++ qdigidoc-3.5.0p/CMakeLists.txt 2012-01-08 16:38:56.785199069 +0200 @@ -26,3 +26,4 @@ include( breakpad/BreakPad.cmake ) add_subdirectory( client ) add_subdirectory( crypto ) +add_subdirectory( extensions ) diff -uNr qdigidoc-3.5.0/extensions/CMakeLists.txt qdigidoc-3.5.0p/extensions/CMakeLists.txt --- qdigidoc-3.5.0/extensions/CMakeLists.txt 1970-01-01 03:00:00.000000000 +0300 +++ qdigidoc-3.5.0p/extensions/CMakeLists.txt 2012-01-08 16:38:56.785199069 +0200 @@ -0,0 +1,11 @@ +if (UNIX AND NOT APPLE) + option(ENABLE_KDE "Install KDE service menu (default: TRUE)" TRUE) + if (ENABLE_KDE) + add_subdirectory(kde) + endif() + + option(ENABLE_NAUTILUS_EXTENSION "Build Nautilus extension (default: TRUE)" TRUE) + if (ENABLE_NAUTILUS_EXTENSION) + add_subdirectory(nautilus) + endif() +endif() diff -uNr qdigidoc-3.5.0/extensions/kde/CMakeLists.txt qdigidoc-3.5.0p/extensions/kde/CMakeLists.txt --- qdigidoc-3.5.0/extensions/kde/CMakeLists.txt 1970-01-01 03:00:00.000000000 +0300 +++ qdigidoc-3.5.0p/extensions/kde/CMakeLists.txt 2012-01-08 16:38:56.785199069 +0200 @@ -0,0 +1,3 @@ +set(SERVICES_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/kde4/services" CACHE PATH "Install dir for KDE service (desktop, protocol, ...) files") + +install(FILES qdigidoc-signer.desktop DESTINATION "${SERVICES_INSTALL_DIR}") diff -uNr qdigidoc-3.5.0/extensions/kde/qdigidoc-signer.desktop qdigidoc-3.5.0p/extensions/kde/qdigidoc-signer.desktop --- qdigidoc-3.5.0/extensions/kde/qdigidoc-signer.desktop 1970-01-01 03:00:00.000000000 +0300 +++ qdigidoc-3.5.0p/extensions/kde/qdigidoc-signer.desktop 2012-01-08 16:38:56.785199069 +0200 @@ -0,0 +1,17 @@ +[Desktop Entry] +X-KDE-ServiceTypes=KonqPopupMenu/Plugin,all/allfiles +Actions=sign; +Encoding=UTF-8 +Type=Service +X-KDE-Priority=TopLevel +X-KDE-PluginInfo-Name=digidoc-signer +X-KDE-PluginInfo-Author=Erkko Kebbinau +X-KDE-PluginInfo-Email=erkko@smartlink.ee +X-KDE-PluginInfo-Version=1.0 + +[Desktop Action sign] +Name=Sign with ID card +Name[et]=Allkirjasta ID-kaardiga +Name[ru]=Подписать ID картой +Icon=qdigidoc-client +Exec=qdigidocclient %U diff -uNr qdigidoc-3.5.0/extensions/nautilus/CMakeLists.txt qdigidoc-3.5.0p/extensions/nautilus/CMakeLists.txt --- qdigidoc-3.5.0/extensions/nautilus/CMakeLists.txt 1970-01-01 03:00:00.000000000 +0300 +++ qdigidoc-3.5.0p/extensions/nautilus/CMakeLists.txt 2012-01-08 18:14:46.403479938 +0200 @@ -0,0 +1,9 @@ +cmake_minimum_required(VERSION 2.6) +project(NautilusQDigiDoc) + +find_package(Gettext) + +file(GLOB PO_FILES po/*.po) +gettext_create_translations(po/nautilus-qdigidoc.pot ALL ${PO_FILES}) + +install(FILES nautilus-qdigidoc.py DESTINATION ${SHARE_INSTALL_PREFIX}/nautilus-python/extensions/) diff -uNr qdigidoc-3.5.0/extensions/nautilus/nautilus-qdigidoc.py qdigidoc-3.5.0p/extensions/nautilus/nautilus-qdigidoc.py --- qdigidoc-3.5.0/extensions/nautilus/nautilus-qdigidoc.py 1970-01-01 03:00:00.000000000 +0300 +++ qdigidoc-3.5.0p/extensions/nautilus/nautilus-qdigidoc.py 2012-01-08 18:19:53.863829385 +0200 @@ -0,0 +1,72 @@ +# +# QDigiDoc Nautilus Extension +# +# Copyright (C) 2010 Erkko Kebbinau +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library 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 +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +# +import os +import urllib +import gettext +import locale + +from gi.repository import Nautilus, GObject, Gio + +APP = 'nautilus-qdigidoc' + +class OpenDigidocExtension(GObject.GObject, Nautilus.MenuProvider): + def __init__(self): + pass + + def _open_client(self, paths): + args = "" + for path in paths: + args += "\"%s\" " % path + cmd = ("qdigidocclient " + args + "&") + os.system(cmd) + + def menu_activate_cb(self, menu, paths): + self._open_client(paths) + + def valid_file(self, file): + return file.get_file_type() == Gio.FileType.REGULAR and file.get_uri_scheme() == 'file' + + def get_file_items(self, window, files): + paths = [] + for file in files: + if self.valid_file(file): + path = urllib.unquote(file.get_uri()[7:]) + paths.append(path) + + if len(paths) < 1: + return + + locale.setlocale(locale.LC_ALL, '') + gettext.bindtextdomain(APP) + gettext.textdomain(APP) + _ = gettext.gettext + + tooltip_message = gettext.ngettext('Sign selected file with Digidoc3 Client', + 'Sign selected files with Digidoc3 Client', + len(paths)) + item = Nautilus.MenuItem( + name="OpenDigidocExtension::DigidocSigner", + label=_('Sign with ID card'), + tip=tooltip_message + ) + item.set_property('icon', 'qdigidoc-client') + + item.connect('activate', self.menu_activate_cb, paths) + return item, diff -uNr qdigidoc-3.5.0/extensions/nautilus/po/et.po qdigidoc-3.5.0p/extensions/nautilus/po/et.po --- qdigidoc-3.5.0/extensions/nautilus/po/et.po 1970-01-01 03:00:00.000000000 +0300 +++ qdigidoc-3.5.0p/extensions/nautilus/po/et.po 2012-01-08 16:38:56.786199083 +0200 @@ -0,0 +1,28 @@ +# Estonian translations for PACKAGE package. +# Copyright (C) 2010 THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Erkko Kebbinau <erkko@smartlink.ee>, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-08-25 15:51+0300\n" +"PO-Revision-Date: 2010-08-23 16:44+0300\n" +"Last-Translator: Erkko Kebbinau <erkko@smartlink.ee>\n" +"Language-Team: Estonian\n" +"Language: et\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: nautilus-qdigidoc.py:74 +msgid "Sign selected file with Digidoc3 Client" +msgid_plural "Sign selected files with Digidoc3 Client" +msgstr[0] "Allkirjasta valitud fail Digidoc3 kliendiga" +msgstr[1] "Allkirjasta valitud failid Digidoc3 kliendiga" + +#: nautilus-qdigidoc.py:77 +msgid "Sign with ID card" +msgstr "Allkirjasta ID-kaardiga" diff -uNr qdigidoc-3.5.0/extensions/nautilus/po/nautilus-qdigidoc.pot qdigidoc-3.5.0p/extensions/nautilus/po/nautilus-qdigidoc.pot --- qdigidoc-3.5.0/extensions/nautilus/po/nautilus-qdigidoc.pot 1970-01-01 03:00:00.000000000 +0300 +++ qdigidoc-3.5.0p/extensions/nautilus/po/nautilus-qdigidoc.pot 2012-01-08 16:38:56.786199083 +0200 @@ -0,0 +1,29 @@ +# 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@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-08-25 15:51+0300\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" + +#: nautilus-qdigidoc.py:74 +msgid "Sign selected file with Digidoc3 Client" +msgid_plural "Sign selected files with Digidoc3 Client" +msgstr[0] "" +msgstr[1] "" + +#: nautilus-qdigidoc.py:77 +msgid "Sign with ID card" +msgstr "" diff -uNr qdigidoc-3.5.0/extensions/nautilus/po/ru.po qdigidoc-3.5.0p/extensions/nautilus/po/ru.po --- qdigidoc-3.5.0/extensions/nautilus/po/ru.po 1970-01-01 03:00:00.000000000 +0300 +++ qdigidoc-3.5.0p/extensions/nautilus/po/ru.po 2012-01-08 16:38:56.786199083 +0200 @@ -0,0 +1,30 @@ +# Russian translations for PACKAGE package. +# Copyright (C) 2010 THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Erkko Kebbinau <erkko@smartlink.ee>, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-08-25 15:51+0300\n" +"PO-Revision-Date: 2010-08-25 13:33+0300\n" +"Last-Translator: Erkko Kebbinau <erkko@smartlink.ee>\n" +"Language-Team: Russian\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#: nautilus-qdigidoc.py:74 +msgid "Sign selected file with Digidoc3 Client" +msgid_plural "Sign selected files with Digidoc3 Client" +msgstr[0] "Подписать выбранный файл с Digidoc3 Client" +msgstr[1] "Подписать выбранныйые файлы с Digidoc3 Client" +msgstr[2] "Подписать выбранныйые файлы с Digidoc3 Client" + +#: nautilus-qdigidoc.py:77 +msgid "Sign with ID card" +msgstr "Подписать ID картой" diff -uNr qdigidoc-3.5.0/extensions/nautilus/po/update-po.sh qdigidoc-3.5.0p/extensions/nautilus/po/update-po.sh --- qdigidoc-3.5.0/extensions/nautilus/po/update-po.sh 1970-01-01 03:00:00.000000000 +0300 +++ qdigidoc-3.5.0p/extensions/nautilus/po/update-po.sh 2012-01-08 16:38:56.786199083 +0200 @@ -0,0 +1,14 @@ +#!/bin/sh + +# Generate .pot file: +pushd .. +xgettext -k_ -kN_ nautilus-qdigidoc.py --output=po/nautilus-qdigidoc.pot +popd + +# Fix up charset +sed -i -e '/Content-Type/ s/CHARSET/UTF-8/' nautilus-qdigidoc.pot + +# Update po files: +for f in *.po ; do + msgmerge -U "$f" nautilus-qdigidoc.pot +done