forked from Mirrors/apostrophe
fixed a small bug where cursor iter is not transmitted to check_scroll
parent
19f936dcbc
commit
4547c77500
|
@ -370,7 +370,7 @@
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="spacing">5</property>
|
<property name="spacing">5</property>
|
||||||
<property name="margin">5</property>
|
<property name="margin">10</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkSearchEntry" id="searchentrybox">
|
<object class="GtkSearchEntry" id="searchentrybox">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
|
@ -389,6 +389,7 @@
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="show_arrow">False</property>
|
<property name="show_arrow">False</property>
|
||||||
<property name="icon_size">1</property>
|
<property name="icon_size">1</property>
|
||||||
|
<property name="margin">0</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkToolButton" id="next_result">
|
<object class="GtkToolButton" id="next_result">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
|
@ -486,12 +487,14 @@
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="spacing">5</property>
|
<property name="spacing">5</property>
|
||||||
|
<property name="margin">10</property>
|
||||||
|
<property name="margin_top">0</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkLabel" id="replace_label">
|
<object class="GtkLabel" id="replace_label">
|
||||||
<property name="width_request">100</property>
|
<property name="width_request">100</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="margin_start">5</property>
|
<property name="margin_start">0</property>
|
||||||
<property name="xalign">0</property>
|
<property name="xalign">0</property>
|
||||||
<property name="label" translatable="yes">Replace with</property>
|
<property name="label" translatable="yes">Replace with</property>
|
||||||
</object>
|
</object>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
### This is Lorem Ipsum
|
### This is Lorem ficksum
|
||||||
|
|
||||||
asdja kdja dskj
|
asdja kdja dskj
|
||||||
|
|
||||||
|
|
|
@ -34,6 +34,7 @@ class UberwriterSearchAndReplace():
|
||||||
self.searchentry = parentwindow.builder.get_object("searchentrybox")
|
self.searchentry = parentwindow.builder.get_object("searchentrybox")
|
||||||
self.searchentry.connect('changed', self.search)
|
self.searchentry.connect('changed', self.search)
|
||||||
self.searchentry.connect('activate', self.scrolltonext)
|
self.searchentry.connect('activate', self.scrolltonext)
|
||||||
|
self.searchentry.connect('key-press-event', self.key_pressed)
|
||||||
|
|
||||||
self.open_replace_button = parentwindow.builder.get_object("replace")
|
self.open_replace_button = parentwindow.builder.get_object("replace")
|
||||||
self.open_replace_button.connect("toggled", self.toggle_replace)
|
self.open_replace_button.connect("toggled", self.toggle_replace)
|
||||||
|
@ -63,20 +64,29 @@ class UberwriterSearchAndReplace():
|
||||||
self.highlight = self.textbuffer.create_tag('search_highlight',
|
self.highlight = self.textbuffer.create_tag('search_highlight',
|
||||||
background="yellow")
|
background="yellow")
|
||||||
|
|
||||||
|
self.texteditor.connect("focus-in-event", self.focused_texteditor)
|
||||||
def toggle_replace(self, widget, data=None):
|
def toggle_replace(self, widget, data=None):
|
||||||
if widget.get_active():
|
if widget.get_active():
|
||||||
self.replacebox.show_all()
|
self.replacebox.show_all()
|
||||||
else:
|
else:
|
||||||
self.replacebox.hide()
|
self.replacebox.hide()
|
||||||
|
|
||||||
|
def key_pressed(self, widget, event, data=None):
|
||||||
|
if event.keyval in [Gdk.KEY_Escape]:
|
||||||
|
self.hide()
|
||||||
|
|
||||||
|
def focused_texteditor(self, widget, data=None):
|
||||||
|
self.hide()
|
||||||
|
|
||||||
def toggle_search(self, widget=None, data=None):
|
def toggle_search(self, widget=None, data=None):
|
||||||
"""
|
"""
|
||||||
show search box
|
show search box
|
||||||
"""
|
"""
|
||||||
if self.box.get_visible():
|
if self.box.get_visible():
|
||||||
self.box.hide()
|
self.hide()
|
||||||
else:
|
else:
|
||||||
self.box.show()
|
self.box.show()
|
||||||
|
self.searchentry.grab_focus()
|
||||||
|
|
||||||
def search(self, widget=None, data=None, scroll=True):
|
def search(self, widget=None, data=None, scroll=True):
|
||||||
searchtext = self.searchentry.get_text()
|
searchtext = self.searchentry.get_text()
|
||||||
|
@ -129,7 +139,13 @@ class UberwriterSearchAndReplace():
|
||||||
# self.texteditor.scroll_to_iter(matchiter[0], 0.0, True, 0.0, 0.5)
|
# self.texteditor.scroll_to_iter(matchiter[0], 0.0, True, 0.0, 0.5)
|
||||||
|
|
||||||
def hide(self):
|
def hide(self):
|
||||||
|
self.replacebox.hide()
|
||||||
self.box.hide()
|
self.box.hide()
|
||||||
|
self.textbuffer.remove_tag(self.highlight,
|
||||||
|
self.textbuffer.get_start_iter(),
|
||||||
|
self.textbuffer.get_end_iter())
|
||||||
|
self.texteditor.grab_focus()
|
||||||
|
|
||||||
|
|
||||||
def replace_clicked(self, widget, data=None):
|
def replace_clicked(self, widget, data=None):
|
||||||
self.replace(self.active)
|
self.replace(self.active)
|
||||||
|
|
|
@ -226,10 +226,13 @@ class UberwriterWindow(Window):
|
||||||
widget.get_vadjustment().props.value = pos
|
widget.get_vadjustment().props.value = pos
|
||||||
return True # continue ticking
|
return True # continue ticking
|
||||||
|
|
||||||
def check_scroll(self, mark):
|
def check_scroll(self, mark=None):
|
||||||
gradient_offset = 80
|
gradient_offset = 80
|
||||||
buf = self.TextEditor.get_buffer()
|
buf = self.TextEditor.get_buffer()
|
||||||
ins_it = buf.get_iter_at_mark(mark)
|
if mark:
|
||||||
|
ins_it = buf.get_iter_at_mark(mark)
|
||||||
|
else:
|
||||||
|
ins_it = buf.get_iter_at_mark(buf.get_insert())
|
||||||
loc_rect = self.TextEditor.get_iter_location(ins_it)
|
loc_rect = self.TextEditor.get_iter_location(ins_it)
|
||||||
|
|
||||||
# alignment offset added from top
|
# alignment offset added from top
|
||||||
|
|
Loading…
Reference in New Issue