コード例 #1
0
    def __init__(self, controls):
        FControl.__init__(self, controls)
        Gtk.Box.__init__(self,
                         orientation=Gtk.Orientation.HORIZONTAL,
                         spacing=0)

        self.old_menu = MenuBarWidget(controls)

        self.pack_start(self.old_menu.widget, False, False, 0)

        self.new_menu_button = ImageButton("preferences-system",
                                           tooltip_text=_("Settings"))
        self.new_menu_button.connect("button-press-event",
                                     self.on_button_press)

        self.pack_start(self.new_menu_button, False, False, 0)
        self.pack_start(controls.playback, False, False, 0)
        self.pack_start(controls.os, False, False, 0)
        self.pack_start(controls.volume, False, False, 0)
        self.pack_start(Gtk.SeparatorToolItem.new(), False, False, 0)
        self.pack_start(controls.record, False, False, 0)
        self.pack_start(controls.seek_bar, True, True, 0)
        """menu init"""
        menu = Popup()
        decorator = MenuStyleDecorator()
        MenuBarWidget(self.controls, menu)
        menu.add_separator()
        menu.add_item(_("Preferences"), "preferences-system",
                      self.controls.show_preferences)
        menu.add_separator()
        menu.add_item(_("Quit"), "application-exit", self.controls.quit)

        decorator.apply(menu)
        self.menu = menu
コード例 #2
0
ファイル: simple_tree.py プロジェクト: shenps/foobnix
 def on_button_press(self, w, e):
     if is_empty_click(w, e):
         w.get_selection().unselect_all()
     active = self.get_selected_bean()
     if active:
         active.type = FTYPE_NOT_UPDATE_INFO_PANEL
     else:
         return None
     
     if is_left_click(e):
         if active.get_status():
             if active.get_status() == DOWNLOAD_STATUS_ALL:
                 self.controls.dm.filter(None, FTreeModel().status[0])
             else:
                 self.controls.dm.filter(active.get_status(), FTreeModel().status[0])
             
     if is_double_left_click(e):
         self.controls.play(active)
     
     if is_rigth_click(e):
         right_click_optimization_for_trees(w, e)
         menu = Popup()
         menu.add_item('Play', Gtk.STOCK_MEDIA_PLAY, self.controls.play, active)
         menu.add_item('Copy to Search Line', Gtk.STOCK_COPY, self.controls.searchPanel.set_search_text, active.text)
         menu.show(e)
コード例 #3
0
ファイル: top.py プロジェクト: sitexa/foobnix
    def __init__(self, controls):
        FControl.__init__(self, controls)
        Gtk.HBox.__init__(self, False, 0)

        self.old_menu = MenuBarWidget(controls)

        self.pack_start(self.old_menu.widget, False, False, 0)

        self.new_menu_button = ImageButton(Gtk.STOCK_PREFERENCES)
        self.new_menu_button.connect("button-press-event",
                                     self.on_button_press)

        self.pack_start(self.new_menu_button, False, False, 0)
        self.pack_start(controls.playback, False, False, 0)
        self.pack_start(controls.os, False, False, 0)
        self.pack_start(controls.volume, False, False, 0)
        self.pack_start(Gtk.SeparatorToolItem.new(), False, False, 0)
        self.pack_start(controls.record, False, False, 0)
        self.pack_start(controls.seek_bar, True, True, 0)
        """menu init"""
        menu = Popup()
        decorator = MenuStyleDecorator()
        MenuBarWidget(self.controls, menu)
        menu.add_separator()
        menu.add_item(_("Preferences"), Gtk.STOCK_PREFERENCES,
                      self.controls.show_preferences)
        menu.add_separator()
        menu.add_item(_("Quit"), Gtk.STOCK_QUIT, self.controls.quit)

        decorator.apply(menu)
        self.menu = menu
コード例 #4
0
    def _append_column(self, column):
        column.set_widget(column.label)
        column.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
        if column.key in ['*', '№', 'Time']:
            column.set_sizing(gtk.TREE_VIEW_COLUMN_AUTOSIZE)
        else:
            column.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
        if FC().columns[column.key][2] > 0:
            column.set_fixed_width(FC().columns[column.key][2])

        self.append_column(column)
        column.button = column.label.get_parent().get_parent().get_parent()
        column.button.connect("button-press-event", self.on_click_header)
        if column.key == '№':
            self.trkn_col.button.menu = Popup()
            self.num_order = gtk.RadioMenuItem(None, _("Numbering by order"))
            self.num_order.connect("button-press-event", self.on_toggled_num)
            self.num_tags = gtk.RadioMenuItem(self.num_order,
                                              _("Numbering by tags"))
            self.num_tags.connect("button-press-event", self.on_toggled_num)

            self.trkn_col.button.menu.append(self.num_order)
            self.trkn_col.button.menu.append(self.num_tags)
            if FC().numbering_by_order:
                self.num_order.set_active(True)
            else:
                self.num_tags.set_active(True)
