Fix pending issues in the port to gtk3 in the text adapter
Signed-off-by: Gonzalo Odiard <gonzalo@laptop.org>
Gonzalo Odiard
11 years ago
204 | 204 | textbuffer.apply_tag(self.normal_tag, bounds[0], iterStart) |
205 | 205 | textbuffer.apply_tag(self.spoken_word_tag, iterStart, iterEnd) |
206 | 206 | v_adjustment = self._scrolled.get_vadjustment() |
207 | max = v_adjustment.upper - v_adjustment.page_size | |
208 | max = max * word_count | |
209 | max = max / len(self.word_tuples) | |
210 | v_adjustment.value = max | |
207 | max_pos = v_adjustment.get_upper() - v_adjustment.get_page_size() | |
208 | max_pos = max_pos * word_count | |
209 | max_pos = max_pos / len(self.word_tuples) | |
210 | v_adjustment.set_value(max_pos) | |
211 | 211 | self.current_word = word_count |
212 | 212 | return True |
213 | 213 | |
222 | 222 | |
223 | 223 | def scroll(self, scrolltype, horizontal): |
224 | 224 | v_adjustment = self._scrolled.get_vadjustment() |
225 | v_value = v_adjustment.value | |
225 | v_value = v_adjustment.get_value() | |
226 | 226 | if scrolltype in (Gtk.ScrollType.PAGE_BACKWARD, |
227 | 227 | Gtk.ScrollType.PAGE_FORWARD): |
228 | step = v_adjustment.page_increment | |
228 | step = v_adjustment.get_page_increment() | |
229 | 229 | else: |
230 | step = v_adjustment.step_increment | |
230 | step = v_adjustment.get_step_increment() | |
231 | 231 | |
232 | 232 | if scrolltype in (Gtk.ScrollType.PAGE_BACKWARD, |
233 | 233 | Gtk.ScrollType.STEP_BACKWARD): |
234 | if v_value <= v_adjustment.lower: | |
234 | if v_value <= v_adjustment.get_lower(): | |
235 | 235 | self.previous_page() |
236 | v_adjustment.value = v_adjustment.upper - \ | |
237 | v_adjustment.page_size | |
236 | v_adjustment.set_value(v_adjustment.get_upper() - \ | |
237 | v_adjustment.get_page_size()) | |
238 | 238 | return |
239 | if v_value > v_adjustment.lower: | |
239 | if v_value > v_adjustment.get_lower(): | |
240 | 240 | new_value = v_value - step |
241 | if new_value < v_adjustment.lower: | |
242 | new_value = v_adjustment.lower | |
243 | v_adjustment.value = new_value | |
241 | if new_value < v_adjustment.get_lower(): | |
242 | new_value = v_adjustment.get_lower() | |
243 | v_adjustment.set_value(new_value) | |
244 | 244 | elif scrolltype in (Gtk.ScrollType.PAGE_FORWARD, |
245 | 245 | Gtk.ScrollType.STEP_FORWARD): |
246 | if v_value >= v_adjustment.upper - v_adjustment.page_size: | |
246 | if v_value >= v_adjustment.get_upper() - \ | |
247 | v_adjustment.get_page_size(): | |
247 | 248 | self.next_page() |
248 | 249 | return |
249 | if v_value < v_adjustment.upper - v_adjustment.page_size: | |
250 | if v_value < v_adjustment.get_upper() - \ | |
251 | v_adjustment.get_page_size(): | |
250 | 252 | new_value = v_value + step |
251 | if new_value > v_adjustment.upper - v_adjustment.page_size: | |
252 | new_value = v_adjustment.upper - v_adjustment.page_size | |
253 | v_adjustment.value = new_value | |
253 | if new_value > v_adjustment.get_upper() - \ | |
254 | v_adjustment.get_page_size(): | |
255 | new_value = v_adjustment.get_upper() - \ | |
256 | v_adjustment.get_page_size() | |
257 | v_adjustment.set_value(new_value) | |
254 | 258 | elif scrolltype == Gtk.ScrollType.START: |
255 | 259 | self.set_current_page(0) |
256 | 260 | elif scrolltype == Gtk.ScrollType.END: |
258 | 262 | |
259 | 263 | def previous_page(self): |
260 | 264 | v_adjustment = self._scrolled.get_vadjustment() |
261 | v_adjustment.value = v_adjustment.upper - v_adjustment.page_size | |
265 | v_adjustment.set_value(v_adjustment.get_upper() - | |
266 | v_adjustment.get_page_size()) | |
262 | 267 | self.set_current_page(self.get_current_page() - 1) |
263 | 268 | |
264 | 269 | def next_page(self): |
265 | 270 | v_adjustment = self._scrolled.get_vadjustment() |
266 | v_adjustment.value = v_adjustment.lower | |
271 | v_adjustment.set_value(v_adjustment.get_lower()) | |
267 | 272 | self.set_current_page(self.get_current_page() + 1) |
268 | 273 | |
269 | 274 | def get_current_page(self): |