a) "Speak While Document" action to speak the content of the whole document
b) "Speak Current Page" to just speak the content of the currently shown page
c) "Speak Text" action in the right click menu of the editor-like text selection
(a) also implements KPDF's bug #118872.
svn path=/trunk/KDE/kdegraphics/okular/; revision=782497
* zoom-best-fit -> zoom-fit-best
* plasmagik -> tools-wizard
* and some other fixes, many of them in KMobileTools
svn path=/trunk/KDE/kdegraphics/okular/; revision=756800
- pages not in the view (wth no Continuous mode active) are just "hidden", but they now have a valid size;
this way, we can preload "hidden" pages even when in Continouos mode
- merge the layouting methods (simplify a bit)
CCBUG: 153675
svn path=/trunk/KDE/kdegraphics/okular/; revision=755216
- enable/disable (instead of hide/show) the tools that cannot be constructed (eg due to the document not extracting text)
- disable the tools when there is no document open
svn path=/trunk/KDE/kdegraphics/okular/; revision=746293
- when the document is auto-scrolling, stop the scrolling
- when building an annotation, stop its construction
svn path=/trunk/KDE/kdegraphics/okular/; revision=716000
but zooming in from 80% would give you 90%. Zoom levels are now
symmetrical when using toolbar zoom or CTRL+scrollmouse.
Thanks to pinotree to pointing out the appropriate code for me to fix.
svn path=/trunk/KDE/kdegraphics/okular/; revision=708122
- disable the review toolbar
- make the annotation prioerties dialog read-only
- disable the removal
svn path=/trunk/KDE/kdegraphics/okular/; revision=705415
- shorten the toolbar labels of the Previous/Next Page actions, and put them into the toolbar by default instead of the Back/Forward [history control]
- shorten the toolbar labels of the tool buttons
- remove the Open/Open recent button from the shell toolbar
svn path=/trunk/KDE/kdegraphics/okular/; revision=702549
- the tools now have Ctrl+1/2/3/4 for Normal, Zoom, Select, TextSelect modes resp.
- the Show/hide navigation panel has F7 now, Ctrl+L conflicts with Konqueror
svn path=/trunk/KDE/kdegraphics/okular/; revision=696405
- make the output looking more or less like before (using nospace() or removing the spaces)
- remove endl and '\n' at the end of debug outputs
- fixing the QDebug operator<<'s around
- isolate the debug area number of the core into a separate header, and apply it instead of the numbers found in textpage.cpp
svn path=/trunk/KDE/kdegraphics/okular/; revision=694667
Ctrl+right mouse button is what is needed to do that.
At the moment, only line, stamp and geometric annotations can be moved with mouse dragging.
svn path=/trunk/KDE/kdegraphics/okular/; revision=689185
Can be deactivated using unsetDummyMode(), that is the first thing the okular shell does
that's useful because for example for print preview you don't want to embed all the okular ui to do the preview, you just want to see the ps
svn path=/trunk/KDE/kdegraphics/okular/; revision=671928
So, create a new ViewMode setting for the single/facing/columns view mode (leaving the RenderMode for compatibility with KPDF).
Rename [Rr]enderMode into [Vv]iewMode in the page view, following the new name of the setting.
Remove the "padding" enums from the settings, as it seems they have no real use beside giving issues.
svn path=/trunk/KDE/kdegraphics/okular/; revision=665773
exception to this is the ActionDocumentAction, renamed to DocumentAction and whose id is DocAction
svn path=/trunk/KDE/kdegraphics/okular/; revision=660523
nges to its status. This brings us:
- less item reloading (previously done every time the toolbar is shown, now only when needed)
- the toolbar is redrawn correctly if it's shown and a new document is open
- as Albert pointed me yesterday, no need to show the annotating tools that act on text if the document does not support the extraction of text
svn path=/trunk/KDE/kdegraphics/okular/; revision=659722
Merge the search in normal mode and the type-ahead in a search bar that appears on the bottom of the page view. This should work nicely.
In presentation mode, add a small floating search toolbar that takes care of searching during the presentation mode, on document request. This is not working yet, but basically most of the work is done.
Please test and report any problems you find.
CCMAIL: okular-devel@kde.org
svn path=/trunk/playground/graphics/okular/; revision=643607
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
instead of choosing the orientation degrees (eg 0, 90, etc), use two Rotate Left/Right actions to rotate the whole document 90 degrees resp. on the left or on the right.
Also add an 'Original orientation' action to restore to the orientation of the document.
svn path=/trunk/playground/graphics/okular/; revision=625297
* 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
Fixing also the text extraction when using the rectangular selection across two or more pages.
svn path=/trunk/playground/graphics/okular/; revision=616264
* Moved all public member variables of Annotation to private
and add accessors
* Renamed RevScope and RevType to RevisionScope and RevisionType
* Add API documentation (@pino, please review)
svn path=/trunk/playground/graphics/okular/; revision=610749
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
- render the viewed rect area in the thumbnail a bit more elegantly
- Render Mode -> View Mode ... "render" is geekanese, "view" is proper luserian
svn path=/trunk/playground/graphics/okular/; revision=604731
I have XRender available on my system but I use QtMac
so only check for XRender if we use Qt/X11.
svn path=/trunk/playground/graphics/okular/; revision=600075
Also improve a bit the one in the presentation mode, and give a message when the link is a "go to the page x" link.
Implements KPDF wish #131361.
svn path=/trunk/playground/graphics/okular/; revision=588899
* 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
Make okular a bit more friendly for users of RtL languages:
- correctly place the message pane (top-left corner of page view for LtR, top-right for RtL)
- make the mini-progressbar fully usable for both the writing directions
(the icons of the previous/next page buttons were already fixed by me)
svn path=/trunk/playground/graphics/okular/; revision=586751
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
- really activate the Apply button of the Properties dialog only when something is changed
- apply the changed in real-time, so they cna be seen directly with Apply and no need to close the dialog
- add a small fix (last, I hope) for the PixmapPreviewSelector about the pixmap loading
svn path=/trunk/playground/graphics/okular/; revision=583922
Add hack to get around "10&0%" action text which sometimes happens with kdelibs4.
okular developers: after updating kdelibs, zooming should work perfectly - please let me know if it doesn't.
svn path=/trunk/playground/graphics/okular/; revision=567575
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
rotation half works on pdf, search is problematic
this makes you need poppler cvs again
svn path=/branches/work/kde4/playground/graphics/okular/; revision=547375
You need poppler from cvs as of today, i'll change the check to a bigger version number once a new poppler gets released
There are still some problems i think but i'm commiting to see if someone wants to help ;-)
Includes some EBN fixes by Christian Mueller
svn path=/branches/work/kde4/playground/graphics/okular/; revision=540404
Created a oKularcore lib, so the generators ca link to it, and made the oKularpart link to it too, of course.
Adapted the sources of the Okularpart to the new location for the generated settings.h.
svn path=/branches/work/kde4/playground/graphics/okular/; revision=523729
- 1. editor-like text selection, and I do mean it, its not pseudo-editor
(like the ones acroread and kviewshell have) it doesnt intersect the
selection area with words under it, no, it does a lot more, including
work on cursors and searching for the text area closest to the given
cursor
- 2. rotation support, change the orientation of the documents if
you need too :)
- 3. the kfaxview backend works beautifully, porting kviewshell backends
is damn easy ! djvu and dvi will be next!
- 4. Hardware Blending of selection rectangles! We now use XRender
instead of KImageEffect, makes a damn faster blend!
- 5. Overview mode - as seen in Kviewshell, but quite a bit extended,
the kviewshell is only one state, while we support it in both
continous and non-continous form
- BTW. I coded all those features myself, (apart from kfaxview backend library)
it is an impressive bit right? but oKular cant be run by only one person,
join in on the fun! i can introduce you into the code just mail niedakh@gmail.com
svn path=/trunk/playground/graphics/oKular/kpdf/; revision=509871
- Page: rotation does not switch height and width
- Document/Part/Generator:
1. Add API for attaching stuff to the interface: ActionCollection and the Navigation Panel
also add possibility to merge an XML .rc file with menu layout. Relevant functions are:
QString Generator::getXMLFile(), returns a QString with your .rc file name.
void Generator::setupGUI (KActionCollection* , QToolbox* ), add your components to the user interface
2. Supporting backend settings:
If during startup, backends which provide a configuration ([X-KDE-oKularHasInternalSettings]
set to true) are found, a menu item: configure backends is created, clicking on it results in
loading all the generators that have settings, but not those that dont. the Generator::addPages(KConfigDialog *dlg)
function should be overloaded by a generator and dlg->addPage should be used to add pages.
If a user opens a file that needs an already loaded generator, the already loaded one is used instead of loading another.
3. Error/Warning/Notice sending support, to send a notice/error/warning, add a relevant notice/error/warning(QString& txt ,int duration)
to the generator class, and sending a message to the user is as simple as emitting a signal!
4. Intercepting of events generated by the PageView is done by Generator::handleEvent(QEvent*), subclass it, do a switch on QEvent::type(), handle your
event and return true if pageview is to proceed with its handling or false if not.
5. Support configuring the KPrinter on the generator side, use Generator::canConfigurePrinter(), return true there, and you get a nonconfigured KPrinter in your
Generator::print()
6. PixmapRequest handling update:
a.) Generator::canGeneratePixmap is now Generator::canGeneratePixmap(bool async)
b.) Document::sendGeneratorRequests is a slot now
c.) Old way of sending pixmaps (Document::requestPixmaps(QValueList<PixmapRequest*> checking if we can generate pixmap if not, waiting for receiving)
is replaced with: requestPixmaps only queues the pixmap all checking if w can generate is done in sendGeneratorReqest, the sendGeneratorRequest is
run in three places:
1. in requestPixmaps when we receive a request
2. in requestDone if pixmapStack is not empty
3. sendGeneratorRequest, apart from removing invalid requests, takes the current request and if generator canGeratePixmap(request->async)
it removes the pixmap from stack and sends to generator if not, QTimer::singleshots to itself after 20ms, it ends when stack has no valid pixmap request
7. Added a commented out zoom field to PixmapGenerator, mightcome in handy sometime
- TextPage: add instructions that handle simplyfing the RegularAreaRect, no more double painted borders in selection rectangles, this rocks.
svn path=/trunk/playground/graphics/oKular/kpdf/; revision=445196
still i implemented all of this myself, damn ghostview is making me lose all the joy i had in working
on okular, working with such a badlyu document API like libgs has i just killing me...
svn path=/trunk/playground/graphics/oKular/kpdf/; revision=437094
* moving all xpdf stuff from core and part to inside generator_pdf
* adding abstract KPDFText class and KPDFTextEntity to hold either
glyph, or word or textline
- support for importing PS files as pdf like on annots branch
- synced with annots branch
- abstract text layer with search for words in different lines
- added RegularArea<NormalizedShape,Shape> template class
which inherits QValueList<NormalizedShape*> and is used
to hold regular areas of given shape (finite collections of the shape)
- loading of relevant generators via ktrader for given mimetype
- the deliverables 1 and 2 of my SoC proposition are delivered
next: 1. fix one spotted regression and 2. code ghostview backend
svn path=/trunk/playground/graphics/oKular/kpdf/; revision=434883
Added the frequently requested option for eBook style alignment. Better
layouting in continous (center single pages, no more top aligned) and
single modes. Layouting very consistant when switching modes. Proper keys
and mouse handling in multiple columns modes. Start in 'Fit Page' zoom.
DlgGeneral KCFG:
Added the "Center first page in facing mode" and config menu entry.
ToDo:
Marked 100341 as done.
CCMAIL: 100341@bugs.kde.org
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=405524
Better flow in annotations parser.
Annotation:
Cleanups in header.
PageView:
Adjusted a squelch.. I think a neural network it's the least we can do
to choose that float number between 0.6 and 0.7.
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=403319