Re: Review Request 109604: Model to provide easy access to KWin's Clients from QML
On March 21, 2013, 10:06 p.m., Thomas Lübking wrote: kwin/scripting/scripting_model.cpp, line 190 http://git.reviewboard.kde.org/r/109604/diff/1/?file=120515#file120515line190 considered to keep m_clients and m_ids as hash/map or at least a pair (implicitly documenting this is assigned and has to be in sync) Martin Gräßlin wrote: Hash/Map do not work as I need the ordering of Clients and not of the ids Thomas Lübking wrote: It did not look like you'd require any particular order - if this is correct, you could just use Client* as keys. the ordering needs to be somewhat stable. Currently new Clients are only added to the list, that's what I mean with it needs ordering. But thinking about it: the ids should apply to this ordering constraint as whenever a new Client is added to the list, the new id will be larger than all existing ids. - Martin --- This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/109604/#review29660 --- On March 26, 2013, 10:35 a.m., Martin Gräßlin wrote: --- This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/109604/ --- (Updated March 26, 2013, 10:35 a.m.) Review request for kwin and Plasma. Description --- Model to provide easy access to KWin's Clients from QML A new ClientModel is added which provides multiple different views on KWin's Clients. The model is organized as a tree model supporting the following levels: * activities * virtual desktops * screens * none The levels can be ordered in whatever way one wants. That is the tree structure can have an ordering of activities then virtual desktops or the other way around. In addition the model provides Exclusion flags to exclude clients of certain types. E.g. it's possible to exclude all windows which are not on the current desktop or all windows which are of type dock. The model gets automatically updated whenever a Client is added/removed or changes a state in a way that it should be excluded/included. This is currently still rather limited, as some signals from KWin core are not yet available. Also the model does not yet react on screen, desktop and activity changes. The ClientModel is not directly exported to QML. Instead there are specific sub classes for certain common orderings. This solutions is chosen to workaround some limitations of QML. The initial idea was to use a property taking a list of the levels, but this doesn't work because we are not notified when the QDeclarativeListProperty changes. Currently the following models are provided to QML: * ClientModel - no restrictions * ClientModelByScreen - ordering by screen * ClientModelByScreenAndDesktop - screen, then desktop These can be used to get all Clients: ClientModel { } Or to get the classic Present Windows on current desktop: ClientModelByScreen { exclusions: ClientModel.OtherDesktopsExclusion | ClientModel.NotAcceptingFocusExclusion | ... } Or to get the classic Present Windows on all desktops: ClientModelByScreen { exclusions: ClientModel.NotAcceptingFocusExclusion | ... } Or our well known desktop grid: ClientModelByScreenAndDesktop { id: desktopGrid exclusions: ClientModel.NotAcceptingFocusExclusion | ... } To support filtering as known by the Present Windows effect one can use a ClientFilterModel, which is a QSortFilterProxyModel filtering on window caption, role and class: ClientFilterModel { id: filterModel clientModel: desktopGrid filter: filterItem.text } In case it's a tree level obviously QML does not support this correctly. So we need to use a VisualDataModel: VisualDataModel { id: clientModel model: filterModel Component.onCompleted: { clientModel.rootIndex = modelIndex(0); clientModel.rootIndex = modelIndex(0); clientModel.delegate = thumbnailDelegate; } } As we can see, the rootIndex has to be set to the level which contains the Clients. Also it seems to be important to create the delegate after the model index has been set. The idea is to have only one ClientModel and multiple VisualDataModels if multiple views on the data is needed. The model has been tested with a painful modeltest session. It looks good so far modulo the listed limitations and that modeltest is not liking closing Yakuake in the ClientModelByScreenAndDesktop setup, though it works fine in real world testing. Support saturation/brightness in ThumbnailItem Two new properties saturation and brightness are added to the ThumbnailItem which can be set from QML. The properties are honoured by the Scene when rendering the thumbnail.
Re: Meeting for Plasma Media Center - what next?
Plasma Media Center IRC meeting started at #plasma. Feel free to join into discussion. On Mon, Mar 25, 2013 at 12:05 AM, Shantanu Tushar Jha shant...@kde.org wrote: Including plasma active ML as well. On Sun, Mar 24, 2013 at 3:59 PM, Shantanu Tushar Jha shant...@kde.org wrote: Hi, I have created a doodle to decide the next steps for PMC. The link to the poll is: http://www.doodle.com/9mr7xs94qdzcg4ag . Please fill it out if you are interested in shaping PMC's future :) Cheers! -- Shantanu Tushar(UTC +0530) http://www.shantanutushar.com -- Shantanu Tushar(UTC +0530) http://www.shantanutushar.com ___ Active mailing list act...@kde.org https://mail.kde.org/mailman/listinfo/active -- http://www.sinny.in ___ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel
Re: FYI: Platform content discussion in Qt
On Tuesday, March 26, 2013 13:53:29 Alan Alpert wrote: import org.kde.plasma.components 1.0 as... and import the right set, but the ideal way is (if we are importing touch components) to have a set of just the components that are rewritten for touchscreen, while falling back to the common ones for everything else, that now we can't do, so we have the whole set installed two times and we change the import paths depending from the platform, and that's not optimal. If the selectors were implemented at a Qt or QML level, then you could easily apply them in your imports the same as you would in plasma packages. So that problem would be solved too. Yes, this would help. It would mean patching the QML parser itself which does the imports, but that's not rocket science. The imports issue is a bit bigger than this as we also need the ability to deny imports or change them based on runtime permissions (allowing some QML to access org.foo.screwWithTheFilesystem and others not, for instance) It would be nice to design a more complete solution for the weaknesses inherent in imports before we start organically adding incremental improvements? -- Aaron J. Seigo signature.asc Description: This is a digitally signed message part. ___ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel
Plasma Media Center IRC meeting log
Hi! Thanks to all for joining Plasma Media Center IRC meeting and making it productive :) Here is the summary of meeting: Things to be completed for Plasma Media Center 1.1 release: 1. Merging Fabian’s branch into master. It is related to code re-factoring which provides reusable media browsing components 2. Keyboard navigation for “All Music” mode 3. Youtube backend (watching only) 4. Video/Audio podcasts Release timeline: 4 months release cycle - 2.5 months development and 1.5 months bug fixes period Actions: 1. Wiki page for release schedule with date 2. Moving Plasma Media Center codebase from Playground to extragear Other features for subsequent releases: 1. DVB Tuner cards for TV 2. Optimization for Raspberry Pi 3. pmc-addons to make developers easier to write plugin for Plasma Media Center 4. Facebook integration (sharing photos etc) 5. Remote control for mobile devices Complete Plasma Media Center IRC meeting log : http://paste.kde.org/710744/ Thanks -- http://www.sinny.in ___ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel
Re: [Nepomuk] Nepomukcontroller rewritten in QML
Nicely done! I did a quick look over the code and you're still using QDBusConnection::sessionBus().interface()-isServiceRegistered which unfortunately is a blocking DBus call. You can however replace it with something like [...] Thanks a lot for the hint. I've change my code to use these async calls now and do the initialization inside the slot to avoid any problems. ___ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel
Re: [Nepomuk] Nepomukcontroller rewritten in QML
Awesome, Is it ready to give it another review? David ___ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel
Re: [Nepomuk] Nepomukcontroller rewritten in QML
Is it ready to give it another review? Yes it is, but please have a look at the nepomukcontroller-qml branch in kde-workspace as this is the codebase I like to git merge in about 2 weeks if no one is against it. The code base is the same as in my scratch repo, but the cmake part is a bit different to be able to build it together with the rest of kde-workspace. ___ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel
Re: [Nepomuk] Nepomukcontroller rewritten in QML
Nicely done, a few minor comments still, but a ship it! from me. Applet: Missing Messages.sh file This is needed to tell the translation mechanism to extract the messages in the i18n functions Copy this from another existing applet. Make sure you copy a version from an applet that already uses QML, such as the battery applet. You will need to update the file that says which .pot file to save to, this must match a specific naming scheme based on the applet name Dataengine: .desktop file says your license is BSD. All code says GPL. Missing Messages.sh file as above Migration: Maybe this will help? https://projects.kde.org/projects/extragear/network/telepathy/ktp-desktop-applets/repository/revisions/3103f62214852b4360527d055110c02e3d46430c ___ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel
Re: Review Request 109595: active-welcome plasmoid: use plasmacomponents ToolButton
--- This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/109595/#review29970 --- Ship it! Ship It! - Sebastian Kügler On March 21, 2013, 1:02 p.m., Michael Bohlender wrote: --- This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/109595/ --- (Updated March 21, 2013, 1:02 p.m.) Review request for Plasma. Description --- Replace ?mobilecomponents?.IconButton with PlasmaComponents.ToolButton I estimated the button size. they might seem visually smaller but the surface you can hit to trigger should be about the same. This is my fist patch to Plasma Active. I did not subscribe to the plasma list when I first tried to submit this to reviewboard. So sorry for the spam if this comes through twice. Diffs - applets/active-welcome/contents/code/welcome.qml cf49d2f Diff: http://git.reviewboard.kde.org/r/109595/diff/ Testing --- build + installed with kdesrc-build. viewed with plasmoidviewer could not test the video playback as that didn't work before either. Thanks, Michael Bohlender ___ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel
Re: Review Request 109773: New runner that translates words and sentences via Google Translate.
--- This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/109773/#review29972 --- Your diff is broken. This looks like a case that your branch is behind master. Run git rebase master and it should fix everything. - David Edmundson On March 27, 2013, 11:40 p.m., David Baum wrote: --- This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/109773/ --- (Updated March 27, 2013, 11:40 p.m.) Review request for Plasma. Description --- The Runner uses the Google Translate Homepage and supports all languages provided by Google. It doesn't use the API, because it's not free of charge. Diffs - applets/blackboard/plasma-applet-blackboard.desktop a3ed84e8f9d3ce16969e56b62d9e109e35a5565d applets/community/plasma-applet-opendesktop.desktop b95ad5cbb50bb9dfecf5fcf48e05ff92ba430ddf applets/microblog/plasma-applet-microblog.desktop 1567b28415112ff520fa8b7c7772a684085c4e08 applets/nowplaying/package/contents/ui/AlbumArt.qml 02c71dad102a60fd65828b250ce011bf5c1b87ef applets/nowplaying/package/contents/ui/CompactLayout.qml 4e3e05c17002189d7a61340a9510f64db234df3d applets/nowplaying/package/contents/ui/Controls.qml 6c2bc82eac1286ea78ce8bfe3c2ffde641edb59d applets/nowplaying/package/contents/ui/FullLayout.qml c559b164b7e09512790d16aa215cd0f4dca80fbe applets/nowplaying/package/contents/ui/MetadataPanel.qml 510abcee55bce0ce8b99431cb58dd72069c609f1 applets/nowplaying/package/contents/ui/Mpris2.qml d9ce4345f1fa3ab28d57151ec8af8abe6aa9269a applets/nowplaying/package/contents/ui/VLayout.qml 1e37b7f140eac070d1f7b04d17fcf81dcb31540c applets/social-news/plasma-applet-opendesktop-activities.desktop 6a2699c00df8d5563ecff0874007ac4a4c9ef32c applets/weather/package/metadata.desktop 134020412343820c94fb045a50c30dfa5c6eb54a applets/weatherstation/package/metadata.desktop 26318cd4f72aec13950a1198f13c31dac19c4dd3 dataengines/rememberthemilk/listsource.cpp 8483b0e52bdfb8dd9e6c8e3cae5371c8316702d3 libs/rtm/list.h 2a68e02bf09f92f879980fad543bacd7c9a87176 libs/rtm/list.cpp 46bc0d2d43bd2fdd3f88ec1bbb86e97f28558846 libs/rtm/session_p.h 1848baf461f42c444f45ca615d076c9350a61fbf libs/rtm/xmlreaders.cpp 4498100d952a90c987db9c6902f7a15225bad840 runners/CMakeLists.txt bb4b491b10e6fef8183a66f55f5d5832dd7bc41a runners/audioplayercontrol/CMakeLists.txt 62a43dca1c4896563ce1c268d0967ba983a23368 runners/audioplayercontrol/audioplayercontrolrunner.cpp 1ae97732842f9d70c0f891a86f3d77624919144e runners/audioplayercontrol/imageiconengine.h a67ca421eed032e512e695e86ff30bc9e1ec00c6 runners/audioplayercontrol/imageiconengine.cpp 48b27a3b5ed8825dcf554845302d02c73926fd34 runners/converter/converterrunner.cpp 2e04e2c1065c6e80d98615dc53c2197bd45d16bf runners/dictionary/plasma-runner-dictionary.desktop 5cbcab1ae7545bf4e557ea045e631423ded1ce0b runners/dictionary/plasma-runner-dictionary_config.desktop 7f35af914fcbf2441cf9e6da02f763699661fab5 runners/konsolesessions/konsolesessions.cpp 3b592d572a8fe529721c297e9cd33698b78db6b5 runners/translator/CMakeLists.txt PRE-CREATION runners/translator/plasma-runner-translator.desktop PRE-CREATION runners/translator/translator.h PRE-CREATION runners/translator/translator.cpp PRE-CREATION runners/translator/translatorjob.h PRE-CREATION runners/translator/translatorjob.cpp PRE-CREATION runners/youtube/CMakeLists.txt 639d40317116764c6c6afc8795b40a364851fe53 wallpapers/qmlwallpapers/plasma-wallpaper-qml.desktop 2dd687982ab1f0ede853d7337d7c2c4f42dd26db wallpapers/qmlwallpapers/wallpapers/animals/metadata.desktop c4027e1ae7aedd36261bc1ed2afe8c6b557c319e wallpapers/qmlwallpapers/wallpapers/haenau/metadata.desktop 9efc97ba527c29d2c53291dffde2ebb68a978839 wallpapers/qmlwallpapers/wallpapers/hunyango/metadata.desktop eea85d0074acde72e376d0c851e35dd2106dcf5f Diff: http://git.reviewboard.kde.org/r/109773/diff/ Testing --- Thanks, David Baum ___ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel