Commit Graph

218 Commits

Author SHA1 Message Date
Abdelrazak Younes
311ac9b192 This is the continuation of my BufferView/LyXView cleanup. This commit replaces BufferView->LyXView->getDialogs().[show(), update()] with BufferView signal emissions.
The associated WorkArea is then responsible to connect these signals to its LyXView parent.

* BufferView:
  - showDialog, showDialogWithData, showInsetDialog: new boost signals

* LyXView:
  - connectBufferView(), disconnectBufferView(): new method in charge of the connection/disconnection of the above signal to associate private methods (showDialog(), etc).

* WorkArea
  - setBufferView(): will connect/disconnect the BufferView to its LyXView parent.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15068 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-19 13:36:20 +00:00
Abdelrazak Younes
1a786c8e17 * Transfer Intl member from LyXView to BufferView.
* delete unused offset_ref() method.




git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15030 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-17 10:03:00 +00:00
Abdelrazak Younes
397605290d delete unsetXSel() method
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15025 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-17 08:48:06 +00:00
Abdelrazak Younes
574e4444a8 Move X11 specific selection code from BufferView to the frontends.
* BufferView:
 - selectionRequested(): renamed to requestSelection() and cleaned up.
 - selectionLost(): renamed to clearSelection()

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15024 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-17 08:35:12 +00:00
Abdelrazak Younes
1a0f5eaf8d deledelete BufferView::available() method because buffer serves the same purpose.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15018 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-16 14:00:13 +00:00
Abdelrazak Younes
972e1eec7c delete BufferView::text() method and add two FIXME in text.C
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15017 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-16 13:34:09 +00:00
Abdelrazak Younes
bcb71b1fbe Merge BufferView and BufferView_pimpl
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15013 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-16 10:08:51 +00:00
Abdelrazak Younes
a6444784dc A bunch of conversion to docstring.
- bformat(): contributed by Georg Beaum
- Alert::XXX
- error(): in SpellBase, ispell, psell, aspell, buffer, etc.
- message(), message signal
- displayMessage(), setMessage,
- ErrorItems
- prettyName()
- makeDisplayPath()

and maybe some more...


- etc... 

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14970 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-11 08:54:10 +00:00
Abdelrazak Younes
4cdd558c70 * BufferView: delete firstLayout()
* LyXView: save two setLayout() calls that are done in updateLayoutChoice() anyway.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14833 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-24 16:55:31 +00:00
Abdelrazak Younes
c70f77354a That commit replaces the Buffer::message() signal emissions from within "BufferView_pimpl.C" and "lyxfind.C" with BufferView::message() signal emission.
* BufferView.h: new message boost signal.

* BufferView_pimpl.C: replace Buffer::message() with BufferView::message() signal emission.

* lyxfind.C: ditto.

* WorkArea:
  - displayMessage(): new private method that calls LyXView::message().
  - messageConnection_: new signal connection.
  - setBufferView(): handle BufferView connection/disconnection.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14831 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-24 14:10:22 +00:00
Abdelrazak Younes
dd429b7f26 This commit should hopefully fix all scrolling issues. As an added bonus, mouse scrolling should be faster due to a deleted call to BufferView::update() that was not usefull (the important call to updateMetrics() is done in WorkArea()).
Log:
* BufferView/pimpl:
  - scrollDocView(): call to BufferView::update() deleted.
  - scrollDocView(): second part is now in setCursorFromScrollbar()
  - setCursorFromScrollbar(): new method.

* WorkArea:
  - setBufferView(): show the cursor immediately
  - redraw(): call to updateScrollbar()
  - updateScrollbar(): new method
  - scrollBufferView(): fix it and show the cursor immediately.

* qt4/GuiWorkArea
  - setScrollbarParams(): now disable the Qt scrollbar tracking.
  - paintEvent(): scrollbar related code deleted

* qt3/QWorkArea
  - setScrollbarParams(): now disable the Qt scrollbar tracking.

