Example #1
0
 def __init__(self, releases, disc, parent=None):
     PicardDialog.__init__(self, parent)
     self.releases = releases
     self.disc = disc
     self.ui = Ui_Dialog()
     self.ui.setupUi(self)
     self.ui.release_list.setSortingEnabled(True)
     self.ui.release_list.setHeaderLabels([_("Album"), _("Artist"), _("Date"), _("Country"),
                                           _("Labels"), _("Catalog #s"), _("Barcode")])
     if self.releases:
         for release in self.releases:
             labels, catalog_numbers = label_info_from_node(release['label-info'])
             date = release['date'] if "date" in release else ""
             country = release['country'] if "country" in release else ""
             barcode = release['barcode'] if "barcode" in release else ""
             item = QtWidgets.QTreeWidgetItem(self.ui.release_list)
             item.setText(0, release['title'])
             item.setText(1, artist_credit_from_node(release['artist-credit'])[0])
             item.setText(2, date)
             item.setText(3, country)
             item.setText(4, ", ".join(labels))
             item.setText(5, ", ".join(catalog_numbers))
             item.setText(6, barcode)
             item.setData(0, QtCore.Qt.UserRole, release['id'])
         self.ui.release_list.setCurrentItem(self.ui.release_list.topLevelItem(0))
         self.ui.ok_button.setEnabled(True)
     for i in range(self.ui.release_list.columnCount() - 1):
         self.ui.release_list.resizeColumnToContents(i)
     # Sort by descending date, then ascending country
     self.ui.release_list.sortByColumn(3, QtCore.Qt.AscendingOrder)
     self.ui.release_list.sortByColumn(2, QtCore.Qt.DescendingOrder)
     self.ui.lookup_button.clicked.connect(self.lookup)
Example #2
0
    def __init__(self, default_page=None, parent=None):
        PicardDialog.__init__(self, parent)

        from picard.ui.ui_options import Ui_Dialog
        self.ui = Ui_Dialog()
        self.ui.setupUi(self)

        self.ui.buttonbox.addButton(StandardButton(StandardButton.OK),
                                    QtGui.QDialogButtonBox.AcceptRole)
        self.ui.buttonbox.addButton(StandardButton(StandardButton.CANCEL),
                                    QtGui.QDialogButtonBox.RejectRole)
        self.ui.buttonbox.addButton(StandardButton(StandardButton.HELP),
                                    QtGui.QDialogButtonBox.HelpRole)
        self.ui.buttonbox.accepted.connect(self.accept)
        self.ui.buttonbox.rejected.connect(self.reject)
        self.ui.buttonbox.helpRequested.connect(self.help)

        self.pages = []
        for Page in page_classes:
            page = Page(self.ui.pages_stack)
            self.pages.append(page)
        self.item_to_page = {}
        self.page_to_item = {}
        self.default_item = None
        self.add_pages(None, default_page, self.ui.pages_tree)

        self.ui.pages_tree.setHeaderLabels([""])
        self.ui.pages_tree.header().hide()
        self.ui.pages_tree.itemSelectionChanged.connect(self.switch_page)

        self.restoreWindowState()

        for page in self.pages:
            page.load()
        self.ui.pages_tree.setCurrentItem(self.default_item)
Example #3
0
 def __init__(self, files, parent=None):
     PicardDialog.__init__(self, parent)
     self.ui = Ui_TagsFromFileNamesDialog()
     self.ui.setupUi(self)
     items = [
         "%artist%/%album%/%tracknumber% %title%",
         "%artist%/%album%/%tracknumber% - %title%",
         "%artist%/%album - %tracknumber% - %title%",
     ]
     format = config.persist["tags_from_filenames_format"]
     if format and format not in items:
         items.insert(0, format)
     self.ui.format.addItems(items)
     self.ui.buttonbox.addButton(StandardButton(StandardButton.OK), QtGui.QDialogButtonBox.AcceptRole)
     self.ui.buttonbox.addButton(StandardButton(StandardButton.CANCEL), QtGui.QDialogButtonBox.RejectRole)
     self.ui.buttonbox.accepted.connect(self.accept)
     self.ui.buttonbox.rejected.connect(self.reject)
     self.ui.preview.clicked.connect(self.preview)
     self.ui.files.setHeaderLabels([_("File Name")])
     self.restoreWindowState()
     self.files = files
     self.items = []
     for file in files:
         item = QtGui.QTreeWidgetItem(self.ui.files)
         item.setText(0, os.path.basename(file.filename))
         self.items.append(item)
     self._tag_re = re.compile("(%\w+%)")
