예제 #1
0
    def __init__(self):
        self.ui = cozy.ui.CozyUI()
        builder = self.ui.window_builder
        self.name_label = builder.get_object("info_book_label")
        self.author_label = builder.get_object("info_author_label")
        self.download_box = builder.get_object("info_download_box")
        self.download_label = builder.get_object("info_download_label")
        self.download_image = builder.get_object("info_download_image")
        self.download_switch = builder.get_object("info_download_switch")
        self.published_label = builder.get_object("info_published_label")
        self.last_played_label = builder.get_object("info_last_played_label")
        self.total_label = builder.get_object("info_total_label")
        self.remaining_label = builder.get_object("info_remaining_label")
        self.progress_bar = builder.get_object("book_progress_bar")
        self.cover_img = builder.get_object("info_cover_image")
        self.track_list_container = builder.get_object("track_list_container")
        self.published_text = builder.get_object("info_published_text")
        self.remaining_text = builder.get_object("info_remaining_text")
        self.play_book_button = builder.get_object("play_book_button")
        self.play_book_button.connect("clicked", self.__on_play_clicked)
        self.play_img = builder.get_object("play_img1")
        self.pause_img = builder.get_object("pause_img1")
        self.scroller = builder.get_object("book_overview_scroller")
        if Gtk.get_minor_version() > 20:
            self.scroller.props.propagate_natural_height = True

        self.ui.speed.add_listener(self.__ui_changed)
        player.add_player_listener(self.__player_changed)
        Settings().add_listener(self.__settings_changed)
        OfflineCache().add_listener(self.__on_offline_cache_changed)
예제 #2
0
파일: book_element.py 프로젝트: sahwar/cozy
    def __init__(self, b):
        self.book = b
        self.ui = cozy.ui.CozyUI()

        self.ONLINE_TOOLTIP_TEXT = _("Open book overview")
        self.OFFLINE_TOOLTIP_TEXT = _("Currently offline")

        super().__init__()
        self.event_box = Gtk.EventBox()
        self.add_events(Gdk.EventMask.KEY_PRESS_MASK)
        self.box = Gtk.Box()
        self.box.set_orientation(Gtk.Orientation.VERTICAL)
        self.box.set_spacing(7)
        self.box.set_halign(Gtk.Align.CENTER)
        self.box.set_valign(Gtk.Align.START)
        self.box.set_margin_top(10)

        # label contains the book name and is limited to x chars
        title_label = Gtk.Label.new("")
        title = tools.shorten_string(self.book.name, MAX_BOOK_LENGTH)
        title_label.set_markup("<b>" + title + "</b>")
        title_label.set_xalign(0.5)
        title_label.set_line_wrap(Pango.WrapMode.WORD_CHAR)
        title_label.props.max_width_chars = 30
        title_label.props.justify = Gtk.Justification.CENTER

        author_label = Gtk.Label.new(
            tools.shorten_string(self.book.author, MAX_BOOK_LENGTH))
        author_label.set_xalign(0.5)
        author_label.set_line_wrap(Pango.WrapMode.WORD_CHAR)
        author_label.props.max_width_chars = 30
        author_label.props.justify = Gtk.Justification.CENTER
        author_label.get_style_context().add_class("dim-label")

        self.art = AlbumElement(self.book,
                                180,
                                self.ui.window.get_scale_factor(),
                                bordered=True,
                                square=False)

        if db.is_external(
                self.book) and not self.book.offline and not FilesystemMonitor(
                ).is_book_online(self.book):
            super().set_sensitive(False)
            self.box.set_tooltip_text(self.OFFLINE_TOOLTIP_TEXT)
        else:
            self.box.set_tooltip_text(self.ONLINE_TOOLTIP_TEXT)

        # assemble finished element
        self.box.add(self.art)
        self.box.add(title_label)
        self.box.add(author_label)
        self.event_box.add(self.box)
        self.add(self.event_box)

        self.event_box.connect("button-press-event",
                               self.__on_button_press_event)
        self.connect("key-press-event", self.__on_key_press_event)
        FilesystemMonitor().add_listener(self.__on_storage_changed)
        Settings().add_listener(self.__on_storage_changed)
예제 #3
0
    def __init_components(self):
        self.titlebar = Titlebar(self)

        self.sleep_timer = SleepTimer(self)
        self.speed = PlaybackSpeed(self)
        self.search = Search(self)
        self.settings = Settings(self)

        self.titlebar.activate()
예제 #4
0
파일: ui.py 프로젝트: TheMBTH/cozy
    def __init_components(self):
        self.titlebar = Titlebar(self)

        self.sleep_timer = SleepTimer(self)
        self.speed = PlaybackSpeed(self)
        self.search = Search(self)
        self.settings = Settings(self)
        self.book_overview = BookOverview(self)

        self.titlebar.activate()

        if player.get_current_track() is None:
            self.block_ui_buttons(True)
예제 #5
0
    def __init_components(self):
        self.titlebar = Titlebar()

        self.sleep_timer = SleepTimer()
        self.speed = PlaybackSpeed()
        self.search = Search()
        self.settings = Settings()
        self.settings.add_listener(self.__on_settings_changed)
        self.book_overview = BookOverview()
        self.fs_monitor = fs_monitor.FilesystemMonitor()
        self.offline_cache = offline_cache.OfflineCache()
        player.init()

        self.titlebar.activate()

        if player.get_current_track() is None:
            self.block_ui_buttons(True)