diff -Nru mugshot-0.2.2/data/ui/MugshotWindow.ui mugshot-0.2.3/data/ui/MugshotWindow.ui
--- mugshot-0.2.2/data/ui/MugshotWindow.ui 2014-03-09 11:58:08.000000000 +0000
+++ mugshot-0.2.3/data/ui/MugshotWindow.ui 2014-04-02 00:57:55.000000000 +0000
@@ -358,6 +358,7 @@
4
alpha
+
diff -Nru mugshot-0.2.2/debian/changelog mugshot-0.2.3/debian/changelog
--- mugshot-0.2.2/debian/changelog 2014-03-13 20:40:22.000000000 +0000
+++ mugshot-0.2.3/debian/changelog 2014-04-05 08:18:41.000000000 +0000
@@ -1,3 +1,10 @@
+mugshot (0.2.3-1) unstable; urgency=medium
+
+ * New upstream release. LP: #1302906
+ - fix: mugshot is unable to store profile picture (LP: #1298665)
+
+ -- Jackson Doak Sat, 05 Apr 2014 12:41:01 +1100
+
mugshot (0.2.2-1) unstable; urgency=medium
* New upstream release
diff -Nru mugshot-0.2.2/mugshot/CameraMugshotDialog.py mugshot-0.2.3/mugshot/CameraMugshotDialog.py
--- mugshot-0.2.2/mugshot/CameraMugshotDialog.py 2014-03-09 11:58:08.000000000 +0000
+++ mugshot-0.2.3/mugshot/CameraMugshotDialog.py 2014-04-02 01:20:16.000000000 +0000
@@ -27,9 +27,9 @@
from gi.repository import GdkX11, GstVideo # lint:ok
import cairo
-import tempfile
import os
+from mugshot_lib import helpers
from mugshot_lib.CameraDialog import CameraDialog
@@ -60,7 +60,7 @@
# Draw the message to the drawing area.
ctx.set_source_rgb(*font_color)
ctx.select_font_face(font_name, cairo.FONT_SLANT_NORMAL,
- cairo.FONT_WEIGHT_NORMAL)
+ cairo.FONT_WEIGHT_NORMAL)
ctx.set_font_size(font_size)
for line in split_msg:
@@ -104,9 +104,9 @@
if device.startswith('video'):
devices.append(device)
logger.error(_('Camera failed to load. Devices: %s') %
- '; '.join(devices))
+ '; '.join(devices))
self.draw_handler = self.video_window.connect('draw',
- self.on_failed_draw)
+ self.on_failed_draw)
self.realized = True
# Essential widgets
@@ -149,7 +149,7 @@
self._set_video_window_id()
if not self.realized:
logger.error(_("Cannot display camera output."
- "Ignoring play command"))
+ "Ignoring play command"))
else:
if self.camerabin:
self.camerabin.set_state(Gst.State.PLAYING)
@@ -237,8 +237,8 @@
if message_name == "prepare-window-handle":
imagesink = message.src
imagesink.set_property("force-aspect-ratio", True)
- imagesink.set_window_handle(
- self.video_window.get_window().get_xid())
+ imagesink.set_window_handle(self.video_window.get_window()
+ .get_xid())
def __on_video_window_realized(self, widget, data=None):
"""Internal signal handler, used to set up the xid for the drawing area
@@ -268,9 +268,7 @@
# Record (Capture) action.
else:
# Create a new temporary file.
- tmpfile = tempfile.NamedTemporaryFile(delete=False)
- tmpfile.close()
- self.filename = tmpfile.name
+ self.filename = helpers.new_tempfile('camera')
# Capture the current image.
self.take_picture(self.filename)
@@ -348,8 +346,9 @@
# apply: emitted when the apply button has been pressed and there is a
# new file saved for use.
__gsignals__ = {'image-captured': (GObject.SIGNAL_RUN_LAST,
- GObject.TYPE_NONE,
- (GObject.TYPE_PYOBJECT,)),
- 'apply': (GObject.SIGNAL_RUN_LAST, GObject.TYPE_NONE,
- (GObject.TYPE_STRING,))
- }
+ GObject.TYPE_NONE,
+ (GObject.TYPE_PYOBJECT,)),
+ 'apply': (GObject.SIGNAL_RUN_LAST,
+ GObject.TYPE_NONE,
+ (GObject.TYPE_STRING,))
+ }
diff -Nru mugshot-0.2.2/mugshot/__init__.py mugshot-0.2.3/mugshot/__init__.py
--- mugshot-0.2.2/mugshot/__init__.py 2014-03-09 11:58:08.000000000 +0000
+++ mugshot-0.2.3/mugshot/__init__.py 2014-04-02 01:21:12.000000000 +0000
@@ -23,7 +23,7 @@
from mugshot import MugshotWindow
-from mugshot_lib import set_up_logging, get_version
+from mugshot_lib import set_up_logging, get_version, helpers
def parse_options():
@@ -45,3 +45,6 @@
window = MugshotWindow.MugshotWindow()
window.show()
Gtk.main()
+
+ # Cleanup temporary files
+ helpers.clear_tempfiles()
diff -Nru mugshot-0.2.2/mugshot/MugshotWindow.py mugshot-0.2.3/mugshot/MugshotWindow.py
--- mugshot-0.2.2/mugshot/MugshotWindow.py 2014-03-09 11:58:08.000000000 +0000
+++ mugshot-0.2.3/mugshot/MugshotWindow.py 2014-04-05 01:19:45.000000000 +0000
@@ -27,19 +27,17 @@
# DBUS interface is used to update pidgin buddyicon when pidgin is running.
import dbus
-import tempfile
-
from gi.repository import Gtk, GdkPixbuf, GLib, Gio # pylint: disable=E0611
import logging
logger = logging.getLogger('mugshot')
-from mugshot_lib import Window, SudoDialog
+from mugshot_lib import Window, SudoDialog, helpers
from mugshot.CameraMugshotDialog import CameraMugshotDialog
username = GLib.get_user_name()
home = GLib.get_home_dir()
libreoffice_prefs = os.path.join(GLib.get_user_config_dir(), 'libreoffice',
- '4', 'user', 'registrymodifications.xcu')
+ '4', 'user', 'registrymodifications.xcu')
pidgin_prefs = os.path.join(home, '.purple', 'prefs.xml')
faces_dir = '/usr/share/pixmaps/faces/'
@@ -48,7 +46,7 @@
'''Use the system command which to get the absolute path for the given
command.'''
command = subprocess.Popen(['which', command],
- stdout=subprocess.PIPE).stdout.read().strip()
+ stdout=subprocess.PIPE).stdout.read().strip()
command = command.decode('utf-8')
if command == '':
logger.debug('Command "%s" could not be found.' % command)
@@ -60,15 +58,15 @@
"""Check for a running process, return True if any listings are found."""
command = 'ps -ef | grep " %s" | grep -v "grep" | wc -l' % name
n = subprocess.Popen(command, stdout=subprocess.PIPE,
- shell=True).stdout.read().strip()
+ shell=True).stdout.read().strip()
return int(n) > 0
def has_gstreamer_camerabin_support():
"""Return True if gstreamer1.0 camerabin element is available."""
process = subprocess.Popen(["gst-inspect-1.0", "camerabin"],
- stdout=subprocess.PIPE,
- stderr=subprocess.PIPE)
+ stdout=subprocess.PIPE,
+ stderr=subprocess.PIPE)
process.communicate()
has_support = process.returncode == 0
if not has_support:
@@ -82,8 +80,8 @@
def has_gstreamer_camerasrc_support():
"""Return True if gstreamer1.0 v4l2src element is available."""
process = subprocess.Popen(["gst-inspect-1.0", "v4l2src"],
- stdout=subprocess.PIPE,
- stderr=subprocess.PIPE)
+ stdout=subprocess.PIPE,
+ stderr=subprocess.PIPE)
process.communicate()
has_support = process.returncode == 0
if not has_support:
@@ -130,7 +128,7 @@
def get_confirmation_dialog(parent, primary_message, secondary_message,
- icon_name=None):
+ icon_name=None):
"""Display a confirmation (yes/no) dialog configured with primary and
secondary messages, as well as a custom icon if requested."""
dialog = Gtk.MessageDialog(transient_for=parent, flags=0,
@@ -177,9 +175,11 @@
self.image_menu = builder.get_object('image_menu')
self.image_menu.attach_to_widget(self.image_button, detach_cb)
self.image_from_camera = builder.get_object('image_from_camera')
- image_from_stock = builder.get_object('image_from_stock')
- image_from_stock.set_visible(os.path.exists(faces_dir) and
- len(os.listdir(faces_dir)) > 0)
+ self.image_from_stock = builder.get_object('image_from_stock')
+ self.image_from_stock.set_visible(os.path.exists(faces_dir) and
+ len(os.listdir(faces_dir)) > 0)
+ self.menuitem1 = builder.get_object('menuitem1')
+ self.image_remove = builder.get_object('image_remove')
# Entry widgets (chfn)
self.first_name_entry = builder.get_object('first_name')
@@ -190,6 +190,11 @@
self.email_entry = builder.get_object('email')
self.fax_entry = builder.get_object('fax')
+ # Users without sudo rights cannot change their name.
+ if not SudoDialog.check_sudo():
+ self.first_name_entry.set_sensitive(False)
+ self.last_name_entry.set_sensitive(False)
+
# Stock photo browser
self.stock_browser = builder.get_object('stock_browser')
self.iconview = builder.get_object('stock_iconview')
@@ -216,11 +221,22 @@
# Check for .face and set profile image.
logger.debug('Checking for ~/.face profile image')
face = os.path.join(home, '.face')
+ logger.debug('Checking AccountsService for profile image')
+ image = self.accounts_service_get_user_image()
+ logger.debug('Found profile image: %s' % str(image))
+
if os.path.isfile(face):
+ if os.path.samefile(image, face):
+ self.updated_image = face
+ else:
+ self.updated_image = None
self.set_user_image(face)
+ elif os.path.isfile(image):
+ self.updated_image = image
+ self.set_user_image(image)
else:
+ self.updated_image = None
self.set_user_image(None)
- self.updated_image = None
# Search /etc/passwd for the current user's details.
logger.debug('Getting user details from /etc/passwd')
@@ -231,17 +247,12 @@
name, office, office_phone, home_phone = details.split(',', 3)
break
- # Expand the user's fullname into first, last, and initials.
+ # Expand the user's fullname into first and last.
try:
first_name, last_name = name.split(' ', 1)
- initials = first_name[0] + last_name[0]
except:
first_name = name
last_name = ''
- if first_name:
- initials = first_name[0]
- else:
- initials = ''
# If the variables are defined as 'none', use blank for cleanliness.
if home_phone == 'none':
@@ -251,8 +262,7 @@
# Get dconf settings
logger.debug('Getting initials, email, and fax from dconf')
- if self.settings['initials'] != '':
- initials = self.settings['initials']
+ initials = self.settings['initials']
email = self.settings['email']
fax = self.settings['fax']
@@ -273,7 +283,7 @@
self.email_entry.set_text(email)
self.fax_entry.set_text(fax)
- # = Mugshot Window ======================================================= #
+ # = Mugshot Window ====================================================== #
def set_user_image(self, filename=None):
"""Scale and set the user profile image."""
logger.debug("Setting user profile image to %s" % str(filename))
@@ -281,8 +291,25 @@
pixbuf = GdkPixbuf.Pixbuf.new_from_file(filename)
scaled = pixbuf.scale_simple(128, 128, GdkPixbuf.InterpType.HYPER)
self.user_image.set_from_pixbuf(scaled)
+ # Show "Remove" menu item.
+ self.menuitem1.set_visible(True)
+ self.image_remove.set_visible(True)
else:
self.user_image.set_from_icon_name('avatar-default', 128)
+ # Hide "Remove" menu item.
+ self.menuitem1.set_visible(False)
+ self.image_remove.set_visible(False)
+
+ def suggest_initials(self, first_name, last_name):
+ """Generate initials from first and last name."""
+ try:
+ initials = first_name[0] + last_name[0]
+ except:
+ if first_name:
+ initials = first_name[0]
+ else:
+ initials = ''
+ return initials
def filter_numbers(self, entry, *args):
"""Allow only numbers and + in phone entry fields."""
@@ -300,9 +327,10 @@
primary = _("Authentication Failed")
secondary = _("User details were not updated.")
dialog = Gtk.MessageDialog(transient_for=self, flags=0,
- message_type=Gtk.MessageType.WARNING,
- buttons=Gtk.ButtonsType.OK,
- text=primary)
+ message_type=
+ Gtk.MessageType.WARNING,
+ buttons=Gtk.ButtonsType.OK,
+ text=primary)
dialog.format_secondary_text(secondary)
dialog.run()
dialog.destroy()
@@ -331,20 +359,29 @@
vbox = widget.get_parent().get_parent().get_parent().get_parent()
vbox.child_focus(Gtk.DirectionType.TAB_FORWARD)
+ def initials_entry_focused(self, widget):
+ """Paste initials into empty field."""
+ logger.debug('Initials field focused.')
+ first_name = get_entry_value(self.first_name_entry)
+ last_name = get_entry_value(self.last_name_entry)
+ if get_entry_value(self.initials_entry) == '':
+ self.initials_entry.set_text(self.suggest_initials(first_name,
+ last_name))
+
def on_cancel_button_clicked(self, widget):
"""When the window cancel button is clicked, close the program."""
logger.debug('Cancel clicked, goodbye.')
self.destroy()
- # = Image Button and Menu ================================================ #
+ # = Image Button and Menu =============================================== #
def on_image_button_clicked(self, widget):
"""When the menu button is clicked, display the photo menu."""
if widget.get_active():
logger.debug('Show photo menu')
self.image_from_camera.set_visible(get_has_camera_support())
self.image_menu.popup(None, None, menu_position,
- self.image_menu, 3,
- Gtk.get_current_event_time())
+ self.image_menu, 3,
+ Gtk.get_current_event_time())
def on_image_menu_hide(self, widget):
"""Untoggle the image button when the menu is hidden."""
@@ -367,46 +404,84 @@
logger.debug('Photo not updated, not saving changes.')
return False
+ if not os.path.isfile(self.updated_image):
+ self.updated_image = ""
+
face = os.path.join(home, '.face')
- # If the .face file already exists, remove it first.
- logger.debug('Photo updated, saving changes.')
- if os.path.isfile(face):
- os.remove(face)
+ if os.path.normpath(face) != os.path.normpath(self.updated_image):
+ # If the .face file already exists, remove it first.
+ logger.debug('Photo updated, saving ~/.face profile image.')
+ if os.path.isfile(face):
+ os.remove(face)
+ # Copy the new file to ~/.face
+ if os.path.isfile(self.updated_image):
+ shutil.copyfile(self.updated_image, face)
+
+ # Update AccountsService profile image
+ logger.debug('Photo updated, saving AccountsService profile image.')
+ self.accounts_service_set_user_image(self.updated_image)
+
+ # Update Pidgin buddy icon
+ self.set_pidgin_buddyicon(self.updated_image)
- # Copy the new file to ~/.face
- if os.path.isfile(self.updated_image):
- shutil.copyfile(self.updated_image, face)
- else:
- face = ""
- self.accounts_service_set_user_image(face)
- self.set_pidgin_buddyicon(face)
self.updated_image = None
return True
- def accounts_service_set_user_image(self, filename):
- """Set user profile image using AccountsService."""
+ def accounts_service_get_user_image(self):
+ """Get user profile image using AccountsService."""
bus = Gio.bus_get_sync(Gio.BusType.SYSTEM, None)
result = bus.call_sync('org.freedesktop.Accounts',
- '/org/freedesktop/Accounts',
- 'org.freedesktop.Accounts',
- 'FindUserByName',
- GLib.Variant('(s)', (username,)),
- GLib.VariantType.new('(o)'),
- Gio.DBusCallFlags.NONE,
- -1,
- None)
+ '/org/freedesktop/Accounts',
+ 'org.freedesktop.Accounts',
+ 'FindUserByName',
+ GLib.Variant('(s)', (username,)),
+ GLib.VariantType.new('(o)'),
+ Gio.DBusCallFlags.NONE,
+ -1,
+ None)
(path,) = result.unpack()
- bus.call_sync('org.freedesktop.Accounts',
+ result = bus.call_sync('org.freedesktop.Accounts',
path,
- 'org.freedesktop.Accounts.User',
- 'SetIconFile',
- GLib.Variant('(s)', (filename,)),
- GLib.VariantType.new('()'),
+ 'org.freedesktop.DBus.Properties',
+ 'GetAll',
+ GLib.Variant('(s)',
+ ('org.freedesktop.Accounts.User',)
+ ),
+ GLib.VariantType.new('(a{sv})'),
Gio.DBusCallFlags.NONE,
-1,
None)
+ (props,) = result.unpack()
+ return props['IconFile']
+
+ def accounts_service_set_user_image(self, filename):
+ """Set user profile image using AccountsService."""
+ try:
+ bus = Gio.bus_get_sync(Gio.BusType.SYSTEM, None)
+ result = bus.call_sync('org.freedesktop.Accounts',
+ '/org/freedesktop/Accounts',
+ 'org.freedesktop.Accounts',
+ 'FindUserByName',
+ GLib.Variant('(s)', (username,)),
+ GLib.VariantType.new('(o)'),
+ Gio.DBusCallFlags.NONE,
+ -1,
+ None)
+ (path,) = result.unpack()
+
+ bus.call_sync('org.freedesktop.Accounts',
+ path,
+ 'org.freedesktop.Accounts.User',
+ 'SetIconFile',
+ GLib.Variant('(s)', (filename,)),
+ GLib.VariantType.new('()'),
+ Gio.DBusCallFlags.NONE,
+ -1,
+ None)
+ except GLib.GError:
+ pass
def set_pidgin_buddyicon(self, filename=None):
"""Sets the pidgin buddyicon to filename (usually ~/.face).
@@ -417,10 +492,10 @@
logger.debug('Pidgin not installed or never opened, not updating.')
return
logger.debug('Prompting user to update pidgin buddy icon')
- update_pidgin = get_confirmation_dialog(self,
- _("Update Pidgin buddy icon?"),
- _("Would you also like to update your Pidgin buddy icon?"),
- 'pidgin')
+ primary = _("Update Pidgin buddy icon?")
+ secondary = _("Would you also like to update your Pidgin buddy icon?")
+ update_pidgin = get_confirmation_dialog(self, primary, secondary,
+ 'pidgin')
if update_pidgin:
if has_running_process('pidgin'):
self.set_pidgin_buddyicon_dbus(filename)
@@ -467,14 +542,21 @@
def get_chfn_details_updated(self):
"""Return True if chfn-related details have been modified."""
logger.debug('Checking if chfn details have been modified.')
- if self.first_name != self.first_name_entry.get_text().strip() or \
- self.last_name != self.last_name_entry.get_text().strip() or \
- self.home_phone != self.home_phone_entry.get_text().strip() or \
- self.office_phone != self.office_phone_entry.get_text().strip():
+ modified = False
+ if self.first_name != self.first_name_entry.get_text().strip():
+ modified = True
+ if self.last_name != self.last_name_entry.get_text().strip():
+ modified = True
+ if self.home_phone != self.home_phone_entry.get_text().strip():
+ modified = True
+ if self.office_phone != self.office_phone_entry.get_text().strip():
+ modified = True
+ if modified:
logger.debug('chfn details have been modified.')
return True
- logger.debug('chfn details have NOT been modified.')
- return False
+ else:
+ logger.debug('chfn details have NOT been modified.')
+ return False
def save_chfn_details(self):
"""Commit changes to chfn-related details. For full name, changes must
@@ -518,28 +600,31 @@
home_phone = 'none'
# Full name can only be modified by root. Try using sudo to modify.
- logger.debug('Attempting to set fullname with sudo chfn')
- # Force the C language for guaranteed english strings in the script.
- child = pexpect.spawn('%s %s %s' % (sudo, chfn, username),
- env={"LANG": "C"})
- child.timeout = 5
- try:
- child.expect([".*ssword.*", pexpect.EOF])
- child.sendline(password)
- child.expect(".*ame.*:")
- child.sendline(full_name)
- for i in range(5):
- child.sendline('')
- except pexpect.TIMEOUT:
- # Password was incorrect, or sudo rights not granted
- logger.warning('Timeout reached, password was incorrect or sudo '
- 'rights not granted.')
- pass
- child.close()
- if child.exitstatus == 0:
- self.first_name = first_name
- self.last_name = last_name
- return_codes.append(child.exitstatus)
+ if SudoDialog.check_sudo():
+ logger.debug('Attempting to set fullname with sudo chfn')
+ # Force the C language for guaranteed english strings in the script.
+ child = pexpect.spawn('%s %s %s' % (sudo, chfn, username),
+ env={"LANG": "C"})
+ child.timeout = 5
+ try:
+ child.expect([".*ssword.*", pexpect.EOF])
+ child.sendline(password)
+ child.expect(".*ame.*:")
+ child.sendline(full_name)
+ for i in range(5):
+ child.sendline('')
+ except pexpect.TIMEOUT:
+ # Password was incorrect, or sudo rights not granted
+ logger.warning('Timeout reached, password was incorrect or '
+ 'sudo rights not granted.')
+ pass
+ child.close()
+ if child.exitstatus == 0:
+ self.first_name = first_name
+ self.last_name = last_name
+ return_codes.append(child.exitstatus)
+ else:
+ return_codes.append(0)
logger.debug('Attempting to set user details with chfn')
child = pexpect.spawn(chfn, env={"LANG": "C"})
@@ -563,7 +648,7 @@
return_codes.append(child.exitstatus)
return return_codes
- # = LibreOffice ========================================================== #
+ # = LibreOffice ========================================================= #
def get_libreoffice_details_updated(self):
"""Return True if LibreOffice settings need to be updated."""
# Return False if there is no preferences file.
@@ -591,8 +676,8 @@
return False
def get_libreoffice_data(self):
- """Get each of the preferences from the LibreOffice registymodifications
- preferences file.
+ """Get each of the preferences from the LibreOffice
+ registymodifications preferences file.
Return a dict with the details."""
prefs_file = libreoffice_prefs
@@ -637,11 +722,12 @@
prefs_file = libreoffice_prefs
if os.path.isfile(prefs_file):
logger.debug('Prompting user to update LibreOffice details.')
- update_libreoffice = get_confirmation_dialog(self,
- _("Update LibreOffice user details?"),
- _("Would you also like to update your user "
- "details in LibreOffice?"),
- 'libreoffice-startcenter')
+ update_libreoffice = \
+ get_confirmation_dialog(self,
+ _("Update LibreOffice user details?"),
+ _("Would you also like to update your "
+ "user details in LibreOffice?"),
+ 'libreoffice-startcenter')
if update_libreoffice:
logger.debug('Confirm: Updating details.')
first_name = get_entry_value(self.first_name_entry)
@@ -711,43 +797,43 @@
if not first_name_updated:
string = \
- '- '
+ '
- '
''
'%s
\n' % first_name
open_prefs.write(string)
if not last_name_updated:
string = \
- '- '
+ '
- '
''
'%s
\n' % last_name
open_prefs.write(string)
if not initials_updated:
string = \
- '- '
+ '
- '
''
'%s
\n' % initials
open_prefs.write(string)
if not email_updated:
string = \
- '- '
+ '
- '
''
'%s
\n' % email
open_prefs.write(string)
if not home_phone_updated:
string = \
- '- '
+ '
- '
''
'%s
\n' % home_phone
open_prefs.write(string)
if not office_phone_updated:
string = \
- '- '
+ '
- '
''
'%s
\n' % office_phone
open_prefs.write(string)
if not fax_updated:
string = \
- '- '
+ '
- '
''
'%s
\n' % fax
open_prefs.write(string)
@@ -756,7 +842,7 @@
else:
logger.debug('Reject: Not updating.')
- # = Stock Browser ======================================================== #
+ # = Stock Browser ======================================================= #
def on_image_from_stock_activate(self, widget):
"""When the 'Select image from stock' menu item is clicked, load and
display the stock photo browser."""
@@ -777,14 +863,15 @@
full_path = os.path.join(faces_dir, filename)
if os.path.isfile(full_path):
pixbuf = GdkPixbuf.Pixbuf.new_from_file(full_path)
- scaled = pixbuf.scale_simple(90, 90, GdkPixbuf.InterpType.HYPER)
+ scaled = pixbuf.scale_simple(90, 90,
+ GdkPixbuf.InterpType.HYPER)
model.append([full_path, scaled])
def on_stock_iconview_selection_changed(self, widget):
"""Enable stock submission only when an item is selected."""
selected_items = self.iconview.get_selected_items()
- self.builder.get_object('stock_ok').set_sensitive(
- len(selected_items) > 0)
+ is_sensitive = len(selected_items) > 0
+ self.builder.get_object('stock_ok').set_sensitive(is_sensitive)
def on_stock_browser_delete_event(self, widget, event):
"""Hide the stock browser instead of deleting it."""
@@ -814,20 +901,16 @@
"""Allow selecting a stock photo with Enter."""
self.on_stock_ok_clicked(widget)
- # = Image Browser ======================================================== #
+ # = Image Browser ======================================================= #
def on_image_from_browse_activate(self, widget):
"""Browse for a user profile image."""
# Run the dialog, grab the filename if confirmed, then hide the dialog.
response = self.chooser.run()
if response == Gtk.ResponseType.APPLY:
# Update the user image, store the path for committing later.
- if self.tmpfile and os.path.isfile(self.tmpfile.name):
- os.remove(self.tmpfile.name)
- self.tmpfile = tempfile.NamedTemporaryFile(delete=False)
- self.tmpfile.close()
- self.updated_image = self.tmpfile.name
+ self.updated_image = helpers.new_tempfile('browse')
self.filechooser_preview_pixbuf.savev(self.updated_image, "png",
- [], [])
+ [], [])
logger.debug("Selected %s" % self.updated_image)
self.set_user_image(self.updated_image)
self.chooser.hide()
@@ -877,8 +960,9 @@
self.filechooser_preview_pixbuf = \
filechooser_pixbuf.new_subpixbuf(start_x, start_y, width, height)
- scaled = self.filechooser_preview_pixbuf.scale_simple(128, 128,
- GdkPixbuf.InterpType.HYPER)
+ scaled = self.filechooser_preview_pixbuf.scale_simple(
+ 128, 128,
+ GdkPixbuf.InterpType.HYPER)
self.file_chooser_preview.set_from_pixbuf(scaled)
def on_crop_changed(self, widget, data=None):
diff -Nru mugshot-0.2.2/mugshot_lib/Builder.py mugshot-0.2.3/mugshot_lib/Builder.py
--- mugshot-0.2.2/mugshot_lib/Builder.py 2014-03-09 11:58:08.000000000 +0000
+++ mugshot-0.2.3/mugshot_lib/Builder.py 2014-04-02 01:49:18.000000000 +0000
@@ -54,8 +54,7 @@
# pylint: disable=R0201
# this is a method so that a subclass of Builder can redefine it
- def default_handler(self,
- handler_name, filename, *args, **kwargs):
+ def default_handler(self, handler_name, filename, *args, **kwargs):
'''helps the apprentice guru
glade defined handlers that do not exist come here instead.
@@ -99,8 +98,8 @@
connections = [
(name,
- ele_signal.attrib['name'],
- ele_signal.attrib['handler']) for ele_signal in ele_signals]
+ ele_signal.attrib['name'],
+ ele_signal.attrib['handler']) for ele_signal in ele_signals]
if connections:
self.connections.extend(connections)
@@ -108,7 +107,7 @@
ele_signals = tree.getiterator("signal")
for ele_signal in ele_signals:
self.glade_handler_dict.update(
- {ele_signal.attrib["handler"]: None})
+ {ele_signal.attrib["handler"]: None})
def connect_signals(self, callback_obj):
'''connect the handlers defined in glade
@@ -130,7 +129,7 @@
# replace the run time warning
logger.warn("expected handler '%s' in %s",
- item[0], filename)
+ item[0], filename)
# connect glade define handlers
Gtk.Builder.connect_signals(self, connection_dict)
@@ -139,7 +138,7 @@
for connection in self.connections:
widget_name, signal_name, handler_name = connection
logger.debug("connect builder by design '%s', '%s', '%s'",
- widget_name, signal_name, handler_name)
+ widget_name, signal_name, handler_name)
def get_ui(self, callback_obj=None, by_name=True):
'''Creates the ui object with widgets as attributes
@@ -203,7 +202,7 @@
pyname = ''
for character in name:
if (character.isalpha() or character == '_' or
- (pyname and character.isdigit())):
+ (pyname and character.isdigit())):
pyname += character
else:
pyname += '_'
@@ -288,13 +287,13 @@
handler_names.append("on_%s" % sig)
do_connect(item, sig, handler_names,
- callback_handler_dict, builder.connections)
+ callback_handler_dict, builder.connections)
log_unconnected_functions(callback_handler_dict, builder.connections)
def do_connect(item, signal_name, handler_names,
- callback_handler_dict, connections):
+ callback_handler_dict, connections):
'''connect this signal to an unused handler'''
widget_name, widget = item
@@ -307,7 +306,7 @@
connections.append(connection)
logger.debug("connect builder by name '%s','%s', '%s'",
- widget_name, signal_name, handler_name)
+ widget_name, signal_name, handler_name)
def log_unconnected_functions(callback_handler_dict, connections):
diff -Nru mugshot-0.2.2/mugshot_lib/helpers.py mugshot-0.2.3/mugshot_lib/helpers.py
--- mugshot-0.2.2/mugshot_lib/helpers.py 2014-03-09 11:58:08.000000000 +0000
+++ mugshot-0.2.3/mugshot_lib/helpers.py 2014-04-02 01:50:29.000000000 +0000
@@ -19,6 +19,8 @@
import logging
import os
+import tempfile
+
from . mugshotconfig import get_data_file
from . Builder import Builder
@@ -65,7 +67,7 @@
root.addHandler(null_handler)
formatter = logging.Formatter("%(levelname)s:%(name)s:"
- " %(funcName)s() '%(message)s'")
+ " %(funcName)s() '%(message)s'")
logger = logging.getLogger('mugshot')
logger_sh = logging.StreamHandler()
@@ -101,3 +103,39 @@
function.aliases.append(alternative_function_name)
return function
return decorator
+
+
+# = Temporary File Management ============================================ #
+temporary_files = {}
+
+
+def new_tempfile(identifier):
+ """Create a new temporary file, register it, and return the filename."""
+ remove_tempfile(identifier)
+ temporary_file = tempfile.NamedTemporaryFile(delete=False)
+ temporary_file.close()
+ filename = temporary_file.name
+ temporary_files[identifier] = filename
+ return filename
+
+
+def get_tempfile(identifier):
+ """Retrieve the specified temporary filename."""
+ if identifier in list(temporary_files.keys()):
+ return temporary_files[identifier]
+ return None
+
+
+def remove_tempfile(identifier):
+ """Remove the specified temporary file from the system."""
+ if identifier in list(temporary_files.keys()):
+ filename = temporary_files[identifier]
+ if os.path.isfile(filename):
+ os.remove(filename)
+ temporary_files.pop(identifier)
+
+
+def clear_tempfiles():
+ """Remove all temporary files registered to Mugshot."""
+ for identifier in list(temporary_files.keys()):
+ remove_tempfile(identifier)
diff -Nru mugshot-0.2.2/mugshot_lib/SudoDialog.py mugshot-0.2.3/mugshot_lib/SudoDialog.py
--- mugshot-0.2.2/mugshot_lib/SudoDialog.py 2014-03-09 11:58:08.000000000 +0000
+++ mugshot-0.2.3/mugshot_lib/SudoDialog.py 2014-04-05 01:16:35.000000000 +0000
@@ -23,6 +23,20 @@
import pexpect
+def check_sudo():
+ """Return True if user has permission to use sudo."""
+ child = pexpect.spawn('sudo -v', env={"LANG": "C"})
+ child.timeout = 1
+ # Check for failure message.
+ try:
+ child.expect(["Sorry", pexpect.EOF])
+ child.close()
+ return False
+ except:
+ child.close()
+ return True
+
+
class SudoDialog(Gtk.MessageDialog):
'''
Creates a new SudoDialog. This is a replacement for using gksudo which
@@ -52,11 +66,11 @@
# initialize the dialog
super(SudoDialog, self).__init__(transient_for=parent,
- modal=True,
- destroy_with_parent=True,
- message_type=message_type,
- buttons=buttons,
- text='')
+ modal=True,
+ destroy_with_parent=True,
+ message_type=message_type,
+ buttons=buttons,
+ text='')
self.set_dialog_icon(icon)
self.connect("show", self.on_show)
@@ -94,7 +108,7 @@
# Outer password box for incorrect password label and inner widgets.
password_outer = Gtk.Box(orientation=Gtk.Orientation.VERTICAL,
- spacing=12)
+ spacing=12)
password_outer.set_orientation(Gtk.Orientation.VERTICAL)
# Password error label, only displayed when unsuccessful.
self.password_info = Gtk.Label(label="")
@@ -103,13 +117,13 @@
# Inner password box for Password: label and password entry.
password_box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL,
- spacing=12)
+ spacing=12)
password_label = Gtk.Label(label=_("Password:"))
self.password_entry = Gtk.Entry()
self.password_entry.set_visibility(False)
self.password_entry.set_activates_default(True)
self.password_entry.connect("changed", self.on_password_changed,
- ok_button)
+ ok_button)
# Pack all the widgets.
password_box.pack_start(password_label, False, False, 0)
@@ -179,7 +193,8 @@
then emit the response signal with REJECT.
'''
top, bottom, left, right = self.password_alignment.get_padding()
- if self.attempt_login():
+ # Password cannot be validated without sudo
+ if (not check_sudo()) or self.attempt_login():
self.password_valid = True
# Adjust the dialog for attactiveness.
self.password_alignment.set_padding(12, bottom, left, right)
diff -Nru mugshot-0.2.2/mugshot_lib/Window.py mugshot-0.2.3/mugshot_lib/Window.py
--- mugshot-0.2.2/mugshot_lib/Window.py 2014-03-09 11:58:08.000000000 +0000
+++ mugshot-0.2.3/mugshot_lib/Window.py 2014-04-02 01:52:35.000000000 +0000
@@ -91,4 +91,4 @@
def on_preferences_changed(self, settings, key, data=None):
"""Log preference updates."""
logger.debug('preference changed: %s = %s' %
- (key, str(settings.get_value(key))))
+ (key, str(settings.get_value(key))))
diff -Nru mugshot-0.2.2/NEWS mugshot-0.2.3/NEWS
--- mugshot-0.2.2/NEWS 2014-03-09 11:58:08.000000000 +0000
+++ mugshot-0.2.3/NEWS 2014-04-05 01:23:54.000000000 +0000
@@ -1,5 +1,21 @@
Mugshot NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+04 Apr 2014, Mugshot 0.2.3
+
+- General:
+ . Check if user has sudo rights, disable first/last name change if not
+ . Populate the Initials field based on first/last name fields
+ . Hide "Remove" when there is no profile image set
+ . Cleanup temporary files when closed
+ . Package is now 100% PEP8-compliant
+- AccountsService:
+ . Scale images on save to accomodate AccountsService max size
+ . Use AccountsService profile image if ~/.face does not exist
+ . Sync AccountsService profile image to ~/.face
+- Bugs fixed:
+ . mugshot is unable to store profile picture (LP: #1298665)
+
+
09 Mar 2014, Mugshot 0.2.2
- General:
diff -Nru mugshot-0.2.2/PKG-INFO mugshot-0.2.3/PKG-INFO
--- mugshot-0.2.2/PKG-INFO 2014-03-09 11:58:32.000000000 +0000
+++ mugshot-0.2.3/PKG-INFO 2014-04-05 01:26:28.000000000 +0000
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: mugshot
-Version: 0.2.2
+Version: 0.2.3
Summary: lightweight user configuration utility
Home-page: https://launchpad.net/mugshot
Author: Sean Davis
diff -Nru mugshot-0.2.2/po/ca.po mugshot-0.2.3/po/ca.po
--- mugshot-0.2.2/po/ca.po 2014-03-09 11:58:08.000000000 +0000
+++ mugshot-0.2.3/po/ca.po 2014-04-05 01:11:17.000000000 +0000
@@ -7,15 +7,15 @@
msgstr ""
"Project-Id-Version: mugshot\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2014-03-08 23:21-0500\n"
+"POT-Creation-Date: 2014-04-01 23:14-0400\n"
"PO-Revision-Date: 2014-03-03 00:13+0000\n"
"Last-Translator: Adolfo Jayme \n"
"Language-Team: Catalan \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-03-09 06:08+0000\n"
-"X-Generator: Launchpad (build 16948)\n"
+"X-Launchpad-Export-Date: 2014-04-03 06:06+0000\n"
+"X-Generator: Launchpad (build 16967)\n"
#: ../mugshot.desktop.in.h:1
msgid "About Me"
@@ -61,7 +61,7 @@
msgid "Browse…"
msgstr "Explora..."
-#: ../data/ui/MugshotWindow.ui.h:9 ../mugshot/MugshotWindow.py:491
+#: ../data/ui/MugshotWindow.ui.h:9 ../mugshot/MugshotWindow.py:571
msgid "Mugshot"
msgstr "Mugshot"
@@ -132,33 +132,33 @@
#. Set the record button to retry, and disable it until the capture
#. finishes.
-#: ../mugshot/CameraMugshotDialog.py:280
+#: ../mugshot/CameraMugshotDialog.py:278
msgid "Retry"
msgstr "Reintenta"
#. Password was incorrect, complain.
-#: ../mugshot/MugshotWindow.py:300
+#: ../mugshot/MugshotWindow.py:328
msgid "Authentication Failed"
msgstr "Ha fallat l’autenticació"
-#: ../mugshot/MugshotWindow.py:301
+#: ../mugshot/MugshotWindow.py:329
msgid "User details were not updated."
msgstr "No s’han actualitzat els detalls de l’usuari."
-#: ../mugshot/MugshotWindow.py:421
+#: ../mugshot/MugshotWindow.py:493
msgid "Update Pidgin buddy icon?"
msgstr "Actualitzar la icona de l'amic en Pidgin?"
-#: ../mugshot/MugshotWindow.py:422
+#: ../mugshot/MugshotWindow.py:494
msgid "Would you also like to update your Pidgin buddy icon?"
msgstr "Desitgeu també actualitzar la icona de l'amic en Pidgin?"
-#: ../mugshot/MugshotWindow.py:492
+#: ../mugshot/MugshotWindow.py:572
msgid "Enter your password to change user details."
msgstr ""
"Escriviu la vostra contrasenya per modificar els detalls de l’usuari."
-#: ../mugshot/MugshotWindow.py:494
+#: ../mugshot/MugshotWindow.py:574
msgid ""
"This is a security measure to prevent unwanted updates\n"
"to your personal information."
@@ -166,23 +166,23 @@
"Aquesta és una mesura de seguretat per prevenir actualitzacions\n"
"no desitjades de la informació personal."
-#: ../mugshot/MugshotWindow.py:641
+#: ../mugshot/MugshotWindow.py:725
msgid "Update LibreOffice user details?"
msgstr "Actualitzar les dades d'usuari en LibreOffice?"
-#: ../mugshot/MugshotWindow.py:642
+#: ../mugshot/MugshotWindow.py:726
msgid "Would you also like to update your user details in LibreOffice?"
msgstr "Desitgeu també actualitzar les dades d'usuari en LibreOffice?"
-#: ../mugshot_lib/SudoDialog.py:65
+#: ../mugshot_lib/SudoDialog.py:80
msgid "Cancel"
msgstr "Cancel·la"
-#: ../mugshot_lib/SudoDialog.py:66
+#: ../mugshot_lib/SudoDialog.py:81
msgid "OK"
msgstr "D’acord"
-#: ../mugshot_lib/SudoDialog.py:79
+#: ../mugshot_lib/SudoDialog.py:94
msgid ""
"Enter your password to\n"
"perform administrative tasks."
@@ -190,7 +190,7 @@
"Escriviu la vostra contrasenya per\n"
"fer tasques administratives."
-#: ../mugshot_lib/SudoDialog.py:81
+#: ../mugshot_lib/SudoDialog.py:96
#, python-format
msgid ""
"The application '%s' lets you\n"
@@ -199,10 +199,10 @@
"L’aplicació «%s» us permet\n"
"modificar parts essencials del sistema."
-#: ../mugshot_lib/SudoDialog.py:102
+#: ../mugshot_lib/SudoDialog.py:117
msgid "Incorrect password... try again."
msgstr "La contrasenya és incorrecta. Intenteu-ho de nou."
-#: ../mugshot_lib/SudoDialog.py:107
+#: ../mugshot_lib/SudoDialog.py:122
msgid "Password:"
msgstr "Contrasenya:"
diff -Nru mugshot-0.2.2/po/ca@valencia.po mugshot-0.2.3/po/ca@valencia.po
--- mugshot-0.2.2/po/ca@valencia.po 2014-03-09 11:58:08.000000000 +0000
+++ mugshot-0.2.3/po/ca@valencia.po 2014-04-05 01:11:17.000000000 +0000
@@ -7,15 +7,15 @@
msgstr ""
"Project-Id-Version: mugshot\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2014-03-08 23:21-0500\n"
+"POT-Creation-Date: 2014-04-01 23:14-0400\n"
"PO-Revision-Date: 2013-07-22 19:12+0000\n"
"Last-Translator: Sergio Baldoví \n"
"Language-Team: Catalan (Valencian) \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-03-09 06:08+0000\n"
-"X-Generator: Launchpad (build 16948)\n"
+"X-Launchpad-Export-Date: 2014-04-03 06:06+0000\n"
+"X-Generator: Launchpad (build 16967)\n"
#: ../mugshot.desktop.in.h:1
msgid "About Me"
@@ -61,7 +61,7 @@
msgid "Browse…"
msgstr "Explora..."
-#: ../data/ui/MugshotWindow.ui.h:9 ../mugshot/MugshotWindow.py:491
+#: ../data/ui/MugshotWindow.ui.h:9 ../mugshot/MugshotWindow.py:571
msgid "Mugshot"
msgstr "Mugshot"
@@ -130,32 +130,32 @@
#. Set the record button to retry, and disable it until the capture
#. finishes.
-#: ../mugshot/CameraMugshotDialog.py:280
+#: ../mugshot/CameraMugshotDialog.py:278
msgid "Retry"
msgstr "Reintenta"
#. Password was incorrect, complain.
-#: ../mugshot/MugshotWindow.py:300
+#: ../mugshot/MugshotWindow.py:328
msgid "Authentication Failed"
msgstr ""
-#: ../mugshot/MugshotWindow.py:301
+#: ../mugshot/MugshotWindow.py:329
msgid "User details were not updated."
msgstr ""
-#: ../mugshot/MugshotWindow.py:421
+#: ../mugshot/MugshotWindow.py:493
msgid "Update Pidgin buddy icon?"
msgstr "Actualitzar la icona de l'amic en Pidgin?"
-#: ../mugshot/MugshotWindow.py:422
+#: ../mugshot/MugshotWindow.py:494
msgid "Would you also like to update your Pidgin buddy icon?"
msgstr "Desitgeu també actualitzar la icona de l'amic en Pidgin?"
-#: ../mugshot/MugshotWindow.py:492
+#: ../mugshot/MugshotWindow.py:572
msgid "Enter your password to change user details."
msgstr ""
-#: ../mugshot/MugshotWindow.py:494
+#: ../mugshot/MugshotWindow.py:574
msgid ""
"This is a security measure to prevent unwanted updates\n"
"to your personal information."
@@ -163,39 +163,39 @@
"Esta és una mesura de seguretat per a previndre actualitzacions\n"
"no desitjades de la informació personal."
-#: ../mugshot/MugshotWindow.py:641
+#: ../mugshot/MugshotWindow.py:725
msgid "Update LibreOffice user details?"
msgstr "Actualitzar les dades d'usuari en LibreOffice?"
-#: ../mugshot/MugshotWindow.py:642
+#: ../mugshot/MugshotWindow.py:726
msgid "Would you also like to update your user details in LibreOffice?"
msgstr "Desitgeu també actualitzar les dades d'usuari en LibreOffice?"
-#: ../mugshot_lib/SudoDialog.py:65
+#: ../mugshot_lib/SudoDialog.py:80
msgid "Cancel"
msgstr ""
-#: ../mugshot_lib/SudoDialog.py:66
+#: ../mugshot_lib/SudoDialog.py:81
msgid "OK"
msgstr ""
-#: ../mugshot_lib/SudoDialog.py:79
+#: ../mugshot_lib/SudoDialog.py:94
msgid ""
"Enter your password to\n"
"perform administrative tasks."
msgstr ""
-#: ../mugshot_lib/SudoDialog.py:81
+#: ../mugshot_lib/SudoDialog.py:96
#, python-format
msgid ""
"The application '%s' lets you\n"
"modify essential parts of your system."
msgstr ""
-#: ../mugshot_lib/SudoDialog.py:102
+#: ../mugshot_lib/SudoDialog.py:117
msgid "Incorrect password... try again."
msgstr ""
-#: ../mugshot_lib/SudoDialog.py:107
+#: ../mugshot_lib/SudoDialog.py:122
msgid "Password:"
msgstr "Contrasenya:"
diff -Nru mugshot-0.2.2/po/de.po mugshot-0.2.3/po/de.po
--- mugshot-0.2.2/po/de.po 2014-03-09 11:58:08.000000000 +0000
+++ mugshot-0.2.3/po/de.po 2014-04-05 01:11:17.000000000 +0000
@@ -7,15 +7,15 @@
msgstr ""
"Project-Id-Version: mugshot\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2014-03-08 23:21-0500\n"
+"POT-Creation-Date: 2014-04-01 23:14-0400\n"
"PO-Revision-Date: 2013-07-25 16:17+0000\n"
"Last-Translator: Simon Steinbeiß \n"
"Language-Team: German \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-03-09 06:08+0000\n"
-"X-Generator: Launchpad (build 16948)\n"
+"X-Launchpad-Export-Date: 2014-04-03 06:06+0000\n"
+"X-Generator: Launchpad (build 16967)\n"
#: ../mugshot.desktop.in.h:1
msgid "About Me"
@@ -61,7 +61,7 @@
msgid "Browse…"
msgstr "Durchsuchen …"
-#: ../data/ui/MugshotWindow.ui.h:9 ../mugshot/MugshotWindow.py:491
+#: ../data/ui/MugshotWindow.ui.h:9 ../mugshot/MugshotWindow.py:571
msgid "Mugshot"
msgstr "Benutzerfoto"
@@ -130,32 +130,32 @@
#. Set the record button to retry, and disable it until the capture
#. finishes.
-#: ../mugshot/CameraMugshotDialog.py:280
+#: ../mugshot/CameraMugshotDialog.py:278
msgid "Retry"
msgstr "Erneut versuchen"
#. Password was incorrect, complain.
-#: ../mugshot/MugshotWindow.py:300
+#: ../mugshot/MugshotWindow.py:328
msgid "Authentication Failed"
msgstr ""
-#: ../mugshot/MugshotWindow.py:301
+#: ../mugshot/MugshotWindow.py:329
msgid "User details were not updated."
msgstr ""
-#: ../mugshot/MugshotWindow.py:421
+#: ../mugshot/MugshotWindow.py:493
msgid "Update Pidgin buddy icon?"
msgstr "Pidgin buddy icon aktualisieren?"
-#: ../mugshot/MugshotWindow.py:422
+#: ../mugshot/MugshotWindow.py:494
msgid "Would you also like to update your Pidgin buddy icon?"
msgstr "Soll das Pidgin buddy icon auch aktualisiert werden?"
-#: ../mugshot/MugshotWindow.py:492
+#: ../mugshot/MugshotWindow.py:572
msgid "Enter your password to change user details."
msgstr ""
-#: ../mugshot/MugshotWindow.py:494
+#: ../mugshot/MugshotWindow.py:574
msgid ""
"This is a security measure to prevent unwanted updates\n"
"to your personal information."
@@ -163,39 +163,39 @@
"Dies ist eine Sicherheitsmaßnahme um ungewollte Aktualisierungen\n"
"der persönlichen Informationen zu verhindern."
-#: ../mugshot/MugshotWindow.py:641
+#: ../mugshot/MugshotWindow.py:725
msgid "Update LibreOffice user details?"
msgstr "LibreOffice Benutzerdaten aktualisieren?"
-#: ../mugshot/MugshotWindow.py:642
+#: ../mugshot/MugshotWindow.py:726
msgid "Would you also like to update your user details in LibreOffice?"
msgstr "Sollen die LibreOffice Benutzerdaten auch aktualisiert werden?"
-#: ../mugshot_lib/SudoDialog.py:65
+#: ../mugshot_lib/SudoDialog.py:80
msgid "Cancel"
msgstr ""
-#: ../mugshot_lib/SudoDialog.py:66
+#: ../mugshot_lib/SudoDialog.py:81
msgid "OK"
msgstr ""
-#: ../mugshot_lib/SudoDialog.py:79
+#: ../mugshot_lib/SudoDialog.py:94
msgid ""
"Enter your password to\n"
"perform administrative tasks."
msgstr ""
-#: ../mugshot_lib/SudoDialog.py:81
+#: ../mugshot_lib/SudoDialog.py:96
#, python-format
msgid ""
"The application '%s' lets you\n"
"modify essential parts of your system."
msgstr ""
-#: ../mugshot_lib/SudoDialog.py:102
+#: ../mugshot_lib/SudoDialog.py:117
msgid "Incorrect password... try again."
msgstr ""
-#: ../mugshot_lib/SudoDialog.py:107
+#: ../mugshot_lib/SudoDialog.py:122
msgid "Password:"
msgstr "Passwort:"
diff -Nru mugshot-0.2.2/po/en_AU.po mugshot-0.2.3/po/en_AU.po
--- mugshot-0.2.2/po/en_AU.po 2014-03-09 11:58:08.000000000 +0000
+++ mugshot-0.2.3/po/en_AU.po 2014-04-05 01:11:17.000000000 +0000
@@ -7,15 +7,15 @@
msgstr ""
"Project-Id-Version: mugshot\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2014-03-08 23:21-0500\n"
+"POT-Creation-Date: 2014-04-01 23:14-0400\n"
"PO-Revision-Date: 2013-07-19 10:01+0000\n"
"Last-Translator: Jackson Doak \n"
"Language-Team: English (Australia) \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-03-09 06:08+0000\n"
-"X-Generator: Launchpad (build 16948)\n"
+"X-Launchpad-Export-Date: 2014-04-03 06:06+0000\n"
+"X-Generator: Launchpad (build 16967)\n"
#: ../mugshot.desktop.in.h:1
msgid "About Me"
@@ -61,7 +61,7 @@
msgid "Browse…"
msgstr "Browse…"
-#: ../data/ui/MugshotWindow.ui.h:9 ../mugshot/MugshotWindow.py:491
+#: ../data/ui/MugshotWindow.ui.h:9 ../mugshot/MugshotWindow.py:571
msgid "Mugshot"
msgstr "Mugshot"
@@ -130,32 +130,32 @@
#. Set the record button to retry, and disable it until the capture
#. finishes.
-#: ../mugshot/CameraMugshotDialog.py:280
+#: ../mugshot/CameraMugshotDialog.py:278
msgid "Retry"
msgstr "Retry"
#. Password was incorrect, complain.
-#: ../mugshot/MugshotWindow.py:300
+#: ../mugshot/MugshotWindow.py:328
msgid "Authentication Failed"
msgstr ""
-#: ../mugshot/MugshotWindow.py:301
+#: ../mugshot/MugshotWindow.py:329
msgid "User details were not updated."
msgstr ""
-#: ../mugshot/MugshotWindow.py:421
+#: ../mugshot/MugshotWindow.py:493
msgid "Update Pidgin buddy icon?"
msgstr "Update Pidgin buddy icon?"
-#: ../mugshot/MugshotWindow.py:422
+#: ../mugshot/MugshotWindow.py:494
msgid "Would you also like to update your Pidgin buddy icon?"
msgstr "Would you also like to update your Pidgin buddy icon?"
-#: ../mugshot/MugshotWindow.py:492
+#: ../mugshot/MugshotWindow.py:572
msgid "Enter your password to change user details."
msgstr ""
-#: ../mugshot/MugshotWindow.py:494
+#: ../mugshot/MugshotWindow.py:574
msgid ""
"This is a security measure to prevent unwanted updates\n"
"to your personal information."
@@ -163,39 +163,39 @@
"This is a security measure to prevent unwanted updates\n"
"to your personal information."
-#: ../mugshot/MugshotWindow.py:641
+#: ../mugshot/MugshotWindow.py:725
msgid "Update LibreOffice user details?"
msgstr "Update LibreOffice user details?"
-#: ../mugshot/MugshotWindow.py:642
+#: ../mugshot/MugshotWindow.py:726
msgid "Would you also like to update your user details in LibreOffice?"
msgstr "Would you also like to update your user details in LibreOffice?"
-#: ../mugshot_lib/SudoDialog.py:65
+#: ../mugshot_lib/SudoDialog.py:80
msgid "Cancel"
msgstr ""
-#: ../mugshot_lib/SudoDialog.py:66
+#: ../mugshot_lib/SudoDialog.py:81
msgid "OK"
msgstr ""
-#: ../mugshot_lib/SudoDialog.py:79
+#: ../mugshot_lib/SudoDialog.py:94
msgid ""
"Enter your password to\n"
"perform administrative tasks."
msgstr ""
-#: ../mugshot_lib/SudoDialog.py:81
+#: ../mugshot_lib/SudoDialog.py:96
#, python-format
msgid ""
"The application '%s' lets you\n"
"modify essential parts of your system."
msgstr ""
-#: ../mugshot_lib/SudoDialog.py:102
+#: ../mugshot_lib/SudoDialog.py:117
msgid "Incorrect password... try again."
msgstr ""
-#: ../mugshot_lib/SudoDialog.py:107
+#: ../mugshot_lib/SudoDialog.py:122
msgid "Password:"
msgstr "Password:"
diff -Nru mugshot-0.2.2/po/es.po mugshot-0.2.3/po/es.po
--- mugshot-0.2.2/po/es.po 2014-03-09 11:58:08.000000000 +0000
+++ mugshot-0.2.3/po/es.po 2014-04-05 01:11:17.000000000 +0000
@@ -7,15 +7,15 @@
msgstr ""
"Project-Id-Version: mugshot\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2014-03-08 23:21-0500\n"
+"POT-Creation-Date: 2014-04-01 23:14-0400\n"
"PO-Revision-Date: 2014-03-02 23:58+0000\n"
"Last-Translator: Adolfo Jayme \n"
"Language-Team: Spanish \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-03-09 06:08+0000\n"
-"X-Generator: Launchpad (build 16948)\n"
+"X-Launchpad-Export-Date: 2014-04-03 06:06+0000\n"
+"X-Generator: Launchpad (build 16967)\n"
#: ../mugshot.desktop.in.h:1
msgid "About Me"
@@ -61,7 +61,7 @@
msgid "Browse…"
msgstr "Examinar…"
-#: ../data/ui/MugshotWindow.ui.h:9 ../mugshot/MugshotWindow.py:491
+#: ../data/ui/MugshotWindow.ui.h:9 ../mugshot/MugshotWindow.py:571
msgid "Mugshot"
msgstr "Mugshot"
@@ -131,32 +131,32 @@
#. Set the record button to retry, and disable it until the capture
#. finishes.
-#: ../mugshot/CameraMugshotDialog.py:280
+#: ../mugshot/CameraMugshotDialog.py:278
msgid "Retry"
msgstr "Reintentar"
#. Password was incorrect, complain.
-#: ../mugshot/MugshotWindow.py:300
+#: ../mugshot/MugshotWindow.py:328
msgid "Authentication Failed"
msgstr "Falló la autenticación"
-#: ../mugshot/MugshotWindow.py:301
+#: ../mugshot/MugshotWindow.py:329
msgid "User details were not updated."
msgstr "No se actualizaron los datos del usuario."
-#: ../mugshot/MugshotWindow.py:421
+#: ../mugshot/MugshotWindow.py:493
msgid "Update Pidgin buddy icon?"
msgstr "¿Actualizar el icono de amigo de Pidgin?"
-#: ../mugshot/MugshotWindow.py:422
+#: ../mugshot/MugshotWindow.py:494
msgid "Would you also like to update your Pidgin buddy icon?"
msgstr "¿Quiere actualizar también el icono de amigo de Pidgin?"
-#: ../mugshot/MugshotWindow.py:492
+#: ../mugshot/MugshotWindow.py:572
msgid "Enter your password to change user details."
msgstr "Escriba su contraseña para cambiar los detalles del usuario."
-#: ../mugshot/MugshotWindow.py:494
+#: ../mugshot/MugshotWindow.py:574
msgid ""
"This is a security measure to prevent unwanted updates\n"
"to your personal information."
@@ -164,23 +164,23 @@
"Esta es una medida de seguridad para prevenir actualizaciones\n"
" no deseadas de su información personal."
-#: ../mugshot/MugshotWindow.py:641
+#: ../mugshot/MugshotWindow.py:725
msgid "Update LibreOffice user details?"
msgstr "¿Actualizar los detalles de usuario de LibreOffice?"
-#: ../mugshot/MugshotWindow.py:642
+#: ../mugshot/MugshotWindow.py:726
msgid "Would you also like to update your user details in LibreOffice?"
msgstr "¿Quiere actualizar también los detalles de usuario de LibreOffice?"
-#: ../mugshot_lib/SudoDialog.py:65
+#: ../mugshot_lib/SudoDialog.py:80
msgid "Cancel"
msgstr "Cancelar"
-#: ../mugshot_lib/SudoDialog.py:66
+#: ../mugshot_lib/SudoDialog.py:81
msgid "OK"
msgstr "Aceptar"
-#: ../mugshot_lib/SudoDialog.py:79
+#: ../mugshot_lib/SudoDialog.py:94
msgid ""
"Enter your password to\n"
"perform administrative tasks."
@@ -188,7 +188,7 @@
"Escriba su contraseña para\n"
"realizar tareas administrativas."
-#: ../mugshot_lib/SudoDialog.py:81
+#: ../mugshot_lib/SudoDialog.py:96
#, python-format
msgid ""
"The application '%s' lets you\n"
@@ -197,10 +197,10 @@
"La aplicación «%s» le permite\n"
"modificar partes esenciales del sistema."
-#: ../mugshot_lib/SudoDialog.py:102
+#: ../mugshot_lib/SudoDialog.py:117
msgid "Incorrect password... try again."
msgstr "Contraseña incorrecta. Inténtelo de nuevo."
-#: ../mugshot_lib/SudoDialog.py:107
+#: ../mugshot_lib/SudoDialog.py:122
msgid "Password:"
msgstr "Contraseña:"
diff -Nru mugshot-0.2.2/po/fi.po mugshot-0.2.3/po/fi.po
--- mugshot-0.2.2/po/fi.po 2014-03-09 11:58:08.000000000 +0000
+++ mugshot-0.2.3/po/fi.po 2014-04-05 01:11:17.000000000 +0000
@@ -7,15 +7,15 @@
msgstr ""
"Project-Id-Version: mugshot\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2014-03-08 23:21-0500\n"
+"POT-Creation-Date: 2014-04-01 23:14-0400\n"
"PO-Revision-Date: 2013-07-19 09:51+0000\n"
"Last-Translator: Pasi Lallinaho \n"
"Language-Team: Finnish \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-03-09 06:08+0000\n"
-"X-Generator: Launchpad (build 16948)\n"
+"X-Launchpad-Export-Date: 2014-04-03 06:06+0000\n"
+"X-Generator: Launchpad (build 16967)\n"
#: ../mugshot.desktop.in.h:1
msgid "About Me"
@@ -61,7 +61,7 @@
msgid "Browse…"
msgstr "Selaa…"
-#: ../data/ui/MugshotWindow.ui.h:9 ../mugshot/MugshotWindow.py:491
+#: ../data/ui/MugshotWindow.ui.h:9 ../mugshot/MugshotWindow.py:571
msgid "Mugshot"
msgstr "Valokuva"
@@ -131,32 +131,32 @@
#. Set the record button to retry, and disable it until the capture
#. finishes.
-#: ../mugshot/CameraMugshotDialog.py:280
+#: ../mugshot/CameraMugshotDialog.py:278
msgid "Retry"
msgstr "Yritä uudelleen"
#. Password was incorrect, complain.
-#: ../mugshot/MugshotWindow.py:300
+#: ../mugshot/MugshotWindow.py:328
msgid "Authentication Failed"
msgstr ""
-#: ../mugshot/MugshotWindow.py:301
+#: ../mugshot/MugshotWindow.py:329
msgid "User details were not updated."
msgstr ""
-#: ../mugshot/MugshotWindow.py:421
+#: ../mugshot/MugshotWindow.py:493
msgid "Update Pidgin buddy icon?"
msgstr "Päivitä Pidginin tuttavakuvake?"
-#: ../mugshot/MugshotWindow.py:422
+#: ../mugshot/MugshotWindow.py:494
msgid "Would you also like to update your Pidgin buddy icon?"
msgstr "Haluatko päivittää myös Pidginin tuttavakuvakkeen?"
-#: ../mugshot/MugshotWindow.py:492
+#: ../mugshot/MugshotWindow.py:572
msgid "Enter your password to change user details."
msgstr ""
-#: ../mugshot/MugshotWindow.py:494
+#: ../mugshot/MugshotWindow.py:574
msgid ""
"This is a security measure to prevent unwanted updates\n"
"to your personal information."
@@ -164,39 +164,39 @@
"Tämä on turvallisuustoimenpide, jolla estetään ei-toivotut päivitykset\n"
"henkilökohtaisiin tietoihisi."
-#: ../mugshot/MugshotWindow.py:641
+#: ../mugshot/MugshotWindow.py:725
msgid "Update LibreOffice user details?"
msgstr "Päivitä LibreOfficen käyttäjätiedot?"
-#: ../mugshot/MugshotWindow.py:642
+#: ../mugshot/MugshotWindow.py:726
msgid "Would you also like to update your user details in LibreOffice?"
msgstr "Haluatko päivittää myös LibreOfficen käyttäjätietosi?"
-#: ../mugshot_lib/SudoDialog.py:65
+#: ../mugshot_lib/SudoDialog.py:80
msgid "Cancel"
msgstr ""
-#: ../mugshot_lib/SudoDialog.py:66
+#: ../mugshot_lib/SudoDialog.py:81
msgid "OK"
msgstr ""
-#: ../mugshot_lib/SudoDialog.py:79
+#: ../mugshot_lib/SudoDialog.py:94
msgid ""
"Enter your password to\n"
"perform administrative tasks."
msgstr ""
-#: ../mugshot_lib/SudoDialog.py:81
+#: ../mugshot_lib/SudoDialog.py:96
#, python-format
msgid ""
"The application '%s' lets you\n"
"modify essential parts of your system."
msgstr ""
-#: ../mugshot_lib/SudoDialog.py:102
+#: ../mugshot_lib/SudoDialog.py:117
msgid "Incorrect password... try again."
msgstr ""
-#: ../mugshot_lib/SudoDialog.py:107
+#: ../mugshot_lib/SudoDialog.py:122
msgid "Password:"
msgstr "Salasana:"
diff -Nru mugshot-0.2.2/po/fr.po mugshot-0.2.3/po/fr.po
--- mugshot-0.2.2/po/fr.po 2014-03-09 11:58:08.000000000 +0000
+++ mugshot-0.2.3/po/fr.po 2014-04-05 01:11:17.000000000 +0000
@@ -7,15 +7,15 @@
msgstr ""
"Project-Id-Version: mugshot\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2014-03-08 23:21-0500\n"
+"POT-Creation-Date: 2014-04-01 23:14-0400\n"
"PO-Revision-Date: 2013-07-19 14:52+0000\n"
"Last-Translator: Benoit THIBAUD \n"
"Language-Team: French \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-03-09 06:08+0000\n"
-"X-Generator: Launchpad (build 16948)\n"
+"X-Launchpad-Export-Date: 2014-04-03 06:06+0000\n"
+"X-Generator: Launchpad (build 16967)\n"
#: ../mugshot.desktop.in.h:1
msgid "About Me"
@@ -61,7 +61,7 @@
msgid "Browse…"
msgstr "Parcourir…"
-#: ../data/ui/MugshotWindow.ui.h:9 ../mugshot/MugshotWindow.py:491
+#: ../data/ui/MugshotWindow.ui.h:9 ../mugshot/MugshotWindow.py:571
msgid "Mugshot"
msgstr "Mugshot"
@@ -130,32 +130,32 @@
#. Set the record button to retry, and disable it until the capture
#. finishes.
-#: ../mugshot/CameraMugshotDialog.py:280
+#: ../mugshot/CameraMugshotDialog.py:278
msgid "Retry"
msgstr "Réessayer"
#. Password was incorrect, complain.
-#: ../mugshot/MugshotWindow.py:300
+#: ../mugshot/MugshotWindow.py:328
msgid "Authentication Failed"
msgstr ""
-#: ../mugshot/MugshotWindow.py:301
+#: ../mugshot/MugshotWindow.py:329
msgid "User details were not updated."
msgstr ""
-#: ../mugshot/MugshotWindow.py:421
+#: ../mugshot/MugshotWindow.py:493
msgid "Update Pidgin buddy icon?"
msgstr "Mettre à jour aussi l'avatar de Pidgin ?"
-#: ../mugshot/MugshotWindow.py:422
+#: ../mugshot/MugshotWindow.py:494
msgid "Would you also like to update your Pidgin buddy icon?"
msgstr "Souhaitez-vous mettre à jour aussi votre avatar dans Pidgin ?"
-#: ../mugshot/MugshotWindow.py:492
+#: ../mugshot/MugshotWindow.py:572
msgid "Enter your password to change user details."
msgstr ""
-#: ../mugshot/MugshotWindow.py:494
+#: ../mugshot/MugshotWindow.py:574
msgid ""
"This is a security measure to prevent unwanted updates\n"
"to your personal information."
@@ -164,40 +164,40 @@
"souhaitées\n"
"dans vos informations personnelles."
-#: ../mugshot/MugshotWindow.py:641
+#: ../mugshot/MugshotWindow.py:725
msgid "Update LibreOffice user details?"
msgstr "Mettre à jour aussi les infos utilisateurs de LibreOffice ?"
-#: ../mugshot/MugshotWindow.py:642
+#: ../mugshot/MugshotWindow.py:726
msgid "Would you also like to update your user details in LibreOffice?"
msgstr ""
"Souhaitez-vous mettre à jour aussi vos infos utilisateurs dans LibreOffice ?"
-#: ../mugshot_lib/SudoDialog.py:65
+#: ../mugshot_lib/SudoDialog.py:80
msgid "Cancel"
msgstr ""
-#: ../mugshot_lib/SudoDialog.py:66
+#: ../mugshot_lib/SudoDialog.py:81
msgid "OK"
msgstr ""
-#: ../mugshot_lib/SudoDialog.py:79
+#: ../mugshot_lib/SudoDialog.py:94
msgid ""
"Enter your password to\n"
"perform administrative tasks."
msgstr ""
-#: ../mugshot_lib/SudoDialog.py:81
+#: ../mugshot_lib/SudoDialog.py:96
#, python-format
msgid ""
"The application '%s' lets you\n"
"modify essential parts of your system."
msgstr ""
-#: ../mugshot_lib/SudoDialog.py:102
+#: ../mugshot_lib/SudoDialog.py:117
msgid "Incorrect password... try again."
msgstr ""
-#: ../mugshot_lib/SudoDialog.py:107
+#: ../mugshot_lib/SudoDialog.py:122
msgid "Password:"
msgstr "Mot de passe :"
diff -Nru mugshot-0.2.2/po/it.po mugshot-0.2.3/po/it.po
--- mugshot-0.2.2/po/it.po 2014-03-09 11:58:08.000000000 +0000
+++ mugshot-0.2.3/po/it.po 2014-04-05 01:11:17.000000000 +0000
@@ -7,15 +7,15 @@
msgstr ""
"Project-Id-Version: mugshot\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2014-03-08 23:21-0500\n"
+"POT-Creation-Date: 2014-04-01 23:14-0400\n"
"PO-Revision-Date: 2013-08-14 22:31+0000\n"
"Last-Translator: Edoardo Maria Elidoro \n"
"Language-Team: Italian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-03-09 06:08+0000\n"
-"X-Generator: Launchpad (build 16948)\n"
+"X-Launchpad-Export-Date: 2014-04-03 06:06+0000\n"
+"X-Generator: Launchpad (build 16967)\n"
#: ../mugshot.desktop.in.h:1
msgid "About Me"
@@ -61,7 +61,7 @@
msgid "Browse…"
msgstr "Esplora..."
-#: ../data/ui/MugshotWindow.ui.h:9 ../mugshot/MugshotWindow.py:491
+#: ../data/ui/MugshotWindow.ui.h:9 ../mugshot/MugshotWindow.py:571
msgid "Mugshot"
msgstr ""
@@ -126,32 +126,32 @@
#. Set the record button to retry, and disable it until the capture
#. finishes.
-#: ../mugshot/CameraMugshotDialog.py:280
+#: ../mugshot/CameraMugshotDialog.py:278
msgid "Retry"
msgstr "Riprova"
#. Password was incorrect, complain.
-#: ../mugshot/MugshotWindow.py:300
+#: ../mugshot/MugshotWindow.py:328
msgid "Authentication Failed"
msgstr ""
-#: ../mugshot/MugshotWindow.py:301
+#: ../mugshot/MugshotWindow.py:329
msgid "User details were not updated."
msgstr ""
-#: ../mugshot/MugshotWindow.py:421
+#: ../mugshot/MugshotWindow.py:493
msgid "Update Pidgin buddy icon?"
msgstr ""
-#: ../mugshot/MugshotWindow.py:422
+#: ../mugshot/MugshotWindow.py:494
msgid "Would you also like to update your Pidgin buddy icon?"
msgstr ""
-#: ../mugshot/MugshotWindow.py:492
+#: ../mugshot/MugshotWindow.py:572
msgid "Enter your password to change user details."
msgstr ""
-#: ../mugshot/MugshotWindow.py:494
+#: ../mugshot/MugshotWindow.py:574
msgid ""
"This is a security measure to prevent unwanted updates\n"
"to your personal information."
@@ -159,39 +159,39 @@
"Questa è una misura di sicurezza per evitare aggiornamenti\n"
"indesiderati alle tue informazioni."
-#: ../mugshot/MugshotWindow.py:641
+#: ../mugshot/MugshotWindow.py:725
msgid "Update LibreOffice user details?"
msgstr ""
-#: ../mugshot/MugshotWindow.py:642
+#: ../mugshot/MugshotWindow.py:726
msgid "Would you also like to update your user details in LibreOffice?"
msgstr ""
-#: ../mugshot_lib/SudoDialog.py:65
+#: ../mugshot_lib/SudoDialog.py:80
msgid "Cancel"
msgstr ""
-#: ../mugshot_lib/SudoDialog.py:66
+#: ../mugshot_lib/SudoDialog.py:81
msgid "OK"
msgstr ""
-#: ../mugshot_lib/SudoDialog.py:79
+#: ../mugshot_lib/SudoDialog.py:94
msgid ""
"Enter your password to\n"
"perform administrative tasks."
msgstr ""
-#: ../mugshot_lib/SudoDialog.py:81
+#: ../mugshot_lib/SudoDialog.py:96
#, python-format
msgid ""
"The application '%s' lets you\n"
"modify essential parts of your system."
msgstr ""
-#: ../mugshot_lib/SudoDialog.py:102
+#: ../mugshot_lib/SudoDialog.py:117
msgid "Incorrect password... try again."
msgstr ""
-#: ../mugshot_lib/SudoDialog.py:107
+#: ../mugshot_lib/SudoDialog.py:122
msgid "Password:"
msgstr "Password:"
diff -Nru mugshot-0.2.2/po/ja.po mugshot-0.2.3/po/ja.po
--- mugshot-0.2.2/po/ja.po 1970-01-01 00:00:00.000000000 +0000
+++ mugshot-0.2.3/po/ja.po 2014-04-05 01:11:17.000000000 +0000
@@ -0,0 +1,205 @@
+# Japanese translation for mugshot
+# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
+# This file is distributed under the same license as the mugshot package.
+# FIRST AUTHOR , 2014.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mugshot\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2014-04-01 23:14-0400\n"
+"PO-Revision-Date: 2014-03-30 02:53+0000\n"
+"Last-Translator: Ikuya Awashiro \n"
+"Language-Team: Japanese \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2014-04-03 06:06+0000\n"
+"X-Generator: Launchpad (build 16967)\n"
+
+#: ../mugshot.desktop.in.h:1
+msgid "About Me"
+msgstr "個人情報"
+
+#: ../mugshot.desktop.in.h:2
+msgid "Configure your profile image and contact details"
+msgstr "プロファイルの画像と連絡先の詳細を設定"
+
+#: ../data/ui/CameraMugshotDialog.ui.h:1
+msgid "Capture - Mugshot"
+msgstr "キャプチャ - Mugshot"
+
+#: ../data/ui/MugshotWindow.ui.h:1
+msgid "Preview"
+msgstr "プレビュー"
+
+#: ../data/ui/MugshotWindow.ui.h:2
+msgid "Center"
+msgstr "中央"
+
+#: ../data/ui/MugshotWindow.ui.h:3
+msgid "Left"
+msgstr "左"
+
+#: ../data/ui/MugshotWindow.ui.h:4
+msgid "Right"
+msgstr "右"
+
+#: ../data/ui/MugshotWindow.ui.h:5
+msgid "Crop"
+msgstr "切り抜き"
+
+#: ../data/ui/MugshotWindow.ui.h:6
+msgid "Select from stock…"
+msgstr "ストックから選択..."
+
+#: ../data/ui/MugshotWindow.ui.h:7
+msgid "Capture from camera…"
+msgstr "カメラでキャプチャ..."
+
+#: ../data/ui/MugshotWindow.ui.h:8
+msgid "Browse…"
+msgstr "参照…"
+
+#: ../data/ui/MugshotWindow.ui.h:9 ../mugshot/MugshotWindow.py:571
+msgid "Mugshot"
+msgstr "Mugshot"
+
+#: ../data/ui/MugshotWindow.ui.h:10
+msgid "First Name"
+msgstr "名"
+
+#: ../data/ui/MugshotWindow.ui.h:11
+msgid "Last Name"
+msgstr "姓"
+
+#: ../data/ui/MugshotWindow.ui.h:12
+msgid "Initials"
+msgstr "イニシャル"
+
+#: ../data/ui/MugshotWindow.ui.h:13
+msgid "Home Phone"
+msgstr "電話番号"
+
+#: ../data/ui/MugshotWindow.ui.h:14
+msgid "Email Address"
+msgstr "メールアドレス"
+
+#: ../data/ui/MugshotWindow.ui.h:15
+msgid "Office Phone"
+msgstr "勤務先の電話番号"
+
+#: ../data/ui/MugshotWindow.ui.h:16
+msgid "Fax"
+msgstr "FAX"
+
+#: ../data/ui/MugshotWindow.ui.h:17
+msgid "Select a photo…"
+msgstr "写真の選択..."
+
+#: ../mugshot/__init__.py:34
+msgid "Show debug messages (-vv debugs mugshot_lib also)"
+msgstr "デバッグメッセージの表示 (-vv debugs mugshot_lib でも可)"
+
+#: ../mugshot/CameraMugshotDialog.py:106
+#, python-format
+msgid "Camera failed to load. Devices: %s"
+msgstr "%s のカメラのロードに失敗しました。"
+
+#. Translators: Please include newlines, as required to fit the message.
+#: ../mugshot/CameraMugshotDialog.py:124
+msgid ""
+"Sorry, but your camera\n"
+"failed to initialize."
+msgstr ""
+"申し訳ございません、カメラ\n"
+"の読み込みに失敗しました。"
+
+#. Translators: Please include newlines, as required to fit the message.
+#: ../mugshot/CameraMugshotDialog.py:131
+msgid ""
+"Please wait while your\n"
+"camera is initialized."
+msgstr ""
+"カメラの初期化が終わるまで\n"
+"お待ちください。"
+
+#: ../mugshot/CameraMugshotDialog.py:151
+msgid "Cannot display camera output.Ignoring play command"
+msgstr "カメラの出力を表示できませんでした。再生コマンドが無視されました。"
+
+#. Set the record button to retry, and disable it until the capture
+#. finishes.
+#: ../mugshot/CameraMugshotDialog.py:278
+msgid "Retry"
+msgstr "再試行"
+
+#. Password was incorrect, complain.
+#: ../mugshot/MugshotWindow.py:328
+msgid "Authentication Failed"
+msgstr "認証に失敗しました"
+
+#: ../mugshot/MugshotWindow.py:329
+msgid "User details were not updated."
+msgstr "ユーザーの詳細はアップデートされませんでした。"
+
+#: ../mugshot/MugshotWindow.py:493
+msgid "Update Pidgin buddy icon?"
+msgstr "Pigdinの仲間アイコン"
+
+#: ../mugshot/MugshotWindow.py:494
+msgid "Would you also like to update your Pidgin buddy icon?"
+msgstr "Pigdinの仲間アイコンもアップデートしますか?"
+
+#: ../mugshot/MugshotWindow.py:572
+msgid "Enter your password to change user details."
+msgstr "ユーザーの詳細を変更するためにパスワードを入力してください。"
+
+#: ../mugshot/MugshotWindow.py:574
+msgid ""
+"This is a security measure to prevent unwanted updates\n"
+"to your personal information."
+msgstr ""
+"個人情報を希望していないのにアップデート\n"
+"されないようにするセキュリティの方針です。"
+
+#: ../mugshot/MugshotWindow.py:725
+msgid "Update LibreOffice user details?"
+msgstr "LibreOfficeのユーザー詳細"
+
+#: ../mugshot/MugshotWindow.py:726
+msgid "Would you also like to update your user details in LibreOffice?"
+msgstr "LibreOfficeのユーザー詳細もアップデートしますか?"
+
+#: ../mugshot_lib/SudoDialog.py:80
+msgid "Cancel"
+msgstr "キャンセル"
+
+#: ../mugshot_lib/SudoDialog.py:81
+msgid "OK"
+msgstr "OK"
+
+#: ../mugshot_lib/SudoDialog.py:94
+msgid ""
+"Enter your password to\n"
+"perform administrative tasks."
+msgstr ""
+"管理者権限が必要な操作を実行するため\n"
+"パスワードを入力してください。"
+
+#: ../mugshot_lib/SudoDialog.py:96
+#, python-format
+msgid ""
+"The application '%s' lets you\n"
+"modify essential parts of your system."
+msgstr ""
+"アプリケーション '%s' はシステムの\n"
+"主要な部分を修正しました。"
+
+#: ../mugshot_lib/SudoDialog.py:117
+msgid "Incorrect password... try again."
+msgstr "パスワードが正しくありません... 再入力してください。"
+
+#: ../mugshot_lib/SudoDialog.py:122
+msgid "Password:"
+msgstr "パスワード:"
diff -Nru mugshot-0.2.2/po/nl.po mugshot-0.2.3/po/nl.po
--- mugshot-0.2.2/po/nl.po 2014-03-09 11:58:08.000000000 +0000
+++ mugshot-0.2.3/po/nl.po 2014-04-05 01:11:17.000000000 +0000
@@ -7,15 +7,15 @@
msgstr ""
"Project-Id-Version: mugshot\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2014-03-08 23:21-0500\n"
-"PO-Revision-Date: 2014-02-27 22:24+0000\n"
+"POT-Creation-Date: 2014-04-01 23:14-0400\n"
+"PO-Revision-Date: 2014-03-14 20:41+0000\n"
"Last-Translator: Pjotr12345 \n"
"Language-Team: Dutch \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-03-09 06:08+0000\n"
-"X-Generator: Launchpad (build 16948)\n"
+"X-Launchpad-Export-Date: 2014-04-03 06:06+0000\n"
+"X-Generator: Launchpad (build 16967)\n"
#: ../mugshot.desktop.in.h:1
msgid "About Me"
@@ -61,7 +61,7 @@
msgid "Browse…"
msgstr "Bladeren…"
-#: ../data/ui/MugshotWindow.ui.h:9 ../mugshot/MugshotWindow.py:491
+#: ../data/ui/MugshotWindow.ui.h:9 ../mugshot/MugshotWindow.py:571
msgid "Mugshot"
msgstr "Pasfoto"
@@ -130,32 +130,32 @@
#. Set the record button to retry, and disable it until the capture
#. finishes.
-#: ../mugshot/CameraMugshotDialog.py:280
+#: ../mugshot/CameraMugshotDialog.py:278
msgid "Retry"
msgstr "Probeer opnieuw"
#. Password was incorrect, complain.
-#: ../mugshot/MugshotWindow.py:300
+#: ../mugshot/MugshotWindow.py:328
msgid "Authentication Failed"
-msgstr ""
+msgstr "Authenticatie mislukt"
-#: ../mugshot/MugshotWindow.py:301
+#: ../mugshot/MugshotWindow.py:329
msgid "User details were not updated."
-msgstr ""
+msgstr "Gebruikersdetails werden niet bijgewerkt."
-#: ../mugshot/MugshotWindow.py:421
+#: ../mugshot/MugshotWindow.py:493
msgid "Update Pidgin buddy icon?"
msgstr "Pictogram voor Pidgin-vriend bijwerken?"
-#: ../mugshot/MugshotWindow.py:422
+#: ../mugshot/MugshotWindow.py:494
msgid "Would you also like to update your Pidgin buddy icon?"
msgstr "Wilt u ook uw pictogram bijwerken voor Pidgin-vriend?"
-#: ../mugshot/MugshotWindow.py:492
+#: ../mugshot/MugshotWindow.py:572
msgid "Enter your password to change user details."
-msgstr ""
+msgstr "Voer uw wachtwoord in om gebruikersdetails te wijzigen."
-#: ../mugshot/MugshotWindow.py:494
+#: ../mugshot/MugshotWindow.py:574
msgid ""
"This is a security measure to prevent unwanted updates\n"
"to your personal information."
@@ -163,39 +163,45 @@
"Dit is een veiligheidsmaatregel ter voorkoming van\n"
"ongewenste wijzigingen in uw persoonlijke informatie."
-#: ../mugshot/MugshotWindow.py:641
+#: ../mugshot/MugshotWindow.py:725
msgid "Update LibreOffice user details?"
msgstr "Gebruikerdetails voor Libre Office bijwerken?"
-#: ../mugshot/MugshotWindow.py:642
+#: ../mugshot/MugshotWindow.py:726
msgid "Would you also like to update your user details in LibreOffice?"
msgstr "Wilt u ook uw gebruikerdetails bijwerken voor Libre Office?"
-#: ../mugshot_lib/SudoDialog.py:65
+#: ../mugshot_lib/SudoDialog.py:80
msgid "Cancel"
-msgstr ""
+msgstr "Annuleren"
-#: ../mugshot_lib/SudoDialog.py:66
+#: ../mugshot_lib/SudoDialog.py:81
msgid "OK"
-msgstr ""
+msgstr "OK"
-#: ../mugshot_lib/SudoDialog.py:79
+#: ../mugshot_lib/SudoDialog.py:94
msgid ""
"Enter your password to\n"
"perform administrative tasks."
msgstr ""
+"Voer uw wachtwoord in\n"
+"om beheerstaken uit te\n"
+"voeren."
-#: ../mugshot_lib/SudoDialog.py:81
+#: ../mugshot_lib/SudoDialog.py:96
#, python-format
msgid ""
"The application '%s' lets you\n"
"modify essential parts of your system."
msgstr ""
+"De toepassing '%s' laat u\n"
+"essentiele delen van uw\n"
+"systeem wijzigen."
-#: ../mugshot_lib/SudoDialog.py:102
+#: ../mugshot_lib/SudoDialog.py:117
msgid "Incorrect password... try again."
-msgstr ""
+msgstr "Onjuist wachtwoord.... Probeer het a.u.b. opnieuw."
-#: ../mugshot_lib/SudoDialog.py:107
+#: ../mugshot_lib/SudoDialog.py:122
msgid "Password:"
msgstr "Wachtwoord:"
diff -Nru mugshot-0.2.2/po/pl.po mugshot-0.2.3/po/pl.po
--- mugshot-0.2.2/po/pl.po 2014-03-09 11:58:08.000000000 +0000
+++ mugshot-0.2.3/po/pl.po 2014-04-05 01:11:17.000000000 +0000
@@ -7,15 +7,15 @@
msgstr ""
"Project-Id-Version: mugshot\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2014-03-08 23:21-0500\n"
+"POT-Creation-Date: 2014-04-01 23:14-0400\n"
"PO-Revision-Date: 2013-10-07 14:17+0000\n"
"Last-Translator: Michał Olber \n"
"Language-Team: English (Australia) \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-03-09 06:08+0000\n"
-"X-Generator: Launchpad (build 16948)\n"
+"X-Launchpad-Export-Date: 2014-04-03 06:06+0000\n"
+"X-Generator: Launchpad (build 16967)\n"
#: ../mugshot.desktop.in.h:1
msgid "About Me"
@@ -61,7 +61,7 @@
msgid "Browse…"
msgstr "Przeglądaj…"
-#: ../data/ui/MugshotWindow.ui.h:9 ../mugshot/MugshotWindow.py:491
+#: ../data/ui/MugshotWindow.ui.h:9 ../mugshot/MugshotWindow.py:571
msgid "Mugshot"
msgstr "Mugshot"
@@ -130,32 +130,32 @@
#. Set the record button to retry, and disable it until the capture
#. finishes.
-#: ../mugshot/CameraMugshotDialog.py:280
+#: ../mugshot/CameraMugshotDialog.py:278
msgid "Retry"
msgstr "Powtórz"
#. Password was incorrect, complain.
-#: ../mugshot/MugshotWindow.py:300
+#: ../mugshot/MugshotWindow.py:328
msgid "Authentication Failed"
msgstr ""
-#: ../mugshot/MugshotWindow.py:301
+#: ../mugshot/MugshotWindow.py:329
msgid "User details were not updated."
msgstr ""
-#: ../mugshot/MugshotWindow.py:421
+#: ../mugshot/MugshotWindow.py:493
msgid "Update Pidgin buddy icon?"
msgstr "Zaktualizować ikonę przyjaciela w Pidginie?"
-#: ../mugshot/MugshotWindow.py:422
+#: ../mugshot/MugshotWindow.py:494
msgid "Would you also like to update your Pidgin buddy icon?"
msgstr "Czy można zaktualizować także ikonę przyjaciela w Pidginie?"
-#: ../mugshot/MugshotWindow.py:492
+#: ../mugshot/MugshotWindow.py:572
msgid "Enter your password to change user details."
msgstr ""
-#: ../mugshot/MugshotWindow.py:494
+#: ../mugshot/MugshotWindow.py:574
msgid ""
"This is a security measure to prevent unwanted updates\n"
"to your personal information."
@@ -163,39 +163,39 @@
"Jest to krok zabezpieczający przed niechcianymi aktualizacjami\n"
"Twojej osobistej bazy danych."
-#: ../mugshot/MugshotWindow.py:641
+#: ../mugshot/MugshotWindow.py:725
msgid "Update LibreOffice user details?"
msgstr "Zaktualizować ikonę przyjaciela w LibreOffice?"
-#: ../mugshot/MugshotWindow.py:642
+#: ../mugshot/MugshotWindow.py:726
msgid "Would you also like to update your user details in LibreOffice?"
msgstr "Czy można zaktualizować także ikonę przyjaciela w LibreOffice?"
-#: ../mugshot_lib/SudoDialog.py:65
+#: ../mugshot_lib/SudoDialog.py:80
msgid "Cancel"
msgstr ""
-#: ../mugshot_lib/SudoDialog.py:66
+#: ../mugshot_lib/SudoDialog.py:81
msgid "OK"
msgstr ""
-#: ../mugshot_lib/SudoDialog.py:79
+#: ../mugshot_lib/SudoDialog.py:94
msgid ""
"Enter your password to\n"
"perform administrative tasks."
msgstr ""
-#: ../mugshot_lib/SudoDialog.py:81
+#: ../mugshot_lib/SudoDialog.py:96
#, python-format
msgid ""
"The application '%s' lets you\n"
"modify essential parts of your system."
msgstr ""
-#: ../mugshot_lib/SudoDialog.py:102
+#: ../mugshot_lib/SudoDialog.py:117
msgid "Incorrect password... try again."
msgstr ""
-#: ../mugshot_lib/SudoDialog.py:107
+#: ../mugshot_lib/SudoDialog.py:122
msgid "Password:"
msgstr "Hasło:"
diff -Nru mugshot-0.2.2/po/pt_BR.po mugshot-0.2.3/po/pt_BR.po
--- mugshot-0.2.2/po/pt_BR.po 2014-03-09 11:58:08.000000000 +0000
+++ mugshot-0.2.3/po/pt_BR.po 2014-04-05 01:11:17.000000000 +0000
@@ -7,15 +7,15 @@
msgstr ""
"Project-Id-Version: mugshot\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2014-03-08 23:21-0500\n"
-"PO-Revision-Date: 2013-07-26 17:22+0000\n"
+"POT-Creation-Date: 2014-04-01 23:14-0400\n"
+"PO-Revision-Date: 2014-03-25 21:36+0000\n"
"Last-Translator: Raphael David François \n"
"Language-Team: Brazilian Portuguese \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-03-09 06:08+0000\n"
-"X-Generator: Launchpad (build 16948)\n"
+"X-Launchpad-Export-Date: 2014-04-03 06:06+0000\n"
+"X-Generator: Launchpad (build 16967)\n"
#: ../mugshot.desktop.in.h:1
msgid "About Me"
@@ -61,7 +61,7 @@
msgid "Browse…"
msgstr "Procurar nos arquivos..."
-#: ../data/ui/MugshotWindow.ui.h:9 ../mugshot/MugshotWindow.py:491
+#: ../data/ui/MugshotWindow.ui.h:9 ../mugshot/MugshotWindow.py:571
msgid "Mugshot"
msgstr "Mugshot"
@@ -126,36 +126,36 @@
#: ../mugshot/CameraMugshotDialog.py:151
msgid "Cannot display camera output.Ignoring play command"
-msgstr ""
+msgstr "Não é possível mostrar saída da câmera. Ignorando comando play"
#. Set the record button to retry, and disable it until the capture
#. finishes.
-#: ../mugshot/CameraMugshotDialog.py:280
+#: ../mugshot/CameraMugshotDialog.py:278
msgid "Retry"
msgstr "Repetir"
#. Password was incorrect, complain.
-#: ../mugshot/MugshotWindow.py:300
+#: ../mugshot/MugshotWindow.py:328
msgid "Authentication Failed"
-msgstr ""
+msgstr "Autenticação Falhou"
-#: ../mugshot/MugshotWindow.py:301
+#: ../mugshot/MugshotWindow.py:329
msgid "User details were not updated."
-msgstr ""
+msgstr "Informações do usuário não foram atualizadas."
-#: ../mugshot/MugshotWindow.py:421
+#: ../mugshot/MugshotWindow.py:493
msgid "Update Pidgin buddy icon?"
msgstr "Atualizar imagem do Pidgin?"
-#: ../mugshot/MugshotWindow.py:422
+#: ../mugshot/MugshotWindow.py:494
msgid "Would you also like to update your Pidgin buddy icon?"
msgstr "Gostaria também de atualizar sua imagem do Pidgin?"
-#: ../mugshot/MugshotWindow.py:492
+#: ../mugshot/MugshotWindow.py:572
msgid "Enter your password to change user details."
-msgstr ""
+msgstr "Insira sua senha para alterar as informações de usuário."
-#: ../mugshot/MugshotWindow.py:494
+#: ../mugshot/MugshotWindow.py:574
msgid ""
"This is a security measure to prevent unwanted updates\n"
"to your personal information."
@@ -163,39 +163,43 @@
"Essa é uma medida de segurança para prevenir mudanças indesejadas\n"
"em suas informações pessoais."
-#: ../mugshot/MugshotWindow.py:641
+#: ../mugshot/MugshotWindow.py:725
msgid "Update LibreOffice user details?"
msgstr "Atualizar dados de usuário do LibreOffice?"
-#: ../mugshot/MugshotWindow.py:642
+#: ../mugshot/MugshotWindow.py:726
msgid "Would you also like to update your user details in LibreOffice?"
msgstr "Gostaria também de atualizar seus dados de usuário no LibreOffice?"
-#: ../mugshot_lib/SudoDialog.py:65
+#: ../mugshot_lib/SudoDialog.py:80
msgid "Cancel"
-msgstr ""
+msgstr "Cancelar"
-#: ../mugshot_lib/SudoDialog.py:66
+#: ../mugshot_lib/SudoDialog.py:81
msgid "OK"
-msgstr ""
+msgstr "OK"
-#: ../mugshot_lib/SudoDialog.py:79
+#: ../mugshot_lib/SudoDialog.py:94
msgid ""
"Enter your password to\n"
"perform administrative tasks."
msgstr ""
+"Insira sua senha para\n"
+"realizar tarefas administrativas."
-#: ../mugshot_lib/SudoDialog.py:81
+#: ../mugshot_lib/SudoDialog.py:96
#, python-format
msgid ""
"The application '%s' lets you\n"
"modify essential parts of your system."
msgstr ""
+"A aplicação '%s' permite que você\n"
+"modifique partes essenciais do sistema."
-#: ../mugshot_lib/SudoDialog.py:102
+#: ../mugshot_lib/SudoDialog.py:117
msgid "Incorrect password... try again."
-msgstr ""
+msgstr "Senha incorreta... tente novamente."
-#: ../mugshot_lib/SudoDialog.py:107
+#: ../mugshot_lib/SudoDialog.py:122
msgid "Password:"
msgstr "Senha:"
diff -Nru mugshot-0.2.2/po/pt.po mugshot-0.2.3/po/pt.po
--- mugshot-0.2.2/po/pt.po 2014-03-09 11:58:08.000000000 +0000
+++ mugshot-0.2.3/po/pt.po 2014-04-05 01:11:17.000000000 +0000
@@ -7,15 +7,15 @@
msgstr ""
"Project-Id-Version: mugshot\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2014-03-08 23:21-0500\n"
+"POT-Creation-Date: 2014-04-01 23:14-0400\n"
"PO-Revision-Date: 2014-02-24 18:23+0000\n"
"Last-Translator: David Pires \n"
"Language-Team: Portuguese \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-03-09 06:08+0000\n"
-"X-Generator: Launchpad (build 16948)\n"
+"X-Launchpad-Export-Date: 2014-04-03 06:06+0000\n"
+"X-Generator: Launchpad (build 16967)\n"
#: ../mugshot.desktop.in.h:1
msgid "About Me"
@@ -61,7 +61,7 @@
msgid "Browse…"
msgstr "Procurar..."
-#: ../data/ui/MugshotWindow.ui.h:9 ../mugshot/MugshotWindow.py:491
+#: ../data/ui/MugshotWindow.ui.h:9 ../mugshot/MugshotWindow.py:571
msgid "Mugshot"
msgstr "Mugshot"
@@ -131,32 +131,32 @@
#. Set the record button to retry, and disable it until the capture
#. finishes.
-#: ../mugshot/CameraMugshotDialog.py:280
+#: ../mugshot/CameraMugshotDialog.py:278
msgid "Retry"
msgstr "Tentar novamente"
#. Password was incorrect, complain.
-#: ../mugshot/MugshotWindow.py:300
+#: ../mugshot/MugshotWindow.py:328
msgid "Authentication Failed"
msgstr ""
-#: ../mugshot/MugshotWindow.py:301
+#: ../mugshot/MugshotWindow.py:329
msgid "User details were not updated."
msgstr ""
-#: ../mugshot/MugshotWindow.py:421
+#: ../mugshot/MugshotWindow.py:493
msgid "Update Pidgin buddy icon?"
msgstr "Atualize o ícone buddy do Pidgin"
-#: ../mugshot/MugshotWindow.py:422
+#: ../mugshot/MugshotWindow.py:494
msgid "Would you also like to update your Pidgin buddy icon?"
msgstr "Gostaria também de atualizar o seu ícone buddy do Pidgin?"
-#: ../mugshot/MugshotWindow.py:492
+#: ../mugshot/MugshotWindow.py:572
msgid "Enter your password to change user details."
msgstr ""
-#: ../mugshot/MugshotWindow.py:494
+#: ../mugshot/MugshotWindow.py:574
msgid ""
"This is a security measure to prevent unwanted updates\n"
"to your personal information."
@@ -164,40 +164,40 @@
"É uma medida de segurança para evitar alterações indesejadas\n"
"às suas informações pessoais."
-#: ../mugshot/MugshotWindow.py:641
+#: ../mugshot/MugshotWindow.py:725
msgid "Update LibreOffice user details?"
msgstr "Atualizar os detalhes de utilizador do LibreOffice?"
-#: ../mugshot/MugshotWindow.py:642
+#: ../mugshot/MugshotWindow.py:726
msgid "Would you also like to update your user details in LibreOffice?"
msgstr ""
"Gostaria também de atualizar os seus detalhes de utilizador do LibreOffice?"
-#: ../mugshot_lib/SudoDialog.py:65
+#: ../mugshot_lib/SudoDialog.py:80
msgid "Cancel"
msgstr ""
-#: ../mugshot_lib/SudoDialog.py:66
+#: ../mugshot_lib/SudoDialog.py:81
msgid "OK"
msgstr ""
-#: ../mugshot_lib/SudoDialog.py:79
+#: ../mugshot_lib/SudoDialog.py:94
msgid ""
"Enter your password to\n"
"perform administrative tasks."
msgstr ""
-#: ../mugshot_lib/SudoDialog.py:81
+#: ../mugshot_lib/SudoDialog.py:96
#, python-format
msgid ""
"The application '%s' lets you\n"
"modify essential parts of your system."
msgstr ""
-#: ../mugshot_lib/SudoDialog.py:102
+#: ../mugshot_lib/SudoDialog.py:117
msgid "Incorrect password... try again."
msgstr ""
-#: ../mugshot_lib/SudoDialog.py:107
+#: ../mugshot_lib/SudoDialog.py:122
msgid "Password:"
msgstr "Senha:"
diff -Nru mugshot-0.2.2/po/ru.po mugshot-0.2.3/po/ru.po
--- mugshot-0.2.2/po/ru.po 2014-03-09 11:58:08.000000000 +0000
+++ mugshot-0.2.3/po/ru.po 2014-04-05 01:11:17.000000000 +0000
@@ -7,15 +7,15 @@
msgstr ""
"Project-Id-Version: mugshot\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2014-03-08 23:21-0500\n"
+"POT-Creation-Date: 2014-04-01 23:14-0400\n"
"PO-Revision-Date: 2014-03-04 18:28+0000\n"
"Last-Translator: Sergey Shlyapugin \n"
"Language-Team: Russian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-03-09 06:08+0000\n"
-"X-Generator: Launchpad (build 16948)\n"
+"X-Launchpad-Export-Date: 2014-04-03 06:06+0000\n"
+"X-Generator: Launchpad (build 16967)\n"
#: ../mugshot.desktop.in.h:1
msgid "About Me"
@@ -61,7 +61,7 @@
msgid "Browse…"
msgstr "Обзор…"
-#: ../data/ui/MugshotWindow.ui.h:9 ../mugshot/MugshotWindow.py:491
+#: ../data/ui/MugshotWindow.ui.h:9 ../mugshot/MugshotWindow.py:571
msgid "Mugshot"
msgstr "Mugshot"
@@ -129,32 +129,32 @@
#. Set the record button to retry, and disable it until the capture
#. finishes.
-#: ../mugshot/CameraMugshotDialog.py:280
+#: ../mugshot/CameraMugshotDialog.py:278
msgid "Retry"
msgstr "Повторить"
#. Password was incorrect, complain.
-#: ../mugshot/MugshotWindow.py:300
+#: ../mugshot/MugshotWindow.py:328
msgid "Authentication Failed"
msgstr "Ошибка аутентификации"
-#: ../mugshot/MugshotWindow.py:301
+#: ../mugshot/MugshotWindow.py:329
msgid "User details were not updated."
msgstr "Данные пользователя не были обновлены."
-#: ../mugshot/MugshotWindow.py:421
+#: ../mugshot/MugshotWindow.py:493
msgid "Update Pidgin buddy icon?"
msgstr "Обновить аватар в Pidgin?"
-#: ../mugshot/MugshotWindow.py:422
+#: ../mugshot/MugshotWindow.py:494
msgid "Would you also like to update your Pidgin buddy icon?"
msgstr "Обновить также ваш аватар в Pidgin?"
-#: ../mugshot/MugshotWindow.py:492
+#: ../mugshot/MugshotWindow.py:572
msgid "Enter your password to change user details."
msgstr "Введите ваг пароль для изменения данных пользователя."
-#: ../mugshot/MugshotWindow.py:494
+#: ../mugshot/MugshotWindow.py:574
msgid ""
"This is a security measure to prevent unwanted updates\n"
"to your personal information."
@@ -162,23 +162,23 @@
"Это мера безопасности для предотвращения нежелательных\n"
"обновлений вашей персональной информации."
-#: ../mugshot/MugshotWindow.py:641
+#: ../mugshot/MugshotWindow.py:725
msgid "Update LibreOffice user details?"
msgstr "Обновить данные пользователя в LibreOffice?"
-#: ../mugshot/MugshotWindow.py:642
+#: ../mugshot/MugshotWindow.py:726
msgid "Would you also like to update your user details in LibreOffice?"
msgstr "Обновить также ваши данные пользователя в LibreOffice?"
-#: ../mugshot_lib/SudoDialog.py:65
+#: ../mugshot_lib/SudoDialog.py:80
msgid "Cancel"
msgstr "Отмена"
-#: ../mugshot_lib/SudoDialog.py:66
+#: ../mugshot_lib/SudoDialog.py:81
msgid "OK"
msgstr "OK"
-#: ../mugshot_lib/SudoDialog.py:79
+#: ../mugshot_lib/SudoDialog.py:94
msgid ""
"Enter your password to\n"
"perform administrative tasks."
@@ -186,7 +186,7 @@
"Введите ваш пароль для выполнения\n"
"административных задач."
-#: ../mugshot_lib/SudoDialog.py:81
+#: ../mugshot_lib/SudoDialog.py:96
#, python-format
msgid ""
"The application '%s' lets you\n"
@@ -195,10 +195,10 @@
"Приложения %s' позволит вам\n"
"модифицировать серьезную часть системы."
-#: ../mugshot_lib/SudoDialog.py:102
+#: ../mugshot_lib/SudoDialog.py:117
msgid "Incorrect password... try again."
msgstr "Неверный пароль... Попробуйте еще."
-#: ../mugshot_lib/SudoDialog.py:107
+#: ../mugshot_lib/SudoDialog.py:122
msgid "Password:"
msgstr "Пароль:"
diff -Nru mugshot-0.2.2/setup.py mugshot-0.2.3/setup.py
--- mugshot-0.2.2/setup.py 2014-03-09 11:58:08.000000000 +0000
+++ mugshot-0.2.3/setup.py 2014-04-02 09:49:11.000000000 +0000
@@ -22,10 +22,10 @@
import DistUtilsExtra.auto
except ImportError:
sys.stderr.write("To build mugshot you need "
- "https://launchpad.net/python-distutils-extra\n")
+ "https://launchpad.net/python-distutils-extra\n")
sys.exit(1)
assert DistUtilsExtra.auto.__version__ >= '2.18', \
- 'needs DistUtilsExtra.auto >= 2.18'
+ 'needs DistUtilsExtra.auto >= 2.18'
def update_config(libdir, values={}):
@@ -55,17 +55,17 @@
def move_icon_file(root, target_data, prefix):
"""Move the icon files to their installation prefix."""
- old_icon_path = os.path.normpath(
- os.path.join(root, target_data, 'share', 'mugshot', 'media'))
+ old_icon_path = os.path.normpath(os.path.join(root, target_data, 'share',
+ 'mugshot', 'media'))
for icon_size in ['16x16', '22x22', '24x24', '48x48', '64x64', 'scalable']:
if icon_size == 'scalable':
old_icon_file = os.path.join(old_icon_path, 'mugshot.svg')
else:
old_icon_file = os.path.join(old_icon_path,
- 'mugshot_%s.svg' % icon_size.split('x')[0])
- icon_path = os.path.normpath(
- os.path.join(root, target_data, 'share', 'icons', 'hicolor',
- icon_size, 'apps'))
+ 'mugshot_%s.svg' %
+ icon_size.split('x')[0])
+ icon_path = os.path.normpath(os.path.join(root, target_data, 'share',
+ 'icons', 'hicolor', icon_size, 'apps'))
icon_file = os.path.join(icon_path, 'mugshot.svg')
old_icon_file = os.path.realpath(old_icon_file)
icon_file = os.path.realpath(icon_file)
@@ -89,8 +89,8 @@
def get_desktop_file(root, target_data, prefix):
"""Move the desktop file to its installation prefix."""
- desktop_path = os.path.realpath(
- os.path.join(root, target_data, 'share', 'applications'))
+ desktop_path = os.path.realpath(os.path.join(root, target_data, 'share',
+ 'applications'))
desktop_file = os.path.join(desktop_path, 'mugshot.desktop')
return desktop_file
@@ -125,13 +125,14 @@
DistUtilsExtra.auto.install_auto.run(self)
print(("=== Installing %s, version %s ===" %
- (self.distribution.get_name(), self.distribution.get_version())))
+ (self.distribution.get_name(), self.distribution.get_version())))
if not self.prefix:
self.prefix = ''
if self.root:
- target_data = os.path.relpath(self.install_data, self.root) + os.sep
+ target_data = os.path.relpath(self.install_data, self.root) + \
+ os.sep
target_pkgdata = os.path.join(target_data, 'share', 'mugshot', '')
target_scripts = os.path.join(self.install_scripts, '')
@@ -171,7 +172,7 @@
DistUtilsExtra.auto.setup(
name='mugshot',
- version='0.2.2',
+ version='0.2.3',
license='GPL-3',
author='Sean Davis',
author_email='smd.seandavis@gmail.com',