Example #1
0
    def __init__(self):
        self.ui = cozy.ui.main_view.CozyUI()

        self.builder = Gtk.Builder.new_from_resource("/com/github/geigi/cozy/timer_popover.ui")

        self.timer_popover = self.builder.get_object("timer_popover")
        self.timer_scale = self.builder.get_object("timer_scale")
        self.timer_label = self.builder.get_object("timer_label")
        self.timer_grid = self.builder.get_object("timer_grid")
        self.chapter_switch = self.builder.get_object("chapter_switch")
        self.chapter_switch.connect("state-set", self.__chapter_switch_changed)
        self.timer_image = self.ui.get_object("timer_image")
        self.min_label = self.builder.get_object("min_label")

        # enable system power control
        self.power_control_switch = self.builder.get_object("power_control_switch")
        self.power_control_switch.connect("state-set", self.__power_options_switch_changed)
        self.power_control_options = self.builder.get_object("power_control_options")

        # radio buttons for sleep and shutdown
        self.system_shutdown_radiob = self.builder.get_object("system_shutdown_radiob")
        self.system_suspend_radiob = self.builder.get_object("system_suspend_radiob")
        # self.radiob_system_shutdown.connect("toggled", self.on_button_toggled, "1")

        # text formatting
        self.timer_scale.connect("value-changed", self.__on_timer_changed)

        # add marks to timer scale
        for i in range(0, 121, 30):
            self.timer_scale.add_mark(i, Gtk.PositionType.RIGHT, None)

        # initialize timer ui
        self.__on_timer_changed(None)

        player.add_player_listener(self.__player_changed)
Example #2
0
    def __init__(self):
        self.ui = cozy.ui.main_view.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)
        self._settings.add_listener(self.__settings_changed)
        OfflineCache().add_listener(self.__on_offline_cache_changed)
Example #3
0
    def __init__(self):
        self.ui = cozy.ui.main_view.CozyUI()

        self.builder = Gtk.Builder.new_from_resource(
            "/de/geigi/cozy/timer_popover.ui")

        self.timer_popover = self.builder.get_object("timer_popover")
        self.timer_scale = self.builder.get_object("timer_scale")
        self.timer_label = self.builder.get_object("timer_label")
        self.timer_grid = self.builder.get_object("timer_grid")
        self.chapter_switch = self.builder.get_object("chapter_switch")
        self.chapter_switch.connect("state-set", self.__chapter_switch_changed)
        self.timer_image = self.ui.get_object("timer_image")
        self.min_label = self.builder.get_object("min_label")

        # text formatting
        self.timer_scale.connect("value-changed", self.__on_timer_changed)

        # add marks to timer scale
        for i in range(0, 121, 30):
            self.timer_scale.add_mark(i, Gtk.PositionType.RIGHT, None)

        # initialize timer ui
        self.__on_timer_changed(None)

        player.add_player_listener(self.__player_changed)
Example #4
0
    def __init__(self):
        super().__init__()
        self._first_play = True
        self._gst_player: player = player.get_playbin()
        player.add_player_listener(self._pass_legacy_player_events)

        self.play_status_updater: IntervalTimer = IntervalTimer(
            1, self._emit_tick)
Example #5
0
    def __init__(self):
        self.ui = cozy.ui.main_view.CozyUI()

        self.builder = Gtk.Builder.new_from_resource(
            "/de/geigi/cozy/playback_speed_popover.ui")

        self.speed_scale = self.builder.get_object("playback_speed_scale")
        self.speed_label = self.builder.get_object("playback_speed_label")
        self.popover = self.builder.get_object("speed_popover")

        self.speed_scale.add_mark(1.0, Gtk.PositionType.RIGHT, None)
        self.speed_scale.set_increments(0.02, 0.05)
        self.speed_scale.connect("value-changed", self.__set_playback_speed)

        player.add_player_listener(self.__player_changed)
Example #6
0
    def __init__(self):
        super().__init__()
        self._gst_player: player = player.get_playbin()
        player.add_player_listener(self._pass_legacy_player_events)

        self.play_status_updater: IntervalTimer = IntervalTimer(
            1, self._emit_tick)
        self._fadeout_thread: Optional[Thread] = None

        player.init()
        last_book = self._library.last_played_book
        if last_book:
            last_book.last_played = int(time.time())
            player.load_file(last_book.current_chapter._db_object)
            self._rewind_feature()
