Panorama


Thanks for the invite :). Maybe I'll visit there at some point.

Anyway, continuing work on the milky plugin, it now can fetch the database and handles all the signals, though not with full functionality. In any case, things are progressing again. I'm having trouble with declaring a type defined in a plugin usable in the QML. I have a QML_DECLARE_TYPE for it, but when I try to emit a signal with one as a parameter I get "QScriptEngine: Unable to handle unregistered datatype 'MessageType' when invoking handler of signal MilkyListener::message(MessageType)". The type is an enum for libmilky message types defined in the event listener class's public interface. I recall there being a similar problem before, but you handled it in some way I don't remember right now.
 
B-ZaR said:
Thanks for the invite :) . Maybe I'll visit there at some point.

Anyway, continuing work on the milky plugin, it now can fetch the database and handles all the signals, though not with full functionality. In any case, things are progressing again. I'm having trouble with declaring a type defined in a plugin usable in the QML. I have a QML_DECLARE_TYPE for it, but when I try to emit a signal with one as a parameter I get "QScriptEngine: Unable to handle unregistered datatype 'MessageType' when invoking handler of signal MilkyListener::message(MessageType)". The type is an enum for libmilky message types defined in the event listener class's public interface. I recall there being a similar problem before, but you handled it in some way I don't remember right now.
Wrap it in a QVariant.
 
Last edited by a moderator:
Pushed stuff to feature/libmilky-plugin branch. Currently the plugin can sync the database, react to every signal and message the library puts out and install PND's based on ID. Next I'm finalizing the signal/message interface, then add the application data model, and after that comes adding all the operations. I'll work on the MilkyTest UI as I go. So far so good. I'll have to clean up the code after I'm done :)
 
Continued with the plugin yesterday, got preliminary model with sorting/filtering to work and added a nice package list to the test UI. Didn't push the changes yet though. I'm reusing the code from ApplicationFilterModel/Methods, as it seems to work with little changes in package management as well.

One curious bit is that if I set a ListView's model to be sorted by title, it's not when the application first starts. It only gets sorted after the model is refreshed (database is synced). I'm guessing the filter isn't updated correctly after the initial database fetching. Anyway, I'm planning on continuing today and hopefully I'll have something to show before the end of the week.
 
Fixed the above bug today, also worked on status/category filtering and the milkytest UI. Tomorrow it's probably time to work on installing/removing stuff.
 
Added install dialogs, download indicators and stuff. Found a bug in PND crawling. Will probably look into it tomorrow evening.
 
Is this eventually supposed to run like xfce, so that it has a taskbar for example? What I really do not like about minimenu is the feeling of being alone in outer space after launching a windowed program.
(...or will a panorama in "standbymode" still eat too much cycles? Excuse me if it already works like that. I'm not sure i have the latest build installed)
 
First, IIRC there's an option in minimenu to not kill it when starting a program.

We have discussed window management and task switching functions. My personal goal is that 99% of what I do with my pandora would not require me to leave panorama, and that includes multitasking.

In background panorama takes near-zero CPU (for a well-behaving UI), but some memory.

The latest PND build was 0.1.2 released around two weeks ago.
 
dflemstr: I think we should change from our pandora-libraries fork to match the structure of libpnd's git, so we can pull changes directly. The bug in libmilky-plugin I mentioned yesterday is because we're using an old version of libpnd, and patching our current system with stuff intended for the libpnd git is a bit of a chore. I can do this, I just want to clear this with you first since you've done quite a few changes to pandora-libraries IIRC.
 
Roger that. I think we should still have our own fork for adding panorama build stuff and other patches not intended upstream, but it should have a remote to libpnd master branch so we can also get upstream changes from there. Another possiblity is to just add the main libpnd git as a subproject and handle building like I've done with libmilky and libjansson, but IMO that would be an inferior solution.

Is there any smart way of making use of the existing pandora-libraries git, or should I just put up a new one?
 
You can replace the old repository by cloning mainline pandora-libraries and doing "git remote add origin <your pandora-libraries>" and then "git push origin +master" to overwrite the master branch.
 
Now live at bzar/pandora-libraries/master and bzar/panorama/feature/libmilky-plugin. It doesn't compile the tools now, but we don't use them, do we? I applied the change to the feature branch for now as it's mostly needed there.

EDIT: And to report, milky-plugin and MilkyTest UI now install and remove stuff without a hitch, upgrade is implemented on the backend but needs a nice dialog with progress bars and such.
 
Tried the above version on a pandora, applications-plugin crashes in scanPnds to a segfault when converting a char* to a QString. Could also be a build bug, but stuff seems to work on desktop.
 
Fixed (hackishly) the scanPnds-bug, apparently the previewpic 2 pointer is sometimes invalid. Looking into this to fix properly.
Switched panorama-pnd to use a newer Qt 4.7.3 build.

Did a small video of MilkyTest UI due to public demand (progressbar looks washed out because of the contrast and the N900 cell cam):
[media]http://www.youtube.c...h?v=NvTiGr3VDxg[/media]
 
Last edited by a moderator:
Man, that's already leagues better than the PNDstore GUI! I'm glad other people are advancing repo interfaces now, because I know so little about GUI development, while having so many other things to do. Keep up the good work!
 
Thanks :). I'm planning on incorporating MilkyTest UI to Tabbed after the plugin is complete with some enhancements like game control support. There's just so much to do in panorama it's sometimes hard to prioritize. :p
 
Finally nailed the preview pic 2 bug and remove bug. Both resulted from the same problem. Basically there were several versions of libpnd linked to plugins, and they didn't get along that well. Everything went back to normal after I switched libpnd to being a shared library instead of a static one. I'll have to tinker a bit with the build process to keep everything nice and usable on the desktop side, but at least that's cleared. Thanks to Cloudef and Skeezix for their trouble couldn't have done it without you :).
 
Back
Top