Changes of Revision 2

curlew.changes Changed
x
 
1
@@ -1,4 +1,11 @@
2
 -------------------------------------------------------------------
3
+Sat Feb 27 16:34:14 UTC 2016 - avvissu@yandex.ru
4
+
5
+- Update to 0.2.1:
6
+  * see: /usr/share/doc/packages/curlew/ChangeLog
7
+- Add a language pack
8
+
9
+-------------------------------------------------------------------
10
 Fri Apr 10 21:09:24 UTC 2015 - avvissu@yandex.ru
11
 
12
 - Initial package
13
curlew.spec Changed
96
 
1
@@ -1,7 +1,7 @@
2
 #
3
 # spec file for package curlew
4
 #
5
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
6
+# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
7
 #
8
 # All modifications and additions to the file contributed by third parties
9
 # remain the property of their copyright owners, unless otherwise agreed
10
@@ -17,27 +17,27 @@
11
 
12
 
13
 Name:           curlew
14
-Version:        0.1.22.3
15
+Version:        0.2.1
16
 Release:        0
17
 Summary:        Multimedia converter
18
 License:        Waqf
19
 Group:          Productivity/Multimedia/Video/Convertors
20
 Url:            http://sourceforge.net/projects/curlew/
21
-Source0:        http://sourceforge.net/projects/curlew/files/curlew-0.1.22.3/%{name}-%{version}.tar.gz
22
-# PATCH-FIX-OPENSUSE desktop.patch avvissu@yandex.ru -- Generic name of the application
23
-Patch0:         curlew-0.1.22.3_desktop.patch
24
-BuildRequires:  ImageMagick
25
-BuildRequires:  desktop-file-utils
26
+Source0:        http://sourceforge.net/projects/curlew/files/curlew-%{version}/%{name}-%{version}.tar.gz
27
+# PATCH-FIX-OPENSUSE desktop.patch avvissu@yandex.ru -- Change path to files
28
+Patch0:         curlew-0.2.1_path.patch
29
 BuildRequires:  hicolor-icon-theme
30
 BuildRequires:  intltool
31
-BuildRequires:  python-devel
32
-BuildRequires:  python-distutils-extra
33
-BuildRequires:  python-gobject >= 3.0
34
-BuildRequires:  python-setuptools
35
+BuildRequires:  python3-base >= 3.3.2
36
+BuildRequires:  python3-setuptools
37
+BuildRequires:  rsvg-view
38
+BuildRequires:  update-desktop-files
39
+Requires:       dbus-1-python3
40
 Requires:       ffmpeg
41
 Requires:       mediainfo
42
 Requires:       mencoder
43
-Requires:       python-gobject
44
+Requires:       python3-gobject
45
+Requires:       typelib(Gtk) = 3.0
46
 Requires:       xdg-utils
47
 # Conflict with ffmpeg
48
 #Requires:       libav-tools
49
@@ -61,6 +61,8 @@
50
   - Combine subtitle with video file.
51
   - Show error details if exist.
52
   - And more ...
53
+  
54
+%lang_package
55
 
56
 %prep
57
 %setup -q
58
@@ -70,10 +72,12 @@
59
 find . -type f -perm /u+x -exec chmod 644 {} \; || :
60
 
61
 %build
62
-python setup.py build
63
+python3 setup.py build
64
 
65
 %install
66
-python setup.py install --root=%{buildroot}
67
+python3 setup.py install --root=%{buildroot}
68
+
69
+%suse_update_desktop_file -r %{name} AudioVideo Video AudioVideoEditing
70
 
71
 %find_lang %{name}
72
 
73
@@ -85,14 +89,17 @@
74
 %icon_theme_cache_postun
75
 %desktop_database_postun
76
 
77
-%files -f %{name}.lang
78
-%defattr(-,root,root,-)
79
-%doc %{_datadir}/doc/curlew
80
+%files
81
+%doc LICENSE* AUTHORS ChangeLog README
82
 %{_bindir}/%{name}
83
+%{_datadir}/%{name}/
84
 %{_datadir}/applications/%{name}.desktop
85
 %{_datadir}/icons/hicolor/scalable/apps/%{name}.svg
86
 %{_datadir}/icons/hicolor/*/apps/%{name}.png
87
-%{python_sitelib}/Curlew
88
-%{python_sitelib}/%{name}-*
89
+%{python3_sitelib}/%{name}-*.egg-info
90
+%{python3_sitelib}/%{name}/
91
+
92
+%files lang -f %{name}.lang
93
+%defattr(-,root,root,-)
94
 
95
 %changelog
96
curlew-0.1.22.3_desktop.patch Deleted
18
 
1
@@ -1,16 +0,0 @@
2
-diff -U 3 -H -d -r -N -- curlew-0.1.22.3.orig/curlew.desktop curlew-0.1.22.3/curlew.desktop
3
---- curlew-0.1.22.3.orig/curlew.desktop    2013-10-08 11:52:26.000000000 +0300
4
-+++ curlew-0.1.22.3/curlew.desktop 2015-04-11 01:14:51.039378764 +0300
5
-@@ -12,7 +12,11 @@
6
- Comment=Easy to use Multimedia Converter for Linux
7
- Comment[ar]=محول وسائط على لينكس سهل الاستخدام
8
- Comment[fr]=Un Convertisseur Multimédia simple à utiliser sous Linux
9
--Categories=AudioVideo;Video;
10
-+GenericName=Multimedia Converter
11
-+GenericName[ru]=Мультимедиа конвертер
12
-+GenericName[ar]=تحويل الوسائط المتعددة
13
-+GenericName[fr]=Convertisseur multimédia
14
-+Categories=AudioVideo;Video;AudioVideoEditing;
15
- #MimeType=audio/vorbis;audio/x-mp3;audio/x-ms-wma;audio/x-vorbis;audio/x-wav;video/x-ms-asf;audio/ogg;audio/3gpp;audio/AMR;audio/AMR-WB;video/3gpp;video/flv;video/mpeg;video/msvideo;video/x-mpeg;video/x-ms-asf;video/x-ms-wmv;video/quicktime;audio/x-realaudio;audio/x-pn-realaudio;video/vnd.rn-realvideo;audio/mp4a-latm;video/x-m4v;video/mp4;audio/x-matroska;video/x-matroska;audio/x-aiff;audio/x-monkeys-audio;video/x-m4v;audio/mp4a-latm;video/webm
16
- Encoding=UTF-8
17
- Terminal=false
18
curlew-0.2.1_path.patch Added
148
 
1
@@ -0,0 +1,146 @@
2
+diff -U 3 -dHrN curlew-0.2.1.orig/curlew curlew-0.2.1/curlew
3
+--- curlew-0.2.1.orig/curlew   2016-01-23 15:08:20.000000000 +0300
4
++++ curlew-0.2.1/curlew    2016-02-28 02:10:29.409365970 +0300
5
+@@ -1,9 +1,5 @@
6
+ #!/usr/bin/env python3
7
+ 
8
+-from site import addsitedir
9
+-addsitedir('/usr/share/curlew')
10
+-addsitedir('/usr/local/share/curlew')
11
+-
12
+ import sys
13
+-from modules.curlew import main
14
++from curlew.curlew import main
15
+ main(*sys.argv[1:])
16
+diff -U 3 -dHrN curlew-0.2.1.orig/modules/codecs.py curlew-0.2.1/modules/codecs.py
17
+--- curlew-0.2.1.orig/modules/codecs.py    2016-02-27 10:27:05.000000000 +0300
18
++++ curlew-0.2.1/modules/codecs.py 2016-02-28 02:19:50.890717533 +0300
19
+@@ -21,7 +21,7 @@
20
+ gi.require_version('Gtk', '3.0')
21
+ 
22
+ from gi.repository import Gtk, Pango
23
+-from modules.functions import get_available_codecs
24
++from curlew.functions import get_available_codecs
25
+ 
26
+ class CodecsDialog(Gtk.Dialog):
27
+     def __init__(self, prnt, encoder, title):
28
+diff -U 3 -dHrN curlew-0.2.1.orig/modules/consts.py curlew-0.2.1/modules/consts.py
29
+--- curlew-0.2.1.orig/modules/consts.py    2016-02-16 00:33:49.000000000 +0300
30
++++ curlew-0.2.1/modules/consts.py 2016-02-28 02:49:54.000000000 +0300
31
+@@ -26,7 +26,7 @@
32
+ CONF_FILE = join(CONF_PATH, 'curlew.cfg')
33
+ 
34
+ PKG_DIR = dirname(realpath(__file__))
35
+-DTA_DIR = join(PKG_DIR, '../')
36
++DTA_DIR = join(PKG_DIR, '../../../../share/curlew')
37
+ 
38
+ ORG_FFILE = join(DTA_DIR, 'formats.cfg')
39
+ USR_FFILE = join(CONF_PATH, 'formats.cfg')
40
+diff -U 3 -dHrN curlew-0.2.1.orig/modules/curlew.py curlew-0.2.1/modules/curlew.py
41
+--- curlew-0.2.1.orig/modules/curlew.py    2016-02-27 10:27:38.000000000 +0300
42
++++ curlew-0.2.1/modules/curlew.py 2016-02-28 02:50:14.000000000 +0300
43
+@@ -39,21 +39,21 @@
44
+     from gi.repository import Gtk, GLib, Gdk, GObject, GdkPixbuf, Gio
45
+     import dbus.glib, dbus.service
46
+     
47
+-    from modules.customwidgets import LabeledHBox, TimeLayout, HScale, \
48
++    from curlew.customwidgets import LabeledHBox, TimeLayout, HScale, \
49
+     SpinsFrame, LabeledGrid, ComboWithEntry
50
+-    from modules.about import About
51
+-    from modules.functions import show_message, get_format_size, \
52
++    from curlew.about import About
53
++    from curlew.functions import show_message, get_format_size, \
54
+     duration_to_time, time_to_duration, check_codec
55
+-    from modules.logdialog import LogDialog
56
+-    from modules.tray import StatusIcon
57
+-    from modules.languages import LANGUAGES
58
+-    from modules.favdialog import Favorite
59
+-    from modules.waitdialog import WaitDialog
60
+-    from modules.fileinfos import FileInfos
61
+-    from modules.formats import Formats
62
+-    from modules.infobars import InfoBar
63
+-    from modules.codecs import CodecsDialog
64
+-    from modules.consts import CONF_PATH, HOME, CONF_FILE, DTA_DIR, \
65
++    from curlew.logdialog import LogDialog
66
++    from curlew.tray import StatusIcon
67
++    from curlew.languages import LANGUAGES
68
++    from curlew.favdialog import Favorite
69
++    from curlew.waitdialog import WaitDialog
70
++    from curlew.fileinfos import FileInfos
71
++    from curlew.formats import Formats
72
++    from curlew.infobars import InfoBar
73
++    from curlew.codecs import CodecsDialog
74
++    from curlew.consts import CONF_PATH, HOME, CONF_FILE, DTA_DIR, \
75
+     ORG_FFILE, USR_FFILE
76
+ except Exception as e:
77
+     print(e)
78
+@@ -72,7 +72,7 @@
79
+ 
80
+ # Localization.
81
+ DOMAIN = 'curlew'
82
+-LOCALDIR = join(DTA_DIR, 'locale')
83
++LOCALDIR = join(DTA_DIR, '../locale')
84
+ gettext.install(DOMAIN, LOCALDIR)
85
+ 
86
+ # Create ".curlew" folder if not exist
87
+diff -U 3 -dHrN curlew-0.2.1.orig/modules/edition.py curlew-0.2.1/modules/edition.py
88
+--- curlew-0.2.1.orig/modules/edition.py   2016-02-27 10:28:13.000000000 +0300
89
++++ curlew-0.2.1/modules/edition.py    2016-02-28 02:19:50.886717580 +0300
90
+@@ -24,9 +24,9 @@
91
+ 
92
+ from gi.repository import Gtk, GLib
93
+ 
94
+-from modules.customwidgets import LabeledGrid, ButtonWithIcon
95
+-from modules.consts import CONF_FILE, ORG_FFILE
96
+-from modules.functions import show_message
97
++from curlew.customwidgets import LabeledGrid, ButtonWithIcon
98
++from curlew.consts import CONF_FILE, ORG_FFILE
99
++from curlew.functions import show_message
100
+ 
101
+ 
102
+ class FormatEditor(Gtk.Dialog):
103
+diff -U 3 -dHrN curlew-0.2.1.orig/modules/formats.py curlew-0.2.1/modules/formats.py
104
+--- curlew-0.2.1.orig/modules/formats.py   2016-02-27 10:29:02.000000000 +0300
105
++++ curlew-0.2.1/modules/formats.py    2016-02-28 02:19:50.882717628 +0300
106
+@@ -21,7 +21,7 @@
107
+ gi.require_version('Gtk', '3.0')
108
+ 
109
+ from gi.repository import Gtk
110
+-from modules.edition import FormatEditor
111
++from curlew.edition import FormatEditor
112
+ 
113
+ class Formats(Gtk.Popover):
114
+     
115
+diff -U 3 -dHrN curlew-0.2.1.orig/setup.py curlew-0.2.1/setup.py
116
+--- curlew-0.2.1.orig/setup.py 2016-02-27 10:24:30.000000000 +0300
117
++++ curlew-0.2.1/setup.py  2016-02-28 01:50:54.810509993 +0300
118
+@@ -17,11 +17,7 @@
119
+ doc_files  = ['LICENSE-ar.txt', 'LICENSE-en.txt', 'AUTHORS', 'ChangeLog', 'README']
120
+ data_files = [('share/applications/', ['curlew.desktop']),
121
+               ('share/icons/hicolor/scalable/apps', ['curlew.svg']),
122
+-              ('share/pixmaps', ['curlew.svg']),
123
+-              ('share/doc/curlew', doc_files),
124
+               ('share/curlew', ['formats.cfg']),
125
+-              #('share/curlew', ['formats.cfg', 'ffmpeg']), # Portable version
126
+-              ('share/curlew/modules', glob("modules/*.py"))
127
+               ]
128
+ 
129
+ # Prepare curlew icons
130
+@@ -58,7 +54,7 @@
131
+         # Generate mo files
132
+         call("msgfmt {} -o {}".format(po_file, mo_path), shell=True)
133
+     
134
+-    locales = map(lambda i: ('share/curlew/'+i, [i+'/curlew.mo', ]), glob('locale/*/LC_MESSAGES'))
135
++    locales = map(lambda i: ('share/'+i, [i+'/curlew.mo', ]), glob('locale/*/LC_MESSAGES'))
136
+     data_files.extend(locales)
137
+     
138
+     return 0
139
+@@ -163,5 +159,7 @@
140
+                      'Topic :: Desktop Environment :: Gnome',
141
+                      'Topic :: Multimedia :: Sound/Audio :: Conversion',
142
+                      'Topic :: Utilities'],
143
+-      data_files=data_files
144
++      data_files=data_files,
145
++      packages=['curlew'],
146
++      package_dir={"curlew" : "modules"},
147
+       )
148
curlew-0.1.22.3.tar.gz/Curlew Deleted
2
 
1
-(directory)
2
curlew-0.1.22.3.tar.gz/Curlew/__init__.py Deleted
curlew-0.1.22.3.tar.gz/Curlew/about.py Deleted
56
 
1
@@ -1,54 +0,0 @@
2
-# -*- coding: utf-8 -*-
3
-
4
-# Curlew - Easy to use multimedia converter
5
-#
6
-# Copyright (C) 2012-2014 Fayssal Chamekh <chamfay@gmail.com>
7
-#
8
-# Released under terms on waqf public license.
9
-#
10
-# Curlew is free software; you can redistribute it and/or modify it 
11
-# under the terms of the latest version waqf public license as published by 
12
-# ojuba.org.
13
-#
14
-# Curlew is distributed in the hope that it will be useful, but WITHOUT 
15
-# ANY WARRANTY; without even the implied warranty 
16
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17
-#        
18
-# The latest version of the license can be found on:
19
-# http://www.ojuba.org/wiki/doku.php/waqf/license
20
-
21
-
22
-from gi.repository import Gtk
23
-
24
-PROGRAMMER = 'Fayssal Chamekh <chamfay@gmail.com>'
25
-WEB_SITE = 'https://github.com/chamfay/Curlew'
26
-
27
-class About(Gtk.AboutDialog):
28
-    def __init__(self, parent):
29
-        Gtk.AboutDialog.__init__(self, parent=parent, wrap_license=True)
30
-        self.set_program_name(_('Curlew'))
31
-        self.set_authors([PROGRAMMER, 'Ehab El-Gedawy <ehabsas@gmail.com>', 'Andrej Kvasnica <andrej@gmail.com>'])
32
-        self.set_copyright("Copyright © 2012, 2014 Fayssal Chamekh <chamfay@gmail.com>")
33
-        self.set_version('0.1.22.3')
34
-        self.set_title(_('About Curlew'))
35
-        self.set_logo_icon_name('curlew')
36
-        self.set_icon_name('curlew')
37
-        self.set_comments(_('Easy to use Multimedia Converter for Linux'))
38
-        self.set_license("""
39
-Released under terms on waqf public license.
40
-
41
-This program is free software; you can redistribute it and/or modify it under the terms of the latest version waqf public license as published by ojuba.org.
42
-
43
-This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose.
44
-        
45
-The latest version of the license can be found on:
46
-http://www.ojuba.org/wiki/doku.php/waqf/license
47
-""")
48
-        self.set_website(WEB_SITE)
49
-        self.set_website_label(WEB_SITE)
50
-        self.set_translator_credits(_("translator-credits"))
51
-        self.set_artists([PROGRAMMER, 'Smail <kungfu07mail@gmail.com>'])
52
-    
53
-    def show(self):
54
-        self.run()
55
-        self.destroy()
56
curlew-0.1.22.3.tar.gz/Curlew/curlew.py Deleted
201
 
1
@@ -1,2452 +0,0 @@
2
-# -*- coding: utf-8 -*-
3
-
4
-# Curlew - Easy to use multimedia converter
5
-#
6
-# Copyright (C) 2012-2014 Fayssal Chamekh <chamfay@gmail.com>
7
-#
8
-# Released under terms on waqf public license.
9
-#
10
-# Curlew is free software; you can redistribute it and/or modify it 
11
-# under the terms of the latest version waqf public license as published by 
12
-# ojuba.org.
13
-#
14
-# Curlew is distributed in the hope that it will be useful, but WITHOUT 
15
-# ANY WARRANTY; without even the implied warranty 
16
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17
-#        
18
-# The latest version of the license can be found on:
19
-# http://www.ojuba.org/wiki/doku.php/waqf/license
20
-
21
-
22
-try:
23
-    import sys
24
-    import os
25
-    import re
26
-    import time
27
-    import gettext
28
-    from subprocess import Popen, PIPE, call
29
-    from os.path import basename, isdir, splitext, join, dirname, realpath, \
30
-    isfile, exists, getsize
31
-    from os import listdir
32
-    from ConfigParser import ConfigParser, NoOptionError
33
-    from urllib import unquote
34
-    from gi.repository import Gtk, GLib, Gdk, GObject
35
-    import dbus.glib, dbus.service
36
-    import cPickle
37
-    from glob import glob
38
-
39
-    from customwidgets import LabeledHBox, TimeLayout, CustomHScale, \
40
-    CustomToolButton, SpinsFrame, LabeledGrid, CustomComboEntry
41
-    from about import About
42
-    from functions import show_message, get_format_size, duration_to_time, \
43
-    time_to_duration
44
-    from logdialog import LogDialog
45
-    from tray import StatusIcon
46
-    from languages import LANGUAGES
47
-    from favdialog import Favorite
48
-    from waitdialog import WaitDialog
49
-    from fileinfos import FileInfos
50
-    
51
-except Exception as detail:
52
-    print(detail)
53
-    sys.exit(1)
54
-
55
-#--- Localization setup
56
-exedir = dirname(sys.argv[0])
57
-
58
-DOMAIN = 'curlew'
59
-LOCALDIR = ''
60
-
61
-# Curlew script (default locale)
62
-if isdir(join(exedir, '..', 'share/locale')):
63
-    LOCALDIR = join(exedir, '..', 'share/locale')
64
-
65
-# Curlew script (test)
66
-elif isdir(join(exedir, 'locale')):
67
-    LOCALDIR = join(exedir, 'locale')
68
-
69
-# curlew.py
70
-else:
71
-    LOCALDIR = join(exedir, '..', 'locale')
72
-    
73
-gettext.install(DOMAIN, LOCALDIR)
74
-
75
-
76
-#--- Constants
77
-APP_DIR = dirname(realpath(__file__))
78
-HOME = os.getenv("HOME")
79
-TEN_SECONDS = '10'
80
-CONF_PATH = join(HOME, '.curlew')
81
-OPTS_FILE = join(CONF_PATH, 'curlew.cfg')
82
-ERROR_LOG = join(CONF_PATH, 'errors.log')
83
-PASS_LOG = '/tmp/pass1log'
84
-PASS_1_FILE = '/tmp/pass1file'
85
-PREVIEW_FILE = '/tmp/preview'
86
-IMG_PREV = '/tmp/img_prev.jpeg'
87
-FAV_FILE = join(CONF_PATH, 'fav.list')
88
-
89
-
90
-# Make .curlew folder if not exist
91
-if not exists(CONF_PATH): os.mkdir(CONF_PATH)
92
-
93
-# Treeview cols nbrs
94
-C_SKIP = 0  # Skip (checkbox)
95
-C_NAME = 1  # File name
96
-C_FSIZE = 2  # File size
97
-C_FDURA = 3  # File duration
98
-C_ESIZE = 4  # Estimated output size
99
-C_ELAPT = 5  # Elapsed time
100
-C_REMN = 6  # Remaining time
101
-C_PRGR = 7  # Progress value
102
-C_STAT = 8  # Stat string
103
-C_PULS = 9  # Pulse
104
-C_FILE = 10  # complete file name /path/file.ext
105
-
106
-
107
-#--- Main class        
108
-class Curlew(Gtk.Window):    
109
-    
110
-    def __init__(self, *cmd_line_files):
111
-        #--- Global Variables
112
-        self.curr_open_folder = HOME
113
-        self.curr_save_folder = HOME
114
-        self.is_converting = False
115
-        self.fp = None
116
-        self.Iter = None
117
-        self.total_duration = 0.0
118
-        self.out_file = None
119
-        self.counter = 20
120
-        self.errs_nbr = 0
121
-        self.pass_nbr = 0
122
-        
123
-        '''
124
-        self.pass_nbr = 0: Single pass encoding option
125
-        self.pass_nbr = 1: Two-pass encoding option (1st pass)
126
-        self.pass_nbr = 2: Two-pass encoding option (2nd pass)
127
-        '''
128
-        
129
-        self.encoder = ''
130
-        self.player = 'avplay'
131
-        self.is_preview = False
132
-        self.dict_icons = {}
133
-        self.icons_path = ''
134
-        
135
-        self._start_time = None
136
-        self.elapsed_time = '0.00.00'
137
-        
138
-        self.last_format = None
139
-        
140
-        self.is_maxi = False
141
-        
142
-        #--- Regex
143
-        self.reg_avconv_u = \
144
-        re.compile('''size=\s+(\d+\.*\d*).*time=(\d+\.\d*)''')  # ubuntu
145
-        self.reg_avconv_f = \
146
-        re.compile('''size=\s+(\d+\.*\d*).*time=(\d+:\d+:\d+.\d+)''')  # fedora
147
-        self.reg_menc = \
148
-        re.compile('''.(\d+\.*\d*)s.*\((.\d+)%.*\s+(\d+)mb''')
149
-        self.reg_duration = \
150
-        re.compile('''Duration:.*(\d+:\d+:\d+\.\d+)''')
151
-        
152
-        # Install Local
153
-        self.install_locale()
154
-               
155
-        Gtk.Window.__init__(self)
156
-        #self.set_position(Gtk.WindowPosition.CENTER)
157
-        self.set_title(_('Curlew'))
158
-        self.set_size_request(730, -1)
159
-        self.set_icon_name('curlew')
160
-        
161
-        #--- Global vbox
162
-        vbox_global = Gtk.Box(spacing=6, orientation=Gtk.Orientation.VERTICAL)
163
-        self.add(vbox_global)
164
-        
165
-        #--- Toolbar
166
-        toolbar = Gtk.Toolbar()
167
-        toolbar.set_style(Gtk.ToolbarStyle.ICONS)
168
-        toolbar.set_icon_size(Gtk.IconSize.DIALOG)
169
-        toolbar.get_style_context().add_class(Gtk.STYLE_CLASS_PRIMARY_TOOLBAR);
170
-        vbox_global.pack_start(toolbar, False, True, 0)
171
-        
172
-        
173
-        #--- ToolButtons
174
-        # Add file toolbutton
175
-        self.add_file_tb = CustomToolButton('add-file', _('Add File'),
176
-                                       _('Add files'),
177
-                                       self.tb_add_file_cb, toolbar)
178
-        # Add folder toolbutton
179
-        self.add_folder_tb = CustomToolButton('add-folder', _('Add Folder'),
180
-                                       _('Add folders'),
181
-                                       self.tb_add_folder_cb, toolbar)
182
-        
183
-        # Remove toolbutton
184
-        self.remove_tb = CustomToolButton('remove', _('Remove'),
185
-                                          _('Remove files'),
186
-                                          self.tb_remove_cb, toolbar)
187
-        
188
-        # Clear toolbutton
189
-        self.clear_tb = CustomToolButton('clear', _('Clear'),
190
-                                         _('Clear files list'),
191
-                                         self.tb_clear_cb, toolbar)
192
-        
193
-        # Separator
194
-        toolbar.insert(Gtk.SeparatorToolItem(), -1)
195
-        
196
-        # Convert toolbutton
197
-        self.convert_tb = CustomToolButton('convert', _('Convert'),
198
-                                           _('Start Conversion'),
199
-                                           self.convert_cb, toolbar)
200
-        
201
curlew-0.1.22.3.tar.gz/Curlew/customwidgets.py Deleted
201
 
1
@@ -1,245 +0,0 @@
2
-# -*- coding: utf-8 -*-
3
-
4
-# Curlew - Easy to use multimedia converter
5
-#
6
-# Copyright (C) 2012-2014 Fayssal Chamekh <chamfay@gmail.com>
7
-#
8
-# Released under terms on waqf public license.
9
-#
10
-# Curlew is free software; you can redistribute it and/or modify it 
11
-# under the terms of the latest version waqf public license as published by 
12
-# ojuba.org.
13
-#
14
-# Curlew is distributed in the hope that it will be useful, but WITHOUT 
15
-# ANY WARRANTY; without even the implied warranty 
16
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17
-#        
18
-# The latest version of the license can be found on:
19
-# http://www.ojuba.org/wiki/doku.php/waqf/license
20
-
21
-
22
-from gi.repository import Gtk
23
-from os.path import join
24
-
25
-
26
-class SpinsFrame(Gtk.Frame):
27
-    '''4 SpinButton collection'''
28
-    def __init__(self, title):
29
-        Gtk.Frame.__init__(self)
30
-        
31
-        self._top = 0
32
-        self._bottom = 0
33
-        self._left = 0
34
-        self._right = 0
35
-        self._sum = 0
36
-        
37
-        hbox = Gtk.Box(sensitive=False, spacing=4, border_width=4)
38
-        self.add(hbox)
39
-        
40
-        self.check_btn = Gtk.CheckButton(title)
41
-        self.set_label_widget(self.check_btn)
42
-        
43
-        # Adjustments
44
-        adj_top    = Gtk.Adjustment(0, 0, 10000, 1)
45
-        adj_bottom = Gtk.Adjustment(0, 0, 10000, 1)
46
-        adj_left   = Gtk.Adjustment(0, 0, 10000, 1)
47
-        adj_right  = Gtk.Adjustment(0, 0, 10000, 1)
48
-        
49
-        # Top spin
50
-        self.spin_top = Gtk.SpinButton(adjustment=adj_top)
51
-        self.spin_top.set_numeric(True)
52
-        hbox.pack_start(Gtk.Label(_('Top')), False, False, 0)
53
-        hbox.pack_start(self.spin_top, False, False, 0)
54
-        
55
-        hbox.pack_start(Gtk.VSeparator(), False, False, 8)
56
-        
57
-        # bottom spin
58
-        self.spin_bottom = Gtk.SpinButton(adjustment=adj_bottom)
59
-        self.spin_bottom.set_numeric(True)
60
-        hbox.pack_start(Gtk.Label(_('Bottom')), False, False, 0)
61
-        hbox.pack_start(self.spin_bottom, False, False, 0)
62
-        
63
-        hbox.pack_start(Gtk.VSeparator(), False, False, 8)
64
-        
65
-        # Left Spin
66
-        self.spin_left = Gtk.SpinButton(adjustment=adj_left)
67
-        self.spin_left.set_numeric(True)
68
-        hbox.pack_start(Gtk.Label(_('Left')), False, False, 0)
69
-        hbox.pack_start(self.spin_left, False, False, 0)
70
-        
71
-        hbox.pack_start(Gtk.VSeparator(), False, False, 8)
72
-        
73
-        # Right spin
74
-        self.spin_right = Gtk.SpinButton(adjustment=adj_right)
75
-        self.spin_right.set_numeric(True)
76
-        hbox.pack_start(Gtk.Label(_('Right')), False, False, 0)
77
-        hbox.pack_start(self.spin_right, False, False, 0)
78
-        
79
-        
80
-        # Connection
81
-        self.spin_top.connect('value-changed', self._on_spins_changed)
82
-        self.spin_bottom.connect('value-changed', self._on_spins_changed)
83
-        self.spin_left.connect('value-changed', self._on_spins_changed)
84
-        self.spin_right.connect('value-changed', self._on_spins_changed)
85
-        self.check_btn.connect('toggled', self._on_check_cb, hbox)
86
-    
87
-    def _on_check_cb(self, check_btn, hbox):
88
-        hbox.set_sensitive(check_btn.get_active())
89
-    
90
-    def _on_spins_changed(self, spin):
91
-        self._top = self.spin_top.get_value_as_int()
92
-        self._bottom = self.spin_bottom.get_value_as_int()
93
-        self._left = self.spin_left.get_value_as_int()
94
-        self._right = self.spin_right.get_value_as_int()
95
-        
96
-        self._sum = self._top + self._bottom + self._left + self._right
97
-    
98
-    def get_active(self):
99
-        return self.check_btn.get_active() and self._sum != 0
100
-    
101
-    def get_crop(self):
102
-        return 'crop=iw-{}:ih-{}:{}:{}'.format(self._left+self._right,
103
-                                               self._top+self._bottom,
104
-                                               self._left, self._top)
105
-    
106
-    def get_pad(self):
107
-        return 'pad=iw+{}:ih+{}:{}:{}'.format(self._left+self._right,
108
-                                               self._top+self._bottom,
109
-                                               self._left, self._top)
110
-    
111
-    
112
-class CustomToolButton(Gtk.ToolButton):
113
-    def __init__(self, name, label, tooltip, callback, toolbar):
114
-        
115
-        Gtk.ToolButton.__init__(self)
116
-        self._name = name + '.png'
117
-        self.set_tooltip_markup(tooltip)
118
-        self.set_label(label)
119
-        self.connect('clicked', callback)
120
-        self.set_is_important(True)
121
-        toolbar.insert(self, -1)
122
-    
123
-    def set_icon(self, path):
124
-        image_path = join(path, self._name)
125
-        image = Gtk.Image.new_from_file(image_path)
126
-        self.set_icon_widget(image)
127
-        
128
-        
129
-class CustomHScale(Gtk.HScale):
130
-    def __init__(self, container, def_value, min_value, max_value, step=1):
131
-        Gtk.HScale.__init__(self)
132
-        container.pack_start(self, True, True, 0)
133
-        adj = Gtk.Adjustment(def_value, min_value, max_value, step)
134
-        self.set_adjustment(adj)
135
-        self.set_value_pos(Gtk.PositionType.RIGHT)
136
-        self.set_digits(0)
137
-        
138
-
139
-class LabeledHBox(Gtk.Box):
140
-    def __init__(self, label, container=None):
141
-        ''' hbox with label'''
142
-        Gtk.Box.__init__(self, spacing=4)
143
-        _label = Gtk.Label(label, use_markup=True)
144
-        _label.set_alignment(0, 0.5)
145
-        self.pack_start(_label, False, False, 0)
146
-        if container != None:
147
-            container.pack_start(self, False, False, 0)
148
-
149
-
150
-class LabeledGrid(Gtk.Grid):
151
-    def __init__(self, container):
152
-        super(LabeledGrid, self).__init__()
153
-        self.set_column_spacing(4)
154
-        self.set_row_spacing(4)
155
-        self.set_row_homogeneous(False)
156
-        self._n_childs = 0
157
-        container.pack_start(self, False, False, 0)
158
-        
159
-    def append_row(self, label, widget, expanded=False):
160
-        _label = Gtk.Label(label, use_markup=True)
161
-        _label.set_alignment(0, 0.5)
162
-        _hbox = Gtk.Box()
163
-        _hbox.set_hexpand(True)
164
-        _hbox.pack_start(widget, expanded, expanded, 0)
165
-        self.attach(_label, 0, self._n_childs, 1, 1)
166
-        self.attach(_hbox, 1, self._n_childs, 1, 1)
167
-        self._n_childs += 1
168
-
169
-
170
-class TimeLayout(Gtk.Box):
171
-    def __init__(self, container, label):
172
-        '''    Time widget    '''
173
-        Gtk.Box.__init__(self)
174
-        self._spin_h = Gtk.SpinButton().new_with_range(0, 5, 1)
175
-        self._spin_m = Gtk.SpinButton().new_with_range(0, 59, 1)
176
-        self._spin_s = Gtk.SpinButton().new_with_range(0, 59, 1)
177
-        
178
-        _label = Gtk.Label(label, use_markup=True)
179
-        _label.set_alignment(0, 0.5)
180
-        _label.set_width_chars(10)
181
-        
182
-        self.pack_start(_label, False, False, 0)
183
-        
184
-        self.pack_start(self._spin_h, False, False, 3)
185
-        self.pack_start(Gtk.Label(label=_('hr')), False, False, 0)
186
-        
187
-        self.pack_start(Gtk.Label(6*' '), False, False, 0)
188
-        
189
-        self.pack_start(self._spin_m, False, False, 3)
190
-        self.pack_start(Gtk.Label(label=_('min')), False, False, 0)
191
-        
192
-        self.pack_start(Gtk.Label(6*' '), False, False, 0)
193
-        
194
-        self.pack_start(self._spin_s, False, False, 3)
195
-        self.pack_start(Gtk.Label(label=_('sec')), False, False, 0)
196
-        
197
-        container.pack_start(self, False, False, 0)
198
-    
199
-    def set_duration(self, duration):
200
-        ''' Set duration in seconds '''
201
curlew-0.1.22.3.tar.gz/Curlew/favdialog.py Deleted
107
 
1
@@ -1,105 +0,0 @@
2
-# -*- coding: utf-8 -*-
3
-
4
-# Curlew - Easy to use multimedia converter
5
-#
6
-# Copyright (C) 2012-2014 Fayssal Chamekh <chamfay@gmail.com>
7
-#
8
-# Released under terms on waqf public license.
9
-#
10
-# Curlew is free software; you can redistribute it and/or modify it 
11
-# under the terms of the latest version waqf public license as published by 
12
-# ojuba.org.
13
-#
14
-# Curlew is distributed in the hope that it will be useful, but WITHOUT 
15
-# ANY WARRANTY; without even the implied warranty 
16
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17
-#        
18
-# The latest version of the license can be found on:
19
-# http://www.ojuba.org/wiki/doku.php/waqf/license
20
-
21
-
22
-from gi.repository import Gtk, Gdk
23
-import cPickle
24
-
25
-class Favorite(Gtk.Dialog):
26
-    def __init__(self, prnt, fav_list):
27
-        Gtk.Dialog.__init__(self, parent=prnt)
28
-        self.set_title(_('Favorite list'))
29
-        self.set_icon_name('curlew')
30
-        self.set_border_width(4)
31
-        self.set_size_request(350, 280)
32
-        self.store = Gtk.ListStore(str)
33
-        self.list_view = Gtk.TreeView(self.store)
34
-        self.list_view.connect("key-press-event", self.on_key_press)
35
-        
36
-        cell = Gtk.CellRendererText()
37
-        col = Gtk.TreeViewColumn(_("Format"), cell, text=0)
38
-        self.list_view.append_column(col)
39
-        
40
-        hbox = Gtk.Box(spacing=6, orientation=Gtk.Orientation.HORIZONTAL)
41
-        
42
-        scroll = Gtk.ScrolledWindow()
43
-        scroll.set_shadow_type(Gtk.ShadowType.IN)
44
-        scroll.add(self.list_view)
45
-        
46
-        hbox.pack_start(scroll, True, True, 0)
47
-        
48
-        vbox_tool = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
49
-        hbox.pack_start(vbox_tool, False, False, 0)
50
-        
51
-        btn_delete = Gtk.Button()
52
-        btn_delete.set_image(Gtk.Image.new_from_stock(Gtk.STOCK_REMOVE, Gtk.IconSize.MENU))
53
-        btn_delete.connect('clicked', self.delete_item)
54
-        vbox_tool.pack_end(btn_delete, False, False, 0)
55
-        
56
-        btn_up = Gtk.Button()
57
-        btn_up.set_image(Gtk.Image.new_from_stock(Gtk.STOCK_GO_UP, Gtk.IconSize.MENU))
58
-        btn_up.connect('clicked', self.go_up)
59
-        vbox_tool.pack_start(btn_up, False, False, 0)
60
-        
61
-        btn_down = Gtk.Button()
62
-        btn_down.set_image(Gtk.Image.new_from_stock(Gtk.STOCK_GO_DOWN, Gtk.IconSize.MENU))
63
-        btn_down.connect('clicked', self.go_down)
64
-        vbox_tool.pack_start(btn_down, False, False, 0)
65
-        
66
-        self.vbox.pack_start(hbox, True, True, 0)
67
-        
68
-        self.add_button(Gtk.STOCK_OK, Gtk.ResponseType.OK)
69
-        
70
-        # load
71
-        for fformat in fav_list:
72
-            self.store.append((fformat,))
73
-        
74
-        self.show_all()
75
-    
76
-    # Delete Item
77
-    def delete_item(self, *args):
78
-        sele = self.get_selected_iter()
79
-        if sele:
80
-            self.store.remove(sele)
81
-    
82
-    def go_up(self, widget):
83
-        sel_iter = self.get_selected_iter()
84
-        if sel_iter:
85
-            self.store.move_before(sel_iter, self.store.iter_previous(sel_iter))
86
-    
87
-    def go_down(self, widget):
88
-        sel_iter = self.get_selected_iter()
89
-        if sel_iter:
90
-            self.store.move_after(sel_iter, self.store.iter_next(sel_iter))
91
-    
92
-    def get_selected_iter(self):
93
-        return self.list_view.get_selection().get_selected()[1]
94
-    
95
-    def save(self, file_name):
96
-        fav_list = []
97
-        for row in self.store:
98
-            fav_list.append(row[0])
99
-        favfile = open(file_name, "wb")
100
-        cPickle.dump(fav_list, favfile)
101
-        favfile.close()
102
-    
103
-    def on_key_press(self, widget, event):
104
-        if event.keyval == Gdk.KEY_Delete:
105
-            self.delete_item()
106
-    
107
curlew-0.1.22.3.tar.gz/Curlew/fileinfos.py Deleted
60
 
1
@@ -1,57 +0,0 @@
2
-# -*- coding: utf-8 -*-
3
-
4
-# Curlew - Easy to use multimedia converter
5
-#
6
-# Copyright (C) 2012-2014 Fayssal Chamekh <chamfay@gmail.com>
7
-#
8
-# Released under terms on waqf public license.
9
-#
10
-# Curlew is free software; you can redistribute it and/or modify it 
11
-# under the terms of the latest version waqf public license as published by 
12
-# ojuba.org.
13
-#
14
-# Curlew is distributed in the hope that it will be useful, but WITHOUT 
15
-# ANY WARRANTY; without even the implied warranty 
16
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17
-#        
18
-# The latest version of the license can be found on:
19
-# http://www.ojuba.org/wiki/doku.php/waqf/license
20
-
21
-from gi.repository import Gtk, Pango
22
-from subprocess import check_output
23
-
24
-class FileInfos(Gtk.Dialog):
25
-    def __init__(self, prnt, file_name):
26
-        Gtk.Dialog.__init__(self, parent=prnt)
27
-        self.set_title(_("File informations"))
28
-        self.set_size_request(580, 450)
29
-        self.set_border_width(6)
30
-        
31
-        txt_info = Gtk.TextView()
32
-        txt_info.set_editable(False)
33
-        txt_info.set_cursor_visible(False)
34
-        txt_info.set_border_width(8)
35
-        
36
-        scroll = Gtk.ScrolledWindow()
37
-        scroll.set_shadow_type(Gtk.ShadowType.IN)
38
-        scroll.add(txt_info)
39
-        self.vbox.pack_start(scroll, True, True, 0)
40
-        
41
-        self.add_button(Gtk.STOCK_CLOSE, Gtk.ResponseType.CLOSE)
42
-        
43
-        font_desc = Pango.FontDescription('Monospace')
44
-        txt_info.override_font(font_desc)
45
-        
46
-        txt_buffer = Gtk.TextBuffer()
47
-        txt_info.set_buffer(txt_buffer)
48
-        
49
-        # Show info        
50
-        buf = check_output('mediainfo "{}"'.format(file_name), shell=True)
51
-        txt_buffer.set_text(buf.strip())
52
-        
53
-    
54
-    
55
-    def show_dialog(self):
56
-        self.show_all()
57
-        self.run()
58
-        self.destroy()
59
\ No newline at end of file
60
curlew-0.1.22.3.tar.gz/Curlew/formats.cfg Deleted
201
 
1
@@ -1,1771 +0,0 @@
2
-[MP3 Audio]
3
-encoder = f
4
-type = audio
5
-ab = 32k 64k 96k 128k 196k 256k
6
-afreq = 44100 8000 16000 22050 32000
7
-ach = default 2 1
8
-acodec = libmp3lame copy
9
-def_ab = 128k
10
-ff = mp3
11
-ext = mp3
12
-
13
-[Ac3 DVD - 192kbps Stereo]
14
-type = audio
15
-encoder = f
16
-ab = 192k
17
-afreq = 48000
18
-ach = 2
19
-acodec = ac3
20
-ff = ac3
21
-ext = ac3
22
-
23
-[Ac3 DVD - 384kbps Stereo]
24
-type = audio
25
-encoder = f
26
-ab = 384k
27
-afreq = 48000
28
-ach = 2
29
-acodec = ac3
30
-ff = ac3
31
-ext = ac3
32
-
33
-[MPEG4 Audio (m4a)]
34
-encoder = f
35
-type = audio
36
-ab = 112k
37
-afreq = 48000
38
-ach = default 2
39
-acodec = libvo_aacenc aac
40
-ext = m4a
41
-
42
-[CDMA Phone Audio (3g2)]
43
-type = audio
44
-encoder = f
45
-ab = 128k
46
-ach = default
47
-afreq = 22050
48
-acodec = libvo_aacenc aac
49
-ff = 3g2
50
-ext = 3g2
51
-
52
-[Wav for CD]
53
-type = presets
54
-encoder = f
55
-cmd = -vn -ar 44100
56
-ext = wav
57
-
58
-[Wave Audio]
59
-encoder = f
60
-type = audio
61
-ab = 1000k 1200k 1411k 1500k 1600k
62
-afreq = 44100 8000 16000 22050 32000
63
-ach = default 2 1
64
-acodec = pcm_s16le pcm_u8 adpcm_ms adpcm_ima_wav
65
-def_ab = 1200k
66
-ff = wav
67
-ext = wav
68
-
69
-[Window Media Audio]
70
-encoder = f
71
-type = audio
72
-ab = 16k 32k 64k 128k 192k 256k
73
-afreq = 44100 8000 16000 22050 32000
74
-ach = default 2 1
75
-acodec = wmav2 wmav1
76
-def_ab = 128k
77
-ff = asf
78
-ext = wma
79
-
80
-[OGG Vorbis Audio]
81
-encoder = f
82
-type = ogg
83
-ab = default
84
-afreq = 44100 8000 16000 22050 32000
85
-ach = default 2 1
86
-acodec = libvorbis
87
-ff = ogg
88
-ext = ogg
89
-
90
-[OGG Theora Video]
91
-encoder = f
92
-type = ogv
93
-ab = default
94
-afreq = 44100 8000 16000 22050 32000
95
-ach = default 2 1
96
-acodec = flac libvorbis
97
-vb = default
98
-vfps = default
99
-vcodec = libtheora
100
-vsize = default 320:240 640:480 800:600 1024:768 1600:1200 2048:1536 1280:1024 2560:2048 5120:4096 852:480 1366:768 1600:1024 1920:1200 2560:1600 3200:2048 3840:2400 6400:4096 7680:4800 320:200 640:350 852:480 1280:720 1920:1080
101
-vratio = default
102
-extra = -rc_lookahead 16 -keyint_min 0 -g 360 -skip_threshold 0 -level 116
103
-ff = ogg
104
-ext = ogv
105
-
106
-
107
-
108
-[MPEG1 Video]
109
-encoder = f
110
-type = video
111
-ab = 64k 96k 128k 196k 256k
112
-afreq = 44100 8000 16000 22050 32000
113
-ach = default 2 1
114
-acodec = libmp3lame  mp2
115
-def_ab = 128k
116
-vb = 200k 320k 500k 700k 1100k 1500K
117
-def_vb = 1100k
118
-vfps = 30 25
119
-vcodec = mpeg1video
120
-vsize = default 320:240 640:480 800:600 1024:768 1600:1200
121
-vratio = default
122
-ff = mpeg
123
-ext = mpg
124
-extra = -mbd rd -cmp 2 -subcmp 2 -bf 2
125
-
126
-[MPEG2 Video]
127
-encoder = f
128
-type = video
129
-ab = 64k 96k 128k 196k 256k
130
-afreq = 44100 8000 16000 22050 32000
131
-ach = default 2 1
132
-acodec = libmp3lame mp2
133
-def_ab = 128k
134
-vb = 200k 320k 500k 700k 1100k 1500K
135
-def_vb = 1100k
136
-vfps = 30 25
137
-vcodec = mpeg2video
138
-vsize = default 320:240 640:480 800:600 1024:768 1600:1200
139
-vratio = default
140
-ff = mpeg
141
-ext = mpg
142
-extra = -mbd rd -cmp 2 -subcmp 2 -bf 2
143
-
144
-
145
-[AVI Video]
146
-encoder = f
147
-type = video
148
-ab = 64k 96k 128k 196k 256k
149
-afreq = 44100 8000 16000 22050 32000
150
-ach = default 2 1
151
-acodec = libmp3lame mp2
152
-def_ab = 128k
153
-vb = 200k 320k 500k 700k 1100k 1500K
154
-def_vb = 1100k
155
-vfps = 30 25
156
-vcodec = msmpeg4 msmpeg4v2 libxvid mpeg4
157
-vsize = default 320:240 640:480 800:600 1024:768 1600:1200 2048:1536 1280:1024 2560:2048 5120:4096 852:480 1366:768 1600:1024 1920:1200 2560:1600 3200:2048 3840:2400 6400:4096 7680:4800 320:200 640:350 852:480 1280:720 1920:1080
158
-vratio = default 1:1 4:3 5:4 16:9
159
-ff = avi
160
-ext = avi
161
-
162
-[MP4 Video]
163
-encoder = f
164
-type = video
165
-ab = 64k 96k 128k 196k 256k
166
-afreq = 44100 8000 16000 22050 32000
167
-ach = default 2 1
168
-acodec = libvo_aacenc aac
169
-def_ab = 128k
170
-vb = 200k 320k 500k 700k 1100k 1500K
171
-def_vb = 1100k
172
-vfps = 30 25
173
-vcodec = mpeg4
174
-vsize = default 320:240 640:480 800:600 1024:768 1600:1200 2048:1536 1280:1024 2560:2048 5120:4096 852:480 1366:768 1600:1024 1920:1200 2560:1600 3200:2048 3840:2400 6400:4096 7680:4800 320:200 640:350 852:480 1280:720 1920:1080
175
-vratio = 4:3 1:1 4:3 5:4 16:9
176
-ff = mp4
177
-ext = mp4
178
-
179
-[Flash Video (FLV)]
180
-encoder = f
181
-type = video
182
-ab = 64k 96k 128k 196k 256k
183
-afreq = 44100 8000 16000 22050 32000
184
-ach = default 2 1
185
-acodec = libmp3lame
186
-def_ab = 128k
187
-vb = 200k 320k 500k 700k 1100k 1500K
188
-def_vb = 1100k
189
-vfps = 25
190
-vcodec = flv
191
-vsize = default 320:240 640:480 800:600 1024:768 1600:1200 2048:1536 1280:1024 2560:2048 5120:4096 852:480 1366:768 1600:1024 1920:1200 2560:1600 3200:2048 3840:2400 6400:4096 7680:4800 320:200 640:350 852:480 1280:720 1920:1080
192
-vratio = default 1:1 4:3 5:4 16:9
193
-ff = flv
194
-ext = flv
195
-
196
-[Windows Media Video]
197
-encoder = f
198
-type = video
199
-ab = 64k 96k 128k 196k 256k
200
-afreq = 44100 8000 16000 22050 32000
201
curlew-0.1.22.3.tar.gz/Curlew/functions.py Deleted
66
 
1
@@ -1,64 +0,0 @@
2
-# -*- coding: utf-8 -*-
3
-
4
-# Curlew - Easy to use multimedia converter
5
-#
6
-# Copyright (C) 2012-2014 Fayssal Chamekh <chamfay@gmail.com>
7
-#
8
-# Released under terms on waqf public license.
9
-#
10
-# Curlew is free software; you can redistribute it and/or modify it 
11
-# under the terms of the latest version waqf public license as published by 
12
-# ojuba.org.
13
-#
14
-# Curlew is distributed in the hope that it will be useful, but WITHOUT 
15
-# ANY WARRANTY; without even the implied warranty 
16
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17
-#        
18
-# The latest version of the license can be found on:
19
-# http://www.ojuba.org/wiki/doku.php/waqf/license
20
-
21
-
22
-from gi.repository import Gtk
23
-
24
-def show_message(parent, 
25
-                 message, 
26
-                 message_type, 
27
-                 button_type=Gtk.ButtonsType.CLOSE):
28
-    ''' Show custom message dialog'''
29
-    mess_dlg = Gtk.MessageDialog(parent,
30
-                             Gtk.DialogFlags.MODAL,
31
-                             message_type,
32
-                             button_type)
33
-    mess_dlg.set_markup(message)
34
-    if not parent:
35
-        mess_dlg.set_keep_above(True)
36
-    resp = mess_dlg.run()
37
-    mess_dlg.destroy()
38
-    return resp
39
-
40
-def get_format_size(size):
41
-    ''' formating file size '''
42
-    size_str = ''
43
-    if 0 <= size <= 1024:
44
-        size_str = '{:.2f}'.format(size) + _(' KB')
45
-    elif 1024 <= size < 1024 * 1024:
46
-        e_size = size / 1024.0
47
-        size_str = '{:.2f}'.format(e_size) + _(' MB')
48
-    elif size >= 1024 * 1024:
49
-        e_size = size / 1048576.0
50
-        size_str = '{:.2f}'.format(e_size) + _(' GB')
51
-    return size_str
52
-
53
-
54
-def duration_to_time(duration):
55
-    ''' Convert duration (sec) to time 0:00:00 '''
56
-    if duration < 0: duration = 0
57
-    return '{:.0f}:{:02.0f}:{:02.0f}'.format(
58
-                                             duration/3600,
59
-                                             (duration%3600)/60,
60
-                                             (duration%3600)%60
61
-                                             )
62
-def time_to_duration(time):
63
-    ''' Convert time like 0:00:00.00 to duration (sec)'''
64
-    times = time.split(':')
65
-    return int(times[0])*3600 + int(times[1])*60 + float(times[2])
66
curlew-0.1.22.3.tar.gz/Curlew/icons Deleted
2
 
1
-(directory)
2
curlew-0.1.22.3.tar.gz/Curlew/icons/Default Deleted
2
 
1
-(directory)
2
curlew-0.1.22.3.tar.gz/Curlew/icons/Default/about.svg Deleted
198
 
1
@@ -1,196 +0,0 @@
2
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
3
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
4
-
5
-<svg
6
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
7
-   xmlns:cc="http://creativecommons.org/ns#"
8
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
9
-   xmlns:svg="http://www.w3.org/2000/svg"
10
-   xmlns="http://www.w3.org/2000/svg"
11
-   xmlns:xlink="http://www.w3.org/1999/xlink"
12
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
13
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
14
-   width="48px"
15
-   height="48px"
16
-   id="svg3692"
17
-   version="1.1"
18
-   inkscape:version="0.47 r22583"
19
-   sodipodi:docname="help-about.svg">
20
-  <defs
21
-     id="defs3694">
22
-    <linearGradient
23
-       inkscape:collect="always"
24
-       xlink:href="#linearGradient8265-821-176-38-919-66-249"
25
-       id="linearGradient3619"
26
-       gradientUnits="userSpaceOnUse"
27
-       gradientTransform="translate(2.9799125,-3.1216548)"
28
-       x1="11.566265"
29
-       y1="22.292103"
30
-       x2="15.214532"
31
-       y2="33.95525" />
32
-    <linearGradient
33
-       id="linearGradient8265-821-176-38-919-66-249">
34
-      <stop
35
-         id="stop2687"
36
-         style="stop-color:#ffffff;stop-opacity:0.27450982"
37
-         offset="0" />
38
-      <stop
39
-         id="stop2689"
40
-         style="stop-color:#ffffff;stop-opacity:0"
41
-         offset="1" />
42
-    </linearGradient>
43
-    <linearGradient
44
-       inkscape:collect="always"
45
-       xlink:href="#linearGradient3642"
46
-       id="linearGradient3648"
47
-       x1="29.646643"
48
-       y1="2"
49
-       x2="29.646643"
50
-       y2="43.443626"
51
-       gradientUnits="userSpaceOnUse" />
52
-    <linearGradient
53
-       id="linearGradient3642">
54
-      <stop
55
-         style="stop-color:#ffffff;stop-opacity:1;"
56
-         offset="0"
57
-         id="stop3644" />
58
-      <stop
59
-         style="stop-color:#ffffff;stop-opacity:0;"
60
-         offset="1"
61
-         id="stop3646" />
62
-    </linearGradient>
63
-    <radialGradient
64
-       inkscape:collect="always"
65
-       xlink:href="#linearGradient3690"
66
-       id="radialGradient3627"
67
-       gradientUnits="userSpaceOnUse"
68
-       gradientTransform="matrix(0,2.6540647,-3.1628087,0,97.182609,-26.675837)"
69
-       cx="13.138569"
70
-       cy="25.625349"
71
-       fx="13.138569"
72
-       fy="25.625349"
73
-       r="13.931416" />
74
-    <linearGradient
75
-       id="linearGradient3690">
76
-      <stop
77
-         id="stop3692"
78
-         style="stop-color:#ffeb9f;stop-opacity:1"
79
-         offset="0" />
80
-      <stop
81
-         id="stop3694"
82
-         style="stop-color:#ffd57e;stop-opacity:1"
83
-         offset="0.26238" />
84
-      <stop
85
-         id="stop3696"
86
-         style="stop-color:#ffbc43;stop-opacity:1"
87
-         offset="0.66093999" />
88
-      <stop
89
-         id="stop3698"
90
-         style="stop-color:#ff921a;stop-opacity:1"
91
-         offset="1" />
92
-    </linearGradient>
93
-    <linearGradient
94
-       inkscape:collect="always"
95
-       xlink:href="#linearGradient3603"
96
-       id="linearGradient3629"
97
-       gradientUnits="userSpaceOnUse"
98
-       gradientTransform="matrix(1.6508808,0,0,1.6568311,-11.466494,-15.045759)"
99
-       x1="21.483376"
100
-       y1="36.255058"
101
-       x2="21.483376"
102
-       y2="9.5799999" />
103
-    <linearGradient
104
-       id="linearGradient3603">
105
-      <stop
106
-         id="stop3605"
107
-         style="stop-color:#a7651c;stop-opacity:1"
108
-         offset="0" />
109
-      <stop
110
-         id="stop3607"
111
-         style="stop-color:#c8a700;stop-opacity:1"
112
-         offset="1" />
113
-    </linearGradient>
114
-    <linearGradient
115
-       id="linearGradient8838">
116
-      <stop
117
-         id="stop8840"
118
-         style="stop-color:#000000;stop-opacity:1"
119
-         offset="0" />
120
-      <stop
121
-         id="stop8842"
122
-         style="stop-color:#000000;stop-opacity:0"
123
-         offset="1" />
124
-    </linearGradient>
125
-    <radialGradient
126
-       r="10.625"
127
-       fy="4.625"
128
-       fx="62.625"
129
-       cy="4.625"
130
-       cx="62.625"
131
-       gradientTransform="matrix(2.1647059,0,0,0.84705771,-111.56471,35.082353)"
132
-       gradientUnits="userSpaceOnUse"
133
-       id="radialGradient3690"
134
-       xlink:href="#linearGradient8838"
135
-       inkscape:collect="always" />
136
-  </defs>
137
-  <sodipodi:namedview
138
-     id="base"
139
-     pagecolor="#ffffff"
140
-     bordercolor="#666666"
141
-     borderopacity="1.0"
142
-     inkscape:pageopacity="0.0"
143
-     inkscape:pageshadow="2"
144
-     inkscape:zoom="7"
145
-     inkscape:cx="24"
146
-     inkscape:cy="24"
147
-     inkscape:current-layer="layer1"
148
-     showgrid="true"
149
-     inkscape:grid-bbox="true"
150
-     inkscape:document-units="px"
151
-     inkscape:window-width="603"
152
-     inkscape:window-height="484"
153
-     inkscape:window-x="417"
154
-     inkscape:window-y="162"
155
-     inkscape:window-maximized="0" />
156
-  <metadata
157
-     id="metadata3697">
158
-    <rdf:RDF>
159
-      <cc:Work
160
-         rdf:about="">
161
-        <dc:format>image/svg+xml</dc:format>
162
-        <dc:type
163
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
164
-        <dc:title></dc:title>
165
-      </cc:Work>
166
-    </rdf:RDF>
167
-  </metadata>
168
-  <g
169
-     id="layer1"
170
-     inkscape:label="Layer 1"
171
-     inkscape:groupmode="layer">
172
-    <path
173
-       style="opacity:0.3;fill:url(#radialGradient3690);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999988;marker:none;visibility:visible;display:inline;overflow:visible"
174
-       id="path8836"
175
-       d="m 47,39 c 0,4.970563 -10.297453,9 -23,9 -12.702548,0 -23,-4.029437 -23,-9 0,-4.970563 10.297452,-9 23,-9 12.702547,0 23,4.029437 23,9 l 0,0 z" />
176
-    <path
177
-       style="fill:url(#radialGradient3627);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3629);stroke-width:0.9922713;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
178
-       id="path1307"
179
-       d="m 23.999999,1.4961347 c 1.518797,0 6.415369,12.2754723 7.644103,13.1714173 1.228732,0.895944 14.374596,1.776317 14.843931,3.225986 0.469334,1.449669 -9.650283,9.916699 -10.119617,11.366368 -0.469334,1.449669 2.758685,14.269241 1.529951,15.165186 -1.228733,0.895944 -12.379571,-6.146615 -13.89837,-6.146615 -1.518797,0 -12.669635,7.042559 -13.898369,6.146615 C 8.8728956,43.529147 12.100914,30.709574 11.63158,29.259906 11.162246,27.810237 1.0426298,19.343205 1.5119642,17.893536 1.9812985,16.443869 15.127162,15.563496 16.355896,14.667552 17.584628,13.771607 22.481202,1.4961347 23.999999,1.4961347 z" />
180
-    <path
181
-       style="opacity:0.3;fill:none;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
182
-       id="path11014"
183
-       d="m 36.457966,42.854576 c 0,0 -4.318414,-3.742625 -10.076299,-4.894202" />
184
-    <path
185
-       style="opacity:0.3;fill:none;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
186
-       id="path11985"
187
-       d="m 11.175618,42.854576 c 0,0 4.318413,-3.742625 10.076298,-4.894202" />
188
-    <path
189
-       style="opacity:0.4;fill:none;stroke:url(#linearGradient3648);stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
190
-       id="path1309"
191
-       d="m 24,2.5 c 2.255601,4.3171106 4.478429,8.952433 6.73403,13.269542 4.843973,0.789864 10.26201,1.380836 14.771263,2.50542 -3.449934,3.457984 -6.875961,7.131147 -10.325895,10.589132 0.738138,4.805274 1.213021,9.259541 1.95116,14.064815 C 32.742781,40.748952 28.355003,38.568994 23.967226,36.389035 19.579447,38.568994 15.19167,40.748952 10.803892,42.928909 11.542029,38.123635 11.929163,33.581617 12.6673,28.776343 9.2173666,25.318358 5.9355586,21.692246 2.4856257,18.234262 7.329597,17.444398 12.356449,16.559406 17.20042,15.769542 19.456021,11.452433 21.744398,6.8171106 24,2.5 z" />
192
-    <path
193
-       style="opacity:0.8;fill:url(#linearGradient3619);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
194
-       id="path3382"
195
-       d="m 24.023909,2.0218291 c 0,0 4.502337,7.4701031 7.020932,13.3173589 4.843973,0.789864 10.309827,1.404745 14.914715,2.720597 0,0 -2.463879,2.468624 -3.480641,3.487759 0,0 -31.782299,5.712288 -31.782299,5.712288 C 7.7999341,24.283482 4.5120994,21.39468 1.9615429,18.048297 5.5144527,16.97153 12.093455,16.105144 16.937426,15.31528 20.29282,7.4118887 24.023909,2.0218291 24.023909,2.0218291 z" />
196
-  </g>
197
-</svg>
198
curlew-0.1.22.3.tar.gz/Curlew/icons/Default/add-file.svg Deleted
201
 
1
@@ -1,2353 +0,0 @@
2
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
3
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
4
-
5
-<svg
6
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
7
-   xmlns:cc="http://creativecommons.org/ns#"
8
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
9
-   xmlns:svg="http://www.w3.org/2000/svg"
10
-   xmlns="http://www.w3.org/2000/svg"
11
-   xmlns:xlink="http://www.w3.org/1999/xlink"
12
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
13
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
14
-   id="svg2604"
15
-   height="48"
16
-   width="48"
17
-   version="1.0"
18
-   inkscape:version="0.48.4 r9939"
19
-   sodipodi:docname="add-file.svg">
20
-  <metadata
21
-     id="metadata59">
22
-    <rdf:RDF>
23
-      <cc:Work
24
-         rdf:about="">
25
-        <dc:format>image/svg+xml</dc:format>
26
-        <dc:type
27
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
28
-        <dc:title />
29
-      </cc:Work>
30
-    </rdf:RDF>
31
-  </metadata>
32
-  <sodipodi:namedview
33
-     pagecolor="#ffffff"
34
-     bordercolor="#666666"
35
-     borderopacity="1"
36
-     objecttolerance="10"
37
-     gridtolerance="10"
38
-     guidetolerance="10"
39
-     inkscape:pageopacity="0"
40
-     inkscape:pageshadow="2"
41
-     inkscape:window-width="1600"
42
-     inkscape:window-height="842"
43
-     id="namedview57"
44
-     showgrid="false"
45
-     inkscape:zoom="9.3102393"
46
-     inkscape:cx="11.218374"
47
-     inkscape:cy="24"
48
-     inkscape:window-x="-2"
49
-     inkscape:window-y="-3"
50
-     inkscape:window-maximized="1"
51
-     inkscape:current-layer="g3440"
52
-     showguides="true"
53
-     inkscape:guide-bbox="true" />
54
-  <defs
55
-     id="defs2606">
56
-    <linearGradient
57
-       id="linearGradient3333"
58
-       y2="609.51"
59
-       gradientUnits="userSpaceOnUse"
60
-       x2="302.86"
61
-       gradientTransform="matrix(.067325 0 0 0.0147 -.34114 37.04)"
62
-       y1="366.65"
63
-       x1="302.86">
64
-      <stop
65
-         id="stop5050"
66
-         style="stop-opacity:0"
67
-         offset="0" />
68
-      <stop
69
-         id="stop5056"
70
-         offset=".5" />
71
-      <stop
72
-         id="stop5052"
73
-         style="stop-opacity:0"
74
-         offset="1" />
75
-    </linearGradient>
76
-    <radialGradient
77
-       id="radialGradient3330"
78
-       xlink:href="#linearGradient5060"
79
-       gradientUnits="userSpaceOnUse"
80
-       cy="486.65"
81
-       cx="605.71"
82
-       gradientTransform="matrix(-.023040 0 0 0.0147 21.623 37.04)"
83
-       r="117.14" />
84
-    <linearGradient
85
-       id="linearGradient5060">
86
-      <stop
87
-         id="stop5062"
88
-         offset="0" />
89
-      <stop
90
-         id="stop5064"
91
-         style="stop-opacity:0"
92
-         offset="1" />
93
-    </linearGradient>
94
-    <radialGradient
95
-       id="radialGradient3327"
96
-       xlink:href="#linearGradient5060"
97
-       gradientUnits="userSpaceOnUse"
98
-       cy="486.65"
99
-       cx="605.71"
100
-       gradientTransform="matrix(.023040 0 0 0.0147 26.361 37.04)"
101
-       r="117.14" />
102
-    <linearGradient
103
-       id="linearGradient3324"
104
-       y2="2.9062"
105
-       gradientUnits="userSpaceOnUse"
106
-       x2="-51.786"
107
-       gradientTransform="matrix(.80750 0 0 .89483 59.41 -2.9806)"
108
-       y1="50.786"
109
-       x1="-51.786">
110
-      <stop
111
-         id="stop3106"
112
-         style="stop-color:#aaa"
113
-         offset="0" />
114
-      <stop
115
-         id="stop3108"
116
-         style="stop-color:#c8c8c8"
117
-         offset="1" />
118
-    </linearGradient>
119
-    <linearGradient
120
-       id="linearGradient3322"
121
-       y2="47.013"
122
-       gradientUnits="userSpaceOnUse"
123
-       x2="25.132"
124
-       gradientTransform="matrix(1 0 0 .95617 -1.0065e-7 -1.9149)"
125
-       y1=".98521"
126
-       x1="25.132">
127
-      <stop
128
-         id="stop3602"
129
-         style="stop-color:#f4f4f4"
130
-         offset="0" />
131
-      <stop
132
-         id="stop3604"
133
-         style="stop-color:#dbdbdb"
134
-         offset="1" />
135
-    </linearGradient>
136
-    <radialGradient
137
-       id="radialGradient3319"
138
-       gradientUnits="userSpaceOnUse"
139
-       cy="112.3"
140
-       cx="102"
141
-       gradientTransform="matrix(.36170 0 0 -.39078 .85106 47.517)"
142
-       r="139.56">
143
-      <stop
144
-         id="stop41"
145
-         style="stop-color:#b7b8b9"
146
-         offset="0" />
147
-      <stop
148
-         id="stop47"
149
-         style="stop-color:#ececec"
150
-         offset=".18851" />
151
-      <stop
152
-         id="stop49"
153
-         style="stop-color:#fafafa;stop-opacity:0"
154
-         offset=".25718" />
155
-      <stop
156
-         id="stop51"
157
-         style="stop-color:#fff;stop-opacity:0"
158
-         offset=".30111" />
159
-      <stop
160
-         id="stop53"
161
-         style="stop-color:#fafafa;stop-opacity:0"
162
-         offset=".53130" />
163
-      <stop
164
-         id="stop55"
165
-         style="stop-color:#ebecec;stop-opacity:0"
166
-         offset=".84490" />
167
-      <stop
168
-         id="stop57"
169
-         style="stop-color:#e1e2e3;stop-opacity:0"
170
-         offset="1" />
171
-    </radialGradient>
172
-    <linearGradient
173
-       id="linearGradient3316"
174
-       y2="46.017"
175
-       gradientUnits="userSpaceOnUse"
176
-       x2="24"
177
-       gradientTransform="matrix(1 0 0 .97778 0 -.96667)"
178
-       y1="2"
179
-       x1="24">
180
-      <stop
181
-         id="stop3213"
182
-         style="stop-color:#fff"
183
-         offset="0" />
184
-      <stop
185
-         id="stop3215"
186
-         style="stop-color:#fff;stop-opacity:0"
187
-         offset="1" />
188
-    </linearGradient>
189
-    <filter
190
-       id="filter3212"
191
-       y="-.16434"
192
-       width="1.2969"
193
-       x="-.14846"
194
-       height="1.3287">
195
-      <feGaussianBlur
196
-         id="feGaussianBlur3214"
197
-         stdDeviation="0.77391625" />
198
-    </filter>
199
-    <linearGradient
200
-       id="linearGradient3312"
201
curlew-0.1.22.3.tar.gz/Curlew/icons/Default/add-folder.svg Deleted
201
 
1
@@ -1,2428 +0,0 @@
2
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
3
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
4
-
5
-<svg
6
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
7
-   xmlns:cc="http://creativecommons.org/ns#"
8
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
9
-   xmlns:svg="http://www.w3.org/2000/svg"
10
-   xmlns="http://www.w3.org/2000/svg"
11
-   xmlns:xlink="http://www.w3.org/1999/xlink"
12
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
13
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
14
-   id="svg2604"
15
-   height="48"
16
-   width="48"
17
-   version="1.0"
18
-   inkscape:version="0.48.4 r9939"
19
-   sodipodi:docname="add-folder.svg">
20
-  <metadata
21
-     id="metadata59">
22
-    <rdf:RDF>
23
-      <cc:Work
24
-         rdf:about="">
25
-        <dc:format>image/svg+xml</dc:format>
26
-        <dc:type
27
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
28
-        <dc:title />
29
-      </cc:Work>
30
-    </rdf:RDF>
31
-  </metadata>
32
-  <sodipodi:namedview
33
-     pagecolor="#ffffff"
34
-     bordercolor="#666666"
35
-     borderopacity="1"
36
-     objecttolerance="10"
37
-     gridtolerance="10"
38
-     guidetolerance="10"
39
-     inkscape:pageopacity="0"
40
-     inkscape:pageshadow="2"
41
-     inkscape:window-width="1600"
42
-     inkscape:window-height="842"
43
-     id="namedview57"
44
-     showgrid="false"
45
-     inkscape:zoom="9.3102393"
46
-     inkscape:cx="11.218374"
47
-     inkscape:cy="24"
48
-     inkscape:window-x="-2"
49
-     inkscape:window-y="-3"
50
-     inkscape:window-maximized="1"
51
-     inkscape:current-layer="layer1-2"
52
-     showguides="true"
53
-     inkscape:guide-bbox="true" />
54
-  <defs
55
-     id="defs2606">
56
-    <linearGradient
57
-       id="linearGradient3333"
58
-       y2="609.51"
59
-       gradientUnits="userSpaceOnUse"
60
-       x2="302.86"
61
-       gradientTransform="matrix(.067325 0 0 0.0147 -.34114 37.04)"
62
-       y1="366.65"
63
-       x1="302.86">
64
-      <stop
65
-         id="stop5050"
66
-         style="stop-opacity:0"
67
-         offset="0" />
68
-      <stop
69
-         id="stop5056"
70
-         offset=".5" />
71
-      <stop
72
-         id="stop5052"
73
-         style="stop-opacity:0"
74
-         offset="1" />
75
-    </linearGradient>
76
-    <radialGradient
77
-       id="radialGradient3330"
78
-       xlink:href="#linearGradient5060"
79
-       gradientUnits="userSpaceOnUse"
80
-       cy="486.65"
81
-       cx="605.71"
82
-       gradientTransform="matrix(-.023040 0 0 0.0147 21.623 37.04)"
83
-       r="117.14" />
84
-    <linearGradient
85
-       id="linearGradient5060">
86
-      <stop
87
-         id="stop5062"
88
-         offset="0" />
89
-      <stop
90
-         id="stop5064"
91
-         style="stop-opacity:0"
92
-         offset="1" />
93
-    </linearGradient>
94
-    <radialGradient
95
-       id="radialGradient3327"
96
-       xlink:href="#linearGradient5060"
97
-       gradientUnits="userSpaceOnUse"
98
-       cy="486.65"
99
-       cx="605.71"
100
-       gradientTransform="matrix(.023040 0 0 0.0147 26.361 37.04)"
101
-       r="117.14" />
102
-    <linearGradient
103
-       id="linearGradient3324"
104
-       y2="2.9062"
105
-       gradientUnits="userSpaceOnUse"
106
-       x2="-51.786"
107
-       gradientTransform="matrix(.80750 0 0 .89483 59.41 -2.9806)"
108
-       y1="50.786"
109
-       x1="-51.786">
110
-      <stop
111
-         id="stop3106"
112
-         style="stop-color:#aaa"
113
-         offset="0" />
114
-      <stop
115
-         id="stop3108"
116
-         style="stop-color:#c8c8c8"
117
-         offset="1" />
118
-    </linearGradient>
119
-    <linearGradient
120
-       id="linearGradient3322"
121
-       y2="47.013"
122
-       gradientUnits="userSpaceOnUse"
123
-       x2="25.132"
124
-       gradientTransform="matrix(1 0 0 .95617 -1.0065e-7 -1.9149)"
125
-       y1=".98521"
126
-       x1="25.132">
127
-      <stop
128
-         id="stop3602"
129
-         style="stop-color:#f4f4f4"
130
-         offset="0" />
131
-      <stop
132
-         id="stop3604"
133
-         style="stop-color:#dbdbdb"
134
-         offset="1" />
135
-    </linearGradient>
136
-    <radialGradient
137
-       id="radialGradient3319"
138
-       gradientUnits="userSpaceOnUse"
139
-       cy="112.3"
140
-       cx="102"
141
-       gradientTransform="matrix(.36170 0 0 -.39078 .85106 47.517)"
142
-       r="139.56">
143
-      <stop
144
-         id="stop41"
145
-         style="stop-color:#b7b8b9"
146
-         offset="0" />
147
-      <stop
148
-         id="stop47"
149
-         style="stop-color:#ececec"
150
-         offset=".18851" />
151
-      <stop
152
-         id="stop49"
153
-         style="stop-color:#fafafa;stop-opacity:0"
154
-         offset=".25718" />
155
-      <stop
156
-         id="stop51"
157
-         style="stop-color:#fff;stop-opacity:0"
158
-         offset=".30111" />
159
-      <stop
160
-         id="stop53"
161
-         style="stop-color:#fafafa;stop-opacity:0"
162
-         offset=".53130" />
163
-      <stop
164
-         id="stop55"
165
-         style="stop-color:#ebecec;stop-opacity:0"
166
-         offset=".84490" />
167
-      <stop
168
-         id="stop57"
169
-         style="stop-color:#e1e2e3;stop-opacity:0"
170
-         offset="1" />
171
-    </radialGradient>
172
-    <linearGradient
173
-       id="linearGradient3316"
174
-       y2="46.017"
175
-       gradientUnits="userSpaceOnUse"
176
-       x2="24"
177
-       gradientTransform="matrix(1 0 0 .97778 0 -.96667)"
178
-       y1="2"
179
-       x1="24">
180
-      <stop
181
-         id="stop3213"
182
-         style="stop-color:#fff"
183
-         offset="0" />
184
-      <stop
185
-         id="stop3215"
186
-         style="stop-color:#fff;stop-opacity:0"
187
-         offset="1" />
188
-    </linearGradient>
189
-    <filter
190
-       id="filter3212"
191
-       y="-.16434"
192
-       width="1.2969"
193
-       x="-.14846"
194
-       height="1.3287">
195
-      <feGaussianBlur
196
-         id="feGaussianBlur3214"
197
-         stdDeviation="0.77391625" />
198
-    </filter>
199
-    <linearGradient
200
-       id="linearGradient3312"
201
curlew-0.1.22.3.tar.gz/Curlew/icons/Default/add.svg Deleted
201
 
1
@@ -1,1548 +0,0 @@
2
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
3
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
4
-
5
-<svg
6
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
7
-   xmlns:cc="http://creativecommons.org/ns#"
8
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
9
-   xmlns:svg="http://www.w3.org/2000/svg"
10
-   xmlns="http://www.w3.org/2000/svg"
11
-   xmlns:xlink="http://www.w3.org/1999/xlink"
12
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
13
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
14
-   id="svg2604"
15
-   height="48"
16
-   width="48"
17
-   version="1.0"
18
-   inkscape:version="0.48.3.1 r9886"
19
-   sodipodi:docname="add.svg">
20
-  <metadata
21
-     id="metadata59">
22
-    <rdf:RDF>
23
-      <cc:Work
24
-         rdf:about="">
25
-        <dc:format>image/svg+xml</dc:format>
26
-        <dc:type
27
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
28
-        <dc:title />
29
-      </cc:Work>
30
-    </rdf:RDF>
31
-  </metadata>
32
-  <sodipodi:namedview
33
-     pagecolor="#ffffff"
34
-     bordercolor="#666666"
35
-     borderopacity="1"
36
-     objecttolerance="10"
37
-     gridtolerance="10"
38
-     guidetolerance="10"
39
-     inkscape:pageopacity="0"
40
-     inkscape:pageshadow="2"
41
-     inkscape:window-width="1600"
42
-     inkscape:window-height="842"
43
-     id="namedview57"
44
-     showgrid="false"
45
-     inkscape:zoom="9.3102393"
46
-     inkscape:cx="24"
47
-     inkscape:cy="24"
48
-     inkscape:window-x="-4"
49
-     inkscape:window-y="-3"
50
-     inkscape:window-maximized="1"
51
-     inkscape:current-layer="g3652" />
52
-  <defs
53
-     id="defs2606">
54
-    <linearGradient
55
-       id="linearGradient3333"
56
-       y2="609.51"
57
-       gradientUnits="userSpaceOnUse"
58
-       x2="302.86"
59
-       gradientTransform="matrix(.067325 0 0 0.0147 -.34114 37.04)"
60
-       y1="366.65"
61
-       x1="302.86">
62
-      <stop
63
-         id="stop5050"
64
-         style="stop-opacity:0"
65
-         offset="0" />
66
-      <stop
67
-         id="stop5056"
68
-         offset=".5" />
69
-      <stop
70
-         id="stop5052"
71
-         style="stop-opacity:0"
72
-         offset="1" />
73
-    </linearGradient>
74
-    <radialGradient
75
-       id="radialGradient3330"
76
-       xlink:href="#linearGradient5060"
77
-       gradientUnits="userSpaceOnUse"
78
-       cy="486.65"
79
-       cx="605.71"
80
-       gradientTransform="matrix(-.023040 0 0 0.0147 21.623 37.04)"
81
-       r="117.14" />
82
-    <linearGradient
83
-       id="linearGradient5060">
84
-      <stop
85
-         id="stop5062"
86
-         offset="0" />
87
-      <stop
88
-         id="stop5064"
89
-         style="stop-opacity:0"
90
-         offset="1" />
91
-    </linearGradient>
92
-    <radialGradient
93
-       id="radialGradient3327"
94
-       xlink:href="#linearGradient5060"
95
-       gradientUnits="userSpaceOnUse"
96
-       cy="486.65"
97
-       cx="605.71"
98
-       gradientTransform="matrix(.023040 0 0 0.0147 26.361 37.04)"
99
-       r="117.14" />
100
-    <linearGradient
101
-       id="linearGradient3324"
102
-       y2="2.9062"
103
-       gradientUnits="userSpaceOnUse"
104
-       x2="-51.786"
105
-       gradientTransform="matrix(.80750 0 0 .89483 59.41 -2.9806)"
106
-       y1="50.786"
107
-       x1="-51.786">
108
-      <stop
109
-         id="stop3106"
110
-         style="stop-color:#aaa"
111
-         offset="0" />
112
-      <stop
113
-         id="stop3108"
114
-         style="stop-color:#c8c8c8"
115
-         offset="1" />
116
-    </linearGradient>
117
-    <linearGradient
118
-       id="linearGradient3322"
119
-       y2="47.013"
120
-       gradientUnits="userSpaceOnUse"
121
-       x2="25.132"
122
-       gradientTransform="matrix(1 0 0 .95617 -1.0065e-7 -1.9149)"
123
-       y1=".98521"
124
-       x1="25.132">
125
-      <stop
126
-         id="stop3602"
127
-         style="stop-color:#f4f4f4"
128
-         offset="0" />
129
-      <stop
130
-         id="stop3604"
131
-         style="stop-color:#dbdbdb"
132
-         offset="1" />
133
-    </linearGradient>
134
-    <radialGradient
135
-       id="radialGradient3319"
136
-       gradientUnits="userSpaceOnUse"
137
-       cy="112.3"
138
-       cx="102"
139
-       gradientTransform="matrix(.36170 0 0 -.39078 .85106 47.517)"
140
-       r="139.56">
141
-      <stop
142
-         id="stop41"
143
-         style="stop-color:#b7b8b9"
144
-         offset="0" />
145
-      <stop
146
-         id="stop47"
147
-         style="stop-color:#ececec"
148
-         offset=".18851" />
149
-      <stop
150
-         id="stop49"
151
-         style="stop-color:#fafafa;stop-opacity:0"
152
-         offset=".25718" />
153
-      <stop
154
-         id="stop51"
155
-         style="stop-color:#fff;stop-opacity:0"
156
-         offset=".30111" />
157
-      <stop
158
-         id="stop53"
159
-         style="stop-color:#fafafa;stop-opacity:0"
160
-         offset=".53130" />
161
-      <stop
162
-         id="stop55"
163
-         style="stop-color:#ebecec;stop-opacity:0"
164
-         offset=".84490" />
165
-      <stop
166
-         id="stop57"
167
-         style="stop-color:#e1e2e3;stop-opacity:0"
168
-         offset="1" />
169
-    </radialGradient>
170
-    <linearGradient
171
-       id="linearGradient3316"
172
-       y2="46.017"
173
-       gradientUnits="userSpaceOnUse"
174
-       x2="24"
175
-       gradientTransform="matrix(1 0 0 .97778 0 -.96667)"
176
-       y1="2"
177
-       x1="24">
178
-      <stop
179
-         id="stop3213"
180
-         style="stop-color:#fff"
181
-         offset="0" />
182
-      <stop
183
-         id="stop3215"
184
-         style="stop-color:#fff;stop-opacity:0"
185
-         offset="1" />
186
-    </linearGradient>
187
-    <filter
188
-       id="filter3212"
189
-       y="-.16434"
190
-       width="1.2969"
191
-       x="-.14846"
192
-       height="1.3287">
193
-      <feGaussianBlur
194
-         id="feGaussianBlur3214"
195
-         stdDeviation="0.77391625" />
196
-    </filter>
197
-    <linearGradient
198
-       id="linearGradient3312"
199
-       y2="5.4565"
200
-       gradientUnits="userSpaceOnUse"
201
curlew-0.1.22.3.tar.gz/Curlew/icons/Default/clear.svg Deleted
201
 
1
@@ -1,2833 +0,0 @@
2
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
3
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
4
-
5
-<svg
6
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
7
-   xmlns:cc="http://creativecommons.org/ns#"
8
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
9
-   xmlns:svg="http://www.w3.org/2000/svg"
10
-   xmlns="http://www.w3.org/2000/svg"
11
-   xmlns:xlink="http://www.w3.org/1999/xlink"
12
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
13
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
14
-   id="svg2604"
15
-   height="48"
16
-   width="48"
17
-   version="1.0"
18
-   inkscape:version="0.48.4 r9939"
19
-   sodipodi:docname="clear.svg">
20
-  <metadata
21
-     id="metadata59">
22
-    <rdf:RDF>
23
-      <cc:Work
24
-         rdf:about="">
25
-        <dc:format>image/svg+xml</dc:format>
26
-        <dc:type
27
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
28
-        <dc:title />
29
-      </cc:Work>
30
-    </rdf:RDF>
31
-  </metadata>
32
-  <sodipodi:namedview
33
-     pagecolor="#ffffff"
34
-     bordercolor="#666666"
35
-     borderopacity="1"
36
-     objecttolerance="10"
37
-     gridtolerance="10"
38
-     guidetolerance="10"
39
-     inkscape:pageopacity="0"
40
-     inkscape:pageshadow="2"
41
-     inkscape:window-width="1600"
42
-     inkscape:window-height="842"
43
-     id="namedview57"
44
-     showgrid="false"
45
-     inkscape:zoom="9.3102393"
46
-     inkscape:cx="10.412809"
47
-     inkscape:cy="24"
48
-     inkscape:window-x="-2"
49
-     inkscape:window-y="-3"
50
-     inkscape:window-maximized="1"
51
-     inkscape:current-layer="g3652"
52
-     showguides="true"
53
-     inkscape:guide-bbox="true" />
54
-  <defs
55
-     id="defs2606">
56
-    <linearGradient
57
-       id="linearGradient3333"
58
-       y2="609.51"
59
-       gradientUnits="userSpaceOnUse"
60
-       x2="302.86"
61
-       gradientTransform="matrix(.067325 0 0 0.0147 -.34114 37.04)"
62
-       y1="366.65"
63
-       x1="302.86">
64
-      <stop
65
-         id="stop5050"
66
-         style="stop-opacity:0"
67
-         offset="0" />
68
-      <stop
69
-         id="stop5056"
70
-         offset=".5" />
71
-      <stop
72
-         id="stop5052"
73
-         style="stop-opacity:0"
74
-         offset="1" />
75
-    </linearGradient>
76
-    <radialGradient
77
-       id="radialGradient3330"
78
-       xlink:href="#linearGradient5060"
79
-       gradientUnits="userSpaceOnUse"
80
-       cy="486.65"
81
-       cx="605.71"
82
-       gradientTransform="matrix(-.023040 0 0 0.0147 21.623 37.04)"
83
-       r="117.14" />
84
-    <linearGradient
85
-       id="linearGradient5060">
86
-      <stop
87
-         id="stop5062"
88
-         offset="0" />
89
-      <stop
90
-         id="stop5064"
91
-         style="stop-opacity:0"
92
-         offset="1" />
93
-    </linearGradient>
94
-    <radialGradient
95
-       id="radialGradient3327"
96
-       xlink:href="#linearGradient5060"
97
-       gradientUnits="userSpaceOnUse"
98
-       cy="486.65"
99
-       cx="605.71"
100
-       gradientTransform="matrix(.023040 0 0 0.0147 26.361 37.04)"
101
-       r="117.14" />
102
-    <linearGradient
103
-       id="linearGradient3324"
104
-       y2="2.9062"
105
-       gradientUnits="userSpaceOnUse"
106
-       x2="-51.786"
107
-       gradientTransform="matrix(.80750 0 0 .89483 59.41 -2.9806)"
108
-       y1="50.786"
109
-       x1="-51.786">
110
-      <stop
111
-         id="stop3106"
112
-         style="stop-color:#aaa"
113
-         offset="0" />
114
-      <stop
115
-         id="stop3108"
116
-         style="stop-color:#c8c8c8"
117
-         offset="1" />
118
-    </linearGradient>
119
-    <linearGradient
120
-       id="linearGradient3322"
121
-       y2="47.013"
122
-       gradientUnits="userSpaceOnUse"
123
-       x2="25.132"
124
-       gradientTransform="matrix(1 0 0 .95617 -1.0065e-7 -1.9149)"
125
-       y1=".98521"
126
-       x1="25.132">
127
-      <stop
128
-         id="stop3602"
129
-         style="stop-color:#f4f4f4"
130
-         offset="0" />
131
-      <stop
132
-         id="stop3604"
133
-         style="stop-color:#dbdbdb"
134
-         offset="1" />
135
-    </linearGradient>
136
-    <radialGradient
137
-       id="radialGradient3319"
138
-       gradientUnits="userSpaceOnUse"
139
-       cy="112.3"
140
-       cx="102"
141
-       gradientTransform="matrix(.36170 0 0 -.39078 .85106 47.517)"
142
-       r="139.56">
143
-      <stop
144
-         id="stop41"
145
-         style="stop-color:#b7b8b9"
146
-         offset="0" />
147
-      <stop
148
-         id="stop47"
149
-         style="stop-color:#ececec"
150
-         offset=".18851" />
151
-      <stop
152
-         id="stop49"
153
-         style="stop-color:#fafafa;stop-opacity:0"
154
-         offset=".25718" />
155
-      <stop
156
-         id="stop51"
157
-         style="stop-color:#fff;stop-opacity:0"
158
-         offset=".30111" />
159
-      <stop
160
-         id="stop53"
161
-         style="stop-color:#fafafa;stop-opacity:0"
162
-         offset=".53130" />
163
-      <stop
164
-         id="stop55"
165
-         style="stop-color:#ebecec;stop-opacity:0"
166
-         offset=".84490" />
167
-      <stop
168
-         id="stop57"
169
-         style="stop-color:#e1e2e3;stop-opacity:0"
170
-         offset="1" />
171
-    </radialGradient>
172
-    <linearGradient
173
-       id="linearGradient3316"
174
-       y2="46.017"
175
-       gradientUnits="userSpaceOnUse"
176
-       x2="24"
177
-       gradientTransform="matrix(1 0 0 .97778 0 -.96667)"
178
-       y1="2"
179
-       x1="24">
180
-      <stop
181
-         id="stop3213"
182
-         style="stop-color:#fff"
183
-         offset="0" />
184
-      <stop
185
-         id="stop3215"
186
-         style="stop-color:#fff;stop-opacity:0"
187
-         offset="1" />
188
-    </linearGradient>
189
-    <filter
190
-       id="filter3212"
191
-       y="-.16434"
192
-       width="1.2969"
193
-       x="-.14846"
194
-       height="1.3287">
195
-      <feGaussianBlur
196
-         id="feGaussianBlur3214"
197
-         stdDeviation="0.77391625" />
198
-    </filter>
199
-    <linearGradient
200
-       id="linearGradient3312"
201
curlew-0.1.22.3.tar.gz/Curlew/icons/Default/convert.svg Deleted
201
 
1
@@ -1,2126 +0,0 @@
2
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
3
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
4
-
5
-<svg
6
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
7
-   xmlns:cc="http://creativecommons.org/ns#"
8
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
9
-   xmlns:svg="http://www.w3.org/2000/svg"
10
-   xmlns="http://www.w3.org/2000/svg"
11
-   xmlns:xlink="http://www.w3.org/1999/xlink"
12
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
13
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
14
-   id="svg2604"
15
-   height="48"
16
-   width="48"
17
-   version="1.0"
18
-   inkscape:version="0.48.4 r9939"
19
-   sodipodi:docname="convert.svg">
20
-  <metadata
21
-     id="metadata59">
22
-    <rdf:RDF>
23
-      <cc:Work
24
-         rdf:about="">
25
-        <dc:format>image/svg+xml</dc:format>
26
-        <dc:type
27
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
28
-        <dc:title />
29
-      </cc:Work>
30
-    </rdf:RDF>
31
-  </metadata>
32
-  <sodipodi:namedview
33
-     pagecolor="#ffffff"
34
-     bordercolor="#666666"
35
-     borderopacity="1"
36
-     objecttolerance="10"
37
-     gridtolerance="10"
38
-     guidetolerance="10"
39
-     inkscape:pageopacity="0"
40
-     inkscape:pageshadow="2"
41
-     inkscape:window-width="1600"
42
-     inkscape:window-height="842"
43
-     id="namedview57"
44
-     showgrid="false"
45
-     inkscape:zoom="9.3102393"
46
-     inkscape:cx="-6.2355275"
47
-     inkscape:cy="24"
48
-     inkscape:window-x="-2"
49
-     inkscape:window-y="-3"
50
-     inkscape:window-maximized="1"
51
-     inkscape:current-layer="g3652" />
52
-  <defs
53
-     id="defs2606">
54
-    <linearGradient
55
-       id="linearGradient3333"
56
-       y2="609.51"
57
-       gradientUnits="userSpaceOnUse"
58
-       x2="302.86"
59
-       gradientTransform="matrix(.067325 0 0 0.0147 -.34114 37.04)"
60
-       y1="366.65"
61
-       x1="302.86">
62
-      <stop
63
-         id="stop5050"
64
-         style="stop-opacity:0"
65
-         offset="0" />
66
-      <stop
67
-         id="stop5056"
68
-         offset=".5" />
69
-      <stop
70
-         id="stop5052"
71
-         style="stop-opacity:0"
72
-         offset="1" />
73
-    </linearGradient>
74
-    <radialGradient
75
-       id="radialGradient3330"
76
-       xlink:href="#linearGradient5060"
77
-       gradientUnits="userSpaceOnUse"
78
-       cy="486.65"
79
-       cx="605.71"
80
-       gradientTransform="matrix(-.023040 0 0 0.0147 21.623 37.04)"
81
-       r="117.14" />
82
-    <linearGradient
83
-       id="linearGradient5060">
84
-      <stop
85
-         id="stop5062"
86
-         offset="0" />
87
-      <stop
88
-         id="stop5064"
89
-         style="stop-opacity:0"
90
-         offset="1" />
91
-    </linearGradient>
92
-    <radialGradient
93
-       id="radialGradient3327"
94
-       xlink:href="#linearGradient5060"
95
-       gradientUnits="userSpaceOnUse"
96
-       cy="486.65"
97
-       cx="605.71"
98
-       gradientTransform="matrix(.023040 0 0 0.0147 26.361 37.04)"
99
-       r="117.14" />
100
-    <linearGradient
101
-       id="linearGradient3324"
102
-       y2="2.9062"
103
-       gradientUnits="userSpaceOnUse"
104
-       x2="-51.786"
105
-       gradientTransform="matrix(.80750 0 0 .89483 59.41 -2.9806)"
106
-       y1="50.786"
107
-       x1="-51.786">
108
-      <stop
109
-         id="stop3106"
110
-         style="stop-color:#aaa"
111
-         offset="0" />
112
-      <stop
113
-         id="stop3108"
114
-         style="stop-color:#c8c8c8"
115
-         offset="1" />
116
-    </linearGradient>
117
-    <linearGradient
118
-       id="linearGradient3322"
119
-       y2="47.013"
120
-       gradientUnits="userSpaceOnUse"
121
-       x2="25.132"
122
-       gradientTransform="matrix(1 0 0 .95617 -1.0065e-7 -1.9149)"
123
-       y1=".98521"
124
-       x1="25.132">
125
-      <stop
126
-         id="stop3602"
127
-         style="stop-color:#f4f4f4"
128
-         offset="0" />
129
-      <stop
130
-         id="stop3604"
131
-         style="stop-color:#dbdbdb"
132
-         offset="1" />
133
-    </linearGradient>
134
-    <radialGradient
135
-       id="radialGradient3319"
136
-       gradientUnits="userSpaceOnUse"
137
-       cy="112.3"
138
-       cx="102"
139
-       gradientTransform="matrix(.36170 0 0 -.39078 .85106 47.517)"
140
-       r="139.56">
141
-      <stop
142
-         id="stop41"
143
-         style="stop-color:#b7b8b9"
144
-         offset="0" />
145
-      <stop
146
-         id="stop47"
147
-         style="stop-color:#ececec"
148
-         offset=".18851" />
149
-      <stop
150
-         id="stop49"
151
-         style="stop-color:#fafafa;stop-opacity:0"
152
-         offset=".25718" />
153
-      <stop
154
-         id="stop51"
155
-         style="stop-color:#fff;stop-opacity:0"
156
-         offset=".30111" />
157
-      <stop
158
-         id="stop53"
159
-         style="stop-color:#fafafa;stop-opacity:0"
160
-         offset=".53130" />
161
-      <stop
162
-         id="stop55"
163
-         style="stop-color:#ebecec;stop-opacity:0"
164
-         offset=".84490" />
165
-      <stop
166
-         id="stop57"
167
-         style="stop-color:#e1e2e3;stop-opacity:0"
168
-         offset="1" />
169
-    </radialGradient>
170
-    <linearGradient
171
-       id="linearGradient3316"
172
-       y2="46.017"
173
-       gradientUnits="userSpaceOnUse"
174
-       x2="24"
175
-       gradientTransform="matrix(1 0 0 .97778 0 -.96667)"
176
-       y1="2"
177
-       x1="24">
178
-      <stop
179
-         id="stop3213"
180
-         style="stop-color:#fff"
181
-         offset="0" />
182
-      <stop
183
-         id="stop3215"
184
-         style="stop-color:#fff;stop-opacity:0"
185
-         offset="1" />
186
-    </linearGradient>
187
-    <filter
188
-       id="filter3212"
189
-       y="-.16434"
190
-       width="1.2969"
191
-       x="-.14846"
192
-       height="1.3287">
193
-      <feGaussianBlur
194
-         id="feGaussianBlur3214"
195
-         stdDeviation="0.77391625" />
196
-    </filter>
197
-    <linearGradient
198
-       id="linearGradient3312"
199
-       y2="5.4565"
200
-       gradientUnits="userSpaceOnUse"
201
curlew-0.1.22.3.tar.gz/Curlew/icons/Default/infos.svg Deleted
201
 
1
@@ -1,2482 +0,0 @@
2
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
3
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
4
-
5
-<svg
6
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
7
-   xmlns:cc="http://creativecommons.org/ns#"
8
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
9
-   xmlns:svg="http://www.w3.org/2000/svg"
10
-   xmlns="http://www.w3.org/2000/svg"
11
-   xmlns:xlink="http://www.w3.org/1999/xlink"
12
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
13
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
14
-   id="svg2604"
15
-   height="48"
16
-   width="48"
17
-   version="1.0"
18
-   inkscape:version="0.48.4 r9939"
19
-   sodipodi:docname="infos.svg">
20
-  <metadata
21
-     id="metadata59">
22
-    <rdf:RDF>
23
-      <cc:Work
24
-         rdf:about="">
25
-        <dc:format>image/svg+xml</dc:format>
26
-        <dc:type
27
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
28
-        <dc:title />
29
-      </cc:Work>
30
-    </rdf:RDF>
31
-  </metadata>
32
-  <sodipodi:namedview
33
-     pagecolor="#ffffff"
34
-     bordercolor="#666666"
35
-     borderopacity="1"
36
-     objecttolerance="10"
37
-     gridtolerance="10"
38
-     guidetolerance="10"
39
-     inkscape:pageopacity="0"
40
-     inkscape:pageshadow="2"
41
-     inkscape:window-width="1600"
42
-     inkscape:window-height="842"
43
-     id="namedview57"
44
-     showgrid="false"
45
-     inkscape:zoom="9.3102393"
46
-     inkscape:cx="9.607244"
47
-     inkscape:cy="18.199934"
48
-     inkscape:window-x="-2"
49
-     inkscape:window-y="-3"
50
-     inkscape:window-maximized="1"
51
-     inkscape:current-layer="layer1-4" />
52
-  <defs
53
-     id="defs2606">
54
-    <linearGradient
55
-       id="linearGradient3333"
56
-       y2="609.51"
57
-       gradientUnits="userSpaceOnUse"
58
-       x2="302.86"
59
-       gradientTransform="matrix(.067325 0 0 0.0147 -.34114 37.04)"
60
-       y1="366.65"
61
-       x1="302.86">
62
-      <stop
63
-         id="stop5050"
64
-         style="stop-opacity:0"
65
-         offset="0" />
66
-      <stop
67
-         id="stop5056"
68
-         offset=".5" />
69
-      <stop
70
-         id="stop5052"
71
-         style="stop-opacity:0"
72
-         offset="1" />
73
-    </linearGradient>
74
-    <radialGradient
75
-       id="radialGradient3330"
76
-       xlink:href="#linearGradient5060"
77
-       gradientUnits="userSpaceOnUse"
78
-       cy="486.65"
79
-       cx="605.71"
80
-       gradientTransform="matrix(-.023040 0 0 0.0147 21.623 37.04)"
81
-       r="117.14" />
82
-    <linearGradient
83
-       id="linearGradient5060">
84
-      <stop
85
-         id="stop5062"
86
-         offset="0" />
87
-      <stop
88
-         id="stop5064"
89
-         style="stop-opacity:0"
90
-         offset="1" />
91
-    </linearGradient>
92
-    <radialGradient
93
-       id="radialGradient3327"
94
-       xlink:href="#linearGradient5060"
95
-       gradientUnits="userSpaceOnUse"
96
-       cy="486.65"
97
-       cx="605.71"
98
-       gradientTransform="matrix(.023040 0 0 0.0147 26.361 37.04)"
99
-       r="117.14" />
100
-    <linearGradient
101
-       id="linearGradient3324"
102
-       y2="2.9062"
103
-       gradientUnits="userSpaceOnUse"
104
-       x2="-51.786"
105
-       gradientTransform="matrix(.80750 0 0 .89483 59.41 -2.9806)"
106
-       y1="50.786"
107
-       x1="-51.786">
108
-      <stop
109
-         id="stop3106"
110
-         style="stop-color:#aaa"
111
-         offset="0" />
112
-      <stop
113
-         id="stop3108"
114
-         style="stop-color:#c8c8c8"
115
-         offset="1" />
116
-    </linearGradient>
117
-    <linearGradient
118
-       id="linearGradient3322"
119
-       y2="47.013"
120
-       gradientUnits="userSpaceOnUse"
121
-       x2="25.132"
122
-       gradientTransform="matrix(1 0 0 .95617 -1.0065e-7 -1.9149)"
123
-       y1=".98521"
124
-       x1="25.132">
125
-      <stop
126
-         id="stop3602"
127
-         style="stop-color:#f4f4f4"
128
-         offset="0" />
129
-      <stop
130
-         id="stop3604"
131
-         style="stop-color:#dbdbdb"
132
-         offset="1" />
133
-    </linearGradient>
134
-    <radialGradient
135
-       id="radialGradient3319"
136
-       gradientUnits="userSpaceOnUse"
137
-       cy="112.3"
138
-       cx="102"
139
-       gradientTransform="matrix(.36170 0 0 -.39078 .85106 47.517)"
140
-       r="139.56">
141
-      <stop
142
-         id="stop41"
143
-         style="stop-color:#b7b8b9"
144
-         offset="0" />
145
-      <stop
146
-         id="stop47"
147
-         style="stop-color:#ececec"
148
-         offset=".18851" />
149
-      <stop
150
-         id="stop49"
151
-         style="stop-color:#fafafa;stop-opacity:0"
152
-         offset=".25718" />
153
-      <stop
154
-         id="stop51"
155
-         style="stop-color:#fff;stop-opacity:0"
156
-         offset=".30111" />
157
-      <stop
158
-         id="stop53"
159
-         style="stop-color:#fafafa;stop-opacity:0"
160
-         offset=".53130" />
161
-      <stop
162
-         id="stop55"
163
-         style="stop-color:#ebecec;stop-opacity:0"
164
-         offset=".84490" />
165
-      <stop
166
-         id="stop57"
167
-         style="stop-color:#e1e2e3;stop-opacity:0"
168
-         offset="1" />
169
-    </radialGradient>
170
-    <linearGradient
171
-       id="linearGradient3316"
172
-       y2="46.017"
173
-       gradientUnits="userSpaceOnUse"
174
-       x2="24"
175
-       gradientTransform="matrix(1 0 0 .97778 0 -.96667)"
176
-       y1="2"
177
-       x1="24">
178
-      <stop
179
-         id="stop3213"
180
-         style="stop-color:#fff"
181
-         offset="0" />
182
-      <stop
183
-         id="stop3215"
184
-         style="stop-color:#fff;stop-opacity:0"
185
-         offset="1" />
186
-    </linearGradient>
187
-    <filter
188
-       id="filter3212"
189
-       y="-.16434"
190
-       width="1.2969"
191
-       x="-.14846"
192
-       height="1.3287">
193
-      <feGaussianBlur
194
-         id="feGaussianBlur3214"
195
-         stdDeviation="0.77391625" />
196
-    </filter>
197
-    <linearGradient
198
-       id="linearGradient3312"
199
-       y2="5.4565"
200
-       gradientUnits="userSpaceOnUse"
201
curlew-0.1.22.3.tar.gz/Curlew/icons/Default/quit.svg Deleted
201
 
1
@@ -1,217 +0,0 @@
2
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
3
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
4
-
5
-<svg
6
-   xmlns:svg="http://www.w3.org/2000/svg"
7
-   xmlns="http://www.w3.org/2000/svg"
8
-   xmlns:xlink="http://www.w3.org/1999/xlink"
9
-   version="1.0"
10
-   width="48"
11
-   height="48"
12
-   id="svg3334">
13
-  <defs
14
-     id="defs3336">
15
-    <linearGradient
16
-       id="linearGradient3702">
17
-      <stop
18
-         id="stop3704"
19
-         style="stop-color:black;stop-opacity:0"
20
-         offset="0" />
21
-      <stop
22
-         id="stop3710"
23
-         style="stop-color:black;stop-opacity:1"
24
-         offset="0.5" />
25
-      <stop
26
-         id="stop3706"
27
-         style="stop-color:black;stop-opacity:0"
28
-         offset="1" />
29
-    </linearGradient>
30
-    <linearGradient
31
-       x1="25.058096"
32
-       y1="47.027729"
33
-       x2="25.058096"
34
-       y2="39.999443"
35
-       id="linearGradient2877"
36
-       xlink:href="#linearGradient3702"
37
-       gradientUnits="userSpaceOnUse" />
38
-    <radialGradient
39
-       cx="4.9929786"
40
-       cy="43.5"
41
-       r="2.5"
42
-       fx="4.9929786"
43
-       fy="43.5"
44
-       id="radialGradient2875"
45
-       xlink:href="#linearGradient3688"
46
-       gradientUnits="userSpaceOnUse"
47
-       gradientTransform="matrix(2.003784,0,0,1.4,-20.01187,-104.4)" />
48
-    <linearGradient
49
-       id="linearGradient3688">
50
-      <stop
51
-         id="stop3690"
52
-         style="stop-color:black;stop-opacity:1"
53
-         offset="0" />
54
-      <stop
55
-         id="stop3692"
56
-         style="stop-color:black;stop-opacity:0"
57
-         offset="1" />
58
-    </linearGradient>
59
-    <radialGradient
60
-       cx="4.9929786"
61
-       cy="43.5"
62
-       r="2.5"
63
-       fx="4.9929786"
64
-       fy="43.5"
65
-       id="radialGradient2873"
66
-       xlink:href="#linearGradient3688"
67
-       gradientUnits="userSpaceOnUse"
68
-       gradientTransform="matrix(2.003784,0,0,1.4,27.98813,-17.4)" />
69
-    <linearGradient
70
-       id="linearGradient2490">
71
-      <stop
72
-         id="stop2492"
73
-         style="stop-color:#791235;stop-opacity:1"
74
-         offset="0" />
75
-      <stop
76
-         id="stop2494"
77
-         style="stop-color:#dd3b27;stop-opacity:1"
78
-         offset="1" />
79
-    </linearGradient>
80
-    <linearGradient
81
-       x1="24"
82
-       y1="44"
83
-       x2="24"
84
-       y2="3.8990016"
85
-       id="linearGradient2865"
86
-       xlink:href="#linearGradient2490"
87
-       gradientUnits="userSpaceOnUse"
88
-       gradientTransform="translate(0,0.9674388)" />
89
-    <linearGradient
90
-       id="linearGradient3242">
91
-      <stop
92
-         id="stop3244"
93
-         style="stop-color:#f89b7e;stop-opacity:1"
94
-         offset="0" />
95
-      <stop
96
-         id="stop3246"
97
-         style="stop-color:#e35d4f;stop-opacity:1"
98
-         offset="0.26238" />
99
-      <stop
100
-         id="stop3248"
101
-         style="stop-color:#c6262e;stop-opacity:1"
102
-         offset="0.66093999" />
103
-      <stop
104
-         id="stop3250"
105
-         style="stop-color:#690b2c;stop-opacity:1"
106
-         offset="1" />
107
-    </linearGradient>
108
-    <radialGradient
109
-       cx="12.011247"
110
-       cy="10.423882"
111
-       r="19.99999"
112
-       fx="12.011247"
113
-       fy="10.423882"
114
-       id="radialGradient2863"
115
-       xlink:href="#linearGradient3242"
116
-       gradientUnits="userSpaceOnUse"
117
-       gradientTransform="matrix(5.6341942e-8,1.6800831,-2.423533,1.0380855e-8,44.478401,-5.926735)" />
118
-    <linearGradient
119
-       id="linearGradient3308-4-6">
120
-      <stop
121
-         id="stop3310-1-4"
122
-         style="stop-color:white;stop-opacity:1"
123
-         offset="0" />
124
-      <stop
125
-         id="stop3312-5-3"
126
-         style="stop-color:white;stop-opacity:0"
127
-         offset="1" />
128
-    </linearGradient>
129
-    <linearGradient
130
-       x1="23.99999"
131
-       y1="4.999989"
132
-       x2="23.99999"
133
-       y2="43"
134
-       id="linearGradient2855"
135
-       xlink:href="#linearGradient3308-4-6"
136
-       gradientUnits="userSpaceOnUse"
137
-       gradientTransform="translate(0,0.9674388)" />
138
-  </defs>
139
-  <g
140
-     id="layer1">
141
-    <g
142
-       transform="matrix(1.1,0,0,0.4444449,-2.4000022,25.11107)"
143
-       id="g2036"
144
-       style="display:inline">
145
-      <g
146
-         transform="matrix(1.052632,0,0,1.285713,-1.263158,-13.42854)"
147
-         id="g3712"
148
-         style="opacity:0.4">
149
-        <rect
150
-           width="5"
151
-           height="7"
152
-           x="38"
153
-           y="40"
154
-           id="rect2801"
155
-           style="fill:url(#radialGradient2873);fill-opacity:1;stroke:none" />
156
-        <rect
157
-           width="5"
158
-           height="7"
159
-           x="-10"
160
-           y="-47"
161
-           transform="scale(-1,-1)"
162
-           id="rect3696"
163
-           style="fill:url(#radialGradient2875);fill-opacity:1;stroke:none" />
164
-        <rect
165
-           width="28"
166
-           height="7.0000005"
167
-           x="10"
168
-           y="40"
169
-           id="rect3700"
170
-           style="fill:url(#linearGradient2877);fill-opacity:1;stroke:none" />
171
-      </g>
172
-    </g>
173
-    <rect
174
-       width="39"
175
-       height="39"
176
-       rx="2.2322156"
177
-       ry="2.2322156"
178
-       x="4.5"
179
-       y="5.4674392"
180
-       id="rect5505"
181
-       style="fill:url(#radialGradient2863);fill-opacity:1;stroke:url(#linearGradient2865);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
182
-    <rect
183
-       width="36.999985"
184
-       height="37.000011"
185
-       rx="1.365193"
186
-       ry="1.365193"
187
-       x="5.4999981"
188
-       y="6.4674282"
189
-       id="rect6741"
190
-       style="opacity:0.4;fill:none;stroke:url(#linearGradient2855);stroke-width:0.99999976;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
191
-    <g
192
-       transform="matrix(1.3050462,0,0,1.3226787,-6.668563,-4.8529242)"
193
-       id="g2558"
194
-       style="opacity:0.4;fill:none;stroke:black;stroke-width:2.20987511;stroke-linecap:round;stroke-miterlimit:0;stroke-opacity:1;stroke-dasharray:none">
195
-      <path
196
-         d="m 19.281951,15.80617 c -6.992352,3.812838 -3.830429,14.73883 4.163513,14.73883 7.910671,0 11.456106,-10.358346 4.163511,-14.73883"
197
-         id="path2560"
198
-         style="fill:none;stroke:black;stroke-width:2.20987511;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:0;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" />
199
-      <path
200
-         d="m 23.499983,20.496141 0,-7.413124"
201
curlew-0.1.22.3.tar.gz/Curlew/icons/Default/remove.svg Deleted
201
 
1
@@ -1,2224 +0,0 @@
2
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
3
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
4
-
5
-<svg
6
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
7
-   xmlns:cc="http://creativecommons.org/ns#"
8
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
9
-   xmlns:svg="http://www.w3.org/2000/svg"
10
-   xmlns="http://www.w3.org/2000/svg"
11
-   xmlns:xlink="http://www.w3.org/1999/xlink"
12
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
13
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
14
-   id="svg2604"
15
-   height="48"
16
-   width="48"
17
-   version="1.0"
18
-   inkscape:version="0.48.4 r9939"
19
-   sodipodi:docname="remove.svg">
20
-  <metadata
21
-     id="metadata59">
22
-    <rdf:RDF>
23
-      <cc:Work
24
-         rdf:about="">
25
-        <dc:format>image/svg+xml</dc:format>
26
-        <dc:type
27
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
28
-        <dc:title />
29
-      </cc:Work>
30
-    </rdf:RDF>
31
-  </metadata>
32
-  <sodipodi:namedview
33
-     pagecolor="#ffffff"
34
-     bordercolor="#666666"
35
-     borderopacity="1"
36
-     objecttolerance="10"
37
-     gridtolerance="10"
38
-     guidetolerance="10"
39
-     inkscape:pageopacity="0"
40
-     inkscape:pageshadow="2"
41
-     inkscape:window-width="1600"
42
-     inkscape:window-height="842"
43
-     id="namedview57"
44
-     showgrid="false"
45
-     inkscape:zoom="9.3102393"
46
-     inkscape:cx="9.607244"
47
-     inkscape:cy="18.199934"
48
-     inkscape:window-x="-2"
49
-     inkscape:window-y="-3"
50
-     inkscape:window-maximized="1"
51
-     inkscape:current-layer="layer1-4" />
52
-  <defs
53
-     id="defs2606">
54
-    <linearGradient
55
-       id="linearGradient3333"
56
-       y2="609.51"
57
-       gradientUnits="userSpaceOnUse"
58
-       x2="302.86"
59
-       gradientTransform="matrix(.067325 0 0 0.0147 -.34114 37.04)"
60
-       y1="366.65"
61
-       x1="302.86">
62
-      <stop
63
-         id="stop5050"
64
-         style="stop-opacity:0"
65
-         offset="0" />
66
-      <stop
67
-         id="stop5056"
68
-         offset=".5" />
69
-      <stop
70
-         id="stop5052"
71
-         style="stop-opacity:0"
72
-         offset="1" />
73
-    </linearGradient>
74
-    <radialGradient
75
-       id="radialGradient3330"
76
-       xlink:href="#linearGradient5060"
77
-       gradientUnits="userSpaceOnUse"
78
-       cy="486.65"
79
-       cx="605.71"
80
-       gradientTransform="matrix(-.023040 0 0 0.0147 21.623 37.04)"
81
-       r="117.14" />
82
-    <linearGradient
83
-       id="linearGradient5060">
84
-      <stop
85
-         id="stop5062"
86
-         offset="0" />
87
-      <stop
88
-         id="stop5064"
89
-         style="stop-opacity:0"
90
-         offset="1" />
91
-    </linearGradient>
92
-    <radialGradient
93
-       id="radialGradient3327"
94
-       xlink:href="#linearGradient5060"
95
-       gradientUnits="userSpaceOnUse"
96
-       cy="486.65"
97
-       cx="605.71"
98
-       gradientTransform="matrix(.023040 0 0 0.0147 26.361 37.04)"
99
-       r="117.14" />
100
-    <linearGradient
101
-       id="linearGradient3324"
102
-       y2="2.9062"
103
-       gradientUnits="userSpaceOnUse"
104
-       x2="-51.786"
105
-       gradientTransform="matrix(.80750 0 0 .89483 59.41 -2.9806)"
106
-       y1="50.786"
107
-       x1="-51.786">
108
-      <stop
109
-         id="stop3106"
110
-         style="stop-color:#aaa"
111
-         offset="0" />
112
-      <stop
113
-         id="stop3108"
114
-         style="stop-color:#c8c8c8"
115
-         offset="1" />
116
-    </linearGradient>
117
-    <linearGradient
118
-       id="linearGradient3322"
119
-       y2="47.013"
120
-       gradientUnits="userSpaceOnUse"
121
-       x2="25.132"
122
-       gradientTransform="matrix(1 0 0 .95617 -1.0065e-7 -1.9149)"
123
-       y1=".98521"
124
-       x1="25.132">
125
-      <stop
126
-         id="stop3602"
127
-         style="stop-color:#f4f4f4"
128
-         offset="0" />
129
-      <stop
130
-         id="stop3604"
131
-         style="stop-color:#dbdbdb"
132
-         offset="1" />
133
-    </linearGradient>
134
-    <radialGradient
135
-       id="radialGradient3319"
136
-       gradientUnits="userSpaceOnUse"
137
-       cy="112.3"
138
-       cx="102"
139
-       gradientTransform="matrix(.36170 0 0 -.39078 .85106 47.517)"
140
-       r="139.56">
141
-      <stop
142
-         id="stop41"
143
-         style="stop-color:#b7b8b9"
144
-         offset="0" />
145
-      <stop
146
-         id="stop47"
147
-         style="stop-color:#ececec"
148
-         offset=".18851" />
149
-      <stop
150
-         id="stop49"
151
-         style="stop-color:#fafafa;stop-opacity:0"
152
-         offset=".25718" />
153
-      <stop
154
-         id="stop51"
155
-         style="stop-color:#fff;stop-opacity:0"
156
-         offset=".30111" />
157
-      <stop
158
-         id="stop53"
159
-         style="stop-color:#fafafa;stop-opacity:0"
160
-         offset=".53130" />
161
-      <stop
162
-         id="stop55"
163
-         style="stop-color:#ebecec;stop-opacity:0"
164
-         offset=".84490" />
165
-      <stop
166
-         id="stop57"
167
-         style="stop-color:#e1e2e3;stop-opacity:0"
168
-         offset="1" />
169
-    </radialGradient>
170
-    <linearGradient
171
-       id="linearGradient3316"
172
-       y2="46.017"
173
-       gradientUnits="userSpaceOnUse"
174
-       x2="24"
175
-       gradientTransform="matrix(1 0 0 .97778 0 -.96667)"
176
-       y1="2"
177
-       x1="24">
178
-      <stop
179
-         id="stop3213"
180
-         style="stop-color:#fff"
181
-         offset="0" />
182
-      <stop
183
-         id="stop3215"
184
-         style="stop-color:#fff;stop-opacity:0"
185
-         offset="1" />
186
-    </linearGradient>
187
-    <filter
188
-       id="filter3212"
189
-       y="-.16434"
190
-       width="1.2969"
191
-       x="-.14846"
192
-       height="1.3287">
193
-      <feGaussianBlur
194
-         id="feGaussianBlur3214"
195
-         stdDeviation="0.77391625" />
196
-    </filter>
197
-    <linearGradient
198
-       id="linearGradient3312"
199
-       y2="5.4565"
200
-       gradientUnits="userSpaceOnUse"
201
curlew-0.1.22.3.tar.gz/Curlew/icons/Default/stop.svg Deleted
201
 
1
@@ -1,2077 +0,0 @@
2
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
3
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
4
-
5
-<svg
6
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
7
-   xmlns:cc="http://creativecommons.org/ns#"
8
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
9
-   xmlns:svg="http://www.w3.org/2000/svg"
10
-   xmlns="http://www.w3.org/2000/svg"
11
-   xmlns:xlink="http://www.w3.org/1999/xlink"
12
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
13
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
14
-   id="svg2604"
15
-   height="48"
16
-   width="48"
17
-   version="1.0"
18
-   inkscape:version="0.48.4 r9939"
19
-   sodipodi:docname="stop.svg">
20
-  <metadata
21
-     id="metadata59">
22
-    <rdf:RDF>
23
-      <cc:Work
24
-         rdf:about="">
25
-        <dc:format>image/svg+xml</dc:format>
26
-        <dc:type
27
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
28
-        <dc:title />
29
-      </cc:Work>
30
-    </rdf:RDF>
31
-  </metadata>
32
-  <sodipodi:namedview
33
-     pagecolor="#ffffff"
34
-     bordercolor="#666666"
35
-     borderopacity="1"
36
-     objecttolerance="10"
37
-     gridtolerance="10"
38
-     guidetolerance="10"
39
-     inkscape:pageopacity="0"
40
-     inkscape:pageshadow="2"
41
-     inkscape:window-width="1600"
42
-     inkscape:window-height="842"
43
-     id="namedview57"
44
-     showgrid="false"
45
-     inkscape:zoom="9.3102393"
46
-     inkscape:cx="7.7207342"
47
-     inkscape:cy="24"
48
-     inkscape:window-x="-2"
49
-     inkscape:window-y="-3"
50
-     inkscape:window-maximized="1"
51
-     inkscape:current-layer="g3652" />
52
-  <defs
53
-     id="defs2606">
54
-    <linearGradient
55
-       id="linearGradient3385">
56
-      <stop
57
-         offset="0"
58
-         style="stop-color:#f8b17e;stop-opacity:1"
59
-         id="stop3387" />
60
-      <stop
61
-         offset="0.43517464"
62
-         style="stop-color:#e35d4f;stop-opacity:1"
63
-         id="stop3389" />
64
-      <stop
65
-         offset="0.66093999"
66
-         style="stop-color:#c6262e;stop-opacity:1"
67
-         id="stop3391" />
68
-      <stop
69
-         offset="1"
70
-         style="stop-color:#690b54;stop-opacity:1"
71
-         id="stop3393" />
72
-    </linearGradient>
73
-    <linearGradient
74
-       id="linearGradient3333"
75
-       y2="609.51"
76
-       gradientUnits="userSpaceOnUse"
77
-       x2="302.86"
78
-       gradientTransform="matrix(.067325 0 0 0.0147 -.34114 37.04)"
79
-       y1="366.65"
80
-       x1="302.86">
81
-      <stop
82
-         id="stop5050"
83
-         style="stop-opacity:0"
84
-         offset="0" />
85
-      <stop
86
-         id="stop5056"
87
-         offset=".5" />
88
-      <stop
89
-         id="stop5052"
90
-         style="stop-opacity:0"
91
-         offset="1" />
92
-    </linearGradient>
93
-    <radialGradient
94
-       id="radialGradient3330"
95
-       xlink:href="#linearGradient5060"
96
-       gradientUnits="userSpaceOnUse"
97
-       cy="486.65"
98
-       cx="605.71"
99
-       gradientTransform="matrix(-.023040 0 0 0.0147 21.623 37.04)"
100
-       r="117.14" />
101
-    <linearGradient
102
-       id="linearGradient5060">
103
-      <stop
104
-         id="stop5062"
105
-         offset="0" />
106
-      <stop
107
-         id="stop5064"
108
-         style="stop-opacity:0"
109
-         offset="1" />
110
-    </linearGradient>
111
-    <radialGradient
112
-       id="radialGradient3327"
113
-       xlink:href="#linearGradient5060"
114
-       gradientUnits="userSpaceOnUse"
115
-       cy="486.65"
116
-       cx="605.71"
117
-       gradientTransform="matrix(.023040 0 0 0.0147 26.361 37.04)"
118
-       r="117.14" />
119
-    <linearGradient
120
-       id="linearGradient3324"
121
-       y2="2.9062"
122
-       gradientUnits="userSpaceOnUse"
123
-       x2="-51.786"
124
-       gradientTransform="matrix(.80750 0 0 .89483 59.41 -2.9806)"
125
-       y1="50.786"
126
-       x1="-51.786">
127
-      <stop
128
-         id="stop3106"
129
-         style="stop-color:#aaa"
130
-         offset="0" />
131
-      <stop
132
-         id="stop3108"
133
-         style="stop-color:#c8c8c8"
134
-         offset="1" />
135
-    </linearGradient>
136
-    <linearGradient
137
-       id="linearGradient3322"
138
-       y2="47.013"
139
-       gradientUnits="userSpaceOnUse"
140
-       x2="25.132"
141
-       gradientTransform="matrix(1 0 0 .95617 -1.0065e-7 -1.9149)"
142
-       y1=".98521"
143
-       x1="25.132">
144
-      <stop
145
-         id="stop3602"
146
-         style="stop-color:#f4f4f4"
147
-         offset="0" />
148
-      <stop
149
-         id="stop3604"
150
-         style="stop-color:#dbdbdb"
151
-         offset="1" />
152
-    </linearGradient>
153
-    <radialGradient
154
-       id="radialGradient3319"
155
-       gradientUnits="userSpaceOnUse"
156
-       cy="112.3"
157
-       cx="102"
158
-       gradientTransform="matrix(.36170 0 0 -.39078 .85106 47.517)"
159
-       r="139.56">
160
-      <stop
161
-         id="stop41"
162
-         style="stop-color:#b7b8b9"
163
-         offset="0" />
164
-      <stop
165
-         id="stop47"
166
-         style="stop-color:#ececec"
167
-         offset=".18851" />
168
-      <stop
169
-         id="stop49"
170
-         style="stop-color:#fafafa;stop-opacity:0"
171
-         offset=".25718" />
172
-      <stop
173
-         id="stop51"
174
-         style="stop-color:#fff;stop-opacity:0"
175
-         offset=".30111" />
176
-      <stop
177
-         id="stop53"
178
-         style="stop-color:#fafafa;stop-opacity:0"
179
-         offset=".53130" />
180
-      <stop
181
-         id="stop55"
182
-         style="stop-color:#ebecec;stop-opacity:0"
183
-         offset=".84490" />
184
-      <stop
185
-         id="stop57"
186
-         style="stop-color:#e1e2e3;stop-opacity:0"
187
-         offset="1" />
188
-    </radialGradient>
189
-    <linearGradient
190
-       id="linearGradient3316"
191
-       y2="46.017"
192
-       gradientUnits="userSpaceOnUse"
193
-       x2="24"
194
-       gradientTransform="matrix(1 0 0 .97778 0 -.96667)"
195
-       y1="2"
196
-       x1="24">
197
-      <stop
198
-         id="stop3213"
199
-         style="stop-color:#fff"
200
-         offset="0" />
201
curlew-0.1.22.3.tar.gz/Curlew/languages.py Deleted
38
 
1
@@ -1,35 +0,0 @@
2
-# -*- coding: utf-8 -*-
3
-
4
-# Curlew - Easy to use multimedia converter
5
-#
6
-# Copyright (C) 2012-2014 Fayssal Chamekh <chamfay@gmail.com>
7
-#
8
-# Released under terms on waqf public license.
9
-#
10
-# Curlew is free software; you can redistribute it and/or modify it 
11
-# under the terms of the latest version waqf public license as published by 
12
-# ojuba.org.
13
-#
14
-# Curlew is distributed in the hope that it will be useful, but WITHOUT 
15
-# ANY WARRANTY; without even the implied warranty 
16
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17
-#        
18
-# The latest version of the license can be found on:
19
-# http://www.ojuba.org/wiki/doku.php/waqf/license
20
-
21
-
22
-LANGUAGES = {
23
-             'العربية': 'ar',
24
-             'Português - Brazil': 'br',
25
-             'Český': 'cs',
26
-             'English': 'en',
27
-             'Español': 'es',
28
-             'Euskara': 'eu',
29
-             'Français': 'fr',
30
-             'Italiano': 'it',
31
-             'Nederlands': 'nl',
32
-             'Polski': 'pl',
33
-             'Русский': 'ru',
34
-             'Srpski': 'sr',
35
-             'Traditional Chinese: 正體中文': 'zh_TW'
36
-             }
37
\ No newline at end of file
38
curlew-0.1.22.3.tar.gz/Curlew/logdialog.py Deleted
64
 
1
@@ -1,61 +0,0 @@
2
-# -*- coding: utf-8 -*-
3
-
4
-# Curlew - Easy to use multimedia converter
5
-#
6
-# Copyright (C) 2012-2014 Fayssal Chamekh <chamfay@gmail.com>
7
-#
8
-# Released under terms on waqf public license.
9
-#
10
-# Curlew is free software; you can redistribute it and/or modify it 
11
-# under the terms of the latest version waqf public license as published by 
12
-# ojuba.org.
13
-#
14
-# Curlew is distributed in the hope that it will be useful, but WITHOUT 
15
-# ANY WARRANTY; without even the implied warranty 
16
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17
-#        
18
-# The latest version of the license can be found on:
19
-# http://www.ojuba.org/wiki/doku.php/waqf/license
20
-
21
-
22
-from gi.repository import Gtk, Pango
23
-
24
-class LogDialog(Gtk.Dialog):
25
-    def __init__(self, prnt, log_file):
26
-        self._log_file = log_file
27
-        Gtk.Dialog.__init__(self, parent=prnt)
28
-        self.set_size_request(550, 450)
29
-        self.set_border_width(6)
30
-        self.set_title(_('Errors detail'))
31
-        scroll = Gtk.ScrolledWindow()
32
-        scroll.set_shadow_type(Gtk.ShadowType.IN)
33
-        text_log = Gtk.TextView()
34
-        text_log.set_wrap_mode(Gtk.WrapMode.WORD_CHAR)
35
-        text_log.set_border_width(6)
36
-        text_log.set_editable(False)
37
-        text_log.set_cursor_visible(False)
38
-        
39
-        font_desc = Pango.FontDescription('Monospace')
40
-        text_log.override_font(font_desc)
41
-        
42
-        text_buffer = Gtk.TextBuffer()
43
-        text_log.set_buffer(text_buffer)
44
-        
45
-        scroll.add(text_log)
46
-        self.vbox.pack_start(scroll, True, True, 0)
47
-        
48
-        button = self.add_button(Gtk.STOCK_CLOSE, Gtk.ResponseType.CLOSE)
49
-        self.set_default(button)
50
-        
51
-        with open(log_file, 'r') as log:
52
-            text_buffer.set_text(log.read())
53
-    
54
-    def show_dialog(self):
55
-        self.show_all()
56
-        self.run()
57
-        self.destroy()
58
-        
59
-        
60
-        
61
-        
62
-        
63
\ No newline at end of file
64
curlew-0.1.22.3.tar.gz/Curlew/tray.py Deleted
91
 
1
@@ -1,89 +0,0 @@
2
-# -*- coding: utf-8 -*-
3
-
4
-# Curlew - Easy to use multimedia converter
5
-#
6
-# Copyright (C) 2012-2014 Fayssal Chamekh <chamfay@gmail.com>
7
-#
8
-# Released under terms on waqf public license.
9
-#
10
-# Curlew is free software; you can redistribute it and/or modify it 
11
-# under the terms of the latest version waqf public license as published by 
12
-# ojuba.org.
13
-#
14
-# Curlew is distributed in the hope that it will be useful, but WITHOUT 
15
-# ANY WARRANTY; without even the implied warranty 
16
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17
-#        
18
-# The latest version of the license can be found on:
19
-# http://www.ojuba.org/wiki/doku.php/waqf/license
20
-
21
-
22
-from gi.repository import Gtk
23
-
24
-class StatusIcon(Gtk.StatusIcon):
25
-    def __init__(self, window):
26
-        Gtk.StatusIcon.__init__(self)
27
-        
28
-        self._window = window
29
-        
30
-        self.set_from_icon_name('curlew')
31
-        self.set_tooltip_text(_('Curlew'))
32
-    
33
-        #---- Build menu
34
-        self.menu = Gtk.Menu()
35
-        
36
-        # Show main window
37
-        self.show_item = Gtk.MenuItem(_('Hide'))
38
-        self.show_item.connect("activate", self.show_hide)
39
-        
40
-        # Stop conversion
41
-        stop_item = Gtk.MenuItem(_('Stop Conversion'))
42
-        stop_item.connect("activate", self.stop)
43
-        
44
-        # Quit application
45
-        quit_item = Gtk.MenuItem(_('Quit application'))
46
-        quit_item.connect("activate", self.quit)
47
-        
48
-        # Append menu items and show all
49
-        self.menu.append(self.show_item)
50
-        self.menu.append(stop_item)
51
-        self.menu.append(quit_item)
52
-
53
-        # Make connection
54
-        self.connect('popup-menu', self.on_popup_menu, stop_item)
55
-        self.connect('activate', self.show_hide)
56
-
57
-        self.set_visible(False)
58
-    
59
-    
60
-    def on_popup_menu(self, icon, button, time, stop_item):
61
-        
62
-        # stop_item sensitivity
63
-        stop_item.set_sensitive(self._window.is_converting)
64
-        
65
-        # show/hide
66
-        if self._window.get_visible():
67
-            self.show_item.set_label(_('Hide'))
68
-        else:
69
-            self.show_item.set_label(_('Show'))
70
-        
71
-        self.menu.show_all()
72
-        self.menu.popup(None, None, Gtk.StatusIcon.position_menu, 
73
-                        icon, button, time)
74
-    
75
-    
76
-    def show_hide(self, *agrs):
77
-        if self._window.get_visible():
78
-            self._window.hide()
79
-        else:
80
-            self._window.present()
81
-        
82
-    def stop(self, stop_item):
83
-        if self._window.tb_stop_cb():
84
-            self._window.present()
85
-        
86
-    def quit(self, *args):
87
-        self._window.quit_cb()
88
-
89
-
90
-
91
curlew-0.1.22.3.tar.gz/Curlew/waitdialog.py Deleted
62
 
1
@@ -1,60 +0,0 @@
2
-# -*- coding: utf-8 -*-
3
-
4
-# Curlew - Easy to use multimedia converter
5
-#
6
-# Copyright (C) 2012-2014 Fayssal Chamekh <chamfay@gmail.com>
7
-#
8
-# Released under terms on waqf public license.
9
-#
10
-# Curlew is free software; you can redistribute it and/or modify it 
11
-# under the terms of the latest version waqf public license as published by 
12
-# ojuba.org.
13
-#
14
-# Curlew is distributed in the hope that it will be useful, but WITHOUT 
15
-# ANY WARRANTY; without even the implied warranty 
16
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17
-#        
18
-# The latest version of the license can be found on:
19
-# http://www.ojuba.org/wiki/doku.php/waqf/license
20
-
21
-from gi.repository import Gtk
22
-
23
-class WaitDialog(Gtk.Dialog):
24
-    def __init__(self, parent):
25
-        
26
-        self.skip = False
27
-        
28
-        Gtk.Dialog.__init__(self, parent=parent)
29
-        self.set_size_request(650, 50)
30
-        self.set_border_width(8)
31
-        self.set_resizable(False)
32
-        self.set_title(_('Adding files...'))
33
-        
34
-        self.text_file = Gtk.Label()
35
-        self.text_file.set_alignment(0, 0.5)
36
-        self.text_file.set_max_width_chars(50)
37
-        self.vbox.pack_start(self.text_file, False, False, 6)
38
-        
39
-        self.prog_bar = Gtk.ProgressBar()
40
-        self.prog_bar.set_show_text(True)
41
-        self.vbox.pack_start(self.prog_bar, False, False, 6)
42
-        
43
-        btn_skip = self.add_button(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL)
44
-        btn_skip.connect('clicked', self.__skip)
45
-        
46
-        self.show_all()
47
-        self.connect('delete-event', self.__skip)
48
-    
49
-    
50
-    def set_filename(self, filename):
51
-        self.text_file.set_markup(_('<b>File:</b> ')+filename)
52
-    
53
-    def set_progress(self, value):
54
-        self.prog_bar.set_fraction(value)
55
-        self.prog_bar.set_text('{:.0f}%'.format(value*100))
56
-    
57
-    def __skip(self, *args):
58
-        self.skip = True
59
-
60
-
61
-
62
curlew-0.1.22.3.tar.gz/curlew.spec Deleted
93
 
1
@@ -1,91 +0,0 @@
2
-Name:           curlew
3
-Summary:        Easy to use and Free Multimedia converter for Linux
4
-URL:            https://github.com/chamfay/Curlew
5
-Version:        0.1.19
6
-Release:        1%{?dist}
7
-Source0:        %{name}-%{version}.tar.bz2
8
-License:        Waqf
9
-Group:          Applications/Multimedia
10
-BuildArch:      noarch
11
-BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
12
-BuildRequires:  python
13
-Requires:       python, xdg-utils, ffmpeg, mencoder
14
-Requires:       pygobject3 >= 3.0
15
-
16
-%description
17
-Easy to use, Free and Open-Source Multimedia converter for Linux.
18
-Curlew written in python and GTK3 and it depends on (ffmpeg/avconv, mencoder).
19
-
20
-Main Features:
21
-    - Easy to use with simple user interface.
22
-    - Hide the advanced options with the ability to show them.
23
-    - Convert to more than 100 different formats.
24
-    - Show file informations (duration, remaining time, estimated size, progress value).
25
-    - Allow to skip or remove file during conversion process.
26
-    - Preview file before conversion.
27
-    - Convert a specified portion of file.
28
-    - Combine subtitle with video file.
29
-    - Show error details if exist.
30
-    - And more ...
31
-
32
-
33
-%prep
34
-%setup -q
35
-
36
-%build
37
-make %{?_smp_mflags}
38
-
39
-%install
40
-rm -rf $RPM_BUILD_ROOT
41
-%makeinstall DESTDIR=$RPM_BUILD_ROOT
42
-
43
-%post
44
-touch --no-create %{_datadir}/icons/hicolor || :
45
-if [ -x %{_bindir}/gtk-update-icon-cache ] ; then
46
-%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
47
-fi
48
-if [ -x %{_bindir}/update-desktop-database ] ; then
49
-%{_bindir}/update-desktop-database --quiet %{_datadir}/applications || :
50
-fi
51
-
52
-%postun
53
-touch --no-create %{_datadir}/icons/hicolor || :
54
-if [ -x %{_bindir}/gtk-update-icon-cache ] ; then
55
-%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
56
-fi
57
-if [ -x %{_bindir}/update-desktop-database ] ; then
58
-%{_bindir}/update-desktop-database --quiet %{_datadir}/applications || :
59
-fi
60
-
61
-%clean
62
-rm -rf $RPM_BUILD_ROOT
63
-
64
-%files
65
-#%doc ChangeLog VERSION README LICENSE-ar LICENSE-en
66
-%{_defaultdocdir}/%{name}-%{version}/*
67
-%{_bindir}/%{name}
68
-%{python_sitelib}/*
69
-#%{python_sitelib}/*.egg-info
70
-%{python_sitelib}/Curlew/icons/*/*.png
71
-%{_datadir}/applications/%{name}.desktop
72
-%{_datadir}/locale/*/*/%{name}.mo
73
-%{_datadir}/icons/hicolor/*/apps/*.png
74
-%{_datadir}/icons/hicolor/*/apps/*.svg
75
-
76
-%changelog
77
-* Sun Jun 07 2013 Fayssal Chamekh <chamfay@gmail.com> - 0.1.19-1
78
- - Added 'libvo_aacenc' audio codec.
79
- - Added 'Copy Mode' option (to split too faster without converting).
80
- - Added 'to the end' option.
81
- - Added Czech language (Pavel Fric <pavelfric@seznam.cz>).
82
-* Thu Mar 07 2013 Fayssal Chamekh <chamfay@gmail.com> - 0.1.18.1-1
83
- - Updates.
84
-* Thu Mar 07 2013 Fayssal Chamekh <chamfay@gmail.com> - 0.1.18-1
85
- - Moved all install stuffs to setup.py and remove makefiles.
86
-* Sun Feb 10 2013 Ehab El-Gedawy <ehabsas@gmail.com> - 0.1.17-1
87
- - Sorted formats
88
- - Enable adding files via cmd line
89
- - Add programe to Viedo/Audio files menu
90
- - Makefile
91
- - rpm initail packing
92
-
93
curlew-0.1.22.3.tar.gz/ChangeLog -> curlew-0.2.1.tar.gz/ChangeLog Changed
37
 
1
@@ -1,3 +1,35 @@
2
+Version 0.2.1
3
+-------------
4
+
5
+* Fix bugs.
6
+
7
+Version 0.2.0
8
+-------------
9
+
10
+* Check availability of codecs according to encoder
11
+* Show availabe codecs.
12
+* Enhanced video thumbnail (showed with correct aspect ratio).
13
+* New favorite list
14
+* Add global menu (Gnome Shell)
15
+* Allow to choose a player.
16
+* Allow to edit formats.
17
+* Enhanced interface.
18
+* ...
19
+
20
+Version 0.2.0 beta
21
+------------------
22
+
23
+* Redesigned UI.
24
+* Added OPUS audio format.
25
+* Ported code to Python 3.
26
+* New Dialog for formats with search entry.
27
+* Enhanced setup and reduced dependencies.
28
+* Removed mencoder and depends only on ffmpeg static build.
29
+* Fix bug in restore last size and position.
30
+* Removed double-click option to add file.
31
+* And more...
32
+
33
+
34
 Version 0.1.22.3
35
 ----------------
36
 
37
curlew-0.1.22.3.tar.gz/PKG-INFO -> curlew-0.2.1.tar.gz/PKG-INFO Changed
39
 
1
@@ -1,12 +1,12 @@
2
 Metadata-Version: 1.1
3
 Name: curlew
4
-Version: 0.1.22.3
5
+Version: 0.2.1
6
 Summary: Easy to use multimedia converter in Linux
7
-Home-page: https://github.com/chamfay/Curlew
8
+Home-page: http://sourceforge.net/projects/curlew
9
 Author: Fayssal Chamekh
10
 Author-email: chamfay@gmail.com
11
 License: Waqf License
12
-Description: Curlew written in python and GTK3 and it depends on (ffmpeg/avconv, mencoder).
13
+Description: Curlew written in python and GTK3 and it depends on (ffmpeg/avconv).
14
         
15
         Main Features:
16
         - Easy to use with simple user interface.
17
@@ -19,16 +19,16 @@
18
         - Combine subtitle with video file.
19
         - Show error details if exist.
20
         - And more ...
21
-Keywords: convert,audio,video,ffmpeg,mencoder,avconv
22
+Keywords: convert,audio,video,ffmpeg,avconv
23
 Platform: Linux
24
-Classifier: Programming Language :: Python
25
+Classifier: Programming Language :: Python :: 3
26
 Classifier: Operating System :: POSIX :: Linux
27
-Classifier: Development Status :: 4 - Beta
28
-Classifier: Environment :: X11 Applications :: Gtk
29
+Classifier: Development Status :: 5 - Production/Stable
30
+Classifier: Environment :: X11 Applications :: GTK
31
 Classifier: Natural Language :: English
32
 Classifier: Natural Language :: Arabic
33
+Classifier: Natural Language :: French
34
 Classifier: Intended Audience :: End Users/Desktop
35
 Classifier: Topic :: Desktop Environment :: Gnome
36
-Classifier: Topic :: Multimedia :: Video :: Conversion
37
 Classifier: Topic :: Multimedia :: Sound/Audio :: Conversion
38
 Classifier: Topic :: Utilities
39
curlew-0.1.22.3.tar.gz/README -> curlew-0.2.1.tar.gz/README Changed
84
 
1
@@ -5,7 +5,7 @@
2
 ------------
3
 
4
 Easy to use, Free and Open-Source Multimedia converter for Linux.
5
-Curlew written in python and GTK3 and it depends on (ffmpeg/avconv, mencoder).
6
+Curlew written in python and GTK3 and it depends on (ffmpeg/avconv).
7
 
8
 Main Features:
9
 
10
@@ -24,46 +24,53 @@
11
 Dependencies:
12
 -------------
13
 
14
-- python >= 2.7 << 3.0
15
-- python-gobject >= 3.0
16
-- gir1.2-gtk-3.0 >> 3.2
17
-- ffmpeg >= 0.8 (or libav-tools >= 0.8)
18
-- mencoder
19
-- libavcodec-extra (Ubuntu/Debian)
20
-- xdg-utils
21
-- mediainfo
22
+For Curlew:
23
 
24
-NB: This dependencies names may change if you use another distribution than Ubuntu/Debian or its sons.
25
+    - python >= 3.3
26
+    - python3-gi >= 3.12
27
+   - python3-dbus
28
+    - gir1.2-gtk-3.0 >> 3.12
29
+    - libav-tools >= 0.8 (or ffmpeg)
30
+    - libavcodec-extra (Ubuntu/Debian)
31
+    - xdg-utils
32
+    - mediainfo
33
+    - gnome-icon-theme-symbolic
34
 
35
-Note:
36
------
37
+For installer (setup.py):
38
 
39
-To install Curlew, you MUST have 'imagemagick' and 'intltool' installed in
40
-your machine.
41
+    - librsvg2-bin (or something similar) to convert .svg to .png.
42
+    - intltool-debian (or intltool) to compile translations files.
43
+
44
+NB: This dependencies names may change if you are using another distribution than Ubuntu/Debian or its sons.
45
 
46
 
47
 License:
48
 --------
49
 
50
 Waqf public license.
51
-Please see LICENSE-ar.txt/LICENSE-en files for more informations.
52
+Please see: LICENSE-ar.txt/LICENSE-en.txt files for more informations.
53
 
54
 
55
 Installation:
56
 -------------
57
 
58
-In terminal run the following (as root).
59
-sudo python setup.py install
60
+In terminal, run the following (as root):
61
+> python3 setup.py install --prefix=/usr
62
+Or run script (as root):
63
+> ./install
64
 
65
 
66
 Remove (Uninstall):
67
 -------------------
68
 
69
-In terminal run the following (as root).
70
-sudo python setup.py uninstall
71
+In terminal run the following (as root):
72
+> python3 setup.py uninstall
73
+Or run script (as root):
74
+> ./uninstall
75
+
76
 
77
-Clean project:
78
+Clean Project:
79
 --------------
80
 
81
-sudo python setup.py clean
82
+> sudo python3 setup.py clean
83
 
84
curlew-0.1.22.3.tar.gz/TODO -> curlew-0.2.1.tar.gz/TODO Changed
16
 
1
@@ -1,5 +1,11 @@
2
 بسم الله الرحمن الرحيم
3
 
4
-- Prevent to duplicate file in the same session.
5
-- Move icons to /usr/share/curlew/icons
6
-- ?
7
+
8
+Fixes:
9
+* Prevent to duplicate file in the same session.
10
+
11
+Changes:
12
+* Use GLib.spawn_* functions instead of subprocess
13
+
14
+Features:
15
+* ...
16
curlew-0.1.22.3.tar.gz/curlew -> curlew-0.2.1.tar.gz/curlew Changed
15
 
1
@@ -1,4 +1,9 @@
2
-#!/usr/bin/env python2
3
+#!/usr/bin/env python3
4
+
5
+from site import addsitedir
6
+addsitedir('/usr/share/curlew')
7
+addsitedir('/usr/local/share/curlew')
8
+
9
 import sys
10
-from Curlew.curlew import main
11
-main(*sys.argv[1:])
12
\ No newline at end of file
13
+from modules.curlew import main
14
+main(*sys.argv[1:])
15
curlew-0.1.22.3.tar.gz/curlew.desktop -> curlew-0.2.1.tar.gz/curlew.desktop Changed
31
 
1
@@ -1,18 +1,18 @@
2
 [Desktop Entry]
3
-Type=Application
4
-Name=Curlew
5
-Icon=curlew
6
-Exec=curlew %U
7
-Name[ar]=كروان
8
-Name[en]=Curlew
9
-Name[fr]=Courlis
10
-Name[en_US]=Curlew
11
-Name[en_FR]=Courlis
12
+Categories=AudioVideo;Video;
13
 Comment[en_US]=Easy to use Multimedia Converter for Linux
14
 Comment=Easy to use Multimedia Converter for Linux
15
 Comment[ar]=محول وسائط على لينكس سهل الاستخدام
16
 Comment[fr]=Un Convertisseur Multimédia simple à utiliser sous Linux
17
-Categories=AudioVideo;Video;
18
-#MimeType=audio/vorbis;audio/x-mp3;audio/x-ms-wma;audio/x-vorbis;audio/x-wav;video/x-ms-asf;audio/ogg;audio/3gpp;audio/AMR;audio/AMR-WB;video/3gpp;video/flv;video/mpeg;video/msvideo;video/x-mpeg;video/x-ms-asf;video/x-ms-wmv;video/quicktime;audio/x-realaudio;audio/x-pn-realaudio;video/vnd.rn-realvideo;audio/mp4a-latm;video/x-m4v;video/mp4;audio/x-matroska;video/x-matroska;audio/x-aiff;audio/x-monkeys-audio;video/x-m4v;audio/mp4a-latm;video/webm
19
 Encoding=UTF-8
20
+Exec=curlew %U
21
+Icon=curlew
22
+Name[en_US]=Curlew
23
+Name=Curlew
24
+Name[ar]=كروان
25
+Name[en]=Curlew
26
+Name[en_FR]=Courlis
27
+Name[fr]=Courlis
28
+StartupNotify=true
29
 Terminal=false
30
+Type=Application
31
curlew-0.2.1.tar.gz/deb_prepare.sh Added
12
 
1
@@ -0,0 +1,10 @@
2
+#!/bin/bash
3
+# python3-stdeb package needed.
4
+
5
+python3 setup.py --command-packages=stdeb.command debianize
6
+
7
+#
8
+sed -i 's|Package: python3-curlew|Package: curlew|g' $PWD/debian/control
9
+
10
+# Make deb
11
+#debuild -b
12
curlew-0.2.1.tar.gz/formats.cfg Added
201
 
1
@@ -0,0 +1,1615 @@
2
+[MP3 Audio]
3
+type = audio
4
+ab = 32k 64k 96k 128k 196k 256k
5
+afreq = 44100 8000 16000 22050 32000
6
+ach = default 2 1
7
+acodec = libmp3lame copy
8
+def_ab = 96k
9
+ff = mp3
10
+ext = mp3
11
+
12
+[Ac3 DVD - 192kbps Stereo]
13
+type = audio
14
+ab = 192k
15
+afreq = 48000
16
+ach = 2
17
+acodec = ac3
18
+ff = ac3
19
+ext = ac3
20
+
21
+[Ac3 DVD - 384kbps Stereo]
22
+type = audio
23
+ab = 384k
24
+afreq = 48000
25
+ach = 2
26
+acodec = ac3
27
+ff = ac3
28
+ext = ac3
29
+
30
+[MPEG4 Audio (m4a)]
31
+type = audio
32
+ab = 112k
33
+afreq = 48000
34
+ach = default 2
35
+acodec = libvo_aacenc aac
36
+ext = m4a
37
+
38
+[CDMA Phone Audio (3g2)]
39
+type = audio
40
+ab = 128k
41
+ach = default
42
+afreq = 22050
43
+acodec = libvo_aacenc aac
44
+ff = 3g2
45
+ext = 3g2
46
+
47
+[Opus Audio]
48
+type = audio
49
+ab = 6k 8k 12k 16k 32k 64k
50
+afreq = 16000 8000
51
+ach = default 2 1
52
+acodec = libopus
53
+def_ab = 12k
54
+extra = -vbr on
55
+ff = ogg
56
+ext = opus
57
+
58
+[Wav for CD]
59
+type = presets
60
+cmd = -vn -ar 44100
61
+ext = wav
62
+
63
+[Wave Audio]
64
+type = audio
65
+ab = 1000k 1200k 1411k 1500k 1600k
66
+afreq = 44100 8000 16000 22050 32000
67
+ach = default 2 1
68
+acodec = pcm_s16le pcm_u8 adpcm_ms adpcm_ima_wav
69
+def_ab = 1200k
70
+ff = wav
71
+ext = wav
72
+
73
+[Window Media Audio]
74
+type = audio
75
+ab = 16k 32k 64k 128k 192k 256k
76
+afreq = 44100 8000 16000 22050 32000
77
+ach = default 2 1
78
+acodec = wmav2 wmav1
79
+def_ab = 128k
80
+ff = asf
81
+ext = wma
82
+
83
+[OGG Vorbis Audio]
84
+type = ogg
85
+ab = default
86
+afreq = 44100 8000 16000 22050 32000
87
+ach = default 2 1
88
+acodec = libvorbis
89
+ff = ogg
90
+ext = ogg
91
+
92
+[OGG Theora Video]
93
+type = ogv
94
+ab = default
95
+afreq = 44100 8000 16000 22050 32000
96
+ach = default 2 1
97
+acodec = flac libvorbis
98
+vb = default
99
+vfps = default
100
+vcodec = libtheora
101
+vsize = default 320:240 640:480 800:600 1024:768 1600:1200 2048:1536 1280:1024 2560:2048 5120:4096 852:480 1366:768 1600:1024 1920:1200 2560:1600 3200:2048 3840:2400 6400:4096 7680:4800 320:200 640:350 852:480 1280:720 1920:1080
102
+vratio = default
103
+extra = -keyint_min 0 -g 360 -skip_threshold 0 -level 116
104
+ff = ogg
105
+ext = ogv
106
+
107
+
108
+
109
+[MPEG1 Video]
110
+type = video
111
+ab = 64k 96k 128k 196k 256k
112
+afreq = 44100 8000 16000 22050 32000
113
+ach = default 2 1
114
+acodec = libmp3lame mp2
115
+def_ab = 128k
116
+vb = 200k 320k 500k 700k 1100k 1500K
117
+def_vb = 1100k
118
+vfps = 30 25
119
+vcodec = mpeg1video
120
+vsize = default 320:240 640:480 800:600 1024:768 1600:1200
121
+vratio = default
122
+ff = mpeg
123
+ext = mpg
124
+extra = -mbd rd -cmp 2 -subcmp 2 -bf 2
125
+
126
+[MPEG2 Video]
127
+type = video
128
+ab = 64k 96k 128k 196k 256k
129
+afreq = 44100 8000 16000 22050 32000
130
+ach = default 2 1
131
+acodec = libmp3lame mp2
132
+def_ab = 128k
133
+vb = 200k 320k 500k 700k 1100k 1500K
134
+def_vb = 1100k
135
+vfps = 30 25
136
+vcodec = mpeg2video
137
+vsize = default 320:240 640:480 800:600 1024:768 1600:1200
138
+vratio = default
139
+ff = mpeg
140
+ext = mpg
141
+extra = -mbd rd -cmp 2 -subcmp 2 -bf 2
142
+
143
+
144
+[AVI Video]
145
+type = video
146
+ab = 64k 96k 128k 196k 256k
147
+afreq = 44100 8000 16000 22050 32000
148
+ach = default 2 1
149
+acodec = libmp3lame mp2
150
+def_ab = 128k
151
+vb = 200k 320k 500k 700k 1100k 1500K
152
+def_vb = 1100k
153
+vfps = 30 25
154
+vcodec = msmpeg4 msmpeg4v2 libxvid mpeg4
155
+vsize = default 320:240 640:480 800:600 1024:768 1600:1200 2048:1536 1280:1024 2560:2048 5120:4096 852:480 1366:768 1600:1024 1920:1200 2560:1600 3200:2048 3840:2400 6400:4096 7680:4800 320:200 640:350 852:480 1280:720 1920:1080
156
+vratio = default 1:1 4:3 5:4 16:9
157
+ff = avi
158
+ext = avi
159
+
160
+[MP4 Video]
161
+type = video
162
+ab = 64k 96k 128k 196k 256k
163
+afreq = 44100 8000 16000 22050 32000
164
+ach = default 2 1
165
+acodec = libvo_aacenc aac
166
+def_ab = 128k
167
+vb = 200k 320k 500k 700k 1100k 1500K
168
+def_vb = 1100k
169
+vfps = 30 25
170
+vcodec = mpeg4
171
+vsize = default 320:240 640:480 800:600 1024:768 1600:1200 2048:1536 1280:1024 2560:2048 5120:4096 852:480 1366:768 1600:1024 1920:1200 2560:1600 3200:2048 3840:2400 6400:4096 7680:4800 320:200 640:350 852:480 1280:720 1920:1080
172
+vratio = 4:3 1:1 4:3 5:4 16:9
173
+ff = mp4
174
+ext = mp4
175
+
176
+[Flash Video (FLV)]
177
+type = video
178
+ab = 64k 96k 128k 196k 256k
179
+afreq = 44100 8000 16000 22050 32000
180
+ach = default 2 1
181
+acodec = libmp3lame
182
+def_ab = 128k
183
+vb = 200k 320k 500k 700k 1100k 1500K
184
+def_vb = 1100k
185
+vfps = 25
186
+vcodec = flv
187
+vsize = default 320:240 640:480 800:600 1024:768 1600:1200 2048:1536 1280:1024 2560:2048 5120:4096 852:480 1366:768 1600:1024 1920:1200 2560:1600 3200:2048 3840:2400 6400:4096 7680:4800 320:200 640:350 852:480 1280:720 1920:1080
188
+vratio = default 1:1 4:3 5:4 16:9
189
+ff = flv
190
+ext = flv
191
+
192
+[Windows Media Video]
193
+type = video
194
+ab = 64k 96k 128k 196k 256k
195
+afreq = 44100 8000 16000 22050 32000
196
+ach = default 2 1
197
+acodec = wmav2 wmav1 libmp3lame
198
+def_ab = 128k
199
+vb = 200k 320k 500k 700k 1100k 1500K
200
+def_vb = 1100k
201
curlew-0.2.1.tar.gz/install.sh Added
10
 
1
@@ -0,0 +1,8 @@
2
+#!/bin/bash
3
+
4
+if [ $UID -eq 0 ]; then
5
+   python3 setup.py install --prefix=/usr
6
+else
7
+   echo "Run me as root!"
8
+fi
9
+
10
curlew-0.2.1.tar.gz/modules Added
2
 
1
+(directory)
2
curlew-0.2.1.tar.gz/modules/__init__.py Added
3
 
1
@@ -0,0 +1,1 @@
2
+
3
curlew-0.2.1.tar.gz/modules/about.py Added
60
 
1
@@ -0,0 +1,58 @@
2
+# -*- coding: utf-8 -*-
3
+
4
+# Curlew - Easy to use multimedia converter
5
+#
6
+# Copyright (C) 2012-2016 Fayssal Chamekh <chamfay@gmail.com>
7
+#
8
+# Released under terms on waqf public license.
9
+#
10
+# Curlew is free software; you can redistribute it and/or modify it 
11
+# under the terms of the latest version waqf public license as published by 
12
+# ojuba.org.
13
+#
14
+# Curlew is distributed in the hope that it will be useful, but WITHOUT 
15
+# ANY WARRANTY; without even the implied warranty 
16
+# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17
+#        
18
+# The latest version of the license can be found on:
19
+# http://www.ojuba.org/wiki/doku.php/waqf/license
20
+
21
+import gi
22
+gi.require_version('Gtk', '3.0')
23
+
24
+from gi.repository import Gtk
25
+
26
+PROGRAMMER = 'Fayssal Chamekh <chamfay@gmail.com>'
27
+WEBSITE = 'http://sourceforge.net/projects/curlew'
28
+VERSION='0.2.1'
29
+
30
+
31
+class About(Gtk.AboutDialog):
32
+    def __init__(self, parent):
33
+        Gtk.AboutDialog.__init__(self, parent=parent, wrap_license=True)
34
+        self.set_program_name(_('Curlew'))
35
+        self.set_authors([PROGRAMMER, 'Ehab El-Gedawy <ehabsas@gmail.com>', 'Andrej Kvasnica <andrej@gmail.com>'])
36
+        self.set_copyright("Copyright © 2012-2016 Fayssal Chamekh <chamfay@gmail.com>")
37
+        self.set_version(VERSION)
38
+        self.set_title(_('About Curlew'))
39
+        self.set_logo_icon_name('curlew')
40
+        self.set_icon_name('curlew')
41
+        self.set_comments(_('Easy to use Multimedia Converter for Linux'))
42
+        self.set_license("""
43
+Released under terms on waqf public license.
44
+
45
+This program is free software; you can redistribute it and/or modify it under the terms of the latest version waqf public license as published by ojuba.org.
46
+
47
+This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose.
48
+        
49
+The latest version of the license can be found on:
50
+http://www.ojuba.org/wiki/doku.php/waqf/license
51
+""")
52
+        self.set_website(WEBSITE)
53
+        self.set_website_label(WEBSITE)
54
+        self.set_translator_credits(_("translator-credits"))
55
+        self.set_artists([PROGRAMMER, 'Smail <kungfu07mail@gmail.com>'])
56
+    
57
+    def show(self):
58
+        self.run()
59
+        self.destroy()
60
curlew-0.2.1.tar.gz/modules/codecs.py Added
61
 
1
@@ -0,0 +1,59 @@
2
+# -*- coding: utf-8 -*-
3
+
4
+# Curlew - Easy to use multimedia converter
5
+#
6
+# Copyright (C) 2012-2016 Fayssal Chamekh <chamfay@gmail.com>
7
+#
8
+# Released under terms on waqf public license.
9
+#
10
+# Curlew is free software; you can redistribute it and/or modify it 
11
+# under the terms of the latest version waqf public license as published by 
12
+# ojuba.org.
13
+#
14
+# Curlew is distributed in the hope that it will be useful, but WITHOUT 
15
+# ANY WARRANTY; without even the implied warranty 
16
+# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17
+#        
18
+# The latest version of the license can be found on:
19
+# http://www.ojuba.org/wiki/doku.php/waqf/license
20
+
21
+import gi
22
+gi.require_version('Gtk', '3.0')
23
+
24
+from gi.repository import Gtk, Pango
25
+from modules.functions import get_available_codecs
26
+
27
+class CodecsDialog(Gtk.Dialog):
28
+    def __init__(self, prnt, encoder, title):
29
+        Gtk.Dialog.__init__(self, parent=prnt, use_header_bar=True)
30
+        self.set_title(title)
31
+        self.set_size_request(700, 600)
32
+        self.set_border_width(6)
33
+        self.vbox.set_spacing(6)
34
+        
35
+        txt_info = Gtk.TextView()
36
+        txt_info.set_editable(False)
37
+        txt_info.set_cursor_visible(False)
38
+        txt_info.set_border_width(8)
39
+        
40
+        scroll = Gtk.ScrolledWindow()
41
+        scroll.set_shadow_type(Gtk.ShadowType.IN)
42
+        scroll.add(txt_info)
43
+        self.vbox.pack_start(scroll, True, True, 0)
44
+        
45
+        font_desc = Pango.FontDescription('Monospace')
46
+        txt_info.override_font(font_desc)
47
+        
48
+        txt_buffer = Gtk.TextBuffer()
49
+        txt_info.set_buffer(txt_buffer)
50
+        
51
+        # Show Codecs        
52
+        buff = get_available_codecs(encoder)
53
+        txt_buffer.set_text(buff)
54
+        
55
+    
56
+    
57
+    def show_dialog(self):
58
+        self.show_all()
59
+        self.run()
60
+        self.destroy()
61
curlew-0.2.1.tar.gz/modules/consts.py Added
35
 
1
@@ -0,0 +1,33 @@
2
+# -*- coding: utf-8 -*-
3
+
4
+# Curlew - Easy to use multimedia converter
5
+#
6
+# Copyright (C) 2012-2016 Fayssal Chamekh <chamfay@gmail.com>
7
+#
8
+# Released under terms on waqf public license.
9
+#
10
+# Curlew is free software; you can redistribute it and/or modify it 
11
+# under the terms of the latest version waqf public license as published by 
12
+# ojuba.org.
13
+#
14
+# Curlew is distributed in the hope that it will be useful, but WITHOUT 
15
+# ANY WARRANTY; without even the implied warranty 
16
+# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17
+#        
18
+# The latest version of the license can be found on:
19
+# http://www.ojuba.org/wiki/doku.php/waqf/license
20
+
21
+import os
22
+from os.path import join, dirname, realpath
23
+
24
+HOME = os.getenv("HOME")
25
+CONF_PATH = join(HOME, '.curlew')
26
+
27
+CONF_FILE = join(CONF_PATH, 'curlew.cfg')
28
+
29
+PKG_DIR = dirname(realpath(__file__))
30
+DTA_DIR = join(PKG_DIR, '../')
31
+
32
+ORG_FFILE = join(DTA_DIR, 'formats.cfg')
33
+USR_FFILE = join(CONF_PATH, 'formats.cfg')
34
+
35
curlew-0.2.1.tar.gz/modules/curlew.py Added
201
 
1
@@ -0,0 +1,2352 @@
2
+# -*- coding: utf-8 -*-
3
+
4
+# Curlew - Easy to use multimedia converter
5
+#
6
+# Copyright (C) 2012-2016 Fayssal Chamekh <chamfay@gmail.com>
7
+#
8
+# Released under terms on waqf public license.
9
+#
10
+# Curlew is free software; you can redistribute it and/or modify it 
11
+# under the terms of the latest version waqf public license as published by 
12
+# ojuba.org.
13
+#
14
+# Curlew is distributed in the hope that it will be useful, but WITHOUT 
15
+# ANY WARRANTY; without even the implied warranty 
16
+# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17
+#        
18
+# The latest version of the license can be found on:
19
+# http://www.ojuba.org/wiki/doku.php/waqf/license
20
+
21
+
22
+from configparser import ConfigParser
23
+import gettext
24
+from glob import glob
25
+import os
26
+from os.path import basename, isdir, splitext, join, dirname, realpath, \
27
+isfile, exists, getsize, abspath
28
+import pickle
29
+import re
30
+from subprocess import Popen, PIPE, call
31
+import sys
32
+import time
33
+from shutil import copyfile, which
34
+from urllib.parse import unquote
35
+
36
+try:
37
+    import gi
38
+    gi.require_version('Gtk', '3.0')
39
+    
40
+    from gi.repository import Gtk, GLib, Gdk, GObject, GdkPixbuf, Gio
41
+    import dbus.glib, dbus.service
42
+    
43
+    from modules.customwidgets import LabeledHBox, TimeLayout, HScale, \
44
+    SpinsFrame, LabeledGrid, ComboWithEntry
45
+    from modules.about import About
46
+    from modules.functions import show_message, get_format_size, \
47
+    duration_to_time, time_to_duration, check_codec
48
+    from modules.logdialog import LogDialog
49
+    from modules.tray import StatusIcon
50
+    from modules.languages import LANGUAGES
51
+    from modules.favdialog import Favorite
52
+    from modules.waitdialog import WaitDialog
53
+    from modules.fileinfos import FileInfos
54
+    from modules.formats import Formats
55
+    from modules.infobars import InfoBar
56
+    from modules.codecs import CodecsDialog
57
+    from modules.consts import CONF_PATH, HOME, CONF_FILE, DTA_DIR, \
58
+    ORG_FFILE, USR_FFILE
59
+except Exception as e:
60
+    print(e)
61
+    sys.exit(1)
62
+
63
+# Files
64
+ERR_LOG_FILE = join(CONF_PATH, 'errors.log')
65
+FAV_FILE = join(CONF_PATH, 'fav.list')
66
+PASS_LOG = '/tmp/pass1log'
67
+PASS_1_FILE = '/tmp/pass1file'
68
+PREVIEW_FILE = '/tmp/Preview'
69
+IMG_PREV = '/tmp/img_prev.jpeg'
70
+INTERNAL_ENCODER = abspath(join(DTA_DIR, 'ffmpeg'))
71
+
72
+TEN_SECONDS = '10'
73
+
74
+# Localization.
75
+DOMAIN = 'curlew'
76
+LOCALDIR = join(DTA_DIR, 'locale')
77
+gettext.install(DOMAIN, LOCALDIR)
78
+
79
+# Create ".curlew" folder if not exist
80
+if not exists(CONF_PATH): os.mkdir(CONF_PATH)
81
+
82
+# Treeview cols nbrs
83
+C_SKIP = 0  # Skip (checkbox)
84
+C_NAME = 1  # File name
85
+C_FSIZE = 2  # File size
86
+C_FDURA = 3  # File duration
87
+C_ESIZE = 4  # Estimated output size
88
+C_ELAPT = 5  # Elapsed time
89
+C_REMN = 6  # Remaining time
90
+C_PRGR = 7  # Progress value
91
+C_STAT = 8  # Stat string
92
+C_PULS = 9  # Pulse
93
+C_FILE = 10  # complete file name 'complete_path/file.ext'
94
+
95
+
96
+#--- Main class        
97
+class Curlew(Gtk.ApplicationWindow):
98
+    
99
+    def on_codec_changed(self, *w):
100
+        msg = _('<span color="red"><i><b>{}</b> Codec not found!</i></span>')
101
+        acodec = self.c_acodec.get_active_text()
102
+        if acodec != 'default':
103
+            if check_codec(self.encoder, acodec):
104
+                self.l_acodec.set_text('')
105
+            else:
106
+                self.l_acodec.set_markup(msg.format(acodec))
107
+
108
+        vcodec = self.c_vcodec.get_active_text()
109
+        if vcodec != 'default':
110
+            if check_codec(self.encoder, vcodec):
111
+                self.l_vcodec.set_text('')
112
+            else:
113
+                self.l_vcodec.set_markup(msg.format(vcodec))
114
+     
115
+    def on_link_clicked(self, w):
116
+        dlg = CodecsDialog(self, self.encoder, self.link_label)
117
+        dlg.show_dialog()
118
+        return True
119
+    
120
+    
121
+    def on_select_fav(self, action, param, item):
122
+        sele_fmt = item.get_attribute_value(Gio.MENU_ATTRIBUTE_LABEL).get_string()
123
+        self.btn_formats.set_label(sele_fmt)
124
+        self.fill_options()
125
+    
126
+    
127
+    def load_submenu(self):
128
+        self.submenu.remove_all()
129
+        i = 0
130
+        for fformat in self.get_fav_list():
131
+            item = Gio.MenuItem.new(fformat, 'Fav.Select{}'.format(i))
132
+            self.submenu.append_item(item)
133
+            action_select = Gio.SimpleAction.new('Select{}'.format(i))
134
+            action_select.connect('activate', self.on_select_fav, item)
135
+            self.action_group.insert(action_select)
136
+            i += 1
137
+    
138
+    
139
+    def on_add_fav(self, action, param):
140
+        fav_list = self.get_fav_list()
141
+        fav_format = self.btn_formats.get_label()
142
+        
143
+        # format already exist
144
+        if fav_format in fav_list:
145
+            return
146
+        
147
+        fav_list.append(fav_format)
148
+        self.save_fav_list(fav_list)
149
+        
150
+        self.load_submenu()
151
+    
152
+    def save_fav_list(self, fav_list):
153
+        favfile = open(FAV_FILE, "wb")
154
+        pickle.dump(fav_list, favfile)
155
+        favfile.close()
156
+    
157
+    
158
+    def on_edit_fav(self, action, param):
159
+        fav_dlg = Favorite(self, self.get_fav_list())
160
+        fav_dlg.run()
161
+        fav_dlg.save(FAV_FILE)
162
+        self.load_submenu()
163
+        fav_dlg.destroy()
164
+
165
+    
166
+    def on_cb_remove_toggled(self, w):
167
+        self.cb_rename.set_sensitive(not w.get_active())
168
+    
169
+    
170
+    def on_cb_rename_toggled(self, w):
171
+        self.cb_remove.set_sensitive(not w.get_active())
172
+    
173
+    
174
+    def on_entry_player_changed(self, e):
175
+        e.set_icon_from_icon_name(Gtk.EntryIconPosition.PRIMARY, e.get_text())
176
+        self.player = e.get_text()
177
+    
178
+    
179
+    def __init__(self, app, *files_list):
180
+        
181
+        # Install Local
182
+        self.install_locale()
183
+
184
+        # Super class
185
+        Gtk.Window.__init__(self, title=_('Curlew'), application=app)
186
+        self.app = app
187
+        
188
+        # Global menu
189
+        gmenu = Gio.Menu()
190
+        self.app.set_app_menu(gmenu)
191
+        
192
+        # Global menu items
193
+        gmenu.append(_("About"), "win.about")
194
+        about_action = Gio.SimpleAction.new("about", None)
195
+        about_action.connect("activate", self.on_btn_about_clicked)
196
+        self.add_action(about_action)
197
+        
198
+        gmenu.append(_("Quit"), "win.quit")
199
+        quit_action = Gio.SimpleAction.new("quit", None)
200
+        quit_action.connect("activate", self.quit_cb)
201
curlew-0.2.1.tar.gz/modules/customwidgets.py Added
201
 
1
@@ -0,0 +1,251 @@
2
+# -*- coding: utf-8 -*-
3
+
4
+# Curlew - Easy to use multimedia converter
5
+#
6
+# Copyright (C) 2012-2016 Fayssal Chamekh <chamfay@gmail.com>
7
+#
8
+# Released under terms on waqf public license.
9
+#
10
+# Curlew is free software; you can redistribute it and/or modify it 
11
+# under the terms of the latest version waqf public license as published by 
12
+# ojuba.org.
13
+#
14
+# Curlew is distributed in the hope that it will be useful, but WITHOUT 
15
+# ANY WARRANTY; without even the implied warranty 
16
+# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17
+#        
18
+# The latest version of the license can be found on:
19
+# http://www.ojuba.org/wiki/doku.php/waqf/license
20
+
21
+import gi
22
+gi.require_version('Gtk', '3.0')
23
+
24
+from gi.repository import Gtk
25
+
26
+
27
+class SpinsFrame(Gtk.Frame):
28
+    '''4 SpinButton collection'''
29
+    def __init__(self, title):
30
+        Gtk.Frame.__init__(self)
31
+        
32
+        self._top = 0
33
+        self._bottom = 0
34
+        self._left = 0
35
+        self._right = 0
36
+        self._sum = 0
37
+        
38
+        hbox = Gtk.Box(sensitive=False, spacing=4, border_width=4)
39
+        self.add(hbox)
40
+        
41
+        self.check_btn = Gtk.CheckButton(title)
42
+        self.set_label_widget(self.check_btn)
43
+        
44
+        # Adjustments
45
+        adj_top    = Gtk.Adjustment(0, 0, 10000, 1)
46
+        adj_bottom = Gtk.Adjustment(0, 0, 10000, 1)
47
+        adj_left   = Gtk.Adjustment(0, 0, 10000, 1)
48
+        adj_right  = Gtk.Adjustment(0, 0, 10000, 1)
49
+        
50
+        # Top spin
51
+        self.spin_top = Gtk.SpinButton(adjustment=adj_top)
52
+        self.spin_top.set_numeric(True)
53
+        hbox.pack_start(Gtk.Label(_('Top')), False, False, 0)
54
+        hbox.pack_start(self.spin_top, False, False, 0)
55
+        
56
+        hbox.pack_start(Gtk.VSeparator(), False, False, 8)
57
+        
58
+        # bottom spin
59
+        self.spin_bottom = Gtk.SpinButton(adjustment=adj_bottom)
60
+        self.spin_bottom.set_numeric(True)
61
+        hbox.pack_start(Gtk.Label(_('Bottom')), False, False, 0)
62
+        hbox.pack_start(self.spin_bottom, False, False, 0)
63
+        
64
+        hbox.pack_start(Gtk.VSeparator(), False, False, 8)
65
+        
66
+        # Left Spin
67
+        self.spin_left = Gtk.SpinButton(adjustment=adj_left)
68
+        self.spin_left.set_numeric(True)
69
+        hbox.pack_start(Gtk.Label(_('Left')), False, False, 0)
70
+        hbox.pack_start(self.spin_left, False, False, 0)
71
+        
72
+        hbox.pack_start(Gtk.VSeparator(), False, False, 8)
73
+        
74
+        # Right spin
75
+        self.spin_right = Gtk.SpinButton(adjustment=adj_right)
76
+        self.spin_right.set_numeric(True)
77
+        hbox.pack_start(Gtk.Label(_('Right')), False, False, 0)
78
+        hbox.pack_start(self.spin_right, False, False, 0)
79
+        
80
+        
81
+        # Connection
82
+        self.spin_top.connect('value-changed', self._on_spins_changed)
83
+        self.spin_bottom.connect('value-changed', self._on_spins_changed)
84
+        self.spin_left.connect('value-changed', self._on_spins_changed)
85
+        self.spin_right.connect('value-changed', self._on_spins_changed)
86
+        self.check_btn.connect('toggled', self._on_check_cb, hbox)
87
+    
88
+    def _on_check_cb(self, check_btn, hbox):
89
+        hbox.set_sensitive(check_btn.get_active())
90
+    
91
+    def _on_spins_changed(self, spin):
92
+        self._top = self.spin_top.get_value_as_int()
93
+        self._bottom = self.spin_bottom.get_value_as_int()
94
+        self._left = self.spin_left.get_value_as_int()
95
+        self._right = self.spin_right.get_value_as_int()
96
+        
97
+        self._sum = self._top + self._bottom + self._left + self._right
98
+    
99
+    def get_active(self):
100
+        return self.check_btn.get_active() and self._sum != 0
101
+    
102
+    def get_crop(self):
103
+        return 'crop=iw-{}:ih-{}:{}:{}'.format(self._left+self._right,
104
+                                               self._top+self._bottom,
105
+                                               self._left, self._top)
106
+    
107
+    def get_pad(self):
108
+        return 'pad=iw+{}:ih+{}:{}:{}'.format(self._left+self._right,
109
+                                               self._top+self._bottom,
110
+                                               self._left, self._top)
111
+    
112
+    
113
+class HScale(Gtk.HScale):
114
+    def __init__(self, container, def_value, min_value, max_value, step=1):
115
+        Gtk.HScale.__init__(self)
116
+        container.pack_start(self, True, True, 0)
117
+        adj = Gtk.Adjustment.new(def_value, min_value, max_value, step, step, 0)
118
+        self.set_adjustment(adj)
119
+        self.set_value_pos(Gtk.PositionType.RIGHT)
120
+        self.set_digits(0)
121
+        
122
+
123
+class LabeledHBox(Gtk.Box):
124
+    ''' hbox with label'''
125
+    def __init__(self, label, container=None):
126
+        Gtk.Box.__init__(self, spacing=4)
127
+        _label = Gtk.Label(label, use_markup=True)
128
+        _label.set_alignment(0, 0.5)
129
+        self.pack_start(_label, False, False, 0)
130
+        if container != None:
131
+            container.pack_start(self, False, False, 0)
132
+
133
+
134
+class LabeledGrid(Gtk.Grid):
135
+    def __init__(self, container):
136
+        Gtk.Grid.__init__(self)
137
+        self.set_column_spacing(2)
138
+        self.set_row_spacing(4)
139
+        self.set_row_homogeneous(False)
140
+        self._n_childs = 0
141
+        container.pack_start(self, False, False, 0)
142
+        
143
+    def append_row(self, label, widget, expanded=False):
144
+        _label = Gtk.Label(label, use_markup=True)
145
+        _label.set_alignment(0.0, 0.5)
146
+        _hbox = Gtk.Box()
147
+        _hbox.set_hexpand(True)
148
+        _hbox.pack_start(widget, expanded, expanded, 0)
149
+        self.attach(_label, 0, self._n_childs, 1, 1)
150
+        self.attach(_hbox, 1, self._n_childs, 1, 1)
151
+        self._n_childs += 1
152
+
153
+    def append_title(self, label):
154
+        _label = Gtk.Label('<b>{}</b>'.format(label), use_markup=True)
155
+        _label.set_alignment(0, 0.5)
156
+        self.attach(_label, 0, self._n_childs, 1, 1)
157
+        self._n_childs += 1
158
+
159
+
160
+class TimeLayout(Gtk.Box):
161
+    def __init__(self, container, label):
162
+        '''    Time widget    '''
163
+        Gtk.Box.__init__(self)
164
+        self._spin_h = Gtk.SpinButton().new_with_range(0, 5, 1)
165
+        self._spin_m = Gtk.SpinButton().new_with_range(0, 59, 1)
166
+        self._spin_s = Gtk.SpinButton().new_with_range(0, 59, 1)
167
+        
168
+        _label = Gtk.Label(label, use_markup=True)
169
+        _label.set_alignment(0, 0.5)
170
+        _label.set_width_chars(10)
171
+        
172
+        self.pack_start(_label, False, False, 0)
173
+        
174
+        self.pack_start(self._spin_h, False, False, 3)
175
+        self.pack_start(Gtk.Label(label=_('hr')), False, False, 0)
176
+        
177
+        self.pack_start(Gtk.Label(6*' '), False, False, 0)
178
+        
179
+        self.pack_start(self._spin_m, False, False, 3)
180
+        self.pack_start(Gtk.Label(label=_('min')), False, False, 0)
181
+        
182
+        self.pack_start(Gtk.Label(6*' '), False, False, 0)
183
+        
184
+        self.pack_start(self._spin_s, False, False, 3)
185
+        self.pack_start(Gtk.Label(label=_('sec')), False, False, 0)
186
+        
187
+        container.pack_start(self, False, False, 0)
188
+    
189
+    def set_duration(self, duration):
190
+        ''' Set duration in seconds '''
191
+        self._spin_h.set_value(duration/3600)
192
+        self._spin_m.set_value((duration%3600)/60)
193
+        self._spin_s.set_value((duration%3600)%60)
194
+    
195
+    def get_duration(self):
196
+        ''' Return duration in sec '''
197
+        return self._spin_h.get_value()*3600 \
198
+                       + self._spin_m.get_value()*60 \
199
+                       + self._spin_s.get_value()
200
+    
201
curlew-0.2.1.tar.gz/modules/edition.py Added
201
 
1
@@ -0,0 +1,336 @@
2
+# -*- coding: utf-8 -*-
3
+
4
+# Curlew - Easy to use multimedia converter
5
+#
6
+# Copyright (C) 2012-2016 Fayssal Chamekh <chamfay@gmail.com>
7
+#
8
+# Released under terms on waqf public license.
9
+#
10
+# Curlew is free software; you can redistribute it and/or modify it 
11
+# under the terms of the latest version waqf public license as published by 
12
+# ojuba.org.
13
+#
14
+# Curlew is distributed in the hope that it will be useful, but WITHOUT 
15
+# ANY WARRANTY; without even the implied warranty 
16
+# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17
+#        
18
+# The latest version of the license can be found on:
19
+# http://www.ojuba.org/wiki/doku.php/waqf/license
20
+
21
+from configparser import ConfigParser, NoSectionError
22
+
23
+import gi
24
+gi.require_version('Gtk', '3.0')
25
+
26
+from gi.repository import Gtk, GLib
27
+
28
+from modules.customwidgets import LabeledGrid, ButtonWithIcon
29
+from modules.consts import CONF_FILE, ORG_FFILE
30
+from modules.functions import show_message
31
+
32
+
33
+class FormatEditor(Gtk.Dialog):
34
+
35
+    # Save settings
36
+    def on_btn_save(self, *args):
37
+        # Confirm
38
+        if show_message(self,
39
+                        _('Are you sure you want to save settings?'),
40
+                        Gtk.MessageType.QUESTION,
41
+                        Gtk.ButtonsType.YES_NO) == Gtk.ResponseType.NO:
42
+            return
43
+        
44
+        conf = ConfigParser()
45
+        conf.read(self.ffile)
46
+        
47
+        section = self.entry_frmt.get_text()
48
+        
49
+        if not conf.has_section(section):
50
+            conf.add_section(section)
51
+            conf[section]['type'] = conf[self.format]['type']
52
+            try:
53
+                conf[section]['ff'] = conf[self.format]['ff']
54
+            except: pass
55
+            conf[section]['ext'] = conf[self.format]['ext']
56
+            conf[section]['flag'] = 'custom'
57
+        
58
+        # audio
59
+        if self.entry_ab.get_sensitive():
60
+            ab = self.entry_ab.get_text()
61
+            conf[section]['ab'] = ab
62
+            lab = ab.split()
63
+            conf[section]['def_ab'] = lab[self.spin_def_ab.get_value_as_int()-1]
64
+        if self.entry_afreq.get_sensitive():
65
+            conf[section]['afreq'] = self.entry_afreq.get_text()
66
+        if self.entry_ach.get_sensitive():
67
+            conf[section]['ach'] = self.entry_ach.get_text()
68
+        if self.entry_acodec.get_sensitive():
69
+            conf[section]['acodec'] = self.entry_acodec.get_text()
70
+        
71
+        # video
72
+        if self.entry_vb.get_sensitive():
73
+            vb = self.entry_vb.get_text()
74
+            conf[section]['vb'] = vb
75
+            lvb = vb.split()
76
+            conf[section]['def_vb'] = lvb[self.spin_def_vb.get_value_as_int()-1]
77
+        if self.entry_vfps.get_sensitive():
78
+            conf[section]['vfps'] =  self.entry_vfps.get_text()
79
+        if self.entry_vsize.get_sensitive():
80
+            conf[section]['vsize'] =  self.entry_vsize.get_text()
81
+        if self.entry_vcodec.get_sensitive():
82
+            conf[section]['vcodec'] =  self.entry_vcodec.get_text()
83
+        if self.entry_vratio.get_sensitive():
84
+            conf[section]['vratio'] =  self.entry_vratio.get_text()
85
+        
86
+        if self.entry_extra.get_sensitive():
87
+            conf[section]['extra'] =  self.entry_extra.get_text()
88
+        
89
+        with open(self.ffile, 'w') as configfile:
90
+            conf.write(configfile)
91
+        
92
+        if section != self.format:
93
+            self.store.append([section])
94
+        
95
+        # close dialog        
96
+        self.close()
97
+    
98
+    def on_btn_def(self, *args):
99
+        
100
+        section = self.format
101
+        
102
+        conf_src = ConfigParser()
103
+        conf_src.read(ORG_FFILE)
104
+        conf_dest = ConfigParser()
105
+        conf_dest.read(self.ffile)
106
+        
107
+        try:
108
+            opts = conf_src.options(section)
109
+        except NoSectionError:
110
+            show_message(self,
111
+                         _('You can\'t restore a custom format to defaults.'),
112
+                         Gtk.MessageType.WARNING)
113
+            return
114
+        
115
+        for opt in opts:
116
+            conf_dest[section][opt] = conf_src[section][opt]
117
+        
118
+        with open(self.ffile, 'w') as configfile:
119
+            conf_dest.write(configfile)
120
+        
121
+        self.load_settings()
122
+    
123
+    
124
+    def get_formats_file(self):
125
+        conf = GLib.KeyFile()        
126
+        conf.load_from_file(CONF_FILE, GLib.KeyFileFlags.NONE)
127
+        frmts_file = conf.get_string('configs', 'formats_file')
128
+        conf.unref()
129
+        return frmts_file
130
+    
131
+
132
+    def set_sensitivity(self, media_type):
133
+        sens = {
134
+                 'audio':   [True, True, True, True, False, False, False, False, False],
135
+                 'video':   [True, True, True, True, True, True, True, True, True],
136
+                 'presets': [False, False, False, False, False, False, False, False, False],
137
+                 'copy': [False, False, False, False, False, False, False, False, False]
138
+                 }
139
+         
140
+        self.entry_ab.set_sensitive(sens[media_type][0])
141
+        self.spin_def_ab.set_sensitive(sens[media_type][0])
142
+        self.entry_afreq.set_sensitive(sens[media_type][1])
143
+        self.entry_ach.set_sensitive(sens[media_type][2])
144
+        self.entry_acodec.set_sensitive(sens[media_type][3])
145
+        
146
+        self.entry_vb.set_sensitive(sens[media_type][4])
147
+        self.spin_def_vb.set_sensitive(sens[media_type][4])
148
+        self.entry_vfps.set_sensitive(sens[media_type][5])
149
+        self.entry_vsize.set_sensitive(sens[media_type][6])
150
+        self.entry_vcodec.set_sensitive(sens[media_type][7])
151
+        self.entry_vratio.set_sensitive(sens[media_type][8])
152
+    
153
+    
154
+    def load_settings(self):
155
+        conf = ConfigParser()
156
+        conf.read(self.ffile)
157
+        section = self.format
158
+        
159
+        self.btn_remove.set_sensitive(conf.has_option(section, 'flag'))
160
+        
161
+        self.set_sensitivity(conf[section]['type'])
162
+        self.entry_frmt.set_text(section)
163
+        
164
+        # audio
165
+        if conf.has_option(section, 'ab'):
166
+            abitrate = conf[section]['ab']
167
+            self.entry_ab.set_text(abitrate)
168
+            abitrates = abitrate.split()
169
+            if conf.has_option(section, 'def_ab'):
170
+                self.spin_def_ab.set_value(abitrates.index(conf[section]['def_ab'])+1)
171
+        if conf.has_option(section, 'afreq'):
172
+            self.entry_afreq.set_text(conf[section]['afreq'])
173
+        if conf.has_option(section, 'ach'):
174
+            self.entry_ach.set_text(conf[section]['ach'])
175
+        if conf.has_option(section, 'acodec'):
176
+            self.entry_acodec.set_text(conf[section]['acodec'])
177
+        
178
+        # video
179
+        if conf.has_option(section, 'vb'):
180
+            vbitrate = conf[section]['vb']
181
+            self.entry_vb.set_text(vbitrate)
182
+            vbitrates = vbitrate.split()
183
+            if conf.has_option(section, 'def_vb'):
184
+                self.spin_def_vb.set_value(vbitrates.index(conf[section]['def_vb'])+1)
185
+        if conf.has_option(section, 'vfps'):
186
+            self.entry_vfps.set_text(conf[section]['vfps'])
187
+        if conf.has_option(section, 'vsize'):
188
+            self.entry_vsize.set_text(conf[section]['vsize'])
189
+        if conf.has_option(section, 'vcodec'):
190
+            self.entry_vcodec.set_text(conf[section]['vcodec'])
191
+        if conf.has_option(section, 'vratio'):
192
+            self.entry_vratio.set_text(conf[section]['vratio'])
193
+        
194
+        if conf.has_option(section, 'extra'):
195
+            self.entry_extra.set_text(conf[section]['extra'])
196
+    
197
+
198
+    def on_bitrate_changed(self, w, spin):
199
+        list_len = len(w.get_text().split())
200
+        spin.set_range(1, list_len)    
201
curlew-0.2.1.tar.gz/modules/favdialog.py Added
114
 
1
@@ -0,0 +1,112 @@
2
+# -*- coding: utf-8 -*-
3
+
4
+# Curlew - Easy to use multimedia converter
5
+#
6
+# Copyright (C) 2012-2016 Fayssal Chamekh <chamfay@gmail.com>
7
+#
8
+# Released under terms on waqf public license.
9
+#
10
+# Curlew is free software; you can redistribute it and/or modify it 
11
+# under the terms of the latest version waqf public license as published by 
12
+# ojuba.org.
13
+#
14
+# Curlew is distributed in the hope that it will be useful, but WITHOUT 
15
+# ANY WARRANTY; without even the implied warranty 
16
+# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17
+#        
18
+# The latest version of the license can be found on:
19
+# http://www.ojuba.org/wiki/doku.php/waqf/license
20
+
21
+import gi
22
+gi.require_version('Gtk', '3.0')
23
+
24
+from gi.repository import Gtk, Gdk
25
+import pickle
26
+
27
+class Favorite(Gtk.Dialog):
28
+    def __init__(self, prnt, fav_list):
29
+        Gtk.Dialog.__init__(self, parent=prnt, use_header_bar=True)
30
+        #self.set_property("use-header-bar", True)
31
+        self.set_title(_('Favorite list'))
32
+        self.set_icon_name('curlew')
33
+        self.set_border_width(4)
34
+        self.set_size_request(450, 400)
35
+        self.store = Gtk.ListStore(str)
36
+        self.list_view = Gtk.TreeView(self.store)
37
+        self.list_view.connect("key-press-event", self.on_key_press)
38
+        header = self.get_header_bar()
39
+        
40
+        cell = Gtk.CellRendererText()
41
+        col = Gtk.TreeViewColumn(_("Format"), cell, text=0)
42
+        self.list_view.append_column(col)
43
+        
44
+        g_vbox = Gtk.Box(spacing=6, orientation=Gtk.Orientation.VERTICAL)
45
+        
46
+        scroll = Gtk.ScrolledWindow()
47
+        scroll.set_shadow_type(Gtk.ShadowType.IN)
48
+        scroll.add(self.list_view)
49
+        
50
+        g_vbox.pack_start(scroll, True, True, 0)
51
+        
52
+        
53
+        box_up_down = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL)
54
+        Gtk.StyleContext.add_class(box_up_down.get_style_context(), "linked")        
55
+        header.pack_end(box_up_down)
56
+        
57
+        btn_up = Gtk.Button()
58
+        btn_up.set_tooltip_text(_('Up'))
59
+        btn_up.set_image(Gtk.Image.new_from_icon_name('go-up-symbolic', Gtk.IconSize.MENU))
60
+        btn_up.connect('clicked', self.go_up)
61
+        box_up_down.pack_start(btn_up, False, False, 0)
62
+        
63
+        btn_down = Gtk.Button()
64
+        btn_down.set_tooltip_text(_('Down'))
65
+        btn_down.set_image(Gtk.Image.new_from_icon_name('go-down-symbolic', Gtk.IconSize.MENU))
66
+        btn_down.connect('clicked', self.go_down)
67
+        box_up_down.pack_start(btn_down, False, False, 0)
68
+        
69
+        btn_delete = Gtk.Button()
70
+        btn_delete.set_tooltip_text(_('Remove'))
71
+        btn_delete.set_image(Gtk.Image.new_from_icon_name('list-remove-symbolic', Gtk.IconSize.MENU))
72
+        btn_delete.connect('clicked', self.delete_item)
73
+        header.pack_end(btn_delete)
74
+        
75
+        self.vbox.pack_start(g_vbox, True, True, 0)
76
+        
77
+        # load
78
+        for fformat in fav_list:
79
+            self.store.append((fformat,))
80
+        
81
+        self.show_all()
82
+    
83
+    # Delete Item
84
+    def delete_item(self, *args):
85
+        sele = self.get_selected_iter()
86
+        if sele:
87
+            self.store.remove(sele)
88
+    
89
+    def go_up(self, widget):
90
+        sel_iter = self.get_selected_iter()
91
+        if sel_iter:
92
+            self.store.move_before(sel_iter, self.store.iter_previous(sel_iter))
93
+    
94
+    def go_down(self, widget):
95
+        sel_iter = self.get_selected_iter()
96
+        if sel_iter:
97
+            self.store.move_after(sel_iter, self.store.iter_next(sel_iter))
98
+    
99
+    def get_selected_iter(self):
100
+        return self.list_view.get_selection().get_selected()[1]
101
+    
102
+    def save(self, file_name):
103
+        fav_list = []
104
+        for row in self.store:
105
+            fav_list.append(row[0])
106
+        favfile = open(file_name, "wb")
107
+        pickle.dump(fav_list, favfile)
108
+        favfile.close()
109
+    
110
+    def on_key_press(self, widget, event):
111
+        if event.keyval == Gdk.KEY_Delete:
112
+            self.delete_item()
113
+    
114
curlew-0.2.1.tar.gz/modules/fileinfos.py Added
62
 
1
@@ -0,0 +1,59 @@
2
+# -*- coding: utf-8 -*-
3
+
4
+# Curlew - Easy to use multimedia converter
5
+#
6
+# Copyright (C) 2012-2016 Fayssal Chamekh <chamfay@gmail.com>
7
+#
8
+# Released under terms on waqf public license.
9
+#
10
+# Curlew is free software; you can redistribute it and/or modify it 
11
+# under the terms of the latest version waqf public license as published by 
12
+# ojuba.org.
13
+#
14
+# Curlew is distributed in the hope that it will be useful, but WITHOUT 
15
+# ANY WARRANTY; without even the implied warranty 
16
+# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17
+#        
18
+# The latest version of the license can be found on:
19
+# http://www.ojuba.org/wiki/doku.php/waqf/license
20
+
21
+import gi
22
+gi.require_version('Gtk', '3.0')
23
+
24
+from gi.repository import Gtk, Pango
25
+from subprocess import check_output
26
+
27
+class FileInfos(Gtk.Dialog):
28
+    def __init__(self, prnt, file_name):
29
+        Gtk.Dialog.__init__(self, parent=prnt, use_header_bar=True)
30
+        self.set_title(_("File informations"))
31
+        self.set_size_request(700, 600)
32
+        self.set_border_width(6)
33
+        self.vbox.set_spacing(6)
34
+        
35
+        txt_info = Gtk.TextView()
36
+        txt_info.set_editable(False)
37
+        txt_info.set_cursor_visible(False)
38
+        txt_info.set_border_width(8)
39
+        
40
+        scroll = Gtk.ScrolledWindow()
41
+        scroll.set_shadow_type(Gtk.ShadowType.IN)
42
+        scroll.add(txt_info)
43
+        self.vbox.pack_start(scroll, True, True, 0)
44
+        
45
+        font_desc = Pango.FontDescription('Monospace')
46
+        txt_info.override_font(font_desc)
47
+        
48
+        txt_buffer = Gtk.TextBuffer()
49
+        txt_info.set_buffer(txt_buffer)
50
+        
51
+        # Show info        
52
+        buf = check_output('mediainfo "{}"'.format(file_name), shell=True, universal_newlines=True)
53
+        txt_buffer.set_text(buf)
54
+        
55
+    
56
+    
57
+    def show_dialog(self):
58
+        self.show_all()
59
+        self.run()
60
+        self.destroy()
61
\ No newline at end of file
62
curlew-0.2.1.tar.gz/modules/formats.py Added
151
 
1
@@ -0,0 +1,149 @@
2
+# -*- coding: utf-8 -*-
3
+
4
+# Curlew - Easy to use multimedia converter
5
+#
6
+# Copyright (C) 2012-2016 Fayssal Chamekh <chamfay@gmail.com>
7
+#
8
+# Released under terms on waqf public license.
9
+#
10
+# Curlew is free software; you can redistribute it and/or modify it 
11
+# under the terms of the latest version waqf public license as published by 
12
+# ojuba.org.
13
+#
14
+# Curlew is distributed in the hope that it will be useful, but WITHOUT 
15
+# ANY WARRANTY; without even the implied warranty 
16
+# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17
+#        
18
+# The latest version of the license can be found on:
19
+# http://www.ojuba.org/wiki/doku.php/waqf/license
20
+
21
+import gi
22
+gi.require_version('Gtk', '3.0')
23
+
24
+from gi.repository import Gtk
25
+from modules.edition import FormatEditor
26
+
27
+class Formats(Gtk.Popover):
28
+    
29
+    def on_select_format(self, *args):
30
+        selected_iter = self.tree_sel.get_selected()[1]
31
+        if selected_iter == None:
32
+            self.lbl.set_markup(self.no_format)
33
+            return
34
+        self.selected_format = self.tree_filter[selected_iter][0]
35
+        self.wind.btn_formats.set_label(self.selected_format)
36
+        self.hide()
37
+        self.wind.fill_options()
38
+    
39
+    
40
+    def on_edit_format(self, widget):
41
+        selected_iter = self.tree_sel.get_selected()[1]
42
+        if selected_iter == None:
43
+            self.lbl.set_markup(self.no_format)
44
+            return
45
+        self.selected_format = self.tree_filter[selected_iter][0]
46
+        self.hide()
47
+        dlg = FormatEditor(self.wind, self.selected_format, self.store)
48
+        dlg.show_dialog()
49
+    
50
+    
51
+    def on_closed(self, *args):
52
+        self.lbl.set_markup('')
53
+    
54
+    
55
+    def __init__(self, wind, formats_list, curr_format, store):
56
+        self.wind = wind
57
+        self.formats_list = formats_list
58
+        self.selected_format = curr_format
59
+        
60
+        self.no_format = _('<i><span color="red">No format selected!</span></i>')
61
+        
62
+        Gtk.Popover.__init__(self)
63
+        self.set_border_width(4)
64
+        self.connect('closed', self.on_closed)
65
+        
66
+        vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=4)
67
+        self.add(vbox)
68
+        
69
+        #
70
+        self.e_search = Gtk.SearchEntry()
71
+        self.e_search.set_activates_default(True)
72
+        self.e_search.connect('changed', self.on_entry_search)
73
+        self.e_search.set_direction(Gtk.TextDirection.LTR)
74
+        vbox.pack_start(self.e_search, False, True, 2)
75
+        
76
+        
77
+        #
78
+        self.store = store # Gtk.ListStore(str)
79
+        self.tree_filter = self.store.filter_new()
80
+        self.tree_filter.set_visible_func(self.match_func)
81
+        
82
+        self.tree_formats = Gtk.TreeView(self.tree_filter)
83
+        self.tree_formats.set_headers_visible(False)
84
+        self.tree_formats.set_direction(Gtk.TextDirection.LTR)
85
+        self.tree_formats.set_grid_lines(Gtk.TreeViewGridLines.HORIZONTAL)
86
+        self.tree_formats.connect('row-activated', self.on_choosed_format)
87
+        
88
+        self.tree_sel = self.tree_formats.get_selection()
89
+        
90
+        # cell
91
+        cell = Gtk.CellRendererText()
92
+        col = Gtk.TreeViewColumn(None, cell, text=0)
93
+        self.tree_formats.append_column(col)
94
+        
95
+        scroll = Gtk.ScrolledWindow()
96
+        scroll.set_size_request(450, 285)
97
+        scroll.set_shadow_type(Gtk.ShadowType.ETCHED_IN)
98
+        scroll.add(self.tree_formats)
99
+        vbox.pack_start(scroll, True, True, 0)
100
+        
101
+        # Load formats
102
+        for fmt in self.formats_list:
103
+            self.store.append([fmt])
104
+        
105
+        self.store.set_sort_column_id(0, Gtk.SortType.ASCENDING)
106
+        
107
+        # hbox btns
108
+        hbox_btns = Gtk.Box()
109
+        vbox.pack_start(hbox_btns, True, True, 0)
110
+        
111
+        # edit btn
112
+        btn_edit = Gtk.Button()
113
+        btn_edit.set_image(Gtk.Image.new_from_icon_name('preferences-other-symbolic', Gtk.IconSize.BUTTON))
114
+        btn_edit.set_tooltip_text(_('Edit'))
115
+        btn_edit.connect('clicked', self.on_edit_format)
116
+        hbox_btns.pack_start(btn_edit, False, True, 0)
117
+        
118
+        self.lbl = Gtk.Label()
119
+        hbox_btns.pack_start(self.lbl, True, False, 0)        
120
+        
121
+        # select btn
122
+        btn_select = Gtk.Button()
123
+        btn_select.set_image(Gtk.Image.new_from_icon_name('object-select-symbolic', Gtk.IconSize.BUTTON))
124
+        btn_select.set_tooltip_text(_('Choose'))
125
+        btn_select.connect('clicked', self.on_select_format)
126
+        hbox_btns.pack_end(btn_select, False, True, 0)
127
+ 
128
+        # finally
129
+        vbox.show_all()
130
+        
131
+    def on_entry_search(self, w):
132
+        self.tree_filter.refilter()
133
+    
134
+    def match_func(self, model, tree_iter, data=None):
135
+        txt = self.e_search.get_text()
136
+        value = model.get_value(tree_iter, 0)
137
+        
138
+        if (txt == "") or (txt.lower() in value.lower()):
139
+            return True
140
+        self.tree_formats.set_cursor(0)
141
+        return False
142
+    
143
+    def on_choosed_format(self, tree, path, col):
144
+        model = tree.get_model()
145
+        self.selected_format = model[path][0]
146
+        self.wind.btn_formats.set_label(self.selected_format)
147
+        self.hide()
148
+        self.wind.fill_options()
149
+
150
+
151
curlew-0.2.1.tar.gz/modules/functions.py Added
86
 
1
@@ -0,0 +1,84 @@
2
+# -*- coding: utf-8 -*-
3
+
4
+# Curlew - Easy to use multimedia converter
5
+#
6
+# Copyright (C) 2012-2016 Fayssal Chamekh <chamfay@gmail.com>
7
+#
8
+# Released under terms on waqf public license.
9
+#
10
+# Curlew is free software; you can redistribute it and/or modify it 
11
+# under the terms of the latest version waqf public license as published by 
12
+# ojuba.org.
13
+#
14
+# Curlew is distributed in the hope that it will be useful, but WITHOUT 
15
+# ANY WARRANTY; without even the implied warranty 
16
+# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17
+#        
18
+# The latest version of the license can be found on:
19
+# http://www.ojuba.org/wiki/doku.php/waqf/license
20
+
21
+
22
+import gi
23
+gi.require_version('Gtk', '3.0')
24
+
25
+from gi.repository import Gtk
26
+from subprocess import Popen, PIPE
27
+
28
+def show_message(parent,
29
+                 message,
30
+                 message_type,
31
+                 button_type=Gtk.ButtonsType.CLOSE):
32
+    ''' Show custom message dialog'''
33
+    mess_dlg = Gtk.MessageDialog(parent,
34
+                             Gtk.DialogFlags.MODAL,
35
+                             message_type,
36
+                             button_type)
37
+    mess_dlg.set_markup(message)
38
+    if not parent:
39
+        mess_dlg.set_keep_above(True)
40
+    resp = mess_dlg.run()
41
+    mess_dlg.destroy()
42
+    return resp
43
+
44
+def get_format_size(size):
45
+    ''' formating file size '''
46
+    size_str = ''
47
+    if 0 <= size <= 1024:
48
+        size_str = '{:.2f}'.format(size) + _(' KB')
49
+    elif 1024 <= size < 1024 * 1024:
50
+        e_size = size / 1024.0
51
+        size_str = '{:.2f}'.format(e_size) + _(' MB')
52
+    elif size >= 1024 * 1024:
53
+        e_size = size / 1048576.0
54
+        size_str = '{:.2f}'.format(e_size) + _(' GB')
55
+    return size_str
56
+
57
+
58
+def duration_to_time(duration):
59
+    ''' Convert duration (sec) to time 0:00:00 '''
60
+    if duration < 0: duration = 0
61
+    return '{:.0f}:{:02.0f}:{:02.0f}'.format(
62
+                                             duration/3600,
63
+                                             (duration%3600)/60,
64
+                                             (duration%3600)%60
65
+                                             )
66
+
67
+def time_to_duration(time):
68
+    ''' Convert time like 0:00:00.00 to duration (sec)'''
69
+    times = time.split(':')
70
+    return int(times[0])*3600 + int(times[1])*60 + float(times[2])
71
+
72
+def get_available_codecs(encoder):
73
+    proc = Popen('{} -encoders'.format(encoder), shell=True,
74
+               stdout=PIPE, stderr=PIPE, universal_newlines=True, bufsize=-1)
75
+    codecs = proc.stdout.read()
76
+    return codecs
77
+
78
+def check_codec(encoder, codec):
79
+    new_codec = ' {} '.format(codec)
80
+    codecs = get_available_codecs(encoder)
81
+    if new_codec in codecs:
82
+        return True
83
+    return False
84
+
85
+
86
curlew-0.2.1.tar.gz/modules/infobars.py Added
48
 
1
@@ -0,0 +1,46 @@
2
+# -*- coding: utf-8 -*-
3
+
4
+# Curlew - Easy to use multimedia converter
5
+#
6
+# Copyright (C) 2012-2016 Fayssal Chamekh <chamfay@gmail.com>
7
+#
8
+# Released under terms on waqf public license.
9
+#
10
+# Curlew is free software; you can redistribute it and/or modify it 
11
+# under the terms of the latest version waqf public license as published by 
12
+# ojuba.org.
13
+#
14
+# Curlew is distributed in the hope that it will be useful, but WITHOUT 
15
+# ANY WARRANTY; without even the implied warranty 
16
+# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17
+#        
18
+# The latest version of the license can be found on:
19
+# http://www.ojuba.org/wiki/doku.php/waqf/license
20
+
21
+import gi
22
+gi.require_version('Gtk', '3.0')
23
+
24
+from gi.repository import Gtk
25
+
26
+class InfoBar(Gtk.InfoBar):
27
+    def __init__(self):
28
+        Gtk.InfoBar.__init__(self)
29
+        self.set_show_close_button(True)
30
+        self.set_no_show_all(True)
31
+        self.connect('response', self.on_response)
32
+        
33
+        self.lbl_bar = Gtk.Label()
34
+        self.lbl_bar.set_use_markup(True)
35
+        self.lbl_bar.show()
36
+        self.get_content_area().add(self.lbl_bar)
37
+    
38
+    def show_message(self, msg, message_type=Gtk.MessageType.INFO):
39
+        self.lbl_bar.set_label('<b>{}</b>'.format(msg))
40
+        self.set_message_type(message_type)
41
+        self.show()
42
+    
43
+    def on_response(self, info_bar, response_id):
44
+        info_bar.hide()
45
+
46
+
47
+
48
curlew-0.2.1.tar.gz/modules/languages.py Added
38
 
1
@@ -0,0 +1,35 @@
2
+# -*- coding: utf-8 -*-
3
+
4
+# Curlew - Easy to use multimedia converter
5
+#
6
+# Copyright (C) 2012-2016 Fayssal Chamekh <chamfay@gmail.com>
7
+#
8
+# Released under terms on waqf public license.
9
+#
10
+# Curlew is free software; you can redistribute it and/or modify it 
11
+# under the terms of the latest version waqf public license as published by 
12
+# ojuba.org.
13
+#
14
+# Curlew is distributed in the hope that it will be useful, but WITHOUT 
15
+# ANY WARRANTY; without even the implied warranty 
16
+# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17
+#        
18
+# The latest version of the license can be found on:
19
+# http://www.ojuba.org/wiki/doku.php/waqf/license
20
+
21
+
22
+LANGUAGES = {
23
+             'العربية': 'ar',
24
+             'Português - Brazil': 'br',
25
+             'Český': 'cs',
26
+             'English': 'en',
27
+             'Español': 'es',
28
+             'Euskara': 'eu',
29
+             'Français': 'fr',
30
+             'Italiano': 'it',
31
+             'Nederlands': 'nl',
32
+             'Polski': 'pl',
33
+             'Русский': 'ru',
34
+             'Srpski': 'sr',
35
+             'Traditional Chinese: 正體中文': 'zh_TW'
36
+             }
37
\ No newline at end of file
38
curlew-0.2.1.tar.gz/modules/logdialog.py Added
69
 
1
@@ -0,0 +1,66 @@
2
+# -*- coding: utf-8 -*-
3
+
4
+# Curlew - Easy to use multimedia converter
5
+#
6
+# Copyright (C) 2012-2016 Fayssal Chamekh <chamfay@gmail.com>
7
+#
8
+# Released under terms on waqf public license.
9
+#
10
+# Curlew is free software; you can redistribute it and/or modify it 
11
+# under the terms of the latest version waqf public license as published by 
12
+# ojuba.org.
13
+#
14
+# Curlew is distributed in the hope that it will be useful, but WITHOUT 
15
+# ANY WARRANTY; without even the implied warranty 
16
+# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17
+#        
18
+# The latest version of the license can be found on:
19
+# http://www.ojuba.org/wiki/doku.php/waqf/license
20
+
21
+
22
+import gi
23
+gi.require_version('Gtk', '3.0')
24
+
25
+from gi.repository import Gtk, Pango
26
+
27
+class LogDialog(Gtk.Dialog):
28
+    def __init__(self, prnt, log_file):
29
+        self._log_file = log_file
30
+        Gtk.Dialog.__init__(self, parent=prnt)
31
+        self.set_size_request(550, 450)
32
+        self.set_border_width(6)
33
+        self.set_title(_('Errors detail'))
34
+        scroll = Gtk.ScrolledWindow()
35
+        scroll.set_shadow_type(Gtk.ShadowType.IN)
36
+        text_log = Gtk.TextView()
37
+        text_log.set_wrap_mode(Gtk.WrapMode.WORD_CHAR)
38
+        text_log.set_border_width(6)
39
+        text_log.set_editable(False)
40
+        text_log.set_cursor_visible(False)
41
+        
42
+        font_desc = Pango.FontDescription('Monospace')
43
+        text_log.override_font(font_desc)
44
+        
45
+        text_buffer = Gtk.TextBuffer()
46
+        text_log.set_buffer(text_buffer)
47
+        
48
+        scroll.add(text_log)
49
+        self.vbox.set_spacing(4)
50
+        self.vbox.pack_start(scroll, True, True, 0)
51
+        
52
+        button = self.add_button(_('_Close'), Gtk.ResponseType.CLOSE)
53
+        self.set_default(button)
54
+        
55
+        with open(log_file, 'r') as log:
56
+            text_buffer.set_text(log.read())
57
+        
58
+        
59
+    def show_dialog(self):
60
+        self.show_all()
61
+        self.run()
62
+        self.destroy()
63
+        
64
+        
65
+        
66
+        
67
+        
68
\ No newline at end of file
69
curlew-0.2.1.tar.gz/modules/tray.py Added
94
 
1
@@ -0,0 +1,92 @@
2
+# -*- coding: utf-8 -*-
3
+
4
+# Curlew - Easy to use multimedia converter
5
+#
6
+# Copyright (C) 2012-2016 Fayssal Chamekh <chamfay@gmail.com>
7
+#
8
+# Released under terms on waqf public license.
9
+#
10
+# Curlew is free software; you can redistribute it and/or modify it 
11
+# under the terms of the latest version waqf public license as published by 
12
+# ojuba.org.
13
+#
14
+# Curlew is distributed in the hope that it will be useful, but WITHOUT 
15
+# ANY WARRANTY; without even the implied warranty 
16
+# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17
+#        
18
+# The latest version of the license can be found on:
19
+# http://www.ojuba.org/wiki/doku.php/waqf/license
20
+
21
+
22
+import gi
23
+gi.require_version('Gtk', '3.0')
24
+
25
+from gi.repository import Gtk
26
+
27
+class StatusIcon(Gtk.StatusIcon):
28
+    def __init__(self, window):
29
+        Gtk.StatusIcon.__init__(self)
30
+        
31
+        self._window = window
32
+        
33
+        self.set_from_icon_name('curlew')
34
+        self.set_tooltip_text(_('Curlew'))
35
+    
36
+        #---- Build menu
37
+        self.menu = Gtk.Menu()
38
+        
39
+        # Show main window
40
+        self.show_item = Gtk.MenuItem(_('Hide'))
41
+        self.show_item.connect("activate", self.show_hide)
42
+        
43
+        # Stop conversion
44
+        stop_item = Gtk.MenuItem(_('Stop Conversion'))
45
+        stop_item.connect("activate", self.stop)
46
+        
47
+        # Quit application
48
+        quit_item = Gtk.MenuItem(_('Quit application'))
49
+        quit_item.connect("activate", self.quit)
50
+        
51
+        # Append menu items and show all
52
+        self.menu.append(self.show_item)
53
+        self.menu.append(stop_item)
54
+        self.menu.append(quit_item)
55
+
56
+        # Make connection
57
+        self.connect('popup-menu', self.on_popup_menu, stop_item)
58
+        self.connect('activate', self.show_hide)
59
+
60
+        self.set_visible(False)
61
+    
62
+    
63
+    def on_popup_menu(self, icon, button, time, stop_item):
64
+        
65
+        # stop_item sensitivity
66
+        stop_item.set_sensitive(self._window.is_converting)
67
+        
68
+        # show/hide
69
+        if self._window.get_visible():
70
+            self.show_item.set_label(_('Hide'))
71
+        else:
72
+            self.show_item.set_label(_('Show'))
73
+        
74
+        self.menu.show_all()
75
+        self.menu.popup(None, None, Gtk.StatusIcon.position_menu, 
76
+                        icon, button, time)
77
+    
78
+    
79
+    def show_hide(self, *agrs):
80
+        if self._window.get_visible():
81
+            self._window.hide()
82
+        else:
83
+            self._window.present()
84
+        
85
+    def stop(self, stop_item):
86
+        if self._window.on_btn_stop_clicked():
87
+            self._window.present()
88
+        
89
+    def quit(self, *args):
90
+        self._window.quit_cb()
91
+
92
+
93
+
94
curlew-0.2.1.tar.gz/modules/waitdialog.py Added
65
 
1
@@ -0,0 +1,63 @@
2
+# -*- coding: utf-8 -*-
3
+
4
+# Curlew - Easy to use multimedia converter
5
+#
6
+# Copyright (C) 2012-2016 Fayssal Chamekh <chamfay@gmail.com>
7
+#
8
+# Released under terms on waqf public license.
9
+#
10
+# Curlew is free software; you can redistribute it and/or modify it 
11
+# under the terms of the latest version waqf public license as published by 
12
+# ojuba.org.
13
+#
14
+# Curlew is distributed in the hope that it will be useful, but WITHOUT 
15
+# ANY WARRANTY; without even the implied warranty 
16
+# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17
+#        
18
+# The latest version of the license can be found on:
19
+# http://www.ojuba.org/wiki/doku.php/waqf/license
20
+
21
+import gi
22
+gi.require_version('Gtk', '3.0')
23
+
24
+from gi.repository import Gtk
25
+
26
+class WaitDialog(Gtk.Dialog):
27
+    def __init__(self, parent):
28
+        
29
+        self.skip = False
30
+        
31
+        Gtk.Dialog.__init__(self, parent=parent)
32
+        self.set_size_request(650, 50)
33
+        self.set_border_width(8)
34
+        self.set_resizable(False)
35
+        self.set_title(_('Adding files...'))
36
+        
37
+        self.text_file = Gtk.Label()
38
+        self.text_file.set_alignment(0, 0.5)
39
+        self.text_file.set_max_width_chars(50)
40
+        self.vbox.pack_start(self.text_file, False, False, 6)
41
+        
42
+        self.prog_bar = Gtk.ProgressBar()
43
+        self.prog_bar.set_show_text(True)
44
+        self.vbox.pack_start(self.prog_bar, False, False, 6)
45
+        
46
+        btn_skip = self.add_button(_('_Cancel'), Gtk.ResponseType.CANCEL)
47
+        btn_skip.connect('clicked', self.__skip)
48
+        
49
+        self.show_all()
50
+        self.connect('delete-event', self.__skip)
51
+    
52
+    
53
+    def set_filename(self, filename):
54
+        self.text_file.set_markup(_('<b>File:</b> ')+filename)
55
+    
56
+    def set_progress(self, value):
57
+        self.prog_bar.set_fraction(value)
58
+        self.prog_bar.set_text('{:.0f}%'.format(value*100))
59
+    
60
+    def __skip(self, *args):
61
+        self.skip = True
62
+
63
+
64
+
65
curlew-0.1.22.3.tar.gz/po/ar.po -> curlew-0.2.1.tar.gz/po/ar.po Changed
201
 
1
@@ -7,444 +7,562 @@
2
 msgstr ""
3
 "Project-Id-Version: 0.1.0\n"
4
 "Report-Msgid-Bugs-To: \n"
5
-"POT-Creation-Date: 2014-04-09 22:18+0200\n"
6
-"PO-Revision-Date: 2014-02-17 21:23-0000\n"
7
-"Last-Translator: Fayssal Chamekh <chamfay@gmail.com>\n"
8
+"POT-Creation-Date: 2016-02-21 22:48+0100\n"
9
+"PO-Revision-Date: 2016-02-19 09:01+0100\n"
10
+"Last-Translator: Faissal Chamekh <chamfay@gmail0com>\n"
11
 "Language-Team: Arabic <chamfay@gmail.com>\n"
12
 "Language: ar\n"
13
 "MIME-Version: 1.0\n"
14
 "Content-Type: text/plain; charset=UTF-8\n"
15
 "Content-Transfer-Encoding: 8bit\n"
16
-"X-Generator: Poedit 1.5.4\n"
17
+"X-Generator: Poedit 1.8.4\n"
18
 "X-Poedit-SourceCharset: UTF-8\n"
19
 
20
-#: Curlew/curlew.py:154 Curlew/about.py:29 Curlew/tray.py:30
21
-msgid "Curlew"
22
-msgstr "كـروان"
23
+#: modules/customwidgets.py:50
24
+msgid "Top"
25
+msgstr "أعلى"
26
 
27
-#: Curlew/curlew.py:172
28
-msgid "Add File"
29
-msgstr "أضِف ملفاً"
30
+#: modules/customwidgets.py:58
31
+msgid "Bottom"
32
+msgstr "أسفل"
33
 
34
-#: Curlew/curlew.py:173
35
-msgid "Add files"
36
-msgstr "أضِف ملفات"
37
+#: modules/customwidgets.py:66
38
+msgid "Left"
39
+msgstr "يسار"
40
+
41
+#: modules/customwidgets.py:74
42
+msgid "Right"
43
+msgstr "يمين"
44
 
45
-#: Curlew/curlew.py:176
46
-msgid "Add Folder"
47
-msgstr "أضِف مجلداً"
48
+#: modules/customwidgets.py:172
49
+msgid "hr"
50
+msgstr "سا"
51
 
52
-#: Curlew/curlew.py:177
53
-msgid "Add folders"
54
-msgstr "إضافة مجلدات"
55
+#: modules/customwidgets.py:177
56
+msgid "min"
57
+msgstr "د"
58
 
59
-#: Curlew/curlew.py:181
60
+#: modules/customwidgets.py:182 modules/curlew.py:698
61
+msgid "sec"
62
+msgstr "ثا"
63
+
64
+#: modules/favdialog.py:28 modules/curlew.py:480
65
+msgid "Favorite list"
66
+msgstr "القائمة المفضّلة"
67
+
68
+#: modules/favdialog.py:38
69
+msgid "Format"
70
+msgstr "الصيــغة"
71
+
72
+#: modules/favdialog.py:55
73
+msgid "Up"
74
+msgstr "أعلى"
75
+
76
+#: modules/favdialog.py:61
77
+msgid "Down"
78
+msgstr "أسفل"
79
+
80
+#: modules/favdialog.py:67 modules/edition.py:310 modules/curlew.py:2244
81
 msgid "Remove"
82
 msgstr "اِحذف"
83
 
84
-#: Curlew/curlew.py:182
85
-msgid "Remove files"
86
-msgstr "اِحذِف ملفات"
87
+#: modules/about.py:31 modules/tray.py:30 modules/curlew.py:181
88
+#: modules/curlew.py:251
89
+msgid "Curlew"
90
+msgstr "كـروان"
91
 
92
-#: Curlew/curlew.py:186
93
-msgid "Clear"
94
-msgstr "اِمسح"
95
+#: modules/about.py:35 modules/curlew.py:328
96
+msgid "About Curlew"
97
+msgstr "عنْ كروان"
98
 
99
-#: Curlew/curlew.py:187
100
-msgid "Clear files list"
101
-msgstr "اِمسح قائمة الملفات"
102
+#: modules/about.py:38
103
+msgid "Easy to use Multimedia Converter for Linux"
104
+msgstr "محوّل وسائط على لينُكس سهل الاستخدام"
105
 
106
-#: Curlew/curlew.py:194
107
-msgid "Convert"
108
-msgstr "حوّل"
109
+#: modules/about.py:51
110
+msgid "translator-credits"
111
+msgstr "فيصل شامخ <chamfay@gmail.com>"
112
 
113
-#: Curlew/curlew.py:195
114
-msgid "Start Conversion"
115
-msgstr "اِبدأ التحويل"
116
+#: modules/functions.py:44
117
+msgid " KB"
118
+msgstr " ك.ب"
119
+
120
+#: modules/functions.py:47
121
+msgid " MB"
122
+msgstr " م.ب"
123
 
124
-#: Curlew/curlew.py:199
125
-msgid "Stop"
126
-msgstr "أوقِف"
127
+#: modules/functions.py:50
128
+msgid " GB"
129
+msgstr " ج.ب"
130
+
131
+#: modules/tray.py:36 modules/tray.py:66
132
+msgid "Hide"
133
+msgstr "أخفِ"
134
 
135
-#: Curlew/curlew.py:200 Curlew/tray.py:40
136
+#: modules/tray.py:40 modules/curlew.py:314
137
 msgid "Stop Conversion"
138
 msgstr "أوقف التحويل"
139
 
140
-#: Curlew/curlew.py:207
141
-msgid "File Infos"
142
-msgstr "معلومات"
143
+#: modules/tray.py:44
144
+msgid "Quit application"
145
+msgstr "غادِر البرنامج"
146
 
147
-#: Curlew/curlew.py:208 Curlew/curlew.py:363
148
-msgid "File Informations"
149
+#: modules/tray.py:68
150
+msgid "Show"
151
+msgstr "أظهِر"
152
+
153
+#: modules/logdialog.py:29
154
+msgid "Errors detail"
155
+msgstr "تفاصيلُ اﻷخطاء"
156
+
157
+#: modules/logdialog.py:48
158
+msgid "_Close"
159
+msgstr "_أغلِق"
160
+
161
+#: modules/edition.py:35
162
+msgid "Are you sure you want to save settings?"
163
+msgstr "هل أنت متأكد من أنك تريد حفظ التغييرات؟"
164
+
165
+#: modules/edition.py:107
166
+msgid "You can't restore a custom format to defaults."
167
+msgstr "لا يمكنك استعادة افتراضيات صيغة مخصصة."
168
+
169
+#: modules/edition.py:202
170
+msgid "Are you sure you want to remove this format?"
171
+msgstr "هل أنت متأكد من أنك تريد حذف هذه الصيغة؟"
172
+
173
+#: modules/edition.py:249
174
+msgid "Audio:"
175
+msgstr "الصوت:"
176
+
177
+#: modules/edition.py:257 modules/edition.py:276
178
+msgid "Default"
179
+msgstr "الافتراضي"
180
+
181
+#: modules/edition.py:260
182
+msgid "Audio Bitrates"
183
+msgstr "معدّلات بتات الصوت"
184
+
185
+#: modules/edition.py:262
186
+msgid "Audio Frequencies"
187
+msgstr "ترددات الصوت"
188
+
189
+#: modules/edition.py:264 modules/curlew.py:551
190
+msgid "Audio Channels"
191
+msgstr "قناة الصوت"
192
+
193
+#: modules/edition.py:266
194
+msgid "Audio Codecs"
195
+msgstr "ترميزات الصوت"
196
+
197
+#: modules/edition.py:269
198
+msgid "Video:"
199
+msgstr "الفيديو:"
200
+
201
curlew-0.1.22.3.tar.gz/po/br.po -> curlew-0.2.1.tar.gz/po/br.po Changed
201
 
1
@@ -7,7 +7,7 @@
2
 msgstr ""
3
 "Project-Id-Version: 0.1\n"
4
 "Report-Msgid-Bugs-To: \n"
5
-"POT-Creation-Date: 2014-04-09 22:18+0200\n"
6
+"POT-Creation-Date: 2016-02-21 22:48+0100\n"
7
 "PO-Revision-Date: 2014-04-09 22:18+0100\n"
8
 "Last-Translator: Fayssal Chamekh <chamfay@gmail.com>\n"
9
 "Language-Team: Portuguese Brazil <vagner.unix@gmail.com>\n"
10
@@ -18,433 +18,574 @@
11
 "X-Poedit-SourceCharset: UTF-8\n"
12
 "X-Generator: Poedit 1.5.4\n"
13
 
14
-#: Curlew/curlew.py:154 Curlew/about.py:29 Curlew/tray.py:30
15
-msgid "Curlew"
16
-msgstr "Curlew"
17
+#: modules/customwidgets.py:50
18
+msgid "Top"
19
+msgstr "Topo"
20
 
21
-#: Curlew/curlew.py:172
22
-msgid "Add File"
23
-msgstr "Adicionar Arquivo"
24
+#: modules/customwidgets.py:58
25
+msgid "Bottom"
26
+msgstr "Botão"
27
+
28
+#: modules/customwidgets.py:66
29
+msgid "Left"
30
+msgstr "Esquerda"
31
 
32
-#: Curlew/curlew.py:173
33
-msgid "Add files"
34
-msgstr "Adicionar Arquivos"
35
+#: modules/customwidgets.py:74
36
+msgid "Right"
37
+msgstr "Direita"
38
 
39
-#: Curlew/curlew.py:176
40
-msgid "Add Folder"
41
-msgstr "Adicionar Pasta"
42
+#: modules/customwidgets.py:172
43
+msgid "hr"
44
+msgstr "Hs"
45
 
46
-#: Curlew/curlew.py:177
47
-msgid "Add folders"
48
-msgstr "Adicionar Pastas"
49
+#: modules/customwidgets.py:177
50
+msgid "min"
51
+msgstr "Min"
52
 
53
-#: Curlew/curlew.py:181
54
+#: modules/customwidgets.py:182 modules/curlew.py:698
55
+msgid "sec"
56
+msgstr "seg"
57
+
58
+#: modules/favdialog.py:28 modules/curlew.py:480
59
+msgid "Favorite list"
60
+msgstr "Lista de favoritos"
61
+
62
+#: modules/favdialog.py:38
63
+msgid "Format"
64
+msgstr "Formato"
65
+
66
+#: modules/favdialog.py:55
67
+msgid "Up"
68
+msgstr ""
69
+
70
+#: modules/favdialog.py:61
71
+msgid "Down"
72
+msgstr ""
73
+
74
+#: modules/favdialog.py:67 modules/edition.py:310 modules/curlew.py:2244
75
 msgid "Remove"
76
 msgstr "Remover"
77
 
78
-#: Curlew/curlew.py:182
79
-msgid "Remove files"
80
-msgstr "Remover Arquivos"
81
+#: modules/about.py:31 modules/tray.py:30 modules/curlew.py:181
82
+#: modules/curlew.py:251
83
+msgid "Curlew"
84
+msgstr "Curlew"
85
+
86
+#: modules/about.py:35 modules/curlew.py:328
87
+msgid "About Curlew"
88
+msgstr "Sobre Curlew"
89
 
90
-#: Curlew/curlew.py:186
91
-msgid "Clear"
92
-msgstr "Limpar"
93
+#: modules/about.py:38
94
+msgid "Easy to use Multimedia Converter for Linux"
95
+msgstr "Conversor Multimídia fácil de Usar para Linux"
96
 
97
-#: Curlew/curlew.py:187
98
-msgid "Clear files list"
99
-msgstr "Limpar Lista de Arquivos"
100
+#: modules/about.py:51
101
+msgid "translator-credits"
102
+msgstr "VaGNaroK"
103
 
104
-#: Curlew/curlew.py:194
105
-msgid "Convert"
106
-msgstr "Converter"
107
+#: modules/functions.py:44
108
+msgid " KB"
109
+msgstr "KB"
110
 
111
-#: Curlew/curlew.py:195
112
-msgid "Start Conversion"
113
-msgstr "Iniciar Conversão"
114
+#: modules/functions.py:47
115
+msgid " MB"
116
+msgstr "MB"
117
 
118
-#: Curlew/curlew.py:199
119
-msgid "Stop"
120
-msgstr "Parar"
121
+#: modules/functions.py:50
122
+msgid " GB"
123
+msgstr "GB"
124
 
125
-#: Curlew/curlew.py:200 Curlew/tray.py:40
126
+#: modules/tray.py:36 modules/tray.py:66
127
+msgid "Hide"
128
+msgstr "Esconder"
129
+
130
+#: modules/tray.py:40 modules/curlew.py:314
131
 msgid "Stop Conversion"
132
 msgstr "Parar Conversão"
133
 
134
-#: Curlew/curlew.py:207
135
-msgid "File Infos"
136
-msgstr "Infos do Arquivo"
137
+#: modules/tray.py:44
138
+msgid "Quit application"
139
+msgstr "Sair do Programa"
140
 
141
-#: Curlew/curlew.py:208 Curlew/curlew.py:363
142
-msgid "File Informations"
143
+#: modules/tray.py:68
144
+msgid "Show"
145
+msgstr "Mostrar"
146
+
147
+#: modules/logdialog.py:29
148
+msgid "Errors detail"
149
+msgstr "Detalhes do Erro"
150
+
151
+#: modules/logdialog.py:48
152
+msgid "_Close"
153
+msgstr ""
154
+
155
+#: modules/edition.py:35
156
+msgid "Are you sure you want to save settings?"
157
+msgstr ""
158
+
159
+#: modules/edition.py:107
160
+msgid "You can't restore a custom format to defaults."
161
+msgstr ""
162
+
163
+#: modules/edition.py:202
164
+msgid "Are you sure you want to remove this format?"
165
+msgstr ""
166
+
167
+#: modules/edition.py:249
168
+#, fuzzy
169
+msgid "Audio:"
170
+msgstr "Áudio"
171
+
172
+#: modules/edition.py:257 modules/edition.py:276
173
+msgid "Default"
174
+msgstr ""
175
+
176
+#: modules/edition.py:260
177
+#, fuzzy
178
+msgid "Audio Bitrates"
179
+msgstr "Bitrate do Áudio"
180
+
181
+#: modules/edition.py:262
182
+#, fuzzy
183
+msgid "Audio Frequencies"
184
+msgstr "Frequência do Áudio"
185
+
186
+#: modules/edition.py:264 modules/curlew.py:551
187
+msgid "Audio Channels"
188
+msgstr "Canais de Áudio"
189
+
190
+#: modules/edition.py:266
191
+#, fuzzy
192
+msgid "Audio Codecs"
193
+msgstr "Codec de Áudio"
194
+
195
+#: modules/edition.py:269
196
+#, fuzzy
197
+msgid "Video:"
198
+msgstr "Vídeo"
199
+
200
+#: modules/edition.py:279
201
curlew-0.1.22.3.tar.gz/po/cs.po -> curlew-0.2.1.tar.gz/po/cs.po Changed
201
 
1
@@ -6,7 +6,7 @@
2
 msgstr ""
3
 "Project-Id-Version: \n"
4
 "Report-Msgid-Bugs-To: \n"
5
-"POT-Creation-Date: 2014-04-09 22:18+0200\n"
6
+"POT-Creation-Date: 2016-02-21 22:48+0100\n"
7
 "PO-Revision-Date: 2014-01-04 18:34+0100\n"
8
 "Last-Translator: Pavel Fric <pavelfric@seznam.cz>\n"
9
 "Language-Team: Czech <kde-i18n-doc@kde.org>\n"
10
@@ -17,434 +17,575 @@
11
 "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
12
 "X-Generator: Lokalize 1.5\n"
13
 
14
-#: Curlew/curlew.py:154 Curlew/about.py:29 Curlew/tray.py:30
15
-msgid "Curlew"
16
-msgstr "Curlew"
17
+#: modules/customwidgets.py:50
18
+msgid "Top"
19
+msgstr "Nahoře"
20
 
21
-#: Curlew/curlew.py:172
22
-msgid "Add File"
23
-msgstr "Přidat soubor"
24
+#: modules/customwidgets.py:58
25
+msgid "Bottom"
26
+msgstr "Dole"
27
 
28
-#: Curlew/curlew.py:173
29
-msgid "Add files"
30
-msgstr "Přidat soubory"
31
+#: modules/customwidgets.py:66
32
+msgid "Left"
33
+msgstr "Vlevo"
34
 
35
-#: Curlew/curlew.py:176
36
-msgid "Add Folder"
37
-msgstr "Přidat složku"
38
+#: modules/customwidgets.py:74
39
+msgid "Right"
40
+msgstr "Vpravo"
41
+
42
+#: modules/customwidgets.py:172
43
+msgid "hr"
44
+msgstr "hod"
45
+
46
+#: modules/customwidgets.py:177
47
+msgid "min"
48
+msgstr "min"
49
+
50
+#: modules/customwidgets.py:182 modules/curlew.py:698
51
+msgid "sec"
52
+msgstr "s"
53
+
54
+#: modules/favdialog.py:28 modules/curlew.py:480
55
+msgid "Favorite list"
56
+msgstr "Seznam oblíbených"
57
+
58
+#: modules/favdialog.py:38
59
+msgid "Format"
60
+msgstr "Formát"
61
 
62
-#: Curlew/curlew.py:177
63
-msgid "Add folders"
64
-msgstr "Přidat složky"
65
+#: modules/favdialog.py:55
66
+msgid "Up"
67
+msgstr ""
68
+
69
+#: modules/favdialog.py:61
70
+msgid "Down"
71
+msgstr ""
72
 
73
-#: Curlew/curlew.py:181
74
+#: modules/favdialog.py:67 modules/edition.py:310 modules/curlew.py:2244
75
 msgid "Remove"
76
 msgstr "Odstranit"
77
 
78
-#: Curlew/curlew.py:182
79
-msgid "Remove files"
80
-msgstr "Odstranit soubory"
81
+#: modules/about.py:31 modules/tray.py:30 modules/curlew.py:181
82
+#: modules/curlew.py:251
83
+msgid "Curlew"
84
+msgstr "Curlew"
85
 
86
-#: Curlew/curlew.py:186
87
-msgid "Clear"
88
-msgstr "Vyprázdnit"
89
+#: modules/about.py:35 modules/curlew.py:328
90
+msgid "About Curlew"
91
+msgstr "O programu Curlew"
92
 
93
-#: Curlew/curlew.py:187
94
-msgid "Clear files list"
95
-msgstr "Smazat seznam souborů"
96
+#: modules/about.py:38
97
+msgid "Easy to use Multimedia Converter for Linux"
98
+msgstr "Snadno použitelný převodník multimédií pro Linux"
99
 
100
-#: Curlew/curlew.py:194
101
-msgid "Convert"
102
-msgstr "Převést"
103
+#: modules/about.py:51
104
+msgid "translator-credits"
105
+msgstr "www.fripohled.blogspot.com"
106
 
107
-#: Curlew/curlew.py:195
108
-msgid "Start Conversion"
109
-msgstr "Spustit převod"
110
+#: modules/functions.py:44
111
+msgid " KB"
112
+msgstr " KB"
113
+
114
+#: modules/functions.py:47
115
+msgid " MB"
116
+msgstr " MB"
117
+
118
+#: modules/functions.py:50
119
+msgid " GB"
120
+msgstr " GB"
121
 
122
-#: Curlew/curlew.py:199
123
-msgid "Stop"
124
-msgstr "Zastavit"
125
+#: modules/tray.py:36 modules/tray.py:66
126
+msgid "Hide"
127
+msgstr "Skrýt"
128
 
129
-#: Curlew/curlew.py:200 Curlew/tray.py:40
130
+#: modules/tray.py:40 modules/curlew.py:314
131
 msgid "Stop Conversion"
132
 msgstr "Zastavit převod"
133
 
134
-#: Curlew/curlew.py:207
135
-msgid "File Infos"
136
-msgstr "Informace o souboru"
137
+#: modules/tray.py:44
138
+msgid "Quit application"
139
+msgstr "Ukončit program"
140
 
141
-#: Curlew/curlew.py:208 Curlew/curlew.py:363
142
-msgid "File Informations"
143
+#: modules/tray.py:68
144
+msgid "Show"
145
+msgstr "Ukázat"
146
+
147
+#: modules/logdialog.py:29
148
+msgid "Errors detail"
149
+msgstr "Podrobnosti chyb"
150
+
151
+#: modules/logdialog.py:48
152
+msgid "_Close"
153
+msgstr ""
154
+
155
+#: modules/edition.py:35
156
+msgid "Are you sure you want to save settings?"
157
+msgstr ""
158
+
159
+#: modules/edition.py:107
160
+msgid "You can't restore a custom format to defaults."
161
+msgstr ""
162
+
163
+#: modules/edition.py:202
164
+msgid "Are you sure you want to remove this format?"
165
+msgstr ""
166
+
167
+#: modules/edition.py:249
168
+#, fuzzy
169
+msgid "Audio:"
170
+msgstr "Zvuk"
171
+
172
+#: modules/edition.py:257 modules/edition.py:276
173
+msgid "Default"
174
+msgstr ""
175
+
176
+#: modules/edition.py:260
177
+#, fuzzy
178
+msgid "Audio Bitrates"
179
+msgstr "Datový tok zvuku"
180
+
181
+#: modules/edition.py:262
182
+#, fuzzy
183
+msgid "Audio Frequencies"
184
+msgstr "Kmitočet zvuku"
185
+
186
+#: modules/edition.py:264 modules/curlew.py:551
187
+msgid "Audio Channels"
188
+msgstr "Zvukové kanály"
189
+
190
+#: modules/edition.py:266
191
+#, fuzzy
192
+msgid "Audio Codecs"
193
+msgstr "Zvukový kodek"
194
+
195
+#: modules/edition.py:269
196
+#, fuzzy
197
+msgid "Video:"
198
+msgstr "Video"
199
+
200
+#: modules/edition.py:279
201
curlew-0.1.22.3.tar.gz/po/curlew.pot -> curlew-0.2.1.tar.gz/po/curlew.pot Changed
201
 
1
@@ -8,7 +8,7 @@
2
 msgstr ""
3
 "Project-Id-Version: PACKAGE VERSION\n"
4
 "Report-Msgid-Bugs-To: \n"
5
-"POT-Creation-Date: 2014-04-09 22:18+0200\n"
6
+"POT-Creation-Date: 2016-02-21 22:48+0100\n"
7
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
8
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
9
 "Language-Team: LANGUAGE <LL@li.org>\n"
10
@@ -17,562 +17,622 @@
11
 "Content-Type: text/plain; charset=CHARSET\n"
12
 "Content-Transfer-Encoding: 8bit\n"
13
 
14
-#: Curlew/curlew.py:154 Curlew/about.py:29 Curlew/tray.py:30
15
-msgid "Curlew"
16
+#: modules/customwidgets.py:50
17
+msgid "Top"
18
+msgstr ""
19
+
20
+#: modules/customwidgets.py:58
21
+msgid "Bottom"
22
 msgstr ""
23
 
24
-#: Curlew/curlew.py:172
25
-msgid "Add File"
26
+#: modules/customwidgets.py:66
27
+msgid "Left"
28
 msgstr ""
29
 
30
-#: Curlew/curlew.py:173
31
-msgid "Add files"
32
+#: modules/customwidgets.py:74
33
+msgid "Right"
34
 msgstr ""
35
 
36
-#: Curlew/curlew.py:176
37
-msgid "Add Folder"
38
+#: modules/customwidgets.py:172
39
+msgid "hr"
40
 msgstr ""
41
 
42
-#: Curlew/curlew.py:177
43
-msgid "Add folders"
44
+#: modules/customwidgets.py:177
45
+msgid "min"
46
+msgstr ""
47
+
48
+#: modules/customwidgets.py:182 modules/curlew.py:698
49
+msgid "sec"
50
+msgstr ""
51
+
52
+#: modules/favdialog.py:28 modules/curlew.py:480
53
+msgid "Favorite list"
54
 msgstr ""
55
 
56
-#: Curlew/curlew.py:181
57
+#: modules/favdialog.py:38
58
+msgid "Format"
59
+msgstr ""
60
+
61
+#: modules/favdialog.py:55
62
+msgid "Up"
63
+msgstr ""
64
+
65
+#: modules/favdialog.py:61
66
+msgid "Down"
67
+msgstr ""
68
+
69
+#: modules/favdialog.py:67 modules/edition.py:310 modules/curlew.py:2244
70
 msgid "Remove"
71
 msgstr ""
72
 
73
-#: Curlew/curlew.py:182
74
-msgid "Remove files"
75
+#: modules/about.py:31 modules/tray.py:30 modules/curlew.py:181
76
+#: modules/curlew.py:251
77
+msgid "Curlew"
78
 msgstr ""
79
 
80
-#: Curlew/curlew.py:186
81
-msgid "Clear"
82
+#: modules/about.py:35 modules/curlew.py:328
83
+msgid "About Curlew"
84
 msgstr ""
85
 
86
-#: Curlew/curlew.py:187
87
-msgid "Clear files list"
88
+#: modules/about.py:38
89
+msgid "Easy to use Multimedia Converter for Linux"
90
 msgstr ""
91
 
92
-#: Curlew/curlew.py:194
93
-msgid "Convert"
94
+#: modules/about.py:51
95
+msgid "translator-credits"
96
 msgstr ""
97
 
98
-#: Curlew/curlew.py:195
99
-msgid "Start Conversion"
100
+#: modules/functions.py:44
101
+msgid " KB"
102
+msgstr ""
103
+
104
+#: modules/functions.py:47
105
+msgid " MB"
106
+msgstr ""
107
+
108
+#: modules/functions.py:50
109
+msgid " GB"
110
 msgstr ""
111
 
112
-#: Curlew/curlew.py:199
113
-msgid "Stop"
114
+#: modules/tray.py:36 modules/tray.py:66
115
+msgid "Hide"
116
 msgstr ""
117
 
118
-#: Curlew/curlew.py:200 Curlew/tray.py:40
119
+#: modules/tray.py:40 modules/curlew.py:314
120
 msgid "Stop Conversion"
121
 msgstr ""
122
 
123
-#: Curlew/curlew.py:207
124
-msgid "File Infos"
125
+#: modules/tray.py:44
126
+msgid "Quit application"
127
 msgstr ""
128
 
129
-#: Curlew/curlew.py:208 Curlew/curlew.py:363
130
-msgid "File Informations"
131
+#: modules/tray.py:68
132
+msgid "Show"
133
 msgstr ""
134
 
135
-#: Curlew/curlew.py:212
136
-msgid "About"
137
+#: modules/logdialog.py:29
138
+msgid "Errors detail"
139
 msgstr ""
140
 
141
-#: Curlew/curlew.py:213 Curlew/about.py:33
142
-msgid "About Curlew"
143
+#: modules/logdialog.py:48
144
+msgid "_Close"
145
+msgstr ""
146
+
147
+#: modules/edition.py:35
148
+msgid "Are you sure you want to save settings?"
149
+msgstr ""
150
+
151
+#: modules/edition.py:107
152
+msgid "You can't restore a custom format to defaults."
153
+msgstr ""
154
+
155
+#: modules/edition.py:202
156
+msgid "Are you sure you want to remove this format?"
157
+msgstr ""
158
+
159
+#: modules/edition.py:249
160
+msgid "Audio:"
161
+msgstr ""
162
+
163
+#: modules/edition.py:257 modules/edition.py:276
164
+msgid "Default"
165
+msgstr ""
166
+
167
+#: modules/edition.py:260
168
+msgid "Audio Bitrates"
169
+msgstr ""
170
+
171
+#: modules/edition.py:262
172
+msgid "Audio Frequencies"
173
+msgstr ""
174
+
175
+#: modules/edition.py:264 modules/curlew.py:551
176
+msgid "Audio Channels"
177
 msgstr ""
178
 
179
-#: Curlew/curlew.py:220
180
+#: modules/edition.py:266
181
+msgid "Audio Codecs"
182
+msgstr ""
183
+
184
+#: modules/edition.py:269
185
+msgid "Video:"
186
+msgstr ""
187
+
188
+#: modules/edition.py:279
189
+msgid "Video Bitrates"
190
+msgstr ""
191
+
192
+#: modules/edition.py:281 modules/curlew.py:591
193
+msgid "Video FPS"
194
+msgstr ""
195
+
196
+#: modules/edition.py:283
197
+msgid "Video Sizes"
198
+msgstr ""
199
+
200
+#: modules/edition.py:285
201
curlew-0.1.22.3.tar.gz/po/en.po -> curlew-0.2.1.tar.gz/po/en.po Changed
201
 
1
@@ -7,7 +7,7 @@
2
 msgstr ""
3
 "Project-Id-Version: 0.1\n"
4
 "Report-Msgid-Bugs-To: \n"
5
-"POT-Creation-Date: 2014-04-09 22:18+0200\n"
6
+"POT-Creation-Date: 2016-02-21 22:48+0100\n"
7
 "PO-Revision-Date: 2013-03-07 14:21-0000\n"
8
 "Last-Translator: Fayssal Chamekh <chamfay@gmail.com>\n"
9
 "Language-Team: English <chamfay@gmail.com>\n"
10
@@ -18,562 +18,622 @@
11
 "X-Poedit-Language: English\n"
12
 "X-Poedit-SourceCharset: utf-8\n"
13
 
14
-#: Curlew/curlew.py:154 Curlew/about.py:29 Curlew/tray.py:30
15
-msgid "Curlew"
16
+#: modules/customwidgets.py:50
17
+msgid "Top"
18
+msgstr ""
19
+
20
+#: modules/customwidgets.py:58
21
+msgid "Bottom"
22
 msgstr ""
23
 
24
-#: Curlew/curlew.py:172
25
-msgid "Add File"
26
+#: modules/customwidgets.py:66
27
+msgid "Left"
28
 msgstr ""
29
 
30
-#: Curlew/curlew.py:173
31
-msgid "Add files"
32
+#: modules/customwidgets.py:74
33
+msgid "Right"
34
 msgstr ""
35
 
36
-#: Curlew/curlew.py:176
37
-msgid "Add Folder"
38
+#: modules/customwidgets.py:172
39
+msgid "hr"
40
 msgstr ""
41
 
42
-#: Curlew/curlew.py:177
43
-msgid "Add folders"
44
+#: modules/customwidgets.py:177
45
+msgid "min"
46
+msgstr ""
47
+
48
+#: modules/customwidgets.py:182 modules/curlew.py:698
49
+msgid "sec"
50
+msgstr ""
51
+
52
+#: modules/favdialog.py:28 modules/curlew.py:480
53
+msgid "Favorite list"
54
 msgstr ""
55
 
56
-#: Curlew/curlew.py:181
57
+#: modules/favdialog.py:38
58
+msgid "Format"
59
+msgstr ""
60
+
61
+#: modules/favdialog.py:55
62
+msgid "Up"
63
+msgstr ""
64
+
65
+#: modules/favdialog.py:61
66
+msgid "Down"
67
+msgstr ""
68
+
69
+#: modules/favdialog.py:67 modules/edition.py:310 modules/curlew.py:2244
70
 msgid "Remove"
71
 msgstr ""
72
 
73
-#: Curlew/curlew.py:182
74
-msgid "Remove files"
75
+#: modules/about.py:31 modules/tray.py:30 modules/curlew.py:181
76
+#: modules/curlew.py:251
77
+msgid "Curlew"
78
 msgstr ""
79
 
80
-#: Curlew/curlew.py:186
81
-msgid "Clear"
82
+#: modules/about.py:35 modules/curlew.py:328
83
+msgid "About Curlew"
84
 msgstr ""
85
 
86
-#: Curlew/curlew.py:187
87
-msgid "Clear files list"
88
+#: modules/about.py:38
89
+msgid "Easy to use Multimedia Converter for Linux"
90
 msgstr ""
91
 
92
-#: Curlew/curlew.py:194
93
-msgid "Convert"
94
+#: modules/about.py:51
95
+msgid "translator-credits"
96
 msgstr ""
97
 
98
-#: Curlew/curlew.py:195
99
-msgid "Start Conversion"
100
+#: modules/functions.py:44
101
+msgid " KB"
102
+msgstr ""
103
+
104
+#: modules/functions.py:47
105
+msgid " MB"
106
+msgstr ""
107
+
108
+#: modules/functions.py:50
109
+msgid " GB"
110
 msgstr ""
111
 
112
-#: Curlew/curlew.py:199
113
-msgid "Stop"
114
+#: modules/tray.py:36 modules/tray.py:66
115
+msgid "Hide"
116
 msgstr ""
117
 
118
-#: Curlew/curlew.py:200 Curlew/tray.py:40
119
+#: modules/tray.py:40 modules/curlew.py:314
120
 msgid "Stop Conversion"
121
 msgstr ""
122
 
123
-#: Curlew/curlew.py:207
124
-msgid "File Infos"
125
+#: modules/tray.py:44
126
+msgid "Quit application"
127
 msgstr ""
128
 
129
-#: Curlew/curlew.py:208 Curlew/curlew.py:363
130
-msgid "File Informations"
131
+#: modules/tray.py:68
132
+msgid "Show"
133
 msgstr ""
134
 
135
-#: Curlew/curlew.py:212
136
-msgid "About"
137
+#: modules/logdialog.py:29
138
+msgid "Errors detail"
139
 msgstr ""
140
 
141
-#: Curlew/curlew.py:213 Curlew/about.py:33
142
-msgid "About Curlew"
143
+#: modules/logdialog.py:48
144
+msgid "_Close"
145
+msgstr ""
146
+
147
+#: modules/edition.py:35
148
+msgid "Are you sure you want to save settings?"
149
+msgstr ""
150
+
151
+#: modules/edition.py:107
152
+msgid "You can't restore a custom format to defaults."
153
+msgstr ""
154
+
155
+#: modules/edition.py:202
156
+msgid "Are you sure you want to remove this format?"
157
+msgstr ""
158
+
159
+#: modules/edition.py:249
160
+msgid "Audio:"
161
+msgstr ""
162
+
163
+#: modules/edition.py:257 modules/edition.py:276
164
+msgid "Default"
165
+msgstr ""
166
+
167
+#: modules/edition.py:260
168
+msgid "Audio Bitrates"
169
+msgstr ""
170
+
171
+#: modules/edition.py:262
172
+msgid "Audio Frequencies"
173
+msgstr ""
174
+
175
+#: modules/edition.py:264 modules/curlew.py:551
176
+msgid "Audio Channels"
177
 msgstr ""
178
 
179
-#: Curlew/curlew.py:220
180
+#: modules/edition.py:266
181
+msgid "Audio Codecs"
182
+msgstr ""
183
+
184
+#: modules/edition.py:269
185
+msgid "Video:"
186
+msgstr ""
187
+
188
+#: modules/edition.py:279
189
+msgid "Video Bitrates"
190
+msgstr ""
191
+
192
+#: modules/edition.py:281 modules/curlew.py:591
193
+msgid "Video FPS"
194
+msgstr ""
195
+
196
+#: modules/edition.py:283
197
+msgid "Video Sizes"
198
+msgstr ""
199
+
200
+#: modules/edition.py:285
201
curlew-0.1.22.3.tar.gz/po/es.po -> curlew-0.2.1.tar.gz/po/es.po Changed
201
 
1
@@ -7,7 +7,7 @@
2
 msgstr ""
3
 "Project-Id-Version: 0.1\n"
4
 "Report-Msgid-Bugs-To: \n"
5
-"POT-Creation-Date: 2014-04-09 22:18+0200\n"
6
+"POT-Creation-Date: 2016-02-21 22:48+0100\n"
7
 "PO-Revision-Date: 2013-08-12 15:59+0100\n"
8
 "Last-Translator: bernardo miguel savone <bmsavone@gmail.com>\n"
9
 "Language-Team: Spanish <bmsavone@gmail.com>\n"
10
@@ -19,439 +19,579 @@
11
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
12
 "X-Generator: Poedit 1.5.7\n"
13
 
14
-#: Curlew/curlew.py:154 Curlew/about.py:29 Curlew/tray.py:30
15
+#: modules/customwidgets.py:50
16
+msgid "Top"
17
+msgstr "Arriba"
18
+
19
+#: modules/customwidgets.py:58
20
+msgid "Bottom"
21
+msgstr "Abajo"
22
+
23
+#: modules/customwidgets.py:66
24
+msgid "Left"
25
+msgstr "Izquierda"
26
+
27
+#: modules/customwidgets.py:74
28
+msgid "Right"
29
+msgstr "Derecha"
30
+
31
+#: modules/customwidgets.py:172
32
+msgid "hr"
33
+msgstr "horas"
34
+
35
+#: modules/customwidgets.py:177
36
+msgid "min"
37
+msgstr "min"
38
+
39
+#: modules/customwidgets.py:182 modules/curlew.py:698
40
+msgid "sec"
41
+msgstr "seg"
42
+
43
+#: modules/favdialog.py:28 modules/curlew.py:480
44
+msgid "Favorite list"
45
+msgstr "Lista de favoritos"
46
+
47
+#: modules/favdialog.py:38
48
+msgid "Format"
49
+msgstr "Formato"
50
+
51
+#: modules/favdialog.py:55
52
+msgid "Up"
53
+msgstr ""
54
+
55
+#: modules/favdialog.py:61
56
+msgid "Down"
57
+msgstr ""
58
+
59
+#: modules/favdialog.py:67 modules/edition.py:310 modules/curlew.py:2244
60
+msgid "Remove"
61
+msgstr "Remover"
62
+
63
+#: modules/about.py:31 modules/tray.py:30 modules/curlew.py:181
64
+#: modules/curlew.py:251
65
 msgid "Curlew"
66
 msgstr "Curlew"
67
 
68
-#: Curlew/curlew.py:172
69
+#: modules/about.py:35 modules/curlew.py:328
70
+msgid "About Curlew"
71
+msgstr "Acerca de Curlew"
72
+
73
+#: modules/about.py:38
74
+msgid "Easy to use Multimedia Converter for Linux"
75
+msgstr "Convertidor multimedia fácil de usar para Linux"
76
+
77
+#: modules/about.py:51
78
+msgid "translator-credits"
79
+msgstr "bersil <bmsavone@gmail.com>"
80
+
81
+#: modules/functions.py:44
82
+msgid " KB"
83
+msgstr " KB"
84
+
85
+#: modules/functions.py:47
86
+msgid " MB"
87
+msgstr " MB"
88
+
89
+#: modules/functions.py:50
90
+msgid " GB"
91
+msgstr " GB"
92
+
93
+#: modules/tray.py:36 modules/tray.py:66
94
+msgid "Hide"
95
+msgstr "Ocultar"
96
+
97
+#: modules/tray.py:40 modules/curlew.py:314
98
+msgid "Stop Conversion"
99
+msgstr "Detener la Conversión"
100
+
101
+#: modules/tray.py:44
102
+msgid "Quit application"
103
+msgstr "Salir de la aplicación"
104
+
105
+#: modules/tray.py:68
106
+msgid "Show"
107
+msgstr "Mostrar"
108
+
109
+#: modules/logdialog.py:29
110
+msgid "Errors detail"
111
+msgstr "Detalles de error"
112
+
113
+#: modules/logdialog.py:48
114
+msgid "_Close"
115
+msgstr ""
116
+
117
+#: modules/edition.py:35
118
+msgid "Are you sure you want to save settings?"
119
+msgstr ""
120
+
121
+#: modules/edition.py:107
122
+msgid "You can't restore a custom format to defaults."
123
+msgstr ""
124
+
125
+#: modules/edition.py:202
126
+msgid "Are you sure you want to remove this format?"
127
+msgstr ""
128
+
129
+#: modules/edition.py:249
130
 #, fuzzy
131
-msgid "Add File"
132
-msgstr "Agregar archivo"
133
+msgid "Audio:"
134
+msgstr "Audio"
135
 
136
-#: Curlew/curlew.py:173
137
-msgid "Add files"
138
-msgstr "Agregar archivos"
139
+#: modules/edition.py:257 modules/edition.py:276
140
+msgid "Default"
141
+msgstr ""
142
 
143
-#: Curlew/curlew.py:176
144
+#: modules/edition.py:260
145
 #, fuzzy
146
-msgid "Add Folder"
147
-msgstr "Agregar archivo"
148
+msgid "Audio Bitrates"
149
+msgstr "Audio Bitrate"
150
 
151
-#: Curlew/curlew.py:177
152
+#: modules/edition.py:262
153
 #, fuzzy
154
-msgid "Add folders"
155
-msgstr "Agregar archivos"
156
+msgid "Audio Frequencies"
157
+msgstr "Frequencia de audio"
158
 
159
-#: Curlew/curlew.py:181
160
-msgid "Remove"
161
-msgstr "Remover"
162
+#: modules/edition.py:264 modules/curlew.py:551
163
+msgid "Audio Channels"
164
+msgstr "Canales de audio"
165
 
166
-#: Curlew/curlew.py:182
167
-msgid "Remove files"
168
-msgstr "Remover archivos"
169
+#: modules/edition.py:266
170
+#, fuzzy
171
+msgid "Audio Codecs"
172
+msgstr "Codec Audio"
173
 
174
-#: Curlew/curlew.py:186
175
-msgid "Clear"
176
-msgstr "Limpiar"
177
+#: modules/edition.py:269
178
+#, fuzzy
179
+msgid "Video:"
180
+msgstr "Video"
181
 
182
-#: Curlew/curlew.py:187
183
-msgid "Clear files list"
184
-msgstr "Limpiar lista de archivos"
185
+#: modules/edition.py:279
186
+#, fuzzy
187
+msgid "Video Bitrates"
188
+msgstr "tasa de bits Video"
189
 
190
-#: Curlew/curlew.py:194
191
-msgid "Convert"
192
-msgstr "Convertir"
193
+#: modules/edition.py:281 modules/curlew.py:591
194
+msgid "Video FPS"
195
+msgstr "FPS Video"
196
 
197
-#: Curlew/curlew.py:195
198
-msgid "Start Conversion"
199
-msgstr "Iniciar Conversión"
200
+#: modules/edition.py:283
201
curlew-0.1.22.3.tar.gz/po/eu.po -> curlew-0.2.1.tar.gz/po/eu.po Changed
201
 
1
@@ -7,7 +7,7 @@
2
 msgstr ""
3
 "Project-Id-Version: 0.1\n"
4
 "Report-Msgid-Bugs-To: \n"
5
-"POT-Creation-Date: 2014-04-09 22:18+0200\n"
6
+"POT-Creation-Date: 2016-02-21 22:48+0100\n"
7
 "PO-Revision-Date: 2014-01-08 19:07+0100\n"
8
 "Last-Translator: Alexander Gabilondo <alexgabi@irakasle.net>\n"
9
 "Language-Team: BASQUE\n"
10
@@ -17,434 +17,575 @@
11
 "Content-Transfer-Encoding: 8bit\n"
12
 "X-Generator: Poedit 1.5.4\n"
13
 
14
-#: Curlew/curlew.py:154 Curlew/about.py:29 Curlew/tray.py:30
15
-msgid "Curlew"
16
-msgstr "Curlew"
17
+#: modules/customwidgets.py:50
18
+msgid "Top"
19
+msgstr "Goitik"
20
 
21
-#: Curlew/curlew.py:172
22
-msgid "Add File"
23
-msgstr "Gehitu fitxategia"
24
+#: modules/customwidgets.py:58
25
+msgid "Bottom"
26
+msgstr "Behetik"
27
 
28
-#: Curlew/curlew.py:173
29
-msgid "Add files"
30
-msgstr "Gehitu fitxategiak"
31
+#: modules/customwidgets.py:66
32
+msgid "Left"
33
+msgstr "Ezkerretik"
34
 
35
-#: Curlew/curlew.py:176
36
-msgid "Add Folder"
37
-msgstr "Gehitu karpeta"
38
+#: modules/customwidgets.py:74
39
+msgid "Right"
40
+msgstr "Eskuinetik"
41
+
42
+#: modules/customwidgets.py:172
43
+msgid "hr"
44
+msgstr "ordu"
45
 
46
-#: Curlew/curlew.py:177
47
-msgid "Add folders"
48
-msgstr "Gehitu karpetak"
49
+#: modules/customwidgets.py:177
50
+msgid "min"
51
+msgstr "min"
52
+
53
+#: modules/customwidgets.py:182 modules/curlew.py:698
54
+msgid "sec"
55
+msgstr "seg"
56
 
57
-#: Curlew/curlew.py:181
58
+#: modules/favdialog.py:28 modules/curlew.py:480
59
+msgid "Favorite list"
60
+msgstr "Gogokoen zerrenda"
61
+
62
+#: modules/favdialog.py:38
63
+msgid "Format"
64
+msgstr "Formatua"
65
+
66
+#: modules/favdialog.py:55
67
+msgid "Up"
68
+msgstr ""
69
+
70
+#: modules/favdialog.py:61
71
+msgid "Down"
72
+msgstr ""
73
+
74
+#: modules/favdialog.py:67 modules/edition.py:310 modules/curlew.py:2244
75
 msgid "Remove"
76
 msgstr "Kendu"
77
 
78
-#: Curlew/curlew.py:182
79
-msgid "Remove files"
80
-msgstr "Kendu fitxategiak"
81
+#: modules/about.py:31 modules/tray.py:30 modules/curlew.py:181
82
+#: modules/curlew.py:251
83
+msgid "Curlew"
84
+msgstr "Curlew"
85
 
86
-#: Curlew/curlew.py:186
87
-msgid "Clear"
88
-msgstr "Garbitu"
89
+#: modules/about.py:35 modules/curlew.py:328
90
+msgid "About Curlew"
91
+msgstr "Curlew-ri buruz"
92
 
93
-#: Curlew/curlew.py:187
94
-msgid "Clear files list"
95
-msgstr "Garbitu fitxategi-zerrenda"
96
+#: modules/about.py:38
97
+msgid "Easy to use Multimedia Converter for Linux"
98
+msgstr "Multimedia bihurtzaile erraza Linuxerako"
99
+
100
+#: modules/about.py:51
101
+msgid "translator-credits"
102
+msgstr "Itzultzailearen kredituak"
103
 
104
-#: Curlew/curlew.py:194
105
-msgid "Convert"
106
-msgstr "Bihurtu"
107
+#: modules/functions.py:44
108
+msgid " KB"
109
+msgstr " KB"
110
 
111
-#: Curlew/curlew.py:195
112
-msgid "Start Conversion"
113
-msgstr "Hasi bihurketa"
114
+#: modules/functions.py:47
115
+msgid " MB"
116
+msgstr " MB"
117
+
118
+#: modules/functions.py:50
119
+msgid " GB"
120
+msgstr " GB"
121
 
122
-#: Curlew/curlew.py:199
123
-msgid "Stop"
124
-msgstr "Gelditu"
125
+#: modules/tray.py:36 modules/tray.py:66
126
+msgid "Hide"
127
+msgstr "Ezkutatu"
128
 
129
-#: Curlew/curlew.py:200 Curlew/tray.py:40
130
+#: modules/tray.py:40 modules/curlew.py:314
131
 msgid "Stop Conversion"
132
 msgstr "Gelditu bihurketa"
133
 
134
-#: Curlew/curlew.py:207
135
-msgid "File Infos"
136
-msgstr "Fitxategi-info"
137
+#: modules/tray.py:44
138
+msgid "Quit application"
139
+msgstr "Irten aplikaziotik"
140
+
141
+#: modules/tray.py:68
142
+msgid "Show"
143
+msgstr "Erakutsi"
144
 
145
-#: Curlew/curlew.py:208 Curlew/curlew.py:363
146
-msgid "File Informations"
147
+#: modules/logdialog.py:29
148
+msgid "Errors detail"
149
+msgstr "Errorearen xehetasunak"
150
+
151
+#: modules/logdialog.py:48
152
+msgid "_Close"
153
+msgstr ""
154
+
155
+#: modules/edition.py:35
156
+msgid "Are you sure you want to save settings?"
157
+msgstr ""
158
+
159
+#: modules/edition.py:107
160
+msgid "You can't restore a custom format to defaults."
161
+msgstr ""
162
+
163
+#: modules/edition.py:202
164
+msgid "Are you sure you want to remove this format?"
165
+msgstr ""
166
+
167
+#: modules/edition.py:249
168
+#, fuzzy
169
+msgid "Audio:"
170
+msgstr "Audio"
171
+
172
+#: modules/edition.py:257 modules/edition.py:276
173
+msgid "Default"
174
+msgstr ""
175
+
176
+#: modules/edition.py:260
177
+#, fuzzy
178
+msgid "Audio Bitrates"
179
+msgstr "Audio bit-tasa"
180
+
181
+#: modules/edition.py:262
182
+#, fuzzy
183
+msgid "Audio Frequencies"
184
+msgstr "Audio-maiztasuna"
185
+
186
+#: modules/edition.py:264 modules/curlew.py:551
187
+msgid "Audio Channels"
188
+msgstr "Audio-kanalak"
189
+
190
+#: modules/edition.py:266
191
+#, fuzzy
192
+msgid "Audio Codecs"
193
+msgstr "Audio-kodeka"
194
+
195
+#: modules/edition.py:269
196
+#, fuzzy
197
+msgid "Video:"
198
+msgstr "Bideoa"
199
+
200
+#: modules/edition.py:279
201
curlew-0.1.22.3.tar.gz/po/fr.po -> curlew-0.2.1.tar.gz/po/fr.po Changed
201
 
1
@@ -7,445 +7,575 @@
2
 msgstr ""
3
 "Project-Id-Version: 0.1\n"
4
 "Report-Msgid-Bugs-To: \n"
5
-"POT-Creation-Date: 2014-04-09 22:18+0200\n"
6
-"PO-Revision-Date: 2014-01-02 15:04+0100\n"
7
-"Last-Translator: Fayssal Chamekh <chamfay@gmail.com>\n"
8
+"POT-Creation-Date: 2016-02-21 22:48+0100\n"
9
+"PO-Revision-Date: 2016-02-10 22:55+0100\n"
10
+"Last-Translator: Faissal Chamekh <chamfay@gmail.com>\n"
11
 "Language-Team: Fayssal Chamekh <chamfay@gmail.com>\n"
12
 "Language: fr_FR\n"
13
 "MIME-Version: 1.0\n"
14
 "Content-Type: text/plain; charset=UTF-8\n"
15
 "Content-Transfer-Encoding: 8bit\n"
16
 "X-Poedit-SourceCharset: utf-8\n"
17
-"X-Generator: Poedit 1.5.4\n"
18
+"X-Generator: Poedit 1.8.4\n"
19
 
20
-#: Curlew/curlew.py:154 Curlew/about.py:29 Curlew/tray.py:30
21
-msgid "Curlew"
22
-msgstr "Curlew"
23
+#: modules/customwidgets.py:50
24
+msgid "Top"
25
+msgstr "Haut"
26
 
27
-#: Curlew/curlew.py:172
28
-msgid "Add File"
29
-msgstr "Ajouter fichier"
30
+#: modules/customwidgets.py:58
31
+msgid "Bottom"
32
+msgstr "Bas"
33
 
34
-#: Curlew/curlew.py:173
35
-msgid "Add files"
36
-msgstr "Ajouter fichiers"
37
+#: modules/customwidgets.py:66
38
+msgid "Left"
39
+msgstr "Gauche"
40
 
41
-#: Curlew/curlew.py:176
42
-msgid "Add Folder"
43
-msgstr "Ajouter Dossier"
44
+#: modules/customwidgets.py:74
45
+msgid "Right"
46
+msgstr "Droite"
47
 
48
-#: Curlew/curlew.py:177
49
-msgid "Add folders"
50
-msgstr "Ajouter Dossiers"
51
+#: modules/customwidgets.py:172
52
+msgid "hr"
53
+msgstr "hr"
54
 
55
-#: Curlew/curlew.py:181
56
+#: modules/customwidgets.py:177
57
+msgid "min"
58
+msgstr "min"
59
+
60
+#: modules/customwidgets.py:182 modules/curlew.py:698
61
+msgid "sec"
62
+msgstr "sec"
63
+
64
+#: modules/favdialog.py:28 modules/curlew.py:480
65
+msgid "Favorite list"
66
+msgstr "Liste des favoris"
67
+
68
+#: modules/favdialog.py:38
69
+msgid "Format"
70
+msgstr "Format"
71
+
72
+#: modules/favdialog.py:55
73
+msgid "Up"
74
+msgstr ""
75
+
76
+#: modules/favdialog.py:61
77
+msgid "Down"
78
+msgstr ""
79
+
80
+#: modules/favdialog.py:67 modules/edition.py:310 modules/curlew.py:2244
81
 msgid "Remove"
82
 msgstr "Supprimer"
83
 
84
-#: Curlew/curlew.py:182
85
-msgid "Remove files"
86
-msgstr "Supprimer fichiers"
87
+#: modules/about.py:31 modules/tray.py:30 modules/curlew.py:181
88
+#: modules/curlew.py:251
89
+msgid "Curlew"
90
+msgstr "Curlew"
91
+
92
+#: modules/about.py:35 modules/curlew.py:328
93
+msgid "About Curlew"
94
+msgstr "A propos de Curlew"
95
+
96
+#: modules/about.py:38
97
+msgid "Easy to use Multimedia Converter for Linux"
98
+msgstr "Un Convertisseur Multimédia simple à utiliser sous Linux"
99
 
100
-#: Curlew/curlew.py:186
101
-msgid "Clear"
102
-msgstr "Effacer"
103
+#: modules/about.py:51
104
+msgid "translator-credits"
105
+msgstr "Fayssal Chamekh <chamfay@gmail.com>"
106
 
107
-#: Curlew/curlew.py:187
108
-msgid "Clear files list"
109
-msgstr "Effacer la liste"
110
+#: modules/functions.py:44
111
+msgid " KB"
112
+msgstr " KB"
113
 
114
-#: Curlew/curlew.py:194
115
-msgid "Convert"
116
-msgstr "Convertir"
117
+#: modules/functions.py:47
118
+msgid " MB"
119
+msgstr " MB"
120
 
121
-#: Curlew/curlew.py:195
122
-msgid "Start Conversion"
123
-msgstr "Démarrer la conversion"
124
+#: modules/functions.py:50
125
+msgid " GB"
126
+msgstr " GB"
127
 
128
-#: Curlew/curlew.py:199
129
-msgid "Stop"
130
-msgstr "Arrêter"
131
+#: modules/tray.py:36 modules/tray.py:66
132
+msgid "Hide"
133
+msgstr "Cacher"
134
 
135
-#: Curlew/curlew.py:200 Curlew/tray.py:40
136
+#: modules/tray.py:40 modules/curlew.py:314
137
 msgid "Stop Conversion"
138
 msgstr "Arrêter la conversion"
139
 
140
-#: Curlew/curlew.py:207
141
-msgid "File Infos"
142
-msgstr "Infos du fichier"
143
+#: modules/tray.py:44
144
+msgid "Quit application"
145
+msgstr "Quiter l'application"
146
 
147
-#: Curlew/curlew.py:208 Curlew/curlew.py:363
148
-msgid "File Informations"
149
+#: modules/tray.py:68
150
+msgid "Show"
151
+msgstr "Afficher"
152
+
153
+#: modules/logdialog.py:29
154
+msgid "Errors detail"
155
+msgstr "Détail des erreurs"
156
+
157
+#: modules/logdialog.py:48
158
+msgid "_Close"
159
+msgstr "_Fermer"
160
+
161
+#: modules/edition.py:35
162
+msgid "Are you sure you want to save settings?"
163
+msgstr ""
164
+
165
+#: modules/edition.py:107
166
+msgid "You can't restore a custom format to defaults."
167
+msgstr ""
168
+
169
+#: modules/edition.py:202
170
+msgid "Are you sure you want to remove this format?"
171
+msgstr ""
172
+
173
+#: modules/edition.py:249
174
+#, fuzzy
175
+msgid "Audio:"
176
+msgstr "Audio"
177
+
178
+#: modules/edition.py:257 modules/edition.py:276
179
+msgid "Default"
180
+msgstr ""
181
+
182
+#: modules/edition.py:260
183
+#, fuzzy
184
+msgid "Audio Bitrates"
185
+msgstr "Bitrate Audio"
186
+
187
+#: modules/edition.py:262
188
+#, fuzzy
189
+msgid "Audio Frequencies"
190
+msgstr "Fréquence Audio"
191
+
192
+#: modules/edition.py:264 modules/curlew.py:551
193
+msgid "Audio Channels"
194
+msgstr "Canaux Audio"
195
+
196
+#: modules/edition.py:266
197
+#, fuzzy
198
+msgid "Audio Codecs"
199
+msgstr "Codec Audio"
200
+
201
curlew-0.1.22.3.tar.gz/po/it.po -> curlew-0.2.1.tar.gz/po/it.po Changed
201
 
1
@@ -7,7 +7,7 @@
2
 msgstr ""
3
 "Project-Id-Version: 0.1\n"
4
 "Report-Msgid-Bugs-To: \n"
5
-"POT-Creation-Date: 2014-04-09 22:18+0200\n"
6
+"POT-Creation-Date: 2016-02-21 22:48+0100\n"
7
 "PO-Revision-Date: 2013-08-12 15:58+0100\n"
8
 "Last-Translator: bernardo miguel savone <bmsavone@gmail.com>\n"
9
 "Language-Team: Italian <bmsavone@gmail.com>\n"
10
@@ -19,439 +19,579 @@
11
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
12
 "X-Generator: Poedit 1.5.7\n"
13
 
14
-#: Curlew/curlew.py:154 Curlew/about.py:29 Curlew/tray.py:30
15
+#: modules/customwidgets.py:50
16
+msgid "Top"
17
+msgstr "Sopra"
18
+
19
+#: modules/customwidgets.py:58
20
+msgid "Bottom"
21
+msgstr "Sotto"
22
+
23
+#: modules/customwidgets.py:66
24
+msgid "Left"
25
+msgstr "Sinistra"
26
+
27
+#: modules/customwidgets.py:74
28
+msgid "Right"
29
+msgstr "Destra"
30
+
31
+#: modules/customwidgets.py:172
32
+msgid "hr"
33
+msgstr "Ora"
34
+
35
+#: modules/customwidgets.py:177
36
+msgid "min"
37
+msgstr "min"
38
+
39
+#: modules/customwidgets.py:182 modules/curlew.py:698
40
+msgid "sec"
41
+msgstr "sec"
42
+
43
+#: modules/favdialog.py:28 modules/curlew.py:480
44
+msgid "Favorite list"
45
+msgstr "Lista dei preferiti"
46
+
47
+#: modules/favdialog.py:38
48
+msgid "Format"
49
+msgstr "Formato"
50
+
51
+#: modules/favdialog.py:55
52
+msgid "Up"
53
+msgstr ""
54
+
55
+#: modules/favdialog.py:61
56
+msgid "Down"
57
+msgstr ""
58
+
59
+#: modules/favdialog.py:67 modules/edition.py:310 modules/curlew.py:2244
60
+msgid "Remove"
61
+msgstr "Rimuovi"
62
+
63
+#: modules/about.py:31 modules/tray.py:30 modules/curlew.py:181
64
+#: modules/curlew.py:251
65
 msgid "Curlew"
66
 msgstr "Curlew"
67
 
68
-#: Curlew/curlew.py:172
69
+#: modules/about.py:35 modules/curlew.py:328
70
+msgid "About Curlew"
71
+msgstr "Info su Curlew"
72
+
73
+#: modules/about.py:38
74
+msgid "Easy to use Multimedia Converter for Linux"
75
+msgstr "Convertitore multimediale per Linux facile da usare"
76
+
77
+#: modules/about.py:51
78
+msgid "translator-credits"
79
+msgstr "bersil <bmsavone@gmail.com>"
80
+
81
+#: modules/functions.py:44
82
+msgid " KB"
83
+msgstr " KB"
84
+
85
+#: modules/functions.py:47
86
+msgid " MB"
87
+msgstr " MB"
88
+
89
+#: modules/functions.py:50
90
+msgid " GB"
91
+msgstr " GB"
92
+
93
+#: modules/tray.py:36 modules/tray.py:66
94
+msgid "Hide"
95
+msgstr "Nascondi"
96
+
97
+#: modules/tray.py:40 modules/curlew.py:314
98
+msgid "Stop Conversion"
99
+msgstr "Ferma Conversione"
100
+
101
+#: modules/tray.py:44
102
+msgid "Quit application"
103
+msgstr "Chiudi l'applicazione"
104
+
105
+#: modules/tray.py:68
106
+msgid "Show"
107
+msgstr "Mostra"
108
+
109
+#: modules/logdialog.py:29
110
+msgid "Errors detail"
111
+msgstr "Dettagli del errore"
112
+
113
+#: modules/logdialog.py:48
114
+msgid "_Close"
115
+msgstr ""
116
+
117
+#: modules/edition.py:35
118
+msgid "Are you sure you want to save settings?"
119
+msgstr ""
120
+
121
+#: modules/edition.py:107
122
+msgid "You can't restore a custom format to defaults."
123
+msgstr ""
124
+
125
+#: modules/edition.py:202
126
+msgid "Are you sure you want to remove this format?"
127
+msgstr ""
128
+
129
+#: modules/edition.py:249
130
 #, fuzzy
131
-msgid "Add File"
132
-msgstr "Aggiungi file"
133
+msgid "Audio:"
134
+msgstr "Audio"
135
 
136
-#: Curlew/curlew.py:173
137
-msgid "Add files"
138
-msgstr "Aggiungi file"
139
+#: modules/edition.py:257 modules/edition.py:276
140
+msgid "Default"
141
+msgstr ""
142
 
143
-#: Curlew/curlew.py:176
144
+#: modules/edition.py:260
145
 #, fuzzy
146
-msgid "Add Folder"
147
-msgstr "Aggiungi file"
148
+msgid "Audio Bitrates"
149
+msgstr "Audio Bitrate"
150
 
151
-#: Curlew/curlew.py:177
152
+#: modules/edition.py:262
153
 #, fuzzy
154
-msgid "Add folders"
155
-msgstr "Aggiungi file"
156
+msgid "Audio Frequencies"
157
+msgstr "Frequenza audio"
158
 
159
-#: Curlew/curlew.py:181
160
-msgid "Remove"
161
-msgstr "Rimuovi"
162
+#: modules/edition.py:264 modules/curlew.py:551
163
+msgid "Audio Channels"
164
+msgstr "Canali audio"
165
 
166
-#: Curlew/curlew.py:182
167
-msgid "Remove files"
168
-msgstr "Rimuovi file"
169
+#: modules/edition.py:266
170
+#, fuzzy
171
+msgid "Audio Codecs"
172
+msgstr "Codec Audio"
173
 
174
-#: Curlew/curlew.py:186
175
-msgid "Clear"
176
-msgstr "Pulisci"
177
+#: modules/edition.py:269
178
+#, fuzzy
179
+msgid "Video:"
180
+msgstr "Video"
181
 
182
-#: Curlew/curlew.py:187
183
-msgid "Clear files list"
184
-msgstr "Pulisci lista dei file"
185
+#: modules/edition.py:279
186
+#, fuzzy
187
+msgid "Video Bitrates"
188
+msgstr "Video Bitrate"
189
 
190
-#: Curlew/curlew.py:194
191
-msgid "Convert"
192
-msgstr "Converti"
193
+#: modules/edition.py:281 modules/curlew.py:591
194
+msgid "Video FPS"
195
+msgstr "FPS Video"
196
 
197
-#: Curlew/curlew.py:195
198
-msgid "Start Conversion"
199
-msgstr "Avvia Conversione"
200
+#: modules/edition.py:283
201
curlew-0.1.22.3.tar.gz/po/nl.po -> curlew-0.2.1.tar.gz/po/nl.po Changed
201
 
1
@@ -7,7 +7,7 @@
2
 msgstr ""
3
 "Project-Id-Version: 0.1\n"
4
 "Report-Msgid-Bugs-To: \n"
5
-"POT-Creation-Date: 2014-04-09 22:18+0200\n"
6
+"POT-Creation-Date: 2016-02-21 22:48+0100\n"
7
 "PO-Revision-Date: 2013-07-25 07:04-0000\n"
8
 "Last-Translator: Fayssal <chamfay@gmail.com>\n"
9
 "Language-Team:  <chamfay@gmail.com>\n"
10
@@ -18,440 +18,577 @@
11
 "X-Poedit-SourceCharset: utf-8\n"
12
 "X-Generator: Poedit 1.5.4\n"
13
 
14
-#: Curlew/curlew.py:154 Curlew/about.py:29 Curlew/tray.py:30
15
+#: modules/customwidgets.py:50
16
+msgid "Top"
17
+msgstr "Boven"
18
+
19
+#: modules/customwidgets.py:58
20
+msgid "Bottom"
21
+msgstr "Onder"
22
+
23
+#: modules/customwidgets.py:66
24
+msgid "Left"
25
+msgstr "Links"
26
+
27
+#: modules/customwidgets.py:74
28
+msgid "Right"
29
+msgstr "Rechts"
30
+
31
+#: modules/customwidgets.py:172
32
+msgid "hr"
33
+msgstr "uren"
34
+
35
+#: modules/customwidgets.py:177
36
+msgid "min"
37
+msgstr "minuten"
38
+
39
+#: modules/customwidgets.py:182 modules/curlew.py:698
40
+msgid "sec"
41
+msgstr "seconden"
42
+
43
+#: modules/favdialog.py:28 modules/curlew.py:480
44
+msgid "Favorite list"
45
+msgstr "Favorietenlijst"
46
+
47
+#: modules/favdialog.py:38
48
+msgid "Format"
49
+msgstr "Formaat"
50
+
51
+#: modules/favdialog.py:55
52
+msgid "Up"
53
+msgstr ""
54
+
55
+#: modules/favdialog.py:61
56
+msgid "Down"
57
+msgstr ""
58
+
59
+#: modules/favdialog.py:67 modules/edition.py:310 modules/curlew.py:2244
60
+msgid "Remove"
61
+msgstr "Verwijderen"
62
+
63
+#: modules/about.py:31 modules/tray.py:30 modules/curlew.py:181
64
+#: modules/curlew.py:251
65
 msgid "Curlew"
66
 msgstr "Curlew"
67
 
68
-#: Curlew/curlew.py:172
69
+#: modules/about.py:35 modules/curlew.py:328
70
+msgid "About Curlew"
71
+msgstr "Over Curlew"
72
+
73
+#: modules/about.py:38
74
+msgid "Easy to use Multimedia Converter for Linux"
75
+msgstr "Eenvoudig multimediabestanden omzetten in Linux"
76
+
77
+#: modules/about.py:51
78
+msgid "translator-credits"
79
+msgstr "JohnV "
80
+
81
+#: modules/functions.py:44
82
+msgid " KB"
83
+msgstr ""
84
+
85
+#: modules/functions.py:47
86
+msgid " MB"
87
+msgstr ""
88
+
89
+#: modules/functions.py:50
90
+msgid " GB"
91
+msgstr ""
92
+
93
+#: modules/tray.py:36 modules/tray.py:66
94
+msgid "Hide"
95
+msgstr "Verbergen"
96
+
97
+#: modules/tray.py:40 modules/curlew.py:314
98
+msgid "Stop Conversion"
99
+msgstr "Conversie stoppen"
100
+
101
+#: modules/tray.py:44
102
+msgid "Quit application"
103
+msgstr "Toepassing beëindigen"
104
+
105
+#: modules/tray.py:68
106
+msgid "Show"
107
+msgstr "Tonen"
108
+
109
+#: modules/logdialog.py:29
110
+msgid "Errors detail"
111
+msgstr "Foutdetails"
112
+
113
+#: modules/logdialog.py:48
114
+msgid "_Close"
115
+msgstr ""
116
+
117
+#: modules/edition.py:35
118
+msgid "Are you sure you want to save settings?"
119
+msgstr ""
120
+
121
+#: modules/edition.py:107
122
+msgid "You can't restore a custom format to defaults."
123
+msgstr ""
124
+
125
+#: modules/edition.py:202
126
+msgid "Are you sure you want to remove this format?"
127
+msgstr ""
128
+
129
+#: modules/edition.py:249
130
 #, fuzzy
131
-msgid "Add File"
132
-msgstr "Bestand toevoegen"
133
+msgid "Audio:"
134
+msgstr "Audio"
135
 
136
-#: Curlew/curlew.py:173
137
-msgid "Add files"
138
-msgstr "Bestanden toevoegen"
139
+#: modules/edition.py:257 modules/edition.py:276
140
+msgid "Default"
141
+msgstr ""
142
 
143
-#: Curlew/curlew.py:176
144
+#: modules/edition.py:260
145
 #, fuzzy
146
-msgid "Add Folder"
147
-msgstr "Bestand toevoegen"
148
+msgid "Audio Bitrates"
149
+msgstr "Audiocompressie"
150
 
151
-#: Curlew/curlew.py:177
152
+#: modules/edition.py:262
153
 #, fuzzy
154
-msgid "Add folders"
155
-msgstr "Bestanden toevoegen"
156
+msgid "Audio Frequencies"
157
+msgstr "Audiofrequentie"
158
 
159
-#: Curlew/curlew.py:181
160
-msgid "Remove"
161
-msgstr "Verwijderen"
162
+#: modules/edition.py:264 modules/curlew.py:551
163
+msgid "Audio Channels"
164
+msgstr "Audiokanalen"
165
 
166
-#: Curlew/curlew.py:182
167
-msgid "Remove files"
168
-msgstr "Bestanden verwijderen"
169
+#: modules/edition.py:266
170
+#, fuzzy
171
+msgid "Audio Codecs"
172
+msgstr "Audiocodec"
173
 
174
-#: Curlew/curlew.py:186
175
-msgid "Clear"
176
-msgstr "Wissen"
177
+#: modules/edition.py:269
178
+#, fuzzy
179
+msgid "Video:"
180
+msgstr "Video"
181
 
182
-#: Curlew/curlew.py:187
183
-msgid "Clear files list"
184
-msgstr "Bestandenlijst wissen"
185
+#: modules/edition.py:279
186
+#, fuzzy
187
+msgid "Video Bitrates"
188
+msgstr "Videocompressie"
189
 
190
-#: Curlew/curlew.py:194
191
-msgid "Convert"
192
-msgstr "Converteren"
193
+#: modules/edition.py:281 modules/curlew.py:591
194
+msgid "Video FPS"
195
+msgstr "Videobeelden per seconde"
196
 
197
-#: Curlew/curlew.py:195
198
-msgid "Start Conversion"
199
-msgstr "Conversie starten"
200
+#: modules/edition.py:283
201
curlew-0.1.22.3.tar.gz/po/pl.po -> curlew-0.2.1.tar.gz/po/pl.po Changed
201
 
1
@@ -6,7 +6,7 @@
2
 msgstr ""
3
 "Project-Id-Version: \n"
4
 "Report-Msgid-Bugs-To: \n"
5
-"POT-Creation-Date: 2014-04-09 22:18+0200\n"
6
+"POT-Creation-Date: 2016-02-21 22:48+0100\n"
7
 "PO-Revision-Date: 2014-01-27 15:11+0100\n"
8
 "Last-Translator: Daniel Napora <napcok@gmail.com>\n"
9
 "Language-Team: Polish <kde-i18n-doc@kde.org>\n"
10
@@ -18,433 +18,574 @@
11
 "|| n%100>=20) ? 1 : 2);\n"
12
 "X-Generator: Lokalize 1.5\n"
13
 
14
-#: Curlew/curlew.py:154 Curlew/about.py:29 Curlew/tray.py:30
15
-msgid "Curlew"
16
-msgstr "Curlew"
17
+#: modules/customwidgets.py:50
18
+msgid "Top"
19
+msgstr "Góra"
20
 
21
-#: Curlew/curlew.py:172
22
-msgid "Add File"
23
-msgstr "Dodaj plik"
24
+#: modules/customwidgets.py:58
25
+msgid "Bottom"
26
+msgstr "Dół"
27
+
28
+#: modules/customwidgets.py:66
29
+msgid "Left"
30
+msgstr "Lewo"
31
 
32
-#: Curlew/curlew.py:173
33
-msgid "Add files"
34
-msgstr "Dodaj pliki"
35
+#: modules/customwidgets.py:74
36
+msgid "Right"
37
+msgstr "Prawo"
38
 
39
-#: Curlew/curlew.py:176
40
-msgid "Add Folder"
41
-msgstr "Dodaj katalog"
42
+#: modules/customwidgets.py:172
43
+msgid "hr"
44
+msgstr "h"
45
 
46
-#: Curlew/curlew.py:177
47
-msgid "Add folders"
48
-msgstr "Dodaj katalogi"
49
+#: modules/customwidgets.py:177
50
+msgid "min"
51
+msgstr "min"
52
 
53
-#: Curlew/curlew.py:181
54
+#: modules/customwidgets.py:182 modules/curlew.py:698
55
+msgid "sec"
56
+msgstr "sek"
57
+
58
+#: modules/favdialog.py:28 modules/curlew.py:480
59
+msgid "Favorite list"
60
+msgstr "Lista ulubionych"
61
+
62
+#: modules/favdialog.py:38
63
+msgid "Format"
64
+msgstr "Format"
65
+
66
+#: modules/favdialog.py:55
67
+msgid "Up"
68
+msgstr ""
69
+
70
+#: modules/favdialog.py:61
71
+msgid "Down"
72
+msgstr ""
73
+
74
+#: modules/favdialog.py:67 modules/edition.py:310 modules/curlew.py:2244
75
 msgid "Remove"
76
 msgstr "Usuń"
77
 
78
-#: Curlew/curlew.py:182
79
-msgid "Remove files"
80
-msgstr "Usuń pliki"
81
+#: modules/about.py:31 modules/tray.py:30 modules/curlew.py:181
82
+#: modules/curlew.py:251
83
+msgid "Curlew"
84
+msgstr "Curlew"
85
+
86
+#: modules/about.py:35 modules/curlew.py:328
87
+msgid "About Curlew"
88
+msgstr "O programie Curlew"
89
 
90
-#: Curlew/curlew.py:186
91
-msgid "Clear"
92
-msgstr "Wyczyść"
93
+#: modules/about.py:38
94
+msgid "Easy to use Multimedia Converter for Linux"
95
+msgstr "Łatwy w użyciu konwerter multimedialny dla Linuksa"
96
 
97
-#: Curlew/curlew.py:187
98
-msgid "Clear files list"
99
-msgstr "Wyczyść listę plików"
100
+#: modules/about.py:51
101
+msgid "translator-credits"
102
+msgstr "Daniel Napora <napcok@gmail.com>"
103
 
104
-#: Curlew/curlew.py:194
105
-msgid "Convert"
106
-msgstr "Konwertuj"
107
+#: modules/functions.py:44
108
+msgid " KB"
109
+msgstr " KB"
110
 
111
-#: Curlew/curlew.py:195
112
-msgid "Start Conversion"
113
-msgstr "Rozpocznij konwertowanie"
114
+#: modules/functions.py:47
115
+msgid " MB"
116
+msgstr " MB"
117
 
118
-#: Curlew/curlew.py:199
119
-msgid "Stop"
120
-msgstr "Stop"
121
+#: modules/functions.py:50
122
+msgid " GB"
123
+msgstr " GB"
124
 
125
-#: Curlew/curlew.py:200 Curlew/tray.py:40
126
+#: modules/tray.py:36 modules/tray.py:66
127
+msgid "Hide"
128
+msgstr "Ukryj"
129
+
130
+#: modules/tray.py:40 modules/curlew.py:314
131
 msgid "Stop Conversion"
132
 msgstr "Zatrzymaj konwertowanie"
133
 
134
-#: Curlew/curlew.py:207
135
-msgid "File Infos"
136
-msgstr "Informacje o pliku"
137
+#: modules/tray.py:44
138
+msgid "Quit application"
139
+msgstr "Zakończ"
140
 
141
-#: Curlew/curlew.py:208 Curlew/curlew.py:363
142
-msgid "File Informations"
143
+#: modules/tray.py:68
144
+msgid "Show"
145
+msgstr "Pokaż"
146
+
147
+#: modules/logdialog.py:29
148
+msgid "Errors detail"
149
+msgstr "Szczegóły błędów"
150
+
151
+#: modules/logdialog.py:48
152
+msgid "_Close"
153
+msgstr ""
154
+
155
+#: modules/edition.py:35
156
+msgid "Are you sure you want to save settings?"
157
+msgstr ""
158
+
159
+#: modules/edition.py:107
160
+msgid "You can't restore a custom format to defaults."
161
+msgstr ""
162
+
163
+#: modules/edition.py:202
164
+msgid "Are you sure you want to remove this format?"
165
+msgstr ""
166
+
167
+#: modules/edition.py:249
168
+#, fuzzy
169
+msgid "Audio:"
170
+msgstr "Dźwięk"
171
+
172
+#: modules/edition.py:257 modules/edition.py:276
173
+msgid "Default"
174
+msgstr ""
175
+
176
+#: modules/edition.py:260
177
+#, fuzzy
178
+msgid "Audio Bitrates"
179
+msgstr "Bitrate:"
180
+
181
+#: modules/edition.py:262
182
+#, fuzzy
183
+msgid "Audio Frequencies"
184
+msgstr "Częstotliwość"
185
+
186
+#: modules/edition.py:264 modules/curlew.py:551
187
+msgid "Audio Channels"
188
+msgstr "Kanały"
189
+
190
+#: modules/edition.py:266
191
+#, fuzzy
192
+msgid "Audio Codecs"
193
+msgstr "Kodek"
194
+
195
+#: modules/edition.py:269
196
+#, fuzzy
197
+msgid "Video:"
198
+msgstr "Wideo"
199
+
200
+#: modules/edition.py:279
201
curlew-0.1.22.3.tar.gz/po/ru.po -> curlew-0.2.1.tar.gz/po/ru.po Changed
201
 
1
@@ -7,7 +7,7 @@
2
 msgstr ""
3
 "Project-Id-Version: 0.1\n"
4
 "Report-Msgid-Bugs-To: \n"
5
-"POT-Creation-Date: 2014-04-09 22:18+0200\n"
6
+"POT-Creation-Date: 2016-02-21 22:48+0100\n"
7
 "PO-Revision-Date: 2014-02-15 09:42-0000\n"
8
 "Last-Translator: Fayssal Chamekh <chamfay@gmail.com>\n"
9
 "Language-Team: None\n"
10
@@ -18,433 +18,575 @@
11
 "X-Poedit-SourceCharset: utf-8\n"
12
 "X-Generator: Poedit 1.5.4\n"
13
 
14
-#: Curlew/curlew.py:154 Curlew/about.py:29 Curlew/tray.py:30
15
-msgid "Curlew"
16
+#: modules/customwidgets.py:50
17
+msgid "Top"
18
+msgstr "Сверху"
19
+
20
+#: modules/customwidgets.py:58
21
+msgid "Bottom"
22
+msgstr "Снизу"
23
+
24
+#: modules/customwidgets.py:66
25
+msgid "Left"
26
+msgstr "Слева"
27
+
28
+#: modules/customwidgets.py:74
29
+msgid "Right"
30
+msgstr "Справа"
31
+
32
+#: modules/customwidgets.py:172
33
+msgid "hr"
34
 msgstr ""
35
 
36
-#: Curlew/curlew.py:172
37
-msgid "Add File"
38
-msgstr "Добавить файл"
39
+#: modules/customwidgets.py:177
40
+msgid "min"
41
+msgstr "мин"
42
 
43
-#: Curlew/curlew.py:173
44
-msgid "Add files"
45
-msgstr "Добавить файлы"
46
+#: modules/customwidgets.py:182 modules/curlew.py:698
47
+msgid "sec"
48
+msgstr "сек"
49
 
50
-#: Curlew/curlew.py:176
51
-msgid "Add Folder"
52
-msgstr "Добавить папку"
53
+#: modules/favdialog.py:28 modules/curlew.py:480
54
+msgid "Favorite list"
55
+msgstr "Список избранного"
56
 
57
-#: Curlew/curlew.py:177
58
-msgid "Add folders"
59
-msgstr "Добавить папки"
60
+#: modules/favdialog.py:38
61
+msgid "Format"
62
+msgstr "Формат"
63
+
64
+#: modules/favdialog.py:55
65
+msgid "Up"
66
+msgstr ""
67
 
68
-#: Curlew/curlew.py:181
69
+#: modules/favdialog.py:61
70
+msgid "Down"
71
+msgstr ""
72
+
73
+#: modules/favdialog.py:67 modules/edition.py:310 modules/curlew.py:2244
74
 msgid "Remove"
75
 msgstr "Убрать"
76
 
77
-#: Curlew/curlew.py:182
78
-msgid "Remove files"
79
-msgstr "Убрать файлы"
80
+#: modules/about.py:31 modules/tray.py:30 modules/curlew.py:181
81
+#: modules/curlew.py:251
82
+#, fuzzy
83
+msgid "Curlew"
84
+msgstr "О Churlew"
85
 
86
-#: Curlew/curlew.py:186
87
-msgid "Clear"
88
-msgstr "Очистить"
89
+#: modules/about.py:35 modules/curlew.py:328
90
+msgid "About Curlew"
91
+msgstr "О Churlew"
92
 
93
-#: Curlew/curlew.py:187
94
-msgid "Clear files list"
95
-msgstr "Очистить список файлов"
96
+#: modules/about.py:38
97
+msgid "Easy to use Multimedia Converter for Linux"
98
+msgstr "Легкий для использования Мультимедиа Конвертер для GNU/Linux"
99
 
100
-#: Curlew/curlew.py:194
101
-msgid "Convert"
102
-msgstr "Запуск"
103
+#: modules/about.py:51
104
+msgid "translator-credits"
105
+msgstr "о переводчиках"
106
 
107
-#: Curlew/curlew.py:195
108
-msgid "Start Conversion"
109
-msgstr "Запуск конвертации"
110
+#: modules/functions.py:44
111
+msgid " KB"
112
+msgstr " КБ"
113
+
114
+#: modules/functions.py:47
115
+msgid " MB"
116
+msgstr " МБ"
117
 
118
-#: Curlew/curlew.py:199
119
-msgid "Stop"
120
-msgstr "Стоп"
121
+#: modules/functions.py:50
122
+msgid " GB"
123
+msgstr " ГБ"
124
 
125
-#: Curlew/curlew.py:200 Curlew/tray.py:40
126
+#: modules/tray.py:36 modules/tray.py:66
127
+msgid "Hide"
128
+msgstr "Скрыть"
129
+
130
+#: modules/tray.py:40 modules/curlew.py:314
131
 msgid "Stop Conversion"
132
 msgstr "Остановить конвертацию"
133
 
134
-#: Curlew/curlew.py:207
135
-msgid "File Infos"
136
-msgstr "Свойства"
137
+#: modules/tray.py:44
138
+msgid "Quit application"
139
+msgstr "Выйти из программы"
140
 
141
-#: Curlew/curlew.py:208 Curlew/curlew.py:363
142
-msgid "File Informations"
143
+#: modules/tray.py:68
144
+msgid "Show"
145
+msgstr "Показать"
146
+
147
+#: modules/logdialog.py:29
148
+msgid "Errors detail"
149
+msgstr "Подробности ошибки"
150
+
151
+#: modules/logdialog.py:48
152
+msgid "_Close"
153
+msgstr ""
154
+
155
+#: modules/edition.py:35
156
+msgid "Are you sure you want to save settings?"
157
+msgstr ""
158
+
159
+#: modules/edition.py:107
160
+msgid "You can't restore a custom format to defaults."
161
+msgstr ""
162
+
163
+#: modules/edition.py:202
164
+msgid "Are you sure you want to remove this format?"
165
+msgstr ""
166
+
167
+#: modules/edition.py:249
168
+#, fuzzy
169
+msgid "Audio:"
170
+msgstr "Звук"
171
+
172
+#: modules/edition.py:257 modules/edition.py:276
173
+msgid "Default"
174
+msgstr ""
175
+
176
+#: modules/edition.py:260
177
+#, fuzzy
178
+msgid "Audio Bitrates"
179
+msgstr "Скорость потока"
180
+
181
+#: modules/edition.py:262
182
+#, fuzzy
183
+msgid "Audio Frequencies"
184
+msgstr "Частота звука"
185
+
186
+#: modules/edition.py:264 modules/curlew.py:551
187
+msgid "Audio Channels"
188
+msgstr "Звуковые каналы"
189
+
190
+#: modules/edition.py:266
191
+#, fuzzy
192
+msgid "Audio Codecs"
193
+msgstr "Звуковой кодек"
194
+
195
+#: modules/edition.py:269
196
+#, fuzzy
197
+msgid "Video:"
198
+msgstr "Видео"
199
+
200
+#: modules/edition.py:279
201
curlew-0.1.22.3.tar.gz/po/sr.po -> curlew-0.2.1.tar.gz/po/sr.po Changed
201
 
1
@@ -7,7 +7,7 @@
2
 msgstr ""
3
 "Project-Id-Version: 0.1.22\n"
4
 "Report-Msgid-Bugs-To: \n"
5
-"POT-Creation-Date: 2014-04-09 22:18+0200\n"
6
+"POT-Creation-Date: 2016-02-21 22:48+0100\n"
7
 "PO-Revision-Date: 2014-02-24 17:27+0100\n"
8
 "Last-Translator: Ch_Brozović <chajbo@ro.ru>\n"
9
 "Language-Team: LANGUAGE <LL@li.org>\n"
10
@@ -16,433 +16,574 @@
11
 "Content-Type: text/plain; charset=UTF-8\n"
12
 "Content-Transfer-Encoding: 8bit\n"
13
 
14
-#: Curlew/curlew.py:154 Curlew/about.py:29 Curlew/tray.py:30
15
-msgid "Curlew"
16
-msgstr "Curlew"
17
+#: modules/customwidgets.py:50
18
+msgid "Top"
19
+msgstr "На врху"
20
 
21
-#: Curlew/curlew.py:172
22
-msgid "Add File"
23
-msgstr "Додај фајл"
24
+#: modules/customwidgets.py:58
25
+msgid "Bottom"
26
+msgstr "Доле"
27
+
28
+#: modules/customwidgets.py:66
29
+msgid "Left"
30
+msgstr "Лево"
31
 
32
-#: Curlew/curlew.py:173
33
-msgid "Add files"
34
-msgstr "Додај фајлове"
35
+#: modules/customwidgets.py:74
36
+msgid "Right"
37
+msgstr "Десно"
38
 
39
-#: Curlew/curlew.py:176
40
-msgid "Add Folder"
41
-msgstr "Додај фасциклу"
42
+#: modules/customwidgets.py:172
43
+msgid "hr"
44
+msgstr "час"
45
 
46
-#: Curlew/curlew.py:177
47
-msgid "Add folders"
48
-msgstr "Додај фасцикле"
49
+#: modules/customwidgets.py:177
50
+msgid "min"
51
+msgstr "мин"
52
 
53
-#: Curlew/curlew.py:181
54
+#: modules/customwidgets.py:182 modules/curlew.py:698
55
+msgid "sec"
56
+msgstr "сек"
57
+
58
+#: modules/favdialog.py:28 modules/curlew.py:480
59
+msgid "Favorite list"
60
+msgstr "Листа омиљеног"
61
+
62
+#: modules/favdialog.py:38
63
+msgid "Format"
64
+msgstr "Формат"
65
+
66
+#: modules/favdialog.py:55
67
+msgid "Up"
68
+msgstr ""
69
+
70
+#: modules/favdialog.py:61
71
+msgid "Down"
72
+msgstr ""
73
+
74
+#: modules/favdialog.py:67 modules/edition.py:310 modules/curlew.py:2244
75
 msgid "Remove"
76
 msgstr "Уклони"
77
 
78
-#: Curlew/curlew.py:182
79
-msgid "Remove files"
80
-msgstr "Уклоњени фајлови"
81
+#: modules/about.py:31 modules/tray.py:30 modules/curlew.py:181
82
+#: modules/curlew.py:251
83
+msgid "Curlew"
84
+msgstr "Curlew"
85
+
86
+#: modules/about.py:35 modules/curlew.py:328
87
+msgid "About Curlew"
88
+msgstr "О Curlew"
89
 
90
-#: Curlew/curlew.py:186
91
-msgid "Clear"
92
-msgstr "Очисти"
93
+#: modules/about.py:38
94
+msgid "Easy to use Multimedia Converter for Linux"
95
+msgstr "Једноставан конвертер мултимедије за Линукс"
96
 
97
-#: Curlew/curlew.py:187
98
-msgid "Clear files list"
99
-msgstr "Листа очишћених фајлова"
100
+#: modules/about.py:51
101
+msgid "translator-credits"
102
+msgstr "преводиоци"
103
 
104
-#: Curlew/curlew.py:194
105
-msgid "Convert"
106
-msgstr "Конвертуј"
107
+#: modules/functions.py:44
108
+msgid " KB"
109
+msgstr "кб"
110
 
111
-#: Curlew/curlew.py:195
112
-msgid "Start Conversion"
113
-msgstr "Почни конверзију"
114
+#: modules/functions.py:47
115
+msgid " MB"
116
+msgstr "МБ"
117
 
118
-#: Curlew/curlew.py:199
119
-msgid "Stop"
120
-msgstr "Заустави"
121
+#: modules/functions.py:50
122
+msgid " GB"
123
+msgstr "ГБ"
124
 
125
-#: Curlew/curlew.py:200 Curlew/tray.py:40
126
+#: modules/tray.py:36 modules/tray.py:66
127
+msgid "Hide"
128
+msgstr "Сакриј"
129
+
130
+#: modules/tray.py:40 modules/curlew.py:314
131
 msgid "Stop Conversion"
132
 msgstr "Заустави конверзију"
133
 
134
-#: Curlew/curlew.py:207
135
-msgid "File Infos"
136
-msgstr "Информације о фајлу"
137
+#: modules/tray.py:44
138
+msgid "Quit application"
139
+msgstr "Напусти програм"
140
 
141
-#: Curlew/curlew.py:208 Curlew/curlew.py:363
142
-msgid "File Informations"
143
+#: modules/tray.py:68
144
+msgid "Show"
145
+msgstr "Покажи"
146
+
147
+#: modules/logdialog.py:29
148
+msgid "Errors detail"
149
+msgstr "Детаљи грешке"
150
+
151
+#: modules/logdialog.py:48
152
+msgid "_Close"
153
+msgstr ""
154
+
155
+#: modules/edition.py:35
156
+msgid "Are you sure you want to save settings?"
157
+msgstr ""
158
+
159
+#: modules/edition.py:107
160
+msgid "You can't restore a custom format to defaults."
161
+msgstr ""
162
+
163
+#: modules/edition.py:202
164
+msgid "Are you sure you want to remove this format?"
165
+msgstr ""
166
+
167
+#: modules/edition.py:249
168
+#, fuzzy
169
+msgid "Audio:"
170
+msgstr "Звук"
171
+
172
+#: modules/edition.py:257 modules/edition.py:276
173
+msgid "Default"
174
+msgstr ""
175
+
176
+#: modules/edition.py:260
177
+#, fuzzy
178
+msgid "Audio Bitrates"
179
+msgstr "Брзина преноса звука"
180
+
181
+#: modules/edition.py:262
182
+#, fuzzy
183
+msgid "Audio Frequencies"
184
+msgstr "Звучна фреквенција"
185
+
186
+#: modules/edition.py:264 modules/curlew.py:551
187
+msgid "Audio Channels"
188
+msgstr "Звучни канали"
189
+
190
+#: modules/edition.py:266
191
+#, fuzzy
192
+msgid "Audio Codecs"
193
+msgstr "Звучни кодеци"
194
+
195
+#: modules/edition.py:269
196
+#, fuzzy
197
+msgid "Video:"
198
+msgstr "Видео"
199
+
200
+#: modules/edition.py:279
201
curlew-0.1.22.3.tar.gz/po/zh_TW.po -> curlew-0.2.1.tar.gz/po/zh_TW.po Changed
201
 
1
@@ -7,7 +7,7 @@
2
 msgstr ""
3
 "Project-Id-Version: 0.1\n"
4
 "Report-Msgid-Bugs-To: \n"
5
-"POT-Creation-Date: 2014-04-09 22:18+0200\n"
6
+"POT-Creation-Date: 2016-02-21 22:48+0100\n"
7
 "PO-Revision-Date: 2013-09-26 12:58+0800\n"
8
 "Last-Translator: taijuin <taijuin@gmail.com>\n"
9
 "Language-Team: taijuin <taijuin@gmail.com>\n"
10
@@ -18,439 +18,579 @@
11
 "X-Poedit-SourceCharset: UTF-8\n"
12
 "X-Generator: Poedit 1.5.4\n"
13
 
14
-#: Curlew/curlew.py:154 Curlew/about.py:29 Curlew/tray.py:30
15
+#: modules/customwidgets.py:50
16
+msgid "Top"
17
+msgstr "頂端"
18
+
19
+#: modules/customwidgets.py:58
20
+msgid "Bottom"
21
+msgstr "底部"
22
+
23
+#: modules/customwidgets.py:66
24
+msgid "Left"
25
+msgstr "左"
26
+
27
+#: modules/customwidgets.py:74
28
+msgid "Right"
29
+msgstr "右"
30
+
31
+#: modules/customwidgets.py:172
32
+msgid "hr"
33
+msgstr "小時"
34
+
35
+#: modules/customwidgets.py:177
36
+msgid "min"
37
+msgstr "分鐘"
38
+
39
+#: modules/customwidgets.py:182 modules/curlew.py:698
40
+msgid "sec"
41
+msgstr "秒鐘"
42
+
43
+#: modules/favdialog.py:28 modules/curlew.py:480
44
+msgid "Favorite list"
45
+msgstr "收藏清單"
46
+
47
+#: modules/favdialog.py:38
48
+msgid "Format"
49
+msgstr "格式"
50
+
51
+#: modules/favdialog.py:55
52
+msgid "Up"
53
+msgstr ""
54
+
55
+#: modules/favdialog.py:61
56
+msgid "Down"
57
+msgstr ""
58
+
59
+#: modules/favdialog.py:67 modules/edition.py:310 modules/curlew.py:2244
60
+msgid "Remove"
61
+msgstr "移除"
62
+
63
+#: modules/about.py:31 modules/tray.py:30 modules/curlew.py:181
64
+#: modules/curlew.py:251
65
 msgid "Curlew"
66
 msgstr "Curlew"
67
 
68
-#: Curlew/curlew.py:172
69
+#: modules/about.py:35 modules/curlew.py:328
70
+msgid "About Curlew"
71
+msgstr "關於 Curlew"
72
+
73
+#: modules/about.py:38
74
+msgid "Easy to use Multimedia Converter for Linux"
75
+msgstr "適用於Linux,且易於使用之多媒體轉換器"
76
+
77
+#: modules/about.py:51
78
+msgid "translator-credits"
79
+msgstr "翻譯者榮譽榜"
80
+
81
+#: modules/functions.py:44
82
+msgid " KB"
83
+msgstr " KB"
84
+
85
+#: modules/functions.py:47
86
+msgid " MB"
87
+msgstr " MB"
88
+
89
+#: modules/functions.py:50
90
+msgid " GB"
91
+msgstr " GB"
92
+
93
+#: modules/tray.py:36 modules/tray.py:66
94
+msgid "Hide"
95
+msgstr "隱藏"
96
+
97
+#: modules/tray.py:40 modules/curlew.py:314
98
+msgid "Stop Conversion"
99
+msgstr "停止轉換"
100
+
101
+#: modules/tray.py:44
102
+msgid "Quit application"
103
+msgstr "結束應用程式"
104
+
105
+#: modules/tray.py:68
106
+msgid "Show"
107
+msgstr "顯示"
108
+
109
+#: modules/logdialog.py:29
110
+msgid "Errors detail"
111
+msgstr "錯誤細節"
112
+
113
+#: modules/logdialog.py:48
114
+msgid "_Close"
115
+msgstr ""
116
+
117
+#: modules/edition.py:35
118
+msgid "Are you sure you want to save settings?"
119
+msgstr ""
120
+
121
+#: modules/edition.py:107
122
+msgid "You can't restore a custom format to defaults."
123
+msgstr ""
124
+
125
+#: modules/edition.py:202
126
+msgid "Are you sure you want to remove this format?"
127
+msgstr ""
128
+
129
+#: modules/edition.py:249
130
 #, fuzzy
131
-msgid "Add File"
132
-msgstr "加入檔案"
133
+msgid "Audio:"
134
+msgstr "音訊"
135
 
136
-#: Curlew/curlew.py:173
137
-msgid "Add files"
138
-msgstr "加入檔案"
139
+#: modules/edition.py:257 modules/edition.py:276
140
+msgid "Default"
141
+msgstr ""
142
 
143
-#: Curlew/curlew.py:176
144
+#: modules/edition.py:260
145
 #, fuzzy
146
-msgid "Add Folder"
147
-msgstr "加入檔案"
148
+msgid "Audio Bitrates"
149
+msgstr "音訊位元率"
150
 
151
-#: Curlew/curlew.py:177
152
+#: modules/edition.py:262
153
 #, fuzzy
154
-msgid "Add folders"
155
-msgstr "加入檔案"
156
+msgid "Audio Frequencies"
157
+msgstr "音訊頻率"
158
 
159
-#: Curlew/curlew.py:181
160
-msgid "Remove"
161
-msgstr "移除"
162
+#: modules/edition.py:264 modules/curlew.py:551
163
+msgid "Audio Channels"
164
+msgstr "音訊頻道"
165
 
166
-#: Curlew/curlew.py:182
167
-msgid "Remove files"
168
-msgstr "移除檔案"
169
+#: modules/edition.py:266
170
+#, fuzzy
171
+msgid "Audio Codecs"
172
+msgstr "音訊編解碼器"
173
 
174
-#: Curlew/curlew.py:186
175
-msgid "Clear"
176
-msgstr "清空"
177
+#: modules/edition.py:269
178
+#, fuzzy
179
+msgid "Video:"
180
+msgstr "影片"
181
 
182
-#: Curlew/curlew.py:187
183
-msgid "Clear files list"
184
-msgstr "清空檔案清單"
185
+#: modules/edition.py:279
186
+#, fuzzy
187
+msgid "Video Bitrates"
188
+msgstr "影片位元率"
189
 
190
-#: Curlew/curlew.py:194
191
-msgid "Convert"
192
-msgstr "轉換"
193
+#: modules/edition.py:281 modules/curlew.py:591
194
+msgid "Video FPS"
195
+msgstr "畫面更新率"
196
 
197
-#: Curlew/curlew.py:195
198
-msgid "Start Conversion"
199
-msgstr "開始轉換"
200
+#: modules/edition.py:283
201
curlew-0.1.22.3.tar.gz/setup.py -> curlew-0.2.1.tar.gz/setup.py Changed
187
 
1
@@ -4,12 +4,24 @@
2
 import sys
3
 from os.path import splitext, split
4
 
5
-#NOTE: You must install imagemagick, intltool packages.
6
+# IMPORTANT!
7
+# You MUST have this packages installed in your system:
8
+#     "librsvg2-bin" to use rsvg-convert command.
9
+#     "intltool-debian" or "intltool" to use intltool-update command.
10
+
11
+VERSION = '0.2.1'
12
+SVG_CONVERT = 'rsvg-convert'
13
+UPDATE = 'intltool-update'
14
+UPDATE_DEBIAN = '/usr/share/intltool-debian/intltool-update'
15
 
16
 doc_files  = ['LICENSE-ar.txt', 'LICENSE-en.txt', 'AUTHORS', 'ChangeLog', 'README']
17
 data_files = [('share/applications/', ['curlew.desktop']),
18
               ('share/icons/hicolor/scalable/apps', ['curlew.svg']),
19
+              ('share/pixmaps', ['curlew.svg']),
20
               ('share/doc/curlew', doc_files),
21
+              ('share/curlew', ['formats.cfg']),
22
+              #('share/curlew', ['formats.cfg', 'ffmpeg']), # Portable version
23
+              ('share/curlew/modules', glob("modules/*.py"))
24
               ]
25
 
26
 # Prepare curlew icons
27
@@ -17,24 +29,18 @@
28
     # Generate curlew.png icons
29
     for i in [16, 22, 24, 32, 36, 48, 64, 72, 96, 128]:
30
         call("mkdir -p hicolor/{0}x{0}/apps/".format(i), shell=True)
31
-        call("convert -background none curlew.svg -resize {0}x{0} hicolor/{0}x{0}/apps/curlew.png".format(i), shell=True)
32
-    
33
-    # List all svg files
34
-    svg_files = glob('Curlew/icons/*/*.svg')
35
-    for svg_file in svg_files:
36
-        png_file = splitext(svg_file)[0] + ".png"
37
-        ret = call("convert -background none {} -resize 48x48 {}".format(svg_file, png_file), shell=True)
38
+        if call("{0} curlew.svg -w {1} -h {1} -o hicolor/{1}x{1}/apps/curlew.png".format(SVG_CONVERT, i), shell=True) > 0:
39
+            return 1
40
     
41
     icons = map(lambda i: ('share/icons/'+i, [i+'/curlew.png', ]), glob("hicolor/*/apps"))
42
     data_files.extend(icons)
43
-    
44
-    return ret
45
+    return 0
46
     
47
     
48
 # Update locales
49
 def update_locale():
50
     # Make curlew.pot file from python source files.
51
-    py_files = " ".join(glob("Curlew/*.py"))
52
+    py_files = " ".join(glob("modules/*.py"))
53
     call("xgettext --keyword=_ -o po/curlew.pot {}".format(py_files), shell=True)
54
     
55
     po_files = glob("po/*.po")
56
@@ -43,7 +49,8 @@
57
         mo_path = "locale/{}/LC_MESSAGES/curlew.mo".format(lang)
58
         
59
         # Update po files
60
-        ret = call("intltool-update -g po/curlew -d po/{}".format(lang), shell=True)
61
+        if call("{} -x -g po/curlew -d po/{}".format(UPDATE, lang), shell=True) > 0:
62
+            return 1
63
         
64
         # Make locale directories
65
         call("mkdir -p locale/{}/LC_MESSAGES/".format(lang), shell=True)
66
@@ -51,10 +58,10 @@
67
         # Generate mo files
68
         call("msgfmt {} -o {}".format(po_file, mo_path), shell=True)
69
     
70
-    locales = map(lambda i: ('share/'+i, [i+'/curlew.mo', ]), glob('locale/*/LC_MESSAGES'))
71
+    locales = map(lambda i: ('share/curlew/'+i, [i+'/curlew.mo', ]), glob('locale/*/LC_MESSAGES'))
72
     data_files.extend(locales)
73
     
74
-    return ret
75
+    return 0
76
 
77
 
78
 def clean_all():
79
@@ -63,21 +70,21 @@
80
     call("rm -rfv hicolor dist locale build", shell=True)
81
     call("rm -rfv dist locale build", shell=True)
82
     call("rm -fv MANIFEST po/*.mo", shell=True)
83
-    call("rm -fv Curlew/icons/*/*.png", shell=True)
84
-    call("rm -fv Curlew/*.pyc *.pyc", shell=True)
85
+    call("rm -fv modules/icons/*/*.png", shell=True)
86
+    call("rm -fv modules/*.pyc *.pyc", shell=True)
87
+    call("rm -rfv modules/__pycache__", shell=True)
88
     exit(0)
89
 
90
 
91
 
92
-def uninstall():
93
+def uninstall_all():
94
     print("Uninstall...")
95
+    
96
     # Remove icons
97
     call("rm -rfv /usr/share/icons/hicolor/*/apps/curlew*", shell=True)
98
     call("rm -rfv /usr/*/share/icons/hicolor/*/apps/curlew*", shell=True)
99
-    
100
-    # Remove mos
101
-    call("rm -rfv /usr/share/locale/*/LC_MESSAGES/curlew.mo", shell=True)
102
-    call("rm -rfv /usr/*/share/locale/*/LC_MESSAGES/curlew.mo", shell=True)
103
+    call("rm -rfv /usr/share/pixmaps/curlew*", shell=True)
104
+    call("rm -rfv /usr/*/share/pixmaps/curlew*", shell=True)
105
     
106
     # Remove packages
107
     call("rm -rfv /usr/lib/python*/*-packages/[cC]urlew*", shell=True)
108
@@ -91,6 +98,10 @@
109
     call("rm -rfv /usr/share/applications/curlew*", shell=True)
110
     call("rm -rfv /usr/*/share/applications/curlew*", shell=True)
111
     
112
+    # Remove data files
113
+    call("rm -rfv /usr/share/curlew", shell=True)
114
+    call("rm -rfv /usr/*/share/curlew", shell=True)
115
+    
116
     # Remove script
117
     call("rm -rfv /usr/bin/curlew", shell=True)
118
     call("rm -rfv /usr/*/bin/curlew", shell=True)
119
@@ -102,22 +113,24 @@
120
     exit(0)
121
 
122
 
123
-
124
 # Begin
125
 if len(sys.argv) < 2: exit(1)
126
 
127
+# Check intltool
128
+if call('which /usr/share/intltool-debian/intltool-update > /dev/null', shell=True) == 0:
129
+    UPDATE = UPDATE_DEBIAN
130
+
131
 if sys.argv[1] in ['bdist', 'bdist_rpm', 'build', 'install']:
132
-    if generate_icons() + update_locale() > 0: exit(1)
133
-elif sys.argv[1] == 'clean':
134
-    clean_all()
135
-elif sys.argv[1] == 'uninstall':
136
-    uninstall()
137
+    if (generate_icons() > 0 ) or (update_locale() > 0):
138
+        exit(1)
139
+elif sys.argv[1] == 'clean':     clean_all()
140
+elif sys.argv[1] == 'uninstall': uninstall_all()
141
 
142
 
143
 setup(
144
       name="curlew",
145
       description='Easy to use multimedia converter in Linux',
146
-      long_description='''Curlew written in python and GTK3 and it depends on (ffmpeg/avconv, mencoder).
147
+      long_description='''Curlew written in python and GTK3 and it depends on (ffmpeg/avconv).
148
 
149
 Main Features:
150
 - Easy to use with simple user interface.
151
@@ -130,27 +143,25 @@
152
 - Combine subtitle with video file.
153
 - Show error details if exist.
154
 - And more ...''',
155
-      version="0.1.22.3",
156
+      version=VERSION,
157
       author='Fayssal Chamekh',
158
       author_email='chamfay@gmail.com',
159
-      url='https://github.com/chamfay/Curlew',
160
+      url='http://sourceforge.net/projects/curlew',
161
       license='Waqf License',
162
       platforms='Linux',
163
       scripts=['curlew'],
164
-      keywords=['convert', 'audio', 'video', 'ffmpeg', 'mencoder','avconv'],
165
+      keywords=['convert', 'audio', 'video', 'ffmpeg', 'avconv'],
166
       classifiers=[
167
-                     'Programming Language :: Python',
168
+                     'Programming Language :: Python :: 3',
169
                      'Operating System :: POSIX :: Linux',
170
-                     'Development Status :: 4 - Beta',
171
-                     'Environment :: X11 Applications :: Gtk',
172
+                     'Development Status :: 5 - Production/Stable',
173
+                     'Environment :: X11 Applications :: GTK',
174
                      'Natural Language :: English',
175
                      'Natural Language :: Arabic',
176
+                     'Natural Language :: French',
177
                      'Intended Audience :: End Users/Desktop',
178
                      'Topic :: Desktop Environment :: Gnome',
179
-                     'Topic :: Multimedia :: Video :: Conversion',
180
                      'Topic :: Multimedia :: Sound/Audio :: Conversion',
181
                      'Topic :: Utilities'],
182
-      data_files=data_files,
183
-      packages=['Curlew'],
184
-      package_data={'':['icons/*/*.png', 'formats.cfg']}
185
+      data_files=data_files
186
       )
187
curlew-0.2.1.tar.gz/stdeb.cfg Added
10
 
1
@@ -0,0 +1,8 @@
2
+[DEFAULT]
3
+Source: curlew
4
+Package: curlew
5
+Section: video
6
+Depends3: python3-gi (>> 3.12), python3-dbus, gir1.2-gtk-3.0 (>> 3.12), gnome-icon-theme-symbolic, ffmpeg | libav-tools, xdg-utils, mediainfo
7
+Build-Depends: librsvg2-bin, intltool-debian
8
+XS-Python-Version: >= 3.3
9
+X-Python3-Version: >= 3.3
10
curlew-0.2.1.tar.gz/uninstall.sh Added
10
 
1
@@ -0,0 +1,8 @@
2
+#!/bin/bash
3
+
4
+if [ $UID -eq 0 ]; then
5
+   python3 setup.py uninstall
6
+else
7
+   echo "Run me as root!"
8
+fi
9
+
10