コード例 #5
0
    def on_button_press(self, w, e):
        if is_middle_click(e):
            """to avoid unselect all selected items"""
            self.stop_emission('button-press-event')
        if is_left_click(e):
            # on left click expand selected folders
            return

        if is_double_left_click(e):
            # on middle click play selected beans
            self.add_to_tab()
            return

        if is_rigth_click(e):
            # on right click, show pop-up menu
            menu = Popup()
            menu.add_item(_("Append to playlist"), gtk.STOCK_ADD,
                          lambda: self.add_to_tab(True), None)
            menu.add_item(_("Open in new playlist"), gtk.STOCK_MEDIA_PLAY,
                          self.add_to_tab, None)
            menu.add_separator()
            menu.add_item(_("Add folder here"), gtk.STOCK_OPEN,
                          self.add_folder, None)
            menu.add_separator()

            if FC().tabs_mode == "Multi":
                menu.add_item(_("Add folder in new tab"), gtk.STOCK_OPEN,
                              lambda: self.add_folder(True), None)
                menu.add_item(
                    _("Clear"), gtk.STOCK_CLEAR,
                    lambda: self.controls.tabhelper.clear_tree(self.scroll),
                    None)
            menu.add_item(
                _("Update"), gtk.STOCK_REFRESH, lambda: self.controls.tabhelper
                .on_update_music_tree(self.scroll), None)

            f_model, f_t_paths = self.get_selection().get_selected_rows()
            if f_t_paths:
                model = f_model.get_model()
                t_paths = [
                    f_model.convert_child_path_to_path(f_t_path)
                    for f_t_path in f_t_paths
                ]
                row = model[t_paths[0]]
                paths = [model[t_path][self.path[0]] for t_path in t_paths]
                row_refs = [
                    gtk.TreeRowReference(model, t_path) for t_path in t_paths
                ]
                menu.add_separator()
                menu.add_item(_("Open in file manager"), None,
                              open_in_filemanager,
                              self.get_selected_bean().path)
                menu.add_item(_("Rename file (folder)"), None,
                              self.rename_files,
                              (row, self.path[0], self.text[0]))
                menu.add_item(
                    _("Delete file(s) / folder(s)"), None, self.delete_files,
                    (row_refs, paths, self.get_iter_from_row_reference))

            menu.show(e)
コード例 #6
0
ファイル: tab_library.py プロジェクト: toastercup/foobnix
 def tab_menu_creator(self, widget, tab_child):
     widget.menu = Popup()
     widget.menu.add_item(_("Rename tab"), "", lambda: self.on_rename_tab(tab_child, 90, FCache().tab_names), None)
     widget.menu.add_item(_("Update Music Tree"), "view-refresh", lambda: self.on_update_music_tree(tab_child), None)
     widget.menu.add_item(_("Add folder"), "folder-open", lambda: self.on_add_folder(tab_child), None)
     widget.menu.add_item(_("Add folder in new tab"), "folder-open", lambda : self.on_add_folder(tab_child, True), None)
     widget.menu.add_item(_("Clear Music Tree"), "edit-clear", lambda : self.clear_tree(tab_child), None)
     widget.menu.add_item(_("Close tab"), "window-close", lambda: self.on_delete_tab(tab_child), None)
     return widget
コード例 #7
0
 def on_button_press(self, w, e):
     active = self.get_selected_bean()
     if is_rigth_click(e):
         menu = Popup()
         menu.add_item(_('Play'), gtk.STOCK_MEDIA_PLAY, self.controls.play,
                       active)
         menu.add_item(_('Copy to Search Line'), gtk.STOCK_COPY,
                       self.controls.searchPanel.set_search_text,
                       active.text)
         menu.show(e)
コード例 #8
0
 def tab_menu_creator(self, widget, tab_child):
     widget.menu = Popup()
     widget.menu.add_item(
         _("Rename tab"), "",
         lambda: self.on_rename_tab(tab_child, self.default_angle), None)
     widget.menu.add_item(_("Save playlist as"), Gtk.STOCK_SAVE_AS,
                          lambda: self.on_save_playlist(tab_child))
     widget.menu.add_item(_("Close tab"), Gtk.STOCK_CLOSE,
                          lambda: self.on_delete_tab(tab_child), None)
     widget.show()
     return widget
