本文整理汇总了Python中quodlibet.qltk.get_top_parent函数的典型用法代码示例。如果您正苦于以下问题:Python get_top_parent函数的具体用法?Python get_top_parent怎么用?Python get_top_parent使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了get_top_parent函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: test_gtp
def test_gtp(self):
w = Gtk.Window()
l = Gtk.Label()
self.failUnlessEqual(qltk.get_top_parent(w), w)
self.failUnlessEqual(qltk.get_top_parent(l), None)
w.destroy()
l.destroy()
开发者ID:Konzertheld,项目名称:quodlibet,代码行数:7,代码来源:test_qltk___init__.py
示例2: test_gtp_packed
def test_gtp_packed(self):
w = Gtk.Window()
l = Gtk.Label()
w.add(l)
self.failUnlessEqual(qltk.get_top_parent(w), w)
self.failUnlessEqual(qltk.get_top_parent(l), w)
w.destroy()
l.destroy()
开发者ID:Konzertheld,项目名称:quodlibet,代码行数:8,代码来源:test_qltk___init__.py
示例3: __drag_data_received
def __drag_data_received(self, view, ctx, x, y, sel, tid, etime, library):
# TreeModelSort doesn't support GtkTreeDragDestDrop.
view.emit_stop_by_name('drag-data-received')
model = view.get_model()
if tid == DND_QL:
filenames = qltk.selection_get_filenames(sel)
songs = list(filter(None, [library.get(f) for f in filenames]))
if not songs:
Gtk.drag_finish(ctx, False, False, etime)
return
try:
path, pos = view.get_dest_row_at_pos(x, y)
except TypeError:
playlist = FileBackedPlaylist.from_songs(PLAYLISTS, songs,
library)
GLib.idle_add(self._select_playlist, playlist)
else:
playlist = model[path][0]
playlist.extend(songs)
self.changed(playlist)
Gtk.drag_finish(ctx, True, False, etime)
# Cause a refresh to the dragged-to playlist if it is selected
# so that the dragged (duplicate) track(s) appears
if playlist is self.__get_name_of_current_selected_playlist():
model, plist_iter = self.__selected_playlists()
songlist = qltk.get_top_parent(self).songlist
self.activate(resort=not songlist.is_sorted())
else:
if tid == DND_URI_LIST:
uri = sel.get_uris()[0]
name = os.path.basename(uri)
elif tid == DND_MOZ_URL:
data = sel.get_data()
uri, name = data.decode('utf16', 'replace').split('\n')
else:
Gtk.drag_finish(ctx, False, False, etime)
return
name = _name_for(name or os.path.basename(uri))
try:
sock = urlopen(uri)
if uri.lower().endswith('.pls'):
playlist = parse_pls(sock, name, library=library)
elif (uri.lower().endswith('.m3u') or
uri.lower().endswith('.m3u8')):
playlist = parse_m3u(sock, name, library=library)
else:
raise IOError
library.add(playlist.songs)
self.changed(playlist)
Gtk.drag_finish(ctx, True, False, etime)
except IOError:
Gtk.drag_finish(ctx, False, False, etime)
qltk.ErrorMessage(
qltk.get_top_parent(self),
_("Unable to import playlist"),
_("Quod Libet can only import playlists in the M3U/M3U8 "
"and PLS formats.")).run()
开发者ID:zsau,项目名称:quodlibet,代码行数:57,代码来源:main.py
示例4: __init__
def __init__(self, parent):
super(AddFeedDialog, self).__init__(
qltk.get_top_parent(parent),
_("New Feed"),
_("Enter the location of an audio feed:"),
okbutton=Gtk.STOCK_ADD,
)
开发者ID:Tjorriemorrie,项目名称:quodlibet,代码行数:7,代码来源:audiofeeds.py
示例5: __init__
def __init__(self, parent, default=""):
if self.is_not_unique(): return
super(TextEdit, self).__init__()
self.set_title(_("Edit Display"))
self.set_transient_for(qltk.get_top_parent(parent))
self.set_border_width(12)
self.set_default_size(420, 190)
vbox = gtk.VBox(spacing=12)
close = gtk.Button(stock=gtk.STOCK_CLOSE)
close.connect('clicked', lambda *x: self.destroy())
b = gtk.HButtonBox()
b.set_layout(gtk.BUTTONBOX_END)
b.pack_start(close)
self.box = box = self.Box(default)
vbox.pack_start(box)
vbox.pack_start(b, expand=False)
self.add(vbox)
self.apply = box.apply
self.revert = box.revert
close.grab_focus()
self.show_all()
开发者ID:silkecho,项目名称:glowing-silk,代码行数:25,代码来源:textedit.py
示例6: __init__
def __init__(self, parent):
if self.is_not_unique(): return
super(PreferencesWindow, self).__init__()
self.set_title(_("Preferences") + " - Quod Libet")
self.set_border_width(12)
self.set_resizable(False)
self.set_transient_for(qltk.get_top_parent(parent))
self.__notebook = notebook = qltk.Notebook()
for Page in [self.Connection, self.Player, self.SongList, self.Browsers,
self.Library, self.Tagging]: notebook.append_page(Page())
close = gtk.Button(stock=gtk.STOCK_CLOSE)
close.connect_object('clicked', lambda x: x.destroy(), self)
button_box = gtk.HButtonBox()
button_box.set_layout(gtk.BUTTONBOX_END)
button_box.pack_start(close)
vbox = gtk.VBox(spacing=12)
vbox.pack_start(notebook)
vbox.pack_start(button_box, expand=False)
self.add(vbox)
self.connect_object('destroy', PreferencesWindow.__destroy, self)
self.show_all()
开发者ID:silkecho,项目名称:glowing-silk,代码行数:25,代码来源:prefs.py
示例7: __show_cover
def __show_cover(self, box, event):
"""Show the cover as a detached BigCenteredImage.
If one is already showing, destroy it instead
If there is no image, run the AlbumArt plugin
"""
song = self.__song
if not song:
return
if event.button != 1 or event.type != gtk.gdk.BUTTON_PRESS:
return
if not self.__file:
from quodlibet.qltk.songsmenu import SongsMenu
from quodlibet import app
SongsMenu.plugins.handle("Download Album art", app.library,
qltk.get_top_parent(self), [song])
return
if self.__current_bci is not None:
# We're displaying it; destroy it.
self.__current_bci.destroy()
return
try:
self.__current_bci = BigCenteredImage(
song.comma("album"), self.__file.name, parent=self)
except gobject.GError: # reload in case the image file is gone
self.refresh()
else:
self.__current_bci.connect('destroy', self.__reset_bci)
开发者ID:silkecho,项目名称:glowing-silk,代码行数:33,代码来源:cover.py
示例8: __drag_data_get
def __drag_data_get(self, view, ctx, sel, tid, etime):
model, paths = self.get_selection().get_selected_rows()
if tid == DND_QL:
songs = [model[path][0] for path in paths
if model[path][0].can_add]
if len(songs) != len(paths):
qltk.ErrorMessage(
qltk.get_top_parent(self), _("Unable to copy songs"),
_("The files selected cannot be copied to other "
"song lists or the queue.")).run()
Gdk.drag_abort(ctx, etime)
return
qltk.selection_set_songs(sel, songs)
# DEM 2018/05/25: The below check is a deliberate repitition of
# code in the drag-motion signal handler. In MacOS/Quartz, the
# context action is not propogated between event handlers for
# drag-motion and drag-data-get using "ctx.get_actions()". It is
# unclear if this is a bug or expected behavior. Regardless, the
# context widget information is the same so identical behavior can
# be achieved by simply using the same widget check as in the move
# action.
if Gtk.drag_get_source_widget(ctx) == self and \
not self.__force_copy:
self.__drag_iters = list(map(model.get_iter, paths))
else:
self.__drag_iters = []
else:
uris = [model[path][0]("~uri") for path in paths]
sel.set_uris(uris)
self.__drag_iters = []
开发者ID:LudoBike,项目名称:quodlibet,代码行数:32,代码来源:songlist.py
示例9: __clicked
def __clicked(self, button):
if self.__window.get_property('visible'): return
self.__window.child.show_all()
self.__window.size_request()
x, y = self.child.window.get_origin()
w, h = self.child.window.get_size()
ww, wh = self.__window.child.parent.get_size()
sx, sy = self._move_to(x, y, w, h, ww, wh, pad=3)
self.__window.set_transient_for(get_top_parent(self))
self.__window.move(sx, sy)
self.__window.show()
self.__window.grab_focus()
self.__window.grab_add()
pointer = gtk.gdk.pointer_grab(
self.__window.window, True,
gtk.gdk.BUTTON_PRESS_MASK |
gtk.gdk.BUTTON_RELEASE_MASK |
gtk.gdk.BUTTON_MOTION_MASK |
gtk.gdk.POINTER_MOTION_MASK |
gtk.gdk.SCROLL_MASK, None, None, gtk.get_current_event_time())
keyboard = gtk.gdk.keyboard_grab(
self.__window.window, True, gtk.get_current_event_time())
if pointer != gtk.gdk.GRAB_SUCCESS or keyboard != gtk.gdk.GRAB_SUCCESS:
self.__window.grab_remove()
self.__window.hide()
if pointer == gtk.gdk.GRAB_SUCCESS:
gtk.gdk.pointer_ungrab(gtk.get_current_event_time())
if keyboard == gtk.gdk.GRAB_SUCCESS:
gtk.gdk.keyboard_ungrab(gtk.get_current_event_time())
开发者ID:silkecho,项目名称:glowing-silk,代码行数:31,代码来源:sliderbutton.py
示例10: __init__
def __init__(self, parent=None):
super(LoggingWindow, self).__init__()
self.set_default_size(400, 400)
self.set_title(_("Output Log"))
self.set_border_width(12)
self.set_transient_for(qltk.get_top_parent(parent))
notebook = qltk.Notebook()
for logname in quodlibet.util.logging.names():
text = "\n".join(quodlibet.util.logging.contents(logname))
view = gtk.TextView()
sw = gtk.ScrolledWindow()
sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
sw.set_shadow_type(gtk.SHADOW_IN)
sw.add(view)
buffer = view.get_buffer()
buffer.set_text(text)
notebook.append_page(sw, logname)
close = gtk.Button(stock=gtk.STOCK_CLOSE)
close.connect_object('clicked', lambda x: x.destroy(), self)
button_box = gtk.HButtonBox()
button_box.set_layout(gtk.BUTTONBOX_END)
button_box.pack_start(close)
vbox = gtk.VBox(spacing=12)
vbox.pack_start(notebook)
vbox.pack_start(button_box, expand=False)
self.add(vbox)
self.show_all()
开发者ID:silkecho,项目名称:glowing-silk,代码行数:31,代码来源:logging.py
示例11: __init__
def __init__(self, cbes, title, validator=None):
# Do this before calling parent constructor
self.cbes = cbes
super(CBESEditor, self).__init__(title, validator)
self.set_transient_for(qltk.get_top_parent(cbes))
connect_obj(self, 'destroy', self.__finish, cbes)
self.value.set_text(cbes.get_child().get_text())
开发者ID:mistotebe,项目名称:quodlibet,代码行数:7,代码来源:cbes.py
示例12: __clicked
def __clicked(self, button):
if self.__window.get_property('visible'):
return
if self._disable_slider:
return
if self.__grabbed:
self.__popup_hide()
window = self.__window
frame = window.get_child()
frame.show_all()
window.set_transient_for(get_top_parent(self))
# this type hint tells the wayland backend to create a popup
window.set_type_hint(Gdk.WindowTypeHint.DROPDOWN_MENU)
position_window_beside_widget(window, self)
self.__grabbed = window_grab_and_map(
window,
Gdk.EventMask.BUTTON_PRESS_MASK |
Gdk.EventMask.BUTTON_RELEASE_MASK |
Gdk.EventMask.BUTTON_MOTION_MASK |
Gdk.EventMask.POINTER_MOTION_MASK |
Gdk.EventMask.SCROLL_MASK)
开发者ID:MikeiLL,项目名称:quodlibet,代码行数:27,代码来源:seekbutton.py
示例13: __init__
def __init__(self, browser):
if self.is_not_unique():
return
super(Preferences, self).__init__()
self.set_border_width(12)
self.set_title(_("Playlist Browser Preferences"))
self.set_default_size(420, 240)
self.set_transient_for(qltk.get_top_parent(browser))
box = Gtk.VBox(spacing=6)
edit_frame = self.edit_display_pane(browser, _("Playlist display"))
box.pack_start(edit_frame, False, True, 12)
main_box = Gtk.VBox(spacing=12)
close = Button(_("_Close"), Icons.WINDOW_CLOSE)
close.connect('clicked', lambda *x: self.destroy())
b = Gtk.HButtonBox()
b.set_layout(Gtk.ButtonBoxStyle.END)
b.pack_start(close, True, True, 0)
main_box.pack_start(box, True, True, 0)
self.use_header_bar()
if not self.has_close_button():
main_box.pack_start(b, False, True, 0)
self.add(main_box)
close.grab_focus()
self.show_all()
开发者ID:bernd-wechner,项目名称:quodlibet,代码行数:29,代码来源:prefs.py
示例14: show_uri
def show_uri(label, uri):
"""Shows a uri. The uri can be anything handled by GIO or a quodlibet
specific one.
Currently handled quodlibet uris:
- quodlibet:///prefs/plugins/<plugin id>
Args:
label (str)
uri (str) the uri to show
Returns:
True on success, False on error
"""
parsed = urlparse(uri)
if parsed.scheme == "quodlibet":
if parsed.netloc != "":
print_w("Unknown QuodLibet URL format (%s)" % uri)
return False
else:
return __show_quodlibet_uri(parsed)
else:
# Gtk.show_uri_on_window exists since 3.22
if hasattr(Gtk, "show_uri_on_window"):
from quodlibet.qltk import get_top_parent
return Gtk.show_uri_on_window(get_top_parent(label), uri, 0)
else:
return Gtk.show_uri(None, uri, 0)
开发者ID:elfalem,项目名称:quodlibet,代码行数:28,代码来源:__init__.py
示例15: __init__
def __init__(self, parent, default="", **kwargs):
if self.is_not_unique():
return
super(TextEdit, self).__init__()
self.set_title(_("Edit Display"))
self.set_transient_for(qltk.get_top_parent(parent))
self.set_border_width(12)
self.set_default_size(420, 190)
vbox = Gtk.VBox(spacing=12)
close = Button(_("_Close"), Icons.WINDOW_CLOSE)
close.connect('clicked', lambda *x: self.destroy())
b = Gtk.HButtonBox()
b.set_layout(Gtk.ButtonBoxStyle.END)
b.pack_start(close, True, True, 0)
self.box = box = self.Box(default, **kwargs)
vbox.pack_start(box, True, True, 0)
self.use_header_bar()
if not self.has_close_button():
vbox.pack_start(b, False, True, 0)
self.add(vbox)
self.apply = box.apply
self.revert = box.revert
close.grab_focus()
self.get_child().show_all()
开发者ID:LudoBike,项目名称:quodlibet,代码行数:28,代码来源:textedit.py
示例16: _run_chooser
def _run_chooser(parent, chooser):
"""Run the chooser ("blocking") and return a list of paths.
Args:
parent (Gtk.Widget)
chooser (Gtk.FileChooser)
Returns:
List[fsnative]
"""
chooser.set_current_folder(fsn2glib(get_current_dir()))
chooser.set_transient_for(get_top_parent(parent))
if _response is not None:
response = _response
while Gtk.events_pending():
Gtk.main_iteration()
else:
response = chooser.run()
if response == Gtk.ResponseType.ACCEPT:
result = [glib2fsn(fn) for fn in chooser.get_filenames()]
current_dir = chooser.get_current_folder()
if current_dir:
set_current_dir(glib2fsn(current_dir))
else:
result = []
chooser.destroy()
return result
开发者ID:zsau,项目名称:quodlibet,代码行数:30,代码来源:chooser.py
示例17: __init__
def __init__(self, title, fileobj, parent):
super(BigCenteredImage, self).__init__(type=Gtk.WindowType.POPUP)
self.set_type_hint(Gdk.WindowTypeHint.TOOLTIP)
assert parent
parent = qltk.get_top_parent(parent)
self.set_transient_for(parent)
self.set_position(Gtk.WindowPosition.CENTER_ON_PARENT)
#If image fails to set, abort construction.
if not self.set_image(fileobj, parent):
self.destroy()
return
event_box = Gtk.EventBox()
event_box.add(self.__image)
frame = Gtk.Frame()
frame.set_shadow_type(Gtk.ShadowType.OUT)
frame.add(event_box)
self.add(frame)
event_box.connect('button-press-event', self.__destroy)
event_box.connect('key-press-event', self.__destroy)
self.get_child().show_all()
开发者ID:zsau,项目名称:quodlibet,代码行数:28,代码来源:cover.py
示例18: __show_cover
def __show_cover(self, song):
"""Show the cover as a detached BigCenteredImage.
If one is already showing, destroy it instead
If there is no image, run the AlbumArt plugin
"""
if not self.__file and song.is_file:
from quodlibet.qltk.songsmenu import SongsMenu
from quodlibet import app
SongsMenu.plugins.handle(ALBUM_ART_PLUGIN_ID, app.library,
qltk.get_top_parent(self), [song])
return True
if self.__current_bci is not None:
# We're displaying it; destroy it.
self.__current_bci.destroy()
return True
if not self.__file:
return False
try:
self.__current_bci = BigCenteredImage(
song.comma("album"), self.__file, parent=self)
except GLib.GError: # reload in case the image file is gone
self.refresh()
else:
self.__current_bci.show()
self.__current_bci.connect('destroy', self.__reset_bci)
return True
开发者ID:zsau,项目名称:quodlibet,代码行数:32,代码来源:cover.py
示例19: __init__
def __init__(self, parent, title, description, traceback):
super(MinExceptionDialog, self).__init__(
get_top_parent(parent),
title, description)
assert isinstance(title, unicode)
assert isinstance(description, unicode)
assert isinstance(traceback, unicode)
exp = Gtk.Expander(label=_("Error Details"))
lab = Gtk.Label(label=traceback)
lab.set_alignment(0.0, 0.0)
lab.set_selectable(True)
win = Gtk.ScrolledWindow()
win.add_with_viewport(Align(lab, border=6))
win.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)
win.set_shadow_type(Gtk.ShadowType.ETCHED_OUT)
win.set_size_request(500, 150)
win.show_all()
exp.add(win)
exp.set_resize_toplevel(True)
area = self.get_message_area()
exp.show()
area.pack_start(exp, False, True, 0)
开发者ID:brunob,项目名称:quodlibet,代码行数:25,代码来源:debugwindow.py
示例20: pos_func
def pos_func(menu, data, widget=widget):
screen = widget.get_screen()
ref = get_top_parent(widget)
menu.set_screen(screen)
x, y = widget.translate_coordinates(ref, 0, 0)
dx, dy = ref.get_window().get_origin()[1:]
wa = widget.get_allocation()
# fit menu to screen, aligned per text direction
screen_width = screen.get_width()
screen_height = screen.get_height()
menu.realize()
ma = menu.get_allocation()
menu_y_under = y + dy + wa.height
menu_y_above = y + dy - ma.height
if under:
menu_y = menu_y_under
if menu_y + ma.height > screen_height and menu_y_above > 0:
menu_y = menu_y_above
else:
menu_y = menu_y_above
if menu_y < 0 and menu_y_under + ma.height < screen_height:
menu_y = menu_y_under
if Gtk.Widget.get_default_direction() == Gtk.TextDirection.LTR:
menu_x = min(x + dx, screen_width - ma.width)
else:
menu_x = max(0, x + dx - ma.width + wa.width)
return (menu_x, menu_y, True) # x, y, move_within_screen
开发者ID:elfalem,项目名称:quodlibet,代码行数:31,代码来源:__init__.py
注:本文中的quodlibet.qltk.get_top_parent函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论