OSDN Git Service

Fix: set wrap mode WRAP_CHAR, fix commit 9e3ca95a34bc5f46ad342d19adbefbce76d2e9ec
[fukui-no-namari/fukui-no-namari.git] / src / FukuiNoNamari / thread_window.py
index 5a114f9..c24cb58 100644 (file)
@@ -110,6 +110,7 @@ class HTMLParserToThreadView:
 
     def to_thread_view(self, marginleft):
         layout = self.threadview.create_pango_layout(self.buf)
+        layout.set_wrap(pango.WRAP_CHAR)
         layout.posY = 0
         layout.resnum = self.resnum
         layout.marginleft = marginleft
@@ -152,6 +153,21 @@ class WinWrap(winwrapbase.WinWrapBase):
 
         self.threadview.on_uri_clicked = self.on_threadview_uri_clicked
 
+        self.threadview.popupmenu = self.widget_tree.get_widget(
+            "popup_threadview_menu")
+        self.threadview.menu_openuri = self.widget_tree.get_widget(
+            "popup_threadview_menu_openuri")
+        self.threadview.menu_copylinkaddress = self.widget_tree.get_widget(
+            "popup_threadview_menu_copylinkaddress")
+        self.threadview.menu_separator_link = self.widget_tree.get_widget(
+            "popup_threadview_menu_separator_link")
+        self.threadview.menu_copyselection = self.widget_tree.get_widget(
+            "popup_threadview_menu_copyselection")
+        self.threadview.menu_openasuri = self.widget_tree.get_widget(
+            "popup_threadview_menu_openasuri")
+        self.threadview.menu_separator_selection = self.widget_tree.get_widget(
+            "popup_threadview_menu_separator_selection")
+
         self.initialize_buffer()
 
         sigdic = {"on_refresh_activate": self.update,
@@ -168,6 +184,16 @@ class WinWrap(winwrapbase.WinWrapBase):
                   "on_add_bookmark_activate": self.on_add_bookmark_activate,
                   "on_manage_bookmarks_activate": \
                   self.on_manage_bookmarks_activate,
+                  "on_popup_threadview_menu_openuri_activate":
+                  self.on_popup_threadview_menu_openuri_activate,
+                  "on_popup_threadview_menu_copylinkaddress_activate":
+                  self.on_popup_threadview_menu_copylinkaddress_activate,
+                  "on_popup_threadview_menu_copyselection_activate":
+                  self.on_popup_threadview_menu_copyselection_activate,
+                  "on_popup_threadview_menu_openasuri_activate":
+                  self.on_popup_threadview_menu_openasuri_activate,
+                  "on_popup_threadview_menu_refresh_activate":
+                  self.on_popup_threadview_menu_refresh_activate,
                   "on_thread_window_destroy": self.on_thread_window_destroy}
         self.widget_tree.signal_autoconnect(sigdic)
 
@@ -261,6 +287,22 @@ class WinWrap(winwrapbase.WinWrapBase):
             # not supported, show with the web browser.
             gnome.url_show(uri)
             
+    def on_popup_threadview_menu_openuri_activate(self, widget):
+        self.on_threadview_uri_clicked(widget.uri)
+
+    def on_popup_threadview_menu_copylinkaddress_activate(self, widget):
+        clip = gtk.Clipboard()
+        clip.set_text(widget.uri, len(widget.uri))
+
+    def on_popup_threadview_menu_copyselection_activate(self, widget):
+        pass
+
+    def on_popup_threadview_menu_openasuri_activate(self, widget):
+        pass
+
+    def on_popup_threadview_menu_refresh_activate(self, widget):
+        self.update(widget)
+
     def http_get_dat(self, on_get_res):
         datfile_url = self.bbs_type.get_dat_uri()