コード例 #9
0
ファイル: __init__.py プロジェクト: n0nvme/foobnix
 def tab_menu_creator(self, widget, tab_child):
     widget.menu = Popup()
     widget.menu.add_item(
         _("Rename tab"), "",
         lambda: self.on_rename_tab(tab_child, self.default_angle), None)
     widget.menu.add_item(_("Save playlist as"), "document-save-as",
                          lambda: self.on_save_playlist(tab_child))
     widget.menu.add_item(_("Close tab"), "window-close",
                          lambda: self.on_delete_tab(tab_child), None)
     widget.show()
     return widget
コード例 #10
0
 def create_menu(self):
     menu = Popup()
     menu.add_item(_("Play-Pause"), "media-playback-pause", self.set_action_text, "play_pause")
     menu.add_item(_("Stop"), "media-playback-stop", self.set_action_text, "state_stop")
     menu.add_item(_("Next song"), "go-next", self.set_action_text, "next")
     menu.add_item(_("Previous song"), "go-previous", self.set_action_text, "prev")
     menu.add_item(_("Volume up"), "go-up", self.set_action_text, "volume_up")
     menu.add_item(_("Volume down"), "go-down", self.set_action_text, "volume_down")
     menu.add_item(_("Show-Hide"), "view-fullscreen", self.set_action_text, "show_hide")
     menu.add_item(_('Download'), "list-add", self.set_action_text, "download")
     return menu
コード例 #11
0
 def on_button_press(self, w, e):
     logging.debug("on dm button release")
     if is_rigth_click(e):
         menu = Popup()
         try:
             if self.get_selected_bean():
                 menu.add_item(_("Open in file manager"), None,
                               open_in_filemanager,
                               self.get_selected_bean().path)
             else:
                 menu.add_item(_("Open in file manager"), None,
                               open_in_filemanager,
                               FC().online_save_to_folder)
         except Exception, e:
             logging.error(e)
         menu.show(e)
コード例 #12
0
    def on_button_release(self, w, e):
        if is_rigth_click_release(e):
            """to select item under cursor"""
            try:
                path, col, cellx, celly = self.get_path_at_pos(
                    int(e.x), int(e.y))  #@UnusedVariable
                self.get_selection().select_path(path)
            except TypeError:
                pass
            #menu.add_item('Save as', gtk.STOCK_SAVE_AS, self.controls.save_beans_to, self.get_all_selected_beans())

            beans = self.get_selected_beans()

            if beans:
                menu = Popup()
                menu.add_item(_('Play'), gtk.STOCK_MEDIA_PLAY,
                              self.controls.play_selected_song, None)
                menu.add_item(_('Download'), gtk.STOCK_ADD,
                              self.controls.dm.append_tasks,
                              self.get_all_selected_beans())
                menu.add_item(_('Download To...'), gtk.STOCK_ADD,
                              self.controls.dm.append_tasks_with_dialog,
                              self.get_all_selected_beans())
                menu.add_separator()
                paths = [bean.path for bean in beans]
                if paths[0]:
                    menu.add_item(_('Edit Tags'), gtk.STOCK_EDIT, edit_tags,
                                  (self.controls, paths))
                    menu.add_item(_('Format Converter'), gtk.STOCK_CONVERT,
                                  convert_files, paths)
                text = self.get_selected_bean().text
                menu.add_item(_('Copy To Search Line'), gtk.STOCK_COPY,
                              self.controls.searchPanel.set_search_text, text)
                menu.add_separator()
                menu.add_item(_('Copy №-Title-Time'), gtk.STOCK_COPY,
                              self.copy_info_to_clipboard)
                menu.add_item(_('Copy Artist-Title-Album'), gtk.STOCK_COPY,
                              self.copy_info_to_clipboard, True)
                menu.add_separator()
                menu.add_item(_('Love This Track(s)'), None,
                              self.controls.love_this_tracks,
                              self.get_all_selected_beans())
                menu.add_separator()
                if paths[0]:
                    menu.add_item(_("Open In File Manager"), None,
                                  open_in_filemanager, paths[0])
                menu.show(e)
コード例 #13
0
    def __init__(self, controls):
        CommonTreeControl.__init__(self, controls)
        """column config"""
        column = Gtk.TreeViewColumn(_("Storage"),
                                    Gtk.CellRendererText(),
                                    text=self.text[0],
                                    font=self.font[0])
        column.set_resizable(True)
        self.set_headers_visible(True)
        self.append_column(column)

        self.tree_menu = Popup()

        self.configure_send_drag()
        self.configure_recive_drag()

        self.set_type_tree()
コード例 #14
0
ファイル: radio_tree.py プロジェクト: toastercup/foobnix
    def __init__(self, controls):
        CommonTreeControl.__init__(self, controls)
        self.set_reorderable(False)
        self.switcher_label = _("My channels")
        self.tree_menu = Popup()
        """column config"""
        column = Gtk.TreeViewColumn(_("Radio Stations"),
                                    self.ellipsize_render,
                                    text=self.text[0],
                                    font=self.font[0])
        column.set_resizable(True)
        self.set_headers_visible(True)
        self.append_column(column)

        self.configure_send_drag()
        self.configure_recive_drag()
        self.set_type_tree()
コード例 #15
0
 def tab_menu_creator(self, widget, tab_child):
     widget.menu = Popup()
     widget.menu.add_item(
         _("Rename tab"), "",
         lambda: self.on_rename_tab(tab_child, 90,
                                    FCache().tab_names), None)
     widget.menu.add_item(_("Update Music Tree"), Gtk.STOCK_REFRESH,
                          lambda: self.on_update_music_tree(tab_child),
                          None)
     widget.menu.add_item(_("Add folder"), Gtk.STOCK_OPEN,
                          lambda: self.on_add_folder(tab_child), None)
     widget.menu.add_item(_("Add folder in new tab"), Gtk.STOCK_OPEN,
                          lambda: self.on_add_folder(tab_child, True), None)
     widget.menu.add_item(_("Clear Music Tree"), Gtk.STOCK_CLEAR,
                          lambda: self.clear_tree(tab_child), None)
     widget.menu.add_item(_("Close tab"), Gtk.STOCK_CLOSE,
                          lambda: self.on_delete_tab(tab_child), None)
     return widget
コード例 #16
0
 def create_menu(self):
     menu = Popup()
     menu.add_item(_("Play-Pause"), Gtk.STOCK_MEDIA_PAUSE,
                   self.set_action_text, "play_pause")
     menu.add_item(_("Stop"), Gtk.STOCK_MEDIA_STOP, self.set_action_text,
                   "state_stop")
     menu.add_item(_("Next song"), Gtk.STOCK_MEDIA_NEXT,
                   self.set_action_text, "next")
     menu.add_item(_("Previous song"), Gtk.STOCK_MEDIA_PREVIOUS,
                   self.set_action_text, "prev")
     menu.add_item(_("Volume up"), Gtk.STOCK_GO_UP, self.set_action_text,
                   "volume_up")
     menu.add_item(_("Volume down"), Gtk.STOCK_GO_DOWN,
                   self.set_action_text, "volume_down")
     menu.add_item(_("Show-Hide"), Gtk.STOCK_FULLSCREEN,
                   self.set_action_text, "show_hide")
     menu.add_item(_('Download'), Gtk.STOCK_ADD, self.set_action_text,
                   "download")
     return menu
コード例 #17
0
    def on_button_press(self, w, e):
        active = self.get_selected_bean()
        if active and is_rigth_click(e):
            menu = Popup()
            menu.add_item(_('Play'), gtk.STOCK_MEDIA_PLAY, self.controls.play,
                          active)
            menu.add_item(_('Copy to Search Line'), gtk.STOCK_COPY,
                          self.controls.searchPanel.set_search_text,
                          active.text)
            menu.show(e)

        if is_double_left_click(e):
            selected = self.get_selected_bean()
            beans = self.get_all_child_beans_by_selected()
            self.controls.notetabs._append_tab(selected.text,
                                               [selected] + beans,
                                               optimization=True)
            "run radio channel"
            self.controls.play_first_file_in_playlist()
コード例 #18
0
    def __init__(self, controls):
        CommonTreeControl.__init__(self, controls)
        """column config"""
        column = Gtk.TreeViewColumn(_("VK Integration "),
                                    self.ellipsize_render,
                                    text=self.text[0],
                                    font=self.font[0])
        column.set_resizable(True)
        self.set_headers_visible(True)
        self.append_column(column)

        self.tree_menu = Popup()

        self.configure_send_drag()
        self.configure_recive_drag()

        self.set_type_tree()

        self.lazy = False
        self.cache = []
コード例 #19
0
    def __init__(self, navigation):
        self.navigation = navigation
        CommonTreeControl.__init__(self, None)
        self.set_reorderable(False)
        self.set_headers_visible(True)

        self.tree_menu = Popup()
        """column config"""
        column = Gtk.TreeViewColumn("Name",
                                    Gtk.CellRendererText(),
                                    text=self.text[0])
        column.set_resizable(True)
        self.append_column(column)
        """column config"""
        column = Gtk.TreeViewColumn("Progress",
                                    Gtk.CellRendererProgress(),
                                    text=self.persent[0],
                                    value=self.persent[0])
        column.set_resizable(True)
        self.append_column(column)
        """column config"""
        column = Gtk.TreeViewColumn("Size",
                                    Gtk.CellRendererText(),
                                    text=self.size[0])
        column.set_resizable(True)
        self.append_column(column)
        """status"""
        column = Gtk.TreeViewColumn("Status",
                                    Gtk.CellRendererText(),
                                    text=self.status[0])
        column.set_resizable(True)
        self.append_column(column)
        """column config"""
        column = Gtk.TreeViewColumn("Path",
                                    Gtk.CellRendererText(),
                                    text=self.save_to[0])
        column.set_resizable(True)
        column.set_expand(True)
        self.append_column(column)

        self.set_type_plain()