Example #7
0
    def __init_signals(self):
        self.play_button.connect("clicked", self.__on_play_pause_clicked)
        self.prev_button.connect("clicked", self.__on_rewind_clicked)
        self.volume_button.connect("value-changed", self.__on_volume_changed)
        self.remaining_event_box.connect("button-release-event",
                                         self._on_remaining_clicked)

        # init progress scale
        self.progress_scale.connect("value-changed", self.update_ui_time)
        self.progress_scale.connect("button-release-event",
                                    self.__on_progress_clicked)
        self.progress_scale.connect("button-press-event",
                                    self.__on_progress_press)
        self.progress_scale.connect("key-press-event",
                                    self.__on_progress_key_pressed)

        player.add_player_listener(self.__player_changed)
Example #8
0
    def __init_window(self):
        """
        Add fields for all ui objects we need to access from code.
        Initialize everything we can't do from glade like events and other stuff.
        """
        log.info("Initialize main window")
        self.window: Gtk.Window = self.window_builder.get_object("app_window")
        self.window.set_default_size(1100, 700)
        self.window.set_application(self.app)
        self.window.show_all()
        self.window.present()
        self.window.connect("delete-event", self.on_close)
        self.window.connect("drag_data_received", self.__on_drag_data_received)
        self.window.drag_dest_set(
            Gtk.DestDefaults.MOTION | Gtk.DestDefaults.HIGHLIGHT
            | Gtk.DestDefaults.DROP,
            [Gtk.TargetEntry.new("text/uri-list", 0, 80)], Gdk.DragAction.COPY)
        self.window.title = "Cozy"

        # resizing the progress bar for older gtk versions
        if not Gtk.get_minor_version() > 18:
            self.window.connect("check-resize", self.__window_resized)

        self.author_box = self.window_builder.get_object("author_box")
        self.reader_box = self.window_builder.get_object("reader_box")
        self.book_box = self.window_builder.get_object("book_box")
        self.book_scroller = self.window_builder.get_object("book_scroller")
        self.sort_stack = self.window_builder.get_object("sort_stack")
        self.sort_stack.connect("notify::visible-child",
                                self.__on_sort_stack_changed)
        self.sort_box = self.window_builder.get_object("sort_box")
        self.import_box = self.window_builder.get_object("import_box")
        self.position_box = self.window_builder.get_object("position_box")
        self.main_stack = self.window_builder.get_object("main_stack")
        self.toolbar_revealer = self.window_builder.get_object(
            "toolbar_revealer")
        self.back_button = self.window_builder.get_object("back_button")
        self.back_button.connect("clicked", self.__on_back_clicked)

        self.category_toolbar = self.window_builder.get_object(
            "category_toolbar")

        self.sort_stack_revealer = self.window_builder.get_object(
            "sort_stack_revealer")
        # This fixes a bug where otherwise expand is
        # somehow set to true internally
        # but is still showing false in the inspector
        self.sort_stack_revealer.props.expand = True
        self.sort_stack_revealer.props.expand = False

        self.sort_stack_switcher = self.window_builder.get_object(
            "sort_stack_switcher")
        self.no_media_file_chooser = self.window_builder.get_object(
            "no_media_file_chooser")
        self.no_media_file_chooser.connect("file-set",
                                           self.__on_no_media_folder_changed)
        self.external_switch = self.window_builder.get_object(
            "external_switch")

        self.auto_scan_switch = self.window_builder.get_object(
            "auto_scan_switch")

        # some visual stuff
        self.category_toolbar_separator = self.window_builder.get_object(
            "category_toolbar_separator")
        if tools.is_elementary():
            self.category_toolbar.set_visible(False)

        # get about dialog
        self.about_dialog = self.about_builder.get_object("about_dialog")
        self.about_dialog.set_transient_for(self.window)
        self.about_dialog.connect("delete-event", self.hide_window)
        self.about_dialog.set_version(self.version)

        # shortcuts
        self.accel = Gtk.AccelGroup()

        # sorting and filtering
        self.author_box.connect("row-selected", self.__on_listbox_changed)
        self.reader_box.connect("row-selected", self.__on_listbox_changed)
        self.book_box.set_sort_func(self.__sort_books, None, False)
        self.book_box.set_filter_func(self.__filter_books, None, False)

        try:
            about_close_button = self.about_builder.get_object(
                "button_box").get_children()[2]

            if about_close_button:
                about_close_button.connect("clicked",
                                           self.__about_close_clicked)
        except Exception as e:
            log.info("Not connecting about close button.")

        player.add_player_listener(self.__player_changed)
Example #9
0
File: player.py Project: leuc/cozy
 def __init__(self):
     super().__init__()
     self._gst_player: player = player.get_playbin()
     player.add_player_listener(self._pass_legacy_player_events)