~raoul-snyman/openlp/python3

« back to all changes in this revision

Viewing changes to openlp/core/ui/media/playertab.py

  • Committer: Raoul Snyman
  • Date: 2013-04-03 06:51:39 UTC
  • Revision ID: raoul.snyman@saturnlaboratories.co.za-20130403065139-9qhs0xmlrcef4n2h
trying to migrate to py3k

Show diffs side-by-side

added added

removed removed

Lines of Context:
51
51
    """
52
52
    MediaTab is the Media settings tab in the settings dialog.
53
53
    """
 
54
    mediaPlayers = []
 
55
    savedUsedPlayers = []
 
56
 
54
57
    def __init__(self, parent):
55
58
        """
56
59
        Constructor
57
60
        """
 
61
        self.iconPath = ':/media/multimedia-player.png'
 
62
        player_translated = translate('OpenLP.PlayerTab', 'Players')
 
63
        super(PlayerTab, self).__init__(parent, 'Players', player_translated)
58
64
        self.mediaPlayers = self.media_controller.mediaPlayers
59
65
        self.savedUsedPlayers = None
60
 
        self.iconPath = u':/media/multimedia-player.png'
61
 
        player_translated = translate('OpenLP.PlayerTab', 'Players')
62
 
        SettingsTab.__init__(self, parent, u'Players', player_translated)
63
66
 
64
67
    def setupUi(self):
65
68
        """
66
69
        Set up the UI
67
70
        """
68
 
        self.setObjectName(u'MediaTab')
 
71
        self.setObjectName('MediaTab')
69
72
        SettingsTab.setupUi(self)
70
73
        self.bgColorGroupBox = QtGui.QGroupBox(self.leftColumn)
71
 
        self.bgColorGroupBox.setObjectName(u'FontGroupBox')
 
74
        self.bgColorGroupBox.setObjectName('FontGroupBox')
72
75
        self.formLayout = QtGui.QFormLayout(self.bgColorGroupBox)
73
 
        self.formLayout.setObjectName(u'FormLayout')
 
76
        self.formLayout.setObjectName('FormLayout')
74
77
        self.colorLayout = QtGui.QHBoxLayout()
75
78
        self.backgroundColorLabel = QtGui.QLabel(self.bgColorGroupBox)
76
 
        self.backgroundColorLabel.setObjectName(u'BackgroundColorLabel')
 
79
        self.backgroundColorLabel.setObjectName('BackgroundColorLabel')
77
80
        self.colorLayout.addWidget(self.backgroundColorLabel)
78
81
        self.backgroundColorButton = QtGui.QPushButton(self.bgColorGroupBox)
79
 
        self.backgroundColorButton.setObjectName(u'BackgroundColorButton')
 
82
        self.backgroundColorButton.setObjectName('BackgroundColorButton')
80
83
        self.colorLayout.addWidget(self.backgroundColorButton)
81
84
        self.formLayout.addRow(self.colorLayout)
82
85
        self.informationLabel = QtGui.QLabel(self.bgColorGroupBox)
83
 
        self.informationLabel.setObjectName(u'InformationLabel')
 
86
        self.informationLabel.setObjectName('InformationLabel')
84
87
        self.informationLabel.setWordWrap(True)
85
88
        self.formLayout.addRow(self.informationLabel)
86
89
        self.leftLayout.addWidget(self.bgColorGroupBox)
88
91
        self.rightColumn.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Preferred)
89
92
        self.rightLayout.addStretch()
90
93
        self.mediaPlayerGroupBox = QtGui.QGroupBox(self.leftColumn)
91
 
        self.mediaPlayerGroupBox.setObjectName(u'mediaPlayerGroupBox')
 
94
        self.mediaPlayerGroupBox.setObjectName('mediaPlayerGroupBox')
92
95
        self.mediaPlayerLayout = QtGui.QVBoxLayout(self.mediaPlayerGroupBox)
93
 
        self.mediaPlayerLayout.setObjectName(u'mediaPlayerLayout')
 
96
        self.mediaPlayerLayout.setObjectName('mediaPlayerLayout')
94
97
        self.playerCheckBoxes = {}
95
98
        self.leftLayout.addWidget(self.mediaPlayerGroupBox)
96
99
        self.playerOrderGroupBox = QtGui.QGroupBox(self.leftColumn)
97
 
        self.playerOrderGroupBox.setObjectName(u'playerOrderGroupBox')
 
100
        self.playerOrderGroupBox.setObjectName('playerOrderGroupBox')
98
101
        self.playerOrderLayout = QtGui.QHBoxLayout(self.playerOrderGroupBox)
99
 
        self.playerOrderLayout.setObjectName(u'playerOrderLayout')
 
102
        self.playerOrderLayout.setObjectName('playerOrderLayout')
100
103
        self.playerOrderlistWidget = QtGui.QListWidget(self.playerOrderGroupBox)
101
104
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
102
105
        sizePolicy.setHorizontalStretch(0)
106
109
        self.playerOrderlistWidget.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAsNeeded)
107
110
        self.playerOrderlistWidget.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
108
111
        self.playerOrderlistWidget.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers)
109
 
        self.playerOrderlistWidget.setObjectName(u'playerOrderlistWidget')
 
112
        self.playerOrderlistWidget.setObjectName('playerOrderlistWidget')
110
113
        self.playerOrderLayout.addWidget(self.playerOrderlistWidget)
111
114
        self.orderingButtonLayout = QtGui.QVBoxLayout()
112
 
        self.orderingButtonLayout.setObjectName(u'orderingButtonLayout')
 