コード例 #20
0
ファイル: hotkey_conf.py プロジェクト: matttbe/foobnix
 def on_mouse_click(self, w, event):
     menu = Popup()
     menu.add_item(_("Play"), gtk.STOCK_MEDIA_PLAY, self.set_action_text,
                   "--play")
     menu.add_item(_("Pause"), gtk.STOCK_MEDIA_PAUSE, self.set_action_text,
                   "--pause")
     menu.add_item(_("Stop"), gtk.STOCK_MEDIA_STOP, self.set_action_text,
                   "--stop")
     menu.add_item(_("Next song"), gtk.STOCK_MEDIA_NEXT,
                   self.set_action_text, "--next")
     menu.add_item(_("Previous song"), gtk.STOCK_MEDIA_PREVIOUS,
                   self.set_action_text, "--prev")
     menu.add_item(_("Volume up"), gtk.STOCK_GO_UP, self.set_action_text,
                   "--volume-up")
     menu.add_item(_("Volume down"), gtk.STOCK_GO_DOWN,
                   self.set_action_text, "--volume-down")
     menu.add_item(_("Show-Hide"), gtk.STOCK_FULLSCREEN,
                   self.set_action_text, "--show-hide")
     menu.add_item(_("Play-Pause"), gtk.STOCK_MEDIA_RECORD,
                   self.set_action_text, "--play-pause")
     menu.show(event)
コード例 #21
0
    def on_button_press(self, w, e):
        if is_double_left_click(e):
            selected = self.get_selected_bean()
            beans = self.get_all_child_beans_by_selected()
            self.controls.notetabs._append_tab(selected.text,
                                               [selected] + beans,
                                               optimization=True)
            "run radio channel"
            self.controls.play_first_file_in_playlist()

        if is_rigth_click(e):
            menu = Popup()
            menu.add_item(_("Add Station"), gtk.STOCK_ADD, self.on_add_station,
                          None)
            menu.add_item(_("Delete Station"), gtk.STOCK_DELETE,
                          self.on_delete_station, None)
            menu.add_item(_("Edit Radio"), gtk.STOCK_EDIT, self.on_edit_radio,
                          None)
            menu.add_separator()
            menu.add_item(_("Reload radio folder"), gtk.STOCK_REFRESH,
                          self.update_radio_tree, None)
            menu.show(e)
コード例 #22
0
    def __init__(self, controls):
        CommonTreeControl.__init__(self, controls)
        """column config"""
        column = Gtk.TreeViewColumn(_("Lasm.fm Integration ") +
                                    FCBase().lfm_login,
                                    self.ellipsize_render,
                                    text=self.text[0],
                                    font=self.font[0])
        column.set_resizable(True)
        self.set_headers_visible(True)
        self.append_column(column)

        self.tree_menu = Popup()

        self.configure_send_drag()
        self.configure_recive_drag()

        self.set_type_tree()

        self.services = {
            _("My recommendations"):
            self.controls.lastfm_service.get_recommended_artists,
            _("My loved tracks"):
            self.controls.lastfm_service.get_loved_tracks,
            _("My top tracks"): self.controls.lastfm_service.get_top_tracks,
            _("My recent tracks"):
            self.controls.lastfm_service.get_recent_tracks,
            _("My top artists"): self.controls.lastfm_service.get_top_artists,
            _("My events"): self.controls.lastfm_service.get_events,
            _("My friends"): self.controls.lastfm_service.get_friends,
            _("My neighbours"): self.controls.lastfm_service.get_neighbours
        }

        for name in self.services:
            parent = FModel(name)
            bean = FDModel(_("loading...")).parent(parent).add_is_file(True)
            self.append(parent)
            self.append(bean)
