2003-04-26 01:01:20 -0600	150 <onefifty@users.sourceforge.jp>

        * threadpane.py : Extended appropriate lynx and w3m commands 
          to webbrowser._tryorder.

2003-04-25 23:43:09 -0600	150 <onefifty@users.sourceforge.jp>

        * cookie.py : Replaced anydbm with dumbdbm

2003-04-20 20:52:43 -0600	150 <onefifty@users.sourceforge.jp>

        * threadpane.py (ThreadView._get_selection,
          ThreadView._copy_selection_as_python):  New

        * threadpane.py (ThreadPane.post): Fixed bug.

2003-04-20 00:23:43 -0600	150 <onefifty@users.sourceforge.jp>

        * postdialog.py (PostDialog.make_widgets): Uses PopupMenu widget.

        * postdialog.py (PostDialog._emphasize_selection): New.

2003-04-18 23:55:58 -0600	150 <onefifty@users.sourceforge.jp>

        * threadpane.py (ThreadView._auto_update, 
          ThreadView._download_and_rener, ThreadView._first_render): New.

        * threadpane.py (ThreadView.relaod): Calls _download_and_render().

        * guicommand (set_cursor): New.

        * bbs.py (Thread.messages): does not call Thread.download() method.

2003-04-12 23:22:11 -0600	150 <onefifty@users.sourceforge.jp>

        * threadpane.py (ThreadPane): Changed order of buttons.

2003-04-12 01:12:05 -0600	150 <onefifty@users.sourceforge.jp>

        * guicommand.py (bookmark_active_thread): Ignores if no thread is 
          active.

        * threadpane.py (ThreadPane): Added bookmark button.

        * icon.py : Added bookmark icon.

2003-04-12 00:31:05 -0600	150 <onefifty@users.sourceforge.jp>

        * threadpane.py (ThreadViewPages._bind_tab_func): New.

2003-04-11 22:54:41 -0600	150 <onefifty@users.sourceforge.jp>

        * gui.py (ThreadMenu.set_if_opens_new): Removed debugging code.

2003-04-11 19:17:41 -0600	150 <onefifty@users.sourceforge.jp>

        * guicommand.py (set_if_bookmarklist_opens_new_page,
          set_if_threadmenu_opens_new_page): New.

        * gui.py (ConfigDialog): Added behavior on thread menu.

        * gui.py (ThreadMenu): Allows to configure double-click behavior.

2003-04-09 21:53:51 -0600	150 <onefifty@users.sourceforge.jp>

        * gui.py (MenuBar): Fixed shortcut key.

        * gui.py (BookmarList.set_if_opens_new): New.

        * gui.py (BookmakList.open_selected_item): Calls _open_command 
          callback.

        * gui.py (ConfigDialog): Added behavior on bookmark list.

        * gui.py (GUI.__init__): Specifies useinputmethods.

        * config.py (_Config.set): Sets explicitly str object.

        * config.py (_Config.get): Returns int object if "0" or "1".

2003-04-04 21:27:46 -0600	150 <onefifty@users.sourceforge.jp>

        * threadpane.py (ThreadPane.post): Passes self to 
          PostDialog constructor.

        * postdialog.py (PostDialog.__ini__): Is transient to parent window.

2003-04-04 21:27:46 -0600	150 <onefifty@users.sourceforge.jp>

        * threadpane.py (ThreadViewPages.has): Fixed.

2003-04-04 21:27:46 -0600	150 <onefifty@users.sourceforge.jp>

        * threadpane.py (ThreadViewPages._append): Fixed tab label.  
          Thank 162.

        * threadpane.py (ThreadViewPages.get_active_thread): Fixed.

2003-04-03 07:16:06 -0600	150 <onefifty@users.sourceforge.jp>

        * guicommand.py (open_new_page, open_in_current_page): 
          Accepts either bbs.Thread or bbs.Board instance.

        * gui.py (BookmarkList): Added open_new_page() and
          open_in_current_page()

