From 3a6be756921d56b1894fb34d88e39f98801dcd2f Mon Sep 17 00:00:00 2001 From: Philipp Wolfer Date: Mon, 10 Nov 2014 22:11:21 +0100 Subject: [PATCH 1/8] Set ~video variable for video tracks. Fixes PICARD-652 --- picard/mbxml.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/picard/mbxml.py b/picard/mbxml.py index f83765020..81b783abe 100644 --- a/picard/mbxml.py +++ b/picard/mbxml.py @@ -284,6 +284,8 @@ def recording_to_metadata(node, track): add_isrcs_to_metadata(nodes[0], m) elif name == 'user_rating': m['~rating'] = nodes[0].text + elif name == 'video' and nodes[0].text == 'true': + m['~video'] = '1' m['~length'] = format_time(m.length) From 3016eb8a6fd0898c2ea1a170f15c342b67be10c9 Mon Sep 17 00:00:00 2001 From: Philipp Wolfer Date: Sun, 16 Nov 2014 14:09:42 +0100 Subject: [PATCH 2/8] Allow special track types to be ignored when checking release completeness. Currently this will ignore video, pregap, data and silent tracks. Fixes PICARD-514 --- picard/album.py | 2 +- picard/const/__init__.py | 4 ++++ picard/track.py | 36 +++++++++++++++++++++++++++- picard/ui/itemviews.py | 7 +++++- picard/ui/options/advanced.py | 12 ++++++++++ picard/ui/ui_options_advanced.py | 34 ++++++++++++++++++++++++++- ui/options_advanced.ui | 40 ++++++++++++++++++++++++++++++++ 7 files changed, 131 insertions(+), 4 deletions(-) diff --git a/picard/album.py b/picard/album.py index 3820f40ca..291d4f708 100644 --- a/picard/album.py +++ b/picard/album.py @@ -459,7 +459,7 @@ class Album(DataObject, Item): if not self.tracks: return False for track in self.tracks: - if track.num_linked_files != 1: + if not track.is_complete(): return False else: return True diff --git a/picard/const/__init__.py b/picard/const/__init__.py index ae9608beb..89f7701bf 100644 --- a/picard/const/__init__.py +++ b/picard/const/__init__.py @@ -67,6 +67,10 @@ PICARD_URLS = { # Various Artists MBID VARIOUS_ARTISTS_ID = '89ad4ac3-39f7-470e-963a-56509c546377' +# Special purpose track titles +SILENCE_TRACK_TITLE = '[silence]' +DATA_TRACK_TITLE = '[data track]' + # Release formats from picard.const.attributes import MB_ATTRIBUTES RELEASE_FORMATS = {} diff --git a/picard/track.py b/picard/track.py index 8f86610c4..35812c64d 100644 --- a/picard/track.py +++ b/picard/track.py @@ -25,7 +25,7 @@ from picard.dataobj import DataObject from picard.util.textencoding import asciipunct from picard.mbxml import recording_to_metadata from picard.script import ScriptParser -from picard.const import VARIOUS_ARTISTS_ID +from picard.const import VARIOUS_ARTISTS_ID, SILENCE_TRACK_TITLE, DATA_TRACK_TITLE from picard.ui.item import Item import traceback @@ -113,6 +113,34 @@ class Track(DataObject, Item): return u"%s%s %s" % (prefix, m['tracknumber'].zfill(2), m['title']) return m[column] + def is_video(self): + return self.metadata['~video'] == '1' + + def is_pregap(self): + return self.metadata['~pregap'] == '1' + + def is_data(self): + return self.metadata['~datatrack'] == '1' + + def is_silence(self): + return self.metadata['~silence'] == '1' + + def is_complete(self): + if self.ignored_for_completeness(): + return True + elif self.num_linked_files != 1: + return False + + return True + + def ignored_for_completeness(self): + if (config.setting['completeness_ignore_videos'] and self.is_video()) \ + or (config.setting['completeness_ignore_pregap'] and self.is_pregap()) \ + or (config.setting['completeness_ignore_data'] and self.is_data()) \ + or (config.setting['completeness_ignore_silence'] and self.is_silence()): + return True + return False + def _customize_metadata(self): tm = self.metadata @@ -120,6 +148,12 @@ class Track(DataObject, Item): if tm['musicbrainz_artistid'] == VARIOUS_ARTISTS_ID: tm['artistsort'] = tm['artist'] = config.setting['va_name'] + if tm['title'] == DATA_TRACK_TITLE: + tm['~datatrack'] = '1' + + if tm['title'] == SILENCE_TRACK_TITLE: + tm['~silence'] = '1' + if config.setting['folksonomy_tags']: self._convert_folksonomy_tags_to_genre() diff --git a/picard/ui/itemviews.py b/picard/ui/itemviews.py index 04a211067..dd765f958 100644 --- a/picard/ui/itemviews.py +++ b/picard/ui/itemviews.py @@ -109,6 +109,8 @@ class MainPanel(QtGui.QSplitter): TreeItem.window = window TreeItem.base_color = self.palette().base().color() TreeItem.text_color = self.palette().text().color() + TreeItem.text_color_secondary = self.palette() \ + .brush(QtGui.QPalette.Disabled, QtGui.QPalette.Text).color() TrackItem.track_colors = { File.NORMAL: config.setting["color_saved"], File.CHANGED: TreeItem.text_color, @@ -703,7 +705,10 @@ class TrackItem(TreeItem): icon = FileItem.decide_file_icon(file) self.takeChildren() else: - color = TreeItem.text_color + if track.ignored_for_completeness(): + color = TreeItem.text_color_secondary + else: + color = TreeItem.text_color bgcolor = get_match_color(1, TreeItem.base_color) icon = TrackItem.icon_note oldnum = self.childCount() diff --git a/picard/ui/options/advanced.py b/picard/ui/options/advanced.py index 734e2fea7..114872207 100644 --- a/picard/ui/options/advanced.py +++ b/picard/ui/options/advanced.py @@ -36,6 +36,10 @@ class AdvancedOptionsPage(OptionsPage): options = [ config.TextOption("setting", "ignore_regex", ""), config.BoolOption("setting", "ignore_hidden_files", False), + config.BoolOption("setting", "completeness_ignore_videos", False), + config.BoolOption("setting", "completeness_ignore_pregap", False), + config.BoolOption("setting", "completeness_ignore_data", False), + config.BoolOption("setting", "completeness_ignore_silence", False), ] def __init__(self, parent=None): @@ -47,10 +51,18 @@ class AdvancedOptionsPage(OptionsPage): def load(self): self.ui.ignore_regex.setText(config.setting["ignore_regex"]) self.ui.ignore_hidden_files.setChecked(config.setting["ignore_hidden_files"]) + self.ui.completeness_ignore_videos.setChecked(config.setting["completeness_ignore_videos"]) + self.ui.completeness_ignore_pregap.setChecked(config.setting["completeness_ignore_pregap"]) + self.ui.completeness_ignore_data.setChecked(config.setting["completeness_ignore_data"]) + self.ui.completeness_ignore_silence.setChecked(config.setting["completeness_ignore_silence"]) def save(self): config.setting["ignore_regex"] = unicode(self.ui.ignore_regex.text()) config.setting["ignore_hidden_files"] = self.ui.ignore_hidden_files.isChecked() + config.setting["completeness_ignore_videos"] = self.ui.completeness_ignore_videos.isChecked() + config.setting["completeness_ignore_pregap"] = self.ui.completeness_ignore_pregap.isChecked() + config.setting["completeness_ignore_data"] = self.ui.completeness_ignore_data.isChecked() + config.setting["completeness_ignore_silence"] = self.ui.completeness_ignore_silence.isChecked() def live_checker(self, text): self.ui.regex_error.setStyleSheet("") diff --git a/picard/ui/ui_options_advanced.py b/picard/ui/ui_options_advanced.py index 0b819ff05..081e2a19e 100644 --- a/picard/ui/ui_options_advanced.py +++ b/picard/ui/ui_options_advanced.py @@ -8,7 +8,16 @@ from PyQt4 import QtCore, QtGui try: _fromUtf8 = QtCore.QString.fromUtf8 except AttributeError: - _fromUtf8 = lambda s: s + def _fromUtf8(s): + return s + +try: + _encoding = QtGui.QApplication.UnicodeUTF8 + def _translate(context, text, disambig): + return QtGui.QApplication.translate(context, text, disambig, _encoding) +except AttributeError: + def _translate(context, text, disambig): + return QtGui.QApplication.translate(context, text, disambig) class Ui_AdvancedOptionsPage(object): def setupUi(self, AdvancedOptionsPage): @@ -35,6 +44,24 @@ class Ui_AdvancedOptionsPage(object): self.ignore_hidden_files.setObjectName(_fromUtf8("ignore_hidden_files")) self.gridlayout.addWidget(self.ignore_hidden_files, 3, 0, 1, 1) self.vboxlayout.addWidget(self.groupBox) + self.groupBox_completeness = QtGui.QGroupBox(AdvancedOptionsPage) + self.groupBox_completeness.setObjectName(_fromUtf8("groupBox_completeness")) + self.verticalLayout_2 = QtGui.QVBoxLayout(self.groupBox_completeness) + self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2")) + self.completeness_ignore_videos = QtGui.QCheckBox(self.groupBox_completeness) + self.completeness_ignore_videos.setObjectName(_fromUtf8("completeness_ignore_videos")) + self.verticalLayout_2.addWidget(self.completeness_ignore_videos) + self.completeness_ignore_pregap = QtGui.QCheckBox(self.groupBox_completeness) + self.completeness_ignore_pregap.setObjectName(_fromUtf8("completeness_ignore_pregap")) + self.verticalLayout_2.addWidget(self.completeness_ignore_pregap) + self.completeness_ignore_data = QtGui.QCheckBox(self.groupBox_completeness) + self.completeness_ignore_data.setCheckable(True) + self.completeness_ignore_data.setObjectName(_fromUtf8("completeness_ignore_data")) + self.verticalLayout_2.addWidget(self.completeness_ignore_data) + self.completeness_ignore_silence = QtGui.QCheckBox(self.groupBox_completeness) + self.completeness_ignore_silence.setObjectName(_fromUtf8("completeness_ignore_silence")) + self.verticalLayout_2.addWidget(self.completeness_ignore_silence) + self.vboxlayout.addWidget(self.groupBox_completeness) spacerItem = QtGui.QSpacerItem(181, 21, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) self.vboxlayout.addItem(spacerItem) @@ -45,4 +72,9 @@ class Ui_AdvancedOptionsPage(object): self.groupBox.setTitle(_("Advanced options")) self.label_ignore_regex.setText(_("Ignore file paths matching the following regular expression:")) self.ignore_hidden_files.setText(_("Ignore hidden files")) + self.groupBox_completeness.setTitle(_("Ignore the following tracks for release completeness")) + self.completeness_ignore_videos.setText(_("Video tracks")) + self.completeness_ignore_pregap.setText(_("Pregap tracks")) + self.completeness_ignore_data.setText(_("Data tracks")) + self.completeness_ignore_silence.setText(_("Silent tracks")) diff --git a/ui/options_advanced.ui b/ui/options_advanced.ui index 23d3d624d..9f06bb3d7 100644 --- a/ui/options_advanced.ui +++ b/ui/options_advanced.ui @@ -47,6 +47,46 @@ + + + + Ignore the following tracks for release completeness + + + + + + Video tracks + + + + + + + Pregap tracks + + + + + + + Data tracks + + + true + + + + + + + Silent tracks + + + + + + From 26051ecf3ceaff4d848e85150d9c08ae9548d3a9 Mon Sep 17 00:00:00 2001 From: Philipp Wolfer Date: Sun, 16 Nov 2014 14:31:16 +0100 Subject: [PATCH 3/8] Add $is_complete() scripting function. Works currently only for renaming scripts (similar to $matchedtracks). PICARD-514 --- picard/script.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/picard/script.py b/picard/script.py index 6c5da9ef4..35de3ab0a 100644 --- a/picard/script.py +++ b/picard/script.py @@ -602,6 +602,13 @@ def func_matchedtracks(parser, arg): return "0" +def func_is_complete(parser): + if parser.file: + if parser.file.parent and parser.file.parent.album.is_complete(): + return "1" + return "0" + + def func_firstalphachar(parser, text="", nonalpha="#"): if len(text) == 0: return nonalpha @@ -758,6 +765,7 @@ register_script_function(func_copymerge, "copymerge") register_script_function(func_len, "len") register_script_function(func_performer, "performer") register_script_function(func_matchedtracks, "matchedtracks") +register_script_function(func_is_complete, "is_complete") register_script_function(func_firstalphachar, "firstalphachar") register_script_function(func_initials, "initials") register_script_function(func_firstwords, "firstwords") From 2f9bf31a9e456aad5b5df6847b5fe24c4a37dcc7 Mon Sep 17 00:00:00 2001 From: Philipp Wolfer Date: Tue, 25 Nov 2014 19:08:09 +0100 Subject: [PATCH 4/8] Use different icons for video and data tracks in tree view --- picard/resources.py | 297 ++++++++++++------ picard/ui/itemviews.py | 11 +- .../images/{note.png => track-audio.png} | Bin resources/images/track-data.png | Bin 0 -> 588 bytes resources/images/track-video.png | Bin 0 -> 662 bytes resources/picard.qrc | 4 +- 6 files changed, 207 insertions(+), 105 deletions(-) rename resources/images/{note.png => track-audio.png} (100%) create mode 100644 resources/images/track-data.png create mode 100644 resources/images/track-video.png diff --git a/picard/resources.py b/picard/resources.py index 04036569e..37dd06707 100644 --- a/picard/resources.py +++ b/picard/resources.py @@ -2,8 +2,8 @@ # Resource object code # -# Created: ven. juil. 18 23:11:29 2014 -# by: The Resource Compiler for PyQt (Qt v4.8.2) +# Created: Di. Nov 25 16:31:48 2014 +# by: The Resource Compiler for PyQt (Qt v4.8.6) # # WARNING! All changes made in this file will be lost! @@ -36,6 +36,45 @@ qt_resource_data = "\ \x9b\x3c\x71\x95\x28\x7f\xf3\x9d\xed\x85\x7d\x96\xfa\xc9\xc9\x79\ \xf7\x20\x68\x4d\x1f\x7a\xed\x1f\x2d\x49\x58\xba\x4e\x19\x3c\x81\ \x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x02\x4c\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ +\x00\x00\x00\x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\ +\xa7\x93\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\x00\ +\x0b\x13\x01\x00\x9a\x9c\x18\x00\x00\x00\x07\x74\x49\x4d\x45\x07\ +\xd6\x01\x05\x0d\x20\x02\x71\x5f\x5a\xcd\x00\x00\x00\x1d\x74\x45\ +\x58\x74\x43\x6f\x6d\x6d\x65\x6e\x74\x00\x43\x72\x65\x61\x74\x65\ +\x64\x20\x77\x69\x74\x68\x20\x54\x68\x65\x20\x47\x49\x4d\x50\xef\ +\x64\x25\x6e\x00\x00\x01\xb0\x49\x44\x41\x54\x38\xcb\xc5\x93\xc1\ +\x4a\x1b\x51\x14\x86\xbf\x58\xb1\x4e\x92\x96\x8e\xd1\x04\x6d\x25\ +\xa5\x30\x12\x90\x80\x82\x08\x03\xc5\xa2\xd0\x40\xe9\x32\x96\x3a\ +\x4f\xd0\x17\x28\xa4\xf4\x01\xa4\x79\x91\x8e\x21\xe4\x01\x3a\x82\ +\x81\xd9\x04\x5c\xb8\xc9\x26\x38\x82\x19\xb1\x8b\x99\x26\x8c\x2d\ +\x33\xde\x28\x2d\x76\xd1\xce\x74\x62\x4d\x37\x2e\x7a\x56\xe7\xde\ +\x73\xf9\x39\xe7\x3f\xdf\x85\x5b\x46\x62\x54\xe1\xf9\xfb\xbd\xab\ +\x30\xdf\xdd\xde\x18\xf9\x6e\x3c\x4c\xd4\x57\xef\xb6\xd2\x4a\x49\ +\x07\xf0\x2d\x43\x03\xa8\x94\x15\xaa\x0d\x6b\xa8\x76\x5d\x2c\x12\ +\x48\x2b\x25\xbd\x52\x56\xd8\x3f\xf4\x68\x52\xd2\xf3\x59\x09\xfb\ +\x8b\x20\x9f\x95\xb0\x29\xe9\xeb\xc5\x69\x56\x17\x64\x60\xef\x2a\ +\x2e\x32\x1e\x57\xdb\x3f\xf4\xc8\xc9\x93\x6c\xad\x3d\x8a\xee\xd4\ +\x42\x06\xb5\xf0\xa7\x7e\x3d\xc6\xc2\xc4\xb7\x0c\xad\xd9\xee\x01\ +\x70\xec\x04\xd4\xcc\x6e\xf0\xe9\xc0\xa1\x66\x76\x83\xcf\x7d\x01\ +\x40\xb3\xdd\x8b\xc6\x1b\x32\x31\x34\x2c\x9f\x95\x50\x0b\x19\x6a\ +\x66\x37\xf8\xfe\xf5\xc4\x10\xee\x51\x7d\xe2\x7e\x6e\x2d\x39\xbb\ +\xf8\x7a\xf3\xe9\x63\xb9\xd5\xe9\x63\xbb\x62\xc8\xd8\xa8\x83\x4a\ +\x59\x41\x2d\x64\x00\x78\x90\x96\x52\xc2\x3d\xaa\xb7\xea\x1f\xf4\ +\xcb\x6f\x8e\x79\x2f\x29\xc9\xe1\x38\x95\xb2\x72\xf3\x16\xaa\x0d\ +\x2b\xea\xe0\xfc\xe2\xf2\x62\xbe\xf8\xec\x2d\x40\x72\xae\xf8\xe6\ +\xcc\x17\x01\x90\x6a\x75\xfa\xec\x98\xe2\x6f\x0f\x76\xb7\x37\x12\ +\xbe\x65\x68\xb6\x2b\xc8\xcf\x48\x2c\x3d\x99\xba\x7b\xfe\x63\x62\ +\x71\x7e\xf9\xe5\xc7\x3b\xa9\x99\x95\x17\x2b\x0f\x53\x00\xb6\x2b\ +\xf0\x2d\x43\x8b\x6f\x21\x11\x07\x67\xbd\x38\x4d\x4e\x9e\x1c\x49\ +\x9d\xe3\x0d\x68\xb6\x7b\x43\x2c\x8c\xc5\x1f\xac\x2e\xc8\x38\xde\ +\x80\x1d\xf3\x94\x56\xa7\x0f\xc0\xaf\xb6\x4f\x71\xbc\xc1\x6f\x0e\ +\xfe\x81\x72\xb8\x0d\xdf\x32\xb4\x10\xac\x6a\xc3\x8a\xce\x37\x91\ +\x78\xeb\xbf\xf0\xff\xe3\x27\x7e\x4f\xb4\x84\x11\xee\x2e\x39\x00\ +\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ \x00\x00\x40\x8c\ \x89\ \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ @@ -1201,6 +1240,35 @@ qt_resource_data = "\ \x01\x03\x83\x2f\x12\x7b\x33\x71\x56\x8c\x2a\xc0\x12\xd4\xb0\xd0\ \x43\x06\x8c\x14\xc7\x26\x00\xbe\x5b\x05\xd6\xa8\x8e\xff\x70\x00\ \x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x01\xa3\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ +\x00\x00\x00\x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\ +\xa7\x93\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\ +\x0d\xd7\x01\x42\x28\x9b\x78\x00\x00\x00\x07\x74\x49\x4d\x45\x07\ +\xd5\x04\x1c\x0b\x36\x39\xbb\x24\x9f\x47\x00\x00\x01\x30\x49\x44\ +\x41\x54\x38\xcb\x63\x60\xa0\x10\x30\x62\x13\x2c\xad\x35\xed\x67\ +\x60\xfa\x5a\x40\x48\x33\x13\x13\xc7\x5e\x16\xec\x32\x5f\x0b\x82\ +\x83\x02\x09\xda\xbe\x76\xdd\x7a\x67\x26\x6c\x12\xff\xff\x33\x7e\ +\x23\xd6\x0b\x2c\x04\x6c\xc0\x2a\xfe\xff\x1f\xc3\xbf\x90\x90\x40\ +\x26\x82\x06\x30\x30\x30\x30\x74\x37\x5e\xc3\x08\xa7\x92\x3a\xed\ +\xef\x0c\x0c\x0c\x1c\x0c\x0c\x0c\x0c\x4c\x64\x06\xfe\x3f\x78\x70\ +\x61\x8d\x1a\xc6\xff\x5c\x78\xa3\x0e\x49\x9e\x89\xd2\x74\x40\x56\ +\x2c\x20\xcb\xb3\x30\x30\x30\x30\x64\x15\x5a\x48\x32\xb3\xfc\x89\ +\xfd\xf1\xfd\xbb\x93\x80\xf0\x7f\x77\x06\x86\xff\x0c\xbf\xfe\x7c\ +\x86\x6b\xc0\x27\xcf\xc2\xc0\xc0\xc0\xf0\xf9\xd3\xa7\x3a\x35\x2d\ +\xb6\x0c\x13\x33\x55\x06\x7e\x5e\x75\x06\x7e\x6e\x65\x86\x7b\x4f\ +\xd7\x32\x88\x89\x73\x32\x10\x92\x67\x61\x60\x60\x60\x90\x90\x61\ +\xc8\xb0\xb7\xb7\x66\xf8\xf7\xef\x0f\x03\x33\x33\x3b\xc3\xdd\x27\ +\x6b\x18\x2e\x9d\x7f\xfd\xff\xcd\xeb\xff\x5b\xf1\xc9\xbf\x7a\xc1\ +\xd4\x00\x4f\x07\xf7\x1e\x9e\x67\xe0\xe0\x60\x61\xe0\xe7\x7b\xcb\ +\x70\xf3\xfa\x5b\x86\x77\x6f\xff\x5e\x3c\x7d\xec\x43\x17\x3e\xf9\ +\xb3\x27\xdf\xee\x87\x27\x92\xc4\x4c\xb5\xdb\x22\x62\x2c\x2a\x0c\ +\x0c\x0c\x0c\xb7\xaf\xff\x5c\xb4\x61\xd5\xdd\x78\xe4\x80\x43\x97\ +\x97\x57\x94\xa8\x98\xd8\x79\xf4\x39\xa5\xb1\xc8\x00\x00\xbd\x75\ +\x89\xf9\x6f\x29\x4a\x9e\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\ +\x60\x82\ \x00\x00\x06\xf4\ \x89\ \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ @@ -1373,35 +1441,6 @@ qt_resource_data = "\ \x52\x91\xd8\xb3\xa9\xe4\x06\xaa\xfb\x62\x36\x86\x02\x46\x8a\x63\ \x13\x00\x29\x51\x09\x03\x00\x20\x62\x2f\x00\x00\x00\x00\x49\x45\ \x4e\x44\xae\x42\x60\x82\ -\x00\x00\x01\xa3\ -\x89\ -\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ -\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ -\x00\x00\x00\x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\ -\xa7\x93\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\ -\x0d\xd7\x01\x42\x28\x9b\x78\x00\x00\x00\x07\x74\x49\x4d\x45\x07\ -\xd5\x04\x1c\x0b\x36\x39\xbb\x24\x9f\x47\x00\x00\x01\x30\x49\x44\ -\x41\x54\x38\xcb\x63\x60\xa0\x10\x30\x62\x13\x2c\xad\x35\xed\x67\ -\x60\xfa\x5a\x40\x48\x33\x13\x13\xc7\x5e\x16\xec\x32\x5f\x0b\x82\ -\x83\x02\x09\xda\xbe\x76\xdd\x7a\x67\x26\x6c\x12\xff\xff\x33\x7e\ -\x23\xd6\x0b\x2c\x04\x6c\xc0\x2a\xfe\xff\x1f\xc3\xbf\x90\x90\x40\ -\x26\x82\x06\x30\x30\x30\x30\x74\x37\x5e\xc3\x08\xa7\x92\x3a\xed\ -\xef\x0c\x0c\x0c\x1c\x0c\x0c\x0c\x0c\x4c\x64\x06\xfe\x3f\x78\x70\ -\x61\x8d\x1a\xc6\xff\x5c\x78\xa3\x0e\x49\x9e\x89\xd2\x74\x40\x56\ -\x2c\x20\xcb\xb3\x30\x30\x30\x30\x64\x15\x5a\x48\x32\xb3\xfc\x89\ -\xfd\xf1\xfd\xbb\x93\x80\xf0\x7f\x77\x06\x86\xff\x0c\xbf\xfe\x7c\ -\x86\x6b\xc0\x27\xcf\xc2\xc0\xc0\xc0\xf0\xf9\xd3\xa7\x3a\x35\x2d\ -\xb6\x0c\x13\x33\x55\x06\x7e\x5e\x75\x06\x7e\x6e\x65\x86\x7b\x4f\ -\xd7\x32\x88\x89\x73\x32\x10\x92\x67\x61\x60\x60\x60\x90\x90\x61\ -\xc8\xb0\xb7\xb7\x66\xf8\xf7\xef\x0f\x03\x33\x33\x3b\xc3\xdd\x27\ -\x6b\x18\x2e\x9d\x7f\xfd\xff\xcd\xeb\xff\x5b\xf1\xc9\xbf\x7a\xc1\ -\xd4\x00\x4f\x07\xf7\x1e\x9e\x67\xe0\xe0\x60\x61\xe0\xe7\x7b\xcb\ -\x70\xf3\xfa\x5b\x86\x77\x6f\xff\x5e\x3c\x7d\xec\x43\x17\x3e\xf9\ -\xb3\x27\xdf\xee\x87\x27\x92\xc4\x4c\xb5\xdb\x22\x62\x2c\x2a\x0c\ -\x0c\x0c\x0c\xb7\xaf\xff\x5c\xb4\x61\xd5\xdd\x78\xe4\x80\x43\x97\ -\x97\x57\x94\xa8\x98\xd8\x79\xf4\x39\xa5\xb1\xc8\x00\x00\xbd\x75\ -\x89\xf9\x6f\x29\x4a\x9e\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\ -\x60\x82\ \x00\x00\x00\xbc\ \x89\ \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ @@ -1501,6 +1540,50 @@ qt_resource_data = "\ \x23\xb1\x27\x12\xe7\x8b\x21\xa1\x00\xcd\x9b\x13\x31\x14\x30\x52\ \x1c\x9b\x00\xca\x15\x09\x34\x69\x85\x73\x4d\x00\x00\x00\x00\x49\ \x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x02\x96\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ +\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ +\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\x0d\xd7\ +\x01\x42\x28\x9b\x78\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\ +\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\ +\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x02\x13\x49\x44\ +\x41\x54\x38\x8d\xa5\x93\xcb\x6a\x14\x41\x14\x86\xbf\x53\x55\x73\ +\x6d\x48\x32\x20\x06\x62\x12\x23\x26\x0b\xb7\xde\x36\xba\x70\x63\ +\x06\x1d\xf0\x19\x7c\x04\x37\x82\xb8\x51\x50\x04\xf1\x31\x7c\x83\ +\x6c\x5c\x08\x09\x11\x22\xe2\xde\x60\xbc\x81\x26\x10\x83\x61\x48\ +\x9c\xe9\xea\xe9\x9e\xee\x3a\x2e\x3a\x11\x13\x03\x41\x3c\x9b\x2a\ +\xaa\xea\xff\xcf\x77\xce\xa1\xa4\xdd\x6e\xf3\x3f\xe1\x3a\x9d\xce\ +\x1d\x11\x79\xa8\xaa\xb5\x7f\x11\x8a\x88\x57\xd5\xbb\x4e\x55\x1f\ +\xb7\x6f\x5c\x8f\x9a\x8d\x26\x79\xae\xc7\x67\x74\x82\xb5\x86\x6e\ +\xb7\x5b\x5f\x5a\x7c\xf5\xc4\xa9\x6a\x6d\x74\x74\x84\xf9\x9b\xcf\ +\x49\xe9\x03\xa0\x7a\x84\xd1\xde\x51\x4d\x22\x5e\xbe\xb8\xcd\xc8\ +\xe8\x28\x40\xc3\xed\xdf\xa7\xa1\xcf\x85\xab\x63\x88\xc8\x1e\x22\ +\x80\x94\xab\x00\x5a\xee\xdf\x2c\x6f\xb3\xfa\xee\x3d\x53\x53\x93\ +\x25\x51\x9a\xa6\x80\xa0\xe2\x88\xd3\x50\x0a\x14\x44\xe4\x80\x49\ +\x36\xcc\xd9\xee\xfe\x04\x1c\x67\x67\x67\x31\x12\x4a\x03\xef\x3d\ +\x21\x14\x18\x63\x18\xe4\x52\x66\x2b\x9b\x04\x94\xc2\xcd\x1f\x3b\ +\xc4\x3e\x05\xa0\x61\x5a\x7c\x58\x5b\x63\x7a\x7a\x92\x24\x49\x70\ +\x49\x92\x50\x14\x01\x8c\x23\xc9\xcb\x6c\x8a\x20\x40\x9c\xa4\xec\ +\xf4\x12\x54\x1d\x95\xfa\x5e\xb5\x89\x65\x7a\xe6\x34\x15\x67\xf0\ +\xde\xe3\xe2\x38\x46\x83\x62\x4c\x85\x41\x70\xfb\x00\x24\xe9\x90\ +\x6c\x68\x70\xb5\xe8\xe0\xf8\xac\xe5\xf3\xc7\x4f\xcc\xcd\xcd\xd2\ +\xef\xf7\x4b\x02\x45\x11\x6b\x49\x83\x03\x05\x45\x51\x6b\xa9\xd8\ +\x23\x86\x61\x87\x4c\x9c\x9a\xc0\x18\xca\x12\xbc\xf7\x00\x18\xe3\ +\xb0\xd5\xe8\x6f\xc5\xa1\x18\x9a\x3e\x45\x51\xa0\x08\x71\x1c\xe3\ +\x42\x28\xbb\xd9\x6a\x38\xb2\xcd\xc1\xb1\x06\x51\xd5\x21\x46\x31\ +\x22\x25\x81\x73\xae\xb7\xfe\x6d\xa3\xf5\xec\xd1\xf9\x63\xc5\xbf\ +\x29\xd2\x9c\xf5\xf5\x0d\x80\x1d\xe9\x74\x3a\xb7\x6a\xb5\xda\x03\ +\x11\x8d\x40\x0c\x30\x53\xa9\x38\x57\xa9\x56\xc5\x1a\x03\x40\x11\ +\x02\x59\x96\x69\x3e\xcc\x87\xc0\x57\xd0\xa0\xca\xae\xf7\xc9\x7d\ +\x97\xe7\xf9\x42\x9e\xe7\x0b\x00\xaa\x1a\xb5\x4e\x8c\xbd\x9d\x6f\ +\xb7\xcf\x5d\xba\x78\x99\xf1\x93\xe3\xa8\x2a\x5b\x5b\xdf\x59\x79\ +\xbd\xa2\x4b\xcb\x4b\xab\x49\x6f\x70\x25\xcb\x32\xbf\x4f\x23\x87\ +\xbf\xb3\x31\x66\xa4\xde\xac\x3f\x6d\x46\xcd\x6b\xd6\x9a\x33\x80\ +\x16\xa1\xf8\x32\xf0\x83\xc5\xde\x6e\xff\x9e\x88\xc4\x7f\xbe\xff\ +\x05\x77\x8f\xf2\x46\xb9\x93\x0d\x1e\x00\x00\x00\x00\x49\x45\x4e\ +\x44\xae\x42\x60\x82\ \x00\x00\x00\xca\ \x89\ \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ @@ -9643,6 +9726,10 @@ qt_resource_name = "\ \x00\xe0\x1d\x47\ \x00\x66\ \x00\x69\x00\x6c\x00\x65\x00\x2d\x00\x70\x00\x65\x00\x6e\x00\x64\x00\x69\x00\x6e\x00\x67\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x0e\ +\x08\x53\x8e\xe7\ +\x00\x74\ +\x00\x72\x00\x61\x00\x63\x00\x6b\x00\x2d\x00\x64\x00\x61\x00\x74\x00\x61\x00\x2e\x00\x70\x00\x6e\x00\x67\ \x00\x12\ \x08\xc2\x5a\x27\ \x00\x43\ @@ -9669,6 +9756,10 @@ qt_resource_name = "\ \x00\x36\x9b\x62\ \x00\x33\ \x00\x32\x00\x78\x00\x33\x00\x32\ +\x00\x0f\ +\x05\xff\xc8\x27\ +\x00\x74\ +\x00\x72\x00\x61\x00\x63\x00\x6b\x00\x2d\x00\x61\x00\x75\x00\x64\x00\x69\x00\x6f\x00\x2e\x00\x70\x00\x6e\x00\x67\ \x00\x05\ \x00\x37\xfb\x78\ \x00\x34\ @@ -9695,10 +9786,6 @@ qt_resource_name = "\ \x00\x6d\ \x00\x61\x00\x74\x00\x63\x00\x68\x00\x2d\x00\x70\x00\x65\x00\x6e\x00\x64\x00\x69\x00\x6e\x00\x67\x00\x2d\x00\x36\x00\x30\x00\x2e\ \x00\x70\x00\x6e\x00\x67\ -\x00\x08\ -\x06\xa8\x59\xe7\ -\x00\x6e\ -\x00\x6f\x00\x74\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\ \x00\x05\ \x00\x35\x9b\x52\ \x00\x32\ @@ -9725,6 +9812,10 @@ qt_resource_name = "\ \x00\x6d\ \x00\x61\x00\x74\x00\x63\x00\x68\x00\x2d\x00\x70\x00\x65\x00\x6e\x00\x64\x00\x69\x00\x6e\x00\x67\x00\x2d\x00\x38\x00\x30\x00\x2e\ \x00\x70\x00\x6e\x00\x67\ +\x00\x0f\ +\x05\xbf\x20\xa7\ +\x00\x74\ +\x00\x72\x00\x61\x00\x63\x00\x6b\x00\x2d\x00\x76\x00\x69\x00\x64\x00\x65\x00\x6f\x00\x2e\x00\x70\x00\x6e\x00\x67\ \x00\x05\ \x00\x34\xdb\x46\ \x00\x31\ @@ -9871,75 +9962,77 @@ qt_resource_name = "\ qt_resource_struct = "\ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x1a\x00\x00\x00\x02\ -\x00\x00\x02\x2a\x00\x00\x00\x00\x00\x01\x00\x00\x57\x19\ -\x00\x00\x02\x8c\x00\x02\x00\x00\x00\x12\x00\x00\x00\x34\ -\x00\x00\x01\xce\x00\x02\x00\x00\x00\x13\x00\x00\x00\x21\ -\x00\x00\x00\x12\x00\x02\x00\x00\x00\x01\x00\x00\x00\x20\ -\x00\x00\x00\xe0\x00\x02\x00\x00\x00\x01\x00\x00\x00\x1f\ -\x00\x00\x00\xf0\x00\x02\x00\x00\x00\x01\x00\x00\x00\x1e\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x1c\x00\x00\x00\x02\ +\x00\x00\x02\x5a\x00\x00\x00\x00\x00\x01\x00\x00\x59\x69\ +\x00\x00\x02\xe0\x00\x02\x00\x00\x00\x12\x00\x00\x00\x36\ +\x00\x00\x01\xfe\x00\x02\x00\x00\x00\x13\x00\x00\x00\x23\ +\x00\x00\x00\x12\x00\x02\x00\x00\x00\x01\x00\x00\x00\x22\ +\x00\x00\x01\x02\x00\x02\x00\x00\x00\x01\x00\x00\x00\x21\ +\x00\x00\x01\x36\x00\x02\x00\x00\x00\x01\x00\x00\x00\x20\ \x00\x00\x00\x22\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ -\x00\x00\x02\xde\x00\x00\x00\x00\x00\x01\x00\x00\x5c\xbd\ -\x00\x00\x02\xba\x00\x00\x00\x00\x00\x01\x00\x00\x5b\xea\ -\x00\x00\x00\x72\x00\x02\x00\x00\x00\x01\x00\x00\x00\x1d\ -\x00\x00\x00\xcc\x00\x02\x00\x00\x00\x01\x00\x00\x00\x1c\ -\x00\x00\x01\xb8\x00\x00\x00\x00\x00\x01\x00\x00\x53\xf6\ -\x00\x00\x00\x9c\x00\x00\x00\x00\x00\x01\x00\x00\x49\x37\ +\x00\x00\x03\x32\x00\x00\x00\x00\x00\x01\x00\x00\x61\xa7\ +\x00\x00\x03\x0e\x00\x00\x00\x00\x00\x01\x00\x00\x60\xd4\ +\x00\x00\x00\x94\x00\x02\x00\x00\x00\x01\x00\x00\x00\x1f\ +\x00\x00\x00\xee\x00\x02\x00\x00\x00\x01\x00\x00\x00\x1e\ +\x00\x00\x02\xbc\x00\x00\x00\x00\x00\x01\x00\x00\x5d\x6c\ +\x00\x00\x01\x12\x00\x00\x00\x00\x00\x01\x00\x00\x4c\x37\ +\x00\x00\x00\xbe\x00\x00\x00\x00\x00\x01\x00\x00\x4b\x87\ \x00\x00\x00\x48\x00\x00\x00\x00\x00\x01\x00\x00\x01\x81\ -\x00\x00\x02\x5e\x00\x00\x00\x00\x00\x01\x00\x00\x5a\x50\ -\x00\x00\x00\x86\x00\x00\x00\x00\x00\x01\x00\x00\x42\x11\ -\x00\x00\x01\xfc\x00\x00\x00\x00\x00\x01\x00\x00\x56\x5d\ -\x00\x00\x01\x8a\x00\x00\x00\x00\x00\x01\x00\x00\x53\x2b\ -\x00\x00\x01\x3e\x00\x00\x00\x00\x00\x01\x00\x00\x51\x9f\ -\x00\x00\x02\xfe\x00\x00\x00\x00\x00\x01\x00\x00\x5d\x72\ -\x00\x00\x01\x00\x00\x00\x00\x00\x00\x01\x00\x00\x49\xe7\ -\x00\x00\x02\x9c\x00\x00\x00\x00\x00\x01\x00\x00\x5b\x1c\ -\x00\x00\x02\x40\x00\x00\x00\x00\x00\x01\x00\x00\x59\x7e\ -\x00\x00\x01\xde\x00\x00\x00\x00\x00\x01\x00\x00\x55\x9d\ -\x00\x00\x01\x6c\x00\x00\x00\x00\x00\x01\x00\x00\x52\x58\ -\x00\x00\x01\x20\x00\x00\x00\x00\x00\x01\x00\x00\x50\xdf\ -\x00\x00\x03\xde\x00\x00\x00\x00\x00\x01\x00\x01\x07\x26\ -\x00\x00\x03\xde\x00\x00\x00\x00\x00\x01\x00\x01\xf2\x73\ -\x00\x00\x03\xde\x00\x00\x00\x00\x00\x01\x00\x00\xe9\x46\ -\x00\x00\x03\xde\x00\x00\x00\x00\x00\x01\x00\x00\xfc\xd9\ -\x00\x00\x03\xde\x00\x00\x00\x00\x00\x01\x00\x02\x49\xb0\ -\x00\x00\x05\xde\x00\x00\x00\x00\x00\x01\x00\x00\xdb\xe2\ -\x00\x00\x04\x2c\x00\x00\x00\x00\x00\x01\x00\x00\xac\xba\ -\x00\x00\x06\x54\x00\x00\x00\x00\x00\x01\x00\x00\x9b\x25\ -\x00\x00\x06\xd8\x00\x00\x00\x00\x00\x01\x00\x00\xbf\xae\ -\x00\x00\x05\x5e\x00\x00\x00\x00\x00\x01\x00\x00\xcc\xd9\ -\x00\x00\x07\x02\x00\x00\x00\x00\x00\x01\x00\x00\xc2\x85\ -\x00\x00\x06\x28\x00\x00\x00\x00\x00\x01\x00\x00\x92\xa2\ -\x00\x00\x03\x60\x00\x00\x00\x00\x00\x01\x00\x00\x95\xfa\ -\x00\x00\x03\xf8\x00\x00\x00\x00\x00\x01\x00\x00\x9d\xfa\ -\x00\x00\x06\x78\x00\x00\x00\x00\x00\x01\x00\x00\xa3\x90\ -\x00\x00\x07\x52\x00\x00\x00\x00\x00\x01\x00\x00\xe1\x57\ -\x00\x00\x04\x54\x00\x00\x00\x00\x00\x01\x00\x00\xb0\xa7\ -\x00\x00\x03\x94\x00\x00\x00\x00\x00\x01\x00\x00\x97\xfe\ -\x00\x00\x04\xce\x00\x00\x00\x00\x00\x01\x00\x00\xc8\xd4\ -\x00\x00\x06\x06\x00\x00\x00\x00\x00\x01\x00\x00\xe4\x6d\ -\x00\x00\x04\x9a\x00\x00\x00\x00\x00\x01\x00\x00\xba\x49\ -\x00\x00\x06\xaa\x00\x00\x00\x00\x00\x01\x00\x00\xb6\x1b\ -\x00\x00\x07\x2a\x00\x00\x00\x00\x00\x01\x00\x00\xd6\xeb\ -\x00\x00\x05\xb6\x00\x00\x00\x00\x00\x01\x00\x00\xd2\x69\ -\x00\x00\x03\xae\x00\x00\x00\x00\x00\x01\x00\x00\x64\x3b\ -\x00\x00\x05\xde\x00\x00\x00\x00\x00\x01\x00\x00\x8c\xb0\ -\x00\x00\x04\x2c\x00\x00\x00\x00\x00\x01\x00\x00\x6e\x2b\ -\x00\x00\x05\x5e\x00\x00\x00\x00\x00\x01\x00\x00\x82\x3c\ -\x00\x00\x03\x60\x00\x00\x00\x00\x00\x01\x00\x00\x60\x89\ -\x00\x00\x05\x98\x00\x00\x00\x00\x00\x01\x00\x00\x85\xf2\ -\x00\x00\x04\xf0\x00\x00\x00\x00\x00\x01\x00\x00\x79\xe2\ -\x00\x00\x03\xf8\x00\x00\x00\x00\x00\x01\x00\x00\x6a\x63\ -\x00\x00\x03\xde\x00\x00\x00\x00\x00\x01\x00\x00\x66\xea\ -\x00\x00\x04\x54\x00\x00\x00\x00\x00\x01\x00\x00\x70\x48\ -\x00\x00\x03\x94\x00\x00\x00\x00\x00\x01\x00\x00\x62\x45\ -\x00\x00\x05\x3c\x00\x00\x00\x00\x00\x01\x00\x00\x80\x07\ -\x00\x00\x04\xce\x00\x00\x00\x00\x00\x01\x00\x00\x77\x58\ -\x00\x00\x03\x2c\x00\x00\x00\x00\x00\x01\x00\x00\x5e\x39\ -\x00\x00\x06\x06\x00\x00\x00\x00\x00\x01\x00\x00\x90\x57\ -\x00\x00\x04\x9a\x00\x00\x00\x00\x00\x01\x00\x00\x74\x04\ -\x00\x00\x05\x16\x00\x00\x00\x00\x00\x01\x00\x00\x7d\x76\ -\x00\x00\x05\xb6\x00\x00\x00\x00\x00\x01\x00\x00\x89\x1d\ +\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x01\x00\x00\x03\xd1\ +\x00\x00\x02\x8e\x00\x00\x00\x00\x00\x01\x00\x00\x5c\xa0\ +\x00\x00\x00\xa8\x00\x00\x00\x00\x00\x01\x00\x00\x44\x61\ +\x00\x00\x02\x2c\x00\x00\x00\x00\x00\x01\x00\x00\x58\xad\ +\x00\x00\x01\xd0\x00\x00\x00\x00\x00\x01\x00\x00\x57\x22\ +\x00\x00\x01\x84\x00\x00\x00\x00\x00\x01\x00\x00\x55\x96\ +\x00\x00\x03\x52\x00\x00\x00\x00\x00\x01\x00\x00\x62\x5c\ +\x00\x00\x01\x46\x00\x00\x00\x00\x00\x01\x00\x00\x4d\xde\ +\x00\x00\x02\xf0\x00\x00\x00\x00\x00\x01\x00\x00\x60\x06\ +\x00\x00\x02\x70\x00\x00\x00\x00\x00\x01\x00\x00\x5b\xce\ +\x00\x00\x02\x0e\x00\x00\x00\x00\x00\x01\x00\x00\x57\xed\ +\x00\x00\x01\xb2\x00\x00\x00\x00\x00\x01\x00\x00\x56\x4f\ +\x00\x00\x01\x66\x00\x00\x00\x00\x00\x01\x00\x00\x54\xd6\ +\x00\x00\x04\x32\x00\x00\x00\x00\x00\x01\x00\x01\x0c\x10\ +\x00\x00\x04\x32\x00\x00\x00\x00\x00\x01\x00\x01\xf7\x5d\ +\x00\x00\x04\x32\x00\x00\x00\x00\x00\x01\x00\x00\xee\x30\ +\x00\x00\x04\x32\x00\x00\x00\x00\x00\x01\x00\x01\x01\xc3\ +\x00\x00\x04\x32\x00\x00\x00\x00\x00\x01\x00\x02\x4e\x9a\ +\x00\x00\x06\x32\x00\x00\x00\x00\x00\x01\x00\x00\xe0\xcc\ +\x00\x00\x04\x80\x00\x00\x00\x00\x00\x01\x00\x00\xb1\xa4\ +\x00\x00\x06\xa8\x00\x00\x00\x00\x00\x01\x00\x00\xa0\x0f\ +\x00\x00\x07\x2c\x00\x00\x00\x00\x00\x01\x00\x00\xc4\x98\ +\x00\x00\x05\xb2\x00\x00\x00\x00\x00\x01\x00\x00\xd1\xc3\ +\x00\x00\x07\x56\x00\x00\x00\x00\x00\x01\x00\x00\xc7\x6f\ +\x00\x00\x06\x7c\x00\x00\x00\x00\x00\x01\x00\x00\x97\x8c\ +\x00\x00\x03\xb4\x00\x00\x00\x00\x00\x01\x00\x00\x9a\xe4\ +\x00\x00\x04\x4c\x00\x00\x00\x00\x00\x01\x00\x00\xa2\xe4\ +\x00\x00\x06\xcc\x00\x00\x00\x00\x00\x01\x00\x00\xa8\x7a\ +\x00\x00\x07\xa6\x00\x00\x00\x00\x00\x01\x00\x00\xe6\x41\ +\x00\x00\x04\xa8\x00\x00\x00\x00\x00\x01\x00\x00\xb5\x91\ +\x00\x00\x03\xe8\x00\x00\x00\x00\x00\x01\x00\x00\x9c\xe8\ +\x00\x00\x05\x22\x00\x00\x00\x00\x00\x01\x00\x00\xcd\xbe\ +\x00\x00\x06\x5a\x00\x00\x00\x00\x00\x01\x00\x00\xe9\x57\ +\x00\x00\x04\xee\x00\x00\x00\x00\x00\x01\x00\x00\xbf\x33\ +\x00\x00\x06\xfe\x00\x00\x00\x00\x00\x01\x00\x00\xbb\x05\ +\x00\x00\x07\x7e\x00\x00\x00\x00\x00\x01\x00\x00\xdb\xd5\ +\x00\x00\x06\x0a\x00\x00\x00\x00\x00\x01\x00\x00\xd7\x53\ +\x00\x00\x04\x02\x00\x00\x00\x00\x00\x01\x00\x00\x69\x25\ +\x00\x00\x06\x32\x00\x00\x00\x00\x00\x01\x00\x00\x91\x9a\ +\x00\x00\x04\x80\x00\x00\x00\x00\x00\x01\x00\x00\x73\x15\ +\x00\x00\x05\xb2\x00\x00\x00\x00\x00\x01\x00\x00\x87\x26\ +\x00\x00\x03\xb4\x00\x00\x00\x00\x00\x01\x00\x00\x65\x73\ +\x00\x00\x05\xec\x00\x00\x00\x00\x00\x01\x00\x00\x8a\xdc\ +\x00\x00\x05\x44\x00\x00\x00\x00\x00\x01\x00\x00\x7e\xcc\ +\x00\x00\x04\x4c\x00\x00\x00\x00\x00\x01\x00\x00\x6f\x4d\ +\x00\x00\x04\x32\x00\x00\x00\x00\x00\x01\x00\x00\x6b\xd4\ +\x00\x00\x04\xa8\x00\x00\x00\x00\x00\x01\x00\x00\x75\x32\ +\x00\x00\x03\xe8\x00\x00\x00\x00\x00\x01\x00\x00\x67\x2f\ +\x00\x00\x05\x90\x00\x00\x00\x00\x00\x01\x00\x00\x84\xf1\ +\x00\x00\x05\x22\x00\x00\x00\x00\x00\x01\x00\x00\x7c\x42\ +\x00\x00\x03\x80\x00\x00\x00\x00\x00\x01\x00\x00\x63\x23\ +\x00\x00\x06\x5a\x00\x00\x00\x00\x00\x01\x00\x00\x95\x41\ +\x00\x00\x04\xee\x00\x00\x00\x00\x00\x01\x00\x00\x78\xee\ +\x00\x00\x05\x6a\x00\x00\x00\x00\x00\x01\x00\x00\x82\x60\ +\x00\x00\x06\x0a\x00\x00\x00\x00\x00\x01\x00\x00\x8e\x07\ " def qInitResources(): diff --git a/picard/ui/itemviews.py b/picard/ui/itemviews.py index dd765f958..8a574be93 100644 --- a/picard/ui/itemviews.py +++ b/picard/ui/itemviews.py @@ -143,7 +143,9 @@ class MainPanel(QtGui.QSplitter): AlbumItem.icon_cd_saved_modified = icontheme.lookup('media-optical-saved-modified', icontheme.ICON_SIZE_MENU) AlbumItem.icon_error = icontheme.lookup('media-optical-error', icontheme.ICON_SIZE_MENU) - TrackItem.icon_note = QtGui.QIcon(":/images/note.png") + TrackItem.icon_audio = QtGui.QIcon(":/images/track-audio.png") + TrackItem.icon_video = QtGui.QIcon(":/images/track-video.png") + TrackItem.icon_data = QtGui.QIcon(":/images/track-data.png") FileItem.icon_file = QtGui.QIcon(":/images/file.png") FileItem.icon_file_pending = QtGui.QIcon(":/images/file-pending.png") FileItem.icon_error = icontheme.lookup('dialog-error', icontheme.ICON_SIZE_MENU) @@ -710,7 +712,12 @@ class TrackItem(TreeItem): else: color = TreeItem.text_color bgcolor = get_match_color(1, TreeItem.base_color) - icon = TrackItem.icon_note + if track.is_video(): + icon = TrackItem.icon_video + elif track.is_data(): + icon = TrackItem.icon_data + else: + icon = TrackItem.icon_audio oldnum = self.childCount() newnum = track.num_linked_files if oldnum > newnum: # remove old items diff --git a/resources/images/note.png b/resources/images/track-audio.png similarity index 100% rename from resources/images/note.png rename to resources/images/track-audio.png diff --git a/resources/images/track-data.png b/resources/images/track-data.png new file mode 100644 index 0000000000000000000000000000000000000000..d90ab661cbb29366ea77d3e8fb95841f1ee876c8 GIT binary patch literal 588 zcmV-S0<-;zP)WFU8GbZ8({Xk{QrNlj4iWF>9@00FQ`L_t(I%f*wyN*hrW zhQC;`PLh_6(FAQJr7#kZfPx4E#iGza=`xl&PtX@Ar1Sx#d6AAGt=aAYaO?!s%x>`Mz@cV#gU@{dK(pP8 z#v3v*G%TN$PzxDqW;gi$^~4bFQGMcmZY?>x_IuR2CK|Gr(s_OsGcg~@t z-EQ+g;X0kp9T9n`s?$0gNNb%WR4uK%AuP^b%AZmHJ+_iDi1`G!>2x}`YPH$}5sg3$FjJ{GSE*LT8UsKP0$G-6KFo)}SJ0r!uJ_4(m*@FH zp63eysv5OUjJ=(2x6fU=c$x8&9smFU07*qoM6N<$f*XM(!~g&Q literal 0 HcmV?d00001 diff --git a/resources/picard.qrc b/resources/picard.qrc index 27ca46029..30f822597 100644 --- a/resources/picard.qrc +++ b/resources/picard.qrc @@ -57,9 +57,11 @@ images/match-pending-80.png images/match-pending-90.png images/match-pending-100.png - images/note.png images/star-gray.png images/star.png + images/track-audio.png + images/track-data.png images/track-saved.png + images/track-video.png From 6ceed4879c4c28899cab57a36d33b90a4606645a Mon Sep 17 00:00:00 2001 From: Philipp Wolfer Date: Thu, 4 Dec 2014 14:03:05 +0100 Subject: [PATCH 5/8] in advanced options display the ignore files regex error message directly under the input fields. This was accidentally moved when adding new fields to this options page. --- picard/ui/ui_options_advanced.py | 8 ++++---- ui/options_advanced.ui | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/picard/ui/ui_options_advanced.py b/picard/ui/ui_options_advanced.py index 081e2a19e..3999eb2ff 100644 --- a/picard/ui/ui_options_advanced.py +++ b/picard/ui/ui_options_advanced.py @@ -36,13 +36,13 @@ class Ui_AdvancedOptionsPage(object): self.ignore_regex = QtGui.QLineEdit(self.groupBox) self.ignore_regex.setObjectName(_fromUtf8("ignore_regex")) self.gridlayout.addWidget(self.ignore_regex, 2, 0, 1, 1) + self.ignore_hidden_files = QtGui.QCheckBox(self.groupBox) + self.ignore_hidden_files.setObjectName(_fromUtf8("ignore_hidden_files")) + self.gridlayout.addWidget(self.ignore_hidden_files, 4, 0, 1, 1) self.regex_error = QtGui.QLabel(self.groupBox) self.regex_error.setText(_fromUtf8("")) self.regex_error.setObjectName(_fromUtf8("regex_error")) - self.gridlayout.addWidget(self.regex_error, 4, 0, 1, 1) - self.ignore_hidden_files = QtGui.QCheckBox(self.groupBox) - self.ignore_hidden_files.setObjectName(_fromUtf8("ignore_hidden_files")) - self.gridlayout.addWidget(self.ignore_hidden_files, 3, 0, 1, 1) + self.gridlayout.addWidget(self.regex_error, 3, 0, 1, 1) self.vboxlayout.addWidget(self.groupBox) self.groupBox_completeness = QtGui.QGroupBox(AdvancedOptionsPage) self.groupBox_completeness.setObjectName(_fromUtf8("groupBox_completeness")) diff --git a/ui/options_advanced.ui b/ui/options_advanced.ui index 9f06bb3d7..69bcd8a0f 100644 --- a/ui/options_advanced.ui +++ b/ui/options_advanced.ui @@ -31,16 +31,16 @@ - + - + Ignore hidden files - + - Ignore hidden files + From 8f89218fa9093783dea5e7d566e48b9e7ae43d40 Mon Sep 17 00:00:00 2001 From: Philipp Wolfer Date: Thu, 8 Jan 2015 09:19:21 +0100 Subject: [PATCH 6/8] Changed description of "ignore for completeness" option --- picard/resources.py | 2 +- picard/ui/ui_options_advanced.py | 2 +- ui/options_advanced.ui | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/picard/resources.py b/picard/resources.py index 37dd06707..89382210b 100644 --- a/picard/resources.py +++ b/picard/resources.py @@ -2,7 +2,7 @@ # Resource object code # -# Created: Di. Nov 25 16:31:48 2014 +# Created: Do. Jan 8 09:05:03 2015 # by: The Resource Compiler for PyQt (Qt v4.8.6) # # WARNING! All changes made in this file will be lost! diff --git a/picard/ui/ui_options_advanced.py b/picard/ui/ui_options_advanced.py index 3999eb2ff..0e078d9f5 100644 --- a/picard/ui/ui_options_advanced.py +++ b/picard/ui/ui_options_advanced.py @@ -72,7 +72,7 @@ class Ui_AdvancedOptionsPage(object): self.groupBox.setTitle(_("Advanced options")) self.label_ignore_regex.setText(_("Ignore file paths matching the following regular expression:")) self.ignore_hidden_files.setText(_("Ignore hidden files")) - self.groupBox_completeness.setTitle(_("Ignore the following tracks for release completeness")) + self.groupBox_completeness.setTitle(_("Ignore the following tracks when determining whether a release is complete")) self.completeness_ignore_videos.setText(_("Video tracks")) self.completeness_ignore_pregap.setText(_("Pregap tracks")) self.completeness_ignore_data.setText(_("Data tracks")) diff --git a/ui/options_advanced.ui b/ui/options_advanced.ui index 69bcd8a0f..71fdfc396 100644 --- a/ui/options_advanced.ui +++ b/ui/options_advanced.ui @@ -50,7 +50,7 @@ - Ignore the following tracks for release completeness + Ignore the following tracks when determining whether a release is complete From 39302a00c8a462075092b7ee65a6e32390181b2a Mon Sep 17 00:00:00 2001 From: Philipp Wolfer Date: Mon, 26 Jan 2015 23:14:24 +0100 Subject: [PATCH 7/8] Added new icons for audio, video and data tracks. Icons use symbols from Font Awesome by Dave Gandy - http://fontawesome.io --- picard/resources.py | 295 ++++++++++++++---------------- resources/images/track-audio.png | Bin 419 -> 388 bytes resources/images/track-data.png | Bin 588 -> 492 bytes resources/images/track-video.png | Bin 662 -> 394 bytes resources/img-src/licenses.txt | 11 ++ resources/img-src/track-audio.svg | 65 +++++++ resources/img-src/track-data.svg | 70 +++++++ resources/img-src/track-video.svg | 70 +++++++ 8 files changed, 351 insertions(+), 160 deletions(-) create mode 100644 resources/img-src/licenses.txt create mode 100644 resources/img-src/track-audio.svg create mode 100644 resources/img-src/track-data.svg create mode 100644 resources/img-src/track-video.svg diff --git a/picard/resources.py b/picard/resources.py index 89382210b..7b5c03bfd 100644 --- a/picard/resources.py +++ b/picard/resources.py @@ -2,7 +2,7 @@ # Resource object code # -# Created: Do. Jan 8 09:05:03 2015 +# Created: Mo. Jan 26 23:13:10 2015 # by: The Resource Compiler for PyQt (Qt v4.8.6) # # WARNING! All changes made in this file will be lost! @@ -36,44 +36,38 @@ qt_resource_data = "\ \x9b\x3c\x71\x95\x28\x7f\xf3\x9d\xed\x85\x7d\x96\xfa\xc9\xc9\x79\ \xf7\x20\x68\x4d\x1f\x7a\xed\x1f\x2d\x49\x58\xba\x4e\x19\x3c\x81\ \x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ -\x00\x00\x02\x4c\ +\x00\x00\x01\xec\ \x89\ \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ \x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ -\x00\x00\x00\x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\ -\xa7\x93\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\x00\ -\x0b\x13\x01\x00\x9a\x9c\x18\x00\x00\x00\x07\x74\x49\x4d\x45\x07\ -\xd6\x01\x05\x0d\x20\x02\x71\x5f\x5a\xcd\x00\x00\x00\x1d\x74\x45\ -\x58\x74\x43\x6f\x6d\x6d\x65\x6e\x74\x00\x43\x72\x65\x61\x74\x65\ -\x64\x20\x77\x69\x74\x68\x20\x54\x68\x65\x20\x47\x49\x4d\x50\xef\ -\x64\x25\x6e\x00\x00\x01\xb0\x49\x44\x41\x54\x38\xcb\xc5\x93\xc1\ -\x4a\x1b\x51\x14\x86\xbf\x58\xb1\x4e\x92\x96\x8e\xd1\x04\x6d\x25\ -\xa5\x30\x12\x90\x80\x82\x08\x03\xc5\xa2\xd0\x40\xe9\x32\x96\x3a\ -\x4f\xd0\x17\x28\xa4\xf4\x01\xa4\x79\x91\x8e\x21\xe4\x01\x3a\x82\ -\x81\xd9\x04\x5c\xb8\xc9\x26\x38\x82\x19\xb1\x8b\x99\x26\x8c\x2d\ -\x33\xde\x28\x2d\x76\xd1\xce\x74\x62\x4d\x37\x2e\x7a\x56\xe7\xde\ -\x73\xf9\x39\xe7\x3f\xdf\x85\x5b\x46\x62\x54\xe1\xf9\xfb\xbd\xab\ -\x30\xdf\xdd\xde\x18\xf9\x6e\x3c\x4c\xd4\x57\xef\xb6\xd2\x4a\x49\ -\x07\xf0\x2d\x43\x03\xa8\x94\x15\xaa\x0d\x6b\xa8\x76\x5d\x2c\x12\ -\x48\x2b\x25\xbd\x52\x56\xd8\x3f\xf4\x68\x52\xd2\xf3\x59\x09\xfb\ -\x8b\x20\x9f\x95\xb0\x29\xe9\xeb\xc5\x69\x56\x17\x64\x60\xef\x2a\ -\x2e\x32\x1e\x57\xdb\x3f\xf4\xc8\xc9\x93\x6c\xad\x3d\x8a\xee\xd4\ -\x42\x06\xb5\xf0\xa7\x7e\x3d\xc6\xc2\xc4\xb7\x0c\xad\xd9\xee\x01\ -\x70\xec\x04\xd4\xcc\x6e\xf0\xe9\xc0\xa1\x66\x76\x83\xcf\x7d\x01\ -\x40\xb3\xdd\x8b\xc6\x1b\x32\x31\x34\x2c\x9f\x95\x50\x0b\x19\x6a\ -\x66\x37\xf8\xfe\xf5\xc4\x10\xee\x51\x7d\xe2\x7e\x6e\x2d\x39\xbb\ -\xf8\x7a\xf3\xe9\x63\xb9\xd5\xe9\x63\xbb\x62\xc8\xd8\xa8\x83\x4a\ -\x59\x41\x2d\x64\x00\x78\x90\x96\x52\xc2\x3d\xaa\xb7\xea\x1f\xf4\ -\xcb\x6f\x8e\x79\x2f\x29\xc9\xe1\x38\x95\xb2\x72\xf3\x16\xaa\x0d\ -\x2b\xea\xe0\xfc\xe2\xf2\x62\xbe\xf8\xec\x2d\x40\x72\xae\xf8\xe6\ -\xcc\x17\x01\x90\x6a\x75\xfa\xec\x98\xe2\x6f\x0f\x76\xb7\x37\x12\ -\xbe\x65\x68\xb6\x2b\xc8\xcf\x48\x2c\x3d\x99\xba\x7b\xfe\x63\x62\ -\x71\x7e\xf9\xe5\xc7\x3b\xa9\x99\x95\x17\x2b\x0f\x53\x00\xb6\x2b\ -\xf0\x2d\x43\x8b\x6f\x21\x11\x07\x67\xbd\x38\x4d\x4e\x9e\x1c\x49\ -\x9d\xe3\x0d\x68\xb6\x7b\x43\x2c\x8c\xc5\x1f\xac\x2e\xc8\x38\xde\ -\x80\x1d\xf3\x94\x56\xa7\x0f\xc0\xaf\xb6\x4f\x71\xbc\xc1\x6f\x0e\ -\xfe\x81\x72\xb8\x0d\xdf\x32\xb4\x10\xac\x6a\xc3\x8a\xce\x37\x91\ -\x78\xeb\xbf\xf0\xff\xe3\x27\x7e\x4f\xb4\x84\x11\xee\x2e\x39\x00\ +\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ +\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\x0d\xd7\ +\x01\x42\x28\x9b\x78\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\ +\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\ +\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x01\x69\x49\x44\ +\x41\x54\x38\x8d\x8d\xd3\xbb\x6a\xd4\x51\x10\x06\xf0\xdf\x97\xb8\ +\x10\x04\xb3\xc6\x4b\x20\x44\xb0\xd3\xe0\x05\x2f\xa5\x12\x10\x0b\ +\x09\x58\x49\x34\x9d\x68\xe1\x13\x58\xfb\x1e\x92\x36\x2f\x60\xa1\ +\x68\x6b\xa7\x45\x0a\xd1\x66\x0b\x31\x82\x22\x42\x1a\x6f\x88\xa8\ +\x78\x2c\x76\xd4\xdd\xbf\x2c\x3a\x30\xcc\x99\xdb\x77\x86\xef\xcc\ +\xd1\x5a\x83\x0d\xb4\x7f\xe8\x26\x2e\xb5\xd6\x8c\xaa\x02\x18\xe0\ +\x06\x96\x26\xe8\x0b\xac\xe3\x33\xae\x8d\x02\x4c\xf9\x23\xaf\xf1\ +\x09\xb3\xad\xb5\x01\x96\xca\xbe\xc3\x34\xee\xe0\x32\x6e\x27\xb9\ +\xfa\xab\x69\x14\x00\x8e\xe2\x70\x92\x3e\x66\x2a\x76\xbc\x00\xe6\ +\x5b\x6b\xf7\xb1\x86\xf5\x24\xe7\x60\x47\x07\x60\x16\xdf\xf1\x0d\ +\xbd\x24\xbd\x8a\x35\x9c\x4f\xb2\xa7\xea\x1e\xe1\x26\x1e\x76\x01\ +\xee\x61\x11\x3f\xf0\x0a\x87\x70\x17\x47\x70\x16\x2b\x55\xd7\xaf\ +\xba\x31\x12\x57\xd0\xc3\xde\x8a\x2d\x94\x9d\xc2\x62\x9d\xe7\xcb\ +\x5f\xc1\xa0\x4b\x22\xec\xc7\xc5\x3a\x5f\x2f\x7b\x01\x27\x93\xcc\ +\x61\x15\xbb\x46\x1b\xc6\x00\x5a\x6b\x6f\xf0\xb5\xdc\xad\xb2\x3d\ +\xec\xac\xb1\xb7\x74\x64\x0c\x20\xc9\x09\x4c\x27\xd9\x57\xf6\x14\ +\x9e\xe1\xa3\xe1\x33\xf7\x8b\x8f\xb1\x5b\x7f\x73\xd0\xdd\xb2\x49\ +\x3a\x91\x83\x24\xcb\x49\xd6\x32\x94\x5b\x15\x3b\x93\x64\x35\xc9\ +\x4c\x92\x2b\x49\x96\x47\x7b\xba\xcf\xb8\xbb\xc6\x9c\xc7\xf3\x8a\ +\xcd\x55\xdd\xe9\xca\x7f\x31\xdc\x93\xbf\x39\xc0\x36\xde\xe3\x03\ +\x16\x8a\x83\xb7\x08\x1e\x57\x6e\x7b\xd2\x04\x07\xf0\xd2\x70\xf7\ +\x0f\xe2\xc1\x48\xee\x89\xe1\x52\x3d\x2d\xff\x58\x97\xc4\xff\xf9\ +\xce\x5d\xdd\x68\xad\xf9\x09\xc0\x15\xad\x77\x52\xd4\x5b\xb1\x00\ \x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ \x00\x00\x40\x8c\ \x89\ @@ -1240,35 +1234,33 @@ qt_resource_data = "\ \x01\x03\x83\x2f\x12\x7b\x33\x71\x56\x8c\x2a\xc0\x12\xd4\xb0\xd0\ \x43\x06\x8c\x14\xc7\x26\x00\xbe\x5b\x05\xd6\xa8\x8e\xff\x70\x00\ \x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ -\x00\x00\x01\xa3\ +\x00\x00\x01\x84\ \x89\ \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ \x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ -\x00\x00\x00\x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\ -\xa7\x93\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\ -\x0d\xd7\x01\x42\x28\x9b\x78\x00\x00\x00\x07\x74\x49\x4d\x45\x07\ -\xd5\x04\x1c\x0b\x36\x39\xbb\x24\x9f\x47\x00\x00\x01\x30\x49\x44\ -\x41\x54\x38\xcb\x63\x60\xa0\x10\x30\x62\x13\x2c\xad\x35\xed\x67\ -\x60\xfa\x5a\x40\x48\x33\x13\x13\xc7\x5e\x16\xec\x32\x5f\x0b\x82\ -\x83\x02\x09\xda\xbe\x76\xdd\x7a\x67\x26\x6c\x12\xff\xff\x33\x7e\ -\x23\xd6\x0b\x2c\x04\x6c\xc0\x2a\xfe\xff\x1f\xc3\xbf\x90\x90\x40\ -\x26\x82\x06\x30\x30\x30\x30\x74\x37\x5e\xc3\x08\xa7\x92\x3a\xed\ -\xef\x0c\x0c\x0c\x1c\x0c\x0c\x0c\x0c\x4c\x64\x06\xfe\x3f\x78\x70\ -\x61\x8d\x1a\xc6\xff\x5c\x78\xa3\x0e\x49\x9e\x89\xd2\x74\x40\x56\ -\x2c\x20\xcb\xb3\x30\x30\x30\x30\x64\x15\x5a\x48\x32\xb3\xfc\x89\ -\xfd\xf1\xfd\xbb\x93\x80\xf0\x7f\x77\x06\x86\xff\x0c\xbf\xfe\x7c\ -\x86\x6b\xc0\x27\xcf\xc2\xc0\xc0\xc0\xf0\xf9\xd3\xa7\x3a\x35\x2d\ -\xb6\x0c\x13\x33\x55\x06\x7e\x5e\x75\x06\x7e\x6e\x65\x86\x7b\x4f\ -\xd7\x32\x88\x89\x73\x32\x10\x92\x67\x61\x60\x60\x60\x90\x90\x61\ -\xc8\xb0\xb7\xb7\x66\xf8\xf7\xef\x0f\x03\x33\x33\x3b\xc3\xdd\x27\ -\x6b\x18\x2e\x9d\x7f\xfd\xff\xcd\xeb\xff\x5b\xf1\xc9\xbf\x7a\xc1\ -\xd4\x00\x4f\x07\xf7\x1e\x9e\x67\xe0\xe0\x60\x61\xe0\xe7\x7b\xcb\ -\x70\xf3\xfa\x5b\x86\x77\x6f\xff\x5e\x3c\x7d\xec\x43\x17\x3e\xf9\ -\xb3\x27\xdf\xee\x87\x27\x92\xc4\x4c\xb5\xdb\x22\x62\x2c\x2a\x0c\ -\x0c\x0c\x0c\xb7\xaf\xff\x5c\xb4\x61\xd5\xdd\x78\xe4\x80\x43\x97\ -\x97\x57\x94\xa8\x98\xd8\x79\xf4\x39\xa5\xb1\xc8\x00\x00\xbd\x75\ -\x89\xf9\x6f\x29\x4a\x9e\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\ -\x60\x82\ +\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ +\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\x0d\xd7\ +\x01\x42\x28\x9b\x78\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\ +\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\ +\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x01\x01\x49\x44\ +\x41\x54\x38\x8d\x8d\xd2\xbf\x2e\x83\x61\x14\xc7\xf1\xcf\xa1\x0c\ +\x22\x12\x8b\x84\x45\x68\x37\x4b\x17\x37\x20\x8d\x98\x48\xcc\x46\ +\x26\x37\xe0\x0a\x8c\x26\x2e\xa4\x83\x8d\xc4\x68\x63\x30\x35\x92\ +\x86\x20\x31\x11\x89\x8d\x1c\x83\x36\x79\x55\xdf\xb7\xfd\x25\x27\ +\x4f\xce\xc9\xf3\xfb\x9e\xf3\xfc\x89\xcc\x34\xae\x22\xa2\x8e\x9d\ +\x5e\xac\xa1\x55\x1b\x61\x08\xac\x0f\x98\x8a\x6a\x0e\x05\x44\xc4\ +\x34\x4e\xb0\x8b\xc5\xaa\x26\x65\x13\xec\xe3\xb0\xca\xd8\xd7\x44\ +\x49\x7d\x6e\x1c\x73\x15\xa0\x4c\x8f\x38\x45\x0b\xf7\x94\x1f\xa1\ +\xa8\x5b\xb4\xd1\xce\xcc\x9b\x7e\x31\x22\xbe\x47\x01\x3a\xd8\xcc\ +\xcc\x87\x2a\x7a\xd5\x11\xde\x46\x99\x47\x01\xfe\x29\x22\xa6\x22\ +\xe2\xcf\xb3\x8e\x05\x88\x88\x46\x44\x5c\xe2\x03\x2f\x11\xf1\x8a\ +\x65\xe4\x38\x97\x08\xc7\xd8\x28\xe4\x0b\xbd\xf5\xab\xd6\xeb\xb0\ +\x8a\x6d\x34\xf1\x8c\xc6\x00\xe0\xdc\xef\xaf\x9c\x2c\xd4\x9e\x70\ +\x01\x75\x7c\x22\x07\xe2\x3a\x33\xf5\x03\x2b\xd8\xc3\x11\xb6\x30\ +\x9b\x99\x6a\x58\xc2\xcc\x90\xb1\x3b\xc5\x24\x33\xbb\xe8\xfe\xdb\ +\xd5\xa3\x1f\xe0\x0a\xef\xb8\xc3\x19\xe6\x8b\x13\x94\xc5\x0f\x6c\ +\x71\x60\x2c\xa4\xe9\xa5\x5d\x00\x00\x00\x00\x49\x45\x4e\x44\xae\ +\x42\x60\x82\ \x00\x00\x06\xf4\ \x89\ \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ @@ -1540,7 +1532,7 @@ qt_resource_data = "\ \x23\xb1\x27\x12\xe7\x8b\x21\xa1\x00\xcd\x9b\x13\x31\x14\x30\x52\ \x1c\x9b\x00\xca\x15\x09\x34\x69\x85\x73\x4d\x00\x00\x00\x00\x49\ \x45\x4e\x44\xae\x42\x60\x82\ -\x00\x00\x02\x96\ +\x00\x00\x01\x8a\ \x89\ \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ \x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ @@ -1548,42 +1540,25 @@ qt_resource_data = "\ \x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\x0d\xd7\ \x01\x42\x28\x9b\x78\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\ \x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\ -\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x02\x13\x49\x44\ -\x41\x54\x38\x8d\xa5\x93\xcb\x6a\x14\x41\x14\x86\xbf\x53\x55\x73\ -\x6d\x48\x32\x20\x06\x62\x12\x23\x26\x0b\xb7\xde\x36\xba\x70\x63\ -\x06\x1d\xf0\x19\x7c\x04\x37\x82\xb8\x51\x50\x04\xf1\x31\x7c\x83\ -\x6c\x5c\x08\x09\x11\x22\xe2\xde\x60\xbc\x81\x26\x10\x83\x61\x48\ -\x9c\xe9\xea\xe9\x9e\xee\x3a\x2e\x3a\x11\x13\x03\x41\x3c\x9b\x2a\ -\xaa\xea\xff\xcf\x77\xce\xa1\xa4\xdd\x6e\xf3\x3f\xe1\x3a\x9d\xce\ -\x1d\x11\x79\xa8\xaa\xb5\x7f\x11\x8a\x88\x57\xd5\xbb\x4e\x55\x1f\ -\xb7\x6f\x5c\x8f\x9a\x8d\x26\x79\xae\xc7\x67\x74\x82\xb5\x86\x6e\ -\xb7\x5b\x5f\x5a\x7c\xf5\xc4\xa9\x6a\x6d\x74\x74\x84\xf9\x9b\xcf\ -\x49\xe9\x03\xa0\x7a\x84\xd1\xde\x51\x4d\x22\x5e\xbe\xb8\xcd\xc8\ -\xe8\x28\x40\xc3\xed\xdf\xa7\xa1\xcf\x85\xab\x63\x88\xc8\x1e\x22\ -\x80\x94\xab\x00\x5a\xee\xdf\x2c\x6f\xb3\xfa\xee\x3d\x53\x53\x93\ -\x25\x51\x9a\xa6\x80\xa0\xe2\x88\xd3\x50\x0a\x14\x44\xe4\x80\x49\ -\x36\xcc\xd9\xee\xfe\x04\x1c\x67\x67\x67\x31\x12\x4a\x03\xef\x3d\ -\x21\x14\x18\x63\x18\xe4\x52\x66\x2b\x9b\x04\x94\xc2\xcd\x1f\x3b\ -\xc4\x3e\x05\xa0\x61\x5a\x7c\x58\x5b\x63\x7a\x7a\x92\x24\x49\x70\ -\x49\x92\x50\x14\x01\x8c\x23\xc9\xcb\x6c\x8a\x20\x40\x9c\xa4\xec\ -\xf4\x12\x54\x1d\x95\xfa\x5e\xb5\x89\x65\x7a\xe6\x34\x15\x67\xf0\ -\xde\xe3\xe2\x38\x46\x83\x62\x4c\x85\x41\x70\xfb\x00\x24\xe9\x90\ -\x6c\x68\x70\xb5\xe8\xe0\xf8\xac\xe5\xf3\xc7\x4f\xcc\xcd\xcd\xd2\ -\xef\xf7\x4b\x02\x45\x11\x6b\x49\x83\x03\x05\x45\x51\x6b\xa9\xd8\ -\x23\x86\x61\x87\x4c\x9c\x9a\xc0\x18\xca\x12\xbc\xf7\x00\x18\xe3\ -\xb0\xd5\xe8\x6f\xc5\xa1\x18\x9a\x3e\x45\x51\xa0\x08\x71\x1c\xe3\ -\x42\x28\xbb\xd9\x6a\x38\xb2\xcd\xc1\xb1\x06\x51\xd5\x21\x46\x31\ -\x22\x25\x81\x73\xae\xb7\xfe\x6d\xa3\xf5\xec\xd1\xf9\x63\xc5\xbf\ -\x29\xd2\x9c\xf5\xf5\x0d\x80\x1d\xe9\x74\x3a\xb7\x6a\xb5\xda\x03\ -\x11\x8d\x40\x0c\x30\x53\xa9\x38\x57\xa9\x56\xc5\x1a\x03\x40\x11\ -\x02\x59\x96\x69\x3e\xcc\x87\xc0\x57\xd0\xa0\xca\xae\xf7\xc9\x7d\ -\x97\xe7\xf9\x42\x9e\xe7\x0b\x00\xaa\x1a\xb5\x4e\x8c\xbd\x9d\x6f\ -\xb7\xcf\x5d\xba\x78\x99\xf1\x93\xe3\xa8\x2a\x5b\x5b\xdf\x59\x79\ -\xbd\xa2\x4b\xcb\x4b\xab\x49\x6f\x70\x25\xcb\x32\xbf\x4f\x23\x87\ -\xbf\xb3\x31\x66\xa4\xde\xac\x3f\x6d\x46\xcd\x6b\xd6\x9a\x33\x80\ -\x16\xa1\xf8\x32\xf0\x83\xc5\xde\x6e\xff\x9e\x88\xc4\x7f\xbe\xff\ -\x05\x77\x8f\xf2\x46\xb9\x93\x0d\x1e\x00\x00\x00\x00\x49\x45\x4e\ -\x44\xae\x42\x60\x82\ +\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x01\x07\x49\x44\ +\x41\x54\x38\x8d\xad\xd3\x31\x4b\x83\x41\x0c\xc6\xf1\x5f\xb4\x20\ +\x88\x42\xb1\x3a\x08\x05\x07\x71\x55\xa1\x93\x83\x7b\x11\x97\x22\ +\xee\x82\xa8\xbb\x83\x1f\xc3\x55\xd0\xb1\x83\x83\xb8\xfa\x11\x9c\ +\x3b\x76\x71\x10\x1d\xc5\x49\x2c\x82\x72\x0e\xbd\xc2\x4b\xf1\xad\ +\x2d\x1a\x38\x2e\x90\xe4\xb9\xfc\x73\x24\x52\x4a\xfe\x62\x81\x5d\ +\x1c\x61\x66\xc2\xda\x0f\x5c\x05\x5e\x70\x89\x47\x9c\xe3\x0e\xb7\ +\x25\x45\x7b\xd8\xc1\x29\x56\x70\x0c\x09\xd5\x8c\xd2\x41\x33\xa5\ +\xe4\xa7\x83\x26\x3a\xd9\xaf\x22\x55\xb2\x72\x3b\x22\x9e\xb1\x3e\ +\x46\xeb\xeb\x11\x71\x81\x3a\x4c\x4d\x02\x5d\x66\xff\x82\x70\x16\ +\x11\x8f\x58\xc3\x61\x44\x54\x4b\x1e\xdb\xc3\x5a\x44\x9c\xe8\x0f\ +\x51\xa5\x10\x78\xc5\x2c\xb6\x31\x5f\x22\xb0\x99\x73\x0e\xb0\x50\ +\x44\x58\xce\x6d\x75\xd1\x1a\x81\xd0\x42\x37\xfb\xcb\x45\x84\xad\ +\x88\x78\x40\x0d\xbd\x11\xf3\xea\xa1\x16\x11\x1b\x58\x2d\x22\x5c\ +\xe3\x33\xb7\xf7\x9b\x2d\xe2\x7e\x50\x3b\xf8\xc6\x06\x96\xf0\x34\ +\x86\xc0\x53\xce\x6d\x0c\x04\x86\xb7\xa9\x3e\xa2\x78\x38\x96\x02\ +\x6d\xec\xe3\x4b\x1f\xe1\x0b\x6f\x25\x02\x73\x98\xc6\x7b\xbe\x6f\ +\xe2\xaf\xeb\xfc\x0d\xa4\xae\x7b\x37\x08\x76\x75\x73\x00\x00\x00\ +\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ \x00\x00\x00\xca\ \x89\ \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ @@ -9963,76 +9938,76 @@ qt_resource_name = "\ qt_resource_struct = "\ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x1c\x00\x00\x00\x02\ -\x00\x00\x02\x5a\x00\x00\x00\x00\x00\x01\x00\x00\x59\x69\ +\x00\x00\x02\x5a\x00\x00\x00\x00\x00\x01\x00\x00\x58\xea\ \x00\x00\x02\xe0\x00\x02\x00\x00\x00\x12\x00\x00\x00\x36\ \x00\x00\x01\xfe\x00\x02\x00\x00\x00\x13\x00\x00\x00\x23\ \x00\x00\x00\x12\x00\x02\x00\x00\x00\x01\x00\x00\x00\x22\ \x00\x00\x01\x02\x00\x02\x00\x00\x00\x01\x00\x00\x00\x21\ \x00\x00\x01\x36\x00\x02\x00\x00\x00\x01\x00\x00\x00\x20\ \x00\x00\x00\x22\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ -\x00\x00\x03\x32\x00\x00\x00\x00\x00\x01\x00\x00\x61\xa7\ -\x00\x00\x03\x0e\x00\x00\x00\x00\x00\x01\x00\x00\x60\xd4\ +\x00\x00\x03\x32\x00\x00\x00\x00\x00\x01\x00\x00\x60\x1c\ +\x00\x00\x03\x0e\x00\x00\x00\x00\x00\x01\x00\x00\x5f\x49\ \x00\x00\x00\x94\x00\x02\x00\x00\x00\x01\x00\x00\x00\x1f\ \x00\x00\x00\xee\x00\x02\x00\x00\x00\x01\x00\x00\x00\x1e\ -\x00\x00\x02\xbc\x00\x00\x00\x00\x00\x01\x00\x00\x5d\x6c\ -\x00\x00\x01\x12\x00\x00\x00\x00\x00\x01\x00\x00\x4c\x37\ -\x00\x00\x00\xbe\x00\x00\x00\x00\x00\x01\x00\x00\x4b\x87\ +\x00\x00\x02\xbc\x00\x00\x00\x00\x00\x01\x00\x00\x5c\xed\ +\x00\x00\x01\x12\x00\x00\x00\x00\x00\x01\x00\x00\x4b\xd7\ +\x00\x00\x00\xbe\x00\x00\x00\x00\x00\x01\x00\x00\x4b\x27\ \x00\x00\x00\x48\x00\x00\x00\x00\x00\x01\x00\x00\x01\x81\ -\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x01\x00\x00\x03\xd1\ -\x00\x00\x02\x8e\x00\x00\x00\x00\x00\x01\x00\x00\x5c\xa0\ -\x00\x00\x00\xa8\x00\x00\x00\x00\x00\x01\x00\x00\x44\x61\ -\x00\x00\x02\x2c\x00\x00\x00\x00\x00\x01\x00\x00\x58\xad\ -\x00\x00\x01\xd0\x00\x00\x00\x00\x00\x01\x00\x00\x57\x22\ -\x00\x00\x01\x84\x00\x00\x00\x00\x00\x01\x00\x00\x55\x96\ -\x00\x00\x03\x52\x00\x00\x00\x00\x00\x01\x00\x00\x62\x5c\ -\x00\x00\x01\x46\x00\x00\x00\x00\x00\x01\x00\x00\x4d\xde\ -\x00\x00\x02\xf0\x00\x00\x00\x00\x00\x01\x00\x00\x60\x06\ -\x00\x00\x02\x70\x00\x00\x00\x00\x00\x01\x00\x00\x5b\xce\ -\x00\x00\x02\x0e\x00\x00\x00\x00\x00\x01\x00\x00\x57\xed\ -\x00\x00\x01\xb2\x00\x00\x00\x00\x00\x01\x00\x00\x56\x4f\ -\x00\x00\x01\x66\x00\x00\x00\x00\x00\x01\x00\x00\x54\xd6\ -\x00\x00\x04\x32\x00\x00\x00\x00\x00\x01\x00\x01\x0c\x10\ -\x00\x00\x04\x32\x00\x00\x00\x00\x00\x01\x00\x01\xf7\x5d\ -\x00\x00\x04\x32\x00\x00\x00\x00\x00\x01\x00\x00\xee\x30\ -\x00\x00\x04\x32\x00\x00\x00\x00\x00\x01\x00\x01\x01\xc3\ -\x00\x00\x04\x32\x00\x00\x00\x00\x00\x01\x00\x02\x4e\x9a\ -\x00\x00\x06\x32\x00\x00\x00\x00\x00\x01\x00\x00\xe0\xcc\ -\x00\x00\x04\x80\x00\x00\x00\x00\x00\x01\x00\x00\xb1\xa4\ -\x00\x00\x06\xa8\x00\x00\x00\x00\x00\x01\x00\x00\xa0\x0f\ -\x00\x00\x07\x2c\x00\x00\x00\x00\x00\x01\x00\x00\xc4\x98\ -\x00\x00\x05\xb2\x00\x00\x00\x00\x00\x01\x00\x00\xd1\xc3\ -\x00\x00\x07\x56\x00\x00\x00\x00\x00\x01\x00\x00\xc7\x6f\ -\x00\x00\x06\x7c\x00\x00\x00\x00\x00\x01\x00\x00\x97\x8c\ -\x00\x00\x03\xb4\x00\x00\x00\x00\x00\x01\x00\x00\x9a\xe4\ -\x00\x00\x04\x4c\x00\x00\x00\x00\x00\x01\x00\x00\xa2\xe4\ -\x00\x00\x06\xcc\x00\x00\x00\x00\x00\x01\x00\x00\xa8\x7a\ -\x00\x00\x07\xa6\x00\x00\x00\x00\x00\x01\x00\x00\xe6\x41\ -\x00\x00\x04\xa8\x00\x00\x00\x00\x00\x01\x00\x00\xb5\x91\ -\x00\x00\x03\xe8\x00\x00\x00\x00\x00\x01\x00\x00\x9c\xe8\ -\x00\x00\x05\x22\x00\x00\x00\x00\x00\x01\x00\x00\xcd\xbe\ -\x00\x00\x06\x5a\x00\x00\x00\x00\x00\x01\x00\x00\xe9\x57\ -\x00\x00\x04\xee\x00\x00\x00\x00\x00\x01\x00\x00\xbf\x33\ -\x00\x00\x06\xfe\x00\x00\x00\x00\x00\x01\x00\x00\xbb\x05\ -\x00\x00\x07\x7e\x00\x00\x00\x00\x00\x01\x00\x00\xdb\xd5\ -\x00\x00\x06\x0a\x00\x00\x00\x00\x00\x01\x00\x00\xd7\x53\ -\x00\x00\x04\x02\x00\x00\x00\x00\x00\x01\x00\x00\x69\x25\ -\x00\x00\x06\x32\x00\x00\x00\x00\x00\x01\x00\x00\x91\x9a\ -\x00\x00\x04\x80\x00\x00\x00\x00\x00\x01\x00\x00\x73\x15\ -\x00\x00\x05\xb2\x00\x00\x00\x00\x00\x01\x00\x00\x87\x26\ -\x00\x00\x03\xb4\x00\x00\x00\x00\x00\x01\x00\x00\x65\x73\ -\x00\x00\x05\xec\x00\x00\x00\x00\x00\x01\x00\x00\x8a\xdc\ -\x00\x00\x05\x44\x00\x00\x00\x00\x00\x01\x00\x00\x7e\xcc\ -\x00\x00\x04\x4c\x00\x00\x00\x00\x00\x01\x00\x00\x6f\x4d\ -\x00\x00\x04\x32\x00\x00\x00\x00\x00\x01\x00\x00\x6b\xd4\ -\x00\x00\x04\xa8\x00\x00\x00\x00\x00\x01\x00\x00\x75\x32\ -\x00\x00\x03\xe8\x00\x00\x00\x00\x00\x01\x00\x00\x67\x2f\ -\x00\x00\x05\x90\x00\x00\x00\x00\x00\x01\x00\x00\x84\xf1\ -\x00\x00\x05\x22\x00\x00\x00\x00\x00\x01\x00\x00\x7c\x42\ -\x00\x00\x03\x80\x00\x00\x00\x00\x00\x01\x00\x00\x63\x23\ -\x00\x00\x06\x5a\x00\x00\x00\x00\x00\x01\x00\x00\x95\x41\ -\x00\x00\x04\xee\x00\x00\x00\x00\x00\x01\x00\x00\x78\xee\ -\x00\x00\x05\x6a\x00\x00\x00\x00\x00\x01\x00\x00\x82\x60\ -\x00\x00\x06\x0a\x00\x00\x00\x00\x00\x01\x00\x00\x8e\x07\ +\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x01\x00\x00\x03\x71\ +\x00\x00\x02\x8e\x00\x00\x00\x00\x00\x01\x00\x00\x5c\x21\ +\x00\x00\x00\xa8\x00\x00\x00\x00\x00\x01\x00\x00\x44\x01\ +\x00\x00\x02\x2c\x00\x00\x00\x00\x00\x01\x00\x00\x58\x2e\ +\x00\x00\x01\xd0\x00\x00\x00\x00\x00\x01\x00\x00\x56\xa3\ +\x00\x00\x01\x84\x00\x00\x00\x00\x00\x01\x00\x00\x55\x17\ +\x00\x00\x03\x52\x00\x00\x00\x00\x00\x01\x00\x00\x60\xd1\ +\x00\x00\x01\x46\x00\x00\x00\x00\x00\x01\x00\x00\x4d\x5f\ +\x00\x00\x02\xf0\x00\x00\x00\x00\x00\x01\x00\x00\x5e\x7b\ +\x00\x00\x02\x70\x00\x00\x00\x00\x00\x01\x00\x00\x5b\x4f\ +\x00\x00\x02\x0e\x00\x00\x00\x00\x00\x01\x00\x00\x57\x6e\ +\x00\x00\x01\xb2\x00\x00\x00\x00\x00\x01\x00\x00\x55\xd0\ +\x00\x00\x01\x66\x00\x00\x00\x00\x00\x01\x00\x00\x54\x57\ +\x00\x00\x04\x32\x00\x00\x00\x00\x00\x01\x00\x01\x0a\x85\ +\x00\x00\x04\x32\x00\x00\x00\x00\x00\x01\x00\x01\xf5\xd2\ +\x00\x00\x04\x32\x00\x00\x00\x00\x00\x01\x00\x00\xec\xa5\ +\x00\x00\x04\x32\x00\x00\x00\x00\x00\x01\x00\x01\x00\x38\ +\x00\x00\x04\x32\x00\x00\x00\x00\x00\x01\x00\x02\x4d\x0f\ +\x00\x00\x06\x32\x00\x00\x00\x00\x00\x01\x00\x00\xdf\x41\ +\x00\x00\x04\x80\x00\x00\x00\x00\x00\x01\x00\x00\xb0\x19\ +\x00\x00\x06\xa8\x00\x00\x00\x00\x00\x01\x00\x00\x9e\x84\ +\x00\x00\x07\x2c\x00\x00\x00\x00\x00\x01\x00\x00\xc3\x0d\ +\x00\x00\x05\xb2\x00\x00\x00\x00\x00\x01\x00\x00\xd0\x38\ +\x00\x00\x07\x56\x00\x00\x00\x00\x00\x01\x00\x00\xc5\xe4\ +\x00\x00\x06\x7c\x00\x00\x00\x00\x00\x01\x00\x00\x96\x01\ +\x00\x00\x03\xb4\x00\x00\x00\x00\x00\x01\x00\x00\x99\x59\ +\x00\x00\x04\x4c\x00\x00\x00\x00\x00\x01\x00\x00\xa1\x59\ +\x00\x00\x06\xcc\x00\x00\x00\x00\x00\x01\x00\x00\xa6\xef\ +\x00\x00\x07\xa6\x00\x00\x00\x00\x00\x01\x00\x00\xe4\xb6\ +\x00\x00\x04\xa8\x00\x00\x00\x00\x00\x01\x00\x00\xb4\x06\ +\x00\x00\x03\xe8\x00\x00\x00\x00\x00\x01\x00\x00\x9b\x5d\ +\x00\x00\x05\x22\x00\x00\x00\x00\x00\x01\x00\x00\xcc\x33\ +\x00\x00\x06\x5a\x00\x00\x00\x00\x00\x01\x00\x00\xe7\xcc\ +\x00\x00\x04\xee\x00\x00\x00\x00\x00\x01\x00\x00\xbd\xa8\ +\x00\x00\x06\xfe\x00\x00\x00\x00\x00\x01\x00\x00\xb9\x7a\ +\x00\x00\x07\x7e\x00\x00\x00\x00\x00\x01\x00\x00\xda\x4a\ +\x00\x00\x06\x0a\x00\x00\x00\x00\x00\x01\x00\x00\xd5\xc8\ +\x00\x00\x04\x02\x00\x00\x00\x00\x00\x01\x00\x00\x67\x9a\ +\x00\x00\x06\x32\x00\x00\x00\x00\x00\x01\x00\x00\x90\x0f\ +\x00\x00\x04\x80\x00\x00\x00\x00\x00\x01\x00\x00\x71\x8a\ +\x00\x00\x05\xb2\x00\x00\x00\x00\x00\x01\x00\x00\x85\x9b\ +\x00\x00\x03\xb4\x00\x00\x00\x00\x00\x01\x00\x00\x63\xe8\ +\x00\x00\x05\xec\x00\x00\x00\x00\x00\x01\x00\x00\x89\x51\ +\x00\x00\x05\x44\x00\x00\x00\x00\x00\x01\x00\x00\x7d\x41\ +\x00\x00\x04\x4c\x00\x00\x00\x00\x00\x01\x00\x00\x6d\xc2\ +\x00\x00\x04\x32\x00\x00\x00\x00\x00\x01\x00\x00\x6a\x49\ +\x00\x00\x04\xa8\x00\x00\x00\x00\x00\x01\x00\x00\x73\xa7\ +\x00\x00\x03\xe8\x00\x00\x00\x00\x00\x01\x00\x00\x65\xa4\ +\x00\x00\x05\x90\x00\x00\x00\x00\x00\x01\x00\x00\x83\x66\ +\x00\x00\x05\x22\x00\x00\x00\x00\x00\x01\x00\x00\x7a\xb7\ +\x00\x00\x03\x80\x00\x00\x00\x00\x00\x01\x00\x00\x61\x98\ +\x00\x00\x06\x5a\x00\x00\x00\x00\x00\x01\x00\x00\x93\xb6\ +\x00\x00\x04\xee\x00\x00\x00\x00\x00\x01\x00\x00\x77\x63\ +\x00\x00\x05\x6a\x00\x00\x00\x00\x00\x01\x00\x00\x80\xd5\ +\x00\x00\x06\x0a\x00\x00\x00\x00\x00\x01\x00\x00\x8c\x7c\ " def qInitResources(): diff --git a/resources/images/track-audio.png b/resources/images/track-audio.png index fd877cb8d3dd2c473ffebea22bb7926afcf0e0a5..1a87e455ddc477fecf528d8927a05a819867c00a 100644 GIT binary patch delta 361 zcmV-v0ha!w1B3&RB!2{RLP=Bz2nYy#2xN!=000SaNLh0L01ejw01ejxLMWSf0000P zbVXQnQ*UN;cVTj60C#tHE@^ISb7Ns}WiD@WXPfRk8UO$R0ZBwbR5*=|(!VZ)VHC&l z&!G$=5{raIXg5n2Hz19eNX$kiH{c44CN89djl^hUFg22fAb&9tiH#hCHhERwxBVq2 zPtM8n`=0asiOe*vBBG9+UaX;28(|2n515K-4h2NSG)}OK#i}M{6YS%#%GlRLNque{ za}}UWk2pmO_mm%@s9Utr&di&BF(ST40Xo>s%!ev^)e+uCnMVQsDI%sK;?J{=1&D}7 zL|oznFA?#IWn$zwmk7t$DC7&h^{dwFu!?Oo@r=d*;N0)8oGjFyZ~=9EA_w9+GxY;2 z*uxRFFq@fbSi;PZu{*^iGrQ>i+ts5V;0o`!!x`p_6O_ddY;j;Lr0Jzy00000NkvXX Hu0mjfOv9S( delta 372 zcmV-)0gL{G1ET|wBo78+OGiWi{{a60|De66laVnPe+P6)O+^RQ1RM)CIlCmEM*si; zFiAu~R5;6HV4x5%ViPQ_HSK3$`dUCpGZPcXUKZ>!UkieR0two_cHMesCTtS_|1*9g z)(b2IY``l1{~yD@kdQzof(9@!FfepCUc(5dk~;103=9k$3=9kmOk@WBKX`CqjT*-P zTzI1ne@UK+(sV#pEFjCXFfcGMWEEOSGPC@N{qg;~lYsDlcLs+448Q(-hHJnl&%(gK z!0`Fgr#dw)whR+9RR(@ubq0QJWrllC*D{ESb21Q;XJKGqV33eu$gsD!X88B-4+AqZ zJHy>4YZxw_fBpZ>>;GHv$-jER)BsNh_a2^STHxSdVc_R`%W(7hTZVUU|6V+O>_Znm z`LieA?uRFm#7wo@B4R8m3=9kmx3B+Pv|-iVc;tXXmzP(RsF>J!^f{%m$N&Jnb&2_J SDN3FI0000-pU`GdF7T@s=y(GPgHJnef zr|KTzCLVSH?tftsKky2Na2H2#7AsZPuevc3SJ1=WiY=6#!eX80%U{8uOCs#Y#X4Uv zdjTht%wZL~MjOTeT5E6cwcM?;J?yNpw{&C-Ajt_#C)ro_6rSOu;WPJ(kFi^SbI{$g zNji~(B+E(GGL%~tJCkHJ$xMb%707*qo IM6N<$g5hq_-v9sr delta 563 zcmV-30?hsF1Iz@FB!32COGiWi{{a60|De66lK=n!32;bRa{vGf6951U69E94oEQKA z00(qQO+^RR0R;^p0&!nj%>V!Z9dt!lbVF}#ZDnqB07G(RVRU6=Aa`kWXdqN*WgtgM zO;GP-C2jx!0kBC#K~y-)#goBG8&MR7zgV$Ol9rCq1Z^dyFn=Wm9Q!4>&0nS7i3`XDlRe}SKB}I$jOsztv!nF)ItWe@TYz~#=^w6 z46WJj0dVXD)XZ-1>A<08c7xA-0YJ0ei^dx=F*Gcnl~4;AYGyb1{`JHV?ooZ>er_!} zyZCzZ>0`Oo>0`TM$k?cZN?AcIWB_=OmQun!s<-MN^nc55j(IOB$>BJavU2klstqgZ z;QZq9V!rt7EkJUv_~y(P0g!5S`s|qEZx432Hxj;OXtpcJ&qypinYw%aV`6cB`Q^tu zshO1*D-Tluwkz;0LyK=A5eH|zI89ET97&zy4QRG|LoAHNAFM9OINpFA^ORPn55TXs zPjS4#Z!8Y}fpWMF-!ilitZKuG&Nq>G>%Z{-<0pPkw1g4vE;#@I002ovPDHLkV1i0oneR1&RZZZGQm=Nkl=E=u{sC^2XR%QlY@H^mm=+2D5fjUf0 z0$pbRf^ZfQk66QDL{v*2+rwH!oahfxr4V?<{9 delta 564 zcmV-40?Yl11C|AlZGQq2Nklgk^DIxad969Yj!n<}d6|Ic^M zp`_hz^FQG_oz5K*d8n$je-Vm^SJk^tRUfx+T#uTKCV8&MXMc2pwT5oDTVGmy^~9-a zZFF>m`J2y4=>wp8gwftnO(I^txXsAuC_uyQ->0F^g{xzT$Q~kql&b(*?%ynLv-<8m zQ&W>AQJSWJpyG(rPzn@8?$0gNNb%WR4uK%AuP^b%AZmHJ+_iDi1`G!>sZ@14~x_FuKljEo=TU*~*dA*`b%S)?CZ*V2cGQUqFhrhEi zW~AP%KP_!W&1=@0Gk_MM_%iT=#oliJo`}SMzW)VxkMc&jlMNmK0000 + + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/resources/img-src/track-data.svg b/resources/img-src/track-data.svg new file mode 100644 index 000000000..eba13dba0 --- /dev/null +++ b/resources/img-src/track-data.svg @@ -0,0 +1,70 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/resources/img-src/track-video.svg b/resources/img-src/track-video.svg new file mode 100644 index 000000000..005a4bead --- /dev/null +++ b/resources/img-src/track-video.svg @@ -0,0 +1,70 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + From a276f2043ab0444e3ca1bf6eabbc2e4a7fb399fb Mon Sep 17 00:00:00 2001 From: Philipp Wolfer Date: Sun, 1 Feb 2015 21:26:48 +0100 Subject: [PATCH 8/8] Some code simplification based on review feedback. --- picard/script.py | 11 +++++------ picard/track.py | 7 +------ 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/picard/script.py b/picard/script.py index 35de3ab0a..e4cb1c887 100644 --- a/picard/script.py +++ b/picard/script.py @@ -596,16 +596,15 @@ def func_performer(parser, pattern="", join=", "): def func_matchedtracks(parser, arg): - if parser.file: - if parser.file.parent: - return str(parser.file.parent.album.get_num_matched_tracks()) + if parser.file and parser.file.parent: + return str(parser.file.parent.album.get_num_matched_tracks()) return "0" def func_is_complete(parser): - if parser.file: - if parser.file.parent and parser.file.parent.album.is_complete(): - return "1" + if (parser.file and parser.file.parent + and parser.file.parent.album.is_complete()): + return "1" return "0" diff --git a/picard/track.py b/picard/track.py index 35812c64d..9f4850e8a 100644 --- a/picard/track.py +++ b/picard/track.py @@ -126,12 +126,7 @@ class Track(DataObject, Item): return self.metadata['~silence'] == '1' def is_complete(self): - if self.ignored_for_completeness(): - return True - elif self.num_linked_files != 1: - return False - - return True + return self.ignored_for_completeness() or self.num_linked_files == 1 def ignored_for_completeness(self): if (config.setting['completeness_ignore_videos'] and self.is_video()) \