<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>www.GuidoDiepen.nl &#187; registry</title>
	<atom:link href="http://www.guidodiepen.nl/tag/registry/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.guidodiepen.nl</link>
	<description>Personal Blog of Guido Diepen</description>
	<lastBuildDate>Sun, 06 Jun 2010 20:54:39 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>New feature in SynCE-KPM: Registry Viewer</title>
		<link>http://www.guidodiepen.nl/2010/04/new-feature-in-synce-kpm-registry-viewer/</link>
		<comments>http://www.guidodiepen.nl/2010/04/new-feature-in-synce-kpm-registry-viewer/#comments</comments>
		<pubDate>Mon, 05 Apr 2010 12:59:52 +0000</pubDate>
		<dc:creator>guido</dc:creator>
				<category><![CDATA[PyQT4]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[SynCE]]></category>
		<category><![CDATA[ActiveSync]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[registry]]></category>
		<category><![CDATA[SynCE-KPM]]></category>

		<guid isPermaLink="false">http://www.guidodiepen.nl/?p=150</guid>
		<description><![CDATA[<p>After some final coding last night, I finally finished the new feature for SynCE-KPM: viewing the registry of your device via SynCE-KPM.</p>
<p>Currently, the feature is only available in the SVN version of SynCE-KPM (which depends on the SVN version of librapi2). However, we are currently thinking about releasing the 0.15 version of SynCE, which would [...]]]></description>
			<content:encoded><![CDATA[<p>After some final coding last night, I finally finished the new feature for SynCE-KPM: viewing the registry of your device via SynCE-KPM.</p>
<p>Currently, the feature is only available in the SVN version of SynCE-KPM (which depends on the SVN version of librapi2). However, we are currently thinking about releasing the 0.15 version of SynCE, which would contain this new feature. As soon as more information about the new release is available, you will also see that on my website.</p>
<p>To show the new feature in this version, I decided to create another screencast. While the previous screencast did show a lot, it was relatively boring due to the fact that there was no sound at all. Therefore, I decided to add a voice over to this new screencast, explaining everything in a bit more detail. In the screencast I do not show all features related to the syncing part (via sync-engine) again, because this takes quite some time and this has already been shown in my previous screencast. In the current screencast, sync-engine is not running and only the device management capabilities of SynCE-KPM are shown.</p>
<p>The screencast:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/lmY-qNXnavk&amp;hl=en_US&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="640" height="385" src="http://www.youtube.com/v/lmY-qNXnavk&amp;hl=en_US&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Of course, you can still view the old screencast if you would like to see the display the status of an ongoing sync-process, or installing a CAB file onto your device. This old screencast is in the <a title="Lost screencast of SynCE-KPM in action" href="http://www.guidodiepen.nl/2008/11/the-lost-screencast-of-synce-kpm-in-action/" target="_self">Lost screencast</a> post on my website. Please note, that this old screencast is without any sound.</p>
<p>When you have the feature of viewing the contents of the registry, of course the next question is to be able to edit the contents of the registry. This is what I see as the next feature to implement in SynCE-KPM, though at the moment I don&#8217;t know when I will have time for this. As with this currently implemented new feature, whenever I have time, I will start working on it <img src='http://www.guidodiepen.nl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>If you have any questions, suggestions, etc, please leave a post or send me an email.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.guidodiepen.nl/2010/04/new-feature-in-synce-kpm-registry-viewer/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Towards remote registry editor within SynCE-KPM</title>
		<link>http://www.guidodiepen.nl/2009/09/towards-remote-registry-editor-within-synce-kpm/</link>
		<comments>http://www.guidodiepen.nl/2009/09/towards-remote-registry-editor-within-synce-kpm/#comments</comments>
		<pubDate>Tue, 01 Sep 2009 18:08:28 +0000</pubDate>
		<dc:creator>guido</dc:creator>
				<category><![CDATA[PyQT4]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[SynCE]]></category>
		<category><![CDATA[QAbstractItemModel]]></category>
		<category><![CDATA[qmodelindex]]></category>
		<category><![CDATA[QTreeView]]></category>
		<category><![CDATA[registry]]></category>
		<category><![CDATA[SynCE-KPM]]></category>

		<guid isPermaLink="false">http://www.guidodiepen.nl/?p=102</guid>
		<description><![CDATA[<p>The last couple of weeks I have been working on the basics for a remote registry under linux for windows mobile devices.</p>
<p>I would like to include this as a new feature within SynCE-KPM, and because this is written in PyQt4, the addition needed to be in PyQt4 also. This meant investigating the MVC concept within [...]]]></description>
			<content:encoded><![CDATA[<p>The last couple of weeks I have been working on the basics for a remote registry under linux for windows mobile devices.</p>
<p>I would like to include this as a new feature within SynCE-KPM, and because this is written in PyQt4, the addition needed to be in PyQt4 also. This meant investigating the MVC concept within Qt4, with the QAbstractItemModel, QModelIndex, and QTreeView (at least for the hierarchical folder structure on the left part of the remote registry editor).</p>
<p>After lots and lots of fighting with the QAbstractItemModel and QModelIndex, I think I have finally understood howto succesfully use them together in order to show a nice treeview structure in the QTreeView widget.</p>
<p>One part that caused me a lot of headaches is what the exact role of the QModelIndex is and how exactly to use these. The problem is that you are not allowed to save them in some dictionary, because they are considered to be volatile. Eventually, with some reading of the Qt website I found out how, given a particular registry key within my own backend registry storage classes (that gets its data eventually from the device), I can create the correct QModelIndex that can be used by the model.</p>
<p>In the end the QModelIndex turned out to be not that difficult, because it basically is only a small holding object, that contains a reference to the actual underlying data that I can access via the internalPointer() method. Another way is to use the internalId() method, but that would require me to keep my own dictionary from internalId to the actual data objects. My first thought, that this QModelIndex needs to contain all information about parents etc, turned out to be false: the QModelIndex just queries the model again for parent information.</p>
<p>Most of the times, when looking back after lots and lots of investigating and frustration, the concept and howto actually use it turn out to be relatively simple <img src='http://www.guidodiepen.nl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>The prototype I have at the moment is not yet integrated within SynCE-KPM, it is just a separate program at the moment. Furthermore, it does not show any of the values within the registry just yet, only the structure of the keys are shown via a tree within the QTreeView. I have made a small screencast which you can see below:<br />
<object width="425" height="344" data="http://www.youtube.com/v/a4w1BKmC63w&amp;hl=nl&amp;fs=1" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/a4w1BKmC63w&amp;hl=nl&amp;fs=1" /><param name="allowfullscreen" value="true" /></object></p>
<p>For the moment you have to take my word that the data shown is actually taken realtime from the device and is not hardcoded in my program <img src='http://www.guidodiepen.nl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  One thing that I still like to solve is the issue that can be seen towards the end of the video: clicking on HKEY_CLASSES_ROOT takes a really long time before anything is actually shown. My current idea to &#8217;solve&#8217; this is to give all nodes by default one virtual child key with the name &#8220;Fetching&#8230;&#8221;</p>
<p>When the user expands a node, he will first see the &#8220;Fetching&#8230;&#8221; childkey being displayed. At the same time Synce-KPM will be retrieving the data from the device. After all sub-keys have been retrieved, they will be shown and the &#8220;Fetching&#8230;&#8221; childkey will then be removed.</p>
<p>I have tried implementing the above approach within the current prototype program, but this resulted in a lot of segmentation faults that I could not place. I am not sure what is causing this issue, but it appears that the segfaults are caused when I both delete the &#8220;Fetching&#8230;&#8221; childkey and add the actual childkeys all within the code that handles the the node-expand signal. My guess (well, hope <img src='http://www.guidodiepen.nl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ) is that in the final SynCE-KPM version this should not be a problem: because of the two separated processes (GUI and dataserver) I can ensure that I am only doing either deletion, or adding, but not both.</p>
<p>Still todo are:</p>
<ul>
<li>Include within SynCE-KPM (instead of separate program)</li>
<li>Create a listview for the values that are stored the selected key</li>
<li>Add possibility of not only viewing the registry, but also modifying <img src='http://www.guidodiepen.nl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.guidodiepen.nl/2009/09/towards-remote-registry-editor-within-synce-kpm/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Possible new feature for SynCE-KPM: Remote Registry editor</title>
		<link>http://www.guidodiepen.nl/2009/08/possible-new-feature-for-synce-kpm-remote-registry-editor/</link>
		<comments>http://www.guidodiepen.nl/2009/08/possible-new-feature-for-synce-kpm-remote-registry-editor/#comments</comments>
		<pubDate>Tue, 04 Aug 2009 18:32:26 +0000</pubDate>
		<dc:creator>guido</dc:creator>
				<category><![CDATA[PyQT4]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[SynCE]]></category>
		<category><![CDATA[editor]]></category>
		<category><![CDATA[feature]]></category>
		<category><![CDATA[registry]]></category>
		<category><![CDATA[remote]]></category>
		<category><![CDATA[SynCE-KPM]]></category>

		<guid isPermaLink="false">http://www.guidodiepen.nl/?p=94</guid>
		<description><![CDATA[<p>Now that the moving is almost finished and I have a bit of spare time again, I would like to work a bit more on implementing new things for SynCE-KPM. A lot of people have asked me in the beginning to create a file-browser within SynCE-KPM, though I think that programs like Nautilus are far [...]]]></description>
			<content:encoded><![CDATA[<p>Now that the moving is almost finished and I have a bit of spare time again, I would like to work a bit more on implementing new things for SynCE-KPM. A lot of people have asked me in the beginning to create a file-browser within SynCE-KPM, though I think that programs like Nautilus are far more suited for this purpose. I have had some ideas about this, and although I am not very much in favor of this, there might still be possibilities to implement this.</p>
<p>One thing I am looking at right now is a remote registry editor within SynCE-KPM that allows you to edit the registry of your device. For this to work I first have to add some additional functionality to the python bindings of the RAPI2 library, which I am working on right now. One of the things I would like to implement is a registry key rename function: Unfortunately, by design you cannot just change a key name; to rename a registry key you must first copy the whole key recursively to the new name and then delete the old key. If somebody does know a better way for doing this for Windows Mobile devices via RAPI, please let me know, really interested in this.</p>
<p>When all the work on the python bindings of librapi2 is finished, I can start working on the QTreeView/QListView stuff that must be added to SynCE-KPM. At the moment really reading into everything that is needed to be able to show the end-user a nice view of the registry on the device.</p>
<p>If you have any other ideas that could be nice additions for SynCE-KPM, please let me know via a comment.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.guidodiepen.nl/2009/08/possible-new-feature-for-synce-kpm-remote-registry-editor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