115
        self.orderingButtonLayout.setObjectName('orderingButtonLayout')
113
116
        self.orderingButtonLayout.addStretch(1)
114
 
        self.orderingUpButton = create_button(self, u'orderingUpButton', role=u'up', click=self.onUpButtonClicked)
115
 
        self.orderingDownButton = create_button(self, u'orderingDownButton', role=u'down',
 
117
        self.orderingUpButton = create_button(self, 'orderingUpButton', role='up', click=self.onUpButtonClicked)
 
118
        self.orderingDownButton = create_button(self, 'orderingDownButton', role='down',
116
119
            click=self.onDownButtonClicked)
117
120
        self.orderingButtonLayout.addWidget(self.orderingUpButton)
118
121
        self.orderingButtonLayout.addWidget(self.orderingDownButton)
122
125
        self.leftLayout.addStretch()
123
126
        self.rightLayout.addStretch()
124
127
        # Signals and slots
125
 
        QtCore.QObject.connect(self.backgroundColorButton, QtCore.SIGNAL(u'clicked()'),
 
128
        QtCore.QObject.connect(self.backgroundColorButton, QtCore.SIGNAL('clicked()'),
126
129
            self.onbackgroundColorButtonClicked)
127
130
 
128
131
    def retranslateUi(self):
144
147
        new_color = QtGui.QColorDialog.getColor(QtGui.QColor(self.bg_color), self)
145
148
        if new_color.isValid():
146
149
            self.bg_color = new_color.name()
147
 
            self.backgroundColorButton.setStyleSheet(u'background-color: %s' % self.bg_color)
 
150
            self.backgroundColorButton.setStyleSheet('background-color: %s' % self.bg_color)
148
151
 
149
152
    def onPlayerCheckBoxChanged(self, check_state):
150
153
        """
165
168
        """
166
169
        self.playerOrderlistWidget.clear()
167
170
        for player in self.usedPlayers:
168
 
            if player in self.playerCheckBoxes.keys():
 
171
            if player in list(self.playerCheckBoxes.keys()):
169
172
                if len(self.usedPlayers) == 1:
170
173
                    # At least one media player has to stay active
171
 
                    self.playerCheckBoxes[u'%s' % player].setEnabled(False)
 
174
                    self.playerCheckBoxes['%s' % player].setEnabled(False)
172
175
                else:
173
 
                    self.playerCheckBoxes[u'%s' % player].setEnabled(True)
174
 
                self.playerOrderlistWidget.addItem(self.mediaPlayers[unicode(player)].original_name)
 
176
                    self.playerCheckBoxes['%s' % player].setEnabled(True)
 
177
                self.playerOrderlistWidget.addItem(self.mediaPlayers[str(player)].original_name)
175
178
 
176
179
    def onUpButtonClicked(self):
177
180
        """
208
211
        settings = Settings()
209
212
        settings.beginGroup(self.settingsSection)
210
213
        self.updatePlayerList()
211
 
        self.bg_color = settings.value(u'background color')
 
214
        self.bg_color = settings.value('background color')
212
215
        self.initial_color = self.bg_color
213
216
        settings.endGroup()
214
 
        self.backgroundColorButton.setStyleSheet(u'background-color: %s' % self.bg_color)
 
217
        self.backgroundColorButton.setStyleSheet('background-color: %s' % self.bg_color)
215
218
 
216
219
    def save(self):
217
220
        """
220
223
        player_string_changed = False
221
224
        settings = Settings()
222
225
        settings.beginGroup(self.settingsSection)
223
 
        settings.setValue(u'background color', self.bg_color)
 
226
        settings.setValue('background color', self.bg_color)
224
227
        settings.endGroup()
225
228
        old_players, override_player = get_media_players()
226
229
        if self.usedPlayers != old_players:
229
232
            player_string_changed = True
230
233
        if player_string_changed:
231
234
            self.service_manager.reset_supported_suffixes()
232
 
            Receiver.send_message(u'mediaitem_media_rebuild')
233
 
            Receiver.send_message(u'config_screen_changed')
 
235
            Receiver.send_message('mediaitem_media_rebuild')
 
236
            Receiver.send_message('config_screen_changed')
234
237
 
235
238
    def postSetUp(self, postUpdate=False):
236
239
        """
237
240
        Late setup for players as the MediaController has to be initialised
238
241
        first.
239
242
        """
240
 
        for key, player in self.mediaPlayers.iteritems():
 
243
        for key, player in self.mediaPlayers.items():
241
244
            player = self.mediaPlayers[key]
242
245
            checkbox = MediaQCheckBox(self.mediaPlayerGroupBox)
243
246
            checkbox.setEnabled(player.available)
244
 
            checkbox.setObjectName(player.name + u'CheckBox')
 
247
            checkbox.setObjectName(player.name + 'CheckBox')
245
248
            checkbox.setToolTip(player.get_info())
246
249
            checkbox.setPlayerName(player.name)
247
250
            self.playerCheckBoxes[player.name] = checkbox
248
 
            QtCore.QObject.connect(checkbox, QtCore.SIGNAL(u'stateChanged(int)'), self.onPlayerCheckBoxChanged)
 
251
            QtCore.QObject.connect(checkbox, QtCore.SIGNAL('stateChanged(int)'), self.onPlayerCheckBoxChanged)
249
252
            self.mediaPlayerLayout.addWidget(checkbox)
250
253
            if player.available and player.name in self.usedPlayers:
251
254
                checkbox.setChecked(True)