2003-04-03 07:16:06 -0600	150 <onefifty@users.sourceforge.jp>

        * gui.py (ThreadMenu): 
          Added new menu items.  
          Added open_new_page() and open_in_current_page() methods.      
          open_selection() method refers open_new_page().  
          restore() method takes thread.

        * guicommand.py (open_new_page, open_in_current_page): New.

        * mock.py (Board): New.

        * test.py (ThreadPaneTestCase): Created 
          test_open_in_current_page_first(), 
          test_open_in_current_page_second(), 
          test_open_new_page() and test_open_new_page_twice() methods.

        * test.py (ThreadViewPagesTestCase): Created 
          test_open_in_current_page_first(), test_open_in_current_page_second(), 
          test_len() and test_open_new_page() methods.

        * test.py (ThreadMenuTestCase): New.

        * threadpane.py (ThreadViewPages): Created __len__(), open_new_pages()
          and open_in_current_page() methods.  
          Fixed get_active_thread() method.

        * threadpane.py (ThreadView.set_thread): New.

        * threadpane.py (ThreadPane.open_new_page,
          ThreadPane.open_in_current_page): New.

2003-03-31 19:18:36 -0600	150 <onefifty@users.sourceforge.jp>

        * test.py (ThreadViewTestCase.test_toggle_wordwrap_towrap,
          ThreadPane.test_toggle_wordwrap, GuiCommandTestCase): New.

        * mock.py : New.

        * gui.py (MenuBar): Added toggle-word-wrap.

        * threadpane.py (ThreadPane.toggle_wordwrap, 
          ThreadView.toggle_wordwrap, ThreadViewPages.get_active_view) : New.

2003-03-30 21:22:42 -0600	150 <onefifty@users.sourceforge.jp>

        * threadpane.py (ThreadView.save_seen_index): Fixed.

2003-03-29 00:08:25 -0600	150 <onefifty@users.sourceforge.jp>

        * kittytk.py (ScrolledListBox): New.

        * gui.py (BoardMenu, BookmarkList, ThreadMenu): 
          Inherit kittytk.ScrollLiseBox.

2003-03-29 00:08:25 -0600	150 <onefifty@users.sourceforge.jp>

        * kittytk.py (EntryField): Uses PopupMenu.

        * gui.py (ThreadMenu): Uses kittytk.PopupMenu for 
          _itemmenu and _labelmenu.
          Renamed  _on_item_rightclick() to _select_under_mouse().
          Removed _on_label_rightclick().

2003-03-28 21:16:50 -0600	150 <onefifty@users.sourceforge.jp>

        * gui.py (BookmarkList): Removed _make_itemmenu(), scroll() and 
         _on_double_click().
         Renamed _on_rightclick() to _select_under_mouse().

        * gui.py (BookmarkList): Uses PopupMenu object.

2003-03-27 00:00:21 -0600	150 <onefifty@users.sourceforge.jp>

        * kittytk.py (PopupMenu): Binds "<3>" in addition to existing 
          bindings.

        * gui.py (BoardMenu.scroll, BoardMenu._make_itemmenu) : Removed.

        * gui.py (BoardMenu) : Uses PopupMenu class.  
          Renamed open_selected_board() to open().  
          Renamed bookmark_selected_board() to bookmark()
          Replaeced with _on_right_click() with _select_under_mouse()

        * threadpane.py (ThreadView.render): Displays status message.

2003-03-26 21:59:07 -0600	150 <onefifty@users.sourceforge.jp>

        * guicommand.py : Renamed delete_active_thread() to
          close_active_thread()

        * threadpane.py (ThreadPane): Renamed delete_active_thread() to
          close_active_thread().

        * threadpane.py (ThreadPane): reload_active_thread(),
          delete_active_thread(), get_active_thread(), open() and close()
          methods call the corresponding self.threadview_pages method.

        * threadpane.py (ThreadPane.__init__): Replaced Pmw.NoteBook with
          ThreadViewPages.

        * threadpane.py (ThreadViewPages): New.

2003-03-25 00:29:29 -0600	150 <onefifty@users.sourceforge.jp>

        * threadpane.py (ThreadFrame, ThreadView): Merged.

        * threadpane.py (ThreadPane.render): Removed.

        * threadpane.py (ThreadPane.reload): Renamed to reload_active_thread.  
          Simplified reload process.

        * test.py (ThreadFrameTestCase): Removed.

2003-03-24 20:30:08 -0600	150 <onefifty@users.sourceforge.jp>

        * threadpane.py (ThreadFrame.bookmark, ThreadFrame.close): New.

        * threadpane.py (ThreadPane.delete): Renamed to delete_active_thread.

        * threadpane.py (ThreadPane.reload, ThreadPane.open, 
          ThreadFrame.reload): Calls self.render() method.

        * threadpane.py (ThreadController): Removed.

        * guicommand.py (delete_active_thread): New.

        * bbs.py (Thread): Does not inherit observer.Observable.

