def __init__(self, exaile, doubanfm_plugin): self.exaile = exaile self.dbfm_plugin = doubanfm_plugin self.builder = gtk.Builder() self.builder.add_from_file(get_resource_path('doubanfm_mode.ui')) self.builder.connect_signals({ 'on_bookmark_button_clicked': self.on_bookmark_button_clicked, 'on_skip_button_clicked': self.on_skip_button_clicked, 'on_delete_button_clicked': self.on_delete_button_clicked, 'on_go_home_button_clicked': self.on_go_home_button_clicked, 'on_volume_slider_value_changed': self.on_volume_slider_value_changed, 'on_volume_mute_button_toggled': self.on_volume_mute_button_toggled }) self.window = self.builder.get_object('doubanfm_mode_window') self.window.connect('destroy', self.hide) volume = settings.get_option('player/volume', 1) self.volume_scale = self.builder.get_object('volume_scale') self.volume_scale.set_value(volume) hbox2 = self.builder.get_object('hbox2') self.mute_button = guiutil.VolumeControl() hbox2.pack_end(self.mute_button) self.cover_box = self.builder.get_object('cover_eventbox1') image = gtk.Image() self.cover = cover.CoverWidget(image) self.cover_box.add(self.cover) self.track_title_label = self.builder.get_object('track_title_label') self.track_info_label = self.builder.get_object('track_info_label') self.bookmark_button = self.builder.get_object('bookmark_button') progress_box = self.builder.get_object('playback_progressbar') self.progress_bar = PlaybackProgressBar(progress_box, self.exaile.player) self.visible = False self.active = False event.add_callback(self.on_playback_start, 'playback_track_start', self.exaile.player) self._toggle_id = self.exaile.gui.main.connect('main-visible-toggle', self.toggle_visible)
def __init__(self, player): Gtk.Bin.__init__(self) self.__player = player builder = Gtk.Builder() builder.add_from_file( xdg.get_data_path('ui', 'widgets', 'track_info.ui')) info_box = builder.get_object('info_box') info_box.reparent(self) self.__auto_update = False self.__display_progress = False self.__formatter = formatter.TrackFormatter( _('<span size="x-large" weight="bold">$title</span>\n' 'by $artist\n' 'from $album')) self.__formatter.connect('notify::format', self.on_notify_format) self.__default_text = ('<span size="x-large" ' 'weight="bold">%s</span>\n\n' % _('Not Playing')) self.__cover_size = None self.__timer = None self.__track = None self.info_label = builder.get_object('info_label') self.action_area = builder.get_object('action_area') self.progress_box = builder.get_object('progress_box') self.playback_image = builder.get_object('playback_image') self.progressbar = PlaybackProgressBar(player) guiutil.gtk_widget_replace(builder.get_object('progressbar'), self.progressbar) self.cover = cover.CoverWidget(builder.get_object('cover_image')) self.cover.hide() self.cover.set_no_show_all(True) self.clear() self.__update_widget_state()
def __init__(self, display_tracklist=False): """ :param display_tracklist: Whether to display a short list of tracks """ gtk.Alignment.__init__(self) builder = gtk.Builder() builder.add_from_file( xdg.get_data_path('ui', 'widgets', 'tracklist_info.ui')) info_box = builder.get_object('info_box') info_box.reparent(self) self._display_tracklist = display_tracklist self.cover = cover.CoverWidget(builder.get_object('cover_image')) self.album_label = builder.get_object('album_label') self.artist_label = builder.get_object('artist_label') if self._display_tracklist: self.tracklist_table = builder.get_object('tracklist_table') self.tracklist_table.set_no_show_all(False) self.tracklist_table.set_property('visible', True) self.total_label = builder.get_object('total_label') self.total_label.set_no_show_all(False) self.total_label.set_property('visible', True) self.rownumber = 1 self.pango_attributes = pango.AttrList() self.pango_attributes.insert( pango.AttrScale(pango.SCALE_SMALL, end_index=-1)) self.pango_attributes.insert( pango.AttrStyle(pango.STYLE_ITALIC, end_index=-1)) self.ellipse_pango_attributes = pango.AttrList() self.ellipse_pango_attributes.insert( pango.AttrWeight(pango.WEIGHT_BOLD, end_index=-1))
def __init__(self, exaile, doubanfm_plugin): self.exaile = exaile self.dbfm_plugin = doubanfm_plugin self.builder = gtk.Builder() self.builder.add_from_file(get_resource_path('doubanfm_mode.ui')) self.builder.connect_signals({ 'on_bookmark_button_clicked': self.on_bookmark_button_clicked, 'on_skip_button_clicked': self.on_skip_button_clicked, 'on_delete_button_clicked': self.on_delete_button_clicked, 'on_go_home_button_clicked': self.on_go_home_button_clicked, 'on_item_setting_clicked': self.on_button_setting_clicked, 'on_item_album_clicked': self.on_button_album_clicked, 'on_item_report_clicked': self.on_button_report_clicked, 'on_menu_toggle': self.on_menu_toggle, 'on_quit': self.on_quit, 'on_pausebutton_clicked': self.on_pausebutton_clicked, 'on_recommend_song': self.on_recommend_song, 'on_share_sina': self.on_share_sina, 'on_share_renren': self.on_share_renren, 'on_share_kaixin001': self.on_share_kaixin001, 'on_share_twitter': self.on_share_twitter, 'on_share_fanfou': self.on_share_fanfou, 'on_copy_permalink': self.on_copy_permalink, }) self.window = self.builder.get_object('doubanfm_mode_window') self.window.connect('destroy', self.hide) volume = settings.get_option('player/volume', 1) self.volume_control = playback.VolumeControl(player.PLAYER) self.builder.get_object('hbox2').pack_start(self.volume_control) self.cover_box = self.builder.get_object('cover_eventbox1') self.info_area = info.TrackInfoPane(player.PLAYER) self.cover = cover.CoverWidget(self.cover_box, player.PLAYER) # self.cover_box.add(self.cover) self.track_title_label = self.builder.get_object('track_title_label') attr = pango.AttrList() attr.change(pango.AttrWeight(pango.WEIGHT_BOLD, 0, 800)) attr.change(pango.AttrSize(12500, 0, 600)) self.track_title_label.set_attributes(attr) self.track_info_label = self.builder.get_object('track_info_label') self.bookmark_button = self.builder.get_object('bookmark_button') self.trash_button = self.builder.get_object('delete_button') self.skip_button = self.builder.get_object('skip_button') self.pause_button = self.builder.get_object('pause_button') self.popup_menu = self.builder.get_object('moremenu') self.report_menuitem = self.builder.get_object('menuitem1') self.album_menuitem = self.builder.get_object('menuitem2') self.recmd_menuitem = self.builder.get_object('menuitem10') self.sensitive_widgets = [ self.bookmark_button, self.trash_button, self.skip_button, self.pause_button, self.report_menuitem, self.album_menuitem, self.recmd_menuitem, ] self.progress_bar = playback.PlaybackProgressBar(player.PLAYER) self.builder.get_object('vbox2').pack_start(self.progress_bar) self.visible = False self.active = False self._build_channel_menu() event.add_callback(self.on_playback_start, 'playback_track_start', player.PLAYER) event.add_callback(self.on_playback_stop, 'playback_track_end', player.PLAYER) event.add_callback(self.on_pausebutton_toggled, 'playback_toggle_pause', player.PLAYER) event.add_callback(self.on_tag_update, 'track_tags_changed') self._toggle_id = self.exaile.gui.main.connect('main-visible-toggle', self.toggle_visible) ## added for 0.3.2 self._init_alpha()