コード例 #23
0
    def __init__(self, controls):
        CommonTreeControl.__init__(self, controls)

        self.header_pressed = False

        self.menu = Popup()
        self.tree_menu = Popup()
        self.full_name = ""
        self.label = Gtk.Label()

        self.set_headers_visible(True)
        self.set_headers_clickable(True)
        self.set_reorderable(True)

        """Column icon"""
        self.icon_col = Gtk.TreeViewColumn(None, Gtk.CellRendererPixbuf(), icon_name=self.play_icon[0])
        self.icon_col.key = "*"
        self.icon_col.set_sizing(Gtk.TreeViewColumnSizing.FIXED)
        self.icon_col.set_fixed_width(32)
        self.icon_col.set_min_width(32)
        self.icon_col.label = Gtk.Label("*")
        self._append_column(self.icon_col)

        """track number"""
        self.trkn_col = Gtk.TreeViewColumn(None, Gtk.CellRendererText(), text=self.tracknumber[0])
        self.trkn_col.key = "N"
        self.trkn_col.set_clickable(True)
        self.trkn_col.label = Gtk.Label("№")
        self.trkn_col.label.show()
        self.trkn_col.item = Gtk.CheckMenuItem(_("Number"))
        self.trkn_col.set_widget(self.trkn_col.label)
        self._append_column(self.trkn_col)

        """column composer"""
        self.comp_col = Gtk.TreeViewColumn(None, Gtk.CellRendererText(), text=self.composer[0])
        self.comp_col.key = "Composer"
        self.comp_col.set_resizable(True)
        self.comp_col.label = Gtk.Label(_("Composer"))
        self.comp_col.item = Gtk.CheckMenuItem(_("Composer"))
        self._append_column(self.comp_col)

        """column artist title"""
        self.description_col = Gtk.TreeViewColumn(None, Gtk.CellRendererText(), text=self.text[0], font=self.font[0])
        self.description_col.key = "Track"
        self.description_col.set_resizable(True)
        self.description_col.label = Gtk.Label(_("Track"))
        self.description_col.item = Gtk.CheckMenuItem(_("Track"))
        self._append_column(self.description_col)

        """column artist"""
        self.artist_col = Gtk.TreeViewColumn(None, Gtk.CellRendererText(), text=self.artist[0])
        self.artist_col.key = "Artist"
        self.artist_col.set_sizing(Gtk.TREE_VIEW_COLUMN_AUTOSIZE)
        self.artist_col.set_resizable(True)
        self.artist_col.label = Gtk.Label(_("Artist"))
        self.artist_col.item = Gtk.CheckMenuItem(_("Artist"))
        self._append_column(self.artist_col)

        """column title"""
        self.title_col = Gtk.TreeViewColumn(None, Gtk.CellRendererText(), text=self.title[0])
        self.title_col.key = "Title"
        self.title_col.set_sizing(Gtk.TREE_VIEW_COLUMN_AUTOSIZE)
        self.title_col.set_resizable(True)
        self.title_col.label = Gtk.Label(_("Title"))
        self.title_col.item = Gtk.CheckMenuItem(_("Title"))
        self._append_column(self.title_col)

        """column album"""
        self.album_col = Gtk.TreeViewColumn(None, Gtk.CellRendererText(), text=self.album[0])
        self.album_col.key = "Album"

        if self.album_col.key not in FC().columns:
            FC().columns[self.album_col.key] = [False, 7, 90]
        self.album_col.set_sizing(Gtk.TREE_VIEW_COLUMN_AUTOSIZE)
        self.album_col.set_resizable(True)
        self.album_col.label = Gtk.Label(_("Album"))
        self.album_col.item = Gtk.CheckMenuItem(_("Album"))
        self._append_column(self.album_col)

        """column time"""
        self.time_col = Gtk.TreeViewColumn(None, Gtk.CellRendererText(), text=self.time[0])
        self.time_col.key = "Time"
        self.time_col.label = Gtk.Label(_("Time"))
        self.time_col.item = Gtk.CheckMenuItem(_("Time"))
        self._append_column(self.time_col)

        self.configure_send_drag()
        self.configure_recive_drag()

        self.set_playlist_plain()

        self.connect("button-release-event", self.on_button_press)

        self.on_load()

        self.connect("columns-changed", self.on_columns_changed)
コード例 #24
0
ファイル: eq_gui.py プロジェクト: n0nvme/foobnix
 def on_button_press(self, w, e):
     if is_rigth_click(e):
         menu = Popup()
         menu.add_item('Restore Defaults', "view-refresh", None)
         menu.show(e)