2003-03-23 23:33:58 -0600	150 <onefifty@users.sourceforge.jp>

        * gui.py (GUI.__init__) : Uses  guicommand.store_widgets().

        * guicommand.py : Removed set_window, set_threadmenu, set_bookmarkview,
          set_messageview, set_boardmenu.

        * guicommand.py (Widget, WIDGET, store_widgets): New.

2003-03-22 12:33:37 -0600	150 <onefifty@users.sourceforge.jp>

        * gui.py (ThreadSearchDialog): __init__() takes threadmenu from 
          argument.  search() is new. Removed _search().

        * gui.py (GUI): Moved search_in_threadmenu() to ThreadSearchDialog
          class.

        * guicommand.py : set_boardmenu() is new.  
          update_boardmenu() uses BOARDMENU instead of WINDOW.

        * gui.py (BoardMenu): update() method is new.

        * gui.py (GUI): Moved update_boardmenu() method to BoardMenu class'
          update() method.  __init__() method submits board_menu to 
          guicommands.

        * gui.py (GUI): Deleted _handle_queue, notify, _display_threadmenu,
          _display_messages, _set_windowtitle, _restore_threadmenu_item.

        * gui.py (GUI): __init__() method does not init queue anymore.

        * guicommand.py : New.

        * gui.py (MenuBar): Removed add_bookmark() and copy() methods.

        * gui.py (ThreadMenu.bookmark_active_board, ThreadMenu.update
          ThreadMenu.open_selection, ThreadMenu.bookmark_selected_thread): 
          New.

        * gui.py (BookmarkList.save, BookmarkList.remove): Removed.

        * gui.py (BookmarkList.remove_selection, BookmarkList.update): New.

        * gui.py (BookmarkList.open_selected_item): New.

        * gui.py (BoardMenu.open_selected_board): New.

        * gui.py (ConfigDialog, ThreadSearchDialog, BoardMenu, BookmarkList,
          ThreadMenu, StatusBar, MenuBar): They do not inherit Colleague.

        * gui.py (GUI._popup_config_dialog): Renamed to popup_config_dialog.

        * gui.py (GUI._search_in_threadmenu): Renamed to search_in_threadmenu.

        * gui.py (GUI._update_boardmenu): Renamed to update_boardmenu.

        * gui.py (GUI._popup_searchdialog): Renamed to popup_searchdialog.

        * gui.py (GUI): Removed _copy_selection, _bookmark_active_thread,
          _bookmark_active_board, _open_selected_bookmark,
          _remove_selected_bookmark, _open_selected_board,
          _bookmark_selected_board, _bookmark_selected_thread,
          _open_selected_thread, _update_threadmenu and _bookmark methods.

        * gui.py (GUI.make_widgets): Passes somes widgets to guicommand.

        * gui.py (Mediator, Colleague): Removed. All formar subclasses 
          now do not inherit it.

2003-03-21 20:07:03 -0600	150 <onefifty@users.sourceforge.jp>

        * threadpane.py (ThreadFrame.right_menu_event): Removed.

        * threadpane.py (ThreadFrame.make_rmenu): Uses kittytk.PopupMenu.

        * kittytk.py (PopupMenu): New.

2003-03-19 18:29:33 -0600	150 <onefifty@users.sourceforge.jp>

        * util.py (j): New.

2003-03-18 12:20:51 -0600	150 <onefifty@users.sourceforge.jp>

        * renderer.py (LinkTagger._regex): Accepts "@".

        * threadpane.py (ThreadFrame.scroll_line_down, 
          ThreadFrame.scroll_line_up, ThreadFrame.scroll_page_down,
          ThreadFrame.scroll_page_up): New.

        * threadpane.py (ThreadFrame.on_mousewheel): Removed.

2003-03-17 14:57:43 -0600	150 <onefifty@users.sourceforge.jp>

        * threadpane.py (ThreadPane.get_active_thread): Fixed bug.

        * threadpane.py (ThreadPane.get_thread, ThreadPane.add): Removed.

