OSDN Git Service

lastModified column displays formatted time.
authorAiwota Programmer <aiwotaprog@tetteke.tk>
Thu, 17 Aug 2006 10:31:48 +0000 (19:31 +0900)
committerAiwota Programmer <aiwotaprog@tetteke.tk>
Thu, 17 Aug 2006 10:31:48 +0000 (19:31 +0900)
src/Hage1/board_window.py

index bbe380d..5b23adf 100644 (file)
@@ -59,6 +59,9 @@ class WinWrap:
                 "clicked", self.on_column_clicked, column_name)
             self.treeview.append_column(self.treeviewcolumn[column_name])
 
+        self.treeviewcolumn["lastModified"].set_cell_data_func(
+            renderer, self.on_data_lastmodified)
+
         sigdic = {"on_board_window_destroy": self.on_board_window_destroy,
                   "on_quit_activate": self.on_quit_activate,
                   "on_load_local_activate": self.on_load_local_activate,
@@ -70,6 +73,15 @@ class WinWrap:
                   "on_popup_menu_open_activate": self.on_open_thread}
         self.mainwin.signal_autoconnect(sigdic)
 
+    def on_data_lastmodified(self, column, cell, model, iter, user_data=None):
+        lastmod = model.get_value(
+            iter, ThreadListModel.column_names.index("lastModified"))
+        if lastmod == 0:
+            cell.set_property("text", "")
+        else:
+            cell.set_property("text", time.strftime(
+                "%Y/%m/%d(%a) %H:%M:%S", time.localtime(lastmod)))
+
     def on_board_window_destroy(self, widget):
         gtk.main_quit()
 
@@ -152,6 +164,14 @@ class WinWrap:
                 start = int(id)
                 dic["average"] = int(res * 60 * 60 * 24 / (lastmod - start))
 
+            # lastModified
+            httpdate = dic["lastModified"]
+            try:
+                secs = misc.httpdate_to_secs(httpdate)
+                dic["lastModified"] = secs
+            except ValueError:
+                dic["lastModified"] = 0
+            
             list_list.append(dic)
 
         model = self.treeview.get_model()
@@ -170,7 +190,7 @@ class WinWrap:
 
 
 class ThreadListModel(gtk.GenericTreeModel):
-    column_types = (str, int, str, int, int, str, int)
+    column_types = (str, int, str, int, int, int, int)
     column_names = ["id", "num", "title", "res", "lineCount",
                     "lastModified", "average"]