Example #4
0
 def __init__(self, releases, disc, parent=None):
     PicardDialog.__init__(self, parent)
     self.releases = releases
     self.disc = disc
     self.ui = Ui_Dialog()
     self.ui.setupUi(self)
     self.ui.release_list.setSortingEnabled(True)
     self.ui.release_list.setHeaderLabels([_(u"Album"), _(u"Artist"), _(u"Date"), _(u"Country"),
                                           _(u"Labels"), _(u"Catalog #s"), _(u"Barcode")])
     if self.releases:
         for release in self.releases:
             labels, catalog_numbers = label_info_from_node(release.label_info_list[0])
             date = release.date[0].text if "date" in release.children else ""
             country = release.country[0].text if "country" in release.children else ""
             barcode = release.barcode[0].text if "barcode" in release.children else ""
             item = QtGui.QTreeWidgetItem(self.ui.release_list)
             item.setText(0, release.title[0].text)
             item.setText(1, artist_credit_from_node(release.artist_credit[0])[0])
             item.setText(2, date)
             item.setText(3, country)
             item.setText(4, ", ".join(labels))
             item.setText(5, ", ".join(catalog_numbers))
             item.setText(6, barcode)
             item.setData(0, QtCore.Qt.UserRole, release.id)
         self.ui.release_list.setCurrentItem(self.ui.release_list.topLevelItem(0))
         self.ui.ok_button.setEnabled(True)
     for i in range(self.ui.release_list.columnCount() - 1):
         self.ui.release_list.resizeColumnToContents(i)
     # Sort by descending date, then ascending country
     self.ui.release_list.sortByColumn(3, QtCore.Qt.AscendingOrder)
     self.ui.release_list.sortByColumn(2, QtCore.Qt.DescendingOrder)
     self.ui.lookup_button.clicked.connect(self.lookup)
 def __init__(self, window, tag):
     PicardDialog.__init__(self, window)
     self.ui = Ui_EditTagDialog()
     self.ui.setupUi(self)
     self.window = window
     self.value_list = self.ui.value_list
     self.metadata_box = window.metadata_box
     self.tag = tag
     self.modified_tags = {}
     self.different = False
     self.default_tags = sorted(
         set(list(TAG_NAMES.keys()) + self.metadata_box.tag_diff.tag_names))
     if len(self.metadata_box.files) == 1:
         current_file = list(self.metadata_box.files)[0]
         self.default_tags = list(filter(lambda x: current_file.supports_tag(x),
                                         self.default_tags))
     tag_names = self.ui.tag_names
     tag_names.editTextChanged.connect(self.tag_changed)
     tag_names.addItem("")
     visible_tags = [tn for tn in self.default_tags if not tn.startswith("~")]
     tag_names.addItems(visible_tags)
     self.completer = QtWidgets.QCompleter(visible_tags, tag_names)
     self.completer.setCompletionMode(QtWidgets.QCompleter.PopupCompletion)
     tag_names.setCompleter(self.completer)
     self.tag_changed(tag)
     self.value_selection_changed()
     self.ui.edit_value.clicked.connect(self.edit_value)
     self.ui.add_value.clicked.connect(self.add_value)
     self.ui.remove_value.clicked.connect(self.remove_value)
     self.value_list.itemChanged.connect(self.value_edited)
     self.value_list.itemSelectionChanged.connect(self.value_selection_changed)