* qt3/QContentPane
  - paintEvent(): scrollbar related code deleted




git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14704 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-16 15:24:38 +00:00
Abdelrazak Younes
f475b7bde6 This commit transfers most of the LyXView use from BufferView to WorkArea, most notably:
LyXView::updateLayoutChoice();
LyXView::updateToolbars();
LyXView::getLyXFunc().processKeySym(key, state);
LyXView::dispatch(cmd);

* BufferView
  - workAreaKeyPress(): deleted

* BufferView::pimpl
  - gui(): deleted
  - workAreaKeyPress(): deleted
  - workAreaDispatch(): special FuncRequest transfered to WorkArea::dispatch()

* WorkArea
  - WorkArea(): now needs a LyXView
  - lyx_view: new member
  - scrollBufferView(): new method

* qt4/GuiWorkArea: adapted to above changes
* qt4/GuiImplementation: ditto
* qt3/GuiWorkArea: ditto
* qt3/QContentPane: ditto
* gtk/GuiWorkArea: ditto
* gtk/GWorkArea: ditto



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14695 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-15 21:57:23 +00:00
Jean-Marc Lasgouttes
b1a54e83eb remove unused stuff
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14687 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-15 13:28:23 +00:00
Abdelrazak Younes
00c37e4781 This commit transfer the ErrorList handling from LyXView to Buffer. It also removes the need for the error signal and simplify the kerbel <-> frontend communication. I think it should speed-up _significantly_ the latex compilation for example in case of problematic files.
TODO 1: All occurrences of "LyXView::showErrorList()" in the "kernel" should be replaced by a boost signal emission (Buffer::errors()). This signal is already connected to this showErrorList() slot.

TODO 2: The ErrorList mechanism is used wrongly in a number of place, most notably in "Converter.C". Instead of replacing the ErrorList in the "Buffer" class, the "Converter" class should maintain its own list instead and connect directly to the LyXView::showErrorList() slot.

Buffer:
* errorList_: new private member and associated access methods.
* setErrorList(): new accessor method.
* addError(): apend an error to the errorList_.
* error(): deleted.
* errors(): new boost signal, unused for now. Shall be used instead of LyXView::showErrorList().

LyXView:
* getErrorList(), addError(), errorlist_, errorConnection_: deleted.
* errorsConnection_: new boost connection for the Buffer::errors() signal.

lyx_main.C:
* LyX::exec2(): manually print all errors.

BufferView.h: remove unneeded ErrorList forward declaration.

BufferView::pimpl::menuInsertLyXFile(): delete Buffer::error() connection and add a FIXME comment

text.C: Use Buffer::addError() instead of Buffer::error() signal emission.

ControlErrorList.C: get the ErrorList from the Buffer instead of LyXView


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14467 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-15 22:43:37 +00:00
Abdelrazak Younes
a4032074c9 This commit continues the drastic diet operated on BufferView. It removes all boost signal connections from BufferView::pimpl and put them in LyXView. LyXView already inherits from boost::signals::trackable so this is not a big deal. If you look closely at the signal connections, it all makes sense IMO.
With this change, the only difference between BufferView.h and BufferView_pimpl.h is "cursor.h" so I think it is time to merge the two classes at last.

BufferView:
* showErrorList(), getErrorList(): transfered to LyXView.

BufferView::pimpl
* addError(), showReadonly(), connectBuffer(), disconnectBuffer(): transfered to LyXView.

CutAndPaste.C: adapted to API changes
frontends/controllers/ControlErrorList.C: ditto
lyxfunc.C: ditto 


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14458 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-14 21:47:48 +00:00
Abdelrazak Younes
93f7adabbb This commit removes the needRedraw() interface and simplify the screen update procedure. It also fixes all crash problems.
The performance may suffer a bit because we do the second drawing step in all cases. This could be possibly optimized out by checking the return value of the BufferView::update() method in "lyxfunc.C:1610". But it is maybe better to keep those two parts of the frontend ignorant of each other: the event handling and the drawing.