2003-03-16 15:08:01 -0600	150 <onefifty@users.sourceforge.jp>

        * threadpane.py (ThreadFrame.focus): New.

        * gui.py (BoardMenu.__init__, ThreadMenu.__init__): Focus 
          follows mouse.

        * gui.py (ConfigDialog): Remove mouse wheel setting.

        * gui.py (GUI.bind_events) Does not bind <MouseWheel>.

        * gui.py (GUI.scroll): Removed.

        * observer.py (Observable.notify): Removed debuging code.

        * observer.py (Observalbe.unsubscribe): Debuged.

        * threadpane.py (ThreadPane.delete): Calls frame.delete() method.

        * threadpane.py (ThreadView.__del__, ThreadController.__del__): 
          Rename to destroy().

        * threadpane.py (ThreadFrame.destroy): New.

2003-03-15 01:05:40 -0600	150 <onefifty@users.sourceforge.jp>

        * threadpane.py (ThreadFrame.__init__): Configures tags in text.

        * threadpane.py (ThreadFrame.render): New.

        * threadpane.py (ThreadPane.open, ThreadPane.render): New.

        * threadpane.py (ThreadView.render): Followed AdvancedRenderer's 
          change.

        * test.py (ThreadPaneTestCase): New.

        * renderer.py (AdvancedRendere._render_message): Takes textbox 
          argument.

        * renderer.py (AdvancedRenderer.renderer): Takes a Text widget 
          as an argument.  Does not configure tags.

        * gui.py (GUI._display_messages): Calls ThreadPane.open() method.

2003-03-13 00:09:28 -0600	150 <onefifty@users.sourceforge.jp>

        * icon.py : Replaced fileclose with cross.

        * threadpane.py (ThreadPane.reload): Uses guiecho

        * icon.py : New.

        * threadpane.py (ThreadPane): Uses icon module.

2003-03-12 21:13:50 -0600	150 <onefifty@users.sourceforge.jp>

        * threadpane.py (ThreadPane.display): Uses guiecho.

        * guiecho.py : New.

        * gui.py (echo): Replaced with guiecho module.

2003-03-10 20:43:04 -0600	150 <onefifty@users.sourceforge.jp>

        * bbs.py (Thread.messages): Downloads if no message has been 
          retrieved.

2003-03-09 00:54:44 -0600	150 <onefifty@users.sourceforge.jp>

        * gui.py (ThreadSearchDialog._search): Simplified the condition.

        * gui.py (ThreadMenu.build): Fixed.  Stores the current board.

        * observer.py (Observable.unsubscribe): Fixed bug.

        * postdialog.py (PostDialog.update): Fixed bug.

        * test.py (ThreadFrameTestCase, PostDialogTestCase): New.

        * threadpane.py : (ThreadPane.post): New.

        * threadpane.py (ThreadPane): Has the post button.

        * gui.py (PostDialog): Moved to postdialog.py.

        * gui.py (GUI._popup_post_dialog): Removed.

        * gui.py (MessageView): Moved to threadpane.py

        * postdialog.py : New.

        * config.py : Fixed bug.

2003-02-26 20:05:01 -0600	150 <onefifty@users.sourceforge.jp>

        * threadpane.py (ThreadFrame.copy_selection): Has default value 
        of the second argument.

        * threadpane.py (ThreadFrame.make_rmenu, 
        ThreadFrame.right_menu_event): New.

        * threadpane.py (ThreadFrame.__init__): Binds <3> event.

        * threadpane.py (ThreadView.__init__): Binds text widget events.

        * threadpane.py (ThreadView.make_balloon, 
        ThreadView.on_mousewheel, ThreadView.on_cite, ThreadView.off_cite,
        ThreadView.off_cite, ThreadView.on_link, ThreadView.off_link, 
        ThreadView.open_link, ThreadView.get_target): Moved to ThreadFrame.

2003-02-24 19:36:38 -0600	150 <onefifty@users.sourceforge.jp>

        * config.py (get, set): New.

2003-02-23 00:34:26 -0600	150 <onefifty@users.sourceforge.jp>

        * threadpane.py (ThreadView.render): Maintains displaying point.

        * threadpane.py (ThreadView.save_seen_index,
        ThreadView.see_previously_seen_point): New.

        * test.py (ConfigTestCase): New.

        * test.py (ThreadViewTestCase.test_save_seen_index, 
        ThreadViewTestCase.test_see_previously_seen_point): New.

        * test.py (ThreadTestCase): New

        * bbs.py (Thread.identity): New.

        * threadpane.py (ThreadView.bind_events): Binds MouseWheel event.

        * threadpane.py (ThreadView.on_mousewheel): New.

2003-02-22 02:45:10 -0600	150 <onefifty@users.sourceforge.jp>

        * threadpane.py (ThreadPane): Button images.

        * icons: New.

