About the blinking amidock: There are two issues here 1) whenever the image in the amidock changes, the whole dock will flash (repaint). I have tried to get info on how to do it differently, but the knowledgable devs seem unavailable. 2) in some apps (like vacuum) there is a built in feature, that makes the SysTrayIcon (amidock icon) blink repeatedly under certain circumstances (incomming message to take an example). This should be fixable from within the app.
@Gerograph : I don't know if you still have problem with printing or FTP. But I just tested FTP and printing and it works well (I still replied you for printing). Now, FTP : -Did you click on the SQLite button to save before to upload to FTP ?
I have tested to synchronize an "Important note" (right side) and a "Schedule event" in bottom. and after to have setted my FTP server, to have save by clicking on SQLite Database button, it worked. I have 2 new files on my remote server
@Cha05e90 : I followed your advices and uploaded a new qdevelop without annoying messages. I use simple Exists() functions. Thank you.
@Alfkil : Nice to see you back :)
1) QProcess works well for StartDetached (I use it for my CutePiano) but I don't succeed to use Start (not a problem) and Execute(). For Execute() it works for little process but not for long ones. For example, in qflv2avi, I replaced the Start() by Execute() to be sure to wait for the end of the conversion before to release the program and the launched process never end if it's a big one (the same process, ffmpeg, from CLI is OK)
2) Right, for blinking, Facebook program updated the Systray icon for every Timer timeout(), removed => OK. Thank you Note that I had to add a SystrayWidget->hide() before to close to avoid systematic freeze.
When looking to the code of all these programs, I realize the huge work that you made !!!
@alfkil a good starting point, but how do you set up this one on Amiga? What we need is a tutorial on a) how to set up Dev Environment on AOS 4.1 b) infos on how to deal with Amiga specific things (if there are any?) c) infos on how to cope/workaround things which donnot work on Amiga d) infos on what qtlibs etc. we cannot use e) a small (linked ?) programming workshop on C++ including little Qt example
@zzd10h Printing: Works now... Quote:
Printing: I used native Amiga Font rendering. If you use default option (qt based font rendering), printout is great! I donnot have GRIM Reaper, when printing, all fine!
FTP: I'll give details later, but I am saving as txt file. In settings I chose ftp, therefore I donnot get SQL Buttons, I do get ftp upload and ftp download buttons. But I'll try SQLite syncing...
Menus: A bit annoying, when using native Menus, German "Umlauts" like ä,ü,ö,... will be replaced by some crippled characters. Guess, this is a localisation problem to be solved by alfkil...
I have just uploaded Facebook qt program on OS4Depot.
It's slow when it refreshs facebook pages (notices the blue horizontal progress bar in upper area) certainly because it uses Javascript. I noticed, with QtWeb, that when I disable Javascript it's really faster that with JS ON.
1) Do you have ideas to improve JS support in WebKit ? Just by curiosity...
2) And is it possible to remove the Console window output ? An option in Qt:Prefs ? Or something else ?
JS: I thought about throwing in hieronymous to give some idea of what is causing the slowdown. It is quite strange, because the only amiga specific code in the javascriptcore is a small sample reading the stack size.
Console garbage: I have used printf from time to time to debug, and I have maybe forgotten to remove a couple of these. Appart from that, Qt libs seem to use console as standard to print errors, which would be a pain to fix because there is no generalization. If you give me a print of the said output, I will see what is causing it and propose a solution.
By the way, the current libQtWebKit does NOT support html5, just to avoid confusion. When (if?) I do Qt5, it should solve this.
@gerograph
I started writing a tutorial, but was led astray, mostly because it seemed pointless given the the vast and very good documentation on qt-project.org. To answer a few of your q:
If you have installed the latest amiga-qt, you already have the dev env set up. If you want to have a glimpse into the process of building a qt app, go into examples, find one you like, run qmake on it then gmake. As simple as that. Look in the code to get an idea of how it works, it should be quite readable if you have a basic idea of object oriented coding. There are good c++ tutorials to be found on the net, so writing another one would be pointless.
As for amiga specifics: This depends on what you want to do. In general the goal of qt is to function equally well on all platforms. If you get going and get into trouble, ask here. As for supprted libs/modules, look in the qt: drawer under lib/ and plugins/.
@Alfkil Is the hieronymous from Corto works on your X1000 ?
Me, on mine, it doesn't work complaining about unsupported system...
For console debug, just test to start QtWeb or Facebook or even your qtBrowser example and you will see messages. For QtWeb or Facebook, there are no "cout" in the code.
HTML5 could be possible with Qt5 ? It will be marvellous, don't stop here please, continue ;)
@alfkill Thanx, I'll check... Where is "gmake" ? What does it do?
@zzd10h Maybe we did not do the same for "syncinc" qOrganizer? This is what I did:
1) Settings->FTP->Activate (and enter Server Infos/Data) 2) 2 more buttons appear (Upload + Download) 3) Enter some Data -> hit upload => message: "finished uploading" => a ".qOrganizer" directory can be found on ftp server including different subdirs and qOrganizer.db! 4) If I close the Program I get this: => message: "Unable to write schedule file" => message: "Unable to write To-Do list file" => message: "Unable to write.... file" (and so on) 5) When restarting qOrganizer, everything seems to be fine, however. Also closing the program works perfectly 6) hit download, I get an error message: => "File could not be downloaded. Listing directory failed.... no such file or directory.
I haven't tested hieronimous on X1000, so probably it doesn't work. But I know it works on my sam-flex.
About Execute(): I don't think the problem is the size of the executable, but rather the form of output it is giving. I will take a look at the code. EDIT: Execute() calls Start() and then ::waitForFinished(), which is just an IExec->Wait(SIGF_CHILD); It is very strange, if it doesn't work... It basically means, that the child process never sends the signal, or that the signal is swallowed somewhere else.
@gero
gmake is the unix'ified version of make. You need it because the qt make process needs unix path semantics. It is included in the native SDK, which you need, by the way, to utilize the qt sDK functionality.
For Execute(), it's not related to the size of the executable.
For example, for the same commands, first is very fast from CLI, second is longer (but works)
1) ffmpeg -i little.flv -f avi little.avi
2) ffmpeg -i big.flv -f avi big.avi
With QProcess::Execute()
1) OK, process starts, stop quick and all is fine
2) KO, process starts, but never stop. Therefore end signal is never sent back to the Qt program. I see in SysMon that the ffmpeg process is still active and never end.
From CLI, the sames commands works well.
If you want to test with a little and a big files,
I tried to obey to Scott's resume and tried to build at least some simple demo apps from the Qt archive. But, sadly, I can't seem to get anything builded.
1. There's no "ppc-amigaos-c++"/"ppc-amigaos-gcc" in my SDK. SOLVED by making appropiate soft links from "gcc" and "c++". 2. One after another "ld ..." from gmake fails, because it can't find something, first: "-lfreetype". SOLVED by downloading and installing the "libfreetype.lha" from OS4Depot. 3. Can't find "-lfontconfig", "-liconv", ... Huh?
I have a fresh install of the latest OS SDK, enriched with "freetype" (see above) and the changed "_signals" stuff. What am I missing?
I tried to obey to Scott's resume and tried to build at least some simple demo apps from the Qt archive. But, sadly, I can't seem to get anything builded. 1. There's no "ppc-amigaos-c++"/"ppc-amigaos-gcc" in my SDK. SOLVED by making appropiate soft links from "gcc" and "c++". 2. One after another "ld ..." from gmake fails, because it can't find something, first: "-lfreetype". SOLVED by downloading and installing the "libfreetype.lha" from OS4Depot. 3. Can't find "-lfontconfig", "-liconv", ... Huh?
And that is exactly the point, why we need a step-by-step dummy guide on howto...
sobjs: Well, there needs to be an instance of, or a softlink to, the relevant sobjs in the native SDK, eg. SDK:local/newlib/lib. You should be able to find the relevant .so files in sys:sobjs/.
Ok, I guess I should make that SDK tutorial on amiga specifics. Keep posting stuff that needs to be remedied, and I will update.
Ok, I have updated my tutorial file (which is actually in the archive). One thing I do not understand is the inability of your gmake to find ppc-amigaos-c++. Is it possible, that there is a new SDK release out, that I don't know of? In that case, some of your problems could be related to that. I would have to investigate to make the appropriate adjustments.
Ah, thanks. Copying/linking a bunch of sobjs from "SOBJS:" to "SDK:local/newlib/lib/" helped and, indeed, I were able to compile something!
But I *still* get complaints about:
ld: warning: libfreetype.so, needed by /qt/lib/libQtGui.so, not found (try using -rpath or -rpath-link)
ld: warning: libc.so, needed by /qt/lib/libQtGui.so, not found (try using -rpath or -rpath-link)
...despite the fact that they *are* there. Wrong version of libfreetype.so and libc.so or wrong combination of .a/.so-files, perhaps?
AFAIK I use the same SDK than you (53.20). Maybe my install is borked, but I don't think so, because all my other stuff (plain C, AmigaOS API and Reaction tools) compiles just nice and never has ever complained about something missing...maybe Guillaume has an idea or tip, what might be wrong...
First problem: I forgot to include a few files in the release because the make install doesn't include them. They are .qmake.vars and .qmake.cache in the root dir. You can find them in the repo on sourceforge or ask me over email.
Second: Apparently gmake doesn't use the amigaos path but rather the PATH envar. What you want to do is add
setenv PATH $PATH:/gcc/bin
to your user-startup.
EDIT: And thanks for your persistence, this is useful info for the comming update!
Has anyone got any experience with hieronymus? It crashes when it tries to interpret the samples from the qt demo browser... Maybe a shared object issue?