diff options
Diffstat (limited to 'plugins/python/welcome/tip.py')
-rw-r--r-- | plugins/python/welcome/tip.py | 146 |
1 files changed, 0 insertions, 146 deletions
diff --git a/plugins/python/welcome/tip.py b/plugins/python/welcome/tip.py deleted file mode 100644 index 642619e..0000000 --- a/plugins/python/welcome/tip.py +++ /dev/null @@ -1,146 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from welcome.board import SmallBoard -from gi.repository import Gtk -import random - -try: - import cairo - has_cairo = True - import os -except: - has_cairo = False - - -_tip_messages = [ - "Message 1", - "Message 2", - "Message 3", - "Message 4", - "Message 5", - "Message 6" -] - -assert(len(_tip_messages) > 0) - - -class TipOfTheDay(SmallBoard): - """Présente une série d'astuces du jour.""" - - - def __init__(self): - """Construit le panneau avec son contenu.""" - - super(TipOfTheDay, self).__init__() - - box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=10) - self.add(box) - - # Barre de contrôle - - toolbar = Gtk.Box(spacing=10) - toolbar.props.margin = 20 - box.pack_end(toolbar, False, True, 0) - - btn = Gtk.Button('Previous') - btn.connect('clicked', self.show_previous_message) - toolbar.pack_start(btn, False, True, 8) - - btn = Gtk.Button('Next') - btn.connect('clicked', self.show_next_message) - toolbar.pack_start(btn, False, True, 8) - - # Contenu de l'astuce courante - - desc = Gtk.Label('', use_markup=True, wrap=True, xalign=0) - self._message = desc - desc.set_justify(Gtk.Justification.LEFT) - box.pack_end(desc, False, True, 0) - - # Titre - - desc = Gtk.Label("<b>Did you know?</b>", use_markup=True, wrap=True, xalign=0) - desc.set_justify(Gtk.Justification.LEFT) - box.pack_end(desc, False, True, 0) - - # Image de fond, si possible - - if has_cairo: - - os.chdir(os.path.dirname(__file__)) - - self._img = cairo.ImageSurface.create_from_png('tipoftheday.png') - - self.connect_after('draw', self.draw_background) - - # Sélection du message courant - - self._indexes = [i for i in range(len(_tip_messages))] - random.shuffle(self._indexes) - - self._index = 0 - - self.show_message() - - - def draw_background(self, widget, cr): - """Dessine une image de fond pour les conseils.""" - - img_width = self._img.get_width() - img_height = self._img.get_height() - - alloc = self.get_allocation() - target_height = alloc.height * 0.7 - - if img_height > target_height: - - scale = float(target_height) / float(img_height) - - cr.translate(alloc.width - img_width * scale - 10, 10) - cr.scale(scale, scale) - - else: - - cr.translate(alloc.width - img_width - 10, 10) - - cr.set_source_surface(self._img) - cr.paint_with_alpha(0.6) - - - def show_message(self): - """Affiche un conseil du jour donné.""" - - selected = self._indexes[self._index] - - msg = _tip_messages[selected] - - self._message.set_markup(msg) - - - def show_previous_message(self, button): - """Affiche un conseil du jour précédent.""" - - if self._index == 0: - self._index = len(_tip_messages) - 1 - else: - self._index = self._index - 1 - - self.show_message() - - - def show_next_message(self, button): - """Affiche un conseil du jour suivant.""" - - self._index = self._index + 1 - - if self._index == len(_tip_messages): - self._index = 0 - - self.show_message() - - - def get_location(self): - """Fournit la localisation souhaitée pour la planche.""" - - return [ 2, 1, 2, 2 ] |