Well, Sune Vuorela and Luigi Toscano got on my back and I ended up re-doing the ungrab workaround the proper way, without the dependency on private headers, so yay! Try building master now.
Also, the debug build could explain the slowness. On 21 April 2015 at 03:49, Gregor Mi <codestr...@posteo.org> wrote: > Hi > > I found the following: After > include_directories(${Qt5QuickWidgets_PRIVATE_INCLUDE_DIRS}) > I added: > > ``` > list(LENGTH Qt5QuickWidgets_PRIVATE_INCLUDE_DIRS len) > message(STATUS "len = ${len}") > message(Qt5QuickWidgets_PRIVATE_INCLUDE_DIRS = > ${Qt5QuickWidgets_PRIVATE_INCLUDE_DIRS}) > ``` > > which outputs > > -- len = 8 > Qt5QuickWidgets_PRIVATE_INCLUDE_DIRS=/usr/include/qt5/QtNetwork/5.4.1/usr/include/qt5/QtNetwork/5.4.1/QtNetwork/usr/include/qt5/QtCore/5.4.1/usr/include/qt5/QtCore/5.4.1/QtCore/usr/include/qt5/QtGui/5.4.1/usr/include/qt5/QtGui/5.4.1/QtGui/usr/include/qt5/QtWidgets/5.4.1/usr/include/qt5/QtWidgets/5.4.1/QtWidgets > > Note, that '/usr/include/qt5/QtQuickWidgets' is missing in this list. I > wonder why. > > Earlier you asked if I use KF5 debug build: yes, I use debug build. > > Gregor > > On 20/04/15 16:59, Gregor Mi wrote: >> 1) private devel package is installed now, version 5.4.1 (with version 5.4.2 >> the required >> private header devel package is not available) >> 2) file exists: >> /usr/include/qt5/QtQuickWidgets/5.4.1/QtQuickWidgets/private/qquickwidget_p.h >> 3) make clean build on project >> 4) still this error: >> >> ``` >> [ 18%] [ 18%] Building CXX object >> src/CMakeFiles/kscreengenie.dir/KScreenGenieGUI.cpp.o >> Building CXX object >> src/CMakeFiles/kscreengenie.dir/KipiInterface/KSGKipiImageCollectionShared.cpp.o >> src/CMakeFiles/kscreengenie.dir/build.make:132: recipe for target >> 'src/CMakeFiles/kscreengenie.dir/KScreenGenieGUI.cpp.o' failed >> /home/gregor/dev/src/kscreengenie/src/KScreenGenieGUI.cpp:21:36: fatal error: >> private/qquickwidget_p.h: No such file or directory >> #include <private/qquickwidget_p.h> >> ^ >> compilation terminated. >> ``` >> >> Do I have to set some include paths? >> >> Gregor >> >> >> >> On 20/04/15 14:58, šumski wrote: >>> On Monday 20 of April 2015 14:22:02 Gregor Mi wrote: >>>> Hmm. Maybe I have to install another package to have >>>> QtQuickWidgets/private/qquickwidget_p.h ? Currently I these private-headers >>>> installed: >>>> >>>> http://wstaw.org/m/2015/04/20/plasma-desktopLJ1852.png Version 5.4.2 >>> >>> Needed package name on openSUSE is >>> libqt5-qtdeclarative-private-headers-devel. >>> As a rule, the names are libqt5-$upstreammodulename-[private-headers]-devel, >>> either explicitly, or via Provides. >>> >>> Cheers, >>> Hrvoje >>>> >>>> -------- Forwarded Message -------- >>>> Subject: Re: kscreengenie / was: Review Request 122763: KIPI cleanups >>>> Date: Mon, 20 Apr 2015 16:13:57 +0530 >>>> From: Boudhayan Gupta <m...@baloneygeek.com> >>>> To: Gregor Mi <codestr...@posteo.org> >>>> >>>> >>>> >>>> That private code is used to invoke a mouse release event in the GUI when >>>> the mouse is taken over by a QDrag (when dragging the screenshot image to >>>> Dolphin or some other app). I lifted the code from QtCreator. >>>> >>>> Without this, you must click inside the QQuickWidget at least once after >>>> dragging to send the mouse release event. >>>> >>>> On 20-Apr-2015 3:57 pm, "Gregor Mi" <codestr...@posteo.org >>>> <mailto:codestr...@posteo.org>> wrote: >>>> >>>> Why do you include private headers anyway? Are those supposed to be >>>> used? >>>> >>>> On 20/04/15 12:17, Gregor Mi wrote: >>>>> 0]gregor@catgroove:~> locate private/qquickwidget >>>>> /home/gregor/dev/kf5/_alt_src-2014-10-30_NOBACKUP_/qt5_OFF/qtbase/inc >>>>> lude/QtQuickWidgets/5.3.0/QtQuickWidgets/private/qquickwidget_p.h >>>>> 0]gregor@catgroove:~> >>>>> >>>>> ...only in some older directory. >>>>> >>>>> On 20/04/15 12:14, Boudhayan Gupta wrote: >>>>>> The private header doesn't even exist? >>>>>> >>>>>> On 20-Apr-2015 3:42 pm, "Gregor Mi" <codestr...@posteo.org >>>>>> <mailto:codestr...@posteo.org> <mailto:codestr...@posteo.org> >>>>>> <mailto:codestr...@posteo.org>> >>>>>> >>>>>> wrote: >>>>>> I have QT 5.4.2. >>>>>> >>>>>> /usr/include/qt5/QtQuickWidgets/qquickwidget.h >>>>>> >>>>>> On 20/04/15 11:49, Boudhayan Gupta wrote: >>>>>> > On my system it's at >>>>>> > /usr/include/qt/QtQuickWidgets/5.4.1/QtQuickWidgets/private/qq >>>>>> > uickwidget_p.h >>>>>> > >>>>>> > On 20 April 2015 at 15:09, Gregor Mi <codestr...@posteo.org >>>>>> > <mailto:codestr...@posteo.org> >>>>>> >>>>>> <mailto:codestr...@posteo.org> <mailto:codestr...@posteo.org>> >>> wrote: >>>>>> >> QT 5.4 >>>>>> >> >>>>>> >> Where should private/qquickwidget_p.h be located? >>>>>> >> >>>>>> >> On 20/04/15 11:24, Boudhayan Gupta wrote: >>>>>> >>> Builds on mine. >>>>>> >>> >>>>>> >>> This line is already in CMakeLists.txt: >>>>>> >>> >>>>>> >>> include_directories(${Qt5QuickWidgets_PRIVATE_INCLUDE_DIRS}) >>>>>> >>> >>>>>> >>> What's your Qt version? >>>>>> >>> >>>>>> >>> On 20 April 2015 at 14:52, Gregor Mi <codestr...@posteo.org >>>>>> >>> <mailto:codestr...@posteo.org> >>>>>> >>>>>> <mailto:codestr...@posteo.org> <mailto:codestr...@posteo.org>> >>> wrote: >>>>>> >>>> Hi, >>>>>> >>>> >>>>>> >>>> I am on a conference and only sporacially avaible. >>>>>> >>>> >>>>>> >>>> Latest master does not build: >>>>>> >>>> >>>>>> >>>> -- Configuring done >>>>>> >>>> -- Generating done >>>>>> >>>> -- Build files have been written to: >>>>>> >>>> /home/gregor/dev/src/kscreengenie/build Scanning >>>>>> >>>> dependencies of target kscreengenie_automoc [ 6%] >>>>>> >>>> Automatic moc for target kscreengenie >>>>>> >>>> Generating moc_CropScreenshotGrabber.cpp >>>>>> >>>> Generating moc_ImageGrabber.cpp >>>>>> >>>> Generating moc_KSGSendToMenu.cpp >>>>>> >>>> Generating moc_KScreenGenie.cpp >>>>>> >>>> Generating moc_KScreenGenieGUI.cpp >>>>>> >>>> Generating moc_KSGKipiImageCollectionSelector.cpp >>>>>> >>>> Generating moc_KSGKipiInterface.cpp >>>>>> >>>> Generating moc_X11ImageGrabber.cpp >>>>>> >>>> [ 6%] Built target kscreengenie_automoc >>>>>> >>>> [ 12%] Generating qrc_QmlResources.cpp >>>>>> >>>> Scanning dependencies of target kscreengenie >>>>>> >>>> [ 25%] [ 25%] Building CXX object >>>>>> >>>> src/CMakeFiles/kscreengenie.dir/Main.cpp.o Building CXX >>>>>> >>>> object src/CMakeFiles/kscreengenie.dir/ImageGrabber.cpp.o >>>>>> >>>> [ 31%] Building CXX object >>>>>> >>>> src/CMakeFiles/kscreengenie.dir/KScreenGenie.cpp.o [ 37%] >>>>>> >>>> Building CXX object >>>>>> >>>> src/CMakeFiles/kscreengenie.dir/KScreenGenieGUI.cpp.o >>>>>> >>>> /home/gregor/dev/src/kscreengenie/src/KScreenGenieGUI.cpp: >>>>>> >>>> 21:36: fatal error: private/qquickwidget_p.h: No such file >>>>>> >>>> or directory >>>>>> >>>> >>>>>> >>>> #include <private/qquickwidget_p.h> >>>>>> >>>> >>>>>> >>>> On 20/04/15 11:04, Boudhayan Gupta wrote: >>>>>> >>>>> Fixed: >>>>>> http://quickgit.kde.org/?p=kscreengenie.git&a=blobdiff&h=02026bc >>>>>> 154c80f7facb636a63da6ee4014e2a61a&hp=bb4907d8f56c651a6b9c868a3c0 >>>>>> 9e6e5f0f0d6cd&hb=8fd9ea2a22d4211cc90f6658d79323fa1c269a35&f=src% >>>>>> 2FKScreenGenie.cpp >>>>>> >>>>>> >>>>> I'm pre-emptively changing the image conversion code to >>>>>> >>>>> match that from KWin. On it now. >>>>>> >>>>> >>>>>> >>>>> On 20 April 2015 at 14:23, Boudhayan Gupta >>>>>> >>>>> <m...@baloneygeek.com <mailto:m...@baloneygeek.com> >>>>>> >>>>>> <mailto:m...@baloneygeek.com> <mailto:m...@baloneygeek.com>> >>>>>> wrote: >>>>>> >>>>>> I can confirm the cannot save image bug. I forgot I >>>>>> >>>>>> changed the CLI interface. >>>>>> >>>>>> >>>>>> >>>>>> Try kscreengenie --background --output filename (or -bo >>>>>> >>>>>> filename). This works. The bug is when the output is not >>>>>> >>>>>> specified, it tries to get the autosave filename and >>>>>> >>>>>> fails miserably. I'm fixing that now. >>>>>> >>>>>> >>>>>> >>>>>> I'm currently on IRC, if you're available. >>>>>> >>>>>> >>>>>> >>>>>> On 20 April 2015 at 14:03, Gregor Mi >>>>>> >>>>>> <codestr...@posteo.org <mailto:codestr...@posteo.org> >>>>>> >>>>>> <mailto:codestr...@posteo.org> <mailto:codestr...@posteo.org>> >>> wrote: >>>>>> >>>>>>> This is my output: >>>>>> >>>>>>> >>>>>> >>>>>>> Starting: >>>>>> >>>>>>> /home/gregor/dev/src/kscreengenie/build/src/kscreengeni >>>>>> >>>>>>> e >>>>>> >>>>>> --background aaaaa.png >>>>>> >>>>>> >>>>>>> kf5.kiconthemes: "Theme tree: (Oxygen)" >>>>>> >>>>>>> kf5.kjobwidgets: kuiserver found >>>>>> >>>>>>> klauncher not running... launching kdeinit >>>>>> >>>>>>> kdeinit5: preparing to launch 'libkdeinit5_klauncher' >>>>>> >>>>>>> kdeinit5: Launched KLauncher, pid = 5196, result = 0 >>>>>> >>>>>>> Qt: Session management error: networkIdsList argument is >>>>>> >>>>>>> NULL Connecting to deprecated signal >>>>>> >>>>>>> QDBusConnectionInterface::serviceOwnerChanged(QString,QS >>>>>> >>>>>>> tring,QString) kdeinit5: opened connection to :0 >>>>>> >>>>>>> kf5.kiconthemes: "Theme tree: (Oxygen)" >>>>>> >>>>>>> kf5.kinit.klauncher: KLauncher: launching new slave >>>>>> >>>>>>> "/home/gregor/dev/kf5/usr/lib64/plugins/kf5/kio/file.so" >>>>>> >>>>>>> with protocol= "file" >>>>>> >>>>>> args= >>>>>> >>>>>> >>>>>>> ("file", >>>>>> >>>>>>> "local:/run/user/1000/klauncherTJ5196.1.slave-socket", >>>>>> >>>>>>> "local:/run/user/1000/kscreengenieTJ5190.1.slave-socket >>>>>> >>>>>>> ") kdeinit5: Got EXEC_NEW >>>>>> >>>>>> '/home/gregor/dev/kf5/usr/lib64/plugins/kf5/kio/file.so' from >>>>>> launcher. >>>>>> >>>>>> >>>>>>> kdeinit5: preparing to launch >>>>>> >>>>>> '/home/gregor/dev/kf5/usr/lib64/plugins/kf5/kio/file.so' >>>>>> >>>>>> >>>>>>> kf5.kinit.klauncher: >>>>>> >>>>>>> "/home/gregor/dev/kf5/usr/lib64/plugins/kf5/kio/file.so >>>>>> >>>>>>> " >>>>>> >>>>>> (pid 5198) >>>>>> >>>>>> >>>>>>> up and running. >>>>>> >>>>>>> ERROR: "QImageWriter cannot write image: Device not >>>>>> >>>>>>> writable" ERROR: "Cannot save screenshot. Error while >>>>>> >>>>>>> writing file." *** Exited normally *** >>>>>> >>>>>>> >>>>>> >>>>>>> Gregor >>>>>> >>>>>>> >>>>>> >>>>>>> On 20/04/15 00:52, Boudhayan Gupta wrote: >>>>>> >>>>>>>> Hi Gregor, >>>>>> >>>>>>>> >>>>>> >>>>>>>>> Yes it is on mine. Startup time KSnapshot: instantly, >>>>>> >>>>>>>>> KScreenGenie: 1 >>>>>> >>>>>> second. And it >>>>>> >>>>>> >>>>>>>>> actually does not capture an image. The result is a >>>>>> >>>>>>>>> white rectangle. The >>>>>> >>>>>> mouse cursor is >>>>>> >>>>>> >>>>>>>>> included when the checkbox is checked, though. But >>>>>> >>>>>>>>> note that my KF5 build is >>>>>> >>>>>> about 1 - 2 >>>>>> >>>>>> >>>>>>>>> weeks old if this matters. >>>>>> >>>>>>>> >>>>>> >>>>>>>> This is extremely odd. This works just fine on my >>>>>> >>>>>>>> computer. >>>>>> >>>>>>>> >>>>>> >>>>>>>> FWIW the screenshots aren't taken using Qt code >>>>>> >>>>>>>> anymore, the image is captured by calling >>>>>> >>>>>>>> xcb_image_get_image() directly (the code is in >>>>>> >>>>>>>> X11ImageGrabber.cpp). This is for better control over >>>>>> >>>>>>>> multi-monitor setups (via KScreen, see the >>>>>> >>>>>>>> currenScreen grab code), and it's supposed to be >>>>>> >>>>>>>> *faster*, not slower. >>>>>> >>>>>>>> >>>>>> >>>>>>>> Does hitting the Take New Screenshot button result in a >>>>>> >>>>>>>> good image the second time? I'd also like it if you >>>>>> >>>>>>>> can run "kscreengenie --background filename.png" to >>>>>> >>>>>>>> see if the image is grabbed correctly in background >>>>>> >>>>>>>> mode. >>>>>> >>>>>>>> >>>>>> >>>>>>>> -- Boudhayan Gupta >>>>>> >>>>>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to >>>>>> unsubscribe << >> >>>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe >>>> << >> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<