Commit graph

69 commits

Author SHA1 Message Date
Pino Toscano
bf9af4433d move deleteTextSelections() to the private class
svn path=/trunk/KDE/kdegraphics/okular/; revision=708155
2007-09-03 23:47:12 +00:00
Pino Toscano
d81d4aedd9 small api fixup ('const QContainer' it's pointless as return value)
svn path=/trunk/KDE/kdegraphics/okular/; revision=708147
2007-09-03 23:01:57 +00:00
Pino Toscano
1d40b13d2b SVN_SILENT exclude more private stuff from the apidox
svn path=/trunk/KDE/kdegraphics/okular/; revision=707467
2007-09-01 22:48:28 +00:00
Laurent Montel
e31f9ada54 Remove not necessary "class classname;"
svn path=/trunk/KDE/kdegraphics/okular/; revision=671220
2007-06-04 07:44:15 +00:00
Albert Astals Cid
9f448a49df small dox fixes
svn path=/trunk/KDE/kdegraphics/okular/; revision=668692
2007-05-27 09:59:52 +00:00
Pino Toscano
325b8711ea move the setTextSelections, setHighlight and deleteHighlights to the private class of Page, as they are private for now
svn path=/trunk/KDE/kdegraphics/okular/; revision=661486
2007-05-05 18:07:34 +00:00
Pino Toscano
e79cd474d9 move the Page rotating and changing page functions to the private class
svn path=/trunk/KDE/kdegraphics/okular/; revision=660214
2007-05-01 23:36:57 +00:00
Pino Toscano
5f21b15d99 Link -> Action renaming.
Step #2: Link -> Action for the action hierarchy, and for the ObjectRect type.

svn path=/trunk/KDE/kdegraphics/okular/; revision=656140
2007-04-20 12:37:12 +00:00
Pino Toscano
e61f5d393a SVN_SILENT forgot this
svn path=/trunk/KDE/kdegraphics/okular/; revision=655136
2007-04-17 20:01:42 +00:00
Pino Toscano
3f84c8ccad move modifyAnnotation to the private class
svn path=/trunk/KDE/kdegraphics/okular/; revision=655132
2007-04-17 19:55:18 +00:00
Pino Toscano
acd19bc8f7 move the Page serialization functions to the private class, and make Document access to them
svn path=/trunk/KDE/kdegraphics/okular/; revision=653988
2007-04-14 19:58:17 +00:00
Pino Toscano
95bb597a85 hide the text selection inside the private class of Page
svn path=/trunk/playground/graphics/okular/; revision=648095
2007-03-30 14:08:20 +00:00
Pino Toscano
229f3cf1de add a private function for the nearest Page pixmap, for the PagePainter usage;
this way, the pixmap structure can be finally hidden in the private class

svn path=/trunk/playground/graphics/okular/; revision=646502
2007-03-25 22:36:41 +00:00
Pino Toscano
36b894c75a Create a (private) PageController that handles the rotation jobs from all the pages.
This removes the needs for Page to be a QObject (it's the PageController that connects to the jobs and emits the right signals), so it again a "cheap" object.

svn path=/trunk/playground/graphics/okular/; revision=646010
2007-03-24 10:47:22 +00:00
Pino Toscano
a67410f74f move the private class of Page in an own private header
svn path=/trunk/playground/graphics/okular/; revision=645963
2007-03-24 00:18:54 +00:00
Pino Toscano
bc8036dc62 they are constant methods, so let them be 'const'
svn path=/trunk/playground/graphics/okular/; revision=641248
2007-03-10 17:25:14 +00:00
Pino Toscano
db8a10dc2c Preliminary supports for text and choice form fields.
This includes:
- the interfaces for the generators
- the basic widgets for editing their value
- a top bar for show/hide the forms of a document
- the implementation of the forms for the PDF backend
still nothing that can be done with them, nor the value of the forms can be saved...
... but it's a start! :-)

svn path=/trunk/playground/graphics/okular/; revision=637001
2007-02-25 00:07:59 +00:00
Pino Toscano
9cda7888d9 small api fix
svn path=/trunk/playground/graphics/okular/; revision=625715
2007-01-20 22:04:10 +00:00
Pino Toscano
75946e42e3 DOX: improvements and fixes
SVN_SILENT

svn path=/trunk/playground/graphics/okular/; revision=625599
2007-01-20 14:51:43 +00:00
Pino Toscano
b163e04115 Support for labelling the pages, and for displaying the page label (if any) in the table of contents side pane.
svn path=/trunk/playground/graphics/okular/; revision=625312
2007-01-19 23:30:32 +00:00
Pino Toscano
c1dc76485a DOX: slightly improve apidox generation
SVN_SILENT


svn path=/trunk/playground/graphics/okular/; revision=623061
2007-01-13 22:55:00 +00:00
Pino Toscano
18fab3d130 Improve the way we deal with generators that give the possibility to change the size of the pages: instead of let them destroy and recreate the pages (bad), ask them the sizes they support, then do the work ourselves and notify the generator when the work is done.
While I was at it, I changed from "paper size" to "page size", it should be better.

svn path=/trunk/playground/graphics/okular/; revision=620411
2007-01-05 23:12:06 +00:00
Pino Toscano
4b922367e2 Use a proper enum to deal with orientation/rotation all around okular.
svn path=/trunk/playground/graphics/okular/; revision=620312
2007-01-05 17:09:47 +00:00
Tobias Koenig
ea51ee18f5 Do a lot of include cleanups... we install all important
header files now

svn path=/trunk/playground/graphics/okular/; revision=619492
2007-01-03 14:30:48 +00:00
Tobias Koenig
86a1fd3b69 Big cleanup of Document API and documentation:
* add full API docs
 * renamed getMetaData -> metaData
 * removed supportsRotation in Document and Generator
 * moved Permission and SearchDirection enums into separated header core/global.h

svn path=/trunk/playground/graphics/okular/; revision=619183
2007-01-02 22:37:55 +00:00
Tobias Koenig
77efd7dcb1 Cleaned up the Document API, moved all private members/methods/slots into
the d class.

svn path=/trunk/playground/graphics/okular/; revision=619100
2007-01-02 19:05:49 +00:00
Pino Toscano
c51c412057 ok, let's sdo it seriously now: use the right precision for the page duration that a PDF can give us
svn path=/trunk/playground/graphics/okular/; revision=618194
2006-12-31 14:41:34 +00:00
Pino Toscano
5083655c11 Implement the page duration in presentation mode, and read the info from PDF documents.
svn path=/trunk/playground/graphics/okular/; revision=618136
2006-12-31 10:48:49 +00:00
Pino Toscano
539921bdf6 Improving the bookmark capabilities of okular.
Adding a BookmarkManager class that takes care of handling them in a proper way.
Adding a new tab in the sidebar to manage them:
- shows all the bookmarks in all the documents, or just in the current document
- cliking on a bookmark will bring to that bookmark, loading the document if necessary
- editing a bookmark title is possible either using F2 or right click -> Rename
- right click -> Remove to remove a bookmark
The only way to add new bookmark for the moment is the "old" way, ie right click -> Add bookmark, and it's not possible add more than one bookmark per page (but the system does not limit that).
The whole system should not be too difficult to understand, I will check with our usability master Florian next days.

svn path=/trunk/playground/graphics/okular/; revision=616979
2006-12-27 16:04:49 +00:00
Pino Toscano
5ce4b0674e Make okular able to copy the text selection to the clipboard (finally!).
svn path=/trunk/playground/graphics/okular/; revision=607496
2006-11-24 21:02:38 +00:00
Tobias Koenig
486ca7bd03 SVN_SILENT make it utf-8 clean
svn path=/trunk/playground/graphics/okular/; revision=607257
2006-11-23 21:27:43 +00:00
Tobias Koenig
81fb3a383b Further cleanup of Page API:
* getAnnotations() -> annotations()
  * setBookmark()/hasBookmark() -> setBookmarked()/isBookmarked()
  * moved as much private API of Page as possible to private class

svn path=/trunk/playground/graphics/okular/; revision=607233
2006-11-23 19:25:52 +00:00
Tobias Koenig
4848631daf Renamed all the Page::getXyz() methods to Page::xyz() to be konsistent
with the rest of KDE and ... we are no Java developers ;)

svn path=/trunk/playground/graphics/okular/; revision=607204
2006-11-23 17:11:04 +00:00
Tobias Koenig
14d6515b16 Changed the enum SearchDir to SearchDirection and use less strange
abbreviations for its items.

Replaced the 'bool strictCase' parameter of Page::findText
with 'Qt::CaseSensitivity caseSensitivity' for better readable code.


svn path=/trunk/playground/graphics/okular/; revision=607203
2006-11-23 16:54:28 +00:00
Tobias Koenig
a7b04cb92b Replaced
Page::setSearchPage( TextPage* );
  Page::hasSearchPage();

with

  Page::setTextPage( TextPage* );
  Page::hasTextPage();

to make the API clearer. The TextPage is not only used for
searching but also for extracting selected text, so the term
'search' is confusing...


svn path=/trunk/playground/graphics/okular/; revision=607195
2006-11-23 16:09:26 +00:00
Tobias Koenig
a490cc0cd7 Add the following functionality:
* Bring QPixmap* back to make Albert happy ;)
 * Store only one QPixmap per page/size and rotate it directly
 * Rotate ObjectRects (boundary)
 * Rotate Annotations (point coordinates)
 * Don't reload pixmaps, ObjectRects and annotations on rotation

