Hello community,
here is the log from the commit of package folder-color for openSUSE:Factory checked in at 2015-03-30 19:33:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/folder-color (Old)
and /work/SRC/openSUSE:Factory/.folder-color.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "folder-color"
Changes:
--------
--- /work/SRC/openSUSE:Factory/folder-color/folder-color.changes 2015-03-23 12:17:51.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.folder-color.new/folder-color.changes 2015-03-30 19:33:50.000000000 +0200
@@ -1,0 +2,7 @@
+Sun Mar 29 13:06:32 UTC 2015 - sor.alexei@meowr.ru
+
+- Update to 0.0.70:
+ * Fix no transparency in custom colours.
+ * Update translations.
+
+-------------------------------------------------------------------
Old:
----
folder-color-caja_0.0.62_all.tar.gz
folder-color-common_0.0.60_all.tar.gz
folder-color_0.0.62_all.tar.gz
New:
----
folder-color-caja_0.0.70_all.tar.gz
folder-color-common_0.0.70_all.tar.gz
folder-color_0.0.70_all.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ folder-color.spec ++++++
--- /var/tmp/diff_new_pack.ZQcWIN/_old 2015-03-30 19:33:51.000000000 +0200
+++ /var/tmp/diff_new_pack.ZQcWIN/_new 2015-03-30 19:33:51.000000000 +0200
@@ -17,16 +17,15 @@
%define _name folder_color
-%define _version 0.0.6x
-%define _common_ver 0.0.60
+%define _version 0.0.7x
Name: folder-color
-Version: 0.0.62
+Version: 0.0.70
Release: 0
Summary: Change a directory colour in Caja and Nautilus
License: GPL-3.0+
Group: Productivity/File utilities
Url: https://launchpad.net/folder-color
-Source0: https://launchpad.net/%{name}/trunk/%{_version}/+download/%{name}-common_%{_common_ver}_all.tar.gz
+Source0: https://launchpad.net/%{name}/trunk/%{_version}/+download/%{name}-common_%{version}_all.tar.gz
Source1: https://launchpad.net/%{name}/trunk/%{_version}/+download/%{name}-caja_%{version}_all.tar.gz
Source2: https://launchpad.net/%{name}/trunk/%{_version}/+download/%{name}_%{version}_all.tar.gz
BuildRequires: fdupes
++++++ folder-color-caja_0.0.62_all.tar.gz -> folder-color-caja_0.0.70_all.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/folder-color-caja/caja-extension/folder-color.py new/folder-color-caja/caja-extension/folder-color.py
--- old/folder-color-caja/caja-extension/folder-color.py 2015-03-18 19:42:06.000000000 +0100
+++ new/folder-color-caja/caja-extension/folder-color.py 2015-03-29 12:04:42.000000000 +0200
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
-# Folder Color 0.0.62
+# Folder Color 0.0.70
# Copyright (C) 2012-2015 Marcos Alvarez Costales https://launchpad.net/~costales
#
# Folder Color is free software; you can redistribute it and/or modify
@@ -67,8 +67,7 @@
self.HIDE_DONATION = os.path.join(self.CFG_PATH, 'hide_donation')
self.URL_DONATE = 'http://gufw.org/donate_foldercolor'
- self.GRADIENT_MIDDLE_RANGE = 2500
- self.GRADIENT_DARK_RANGE = 5000
+ self.GRADIENT_RANGE = 15
self.VALUE_LIGHT = 'value_light'
self.VALUE_MIDDLE = 'value_middle'
self.VALUE_DARK = 'value_dark'
@@ -241,28 +240,43 @@
def custom_color_dialog(self):
"""Shows the dialog and return the color"""
- colorselectiondialog = Gtk.ColorSelectionDialog(_("Choose a Folder Color"))
- selector = colorselectiondialog.get_color_selection()
- response = colorselectiondialog.run()
- colorselectiondialog.destroy()
+ dialog = Gtk.ColorSelectionDialog()
+ response = dialog.run()
if response == Gtk.ResponseType.OK:
- color = selector.get_current_color()
- # Control max color range
- if color.red <= self.GRADIENT_DARK_RANGE:
- color.red = self.GRADIENT_DARK_RANGE
- if color.green <= self.GRADIENT_DARK_RANGE:
- color.green = self.GRADIENT_DARK_RANGE
- if color.blue <= self.GRADIENT_DARK_RANGE:
- color.blue = self.GRADIENT_DARK_RANGE
- # Convert to hex
- rgb_ligth = (color.red, color.green, color.blue)
- rgb_middle = (color.red-self.GRADIENT_MIDDLE_RANGE, color.green-self.GRADIENT_MIDDLE_RANGE, color.blue-self.GRADIENT_MIDDLE_RANGE)
- rgb_dark = (color.red-self.GRADIENT_DARK_RANGE, color.green-self.GRADIENT_DARK_RANGE, color.blue-self.GRADIENT_DARK_RANGE)
- htmlcolor_light = ''.join((str(hex(i/257))[2:].rjust(2, '0') for i in rgb_ligth)).upper()
- htmlcolor_middle = ''.join((str(hex(i/257))[2:].rjust(2, '0') for i in rgb_middle)).upper()
- htmlcolor_dark = ''.join((str(hex(i/257))[2:].rjust(2, '0') for i in rgb_dark)).upper()
- return (htmlcolor_light, htmlcolor_middle, htmlcolor_dark)
+ # Color
+ color = dialog.get_color_selection().get_current_color()
+ dialog.destroy()
+ red = int(color.red / 256)
+ green = int(color.green / 256)
+ blue = int(color.blue / 256)
+ # Light
+ hex_light = "%02x%02x%02x" % (red, green, blue)
+ # Middle
+ red = red - self.GRADIENT_RANGE
+ if red < 0:
+ red = 0
+ green = green - self.GRADIENT_RANGE
+ if green < 0:
+ green = 0
+ blue = blue - self.GRADIENT_RANGE
+ if blue < 0:
+ blue = 0
+ hex_middle = "%02x%02x%02x" % (red, green, blue)
+ # Dark
+ red = red - self.GRADIENT_RANGE
+ if red < 0:
+ red = 0
+ green = green - self.GRADIENT_RANGE
+ if green < 0:
+ green = 0
+ blue = blue - self.GRADIENT_RANGE
+ if blue < 0:
+ blue = 0
+ hex_dark = "%02x%02x%02x" % (red, green, blue)
+ return (hex_light, hex_middle, hex_dark)
+
+ dialog.destroy()
return None
def _generate_custom_file(self, src_file, dst_file, colors):
@@ -279,7 +293,7 @@
def __init__(self):
self.foldercolor = FolderColor()
self.lock = Lock()
- self.switcher = Switcher()
+ self.globalcolor = GlobalColor()
dummy_i18n = (_("Brown"), _("Blue"), _("Green"), _("Grey"), _("Orange"), _("Pink"), _("Red"), _("Purple"), _("Yellow"), _("Favorite"), _("Finished"), _("Important"), _("In Progress")) # Need i18n, because colors/emblems are dynamic now
@@ -463,35 +477,21 @@
label = Gtk.Label(_("Global Color:"))
button = Gtk.Button(_("Apply"))
button.connect('clicked', self._on_color_changed)
- exp1 = Gtk.AspectFrame()
- exp1.set_shadow_type(0)
- exp2 = Gtk.AspectFrame()
- exp2.set_shadow_type(0)
- hbox.pack_start(exp1, True, True, 0)
hbox.pack_start(label, False, False, 0)
hbox.pack_start(self.cb_colors, False, False, 0)
hbox.pack_start(button, False, False, 0)
- hbox.pack_start(exp2, True, True, 0)
vbox.pack_start(hbox, False, False, 0)
-
- label = Gtk.Label(_("(You may need to restart the file manager)"))
- label.set_justify(Gtk.Justification.LEFT)
- vbox.pack_start(label, True, True, 0)
-
# Donate
if not os.path.exists(self.foldercolor.HIDE_DONATION):
self.vbox_donate = Gtk.VBox(spacing=6)
- self.vbox_donate.pack_start(Gtk.HSeparator(), False, True, 6)
+ self.vbox_donate.pack_start(Gtk.HSeparator(), True, True, 0)
+ link_donate = Gtk.LinkButton(self.foldercolor.URL_DONATE, _("Donate? Click to hide"))
+ link_donate.set_tooltip_text(_("Thanks in advance!"))
+ link_donate.connect("clicked", self._on_donate_hide)
hbox = Gtk.HBox(spacing=6)
- btn_donate = Gtk.LinkButton(self.foldercolor.URL_DONATE, _("Suppport this app with a donation"))
- img_hide = Gtk.Image(stock=Gtk.STOCK_CLOSE)
- btn_hide = Gtk.Button(image=img_hide)
- btn_hide.connect("clicked", self._on_donate_hide)
- btn_hide.set_tooltip_text(_("Hide donation forever"))
- hbox.pack_start(btn_donate, False, False, 0)
- hbox.pack_start(btn_hide, False, False, 0)
- self.vbox_donate.pack_start(hbox, False, False, 0)
- vbox.pack_start(self.vbox_donate, False, False, 0)
+ hbox.pack_start(link_donate, True, True, 0)
+ self.vbox_donate.pack_start(hbox, True, True, 0)
+ vbox.pack_start(self.vbox_donate, True, True, 0)
win.add(vbox)
win.connect('delete-event', self._close_win)
@@ -521,9 +521,9 @@
return
if color == 'default':
- self.switcher.restore()
+ self.globalcolor.restore()
else:
- self.switcher.set_color(color)
+ self.globalcolor.set_color(color)
class Lock:
@@ -553,7 +553,7 @@
return False
-class Switcher:
+class GlobalColor:
"""Set default global color"""
def __init__(self):
self.foldercolor = FolderColor()
@@ -592,13 +592,30 @@
return cfg.get(section, 'Inherits')
return ''
+ def _cp_file(self, src, dst):
+ if os.path.isfile(src):
+ try:
+ shutil.copy2(src, dst)
+ except:
+ pass
+
def _generate_local_theme(self, name, inherit, color):
"""Generate a inherit local theme from system theme"""
# Create folder
name = '.'.join([name, 'foldercolor']) # Generate a Folder Color theme
try:
dst_path = os.path.join(self.foldercolor.USER_PATH_THEME, name, 'scalable', 'places')
- os.makedirs(dst_path)
+ if not os.path.exists(dst_path):
+ os.makedirs(dst_path)
+ dst_path = os.path.join(self.foldercolor.USER_PATH_THEME, name, '16x16', 'places')
+ if not os.path.exists(dst_path):
+ os.makedirs(dst_path)
+ dst_path = os.path.join(self.foldercolor.USER_PATH_THEME, name, '22x22', 'places')
+ if not os.path.exists(dst_path):
+ os.makedirs(dst_path)
+ dst_path = os.path.join(self.foldercolor.USER_PATH_THEME, name, '24x24', 'places')
+ if not os.path.exists(dst_path):
+ os.makedirs(dst_path)
except OSError as exception:
pass
except:
@@ -606,24 +623,135 @@
# Generate icons
for folder in self.foldercolor.DEFAULT_FOLDERS:
+ # scalable
src_file = ''.join([self.foldercolor.get_path(), self.foldercolor.get_iconname(folder, color), '.svg'])
dst_file = os.path.join(self.foldercolor.USER_PATH_THEME, name, 'scalable', 'places', self._get_folder_icon(folder))
- shutil.copy2(src_file, dst_file)
+ self._cp_file(src_file, dst_file)
+ # 16x16
+ src_file_16 = src_file.replace('/48', '/16').replace('48/', '16/')
+ dst_file_16 = dst_file.replace('/scalable/', '/16x16/')
+ self._cp_file(src_file_16, dst_file_16)
+ # 22x22
+ src_file_22 = src_file.replace('/48', '/22').replace('48/', '22/')
+ dst_file_22 = dst_file.replace('/scalable/', '/22x22/')
+ self._cp_file(src_file_22, dst_file_22)
+ # 24x24
+ src_file_24 = src_file.replace('/48', '/24').replace('48/', '24/')
+ dst_file_24 = dst_file.replace('/scalable/', '/24x24/')
+ self._cp_file(src_file_24, dst_file_24)
+
+ # folder.svg
src_file = ''.join([self.foldercolor.get_path(), self.foldercolor.get_iconname('', color), '.svg'])
- dst_file = os.path.join(self.foldercolor.USER_PATH_THEME, name, 'scalable', 'places', self._get_folder_icon(None, 0)) # folder.svg
- shutil.copy2(src_file, dst_file)
- dst_file = os.path.join(self.foldercolor.USER_PATH_THEME, name, 'scalable', 'places', self._get_folder_icon(None, 1)) # inode-directory.svg
- shutil.copy2(src_file, dst_file)
- dst_file = os.path.join(self.foldercolor.USER_PATH_THEME, name, 'scalable', 'places', self._get_folder_icon(None, 2)) # user-home.svg
- shutil.copy2(src_file, dst_file)
- dst_file = os.path.join(self.foldercolor.USER_PATH_THEME, name, 'scalable', 'places', self._get_folder_icon(None, 3)) # folder_home.svg
- shutil.copy2(src_file, dst_file)
- dst_file = os.path.join(self.foldercolor.USER_PATH_THEME, name, 'scalable', 'places', self._get_folder_icon(None, 4)) # network-workgroup.svg
- shutil.copy2(src_file, dst_file)
- dst_file = os.path.join(self.foldercolor.USER_PATH_THEME, name, 'scalable', 'places', self._get_folder_icon(None, 5)) # folder-remote.svg
- shutil.copy2(src_file, dst_file)
- dst_file = os.path.join(self.foldercolor.USER_PATH_THEME, name, 'scalable', 'places', self._get_folder_icon(None, 6)) # document-open-recent.svg
- shutil.copy2(src_file, dst_file)
+ dst_file = os.path.join(self.foldercolor.USER_PATH_THEME, name, 'scalable', 'places', self._get_folder_icon(None, 0))
+ self._cp_file(src_file, dst_file)
+
+ src_file_16 = src_file.replace('/48', '/16').replace('48/', '16/')
+ dst_file_16 = dst_file.replace('scalable', '16x16')
+ self._cp_file(src_file_16, dst_file_16)
+
+ src_file_22 = src_file.replace('/48', '/22').replace('48/', '22/')
+ dst_file_22 = dst_file.replace('scalable', '22x22')
+ self._cp_file(src_file_22, dst_file_22)
+
+ src_file_24 = src_file.replace('/48', '/24').replace('48/', '24/')
+ dst_file_24 = dst_file.replace('scalable', '24x24')
+ self._cp_file(src_file_24, dst_file_24)
+
+ # inode-directory.svg
+ dst_file = os.path.join(self.foldercolor.USER_PATH_THEME, name, 'scalable', 'places', self._get_folder_icon(None, 1))
+ self._cp_file(src_file, dst_file)
+
+ src_file_16 = src_file.replace('/48', '/16').replace('48/', '16/')
+ dst_file_16 = dst_file.replace('scalable', '16x16')
+ self._cp_file(src_file_16, dst_file_16)
+
+ src_file_22 = src_file.replace('/48', '/22').replace('48/', '22/')
+ dst_file_22 = dst_file.replace('scalable', '22x22')
+ self._cp_file(src_file_22, dst_file_22)
+
+ src_file_24 = src_file.replace('/48', '/24').replace('48/', '24/')
+ dst_file_24 = dst_file.replace('scalable', '24x24')
+ self._cp_file(src_file_24, dst_file_24)
+
+ # user-home.svg
+ dst_file = os.path.join(self.foldercolor.USER_PATH_THEME, name, 'scalable', 'places', self._get_folder_icon(None, 2))
+ self._cp_file(src_file, dst_file)
+
+ src_file_16 = src_file.replace('/48', '/16').replace('48/', '16/')
+ dst_file_16 = dst_file.replace('scalable', '16x16')
+ self._cp_file(src_file_16, dst_file_16)
+
+ src_file_22 = src_file.replace('/48', '/22').replace('48/', '22/')
+ dst_file_22 = dst_file.replace('scalable', '22x22')
+ self._cp_file(src_file_22, dst_file_22)
+
+ src_file_24 = src_file.replace('/48', '/24').replace('48/', '24/')
+ dst_file_24 = dst_file.replace('scalable', '24x24')
+ self._cp_file(src_file_24, dst_file_24)
+
+ # folder_home.svg
+ dst_file = os.path.join(self.foldercolor.USER_PATH_THEME, name, 'scalable', 'places', self._get_folder_icon(None, 3))
+ self._cp_file(src_file, dst_file)
+
+ src_file_16 = src_file.replace('/48', '/16').replace('48/', '16/')
+ dst_file_16 = dst_file.replace('scalable', '16x16')
+ self._cp_file(src_file_16, dst_file_16)
+
+ src_file_22 = src_file.replace('/48', '/22').replace('48/', '22/')
+ dst_file_22 = dst_file.replace('scalable', '22x22')
+ self._cp_file(src_file_22, dst_file_22)
+
+ src_file_24 = src_file.replace('/48', '/24').replace('48/', '24/')
+ dst_file_24 = dst_file.replace('scalable', '24x24')
+ self._cp_file(src_file_24, dst_file_24)
+
+ # network-workgroup.svg
+ dst_file = os.path.join(self.foldercolor.USER_PATH_THEME, name, 'scalable', 'places', self._get_folder_icon(None, 4))
+ self._cp_file(src_file, dst_file)
+
+ src_file_16 = src_file.replace('/48', '/16').replace('48/', '16/')
+ dst_file_16 = dst_file.replace('scalable', '16x16')
+ self._cp_file(src_file_16, dst_file_16)
+
+ src_file_22 = src_file.replace('/48', '/22').replace('48/', '22/')
+ dst_file_22 = dst_file.replace('scalable', '22x22')
+ self._cp_file(src_file_22, dst_file_22)
+
+ src_file_24 = src_file.replace('/48', '/24').replace('48/', '24/')
+ dst_file_24 = dst_file.replace('scalable', '24x24')
+ self._cp_file(src_file_24, dst_file_24)
+
+ # folder-remote.svg
+ dst_file = os.path.join(self.foldercolor.USER_PATH_THEME, name, 'scalable', 'places', self._get_folder_icon(None, 5))
+ self._cp_file(src_file, dst_file)
+
+ src_file_16 = src_file.replace('/48', '/16').replace('48/', '16/')
+ dst_file_16 = dst_file.replace('scalable', '16x16')
+ self._cp_file(src_file_16, dst_file_16)
+
+ src_file_22 = src_file.replace('/48', '/22').replace('48/', '22/')
+ dst_file_22 = dst_file.replace('scalable', '22x22')
+ self._cp_file(src_file_22, dst_file_22)
+
+ src_file_24 = src_file.replace('/48', '/24').replace('48/', '24/')
+ dst_file_24 = dst_file.replace('scalable', '24x24')
+ self._cp_file(src_file_24, dst_file_24)
+
+ # document-open-recent.svg
+ dst_file = os.path.join(self.foldercolor.USER_PATH_THEME, name, 'scalable', 'places', self._get_folder_icon(None, 6))
+ self._cp_file(src_file, dst_file)
+
+ src_file_16 = src_file.replace('/48', '/16').replace('48/', '16/')
+ dst_file_16 = dst_file.replace('scalable', '16x16')
+ self._cp_file(src_file_16, dst_file_16)
+
+ src_file_22 = src_file.replace('/48', '/22').replace('48/', '22/')
+ dst_file_22 = dst_file.replace('scalable', '22x22')
+ self._cp_file(src_file_22, dst_file_22)
+
+ src_file_24 = src_file.replace('/48', '/24').replace('48/', '24/')
+ dst_file_24 = dst_file.replace('scalable', '24x24')
+ self._cp_file(src_file_24, dst_file_24)
# Generate index.theme
index_file = '/'.join([os.path.join(self.foldercolor.USER_PATH_THEME, name), 'index.theme'])
@@ -634,13 +762,23 @@
cfg.set('Icon Theme', 'Hidden', 'true')
cfg.set('Icon Theme', 'Comment', 'Generated by Folder Color')
cfg.set('Icon Theme', 'Inherits', inherit)
- cfg.set('Icon Theme', 'Directories', 'scalable/places')
+ cfg.set('Icon Theme', 'Directories', 'scalable/places,16x16/places,22x22/places,24x24/places')
cfg.add_section('scalable/places')
- cfg.set('scalable/places', 'MinSize', '16')
cfg.set('scalable/places', 'Size', '48')
- cfg.set('scalable/places', 'MaxSize', '256')
cfg.set('scalable/places', 'Context', 'Places')
cfg.set('scalable/places', 'Type', 'Scalable')
+ cfg.add_section('16x16/places')
+ cfg.set('16x16/places', 'Size', '16')
+ cfg.set('16x16/places', 'Context', 'Places')
+ cfg.set('16x16/places', 'Type', 'Threshold')
+ cfg.add_section('22x22/places')
+ cfg.set('22x22/places', 'Size', '22')
+ cfg.set('22x22/places', 'Context', 'Places')
+ cfg.set('22x22/places', 'Type', 'Threshold')
+ cfg.add_section('24x24/places')
+ cfg.set('24x24/places', 'Size', '24')
+ cfg.set('24x24/places', 'Context', 'Places')
+ cfg.set('24x24/places', 'Type', 'Threshold')
f = open(index_file, 'w')
cfg.write(f)
f.close()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/folder-color-caja/debian/changelog new/folder-color-caja/debian/changelog
--- old/folder-color-caja/debian/changelog 2015-03-18 19:42:07.000000000 +0100
+++ new/folder-color-caja/debian/changelog 2015-03-29 12:04:42.000000000 +0200
@@ -1,10 +1,7 @@
-folder-color-caja (0.0.62) trusty; urgency=low
+folder-color-caja (0.0.70) trusty; urgency=low
- * Allow local themes
- * Fixed folders network and recent
- * Allow to hide donation
- * Layout in Global color fixed
+ * Fixed #1437800: No transparency in custom colors
* Updated translations
- -- costales