2003-02-21 22:35:23 -0600	150 <onefifty@users.sourceforge.jp>

        * threadpane.py (ThreadView.__init__): Binds events.

        * threadpane.py (ThreadView.start_selection, 
        ThreadView.stop_selection, ThreadView.copy_selection): New.

2003-02-20 21:07:58 -0600	150 <onefifty@users.sourceforge.jp>

        * renderer.py (LinkTagger.feed): Completes an incomplete URL string.

        * threadpane.py (ThreadView.open_link): Uses self.get_target().

2003-02-19 20:48:45 -0600	150 <onefifty@users.sourceforge.jp>

        * threadpane.py (ThreadView.on_cite): Uses self.get_target().

        * threadpane.py (ThreadView.get_target): New.

        * renderer.py (CiteTagger.feed, LinkTagger): Adds "target=..." tag.

        * test.py : New.

2003-02-17 20:34:13 -0600	150 <onefifty@users.sourceforge.jp>

        * renderer.py (AdvancedRenderer.__init__): Does not create a 
        balloon widget.

        * renderer.py (AdvancedRenderer._on_cite, 
        AdvancedRenderer._off_cite, AdvancedRenderer._on_link, 
        AdvancedRenderer._off_link, AdvancedRenderer._click_link): 
        Removed.

        * threadpane.py (ThreadView.bind_events, ThreadView.on_cite, 
        ThreadView.off_cite, ThreadView.on_link, ThreadView.off_link, 
        ThreadView.open_link, ThreadView.make_balloon): New.

2003-02-16 12:23:10 -0600	150 <onefifty@users.sourceforge.jp>

        * threadpane.py : New.

        * font.py : New.

        * gui.py (MenuBar): Removed wordwrap.

        * gui.py (GUI._update_active_thread, GUI._toggle_wordwrap): Removed.

        * gui.py (GUI._bookmark_active_thread, GUI._display_active_message,
        GUI._popup_post_dialog): Followed ThreadPane.

        * gui.py (GUI._copy_selection): Does nothing, temporarily.

        * gui.py (GUI.__init__): Uses ThreadPane class instead of MessageView.

        * observer.py (Observable.attach, Observable.detach): New.

        * bbs.py (Thread.messages): Uses open_necessary_file()

2003-02-15 00:19:43 -0600	150 <onefifty@users.sourceforge.jp>

        * gui.py (MessageView.display): Call Thread.download() if necessary.

        * bbs.py (Thread.download): Calls self.notify().

        * bbs.py (Thread): Inherits Observable.

        * gui.py (MessageVie.make_menu_on_label): Does not access GUI 
        object for internal change.

        * gui.py (MessageView.update, MessageView._render, MessageView.display):
        New.

        * gui.py (MessageView): Inherits Observer class.

        * gui.py (GUI._update_messages, GUI._download_thread_and_update_view,
        render_messages, MessageView.build, MessageView._on_label_doubleclick):
        Removed.

        * gui.py (GUI._display_messages): Calls self.message_view.display()

        * bbs.py (Poster.cancel): Fixed a bug.

2003-02-14 23:32:38 -0600	150 <onefifty@users.sourceforge.jp>

        * gui.py (PostDialog._cancel): Fixed a bug.

2003-02-13 19:24:56 -0600	150 <onefifty@users.sourceforge.jp>

        * gui.py (PostDialg.update): Fix.

        * bbs.py (Poster.post): Renamed _changed() to _notify().

        * observer.py (Observable.notify): New.

        * observer.py (Observable._changed): Removed.

        * gui.py (PostDialog.update): Renamed from PostDialog.notify().

        * observer.py (Observer.update): New.

        * bbs.py (Board.load, Board._download): Removed.

        * gui.py (ThreadMenu.build): Uses board.update().

        * bbs.py (_last_modified): Removed.

        * bbs.py (Board._last_modified): Renamed from last_modified.

        * gui.py (GUI._search_in_threadmenu): Followed bbs.Board change.

        * bbs.py (Board._load): New.

2003-02-12 20:08:15 -0600	150 <onefifty@users.sourceforge.jp>

        * gui.py (GUI._restore_threadmenu_item, ThreadMenu.build): 
        Followed bbs.Board change.

        * bbs.py (Board): Does not inherits list type.

        * bbs.py (Board.__str__): Removed.

        * bbs.py (Board.get_threads): New.

        * cookie.py (set, get): Converts Unicode object to ascii string 
        object.  Thanks, 162.
        http://pc2.2ch.net/test/read.cgi/tech/1036892546/410n

