Commit 6a175f76 authored by Enrico Ros's avatar Enrico Ros

Merged Selection tools: a popup asks wether to save/copy text or gfx.

Added 'continous zooming' using mid mouse button. Clipped selections to
viewport. Fixed a bad rounded float-to-int conversion (gives more pixel
precision in zooming).
CCMAIL: burellil@dei.unipd.it

svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=363468
parent f962069a
......@@ -8,25 +8,29 @@ Legend:
In progress on the branch (first item comes first):
-> ADD: viewport changes the right way when clicking links (also suggested by Mikolaj Machowski) [40% done]
-> memory manager with different profiles (mem/cpu tradeoff: {memory saving, normal, memory aggressive}) [0%]
-> async document generator using Albert's generator thread [0%]
Things to do in order to merge in HEAD (first item has highest priority):
-> memory manager with different profiles (mem/cpu tradeoff: {memory saving, normal, memory aggressive})
-> async document generator using Albert's generator thread
-> import Marco Martin's "another kpdf icon" (kde-look: 16146)
-> link thumbnails view with document
-> usability: layout 2PPV [1 2,3 4,5 6] -> [1,2 3,4 5]. add option for 'ebook' style alignemnt. (by Mikolaj)
-> usability: clear search must restore the full thumbs list (by Mikolaj)
-> usability: trigger redraw on 'filter text' on current page (by Mikolaj)
-> new icons (contest at kde-look has ended and we know the winner. good choice :-)
-> watch out for FIXMEs in code
-> take care of naming on merge, too differences (remove some kpdf_* prefixes
and rename internals toodocument->kpdfdocument)
and rename internals too document->kpdfdocument, page->kpdfpage, etc..)
More items (first items will enter 'In progress list' first):
*THIS ITEMS ARE CURRENTLY FROZEN SINCE "HEAD-MERGE" LIST IS CLEARED*
-> display current page / total pages (with analog indicator too (progressbar/...))
maybe this can be done on a small widget at the top of the toolbox, displaying
'document' informations (pages, current pg, some metadata, etc..)
-> take care of TODOs in code
-> find: scroll page if the the searched string is not visible [after 'viewport changes']
-> ADD: click over image allows "save image" [60% done]
-> screen editing (annotations): framework (BR67300,BR62793)
-> screen editing (annotations): tools (BR67300)
-> display current page / total pages (with analog indicator too (progressbar/indicator/...))
-> session support: restoring page location (BR82589)
-> export all text in plain_text/html
-> extract(export?) images (have a look at ImageOutputDev.cc and pdfimages.cc from xpdf (not in our xpdf sources))
......@@ -45,6 +49,8 @@ More items (first items will enter 'In progress list' first):
-> rotate the whole document / individual pages
Done (newest feature comes firts):
-> ADD: dynamic zoom with mid mouse button (click and drag up-down to zoom in-out)
-> FIX: merge select text & select gfx, two sections on the same pop-up menu
-> ADD: reading aids (inverted display, recolor, black/white, draw link border, draw image border)
-> FIX: zoom preserved when switching modes and flickerless drawing
-> ADD: Printing as PS instead of as image (Albert)
......@@ -85,7 +91,6 @@ Here comes a list of suggestions from a dot post http://dot.kde.org/1095261317 a
Tool: ruler, measure: distance, perimeter, ?area?
Tool: color picker
Annotations: yellow notes 'post-it' like
Speak: integration with a voice synthesizer
Export: export to other formats keeping formatting (a dream.. except for PNG :-)
PDF: <theICEBear> pdf forms support.... :D if at all possible
......
......@@ -49,8 +49,6 @@
<Separator/>
<Action name="mouse_drag"/>
<Action name="mouse_zoom"/>
<Action name="mouse_select_text"/>
<Action name="mouse_select_gfx"/>
<Action name="mouse_draw"/>
<Action name="mouse_select"/>
</ToolBar>
</kpartgui>
This diff is collapsed.
......@@ -46,7 +46,7 @@ class PageView : public QScrollView, public KPDFDocumentObserver
// Zoom mode ( last 4 are internally used only! )
enum ZoomMode { ZoomFixed, ZoomFitWidth, ZoomFitPage, ZoomFitText,
ZoomIn, ZoomOut, ZoomRefreshCurrent };
enum MouseMode { MouseNormal, MouseZoom, MouseSelText, MouseSelGfx, MouseEdit };
enum MouseMode { MouseNormal, MouseZoom, MouseSelect, MouseEdit };
// create actions that interact with this widget
void setupActions( KActionCollection * collection );
......@@ -86,7 +86,7 @@ class PageView : public QScrollView, public KPDFDocumentObserver
// return the widget placed on a certain point or 0 if clicking on empty space
PageViewItem * pickItemOnPoint( int x, int y );
// start / modify / clear selection rectangle
void selectionStart( int x, int y, bool aboveAll = false, PageViewItem * pageLock = 0 );
void selectionStart( int x, int y, bool aboveAll = false );
void selectionEndPoint( int x, int y );
void selectionClear();
// update internal zoom values and end in a slotRelayoutPages();
......@@ -116,8 +116,7 @@ class PageView : public QScrollView, public KPDFDocumentObserver
void slotContinousToggled( bool );
void slotSetMouseNormal();
void slotSetMouseZoom();
void slotSetMouseSelText();
void slotSetMouseSelGfx();
void slotSetMouseSelect();
void slotSetMouseDraw();
void slotScrollUp();
void slotScrollDown();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment