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
Fixing also the text extraction when using the rectangular selection across two or more pages.
svn path=/trunk/playground/graphics/okular/; revision=616264
* removed NotifyRequest, that looked more like a hack than a solution
(see comment in ghostscript generator)
svn path=/trunk/playground/graphics/okular/; revision=608235
* 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
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
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
* 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
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
* 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
Add a protected method to get the document, and hide the real document pointer as private, so the generators can't redefine it.
svn path=/trunk/playground/graphics/okular/; revision=598025
* Moved all implementations to generator.cpp
* Added 'const' where it make sense
* Adapted all generators (except gs)
svn path=/trunk/playground/graphics/okular/; revision=597525
It's only reported in case it makes sense for the format
Only implemented for pdf atm
If all pages have the same size it's reported on document properties
else there's a label shown in the new bottom bar with the size of the current page
svn path=/trunk/playground/graphics/okular/; revision=595822
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
* 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
Fix bug 133507 that prevented the correct restoring of the document viewport on session restore for remote documents
svn path=/trunk/playground/graphics/okular/; revision=584932
Now every generator has to implement this one and put (if necessary) all the code for cleaning up all the stuff related to the currently open document.
For now the return value it is not read, but generators as strongly suggested to return tru o false, whether all the operations in there went fine.
svn path=/trunk/playground/graphics/okular/; revision=562210
finally commit patch by Mary Ellen Foster to implement wish 109078
Incidentally also implements wish 127382
Sorry for having taken so long.
svn path=/trunk/playground/graphics/okular/; revision=561300
The text exporting option is detached from that other options and always visible (disabled if not supported), so it could be easier for the user to find it out.
svn path=/trunk/playground/graphics/okular/; revision=556922