2003-02-11 20:11:49 -0600	150 <onefifty@users.sourceforge.jp>

        * observer.py : New.

        * gui.py (PostDialog): Inherits Observer.

        * bbs.py (Publisher): Moved to observer.py

2003-02-10 19:38:01 -0600	150 <onefifty@users.sourceforge.jp>

        * gui.py (MessageView._mark_config_key): New.

        * config.py (_Config.get): New.

        * gui.py (MessageView.build): Saves current displaying point.  
        Determines displaying point from configuration file. 

        * gui.py (MessageView.active_thread): New.

        * gui.py (MessageView._thread): New. Renamed from MessageView.thread

        * gui.py (PostDialog.__init__): self._poster.subscribe()

        * bbs.py (Poster): Inherits Publisher class.

        * bbs.py (Publisher): New.

2003-02-09 21:12:33 -0600	150 <onefifty@users.sourceforge.jp>

        * bbs.py (Poster): Changed the condition for retry.

2003-02-08 00:00:20 -0600	150 <onefifty@users.sourceforge.jp>

        * gui.py (PostDialog.status): Removed.

        * gui.py (PostDialog): Has a Poster instance as a publisher.  
        Has a text widget to display BBS response.

        * gui.py (PostDialog._post, PostDialog.notify, PostDialog._cancel,
         PostDialog._cancel): New.

2003-02-07 23:59:53 -0600	150 <onefifty@users.sourceforge.jp>

        * gui.py (GUI._post): Removed.

2003-02-06 06:42:45 -0600	150 <onefifty@users.sourceforge.jp>

        * bbs.py (Poster.cancel, Poster.get_state, Poster.add_subscriber,
         Poster._changed): New.

        * bbs.py (Poster.post): Uses self._changed() and obtains a 
        Thread instance from arguments.

        * gui.py (GUI._post): follows bbs.Poster's changes.

        * gui.py (PostDialog.__init__): changed title string.

2003-02-05 20:14:20 -0600	150 <onefifty@users.sourceforge.jp>

        * gui.py : եȤλˤϡCONFIG.get("Font","Foo") ѡ

        * config.py (default_config): [Font] ƥɲá

        * renderer.py (AdvancedRenderer.__init__): Х롼ΥեȤ
        ե뤫

        * renderer.py (AdvancedRenderer.__init__, AdvancedRenderer._on_cite,
        AdvancedRenderer._off_cite): Х롼 destroy() ʤ
        http://pc2.2ch.net/test/read.cgi/tech/1036892546/382

        * bbs.py (Board.load): ˥ǡʤ˥顼
        Х

2003-02-04 20:33:37 -0600	150 <onefifty@users.sourceforge.jp>

        * gui.py (GUI.on_resize): ֤¸

        * bbs.py (Thread.size): ɲá

        * gui.py (GUI._download_thread_and_update_view): 쥹ɽ롣

2003-02-02 22:13:38 -0600	150 <onefifty@users.sourceforge.jp>

        * gui.py (GUI._restore_threadmenu_item): κݤ˥
        夹Х

        * gui.py (GUI._download_thread_and_update_view, GUI._handle_queue): 
        ɲá

        * gui.py (GUI._update_messages): åɤǼ¹ԡ


2003-02-01 01:07:45 -0600	150 <onefifty@users.sourceforge.jp>

        * gui.py (GUI._display_threadmenu): _download_threadmenu Ƥ
        Фʤ

        * gui.py (GUI._download_threadmenu): 

        * gui.py (ThreadMenu.build): ǤˤĤΥɽƤ
        ϡɤƤɽ

        * gui.py (GUI._search_in_thread): 
        - ˸˸ɲá
        - ɽƤʤȤϸʤ

        * gui.py (ThreadSearchDialog._search): θĿܥ
        򲡤ȤΥ顼н衣

        * gui.py (ThreadSearchDialog.__inti__): Υ饸ܥɲá

        * gui.py (ThreadSearchDialog.direction_is_down): ɲá


2003-01-30 21:37:42 -0600	150 <onefifty@users.sourceforge.jp>

        * bbs.py (bbsmenu2xml): ɲá

        * bbs.py (BBS.build): dat/bbsmenu.xml ɤࡣ