svn path=/trunk/playground/graphics/okular/; revision=606371
2006-11-20 07:53:32 +00:00
Pino Toscano
274469dae8 Almost complete support for inverse search within okular.
THe system generally works; what is missing is a good activating strategy (added in TODO - our usability expert is working on that), and a GUI to configure the editor.
The DVI backend was adapted to use this new feature.
(The PDF backend will use it soon.)

svn path=/trunk/playground/graphics/okular/; revision=605708
2006-11-17 22:15:15 +00:00
Tobias Koenig
bea71df6e0 * Made image rotation asynchronous
* Changed Page API and PagePainter to work only with QImage

svn path=/trunk/playground/graphics/okular/; revision=601581
2006-11-03 17:57:32 +00:00
Tobias Koenig
d22b2f1892 A rather big change:
* Hide as much private API as possible in Generator, PixmapRequest and ExportEntry/Format
 * Renamed ExportEntry to ExportFormat and made it value based
 * Removed canExportToText() and exportToText() from Generator API and implemented this
   functionality in exportFormats()/exportTo() in the generators
 * Removed the orientation parameter from PixmapRequest and let the Document handle the rotation
   of the page (pixmap) instead

CCMAIL:okular-devel@kde.org

svn path=/trunk/playground/graphics/okular/; revision=599058
2006-10-25 15:35:53 +00:00
Pino Toscano
cf33727105 Add the support for Sounds, links to sounds and opning/closing page actions (only in Page, not really working yet)
svn path=/trunk/playground/graphics/okular/; revision=593975
2006-10-09 18:02:59 +00:00
Pino Toscano
c52a0e622b Change the way we rotate the pages.
Instead of telling the generators to do the work themselves (that was usually destraoying the ld pages and creating the new ones), now we just rotate the page objects deleting only their "mutable" contents.
This way, generators can just return true in their supportRotation() to make okular rotate the pages for them for free. Of course they still have to generate the page pixmaps according to the given page rotation.
Now, there's a new rotationChanged() function in the Generator API so generator that needs it can be norified about the document rotation changing.

