~openlp-core/openlp/trunk

« back to all changes in this revision

Viewing changes to openlp/plugins/presentations/lib/presentationtab.py

  • Committer: Raoul Snyman
  • Author(s): Tomas Groth
  • Date: 2015-04-03 18:36:02 UTC
  • mfrom: (2524.2.5 ppt-fixes)
  • Revision ID: raoul@snyman.info-20150403183602-psskpghhiwbxl47v
Take focus back if Powerpoint steals it - fixes bug 1423913.
Optionally advance a Powerpoint slides animation when clicked in the slidecontroller - fixes bug 1194847.
Made OpenLP respect hidden slides. Improved logging in case of errors.
For Impress, go to previous effect instead of the previous slide.

Show diffs side-by-side

added added

removed removed

Lines of Context:
68
68
        self.override_app_check_box.setObjectName('override_app_check_box')
69
69
        self.advanced_layout.addWidget(self.override_app_check_box)
70
70
        self.left_layout.addWidget(self.advanced_group_box)
 
71
        # PowerPoint
 
72
        self.powerpoint_group_box = QtGui.QGroupBox(self.left_column)
 
73
        self.powerpoint_group_box.setObjectName('powerpoint_group_box')
 
74
        self.powerpoint_layout = QtGui.QVBoxLayout(self.powerpoint_group_box)
 
75
        self.powerpoint_layout.setObjectName('powerpoint_layout')
 
76
        self.ppt_slide_click_check_box = QtGui.QCheckBox(self.powerpoint_group_box)
 
77
        self.powerpoint_group_box.setObjectName('ppt_slide_click_check_box')
 
78
        self.powerpoint_layout.addWidget(self.ppt_slide_click_check_box)
 
79
        self.left_layout.addWidget(self.powerpoint_group_box)
71
80
        # Pdf options
72
81
        self.pdf_group_box = QtGui.QGroupBox(self.left_column)
73
82
        self.pdf_group_box.setObjectName('pdf_group_box')
108
117
            self.set_controller_text(checkbox, controller)
109
118
        self.advanced_group_box.setTitle(UiStrings().Advanced)
110
119
        self.pdf_group_box.setTitle(translate('PresentationPlugin.PresentationTab', 'PDF options'))
 
120
        self.powerpoint_group_box.setTitle(translate('PresentationPlugin.PresentationTab', 'PowerPoint options'))
111
121
        self.override_app_check_box.setText(
112
122
            translate('PresentationPlugin.PresentationTab', 'Allow presentation application to be overridden'))
 
123
        self.ppt_slide_click_check_box.setText(
 
124
            translate('PresentationPlugin.PresentationTab',
 
125
                      'Clicking on a selected slide in the slidecontroller advances to next effect.'))
113
126
        self.pdf_program_check_box.setText(
114
127
            translate('PresentationPlugin.PresentationTab', 'Use given full path for mudraw or ghostscript binary:'))
115
128
 
123
136
        """
124
137
        Load the settings.
125
138
        """
 
139
        powerpoint_available = False
126
140
        for key in self.controllers:
127
141
            controller = self.controllers[key]
128
142
            checkbox = self.presenter_check_boxes[controller.name]
129
143
            checkbox.setChecked(Settings().value(self.settings_section + '/' + controller.name))
 
144
            if controller.name == 'Powerpoint' and controller.is_available():
 
145
                powerpoint_available = True
130
146
        self.override_app_check_box.setChecked(Settings().value(self.settings_section + '/override app'))
 
147
        # Load Powerpoint settings
 
148
        self.ppt_slide_click_check_box.setChecked(Settings().value(self.settings_section +
 
149
                                                                   '/powerpoint slide click advance'))
 
150
        self.ppt_slide_click_check_box.setEnabled(powerpoint_available)
131
151
        # load pdf-program settings
132
152
        enable_pdf_program = Settings().value(self.settings_section + '/enable_pdf_program')
133
153
        self.pdf_program_check_box.setChecked(enable_pdf_program)
161
181
        if Settings().value(setting_key) != self.override_app_check_box.checkState():
162
182
            Settings().setValue(setting_key, self.override_app_check_box.checkState())
163
183
            changed = True
 
184
        # Save powerpoint settings
 
185
        setting_key = self.settings_section + '/powerpoint slide click advance'
 
186
        if Settings().value(setting_key) != self.ppt_slide_click_check_box.checkState():
 
187
            Settings().setValue(setting_key, self.ppt_slide_click_check_box.checkState())
 
188
            changed = True
164
189
        # Save pdf-settings
165
190
        pdf_program = self.pdf_program_path.text()
166
191
        enable_pdf_program = self.pdf_program_check_box.checkState()