コード例 #25
0
    def __init__(self, controls):
        CommonTreeControl.__init__(self, controls)

        self.set_headers_visible(True)
        self.set_headers_clickable(True)
        self.set_reorderable(True)

        self.menu = Popup()
        """Column icon"""
        self.icon_col = gtk.TreeViewColumn(None,
                                           gtk.CellRendererPixbuf(),
                                           stock_id=self.play_icon[0])
        self.icon_col.key = "*"
        self.icon_col.set_fixed_width(5)
        self.icon_col.set_min_width(5)
        self.icon_col.label = gtk.Label("*")
        self._append_column(self.icon_col)
        """track number"""
        self.trkn_col = gtk.TreeViewColumn(None,
                                           gtk.CellRendererText(),
                                           text=self.tracknumber[0])
        self.trkn_col.key = "№"
        self.trkn_col.set_clickable(True)
        self.trkn_col.label = gtk.Label("№")
        self.trkn_col.label.show()
        self.trkn_col.item = gtk.CheckMenuItem(_("Number"))
        self.trkn_col.set_widget(self.trkn_col.label)
        self._append_column(self.trkn_col)
        """column composer"""
        self.comp_col = gtk.TreeViewColumn(None,
                                           gtk.CellRendererText(),
                                           text=self.composer[0])
        self.comp_col.key = "Composer"
        self.comp_col.set_resizable(True)
        self.comp_col.label = gtk.Label(_("Composer"))
        self.comp_col.item = gtk.CheckMenuItem(_("Composer"))
        self._append_column(self.comp_col)
        """column artist title"""
        self.description_col = gtk.TreeViewColumn(None,
                                                  gtk.CellRendererText(),
                                                  text=self.text[0],
                                                  font=self.font[0])
        self.description_col.key = "Track"
        self.description_col.set_resizable(True)
        self.description_col.label = gtk.Label(_("Track"))
        self.description_col.item = gtk.CheckMenuItem(_("Track"))
        self._append_column(self.description_col)
        """column artist"""
        self.artist_col = gtk.TreeViewColumn(None,
                                             gtk.CellRendererText(),
                                             text=self.artist[0])
        self.artist_col.key = "Artist"
        self.artist_col.set_sizing(gtk.TREE_VIEW_COLUMN_AUTOSIZE)
        self.artist_col.set_resizable(True)
        self.artist_col.label = gtk.Label(_("Artist"))
        self.artist_col.item = gtk.CheckMenuItem(_("Artist"))
        self._append_column(self.artist_col)
        """column title"""
        self.title_col = gtk.TreeViewColumn(None,
                                            gtk.CellRendererText(),
                                            text=self.title[0])
        self.title_col.key = "Title"
        self.title_col.set_sizing(gtk.TREE_VIEW_COLUMN_AUTOSIZE)
        self.title_col.set_resizable(True)
        self.title_col.label = gtk.Label(_("Title"))
        self.title_col.item = gtk.CheckMenuItem(_("Title"))
        self._append_column(self.title_col)
        """column time"""
        self.time_col = gtk.TreeViewColumn(None,
                                           gtk.CellRendererText(),
                                           text=self.time[0])
        self.time_col.key = "Time"
        self.time_col.label = gtk.Label(_("Time"))
        self.time_col.item = gtk.CheckMenuItem(_("Time"))
        self._append_column(self.time_col)

        self.configure_send_drag()
        self.configure_recive_drag()

        self.set_playlist_plain()

        self.connect("button-release-event", self.on_button_release)

        self.on_load()

        self.connect("columns-changed", self.on_columns_changed)
コード例 #26
0
    def __init__(self, controls):
        CommonTreeControl.__init__(self, controls)

        self.controls = controls
        self.full_name = ""
        self.label = Gtk.Label.new(None)

        self.tree_menu = Popup()

        self.set_headers_visible(True)
        self.set_headers_clickable(True)

        """column config"""
        self.column = Gtk.TreeViewColumn("File", self.ellipsize_render, text=self.text[0], font=self.font[0])
        self._append_column(self.column, _("File"))

        def func(column, cell, model, iter, ext=False):
            try:
                data = model.get_value(iter, self.text[0])
            except TypeError:
                data = None
                pass
            if not model.get_value(iter, self.path[0]):
                cell.set_property('text', '')
                return
            if os.path.isfile(model.get_value(iter, self.path[0])):
                if data:
                    if ext:
                        cell.set_property('text', os.path.splitext(data)[1][1:])
                    else:
                        cell.set_property('text', os.path.splitext(data)[0])
            else:
                if ext:
                    cell.set_property('text', '')

        self.name_column = Gtk.TreeViewColumn("Name", self.ellipsize_render, text=self.text[0], font=self.font[0])
        self.name_column.set_sizing(Gtk.TreeViewColumnSizing.FIXED)
        for rend in self.name_column.get_cells():
            self.name_column.set_cell_data_func(rend, func, False)
        self._append_column(self.name_column, _("Name"))

        self.ext_column = Gtk.TreeViewColumn("Ext", Gtk.CellRendererText(), text=self.text[0], font=self.font[0])
        for rend in self.ext_column.get_cells():
            self.ext_column.set_cell_data_func(rend, func, True)
        self._append_column(self.ext_column, _("Ext"))

        self.configure_send_drag()
        self.configure_recive_drag()

        self.set_type_tree()

        self.connect("button-release-event", self.on_button_release)
        self.connect("drag-data-get", self.on_drag_data_get)
        '''to force the ext_column to take the minimum size'''
        self.name_column.set_fixed_width(2000)

        def task(*a):
            self.on_click_header(None, None, on_start=True)
        GLib.idle_add(task)

        self.scroll.get_vscrollbar().connect('show', task)
        self.scroll.get_vscrollbar().connect('hide', task)