Example #6
0
    def __init__(self, obj, parent=None):
        PicardDialog.__init__(self, parent)
        self.obj = obj
        self.ui = Ui_InfoDialog()
        self.display_existing_artwork = False
        if isinstance(obj, File) and isinstance(obj.parent, Track) or \
                isinstance(obj, Track):
            # Display existing artwork only if selected object is track object
            # or linked to a track object
            self.display_existing_artwork = True

        self.ui.setupUi(self)
        self.ui.buttonBox.accepted.connect(self.accept)
        self.ui.buttonBox.rejected.connect(self.reject)

        # Add the ArtworkTable to the ui
        self.ui.artwork_table = ArtworkTable(self.display_existing_artwork)
        self.ui.artwork_table.setObjectName("artwork_table")
        self.ui.vboxlayout1.addWidget(self.ui.artwork_table)
        if self.display_existing_artwork:
            self.resize(665, 436)
        self.setTabOrder(self.ui.tabWidget, self.ui.artwork_table)
        self.setTabOrder(self.ui.artwork_table, self.ui.buttonBox)

        self.setWindowTitle(_("Info"))
        self.artwork_table = self.ui.artwork_table
        self._display_tabs()
Example #7
0
    def __init__(self, default_page=None, parent=None):
        PicardDialog.__init__(self, parent)

        from picard.ui.ui_options import Ui_Dialog
        self.ui = Ui_Dialog()
        self.ui.setupUi(self)

        self.ui.buttonbox.addButton(StandardButton(StandardButton.OK), QtGui.QDialogButtonBox.AcceptRole)
        self.ui.buttonbox.addButton(StandardButton(StandardButton.CANCEL), QtGui.QDialogButtonBox.RejectRole)
        self.ui.buttonbox.addButton(StandardButton(StandardButton.HELP), QtGui.QDialogButtonBox.HelpRole)
        self.ui.buttonbox.accepted.connect(self.accept)
        self.ui.buttonbox.rejected.connect(self.reject)
        self.ui.buttonbox.helpRequested.connect(self.help)

        self.pages = []
        for Page in page_classes:
            page = Page(self.ui.pages_stack)
            self.pages.append(page)
        self.item_to_page = {}
        self.page_to_item = {}
        self.default_item = None
        self.add_pages(None, default_page, self.ui.pages_tree)

        self.ui.pages_tree.setHeaderLabels([""])
        self.ui.pages_tree.header().hide()
        self.ui.pages_tree.itemSelectionChanged.connect(self.switch_page)

        self.restoreWindowState()

        for page in self.pages:
            page.load()
        self.ui.pages_tree.setCurrentItem(self.default_item)
Example #8
0
 def __init__(self, window, tag):
     PicardDialog.__init__(self, window)
     self.ui = Ui_EditTagDialog()
     self.ui.setupUi(self)
     self.window = window
     self.value_list = self.ui.value_list
     self.metadata_box = window.metadata_box
     self.tag = tag
     self.modified_tags = {}
     self.different = False
     self.default_tags = sorted(
         set(TAG_NAMES.keys() + self.metadata_box.tag_diff.tag_names))
     if len(self.metadata_box.files) == 1:
         current_file = list(self.metadata_box.files)[0]
         self.default_tags = filter(lambda x: current_file.supports_tag(x),
                                    self.default_tags)
     tag_names = self.ui.tag_names
     tag_names.editTextChanged.connect(self.tag_changed)
     tag_names.addItem("")
     visible_tags = [
         tn for tn in self.default_tags if not tn.startswith("~")
     ]
     tag_names.addItems(visible_tags)
     self.completer = QtGui.QCompleter(visible_tags, tag_names)
     self.completer.setCompletionMode(QtGui.QCompleter.PopupCompletion)
     tag_names.setCompleter(self.completer)
     self.tag_changed(tag)
     self.value_selection_changed()
     self.ui.edit_value.clicked.connect(self.edit_value)
     self.ui.add_value.clicked.connect(self.add_value)
     self.ui.remove_value.clicked.connect(self.remove_value)
     self.value_list.itemChanged.connect(self.value_edited)
     self.value_list.itemSelectionChanged.connect(
         self.value_selection_changed)
