本文整理汇总了Python中xl.event.get_state函数的典型用法代码示例。如果您正苦于以下问题:Python get_state函数的具体用法?Python get_state怎么用?Python get_state使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了get_state函数的17个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: on_scroll_event
def on_scroll_event(self, widget, event):
"""
Changes the volume on scrolling
"""
page_increment = self.slider_adjustment.props.page_increment
step_increment = self.slider_adjustment.props.step_increment
value = self.slider.get_value()
if event.direction == Gdk.ScrollDirection.DOWN:
if event.get_state() & Gdk.ModifierType.SHIFT_MASK:
self.slider.set_value(value - page_increment)
else:
self.slider.set_value(value - step_increment)
return True
elif event.direction == Gdk.ScrollDirection.UP:
if event.get_state() & Gdk.ModifierType.SHIFT_MASK:
self.slider.set_value(value + page_increment)
else:
self.slider.set_value(value + step_increment)
return True
elif event.direction == Gdk.ScrollDirection.SMOOTH:
if event.get_state() & Gdk.ModifierType.SHIFT_MASK:
self.slider.set_value(value - event.delta_y * page_increment)
else:
self.slider.set_value(value - event.delta_y * step_increment)
return True
return False
开发者ID:dangmai,项目名称:exaile,代码行数:28,代码来源:playback.py
示例2: on_key_released
def on_key_released(self, widget, event):
"""
Called when a key is released in the tree
"""
if event.keyval == Gdk.KEY_Menu:
Gtk.Menu.popup(self.menu, None, None, None, None, 0, event.time)
return True
if event.keyval == Gdk.KEY_Left and Gdk.ModifierType.MOD1_MASK & event.get_state():
self.go_back(self.tree)
return True
if event.keyval == Gdk.KEY_Right and Gdk.ModifierType.MOD1_MASK & event.get_state():
self.go_forward(self.tree)
return True
if event.keyval == Gdk.KEY_Up and Gdk.ModifierType.MOD1_MASK & event.get_state():
self.go_up(self.tree)
return True
if event.keyval == Gdk.KEY_BackSpace:
self.go_up(self.tree)
return True
if event.keyval == Gdk.KEY_F5:
self.refresh(self.tree)
return True
return False
开发者ID:learnstation,项目名称:exaile,代码行数:28,代码来源:files.py
示例3: do_key_press_event
def do_key_press_event(self, event):
"""
Changes the rating on keyboard interaction
* Alt+Up/Right: increases the rating
* Alt+Down/Left: decreases the rating
"""
if self.get_state() & Gtk.StateType.INSENSITIVE:
return
if not event.get_state() & Gdk.ModifierType.MOD1_MASK:
return
if event.keyval in (Gdk.KEY_Up, Gdk.KEY_Right):
rating = self.props.rating + 1
elif event.keyval in (Gdk.KEY_Down, Gdk.KEY_Left):
rating = self.props.rating - 1
else:
return
rating = max(0, rating)
# Prevents unsetting rating if maximum is reached
if rating == self.props.rating:
return
self.props.rating = rating
开发者ID:Zarokka,项目名称:exaile,代码行数:26,代码来源:rating.py
示例4: do_key_press_event
def do_key_press_event(self, event):
"""
Prepares seeking via keyboard interaction
* Alt+Up/Right: seek 1% forward
* Alt+Down/Left: seek 1% backward
"""
_, state = event.get_state()
if state & Gtk.StateType.INSENSITIVE:
return
if not state & Gdk.ModifierType.MOD1_MASK:
return
if event.keyval in (Gdk.KEY_Up, Gdk.KEY_Right):
direction = 1
elif event.keyval in (Gdk.KEY_Down, Gdk.KEY_Left):
direction = -1
else:
return
press_event = Gdk.Event.new(Gdk.EventType.BUTTON_PRESS)
press_event.button = 1
new_fraction = self.__progressbar.get_fraction() + 0.01 * direction
alloc = self.get_allocation()
press_event.x = alloc.width * new_fraction
press_event.y = float(alloc.y)
self.emit('button-press-event', press_event)
开发者ID:dangmai,项目名称:exaile,代码行数:27,代码来源:playback.py
示例5: on_stop_button_leave_notify_event
def on_stop_button_leave_notify_event(self, widget, event):
"""
Unsets the hover state and resets the button icon
"""
widget.__hovered = False
if not widget.is_focus() and ~(event.get_state() & Gdk.ModifierType.SHIFT_MASK):
widget.set_image(
Gtk.Image.new_from_icon_name('media-playback-stop', Gtk.IconSize.BUTTON)
)
开发者ID:exaile,项目名称:exaile,代码行数:9,代码来源:main.py
示例6: do_motion_notify_event
def do_motion_notify_event(self, event):
"""
Indicates SPAT
"""
_, state = event.get_state()
if state & Gdk.ModifierType.SHIFT_MASK:
self._queue_spat = True
self.update_state()
self._hovered = True
开发者ID:exaile,项目名称:exaile,代码行数:10,代码来源:controls.py
示例7: on_refresh_button_key_press_event
def on_refresh_button_key_press_event(self, widget, event):
"""
Called on key presses on the refresh button
"""
if event.keyval != Gdk.KEY_Return: return False
if event.get_state() & Gdk.ModifierType.SHIFT_MASK:
xlgui.get_controller().on_rescan_collection(None)
else:
self.load_tree()
开发者ID:tfree87,项目名称:exaile,代码行数:10,代码来源:collection.py
示例8: on_stop_button_motion_notify_event
def on_stop_button_motion_notify_event(self, widget, event):
"""
Sets the hover state and shows SPAT icon
"""
widget.__hovered = True
if event.get_state() & Gdk.ModifierType.SHIFT_MASK:
widget.set_image(Gtk.Image.new_from_icon_name(
'process-stop', Gtk.IconSize.BUTTON))
else:
widget.set_image(Gtk.Image.new_from_icon_name(
'media-playback-stop', Gtk.IconSize.BUTTON))
开发者ID:learnstation,项目名称:exaile,代码行数:11,代码来源:main.py
示例9: on_scroll_event
def on_scroll_event(self, widget, event):
"""
Seek on scroll as VLC does
"""
if not self.__player.current:
return True
if self.__player.current.get_tag_raw('__length') is None:
return True
progress = self.__player.get_progress()
progress_delta = 0.05 # 5% of track length
progress_delta_small = 0.005 # 0.5% of track length
if (
event.direction == Gdk.ScrollDirection.DOWN
or event.direction == Gdk.ScrollDirection.LEFT
):
if event.get_state() & Gdk.ModifierType.SHIFT_MASK:
new_progress = progress - progress_delta_small
else:
new_progress = progress - progress_delta
elif (
event.direction == Gdk.ScrollDirection.UP
or event.direction == Gdk.ScrollDirection.RIGHT
):
if event.get_state() & Gdk.ModifierType.SHIFT_MASK:
new_progress = progress + progress_delta_small
else:
new_progress = progress + progress_delta
elif event.direction == Gdk.ScrollDirection.SMOOTH:
if event.get_state() & Gdk.ModifierType.SHIFT_MASK:
new_progress = progress + progress_delta_small * (
event.deltax + event.deltay
)
else:
new_progress = progress + progress_delta * (event.deltax + event.deltay)
self.__player.set_progress(clamp(new_progress, 0, 1))
self.update_progress()
return True
开发者ID:exaile,项目名称:exaile,代码行数:41,代码来源:playback.py
示例10: on_stop_button_press_event
def on_stop_button_press_event(self, widget, event):
"""
Called when the user clicks on the stop button
"""
if event.button == 1:
if event.get_state() & Gdk.ModifierType.SHIFT_MASK:
self.on_spat_clicked()
elif event.button == 3:
menu = guiutil.Menu()
menu.append(_("Toggle: Stop after Selected Track"),
self.on_spat_clicked,
'process-stop')
menu.popup(None, None, None, None, event.button, event.time)
开发者ID:learnstation,项目名称:exaile,代码行数:13,代码来源:main.py
示例11: on_refresh_button_press_event
def on_refresh_button_press_event(self, button, event):
"""
Called on mouse activation of the refresh button
"""
if event.button == 3:
menu = guiutil.Menu()
menu.append(_('Rescan Collection'),
xlgui.get_controller().on_rescan_collection,
Gtk.STOCK_REFRESH)
menu.popup(None, None, None, None, event.button, event.time)
return
if event.get_state() & Gdk.ModifierType.SHIFT_MASK:
xlgui.get_controller().on_rescan_collection(None)
else:
self.load_tree()
开发者ID:tfree87,项目名称:exaile,代码行数:16,代码来源:collection.py
示例12: on_stop_button_press_event
def on_stop_button_press_event(self, widget, event):
"""
Called when the user clicks on the stop button
"""
if event.button == Gdk.BUTTON_PRIMARY:
if event.get_state() & Gdk.ModifierType.SHIFT_MASK:
self.on_spat_clicked()
elif event.triggers_context_menu():
m = menu.Menu(self)
m.attach_to_widget(widget)
m.add_simple(
_("Toggle: Stop after Selected Track"),
self.on_spat_clicked,
'process-stop',
)
m.popup(event)
开发者ID:exaile,项目名称:exaile,代码行数:16,代码来源:main.py
示例13: button_release
def button_release(self, widget, event):
"""
Called when the user releases the mouse button on the tree
"""
selection = self.tree.get_selection()
(x, y) = map(int, event.get_coords())
path = self.tree.get_path_at_pos(x, y)
if event.button == 3:
self.menu.popup(event)
if not path:
return False
(mods,paths) = selection.get_selected_rows()
if (path[0] in paths):
if event.get_state() & (Gdk.ModifierType.SHIFT_MASK|Gdk.ModifierType.CONTROL_MASK):
return False
return True
else:
return False
开发者ID:tfree87,项目名称:exaile,代码行数:18,代码来源:collection.py
示例14: button_release
def button_release(self, button, event):
"""
Called when the user clicks on the playlist
"""
if event.button == 3:
selection = self.tree.get_selection()
(x, y) = map(int, event.get_coords())
path = self.tree.get_path_at_pos(x, y)
self.menu.popup(event)
if not path:
return False
model, paths = selection.get_selected_rows()
if path[0] in paths:
if event.get_state() & (Gdk.ModifierType.SHIFT_MASK|Gdk.ModifierType.CONTROL_MASK):
return False
return True
else:
return False
return False
开发者ID:learnstation,项目名称:exaile,代码行数:21,代码来源:files.py
示例15: on_key_press_event
def on_key_press_event(self, tree, event):
"""
Allows for reordering via keyboard (Alt+<direction>)
"""
if not event.get_state() & Gdk.ModifierType.MOD1_MASK:
return
if event.keyval not in (Gdk.KEY_Up, Gdk.KEY_Down):
return
model, selected_iter = tree.get_selection().get_selected()
if event.keyval == Gdk.KEY_Up:
previous_iter = self.iter_prev(selected_iter, model)
model.move_before(selected_iter, previous_iter)
elif event.keyval == Gdk.KEY_Down:
next_iter = model.iter_next(selected_iter)
model.move_after(selected_iter, next_iter)
tree.scroll_to_cell(model.get_path(selected_iter))
self.selectionlp.apply()
开发者ID:exaile,项目名称:exaile,代码行数:22,代码来源:widgets.py
示例16: on_scroll_event
def on_scroll_event(self, widget, event):
"""
Changes volume and skips tracks on scroll
"""
if event.get_state() & Gdk.ModifierType.SHIFT_MASK:
if event.direction == Gdk.ScrollDirection.UP:
player.QUEUE.prev()
elif event.direction == Gdk.ScrollDirection.DOWN:
player.QUEUE.next()
else:
if event.direction == Gdk.ScrollDirection.UP:
volume = settings.get_option('player/volume', 1)
settings.set_option('player/volume', min(volume + self.VOLUME_STEP, 1))
return True
elif event.direction == Gdk.ScrollDirection.DOWN:
volume = settings.get_option('player/volume', 1)
settings.set_option('player/volume', max(0, volume - self.VOLUME_STEP))
return True
elif event.direction == Gdk.ScrollDirection.LEFT:
player.QUEUE.prev()
elif event.direction == Gdk.ScrollDirection.RIGHT:
player.QUEUE.next()
开发者ID:BlubberHarpoonist,项目名称:exaile,代码行数:22,代码来源:tray.py
示例17: do_key_release_event
def do_key_release_event(self, event):
"""
Completes seeking via keyboard interaction
"""
_, state = event.get_state()
if not state & Gdk.ModifierType.MOD1_MASK:
return
if event.keyval in (Gdk.KEY_Up, Gdk.KEY_Right):
direction = 1
elif event.keyval in (Gdk.KEY_Down, Gdk.KEY_Left):
direction = -1
else:
return
release_event = Gdk.Event.new(Gdk.EventType.BUTTON_RELEASE)
release_event.button = 1
new_fraction = self.__progressbar.get_fraction() + 0.01 * direction
alloc = self.get_allocation()
release_event.x = alloc.width * new_fraction
release_event.y = float(alloc.y)
self.emit('button-release-event', release_event)
开发者ID:dangmai,项目名称:exaile,代码行数:23,代码来源:playback.py
注:本文中的xl.event.get_state函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论