BufferView:
* needRedra(), need_redraw_: deleted.
* updateMetrics(): now public.
* update(): only do the first drawing step. Returns true if a full updateMetrics is needed before drawing on screen.

WorkArea:
* redraw(): no check on BufferView::needRedraw(), call updateMetrics() unconditionally. 
* processKeySim(): uneeded "redraw()" call commented out. When/if the call to LyXView::redrawWorkArea() in "lyxfunc.C:1610" is not needed anymore, this line should be uncommented out.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14456 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-14 09:56:21 +00:00
Abdelrazak Younes
e1a5cb74a8 GUI API Cleanup step 3: merge with "younes" branch.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14448 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-13 16:37:55 +00:00
Lars Gullik Bjønnes
e7b69c030e Extracted from r14281
* BufferView:
    - hideCursor(): deleted (for real)
* frontends/GuiCursor:
    - deleted. Functionality transfered to WorkArea.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14389 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-08 22:55:22 +00:00
Lars Gullik Bjønnes
28c5673ff4 Extracted from r14281
* frontends/LyXView:
	- redrawWorkArea(): new temporary method called from within
	  BufferView::pimpl::update() that calls WorkArea::redraw()
	  in order to do the actual screen redrawing.
* frontends/WorkArea:
	- the redraw() method now check if the the attached bufferView
	  needs a screen redraw().
* BufferView:
	- needsRedraw(): new method for WorkArea::redraw()


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14381 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-08 20:24:32 +00:00
Lars Gullik Bjønnes
1ff081141d Extraced from r14281 from the younes branch.
* BufferView, BufferView::pimpl:
	- metrics_info_: private variable holding ViewMetricsInfo
	- viewMetricsInfo(): accessor function
	- updateMetrics(): renamed from metrics(), sets metrics_info_
	- update(): change to use updateMetrics()

* frontends/WorkArea:
	- redraw(): get the ViewMetricsInfo through accessor to BufferView.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14331 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-04 00:04:46 +00:00
Lars Gullik Bjønnes
ee1871ef71 Partially extracted from r14281 from the younes branch.
* BufferView, BufferView::Pimpl:
	- painter(): remove method
* rowpainter.C:
	- paintText(): get painter through LyXView and WorkArea


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14330 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-03 22:54:30 +00:00
Lars Gullik Bjønnes
b1a87cc778 Extracted from r14281 from the younes branch.
* BufferView,BufferView::Pimple:
	-  workArea_ removed
* frontends/LyXView:
	- now contains a pointer reference to the current
	  WorkArea instead of the BufferView.
        - workArea(): temporary access method
* frontends/WorkArea:
	- bufferView(): new access methods.

* GuiImplementation: updated due to above changes


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14329 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-03 22:31:51 +00:00
Lars Gullik Bjønnes
752cab15d7 Second part of r14315 from the younes branch:
* BufferView and Bufferview::pimpl: repaintAll() methods deleted.

	* rowpainter.C:
 		- refreshInside : new variable in the anonymous namespace.
 		- use of refreshInside instead of the repaintAll() methods


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14324 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-03 20:37:34 +00:00
Lars Gullik Bjønnes
fb97c0689b First part of r14315 from the younes branch:
* BufferView and BufferView::pimpl:
   		- getClipboard, stuffClipboard, haveSelection: deleted

	* CutAndPaste.C: use BufferView::owner()->gui().clipboard()
	* insettabular.C: ditto
	* math_nestinset.C: ditto
	* text3.C: ditto


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14323 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-03 20:19:33 +00:00
Abdelrazak Younes
3287c44f33 GUI API Cleanup step 2: merge of the "younes" branch.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14231 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-26 16:55:35 +00:00
Abdelrazak Younes
d8ae51dbe1 This is the merging of the GUI API cleanup branch that was developed in svn+ssh://svn.lyx.org/lyx/lyx-devel/branches/personal/younes.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14152 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-20 08:39:16 +00:00
Lars Gullik Bjønnes
67d576f75e * frontends/WorkArea.h(workAreaResize, scrollDocView, workAreaKeyPress,
dispatch, selectionReuqested, selectionLost): remove signals

