分页: 1 / 1
为blogtk添加一个code按钮,一个htmlentity按钮
发表于 : 2009-02-24 12:54
由 eexpress
代码: 全选
/usr/share/blogtk
☎ g codeTool BloGTK.py
self.mainGlade.signal_autoconnect({'on_codeToolButton_clicked': self.insertTag_Code})
self.codeToolButton = self.mainGlade.get_widget('codeToolButton')
self.tooltips.set_tip(self.codeToolButton, "Add codegraph")
☎ g '<code' BloGTK.py
self.tagInsertionLogic(widget, "<code>", "</code>")
☎ g codeTool blogtk.glade
<widget class="GtkToolButton" id="codeToolButton">
<signal name="clicked" handler="on_codeToolButton_clicked"/>
其实是复制paraToolButton的就是。
Re: 为blogtk添加一个code按钮
发表于 : 2009-02-24 13:15
由 xiooli
我还以为你不用python的东西呢。
Re: 为blogtk添加一个code按钮
发表于 : 2009-02-24 13:44
由 eexpress
修改点,还差不多。自己写,才不喜欢。
你会py的不。来加一个html标记语言的那些符合转换的按钮吧。比如<>转\< 这样的。
Re: 为blogtk添加一个code按钮
发表于 : 2009-02-24 13:59
由 xiooli
eexpress 写了:修改点,还差不多。自己写,才不喜欢。
你会py的不。来加一个html标记语言的那些符合转换的按钮吧。比如<>转\< 这样的。
写bash,用python调用呗。
Re: 为blogtk添加一个code按钮
发表于 : 2009-02-24 14:00
由 eexpress
你这弯转大了吧。还输出文字,转了再导入啊。
Re: 为blogtk添加一个code按钮
发表于 : 2009-02-24 14:10
由 lerosua
没用啊 blogtk里的 <> post后全没了
Re: 为blogtk添加一个code按钮
发表于 : 2009-02-24 14:27
由 eexpress
kangkang0517: import htmlentitydefs 用这个玩意
kangkang0517: 完成那功能就两句话 谁看着加一下呗
import xml.sax.saxutils
xml.sax.saxutils.escape(STRINGS)
self.xxx.get_text()吧大概
Re: 为blogtk添加一个code按钮
发表于 : 2009-02-24 16:31
由 eexpress
又增加一个按钮。使用 kangkang0517 改的转换htmlentity函数。
代码: 全选
import xml.sax.saxutils
def Code_Block(self,widget):
if self.bodyView.is_focus() == 1:
self.selectedWindow = self.bodyView
elif self.extendedView.is_focus() == 1:
self.selectedWindow = self.extendedView
elif self.excerptView.is_focus() == 1:
self.selectedWindow = self.excerptView
self.buffer = self.selectedWindow.get_buffer()
selMark = self.buffer.get_selection_bound()
insMark = self.buffer.get_insert()
try:
start, end = self.buffer.get_selection_bounds()
text = self.buffer.get_text(start, end)
new_text = xml.sax.saxutils.escape(text)
self.buffer.delete(start, end)
self.buffer.insert(start, new_text, -1)
cur_pos = self.buffer.get_iter_at_mark(self.buffer.get_insert())
match_start, match_end = cur_pos.backward_search(text, gtk.TEXT_SEARCH_TEXT_ONLY)
self.buffer.move_mark(selMark, match_end)
self.buffer.move_mark(insMark, match_start)
except:
pass