Commit graph

77 commits

Author SHA1 Message Date
Mailson Menezes
83282971d8 Render current viewport only 2012-05-29 14:06:02 -03:00
Albert Astals Cid
9d805df013 Double click selects words
BUGS: 187347
FIXED-IN: 4.9,0
2012-03-25 23:48:47 +02:00
Jiri Baum
412e3e739e table selection tool - semi-automatic dividers
BUGS: 283440
REVIEW: 102788
2011-10-31 16:33:03 +01:00
Pino Toscano
c05523da2b fix #include paths in core headers to other core headers to be relative
... and with double quotes brackets, so they can properly include each other without relying on the compiler include path
2011-06-01 10:51:31 +02:00
Albert Astals Cid
8f045d06a7 add a text() function that returns characters not containing any pixel inside the given area but the center pixel of the char rectangle
svn path=/trunk/KDE/kdegraphics/okular/; revision=1048193
2009-11-12 21:48:43 +00:00
Pino Toscano
6d0241e5d2 add functions to get the nearest object rect to a point in a page, and return its distance, and the accessor functions for object rects
based on an patch by Luigi Toscano, thanks!
CCMAIL: luigi.toscano@tiscali.it

svn path=/trunk/KDE/kdegraphics/okular/; revision=943099
2009-03-23 12:05:00 +00:00
Frederik Schwarzer
62668cdb2c let me introduce: typo of the year "the the"
mostly seen as
"the the" -> "the"
"the the" -> "to the"
and in its best case
"a the the" -> "" :)

svn path=/trunk/KDE/kdegraphics/okular/; revision=864814
2008-09-25 15:05:22 +00:00
Pino Toscano
18f486c2c1 add the possibility to store an useful bounding box of a page, and for generators to notify the document (and its observers) on its change
original patch by kde2eran@tromer.org, thanks!
CCMAIL: kde2eran@tromer.org

svn path=/trunk/KDE/kdegraphics/okular/; revision=809467
2008-05-18 23:06:21 +00:00
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