本文整理汇总了Python中zim.gui.widgets.Dialog.emit方法的典型用法代码示例。如果您正苦于以下问题:Python Dialog.emit方法的具体用法?Python Dialog.emit怎么用?Python Dialog.emit使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类zim.gui.widgets.Dialog
的用法示例。
在下文中一共展示了Dialog.emit方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: InstantsearchMainWindowExtension
# 需要导入模块: from zim.gui.widgets import Dialog [as 别名]
# 或者: from zim.gui.widgets.Dialog import emit [as 别名]
#.........这里部分代码省略.........
state.items = sorted(state.menu, reverse=True, key=lambda item: (state.menu[item].intitle, -state.menu[item].lastOrder))
state.items = [item for item in state.items if (state.menu[item].score + state.menu[item].bonus) > 0] # i dont know why there are items with 0 score
if state == self.state:
self.soutMenu()
def soutMenu(self, displayImmediately=False):
""" Displays menu and handles caret position. """
if self.timeoutOpenPage:
gobject.source_remove(self.timeoutOpenPage)
self.gui.resize(300, 100) # reset size
# treat possible caret deflection
if self.caret['pos'] < 0 or self.caret['pos'] > len(self.state.items)-1: # place the caret to the beginning or the end of list
self.caret['pos'] = self.caret['altPos']
text = ""
i = 0
for item in self.state.items:
score = self.state.menu[item].score + self.state.menu[item].bonus
self.state.menu[item].lastOrder = i
if i == self.caret['pos']:
self.caret['text'] = item # caret is at this position
text += '→ {} ({}) {}\n'.format(item, score, "" if self.state.menu[item].sure else "?")
else:
try:
text += '{} ({}) {}\n'.format(item, score, "" if self.state.menu[item].sure else "?")
except:
text += "CHYBA\n"
text += item[0:-1] + "\n"
i += 1
self.labelObject.set_text(text)
self.menuPage = Path(self.caret['text'] if len(self.state.items) else self.originalPage)
if not displayImmediately:
self.timeoutOpenPage = gobject.timeout_add(self.keystroke_delay, self._open_page, self.menuPage) # ideal delay between keystrokes
else:
self._open_page(self.menuPage)
def move(self, widget, event):
""" Move caret up and down. Enter to confirm, Esc closes search."""
keyname = gtk.gdk.keyval_name(event.keyval)
if keyname == "Up" or keyname == "ISO_Left_Tab":
self.caret['pos'] -= 1
self.soutMenu(displayImmediately=False)
if keyname == "Down" or keyname == "Tab":
self.caret['pos'] += 1
self.soutMenu(displayImmediately=False)
if keyname == "KP_Enter" or keyname == "Return":
self._open_page(self.menuPage, excludeFromHistory=False)
self.close()
if keyname == "Escape":
self._open_original()
# GTK closes the windows itself on Escape, no self.close() needed
return
## Safely closes
# Xwhen closing directly, Python gave allocation error
def close(self):
if not self.isClosed:
self.isClosed = True
self.gui.emit("close")
def _open_original(self):
self._open_page(Path(self.originalPage))
def _open_page(self, page, excludeFromHistory=True):
""" Open page and highlight matches """
self.timeoutOpenPage = None # no delayed page will be open
if self.isClosed == True:
return
if page and page.name and page.name != self.lastPage:
self.lastPage = page.name
#print("*** HISTORY BEF", self.window.ui.history._history[-3:])
self.window.ui.open_page(page)
if excludeFromHistory:
# there is no public API, so lets use protected _history instead
self.window.ui.history._history.pop()
self.window.ui.history._current = len(self.window.ui.history._history) - 1
if not excludeFromHistory and self.window.ui.history.get_current().name is not page.name:
# we insert the page to the history because it was likely to be just visited and excluded
self.window.ui.history.append(page)
# Popup find dialog with same query
if self.queryO:# and self.queryO.simple_match:
string = self.state.query
string = string.strip('*') # support partial matches
if self.plugin.preferences['highlight_search']:
self._get_mainwindow().pageview.show_find(string, highlight=True)
def _get_mainwindow(self): # #18
try:
return self.window.ui._mainwindow
except AttributeError:
return self.window.ui.mainwindow