分页: 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函数。 :em02

代码: 全选

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