* BufferView.[Ch] (selectionRequested, selectionLost, workAreaResize,
  workAreaKeyPress, workAreaDispatch): add forwarding functions to the pimpl

* BufferView_pimpl.C (Pimpl): Remove the setup of the now deleted signals,
  also remove corresponding connection objects.

* frontends/xforms/XWorkArea.h:
* frontends/qt2/QWorkArea.h:
* frontends/qt4/QWorkArea.h:
* frontends/gtk/GWorkArea.h: add LyXView as class variable view_ (qt
  classes also get view() medthod)

* frontends/qt2/QWorkArea.C:
* frontends/qt2/QContentPane.C:
* frontends/qt4/QWorkArea.C:
* frontends/xforms/XWorkArea.C:
* frontends/gtk/GWorkArea.C: Change from calling signals to call
  the functions directly through view_.view()


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13671 a592a061-630c-0410-9148-cb99ea01b6c8
2006-04-13 18:58:48 +00:00
Lars Gullik Bjønnes
b2effebe20 2006-04-06 Bo Peng <ben.bob@gmail.com>
session support that
    * handle recent opened files (previously lastfile)
    * save/load bookmarks when quit lyx
    * save/load buffer cursor location whan a file is closed
    * save/load windows position and size when a file is closed
    * add rc entries load_session, use_lastfilepos,
      screen_geometry_height, screen_geometry_width,
      screen_geometry_xysaved.
    * trigger LFUN_QUIT when Alt-F4 or close-button is used to close lyx.
    * remove lastfile.h lastfile.C (merged in session.h, session.C)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13561 a592a061-630c-0410-9148-cb99ea01b6c8
2006-04-05 22:56:18 +00:00
Martin Vermeer
22cdac5d5d Fix bug 2195: Slowness in rendering inside insets, especially on the Mac
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13328 a592a061-630c-0410-9148-cb99ea01b6c8
2006-03-10 16:10:35 +00:00
Jean-Marc Lasgouttes
3246cc9a4a bug 2109: trigger dEPM when moving cursor with mouse
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10637 a592a061-630c-0410-9148-cb99ea01b6c8
2005-12-01 10:28:50 +00:00
Angus Leeming
70572847e2 Whitespace, only whitespace. s/ +$//
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10024 a592a061-630c-0410-9148-cb99ea01b6c8
2005-06-09 09:58:08 +00:00
Martin Vermeer
a683500118 Axe processEvents, fix cursor draw artifacts, put update flags into an enum,
allow single-paragraph update


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9986 a592a061-630c-0410-9148-cb99ea01b6c8
2005-05-31 14:40:30 +00:00
Angus Leeming
fb70c52b05 Whitespace, only whitespace.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9877 a592a061-630c-0410-9148-cb99ea01b6c8
2005-04-26 11:12:20 +00:00
Jean-Marc Lasgouttes
3f4d173edf fix several GOTO lfuns (bug 1787, bug 616, bug 781 and bug 835)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9663 a592a061-630c-0410-9148-cb99ea01b6c8
2005-02-22 11:41:22 +00:00
Angus Leeming
e22c5f4d97 Asger's commentary, const-correct and bug-squashing little beauty.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9558 a592a061-630c-0410-9148-cb99ea01b6c8
2005-01-31 16:29:48 +00:00
Angus Leeming
c9f9ba315c Asger's exchanging of the class and struct keywords.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9502 a592a061-630c-0410-9148-cb99ea01b6c8
2005-01-19 15:03:31 +00:00
Angus Leeming
f717cb6b22 Get rid of extraneous whitespace.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9466 a592a061-630c-0410-9148-cb99ea01b6c8
2005-01-12 10:30:46 +00:00
Alfredo Braunstein
a2cd656e25 CoordBranch merge
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9325 a592a061-630c-0410-9148-cb99ea01b6c8
2004-11-30 01:59:49 +00:00
Lars Gullik Bjønnes
686f1e276f InsetOld -> InsetBase renaming
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9310 a592a061-630c-0410-9148-cb99ea01b6c8
2004-11-25 19:13:07 +00:00
Jean-Marc Lasgouttes
09b67226eb fix backwards search (bug 1666)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8988 a592a061-630c-0410-9148-cb99ea01b6c8
2004-09-17 16:28:47 +00:00
Jean-Marc Lasgouttes
d194cfffa5 get rid of ownerPar(), which was super slow; fix tabular crash due to recently introduced BOOST_ASSERTs
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8951 a592a061-630c-0410-9148-cb99ea01b6c8
2004-08-16 00:32:04 +00:00
André Pönitz
edbef46cd7 move around stuff, remove unneeded declarations etc
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8929 a592a061-630c-0410-9148-cb99ea01b6c8
2004-08-14 19:55:00 +00:00
Angus Leeming
b03580df17 A layout engine for XForms.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8704 a592a061-630c-0410-9148-cb99ea01b6c8
2004-04-28 17:22:05 +00:00
Lars Gullik Bjønnes
68b7ef25fb simple ws changes only
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8594 a592a061-630c-0410-9148-cb99ea01b6c8
2004-04-03 08:37:12 +00:00
Alfredo Braunstein
d34600cd3e add BufferView::getStatus and use it + some lyx::find fixes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8582 a592a061-630c-0410-9148-cb99ea01b6c8
2004-04-01 08:58:45 +00:00
Alfredo Braunstein
303a6c126c s/DocumentIterator/DocIterator/g a.k.a showing off my sed abilities. Sorry for the cvs spam.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8574 a592a061-630c-0410-9148-cb99ea01b6c8
2004-03-31 19:11:56 +00:00
André Pönitz
0d43ba149a the stuff from the sneak preview:
For one, it still contains a few things that are already in CVS (the
'brown paperbag' changes).