Example #9
0
    def __init__(self, default_page=None, parent=None):
        PicardDialog.__init__(self, parent)

        from picard.ui.ui_options import Ui_Dialog
        self.ui = Ui_Dialog()
        self.ui.setupUi(self)

        self.ui.reset_all_button = QtWidgets.QPushButton(
            _("&Restore all Defaults"))
        self.ui.reset_all_button.setToolTip(
            _("Reset all of Picard's settings"))
        self.ui.reset_button = QtWidgets.QPushButton(_("Restore &Defaults"))
        self.ui.reset_button.setToolTip(
            _("Reset all settings for current option page"))

        ok = StandardButton(StandardButton.OK)
        ok.setText(_("Make It So!"))
        self.ui.buttonbox.addButton(ok, QtWidgets.QDialogButtonBox.AcceptRole)
        self.ui.buttonbox.addButton(StandardButton(StandardButton.CANCEL),
                                    QtWidgets.QDialogButtonBox.RejectRole)
        self.ui.buttonbox.addButton(StandardButton(StandardButton.HELP),
                                    QtWidgets.QDialogButtonBox.HelpRole)
        self.ui.buttonbox.addButton(self.ui.reset_all_button,
                                    QtWidgets.QDialogButtonBox.ActionRole)
        self.ui.buttonbox.addButton(self.ui.reset_button,
                                    QtWidgets.QDialogButtonBox.ActionRole)

        self.ui.buttonbox.accepted.connect(self.accept)
        self.ui.buttonbox.rejected.connect(self.reject)
        self.ui.reset_all_button.clicked.connect(self.confirm_reset_all)
        self.ui.reset_button.clicked.connect(self.confirm_reset)
        self.ui.buttonbox.helpRequested.connect(self.help)

        self.pages = []
        for Page in page_classes:
            page = Page(self.ui.pages_stack)
            self.pages.append(page)
        self.item_to_page = {}
        self.page_to_item = {}
        self.default_item = None
        self.add_pages(None, default_page, self.ui.pages_tree)

        # work-around to set optimal option pane width
        self.ui.pages_tree.expandAll()
        max_page_name = self.ui.pages_tree.sizeHintForColumn(
            0) + 2 * self.ui.pages_tree.frameWidth()
        self.ui.pages_tree.collapseAll()
        self.ui.pages_tree.setMinimumWidth(max_page_name)

        self.ui.pages_tree.setHeaderLabels([""])
        self.ui.pages_tree.header().hide()
        self.ui.pages_tree.itemSelectionChanged.connect(self.switch_page)

        self.restoreWindowState()

        for page in self.pages:
            page.load()
        self.ui.pages_tree.setCurrentItem(self.default_item)
Example #10
0
 def __init__(self, obj, parent=None):
     PicardDialog.__init__(self, parent)
     self.obj = obj
     self.ui = Ui_InfoDialog()
     self.ui.setupUi(self)
     self.ui.buttonBox.accepted.connect(self.accept)
     self.ui.buttonBox.rejected.connect(self.reject)
     self.setWindowTitle(_("Info"))
     self._display_tabs()
Example #11
0
 def __init__(self, authenticator, proxy, parent=None):
     PicardDialog.__init__(self, parent)
     self._authenticator = authenticator
     self._proxy = proxy
     self.ui = Ui_PasswordDialog()
     self.ui.setupUi(self)
     self.ui.info_text.setText(_("The proxy %s requires you to login. Please enter your username and password.")
                               % config.setting["proxy_server_host"])
     self.ui.username.setText(config.setting["proxy_username"])
     self.ui.password.setText(config.setting["proxy_password"])
     self.ui.buttonbox.accepted.connect(self.set_proxy_password)
Example #12
0
 def __init__(self, authenticator, reply, parent=None):
     PicardDialog.__init__(self, parent)
     self._authenticator = authenticator
     self.ui = Ui_PasswordDialog()
     self.ui.setupUi(self)
     self.ui.info_text.setText(
         _("The server %s requires you to login. Please enter your username and password.") %
         reply.url().host())
     self.ui.username.setText(reply.url().userName())
     self.ui.password.setText(reply.url().password())
     self.ui.buttonbox.accepted.connect(self.set_new_password)
Example #13
0
 def __init__(self, authenticator, reply, parent=None):
     PicardDialog.__init__(self, parent)
     self._authenticator = authenticator
     self.ui = Ui_PasswordDialog()
     self.ui.setupUi(self)
     self.ui.info_text.setText(
         _("The server %s requires you to login. Please enter your username and password."
           ) % reply.url().host())
     self.ui.username.setText(reply.url().userName())
     self.ui.password.setText(reply.url().password())
     self.ui.buttonbox.accepted.connect(self.set_new_password)
