Ejemplo n.º 1
0
    def load_custom(self, id, preview=False):
        """
        Called when editing or creating a new custom.

        :param id: The custom's id. If zero, then a new custom is created.
        :param preview: States whether the custom is edited while being previewed in the preview panel.
        """
        self.slide_list_view.clear()
        if id == 0:
            self.custom_slide = CustomSlide()
            self.title_edit.setText('')
            self.credit_edit.setText('')
            self.theme_combo_box.setCurrentIndex(0)
        else:
            self.custom_slide = self.manager.get_object(CustomSlide, id)
            self.title_edit.setText(self.custom_slide.title)
            self.credit_edit.setText(self.custom_slide.credits)
            custom_xml = CustomXMLParser(self.custom_slide.text)
            slide_list = custom_xml.get_verses()
            self.slide_list_view.addItems([slide[1] for slide in slide_list])
            theme = self.custom_slide.theme_name
            find_and_set_in_combo_box(self.theme_combo_box, theme)
        self.title_edit.setFocus()
        # If not preview hide the preview button.
        self.preview_button.setVisible(preview)
Ejemplo n.º 2
0
    def load_custom(self, id, preview=False):
        """
        Called when editing or creating a new custom.

        :param id: The custom's id. If zero, then a new custom is created.
        :param preview: States whether the custom is edited while being previewed in the preview panel.
        """
        self.slide_list_view.clear()
        if id == 0:
            self.custom_slide = CustomSlide()
            self.title_edit.setText('')
            self.credit_edit.setText('')
            self.theme_combo_box.setCurrentIndex(0)
        else:
            self.custom_slide = self.manager.get_object(CustomSlide, id)
            self.title_edit.setText(self.custom_slide.title)
            self.credit_edit.setText(self.custom_slide.credits)
            custom_xml = CustomXMLParser(self.custom_slide.text)
            slide_list = custom_xml.get_verses()
            self.slide_list_view.addItems([slide[1] for slide in slide_list])
            theme = self.custom_slide.theme_name
            find_and_set_in_combo_box(self.theme_combo_box, theme)
        self.title_edit.setFocus()
        # If not preview hide the preview button.
        self.preview_button.setVisible(preview)
Ejemplo n.º 3
0
    def loadCustom(self, id, preview=False):
        """
        Called when editing or creating a new custom.

        ``id``
            The cutom's id. If zero, then a new custom is created.

        ``preview``
            States whether the custom is edited while being previewed in the
            preview panel.
        """
        self.slideListView.clear()
        if id == 0:
            self.customSlide = CustomSlide()
            self.titleEdit.setText(u'')
            self.creditEdit.setText(u'')
            self.themeComboBox.setCurrentIndex(0)
        else:
            self.customSlide = self.manager.get_object(CustomSlide, id)
            self.titleEdit.setText(self.customSlide.title)
            self.creditEdit.setText(self.customSlide.credits)
            customXML = CustomXMLParser(self.customSlide.text)
            slideList = customXML.get_verses()
            for slide in slideList:
                self.slideListView.addItem(slide[1])
            theme = self.customSlide.theme_name
            find_and_set_in_combo_box(self.themeComboBox, theme)
        self.titleEdit.setFocus()
        # If not preview hide the preview button.
        self.previewButton.setVisible(preview)
Ejemplo n.º 4
0
 def generate_slide_data(self, service_item, item=None, xml_version=False,
                         remote=False, context=ServiceItemContext.Service):
     """
     Generate the slide data. Needs to be implemented by the plugin.
     :param service_item: To be updated
     :param item: The custom database item to be used
     :param xml_version: No used
     :param remote: Is this triggered by the Preview Controller or Service Manager.
     :param context: Why is this item required to be build (Default Service).
     """
     item_id = self._get_id_of_item_to_generate(item, self.remote_custom)
     service_item.add_capability(ItemCapabilities.CanEdit)
     service_item.add_capability(ItemCapabilities.CanPreview)
     service_item.add_capability(ItemCapabilities.CanLoop)
     service_item.add_capability(ItemCapabilities.CanSoftBreak)
     service_item.add_capability(ItemCapabilities.OnLoadUpdate)
     custom_slide = self.plugin.db_manager.get_object(CustomSlide, item_id)
     title = custom_slide.title
     credit = custom_slide.credits
     service_item.edit_id = item_id
     theme = custom_slide.theme_name
     if theme:
         service_item.theme = theme
     custom_xml = CustomXMLParser(custom_slide.text)
     verse_list = custom_xml.get_verses()
     raw_slides = [verse[1] for verse in verse_list]
     service_item.title = title
     for slide in raw_slides:
         service_item.add_from_text(slide)
     if Settings().value(self.settings_section + '/display footer') or credit:
         service_item.raw_footer.append(' '.join([title, credit]))
     else:
         service_item.raw_footer.append('')
     return True
Ejemplo n.º 5
0
 def generateSlideData(self, service_item, item=None, xmlVersion=False,
     remote=False, context=ServiceItemContext.Service):
     item_id = self._getIdOfItemToGenerate(item, self.remoteCustom)
     service_item.add_capability(ItemCapabilities.CanEdit)
     service_item.add_capability(ItemCapabilities.CanPreview)
     service_item.add_capability(ItemCapabilities.CanLoop)
     service_item.add_capability(ItemCapabilities.CanSoftBreak)
     service_item.add_capability(ItemCapabilities.OnLoadUpdate)
     customSlide = self.plugin.manager.get_object(CustomSlide, item_id)
     title = customSlide.title
     credit = customSlide.credits
     service_item.edit_id = item_id
     theme = customSlide.theme_name
     if theme:
         service_item.theme = theme
     custom_xml = CustomXMLParser(customSlide.text)
     verse_list = custom_xml.get_verses()
     raw_slides = [verse[1] for verse in verse_list]
     service_item.title = title
     for slide in raw_slides:
         service_item.add_from_text(slide)
     if Settings().value(self.settingsSection + u'/display footer') or credit:
         service_item.raw_footer.append(u' '.join([title, credit]))
     else:
         service_item.raw_footer.append(u'')
     return True