Re: [Libreoffice] Fwd: Re: patch for scan-diialog
I've tested the code as it is in git now. And it still works here. M.V.G. Rob Snelders On 21-10-11 22:31, Rob Snelders wrote: Hi, I have added the feature with screenshot to the ReleaseNotes. Stephan: I'm compiling the code and will test the patch when it is done. M.V.G. Rob Snelders On vr 21 okt 2011 17:53:31 CEST, Michael Meeks wrote: Hi Rob, On Thu, 2011-10-20 at 20:37 +0200, Rob Snelders wrote: Here are 3 patches that together make the code for adding the scan-button to the sanedlg. Great to see that :-) Any chance you could drop a nice screenshot / feature note and your name at: http://wiki.documentfoundation.org/ReleaseNotes/3.5 which saves lots of time later when it comes to building the 3.5 release notes. Thanks again, Michael. ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: [Libreoffice] Fwd: Re: patch for scan-diialog
Hi Rob, On Thu, 2011-10-20 at 20:37 +0200, Rob Snelders wrote: Here are 3 patches that together make the code for adding the scan-button to the sanedlg. Great to see that :-) Any chance you could drop a nice screenshot / feature note and your name at: http://wiki.documentfoundation.org/ReleaseNotes/3.5 which saves lots of time later when it comes to building the 3.5 release notes. Thanks again, Michael. -- michael.me...@suse.com , Pseudo Engineer, itinerant idiot ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: [Libreoffice] Fwd: Re: patch for scan-diialog
Hi, I have added the feature with screenshot to the ReleaseNotes. Stephan: I'm compiling the code and will test the patch when it is done. M.V.G. Rob Snelders On vr 21 okt 2011 17:53:31 CEST, Michael Meeks wrote: Hi Rob, On Thu, 2011-10-20 at 20:37 +0200, Rob Snelders wrote: Here are 3 patches that together make the code for adding the scan-button to the sanedlg. Great to see that :-) Any chance you could drop a nice screenshot / feature note and your name at: http://wiki.documentfoundation.org/ReleaseNotes/3.5 which saves lots of time later when it comes to building the 3.5 release notes. Thanks again, Michael. ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: [Libreoffice] Fwd: Re: patch for scan-diialog
On 10/19/2011 10:30 PM, Rob Snelders wrote: I tried to add the XScannerManager2. But when I try with this patch then the menu-items are disabled. I have tried to search where the problem was but I can´t find it. Can you help me? Hi Rob, The new file offapi/com/sun/star/scanner/XScannerManager2.idl is missing from the patch (I guess you did not git add it before you created the git diff). Then, as Markus already pointed out, the ScannerManager class needs to be adapted, to derive from XScannerManager2. Further, I noted that when configureScannerAndScan in scanunx.cxx calls the SaneDlg constructor, it should pass listener.is() instead of (listener != NULL) for bScanEnabled. While the latter (happens to) work as well, the former is much cleaner and the preferred idiom when working with com::sun::star::uno::Reference. And finally, the scanwin.cxx case does not support the new feature at all, right? Then we should at least change the end of the changed line in that file from const uno::Reference lang::XEventListener rxListener ) to const uno::Reference lang::XEventListener ), to avoid warnings about unused parameters. Better yet, the button should be hidden. (Or even better yet, the new functionality should be implemented...) If you provide the missing XScannerManager2.idl, I can tweak the above issues in the patch for you, if you like. -Stephan ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: [Libreoffice] Fwd: Re: patch for scan-diialog
Hi, Here are 3 patches that together make the code for adding the scan-button to the sanedlg. These patches are submitted under the LGPLv3+/MPL-licence. M.V.G. Rob Snelders On 20-10-11 09:39, Stephan Bergmann wrote: On 10/19/2011 10:30 PM, Rob Snelders wrote: I tried to add the XScannerManager2. But when I try with this patch then the menu-items are disabled. I have tried to search where the problem was but I can´t find it. Can you help me? Hi Rob, The new file offapi/com/sun/star/scanner/XScannerManager2.idl is missing from the patch (I guess you did not git add it before you created the git diff). Then, as Markus already pointed out, the ScannerManager class needs to be adapted, to derive from XScannerManager2. Further, I noted that when configureScannerAndScan in scanunx.cxx calls the SaneDlg constructor, it should pass listener.is() instead of (listener != NULL) for bScanEnabled. While the latter (happens to) work as well, the former is much cleaner and the preferred idiom when working with com::sun::star::uno::Reference. And finally, the scanwin.cxx case does not support the new feature at all, right? Then we should at least change the end of the changed line in that file from const uno::Reference lang::XEventListener rxListener ) to const uno::Reference lang::XEventListener ), to avoid warnings about unused parameters. Better yet, the button should be hidden. (Or even better yet, the new functionality should be implemented...) If you provide the missing XScannerManager2.idl, I can tweak the above issues in the patch for you, if you like. -Stephan ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice From e000495fa09833d57f3897a4e08acc43df6f6e60 Mon Sep 17 00:00:00 2001 From: Rob Snelders programm...@ertai.nl Date: Wed, 19 Oct 2011 22:19:16 +0200 Subject: [PATCH] Added a scanbutton to the scan-dialog --- extensions/inc/pch/precompiled_extensions.hxx |1 + extensions/source/scanner/sanedlg.cxx | 16 ++-- extensions/source/scanner/sanedlg.hrc |1 + extensions/source/scanner/sanedlg.hxx |7 ++- extensions/source/scanner/sanedlg.src |7 +++ extensions/source/scanner/scanner.cxx | 10 -- extensions/source/scanner/scanner.hxx |3 ++- extensions/source/scanner/scanunx.cxx |9 +++-- extensions/source/scanner/scanwin.cxx |2 +- extensions/source/scanner/scn.component |4 ++-- offapi/UnoApi_offapi.mk |2 ++ sd/inc/pch/precompiled_sd.hxx |1 + sd/source/ui/inc/DrawViewShell.hxx|4 ++-- sd/source/ui/view/drviews8.cxx|2 +- sd/source/ui/view/drviewsa.cxx|4 ++-- sw/inc/pch/precompiled_sw.hxx |1 + sw/inc/swmodule.hxx |6 +++--- sw/source/ui/app/swmodule.cxx |8 sw/source/ui/uiview/uivwimp.cxx | 12 +++- sw/source/ui/uiview/view.cxx |4 ++-- 20 files changed, 74 insertions(+), 30 deletions(-) diff --git a/extensions/inc/pch/precompiled_extensions.hxx b/extensions/inc/pch/precompiled_extensions.hxx index 4582abb..abf2a4d 100644 --- a/extensions/inc/pch/precompiled_extensions.hxx +++ b/extensions/inc/pch/precompiled_extensions.hxx @@ -272,6 +272,7 @@ #include com/sun/star/resource/XResourceBundleLoader.hpp #include com/sun/star/scanner/ScannerException.hpp #include com/sun/star/scanner/XScannerManager.hpp +#include com/sun/star/scanner/XScannerManager2.hpp #include com/sun/star/script/ContextInformation.hpp #include com/sun/star/script/FailReason.hpp #include com/sun/star/script/FinishEngineEvent.hpp diff --git a/extensions/source/scanner/sanedlg.cxx b/extensions/source/scanner/sanedlg.cxx index 39b8862..acec566 100644 --- a/extensions/source/scanner/sanedlg.cxx +++ b/extensions/source/scanner/sanedlg.cxx @@ -48,16 +48,18 @@ ResId SaneResId( sal_uInt32 nID ) return ResId( nID, *pResMgr ); } -SaneDlg::SaneDlg( Window* pParent, Sane rSane ) : +SaneDlg::SaneDlg( Window* pParent, Sane rSane, sal_Bool bScanEnabled ) : ModalDialog( pParent, SaneResId( RID_SANE_DIALOG ) ), mrSane( rSane ), mbIsDragging( sal_False ), +mbScanEnabled( bScanEnabled ), mbDragDrawn( sal_False ), maMapMode( MAP_APPFONT ), maOKButton( this, SaneResId( RID_SCAN_OK ) ), maCancelButton( this, SaneResId( RID_SCAN_CANCEL ) ), maDeviceInfoButton( this, SaneResId( RID_DEVICEINFO_BTN ) ), maPreviewButton( this, SaneResId( RID_PREVIEW_BTN ) ), +maScanButton( this, SaneResId( RID_SCAN_BTN ) ), maButtonOption( this, SaneResId( RID_SCAN_BUTTON_OPTION_BTN ) ), maOptionsTxt( this, SaneResId( RID_SCAN_OPTION_TXT ) ), maOptionTitle( this,
Re: [Libreoffice] Fwd: Re: patch for scan-diialog
Hi Stephan, I tried to add the XScannerManager2. But when I try with this patch then the menu-items are disabled. I have tried to search where the problem was but I can´t find it. Can you help me? M.V.G. Rob Snelders On 13-10-11 16:59, Stephan Bergmann wrote: On 10/12/2011 06:32 PM, Rob Snelders wrote: Can somebody add this patch to the git? Hi Rob, sorry for stepping in so late, just apparently missed your great patch somehow. One thing I'm uneasy with is changing (published) XScannerManager.idl incompatibly. The standard routine for doing such API changes would be to introduce a new interface, say XScannerManager2 (that may or may not derive from XScannerManager, depending on what's more convenient) and a new method with another name there. This may appear a lot of work for dubious benefit (does anybody out there actually use the old interface, so would break?) -- which it is... Still, if you were happy with such a change (and I could lend you a helping hand latest next week when I'm back in Hamburg), that would keep us in line with our existing compatibility practice. So, if you do not object, I'll see to get this integrated with the proposed change (either if you do the change yourself, or else I can do it with a little more delay). Thanks a lot for your patience, -Stephan ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice From e000495fa09833d57f3897a4e08acc43df6f6e60 Mon Sep 17 00:00:00 2001 From: Rob Snelders programm...@ertai.nl Date: Wed, 19 Oct 2011 22:19:16 +0200 Subject: [PATCH] Added a scanbutton to the scan-dialog --- extensions/inc/pch/precompiled_extensions.hxx |1 + extensions/source/scanner/sanedlg.cxx | 16 ++-- extensions/source/scanner/sanedlg.hrc |1 + extensions/source/scanner/sanedlg.hxx |7 ++- extensions/source/scanner/sanedlg.src |7 +++ extensions/source/scanner/scanner.cxx | 10 -- extensions/source/scanner/scanner.hxx |3 ++- extensions/source/scanner/scanunx.cxx |9 +++-- extensions/source/scanner/scanwin.cxx |2 +- extensions/source/scanner/scn.component |4 ++-- offapi/UnoApi_offapi.mk |2 ++ sd/inc/pch/precompiled_sd.hxx |1 + sd/source/ui/inc/DrawViewShell.hxx|4 ++-- sd/source/ui/view/drviews8.cxx|2 +- sd/source/ui/view/drviewsa.cxx|4 ++-- sw/inc/pch/precompiled_sw.hxx |1 + sw/inc/swmodule.hxx |6 +++--- sw/source/ui/app/swmodule.cxx |8 sw/source/ui/uiview/uivwimp.cxx | 12 +++- sw/source/ui/uiview/view.cxx |4 ++-- 20 files changed, 74 insertions(+), 30 deletions(-) diff --git a/extensions/inc/pch/precompiled_extensions.hxx b/extensions/inc/pch/precompiled_extensions.hxx index 4582abb..abf2a4d 100644 --- a/extensions/inc/pch/precompiled_extensions.hxx +++ b/extensions/inc/pch/precompiled_extensions.hxx @@ -272,6 +272,7 @@ #include com/sun/star/resource/XResourceBundleLoader.hpp #include com/sun/star/scanner/ScannerException.hpp #include com/sun/star/scanner/XScannerManager.hpp +#include com/sun/star/scanner/XScannerManager2.hpp #include com/sun/star/script/ContextInformation.hpp #include com/sun/star/script/FailReason.hpp #include com/sun/star/script/FinishEngineEvent.hpp diff --git a/extensions/source/scanner/sanedlg.cxx b/extensions/source/scanner/sanedlg.cxx index 39b8862..acec566 100644 --- a/extensions/source/scanner/sanedlg.cxx +++ b/extensions/source/scanner/sanedlg.cxx @@ -48,16 +48,18 @@ ResId SaneResId( sal_uInt32 nID ) return ResId( nID, *pResMgr ); } -SaneDlg::SaneDlg( Window* pParent, Sane rSane ) : +SaneDlg::SaneDlg( Window* pParent, Sane rSane, sal_Bool bScanEnabled ) : ModalDialog( pParent, SaneResId( RID_SANE_DIALOG ) ), mrSane( rSane ), mbIsDragging( sal_False ), +mbScanEnabled( bScanEnabled ), mbDragDrawn( sal_False ), maMapMode( MAP_APPFONT ), maOKButton( this, SaneResId( RID_SCAN_OK ) ), maCancelButton( this, SaneResId( RID_SCAN_CANCEL ) ), maDeviceInfoButton( this, SaneResId( RID_DEVICEINFO_BTN ) ), maPreviewButton( this, SaneResId( RID_PREVIEW_BTN ) ), +maScanButton( this, SaneResId( RID_SCAN_BTN ) ), maButtonOption( this, SaneResId( RID_SCAN_BUTTON_OPTION_BTN ) ), maOptionsTxt( this, SaneResId( RID_SCAN_OPTION_TXT ) ), maOptionTitle( this, SaneResId( RID_SCAN_OPTIONTITLE_TXT ) ), @@ -88,6 +90,7 @@ SaneDlg::SaneDlg( Window* pParent, Sane rSane ) : maOptionBox( this, SaneResId( RID_SCAN_OPTION_BOX ) ), mpRange( 0 ) { +doScan = sal_False; if( Sane::IsSane() ) { InitDevices(); //
Re: [Libreoffice] Fwd: Re: patch for scan-diialog
Hello Rob, I only did a quick check but it seems that you are missing the implementation. I think you need to adjust scanner.hxx:64 and the corresponding parts in this class. Then I saw that you are still using sal_Bool. We try to switch to bool where it is possible that means in most places except uno related places. At least the newly introduced variables should be of type bool. Regards, Markus ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: [Libreoffice] Fwd: Re: patch for scan-diialog
On 10/12/2011 06:32 PM, Rob Snelders wrote: Can somebody add this patch to the git? Hi Rob, sorry for stepping in so late, just apparently missed your great patch somehow. One thing I'm uneasy with is changing (published) XScannerManager.idl incompatibly. The standard routine for doing such API changes would be to introduce a new interface, say XScannerManager2 (that may or may not derive from XScannerManager, depending on what's more convenient) and a new method with another name there. This may appear a lot of work for dubious benefit (does anybody out there actually use the old interface, so would break?) -- which it is... Still, if you were happy with such a change (and I could lend you a helping hand latest next week when I'm back in Hamburg), that would keep us in line with our existing compatibility practice. So, if you do not object, I'll see to get this integrated with the proposed change (either if you do the change yourself, or else I can do it with a little more delay). Thanks a lot for your patience, -Stephan ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: [Libreoffice] Fwd: Re: patch for scan-diialog
Thank you for the reply and the explenation. I'll try to make the changes next week. M.V.G. Rob Snelders On do 13 okt 2011 16:59:58 CEST, Stephan Bergmann wrote: On 10/12/2011 06:32 PM, Rob Snelders wrote: Can somebody add this patch to the git? Hi Rob, sorry for stepping in so late, just apparently missed your great patch somehow. One thing I'm uneasy with is changing (published) XScannerManager.idl incompatibly. The standard routine for doing such API changes would be to introduce a new interface, say XScannerManager2 (that may or may not derive from XScannerManager, depending on what's more convenient) and a new method with another name there. This may appear a lot of work for dubious benefit (does anybody out there actually use the old interface, so would break?) -- which it is... Still, if you were happy with such a change (and I could lend you a helping hand latest next week when I'm back in Hamburg), that would keep us in line with our existing compatibility practice. So, if you do not object, I'll see to get this integrated with the proposed change (either if you do the change yourself, or else I can do it with a little more delay). Thanks a lot for your patience, -Stephan ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
[Libreoffice] Fwd: Re: patch for scan-diialog
Can somebody add this patch to the git? Original Message Subject: Re: [Libreoffice] patch for scan-diialog Date: Thu, 06 Oct 2011 17:59:04 +0200 From: Rob Snelders r...@ertai.nl To: Miklos Vajna vmik...@frugalware.org CC: libreoffice@lists.freedesktop.org Here is the patch. M.V.G. Rob Snelders On 06-10-11 01:28, Miklos Vajna wrote: On Wed, Oct 05, 2011 at 09:57:43PM +0200, Rob Sneldersprogramm...@ertai.nl wrote: I created a patch for the scan-dialog for Linux. It allows to scan a image directly from the scan-dialog without needing to select first the dialog and then the request-menuitem. The patch is submitted under the LGPLv3+/MPL-licence. Forgot to attach the patch? ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice From 2e6180eb49ec4886550ea105cf7149d6ff307c3e Mon Sep 17 00:00:00 2001 From: Rob Snelders programm...@ertai.nl Date: Wed, 5 Oct 2011 21:52:08 +0200 Subject: [PATCH] Added a scan-button to the SaneDlg --- extensions/source/scanner/sanedlg.cxx | 12 +++- extensions/source/scanner/sanedlg.hrc |1 + extensions/source/scanner/sanedlg.hxx |4 extensions/source/scanner/sanedlg.src |7 +++ extensions/source/scanner/scanner.hxx |2 +- extensions/source/scanner/scanunx.cxx |7 ++- extensions/source/scanner/scanwin.cxx |2 +- offapi/com/sun/star/scanner/XScannerManager.idl |5 +++-- sd/source/ui/view/drviews8.cxx |2 +- sw/source/ui/uiview/uivwimp.cxx |6 -- 10 files changed, 39 insertions(+), 9 deletions(-) diff --git a/extensions/source/scanner/sanedlg.cxx b/extensions/source/scanner/sanedlg.cxx index 39b8862..2e55050 100644 --- a/extensions/source/scanner/sanedlg.cxx +++ b/extensions/source/scanner/sanedlg.cxx @@ -58,6 +58,7 @@ SaneDlg::SaneDlg( Window* pParent, Sane rSane ) : maCancelButton( this, SaneResId( RID_SCAN_CANCEL ) ), maDeviceInfoButton( this, SaneResId( RID_DEVICEINFO_BTN ) ), maPreviewButton( this, SaneResId( RID_PREVIEW_BTN ) ), +maScanButton( this, SaneResId( RID_SCAN_BTN ) ), maButtonOption( this, SaneResId( RID_SCAN_BUTTON_OPTION_BTN ) ), maOptionsTxt( this, SaneResId( RID_SCAN_OPTION_TXT ) ), maOptionTitle( this, SaneResId( RID_SCAN_OPTIONTITLE_TXT ) ), @@ -88,6 +89,7 @@ SaneDlg::SaneDlg( Window* pParent, Sane rSane ) : maOptionBox( this, SaneResId( RID_SCAN_OPTION_BOX ) ), mpRange( 0 ) { +doScan = sal_False; if( Sane::IsSane() ) { InitDevices(); // opens first sane device @@ -97,6 +99,7 @@ SaneDlg::SaneDlg( Window* pParent, Sane rSane ) : maDeviceInfoButton.SetClickHdl( LINK( this, SaneDlg, ClickBtnHdl ) ); maPreviewButton.SetClickHdl( LINK( this, SaneDlg, ClickBtnHdl ) ); +maScanButton.SetClickHdl( LINK( this, SaneDlg, ClickBtnHdl ) ); maButtonOption.SetClickHdl( LINK( this, SaneDlg, ClickBtnHdl ) ); maDeviceBox.SetSelectHdl( LINK( this, SaneDlg, SelectHdl ) ); maOptionBox.SetSelectHdl( LINK( this, SaneDlg, OptionsBoxSelectHdl ) ); @@ -476,13 +479,15 @@ IMPL_LINK( SaneDlg, ClickBtnHdl, Button*, pButton ) ReloadSaneOptionsHdl( NULL ); } } -if( pButton == maOKButton ) +if( pButton == maOKButton || pButton == maScanButton ) { double fRes = (double)maReslBox.GetValue(); SetAdjustedNumericalValue( resolution, fRes ); UpdateScanArea( sal_True ); SaveState(); EndDialog( mrSane.IsOpen() ? 1 : 0 ); +if (pButton == maScanButton) +doScan = sal_True; } else if( pButton == maCancelButton ) { @@ -1376,4 +1381,9 @@ sal_Bool SaneDlg::SetAdjustedNumericalValue( return sal_True; } +sal_Bool SaneDlg::getDoScan() +{ +return doScan; +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/extensions/source/scanner/sanedlg.hrc b/extensions/source/scanner/sanedlg.hrc index ca89312..1e468c9 100644 --- a/extensions/source/scanner/sanedlg.hrc +++ b/extensions/source/scanner/sanedlg.hrc @@ -62,6 +62,7 @@ #define RID_SCAN_BITMAP_MINUS 32 #define RID_SCAN_ADVANCED_BOX 33 #define RID_SCAN_ADVANCED_TXT 34 +#define RID_SCAN_BTN 35 #define RID_SANE_DEVICEINFO_TXT 1001 #define RID_SANE_SCANERROR_TXT 1002 diff --git a/extensions/source/scanner/sanedlg.hxx b/extensions/source/scanner/sanedlg.hxx index c3f72ea..a008655 100644 --- a/extensions/source/scanner/sanedlg.hxx +++ b/extensions/source/scanner/sanedlg.hxx @@ -65,6 +65,7 @@ private: CancelButtonmaCancelButton; PushButton maDeviceInfoButton; PushButton maPreviewButton; +PushButton maScanButton; PushButton maButtonOption; FixedText maOptionsTxt;