Instead of manually requestion actions and other stuff, we just make the interface as gui client, requesting and integrating it in the part gui.
Also, rename the Generator's componentData() to ownComponentData() to avoid clashing with KXMLGUIClient.
svn path=/trunk/KDE/kdegraphics/okular/; revision=705933
- 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
- first use the mimetype from the OpenUrlArguments, or fallback on a manual mimetype detection
- get rid of the manual discover of the mimetype using the signal from the file transfer job - this is done in the base readOnlyPart, now
svn path=/branches/work/kparts_urlargs_split/kdegraphics/okular/; revision=698689
The old sidebar had many problems and limitations, usability issues as well.
This new sidebar tries to simplify and solve many of these issues (like the navigability with the keyboard), with a better looking.
Of course, some glitches are still there, but easily solvable.
svn path=/trunk/KDE/kdegraphics/okular/; revision=697060
- 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
Tested with local files only, remove files should work but their download seems to give broken files at the moment (kdelibs bug, I think).
This should hopefully complete the support for compressed files (eg .pdf.gz, .ps.bz2, etc).
svn path=/trunk/KDE/kdegraphics/okular/; revision=693782
- install a newstuff rc config, pointing to the NS1 stuff on okular.kde.org
- show the download dialog for newstuff, properly (hopefully) initialized
- proper linking for the okularpart
svn path=/trunk/KDE/kdegraphics/okular/; revision=690047
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
Restore the previously open pane in the side toolbox after reloading a watched document.
(closed KPDF #116771)
svn path=/trunk/KDE/kdegraphics/okular/; revision=656309
Give KMessageBoxes a parent widget.
DVI plugin is missing 4 messageboxes, some work has to be done to get them know the document() so they can call widget()
svn path=/trunk/playground/graphics/okular/; revision=648175
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
Next problem (on amd64):
/d/kde/src/4/playground/graphics/okular/generators/plucker/unpluck/unpluck.cpp:901: error: cast from ‘void*’ to ‘int’ loses precision
svn path=/trunk/playground/graphics/okular/; revision=642273
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
Fix Keyboard navigation in kpdf in konq only possible after focusing it with the mouse after changing tab
BUGS: 136702
svn path=/trunk/playground/graphics/okular/; revision=628870
Add fillConfigDialog() and supportedMimeTypes() to the Document, so the Part can get all the info it needs with no need to own the generator structure.
This also loads all the generators when asking for their config widget, but that can be improved easily now; furthermore, all the generators used to load documents are kept.
svn path=/trunk/playground/graphics/okular/; revision=627909
-p, --page <page> : to select the startup page
--presentation : to start directly in presentation mode
implementing also KPDF wishes #134115 and #137905.
svn path=/trunk/playground/graphics/okular/; revision=619681
* 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
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
With simplier words: add an 'attach' icon in the message pane that informs about attachments in the current document.
svn path=/trunk/playground/graphics/okular/; revision=616780
* 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
* 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
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
*******
When reloading a document because it changed still be in presentation mode after the reload
*******
and while at it make the document reloading work again
svn path=/trunk/playground/graphics/okular/; revision=595690
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
Adapted the poppler(pdf) and the chm generators to return the title of the current document.
svn path=/trunk/playground/graphics/okular/; revision=568059
- really check if the user selected an action from the document popup
- make the HighlightAreaRect constructor an effective copy-ctor
svn path=/trunk/playground/graphics/okular/; revision=567628
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
- more const'ness in signals
- no need to redeclare the signals in the generators, as they are already in Generator
svn path=/branches/work/kde4/playground/graphics/okular/; revision=549941
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
Added a search lineedit (and a clear button) to search into the document toc. Implements KPDF's wish #99349.
svn path=/branches/work/kde4/playground/graphics/okular/; revision=545972
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
- 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
- mark one function to remove later
- add one more category to desktop file to be more vfolders compliant
svn path=/trunk/playground/graphics/oKular/kpdf/; revision=431970
It's not yet complete (file dowload and internal notifies are missing) but
the new stuff browser is running. The ui is modeled on an Aaron's mockup.
NewStuff:
Fetches the providers list (kpdf.kde.org/newstuff/providers.xml), lets
the user select a provider and displays provider's contents in a KHMTL
part (for flexibility and eye candy).
Internally we use KNS' Entry and Provider structures only, doing all the
transfer operations by hand via KIO::get jobs. Download will be done
internally too (to give better consistancy in the interface).
Network timeouts, problems or info messages are notified in a statusbar-
like widget and we try to keep all information in the dialog, without
using messageBoxes
Part:
Added the action and the dialog invocation
Makefiles:
Link the KNEWSTUFF and KHTML libraries.
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=405828
is deleted after all classes, but when kpdf is run stand-alone and quit()
is used (currently only by clicking on Quit links) the app could crash.
-> Best practice: don't use KConfigXT settings classes for storing values
on destructors (do it when a parameter is updated).
CCMAIL: Mikolaj Machowski <mikmach@wp.pl>
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=403765
all the reviews on the document (pretty unuseful now, but that will
change ;-). Another step to good kpdf annotations.
Part:
Added Reviews toolbox pane. Added (commented out while doing it right)
searchline for toc; just works.
Misc:
Observer: added id for Reviews pane (as document observer it monitors
document/annotations changes). Page: added 2 temporary accessors for
annotations (will change soon). Makefile: added side_reviews.cpp to
compilation. Searchwidget: slight better spacing to look consistant with
the review panel.
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=400307
Changed loadDocumentInfo/saveDocumentInfo semantics. Document settings
are saved by Document, but page related stuff (bookmark state,
annotations, ...) are loaded/saved by the KPDFPage itself.
Annotation:
Better usage of dom entities (QDomElement(s) -> QDomNode(s)). Added const
modifier to 'saveSettings' methods.
Part:
Use setCheckedState for the show/hide left panel menu entry. Use icon
too. Bumped .rc revision.
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=397236
- Keep the original url on the document so we can open relative file names
- Add Enrico and my copyright
svn path=/trunk/kdegraphics/kpdf/; revision=386244
Removed old code, reworked bad code.
I have no more reported crashes now.
No plans for additions or code changes till 3.4 release.
Thank you all kpdf users, Have Fun!
svn path=/trunk/kdegraphics/kpdf/; revision=385897
without including any 3.4 header (like kspeech.h) to keep compatibility
with 3.3 and older releases (reported to work on these).
Cleanups in PageView's mouse handling. Supports selections of different
colors now.
svn path=/trunk/kdegraphics/kpdf/; revision=383651
Part). Implemented 'history (xpdf's LinkAction) links'. History depth is
100 steps by default (this is enough for sure, clicking 100 times on a
button is not an easy task :-).
Minor issues (removed half TODOs in code, all FIXMEs are already removed):
Invoke mailer on 'mailto:' links inst instead of konqueror.
Actions cleanup: disable actions like 'print', 'preview', 'save to..', etc
when there isn't an active document. Added history actions to the toolbar
in place of the 'prev_page' and 'next_page' ones. Fixed open+open_recent
action tooltip and behavior.
Move definition and implementation of PagePainter class to ui/pagepainter
from core/page.
Valgrinded and leakchecked (2 memory leaks spotted and fixed (missing
contents deletion in KPDFGeneratorThread and missing deletion of
PixmapRequests on cancel in Document::requestPixmaps())).
svn path=/trunk/kdegraphics/kpdf/; revision=382960
number, the total number of pages and a little grahical 'progress'
indicator. Moved 'next page' and 'prev page' buttons from the main toolbar
to the MiniBar. Minibar lets you edit the page number, click or wheel on
progress, go to next/prev page, show the gotoPage dialog.
Added rmb popup when clicking on thumbnails. When clicking, the
ThumbnailList only emits the same signal emitted by PageView so the same
context menu is displayed.
Misc fixes: [MEM] enabled allocated pages raising in queue when displayed
again, [ThumbnailList] enabled PageUp/PageDown.
svn path=/trunk/kdegraphics/kpdf/; revision=382597
Add some accelerators
Plug the actions that change the mouse behaviour into a menu as everything should be menu accesible
Put the F9 in the KACtion creator
svn path=/trunk/kdegraphics/kpdf/; revision=377533
bodies. Optimized fit width and a saved a couple of pixmap requests. Busy
cursor on load and searches.
svn path=/trunk/kdegraphics/kpdf/; revision=377152
A const reference may be asked. When set all DocumentObservers will be
notified so they can update their gfx if needed. Converted TOC, Links
to the new usage. DocumentViewport can be saved/restored to/from QString
so it can be asked as metadata and saved on document's XML. When loading
a document the viewport is restored exactly where it was when the document
was closed. More fixes with Viewport class. Swapped groupboxes in Perform
dialog. Changed members naming in DocumentObservers and inherited classes.
PageView and ThumbnailsList now linked.
Still regressions / TODOs about the Viewport thing.
svn path=/trunk/kdegraphics/kpdf/; revision=377066
filtering and similar options (toolbar is not created now). Changed
Document::openDocument(..) functions order. Restore last active page when
opening an already viewed pdf. Fix margins around pages in all modes.
Presentation: page change by clicking on the round 'wheel' indicator too.
Updated TODO.
svn path=/trunk/kdegraphics/kpdf/; revision=375229
for the file naming map and file versioning. Please wait until the commit
storm ends to report any bug. Albert and Enrico
Moved KPDFDocumentObserver in its own include file. Updated dependancies.
svn path=/trunk/kdegraphics/kpdf/; revision=374928
for the file naming map and file versioning. Please wait until the commit
storm ends to report any bug. Albert and Enrico
Includes change.
svn path=/trunk/kdegraphics/kpdf/; revision=374922
for the file naming map and file versioning. Please wait until the commit
storm ends to report any bug. Albert and Enrico
svn path=/trunk/kdegraphics/kpdf/; revision=374920