Example #14
0
 def __init__(self, authenticator, proxy, parent=None):
     PicardDialog.__init__(self, parent)
     self._authenticator = authenticator
     self._proxy = proxy
     self.ui = Ui_PasswordDialog()
     self.ui.setupUi(self)
     self.ui.info_text.setText(
         _("The proxy %s requires you to login. Please enter your username and password."
           ) % config.setting["proxy_server_host"])
     self.ui.username.setText(config.setting["proxy_username"])
     self.ui.password.setText(config.setting["proxy_password"])
     self.ui.buttonbox.accepted.connect(self.set_proxy_password)
Example #15
0
 def __init__(self, title, logger, w=740, h=340, parent=None):
     PicardDialog.__init__(self, parent)
     self.logger = logger
     self.setWindowFlags(QtCore.Qt.Window)
     self.resize(w, h)
     self.setWindowTitle(title)
     self.doc = QtGui.QTextDocument(self)
     self.textCursor = QtGui.QTextCursor(self.doc)
     self.browser = QtWidgets.QTextBrowser(self)
     self.browser.setDocument(self.doc)
     self.vbox = QtWidgets.QVBoxLayout(self)
     self.vbox.addWidget(self.browser)
     self._display()
Example #16
0
 def __init__(self, title, logger, w=740, h=340, parent=None):
     PicardDialog.__init__(self, parent)
     self.logger = logger
     self.setWindowFlags(QtCore.Qt.Window)
     self.resize(w, h)
     self.setWindowTitle(title)
     self.doc = QtGui.QTextDocument(self)
     self.textCursor = QtGui.QTextCursor(self.doc)
     self.browser = QtGui.QTextBrowser(self)
     self.browser.setDocument(self.doc)
     vbox = QtGui.QHBoxLayout(self)
     vbox.addWidget(self.browser)
     self._display()
Example #17
0
    def __init__(self, default_page=None, parent=None):
        PicardDialog.__init__(self, parent)

        from picard.ui.ui_options import Ui_Dialog
        self.ui = Ui_Dialog()
        self.ui.setupUi(self)

        self.ui.reset_all_button = QtGui.QPushButton(_("&Restore all Defaults"))
        self.ui.reset_all_button.setToolTip(_("Reset all of Picard's settings"))
        self.ui.reset_button = QtGui.QPushButton(_("Restore &Defaults"))
        self.ui.reset_button.setToolTip(_("Reset all settings for current option page"))

        self.ui.buttonbox.addButton(StandardButton(StandardButton.OK), QtGui.QDialogButtonBox.AcceptRole)
        self.ui.buttonbox.addButton(StandardButton(StandardButton.CANCEL), QtGui.QDialogButtonBox.RejectRole)
        self.ui.buttonbox.addButton(StandardButton(StandardButton.HELP), QtGui.QDialogButtonBox.HelpRole)
        self.ui.buttonbox.addButton(self.ui.reset_all_button, QtGui.QDialogButtonBox.ActionRole)
        self.ui.buttonbox.addButton(self.ui.reset_button, QtGui.QDialogButtonBox.ActionRole)

        self.ui.buttonbox.accepted.connect(self.accept)
        self.ui.buttonbox.rejected.connect(self.reject)
        self.ui.reset_all_button.clicked.connect(self.confirm_reset_all)
        self.ui.reset_button.clicked.connect(self.confirm_reset)
        self.ui.buttonbox.helpRequested.connect(self.help)

        self.pages = []
        for Page in page_classes:
            page = Page(self.ui.pages_stack)
            self.pages.append(page)
        self.item_to_page = {}
        self.page_to_item = {}
        self.default_item = None
        self.add_pages(None, default_page, self.ui.pages_tree)

        # work-around to set optimal option pane width
        self.ui.pages_tree.expandAll()
        max_page_name = self.ui.pages_tree.sizeHintForColumn(0) + 2*self.ui.pages_tree.frameWidth()
        self.ui.pages_tree.collapseAll()
        self.ui.pages_tree.setMinimumWidth(max_page_name)

        self.ui.pages_tree.setHeaderLabels([""])
        self.ui.pages_tree.header().hide()
        self.ui.pages_tree.itemSelectionChanged.connect(self.switch_page)

        self.restoreWindowState()

        for page in self.pages:
            page.load()
        self.ui.pages_tree.setCurrentItem(self.default_item)