Secondly, this changes the ParagraphList to a std::vector but does not
yet take full advantage of it except removing LyXText::parOffset() and
similar.

I had an extensive talk with my profiler and we are happy nevertheless.

This also moves almost all Cut&Paste specific stuff from text.C to
CutAndPaste.C. Much smaller interface now... Namespace CutAndPaste is
now  lyx::cap::. Was inconsistent with the rest....

Make ParagraphList a proper class. We'll need this later for a
specialized erase/insert.

Remove some unneeded prototypes and function declarations

Use ParameterStruct directly instead of ShareContainer<ParameterStruct>

Inline a few accesses to CursorSlice members as suggested by the profiler.

Fix commandline conversion crash reported by Kayvan.

Replace PosIterator by DocumentIterator. The latter can also iterate
through math and nested text in math...

Remove math specific hack from Documentiterator

Derive InsetCollapsable from InsetText instead of using an InsetText
member. This give us the opportunity to get rid of the InsetOld::owner_
backpointer.

Cosmetics in CutAndPaste.C and cursor.C. Fix nasty crash (popping slices
off an empty selection anchor). Add a few asserts.

Remove all 'manual' update calls. We do now one per user interaction which
is completely sufficient.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8527 a592a061-630c-0410-9148-cb99ea01b6c8
2004-03-25 09:16:36 +00:00
André Pönitz
5198e1d9a3 The Buffer::LyXText -> Buffer::InsetText patch
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8498 a592a061-630c-0410-9148-cb99ea01b6c8
2004-03-18 12:53:43 +00:00
André Pönitz
ec4ab8ce18 revert Buffer LyxText->InsetText commit
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8489 a592a061-630c-0410-9148-cb99ea01b6c8
2004-03-11 17:16:38 +00:00
André Pönitz
1b3f5ee46f the Buffer::text -> inset change
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8488 a592a061-630c-0410-9148-cb99ea01b6c8
2004-03-11 16:09:42 +00:00