コード例 #27
0
    def __init__(self, controls):
        CommonTreeControl.__init__(self, controls)

        self.header_pressed = False

        self.menu = Popup()
        self.tree_menu = Popup()
        self.full_name = ""
        self.label = Gtk.Label.new(None)

        self.set_headers_visible(True)
        self.set_headers_clickable(True)
        self.set_reorderable(True)

        """Column icon"""
        self.icon_col = Gtk.TreeViewColumn(None, Gtk.CellRendererPixbuf.new(), icon_name=self.play_icon[0])
        self.icon_col.key = "*"
        self.icon_col.label = Gtk.Label.new("*")
        self._append_column(self.icon_col)

        """track number"""
        self.trkn_col = Gtk.TreeViewColumn(None, Gtk.CellRendererText.new(), text=self.tracknumber[0])
        self.trkn_col.key = "N"
        #self.trkn_col.set_clickable(True)
        self.trkn_col.label = Gtk.Label.new("№")
        self.trkn_col.item = Gtk.CheckMenuItem.new_with_label(_("Number"))
        self._append_column(self.trkn_col)

        """column composer"""
        self.comp_col = Gtk.TreeViewColumn(None, self.ellipsize_render, text=self.composer[0])
        self.comp_col.key = "Composer"
        self.comp_col.label = Gtk.Label.new(_("Composer"))
        self.comp_col.item = Gtk.CheckMenuItem.new_with_label(_("Composer"))
        self._append_column(self.comp_col)

        """column artist title"""
        self.description_col = Gtk.TreeViewColumn(None, self.ellipsize_render, text=self.text[0], font=self.font[0])
        self.description_col.key = "Track"
        self.description_col.label = Gtk.Label.new(_("Track"))
        self.description_col.item = Gtk.CheckMenuItem.new_with_label(_("Track"))
        self._append_column(self.description_col)

        """column artist"""
        self.artist_col = Gtk.TreeViewColumn(None, self.ellipsize_render, text=self.artist[0])
        self.artist_col.key = "Artist"
        self.artist_col.label = Gtk.Label.new(_("Artist"))
        self.artist_col.item = Gtk.CheckMenuItem.new_with_label(_("Artist"))
        self._append_column(self.artist_col)

        """column title"""
        self.title_col = Gtk.TreeViewColumn(None, self.ellipsize_render, text=self.title[0])
        self.title_col.key = "Title"
        self.title_col.label = Gtk.Label.new(_("Title"))
        self.title_col.item = Gtk.CheckMenuItem.new_with_label(_("Title"))
        self._append_column(self.title_col)

        """column year"""
        self.year_col = Gtk.TreeViewColumn(None, Gtk.CellRendererText.new(), text=self.year[0])
        self.year_col.key = "Year"
        self.year_col.label = Gtk.Label.new(_("Year"))
        self.year_col.item = Gtk.CheckMenuItem.new_with_label(_("Year"))
        self._append_column(self.year_col)

        """column album"""
        self.album_col = Gtk.TreeViewColumn(None, self.ellipsize_render, text=self.album[0])
        self.album_col.key = "Album"

        if self.album_col.key not in FC().columns:
            FC().columns[self.album_col.key] = [False, 7, 90]
        self.album_col.label = Gtk.Label.new(_("Album"))
        self.album_col.item = Gtk.CheckMenuItem.new_with_label(_("Album"))
        self._append_column(self.album_col)

        """column time"""
        self.time_col = Gtk.TreeViewColumn(None, Gtk.CellRendererText.new(), text=self.time[0])
        self.time_col.key = "Time"
        self.time_col.label = Gtk.Label.new(_("Time"))
        self.time_col.item = Gtk.CheckMenuItem.new_with_label(_("Time"))
        self._append_column(self.time_col)

        self.configure_send_drag()
        self.configure_recive_drag()

        self.set_playlist_plain()

        self.connect("button-release-event", self.on_button_press)
        self.connect("columns-changed", self.on_columns_changed)

        self.on_load()
コード例 #28
0
ファイル: eq_gui.py プロジェクト: matttbe/foobnix
 def on_button_press(self, w, e):
     if is_rigth_click(e):
         menu = Popup()
         menu.add_item('Restore Defaults', gtk.STOCK_REFRESH, None)
         menu.show(e)