Example #18
0
 def __init__(self, obj, parent=None):
     PicardDialog.__init__(self, parent)
     self.obj = obj
     self.ui = Ui_InfoDialog()
     self.display_existing_artwork = False
     if isinstance(obj, File) and isinstance(obj.parent, Track) or \
             isinstance(obj, Track):
         #Display existing artwork only if selected object is track object
         #or linked to a track object
         self.display_existing_artwork = True
     self.ui.setupUi(self, self.display_existing_artwork)
     self.ui.buttonBox.accepted.connect(self.accept)
     self.ui.buttonBox.rejected.connect(self.reject)
     self.setWindowTitle(_("Info"))
     self.artwork_table = self.ui.artwork_table
     self._display_tabs()
Example #19
0
 def __init__(self, authenticator, reply, parent=None):
     PicardDialog.__init__(self, parent)
     self._authenticator = authenticator
     self.ui = Ui_PasswordDialog()
     self.ui.setupUi(self)
     self.ui.info_text.setText(
         _("The server %s requires you to login. Please enter your username and password.") %
         reply.url().host())
     # TODO: Implement proper password storage for arbitrary servers
     if self._is_musicbrainz_server(reply.url().host()):
         self.ui.save_authentication.setChecked(config.persist["save_authentication"])
         self.ui.username.setText(config.setting["username"])
         self.ui.password.setText(config.setting["password"])
     else:
         self.ui.username.setText(reply.url().userName())
         self.ui.password.setText(reply.url().password())
         self.ui.save_authentication.setChecked(False)
         self.ui.save_authentication.hide()
     self.ui.buttonbox.accepted.connect(self.set_new_password)
Example #20
0
    def __init__(self, obj, parent=None):
        PicardDialog.__init__(self, parent)
        self.obj = obj
        self.images = []
        self.existing_images = []
        self.ui = Ui_InfoDialog()
        self.display_existing_artwork = False

        if (isinstance(obj, File) and
                isinstance(obj.parent, Track) or
                isinstance(obj, Track) or
                (isinstance(obj, Album) and obj.get_num_total_files() > 0)):
            # Display existing artwork only if selected object is track object
            # or linked to a track object or it's an album with files
            if (getattr(obj, 'orig_metadata', None) is not None and
                    obj.orig_metadata.images and
                    obj.orig_metadata.images != obj.metadata.images):
                self.display_existing_artwork = True
                self.existing_images = obj.orig_metadata.images

        if obj.metadata.images:
            self.images = obj.metadata.images
        if not self.images and self.existing_images:
            self.images = self.existing_images
            self.existing_images = []
            self.display_existing_artwork = False
        self.ui.setupUi(self)
        self.ui.buttonBox.accepted.connect(self.accept)
        self.ui.buttonBox.rejected.connect(self.reject)

        # Add the ArtworkTable to the ui
        self.ui.artwork_table = ArtworkTable(self.display_existing_artwork)
        self.ui.artwork_table.setObjectName("artwork_table")
        self.ui.vboxlayout1.addWidget(self.ui.artwork_table)
        if self.display_existing_artwork:
            self.resize(665, 436)
        self.setTabOrder(self.ui.tabWidget, self.ui.artwork_table)
        self.setTabOrder(self.ui.artwork_table, self.ui.buttonBox)

        self.setWindowTitle(_("Info"))
        self.artwork_table = self.ui.artwork_table
        self._display_tabs()