CCMAIL: developers@okular.org

svn path=/trunk/playground/graphics/okular/; revision=593632
2006-10-08 15:07:23 +00:00
Pino Toscano
42310e184c Restructuring a bit how the text-editor-like selection works:
* putting it in an own view mode
* associating the selection to every page
* using a better algorithm to calculate the selection, even in a page range
* moving its drawing from the page view to the page painter, so it's possibile to draw it just like it's done with eg annotations

Other changes (more or less related):
* moved the annotation popup to a better place, so it won't interfere with annotation drawing
* commented some debug code in TextPage

svn path=/trunk/playground/graphics/okular/; revision=588795
2006-09-26 22:22:01 +00:00
Tobias Koenig
df7d144c10 Moved all classes in core/ into the 'Okular' namespace and removed
nearly all references to kpdf (knewstuff still missing).

svn path=/trunk/playground/graphics/okular/; revision=586993
2006-09-21 08:45:36 +00:00
Pino Toscano
45615e5289 Reworked a bit the ObjectRect API, by allowing subclassing for easiness wrt Annotation's. The brand new AnnotationObjectRect is responsible for providing the annotation bounding rect (that may vary for the various annotation types).
Adapted also to receive the X and Y scale, so the bounding rect for every kind of ObjectRect can depend on a specific page size.
As a consequence, we can add also the annotations among the rects of a Page, and use the standard getObjectRect to find them.

svn path=/trunk/playground/graphics/okular/; revision=586457
2006-09-19 17:17:29 +00:00
Pino Toscano
8357b47a8c Annotations:
support the Hidden and DenyDelete flags

svn path=/trunk/playground/graphics/okular/; revision=584409
2006-09-14 18:42:28 +00:00
Chu Xiaodong
e207d0d6f4 Note&TextBox annotation remove operation enabled
svn path=/trunk/playground/graphics/okular/; revision=571630
2006-08-10 06:32:03 +00:00
Chu Xiaodong
3f81e3788f Free TextAnnotation,pop-up window and annotation properties dialog added.
svn path=/trunk/playground/graphics/okular/; revision=571124
2006-08-08 15:31:13 +00:00
Albert Astals Cid
cb7ca95e94 pages have orientation
document has a rotation to apply over the page's own orientation
text search really works now when rotating (at least all my tests here worked)

svn path=/branches/work/kde4/playground/graphics/okular/; revision=547644
2006-06-02 20:42:57 +00:00
Pino Toscano
6301d6b397 In the hope I didn not break anything, this is the new way of searching through the text pages. The new way stores the search point for every searchID, avoid to search from the beginning every time.
Also, the structure for backward search is there, (just...) need to add a findTextInternalBackward and do the job there.

svn path=/branches/work/kde4/playground/graphics/okular/; revision=545298
2006-05-27 10:06:31 +00:00
Pino Toscano
59b267386c avoid using QString*, just use QString
svn path=/branches/work/kde4/playground/graphics/okular/; revision=544974
2006-05-26 14:32:35 +00:00