Example #21
0
    def __init__(self, obj, parent=None):
        PicardDialog.__init__(self, parent)
        self.obj = obj
        self.images = []
        self.existing_images = []
        self.ui = Ui_InfoDialog()
        self.display_existing_artwork = False

        if (isinstance(obj, File) and
                isinstance(obj.parent, Track) or
                isinstance(obj, Track) or
                (isinstance(obj, Album) and obj.get_num_total_files() > 0)):
            # Display existing artwork only if selected object is track object
            # or linked to a track object or it's an album with files
            if (getattr(obj, 'orig_metadata', None) is not None and
                    obj.orig_metadata.images and
                    obj.orig_metadata.images != obj.metadata.images):
                self.display_existing_artwork = True
                self.existing_images = obj.orig_metadata.images

        if obj.metadata.images:
            self.images = obj.metadata.images
        if not self.images and self.existing_images:
            self.images = self.existing_images
            self.existing_images = []
            self.display_existing_artwork = False
        self.ui.setupUi(self)
        self.ui.buttonBox.accepted.connect(self.accept)
        self.ui.buttonBox.rejected.connect(self.reject)

        # Add the ArtworkTable to the ui
        self.ui.artwork_table = ArtworkTable(self.display_existing_artwork)
        self.ui.artwork_table.setObjectName("artwork_table")
        self.ui.vboxlayout1.addWidget(self.ui.artwork_table)
        if self.display_existing_artwork:
            self.resize(665, 436)
        self.setTabOrder(self.ui.tabWidget, self.ui.artwork_table)
        self.setTabOrder(self.ui.artwork_table, self.ui.buttonBox)

        self.setWindowTitle(_("Info"))
        self.artwork_table = self.ui.artwork_table
        self._display_tabs()
Example #22
0
 def __init__(self, authenticator, reply, parent=None):
     PicardDialog.__init__(self, parent)
     self._authenticator = authenticator
     self.ui = Ui_PasswordDialog()
     self.ui.setupUi(self)
     self.ui.info_text.setText(
         _("The server %s requires you to login. Please enter your username and password."
           ) % reply.url().host())
     # TODO: Implement proper password storage for arbitrary servers
     if self._is_musicbrainz_server(reply.url().host()):
         self.ui.save_authentication.setChecked(
             config.persist["save_authentication"])
         self.ui.username.setText(config.setting["username"])
         self.ui.password.setText(config.setting["password"])
     else:
         self.ui.username.setText(reply.url().userName())
         self.ui.password.setText(reply.url().password())
         self.ui.save_authentication.setChecked(False)
         self.ui.save_authentication.hide()
     self.ui.buttonbox.accepted.connect(self.set_new_password)
Example #23
0
 def __init__(self, files, parent=None):
     PicardDialog.__init__(self, parent)
     self.ui = Ui_TagsFromFileNamesDialog()
     self.ui.setupUi(self)
     items = [
         "%artist%/%album%/%title%",
         "%artist%/%album%/%tracknumber% %title%",
         "%artist%/%album%/%tracknumber% - %title%",
         "%artist%/%album% - %tracknumber% - %title%",
         "%artist% - %album%/%title%",
         "%artist% - %album%/%tracknumber% %title%",
         "%artist% - %album%/%tracknumber% - %title%",
     ]
     format = config.persist["tags_from_filenames_format"]
     if format not in items:
         selected_index = 0
         if format:
             items.insert(0, format)
     else:
         selected_index = items.index(format)
     self.ui.format.addItems(items)
     self.ui.format.setCurrentIndex(selected_index)
     self.ui.buttonbox.addButton(StandardButton(StandardButton.OK),
                                 QtWidgets.QDialogButtonBox.AcceptRole)
     self.ui.buttonbox.addButton(StandardButton(StandardButton.CANCEL),
                                 QtWidgets.QDialogButtonBox.RejectRole)
     self.ui.buttonbox.accepted.connect(self.accept)
     self.ui.buttonbox.rejected.connect(self.reject)
     self.ui.preview.clicked.connect(self.preview)
     self.ui.files.setHeaderLabels([_("File Name")])
     self.restoreWindowState()
     self.files = files
     self.items = []
     for file in files:
         item = QtWidgets.QTreeWidgetItem(self.ui.files)
         item.setText(0, os.path.basename(file.filename))
         self.items.append(item)
     self._tag_re = re.compile(r"(%\w+%)")
     self.numeric_tags = ('tracknumber', 'totaltracks', 'discnumber',
                          'totaldiscs')
Example #24
0
 def __init__(self, parent, accept_button_title):
     PicardDialog.__init__(self, parent)
     self.search_results = []
     self.table = None
     self.setupUi(accept_button_title)
     self.restore_state()
Example #25
0
 def __init__(self, parent=None):
     PicardDialog.__init__(self, parent)
     self.search_results = []
     self.table = None
     self.setupUi()
     self.restore_state()