<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7893207765857027452</id><updated>2026-06-05T01:26:35.828-07:00</updated><category term="Qt"/><category term="C++"/><category term="Snippet"/><category term="Android"/><category term="C"/><category term="Linux"/><category term="Tutorial"/><category term="QML"/><category term="Java"/><category term="Tips and Tricks"/><category term="Windows"/><category term="Visual Studio"/><category term="Graphics"/><category term="Javascript"/><category term="Eclipse"/><category term="External Resources"/><category term="Git"/><category term="SVN"/><category term="Subversion"/><category term="Blogger"/><category term="Google Maps"/><category term="Google Sites"/><category term="HTML"/><category term="Joomla"/><category term="MS-DOS"/><category term="PHP"/><category term="Qt Installer Framework"/><category term="SQL"/><title type='text'>FalsinSoft</title><subtitle type='html'>Wise is he who knows he doesn&#39;t know</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://falsinsoft.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://falsinsoft.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>107</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7893207765857027452.post-3540517542779723897</id><published>2024-10-25T14:00:00.000-07:00</published><updated>2024-10-25T14:00:01.739-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++"/><category scheme="http://www.blogger.com/atom/ns#" term="Qt"/><title type='text'>Get local active IP address</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhML4qPJtIjcX2ZSDjyknm6_TMfYBOm80FVNydaKpDg4Y_2x4S2x50rwFz3rh3PVZvVt8Ve0e8QT3vXRClbYogFKUcO8JXwGcsb438D2OciPn31KOvN-pPgLVAOhZelVmJ1BQkYf7N4Ml5dwIfgblem1Kn1awASZUEc_tovKuwgp7rz8lsrWnEeGwv_a-o/s200/qt_logo_mini.png&quot; style=&quot;clear: left; display: block; float: left; margin-bottom: 1em; margin-right: 1em; padding: 1em 0px; text-align: center;&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; data-original-height=&quot;200&quot; data-original-width=&quot;200&quot; height=&quot;128&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhML4qPJtIjcX2ZSDjyknm6_TMfYBOm80FVNydaKpDg4Y_2x4S2x50rwFz3rh3PVZvVt8Ve0e8QT3vXRClbYogFKUcO8JXwGcsb438D2OciPn31KOvN-pPgLVAOhZelVmJ1BQkYf7N4Ml5dwIfgblem1Kn1awASZUEc_tovKuwgp7rz8lsrWnEeGwv_a-o/w200-h200/qt_logo_mini.png&quot; width=&quot;128&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;The active IP address would be the one actually used to communicate on the network. In most cases a PC has the ethernet port used as primary and the wifi network used as secondary (or vice versa). If you switch from one to the other you create a situation where both network devices have a valid IP but only one of the two is actually used based on the active connection at that time.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;span&gt;&lt;/span&gt;&lt;a href=&quot;http://falsinsoft.blogspot.com/2024/10/get-local-active-ip-address.html#more&quot;&gt;Read more »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://falsinsoft.blogspot.com/feeds/3540517542779723897/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://falsinsoft.blogspot.com/2024/10/get-local-active-ip-address.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/3540517542779723897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/3540517542779723897'/><link rel='alternate' type='text/html' href='http://falsinsoft.blogspot.com/2024/10/get-local-active-ip-address.html' title='Get local active IP address'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhML4qPJtIjcX2ZSDjyknm6_TMfYBOm80FVNydaKpDg4Y_2x4S2x50rwFz3rh3PVZvVt8Ve0e8QT3vXRClbYogFKUcO8JXwGcsb438D2OciPn31KOvN-pPgLVAOhZelVmJ1BQkYf7N4Ml5dwIfgblem1Kn1awASZUEc_tovKuwgp7rz8lsrWnEeGwv_a-o/s72-w200-h200-c/qt_logo_mini.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7893207765857027452.post-8276006119627227720</id><published>2020-07-11T12:13:00.000-07:00</published><updated>2020-07-11T12:13:13.149-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++"/><category scheme="http://www.blogger.com/atom/ns#" term="Qt"/><title type='text'>QWebSocket synchronous communication</title><content type='html'>&lt;div class=&quot;separator&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;200&quot; data-original-width=&quot;200&quot; height=&quot;128&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXI9hyphenhyphenD-aqVD24k5hVd-fBVxxuziFpwLbIEIpN01jxx9l4qR1C8MletWDbSVgBozzovw6SPeqDD5Y6a-Iq3D6iiTsar7KzNin-3rxAReiz9qAthr_KlmEfQ0oHMWFJ55lM_fbP1ZZfk_U/w128-h128/qt_logo_mini.png&quot; width=&quot;128&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;QWebSocket can send or receive packet with text or binary contents. As all other Qt components everything works asynchronously. However, there may be cases where it is necessary to work asynchronously waiting for the reply to a given message before moving on. Here an example for a synchronous communication that you can use in your project.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;&lt;a href=&quot;http://falsinsoft.blogspot.com/2020/07/qwebsocket-synchronous-communication.html#more&quot;&gt;Read more »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://falsinsoft.blogspot.com/feeds/8276006119627227720/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://falsinsoft.blogspot.com/2020/07/qwebsocket-synchronous-communication.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/8276006119627227720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/8276006119627227720'/><link rel='alternate' type='text/html' href='http://falsinsoft.blogspot.com/2020/07/qwebsocket-synchronous-communication.html' title='QWebSocket synchronous communication'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXI9hyphenhyphenD-aqVD24k5hVd-fBVxxuziFpwLbIEIpN01jxx9l4qR1C8MletWDbSVgBozzovw6SPeqDD5Y6a-Iq3D6iiTsar7KzNin-3rxAReiz9qAthr_KlmEfQ0oHMWFJ55lM_fbP1ZZfk_U/s72-w128-h128-c/qt_logo_mini.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7893207765857027452.post-5714749796818354225</id><published>2019-10-22T13:21:00.001-07:00</published><updated>2019-10-22T13:21:46.708-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="QML"/><category scheme="http://www.blogger.com/atom/ns#" term="Qt"/><title type='text'>QML: Emboss effect</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;
&lt;img border=&quot;0&quot; data-original-height=&quot;100&quot; data-original-width=&quot;100&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoJzR7hjVs92FqZlNi1d2UPu8UVv1VEYrXMVfWk3Ge6WbaDa1mUsRA7h88Hk9T01BEXHKPfb8mjly7kWCEHikIdsmZWxzhn8RQd1sar34nFNXzo1Es04T_tACo5JDy9kXto7-JkdmeBqw/s1600/qml_icon.png&quot;&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
QML have some components allowing to draw a shadow over an item. The InnerShadow draw a shadow only in one side of the item, but for have the emboss effect we need to habe both sides with light/dark color. The solution is very simple, use two InnerShadow combined.&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;a href=&quot;http://falsinsoft.blogspot.com/2019/10/qml-emboss-effect.html#more&quot;&gt;Read more »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://falsinsoft.blogspot.com/feeds/5714749796818354225/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://falsinsoft.blogspot.com/2019/10/qml-emboss-effect.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/5714749796818354225'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/5714749796818354225'/><link rel='alternate' type='text/html' href='http://falsinsoft.blogspot.com/2019/10/qml-emboss-effect.html' title='QML: Emboss effect'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoJzR7hjVs92FqZlNi1d2UPu8UVv1VEYrXMVfWk3Ge6WbaDa1mUsRA7h88Hk9T01BEXHKPfb8mjly7kWCEHikIdsmZWxzhn8RQd1sar34nFNXzo1Es04T_tACo5JDy9kXto7-JkdmeBqw/s72-c/qml_icon.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7893207765857027452.post-5371754996023394988</id><published>2019-03-12T14:41:00.000-07:00</published><updated>2019-03-13T13:29:34.975-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="QML"/><category scheme="http://www.blogger.com/atom/ns#" term="Qt"/><category scheme="http://www.blogger.com/atom/ns#" term="Snippet"/><title type='text'>QML: CheckBox and RadioButton with description field</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;
&lt;img border=&quot;0&quot; data-original-height=&quot;100&quot; data-original-width=&quot;100&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoJzR7hjVs92FqZlNi1d2UPu8UVv1VEYrXMVfWk3Ge6WbaDa1mUsRA7h88Hk9T01BEXHKPfb8mjly7kWCEHikIdsmZWxzhn8RQd1sar34nFNXzo1Es04T_tACo5JDy9kXto7-JkdmeBqw/s1600/qml_icon.png&quot;&gt;&lt;/div&gt;
&lt;br&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Restarting from &lt;a href=&quot;https://falsinsoft.blogspot.com/2018/12/qml-checkbox-and-radiobutton-with-word.html&quot; target=&quot;_blank&quot;&gt;this&lt;/a&gt; post explaining how to add the word wrap feature to the CheckBox and RadioButton controls here will propose to add a description field under the main control text. This will be useful to give a short explanation concerning the use of the control itself.&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;
&lt;a href=&quot;http://falsinsoft.blogspot.com/2019/03/qml-checkbox-and-radiobutton-with.html#more&quot;&gt;Read more »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://falsinsoft.blogspot.com/feeds/5371754996023394988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://falsinsoft.blogspot.com/2019/03/qml-checkbox-and-radiobutton-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/5371754996023394988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/5371754996023394988'/><link rel='alternate' type='text/html' href='http://falsinsoft.blogspot.com/2019/03/qml-checkbox-and-radiobutton-with.html' title='QML: CheckBox and RadioButton with description field'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoJzR7hjVs92FqZlNi1d2UPu8UVv1VEYrXMVfWk3Ge6WbaDa1mUsRA7h88Hk9T01BEXHKPfb8mjly7kWCEHikIdsmZWxzhn8RQd1sar34nFNXzo1Es04T_tACo5JDy9kXto7-JkdmeBqw/s72-c/qml_icon.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7893207765857027452.post-8822761842071116758</id><published>2019-01-14T14:08:00.000-08:00</published><updated>2019-01-14T14:08:14.308-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Git"/><category scheme="http://www.blogger.com/atom/ns#" term="Tips and Tricks"/><title type='text'>Git on Windows and custom SSL proxy certificate problem</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;
&lt;img border=&quot;0&quot; data-original-height=&quot;383&quot; data-original-width=&quot;383&quot; height=&quot;128&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJFex31LTNXN47s_u84keNNMlKtIO_V3FDwzyphzB9xP2vLRUh_B4feI1o8RYB8vpRRd4ESO9_bfsnhv0MhlHjddDLjGTI8_q90pCvwYdr3bjtz2z3i4WHTs4Hc27r-LhTvBZ-vEf4TGI/s200/git_logo.png&quot; width=&quot;128&quot;&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Modern proxies, usually used on a companies, check each downloaded data for malicious code. For allow check of SSL connections the proxy provide a custom SSL certificate to use from inside company PCs. Use this custom certificate in a browser is a very easy operation since all modern browser can manage them by internally install the certificate. However with some other tool like Git the procedure is a bit more complicated.&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;a href=&quot;http://falsinsoft.blogspot.com/2019/01/git-on-windows-and-custom-ssl-proxy.html#more&quot;&gt;Read more »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://falsinsoft.blogspot.com/feeds/8822761842071116758/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://falsinsoft.blogspot.com/2019/01/git-on-windows-and-custom-ssl-proxy.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/8822761842071116758'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/8822761842071116758'/><link rel='alternate' type='text/html' href='http://falsinsoft.blogspot.com/2019/01/git-on-windows-and-custom-ssl-proxy.html' title='Git on Windows and custom SSL proxy certificate problem'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJFex31LTNXN47s_u84keNNMlKtIO_V3FDwzyphzB9xP2vLRUh_B4feI1o8RYB8vpRRd4ESO9_bfsnhv0MhlHjddDLjGTI8_q90pCvwYdr3bjtz2z3i4WHTs4Hc27r-LhTvBZ-vEf4TGI/s72-c/git_logo.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7893207765857027452.post-6885077978393642932</id><published>2018-12-13T12:09:00.001-08:00</published><updated>2019-01-14T13:06:55.323-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="C++"/><category scheme="http://www.blogger.com/atom/ns#" term="Qt"/><title type='text'>Qt: Request Android app permissions</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;
&lt;img border=&quot;0&quot; data-original-height=&quot;128&quot; data-original-width=&quot;128&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimS5IeiAHcZL4cQ9K3MDslIMMjgUW1nRFb6rVcToqs-b2vy7nOTpVeaVWgZgALCjP6yplatX3Z_A71e0dk9G5_cNz8K_J0LAlliKUkxVpRtubNmZY1Lj3laRV6grnN9Kfkz3eFMpL5Xro/s1600/qt_android.png&quot;&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Each Android app, based to the &amp;quot;interaction&amp;quot; with system, have to declare what resources need to access through some special info called &lt;i&gt;permissions&lt;/i&gt;. Normally these permission are declared inside the &lt;i&gt;AndroidManifest.xml&lt;/i&gt; and this was enough. However, from android version 23 (Marshmallow) and above some part of these permissions (classified as more &amp;quot;critical&amp;quot;) have to be manually requested to the user who have to accept for authorize the app to use it.&lt;/div&gt;
&lt;br&gt;
&lt;a href=&quot;http://falsinsoft.blogspot.com/2018/12/qt-request-android-app-permissions.html#more&quot;&gt;Read more »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://falsinsoft.blogspot.com/feeds/6885077978393642932/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://falsinsoft.blogspot.com/2018/12/qt-request-android-app-permissions.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/6885077978393642932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/6885077978393642932'/><link rel='alternate' type='text/html' href='http://falsinsoft.blogspot.com/2018/12/qt-request-android-app-permissions.html' title='Qt: Request Android app permissions'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimS5IeiAHcZL4cQ9K3MDslIMMjgUW1nRFb6rVcToqs-b2vy7nOTpVeaVWgZgALCjP6yplatX3Z_A71e0dk9G5_cNz8K_J0LAlliKUkxVpRtubNmZY1Lj3laRV6grnN9Kfkz3eFMpL5Xro/s72-c/qt_android.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7893207765857027452.post-5927311674534577864</id><published>2018-12-10T00:17:00.000-08:00</published><updated>2018-12-10T00:17:33.131-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="QML"/><category scheme="http://www.blogger.com/atom/ns#" term="Qt"/><category scheme="http://www.blogger.com/atom/ns#" term="Snippet"/><title type='text'>QML: CheckBox and RadioButton with word wrap feature</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;
&lt;img border=&quot;0&quot; data-original-height=&quot;100&quot; data-original-width=&quot;100&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoJzR7hjVs92FqZlNi1d2UPu8UVv1VEYrXMVfWk3Ge6WbaDa1mUsRA7h88Hk9T01BEXHKPfb8mjly7kWCEHikIdsmZWxzhn8RQd1sar34nFNXzo1Es04T_tACo5JDy9kXto7-JkdmeBqw/s1600/qml_icon.png&quot;&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Standard QML CheckBox and RadioButton controls can be used in a very easy way but, at least until the current date, it have the problem if the text go over the parent control container is not automatically moved to the next line but is simply cutted out. This missing feature is called &lt;i&gt;word wrap&lt;/i&gt;.&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;
&lt;a href=&quot;http://falsinsoft.blogspot.com/2018/12/qml-checkbox-and-radiobutton-with-word.html#more&quot;&gt;Read more »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://falsinsoft.blogspot.com/feeds/5927311674534577864/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://falsinsoft.blogspot.com/2018/12/qml-checkbox-and-radiobutton-with-word.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/5927311674534577864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/5927311674534577864'/><link rel='alternate' type='text/html' href='http://falsinsoft.blogspot.com/2018/12/qml-checkbox-and-radiobutton-with-word.html' title='QML: CheckBox and RadioButton with word wrap feature'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoJzR7hjVs92FqZlNi1d2UPu8UVv1VEYrXMVfWk3Ge6WbaDa1mUsRA7h88Hk9T01BEXHKPfb8mjly7kWCEHikIdsmZWxzhn8RQd1sar34nFNXzo1Es04T_tACo5JDy9kXto7-JkdmeBqw/s72-c/qml_icon.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7893207765857027452.post-1582404516530365275</id><published>2018-12-07T04:50:00.002-08:00</published><updated>2018-12-07T04:56:00.974-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="Snippet"/><title type='text'>Linux: Translate virtual to physical addresses in user space</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;
&lt;img border=&quot;0&quot; data-original-height=&quot;128&quot; data-original-width=&quot;128&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXF-e8MAWDaxdo8-NUAskDlg7X2WRlOKMjEqJrglqMs8uC5pmS1c63f29nYepKb6iWuxQZa5sL5wN4jhX3rVcMkNB7749DKVKjpH5x06iuJoCU5FXIHzbPvneU1wvakyF05WK8oYpRCzY/s1600/linux_memory.png&quot;&gt;&lt;/div&gt;
&lt;br&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Each memory allocated in a process use a special address system called virtual address. This is a special address used inside the process space. However, sometime, could be necessary to know the real physical address in system memory for different purposes in user space. Here a short snippet showing how to do.&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;
&lt;a href=&quot;http://falsinsoft.blogspot.com/2018/12/linux-translate-virtual-to-physical.html#more&quot;&gt;Read more »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://falsinsoft.blogspot.com/feeds/1582404516530365275/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://falsinsoft.blogspot.com/2018/12/linux-translate-virtual-to-physical.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/1582404516530365275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/1582404516530365275'/><link rel='alternate' type='text/html' href='http://falsinsoft.blogspot.com/2018/12/linux-translate-virtual-to-physical.html' title='Linux: Translate virtual to physical addresses in user space'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXF-e8MAWDaxdo8-NUAskDlg7X2WRlOKMjEqJrglqMs8uC5pmS1c63f29nYepKb6iWuxQZa5sL5wN4jhX3rVcMkNB7749DKVKjpH5x06iuJoCU5FXIHzbPvneU1wvakyF05WK8oYpRCzY/s72-c/linux_memory.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7893207765857027452.post-5101896592305107635</id><published>2018-09-12T02:42:00.001-07:00</published><updated>2018-09-12T02:44:43.008-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="Tips and Tricks"/><title type='text'>Android: Remove system app from adb command line</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;
&lt;img border=&quot;0&quot; data-original-height=&quot;128&quot; data-original-width=&quot;128&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxDh5MEksIBNpoDr0Ciwk7ek5K_WOrQF6e0UIJxP8x0h5mE_WRiHtxJVlCofsqdh1cTbD9KDiw5u7eyHwpjKsTIOSMvnOkynYzrVI96LMpTN_232c2IL8ccc3C9NUeV7SCsSVqmgCDJFg/s1600/android.png&quot;&gt;&lt;/div&gt;
&lt;br&gt;
In case you want to remove from your android a system app is possible to use few commands using adb but remember you need to have a rooted device for get it working&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;a href=&quot;http://falsinsoft.blogspot.com/2018/09/android-remove-system-app-from-adb.html#more&quot;&gt;Read more »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://falsinsoft.blogspot.com/feeds/5101896592305107635/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://falsinsoft.blogspot.com/2018/09/android-remove-system-app-from-adb.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/5101896592305107635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/5101896592305107635'/><link rel='alternate' type='text/html' href='http://falsinsoft.blogspot.com/2018/09/android-remove-system-app-from-adb.html' title='Android: Remove system app from adb command line'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxDh5MEksIBNpoDr0Ciwk7ek5K_WOrQF6e0UIJxP8x0h5mE_WRiHtxJVlCofsqdh1cTbD9KDiw5u7eyHwpjKsTIOSMvnOkynYzrVI96LMpTN_232c2IL8ccc3C9NUeV7SCsSVqmgCDJFg/s72-c/android.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7893207765857027452.post-5008769922643179680</id><published>2018-07-24T02:25:00.000-07:00</published><updated>2018-07-24T02:25:22.679-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Qt"/><category scheme="http://www.blogger.com/atom/ns#" term="Qt Installer Framework"/><title type='text'>Qt Installer: show uninstall window only</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;
&lt;img border=&quot;0&quot; data-original-height=&quot;96&quot; data-original-width=&quot;96&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyBf-Fy1Fy7O4kqvzGda3YaJD_W-o2dQi6MVzCLpnCOXoS8nVBxw00s0r7ZlItH4KOUX3_gHd5RBwvNRjkbsWw-l8jAHcBrlMIVmj3NcpE6IPEe4T9UV3GNU2Vbc8WLFHxxARkb6YTA34/s1600/qt-icon.png&quot;&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Qt Installer Framework is the multiplatform installer solution provided by Qt team. Is a powerful tool but customization is currently not so easy cause no visual tool has been provided and all the customizations have to be done by code.&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;
&lt;a href=&quot;http://falsinsoft.blogspot.com/2018/07/qt-installer-show-uninstall-window-only.html#more&quot;&gt;Read more »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://falsinsoft.blogspot.com/feeds/5008769922643179680/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://falsinsoft.blogspot.com/2018/07/qt-installer-show-uninstall-window-only.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/5008769922643179680'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/5008769922643179680'/><link rel='alternate' type='text/html' href='http://falsinsoft.blogspot.com/2018/07/qt-installer-show-uninstall-window-only.html' title='Qt Installer: show uninstall window only'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyBf-Fy1Fy7O4kqvzGda3YaJD_W-o2dQi6MVzCLpnCOXoS8nVBxw00s0r7ZlItH4KOUX3_gHd5RBwvNRjkbsWw-l8jAHcBrlMIVmj3NcpE6IPEe4T9UV3GNU2Vbc8WLFHxxARkb6YTA34/s72-c/qt-icon.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7893207765857027452.post-6448023222694193459</id><published>2018-04-13T04:56:00.001-07:00</published><updated>2019-01-14T13:07:56.794-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="QML"/><category scheme="http://www.blogger.com/atom/ns#" term="Qt"/><category scheme="http://www.blogger.com/atom/ns#" term="Tutorial"/><title type='text'>QML: Get Android apk package info</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;
&lt;img border=&quot;0&quot; data-original-height=&quot;128&quot; data-original-width=&quot;128&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimS5IeiAHcZL4cQ9K3MDslIMMjgUW1nRFb6rVcToqs-b2vy7nOTpVeaVWgZgALCjP6yplatX3Z_A71e0dk9G5_cNz8K_J0LAlliKUkxVpRtubNmZY1Lj3laRV6grnN9Kfkz3eFMpL5Xro/s1600/qt_android.png&quot;&gt;&lt;/div&gt;
&lt;br&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
All the information stored inside apk &lt;i&gt;AndroidManifest.xml&lt;/i&gt; file can be extracted using dedicated Android API. Using JNI through C++ Qt layer is possible to get these info and pass them to the QML level.&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;a href=&quot;http://falsinsoft.blogspot.com/2018/04/qml-get-android-apk-package-info.html#more&quot;&gt;Read more »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://falsinsoft.blogspot.com/feeds/6448023222694193459/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://falsinsoft.blogspot.com/2018/04/qml-get-android-apk-package-info.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/6448023222694193459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/6448023222694193459'/><link rel='alternate' type='text/html' href='http://falsinsoft.blogspot.com/2018/04/qml-get-android-apk-package-info.html' title='QML: Get Android apk package info'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimS5IeiAHcZL4cQ9K3MDslIMMjgUW1nRFb6rVcToqs-b2vy7nOTpVeaVWgZgALCjP6yplatX3Z_A71e0dk9G5_cNz8K_J0LAlliKUkxVpRtubNmZY1Lj3laRV6grnN9Kfkz3eFMpL5Xro/s72-c/qt_android.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7893207765857027452.post-5004626843672313496</id><published>2018-04-05T02:31:00.000-07:00</published><updated>2019-01-14T13:08:32.589-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="QML"/><category scheme="http://www.blogger.com/atom/ns#" term="Qt"/><category scheme="http://www.blogger.com/atom/ns#" term="Tutorial"/><title type='text'>QML: Mixed native Android and QML animated splash screen</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;
&lt;img border=&quot;0&quot; data-original-height=&quot;128&quot; data-original-width=&quot;128&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimS5IeiAHcZL4cQ9K3MDslIMMjgUW1nRFb6rVcToqs-b2vy7nOTpVeaVWgZgALCjP6yplatX3Z_A71e0dk9G5_cNz8K_J0LAlliKUkxVpRtubNmZY1Lj3laRV6grnN9Kfkz3eFMpL5Xro/s1600/qt_android.png&quot;&gt;&lt;/div&gt;
&lt;br&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
In this blog two methods for show a splash screen has been proposed. One is based to pure QML code and show animations and the second is native Android way but static. Now a third method mixing both previous solution by allow a partially animated splash screen is proposed.&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;a href=&quot;http://falsinsoft.blogspot.com/2018/04/qml-mixed-native-android-and-qml.html#more&quot;&gt;Read more »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://falsinsoft.blogspot.com/feeds/5004626843672313496/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://falsinsoft.blogspot.com/2018/04/qml-mixed-native-android-and-qml.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/5004626843672313496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/5004626843672313496'/><link rel='alternate' type='text/html' href='http://falsinsoft.blogspot.com/2018/04/qml-mixed-native-android-and-qml.html' title='QML: Mixed native Android and QML animated splash screen'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimS5IeiAHcZL4cQ9K3MDslIMMjgUW1nRFb6rVcToqs-b2vy7nOTpVeaVWgZgALCjP6yplatX3Z_A71e0dk9G5_cNz8K_J0LAlliKUkxVpRtubNmZY1Lj3laRV6grnN9Kfkz3eFMpL5Xro/s72-c/qt_android.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7893207765857027452.post-674921195074829727</id><published>2018-04-04T04:56:00.000-07:00</published><updated>2018-04-04T04:56:07.388-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Git"/><category scheme="http://www.blogger.com/atom/ns#" term="Subversion"/><category scheme="http://www.blogger.com/atom/ns#" term="SVN"/><category scheme="http://www.blogger.com/atom/ns#" term="Tutorial"/><title type='text'>Merge multiple Subversion repositories into a single Git repository</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;
&lt;img border=&quot;0&quot; data-original-height=&quot;128&quot; data-original-width=&quot;128&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitSBWgrw2ALpSIOKeUPsZzRPYV3jGgxAraYCeSUUrnAhfEyTU4-o3HiKit2l2hl2_Jg68exsA546qWxoHXuWAUGvlDO8jXFX-EuvubQTBowXyRqKRKowzHgUd1ob-rPE3T2ioeRr5pU7U/s1600/svn_git.png&quot;&gt;&lt;/div&gt;
&lt;br&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
If you want to move your subversion repository to a git repository already exist tools make this porting in an easy way. But if you want to move and merge more than one subversion repositories into a single git repository you have mo make some manual steps.&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;
&lt;a href=&quot;http://falsinsoft.blogspot.com/2018/04/merge-multiple-subversion-repositories.html#more&quot;&gt;Read more »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://falsinsoft.blogspot.com/feeds/674921195074829727/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://falsinsoft.blogspot.com/2018/04/merge-multiple-subversion-repositories.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/674921195074829727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/674921195074829727'/><link rel='alternate' type='text/html' href='http://falsinsoft.blogspot.com/2018/04/merge-multiple-subversion-repositories.html' title='Merge multiple Subversion repositories into a single Git repository'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitSBWgrw2ALpSIOKeUPsZzRPYV3jGgxAraYCeSUUrnAhfEyTU4-o3HiKit2l2hl2_Jg68exsA546qWxoHXuWAUGvlDO8jXFX-EuvubQTBowXyRqKRKowzHgUd1ob-rPE3T2ioeRr5pU7U/s72-c/svn_git.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7893207765857027452.post-7321029258287897690</id><published>2018-02-26T12:52:00.000-08:00</published><updated>2018-02-26T12:52:18.590-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Qt"/><category scheme="http://www.blogger.com/atom/ns#" term="Tips and Tricks"/><title type='text'>Qt Creator: set dependencies between subprojects</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;
&lt;img border=&quot;0&quot; data-original-height=&quot;126&quot; data-original-width=&quot;128&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnTivJV0kgIwJ0a2FiMf_CIRvhAqM-9SonuOAgRvZuZ6JV9VQjVfjByZZZebLNx-kgipH2Nr9nKqzPUV6gjIXjiA5m3RaX8QGmJqCUr1XfBbkg7ezkyEod2WB1r1ohNj6GZ0oCy0bJE34/s1600/qt_creator_icon.png&quot;&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
In case your project is divided in some subprojects like, the typical case, a main app plus a library you have to be sure, when you make some change into the library, also the main app is automatically recompiled for &amp;quot;integrate&amp;quot; the new changes of the library. This operation can be done by set a dependency between the library and the app.&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;a href=&quot;http://falsinsoft.blogspot.com/2018/02/qt-creator-set-dependencies-between.html#more&quot;&gt;Read more »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://falsinsoft.blogspot.com/feeds/7321029258287897690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://falsinsoft.blogspot.com/2018/02/qt-creator-set-dependencies-between.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/7321029258287897690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/7321029258287897690'/><link rel='alternate' type='text/html' href='http://falsinsoft.blogspot.com/2018/02/qt-creator-set-dependencies-between.html' title='Qt Creator: set dependencies between subprojects'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnTivJV0kgIwJ0a2FiMf_CIRvhAqM-9SonuOAgRvZuZ6JV9VQjVfjByZZZebLNx-kgipH2Nr9nKqzPUV6gjIXjiA5m3RaX8QGmJqCUr1XfBbkg7ezkyEod2WB1r1ohNj6GZ0oCy0bJE34/s72-c/qt_creator_icon.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7893207765857027452.post-5980442601891677023</id><published>2018-02-14T02:16:00.000-08:00</published><updated>2019-01-14T13:09:19.784-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++"/><category scheme="http://www.blogger.com/atom/ns#" term="Qt"/><title type='text'>Qt: Load resources from static or shared library</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;
&lt;img border=&quot;0&quot; data-original-height=&quot;96&quot; data-original-width=&quot;96&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7olBMosbfJkXZqrAQjsx2PjqibdI59HKJf0blB5dBatd4x3eAXQoI4zjd4WwBrLdS6tZLvDS682BsXrN6osKyslr1c6HiOEYZH1raMZFmk__YGh1JyJ6HMT06k95y1KHE5JTtPiaeDaM/s1600/qt-icon.png&quot;&gt;&lt;/div&gt;
Usually Qt resource file (.qrc) is embedded inside the main executable file for automatic access without any additional operation. Just compile and you have access to the resources from any point of the code by using the special path prefix required for the resource virtual file system. However, if required, is also possible to load resources from static or shared libraries with a minimal efforts.&lt;/div&gt;
&lt;br&gt;
&lt;a href=&quot;http://falsinsoft.blogspot.com/2018/02/qt-load-resources-from-static-or-shared.html#more&quot;&gt;Read more »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://falsinsoft.blogspot.com/feeds/5980442601891677023/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://falsinsoft.blogspot.com/2018/02/qt-load-resources-from-static-or-shared.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/5980442601891677023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/5980442601891677023'/><link rel='alternate' type='text/html' href='http://falsinsoft.blogspot.com/2018/02/qt-load-resources-from-static-or-shared.html' title='Qt: Load resources from static or shared library'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7olBMosbfJkXZqrAQjsx2PjqibdI59HKJf0blB5dBatd4x3eAXQoI4zjd4WwBrLdS6tZLvDS682BsXrN6osKyslr1c6HiOEYZH1raMZFmk__YGh1JyJ6HMT06k95y1KHE5JTtPiaeDaM/s72-c/qt-icon.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7893207765857027452.post-2750515066594055009</id><published>2018-02-03T04:43:00.000-08:00</published><updated>2019-01-14T13:09:52.455-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="QML"/><category scheme="http://www.blogger.com/atom/ns#" term="Qt"/><category scheme="http://www.blogger.com/atom/ns#" term="Snippet"/><title type='text'>QML: Change Android screen orientation programmatically</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;
&lt;img border=&quot;0&quot; data-original-height=&quot;128&quot; data-original-width=&quot;128&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmsnSZzd-aIIjR0wZrYc8hYJwDgwNLrGEm3qEWPysW0iX98yKwYPDEIQ1dbXC-cdrVXVekrc4ZkRCtmhetYfvLB0xZyhCZgpjtLvviq_v35LZqIlu0fleKJpVTW61m2HrssgnwItJnckE/s1600/qt_android.png&quot;&gt;&lt;/div&gt;
&lt;br&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
In case your Android app require to dynamically set screen orientation for some particular interface is possible to directly call the system API allowing to choose one of the two standard orientations LANDSCAPE or PORTRAIT.&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;a href=&quot;http://falsinsoft.blogspot.com/2018/02/qml-change-android-screen-orientation.html#more&quot;&gt;Read more »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://falsinsoft.blogspot.com/feeds/2750515066594055009/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://falsinsoft.blogspot.com/2018/02/qml-change-android-screen-orientation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/2750515066594055009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/2750515066594055009'/><link rel='alternate' type='text/html' href='http://falsinsoft.blogspot.com/2018/02/qml-change-android-screen-orientation.html' title='QML: Change Android screen orientation programmatically'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmsnSZzd-aIIjR0wZrYc8hYJwDgwNLrGEm3qEWPysW0iX98yKwYPDEIQ1dbXC-cdrVXVekrc4ZkRCtmhetYfvLB0xZyhCZgpjtLvviq_v35LZqIlu0fleKJpVTW61m2HrssgnwItJnckE/s72-c/qt_android.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7893207765857027452.post-2335398437954678167</id><published>2017-11-13T03:39:00.001-08:00</published><updated>2017-11-13T03:39:41.044-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Tips and Tricks"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio"/><category scheme="http://www.blogger.com/atom/ns#" term="Windows"/><title type='text'>Visual Studio 2015 required executable runtime libraries</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;
&lt;img border=&quot;0&quot; data-original-height=&quot;128&quot; data-original-width=&quot;128&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQ3HkDuWIifuZcZWtl3rcvRhw143fpz47Y7JDeXU8A3ngZKTRujhbIuhOE9Y0Lrbb8xcdIUt_hYk6N3fi4Hn-wU-vRQHgnr-H6uYT1TO9TXiLql4dLtxc04OTXw3A2D4x1OaM7K9hmLfY/s1600/visual_studio_2012.png&quot;&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Once finished to develop your software final step is start to release the installation package. Executable generated by Visual Studio compiler require some additional libraries called runtimes allowing to software to run correctly. You have to provide these libraries in your installation package for allow your software to run in each machine without problems.&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;a href=&quot;http://falsinsoft.blogspot.com/2017/11/visual-studio-2015-required-executable.html#more&quot;&gt;Read more »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://falsinsoft.blogspot.com/feeds/2335398437954678167/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://falsinsoft.blogspot.com/2017/11/visual-studio-2015-required-executable.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/2335398437954678167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/2335398437954678167'/><link rel='alternate' type='text/html' href='http://falsinsoft.blogspot.com/2017/11/visual-studio-2015-required-executable.html' title='Visual Studio 2015 required executable runtime libraries'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQ3HkDuWIifuZcZWtl3rcvRhw143fpz47Y7JDeXU8A3ngZKTRujhbIuhOE9Y0Lrbb8xcdIUt_hYk6N3fi4Hn-wU-vRQHgnr-H6uYT1TO9TXiLql4dLtxc04OTXw3A2D4x1OaM7K9hmLfY/s72-c/visual_studio_2012.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7893207765857027452.post-2816247966959755350</id><published>2017-10-05T02:35:00.001-07:00</published><updated>2017-10-05T02:35:13.186-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><title type='text'>Android: adb push and read-only file system error</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;
&lt;img border=&quot;0&quot; data-original-height=&quot;128&quot; data-original-width=&quot;128&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghm9ALghRZzmIq_WW9EilPHV166W0FLCyjtfouUmlgp8AqTy_4RM0xYWl6O0b4044DmGlYrcxq-GY581qxfNZy8sKhEQYmzuBied9L2gbvPNygJRFLvpREXTxewjgf2qpjObB9XOf9Vr0/s1600/android.png&quot;&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
If you want to copy a file from your PC to the connected android device the fasten way is to use &lt;b&gt;adb&lt;/b&gt; tool with &lt;i&gt;push&lt;/i&gt; command. This command get as params the path of the local file and the remote path to copy in the device. Sometimes, especially if you use adb from Windows or MacOS, and error about read-only file system show up and you can not copy any file.&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;
&lt;a href=&quot;http://falsinsoft.blogspot.com/2017/10/android-adb-push-and-read-only-file.html#more&quot;&gt;Read more »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://falsinsoft.blogspot.com/feeds/2816247966959755350/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://falsinsoft.blogspot.com/2017/10/android-adb-push-and-read-only-file.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/2816247966959755350'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/2816247966959755350'/><link rel='alternate' type='text/html' href='http://falsinsoft.blogspot.com/2017/10/android-adb-push-and-read-only-file.html' title='Android: adb push and read-only file system error'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghm9ALghRZzmIq_WW9EilPHV166W0FLCyjtfouUmlgp8AqTy_4RM0xYWl6O0b4044DmGlYrcxq-GY581qxfNZy8sKhEQYmzuBied9L2gbvPNygJRFLvpREXTxewjgf2qpjObB9XOf9Vr0/s72-c/android.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7893207765857027452.post-3515015709573108902</id><published>2017-09-29T08:17:00.000-07:00</published><updated>2017-12-15T00:37:37.799-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><title type='text'>Java and https invalid certification error</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;
&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipQ3i-pq9PZdbzXs7T5e2EYBgtDaoD33PnjpB81pwbtp6THjAQAsBlyGQ8TyJwk2_Jj761bo5gJsWsPAAcjin9B0JwmgmgRuV35a1y-hsJyXSpb-6tvxn1TziOsKPLj27IElmUSU6z8bg/s1600/java.png&quot;&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
In case you are working under a restricted network with some particular proxy who have its own secure certificate system is possible you experiment some problem when Java runtime try to download something from an https address. Developing with Android Studio can show the problem cause try to download gradle package at first compilation.&lt;/div&gt;
&lt;br&gt;
&lt;a href=&quot;http://falsinsoft.blogspot.com/2017/09/java-and-https-invalid-certification.html#more&quot;&gt;Read more »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://falsinsoft.blogspot.com/feeds/3515015709573108902/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://falsinsoft.blogspot.com/2017/09/java-and-https-invalid-certification.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/3515015709573108902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/3515015709573108902'/><link rel='alternate' type='text/html' href='http://falsinsoft.blogspot.com/2017/09/java-and-https-invalid-certification.html' title='Java and https invalid certification error'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipQ3i-pq9PZdbzXs7T5e2EYBgtDaoD33PnjpB81pwbtp6THjAQAsBlyGQ8TyJwk2_Jj761bo5gJsWsPAAcjin9B0JwmgmgRuV35a1y-hsJyXSpb-6tvxn1TziOsKPLj27IElmUSU6z8bg/s72-c/java.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7893207765857027452.post-5846692126445913146</id><published>2017-09-26T00:26:00.000-07:00</published><updated>2017-09-26T00:26:32.732-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="Graphics"/><title type='text'>Make Android/iOS resized icons package online</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;
&lt;img border=&quot;0&quot; data-original-height=&quot;108&quot; data-original-width=&quot;108&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_a4b5ZXrBoiTjxoLJJpk_i8aqD5ZZ_0RbIgF6L0YN0jOkroSHFLNNK6IYCHuOT-YvtbdiHjwn-0bqxCCDCqke8OMID-cvzbSgJg2KbtzLc36uefcIl_dS0QtkB4vZmIoZ7_eskOBQtkg/s1600/resize_icon.png&quot;&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Major mobile systems require you provide a set of image of same icon resized to support different DPI screens. This is a very boring step in develop your app but fortunately it exist some tool able to automatically make the job for us. &lt;/div&gt;
&lt;br&gt;
  &lt;br&gt;
&lt;br&gt;
&lt;a href=&quot;http://falsinsoft.blogspot.com/2017/09/make-androidios-resized-icons-package.html#more&quot;&gt;Read more »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://falsinsoft.blogspot.com/feeds/5846692126445913146/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://falsinsoft.blogspot.com/2017/09/make-androidios-resized-icons-package.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/5846692126445913146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/5846692126445913146'/><link rel='alternate' type='text/html' href='http://falsinsoft.blogspot.com/2017/09/make-androidios-resized-icons-package.html' title='Make Android/iOS resized icons package online'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_a4b5ZXrBoiTjxoLJJpk_i8aqD5ZZ_0RbIgF6L0YN0jOkroSHFLNNK6IYCHuOT-YvtbdiHjwn-0bqxCCDCqke8OMID-cvzbSgJg2KbtzLc36uefcIl_dS0QtkB4vZmIoZ7_eskOBQtkg/s72-c/resize_icon.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7893207765857027452.post-4805776392293018930</id><published>2017-09-19T02:15:00.001-07:00</published><updated>2017-09-19T02:18:27.308-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="Snippet"/><title type='text'>Access PCI device registry from Linux user space</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;
&lt;img border=&quot;0&quot; data-original-height=&quot;150&quot; data-original-width=&quot;150&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGcApC0NjOUD1cTxO-v13IdPc1G_qOw3TItVTTuwWyBHVIOUbdKryc8V0AWRtb83610fXYtC-oISKmNx4DDGhsArJYmk22l2rg3ttzGjirwuQSNOaG_PPPqndtgwyz78va5Gk17sCO1dw/s1600/pciboard.png&quot;&gt;&lt;/div&gt;
&lt;br&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
In case you need to modify registry of some PCI devices from Linux user space you can easily do by access to the &lt;b&gt;/proc/bus/pci&lt;/b&gt; path where all PCI devices found on the system are listed.&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;a href=&quot;http://falsinsoft.blogspot.com/2017/09/access-pci-device-registry-from-linux.html#more&quot;&gt;Read more »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://falsinsoft.blogspot.com/feeds/4805776392293018930/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://falsinsoft.blogspot.com/2017/09/access-pci-device-registry-from-linux.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/4805776392293018930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/4805776392293018930'/><link rel='alternate' type='text/html' href='http://falsinsoft.blogspot.com/2017/09/access-pci-device-registry-from-linux.html' title='Access PCI device registry from Linux user space'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGcApC0NjOUD1cTxO-v13IdPc1G_qOw3TItVTTuwWyBHVIOUbdKryc8V0AWRtb83610fXYtC-oISKmNx4DDGhsArJYmk22l2rg3ttzGjirwuQSNOaG_PPPqndtgwyz78va5Gk17sCO1dw/s72-c/pciboard.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7893207765857027452.post-6621970981322583263</id><published>2017-08-24T01:50:00.000-07:00</published><updated>2017-08-24T01:50:11.039-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="Snippet"/><title type='text'>Store and retrieve Android contacts photo</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;
&lt;img border=&quot;0&quot; data-original-height=&quot;128&quot; data-original-width=&quot;128&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXNPB_-LdlJmxXJBFljjmR0w-6vWZTjlLmWei_oWw0ODQMCZIep-1WeT0a6gsJ-CXuhh62bX56fho-UnEmP218v3iOiXBG3DgVukC6b_0Spipy9xDrR47obAebIBERcoFwyHUhRxZQqXk/s1600/android.png&quot;&gt;&lt;/div&gt;
&lt;br&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Android default contacts are, basically, a database for store and retrieve phone contacts info. Here a short snippets showing a way to store and retrieve the photo of the contacts. Android contacts store photo in two format, large and thumbnail with two different way for retrieve it.&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;
&lt;a href=&quot;http://falsinsoft.blogspot.com/2017/08/store-and-retrieve-android-contacts.html#more&quot;&gt;Read more »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://falsinsoft.blogspot.com/feeds/6621970981322583263/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://falsinsoft.blogspot.com/2017/08/store-and-retrieve-android-contacts.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/6621970981322583263'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/6621970981322583263'/><link rel='alternate' type='text/html' href='http://falsinsoft.blogspot.com/2017/08/store-and-retrieve-android-contacts.html' title='Store and retrieve Android contacts photo'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXNPB_-LdlJmxXJBFljjmR0w-6vWZTjlLmWei_oWw0ODQMCZIep-1WeT0a6gsJ-CXuhh62bX56fho-UnEmP218v3iOiXBG3DgVukC6b_0Spipy9xDrR47obAebIBERcoFwyHUhRxZQqXk/s72-c/android.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7893207765857027452.post-8818470887676000335</id><published>2017-08-10T20:51:00.000-07:00</published><updated>2017-08-11T06:47:16.228-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="HTML"/><category scheme="http://www.blogger.com/atom/ns#" term="Javascript"/><title type='text'>Block access to the site if javascript is disabled</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;
&lt;img border=&quot;0&quot; data-original-height=&quot;128&quot; data-original-width=&quot;128&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZ3qrKrGb54ATgUm2pxeHduRRe8wFllxGcVCr69y2OO-k8_AcnKlErT76wHkODU0Zks1olBHpaJMHlc5sNFMYSg4yYWfx3FnZZg8uK1c33qD4CwEkx8sLL02X8f3I7G4n9e7_hUCy3Wbg/s1600/application_javascript.png&quot;&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Majority of modern web sites, especially with responsive feature, make a large use of javascript for allow various objects to be managed correctly in each situation. Sometime can happen user have javascript disabled in the browser and the web site will not work as expected with the result of a bad user experience. Here  a simply solution for advise user about javascript problem and block access to the site until javascript enabled.&lt;/div&gt;
&lt;br&gt;
&lt;a href=&quot;http://falsinsoft.blogspot.com/2017/08/block-access-to-site-if-javascript-is.html#more&quot;&gt;Read more »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://falsinsoft.blogspot.com/feeds/8818470887676000335/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://falsinsoft.blogspot.com/2017/08/block-access-to-site-if-javascript-is.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/8818470887676000335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/8818470887676000335'/><link rel='alternate' type='text/html' href='http://falsinsoft.blogspot.com/2017/08/block-access-to-site-if-javascript-is.html' title='Block access to the site if javascript is disabled'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZ3qrKrGb54ATgUm2pxeHduRRe8wFllxGcVCr69y2OO-k8_AcnKlErT76wHkODU0Zks1olBHpaJMHlc5sNFMYSg4yYWfx3FnZZg8uK1c33qD4CwEkx8sLL02X8f3I7G4n9e7_hUCy3Wbg/s72-c/application_javascript.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7893207765857027452.post-7117793198478281182</id><published>2017-07-27T06:38:00.000-07:00</published><updated>2019-01-14T13:10:34.479-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="C++"/><category scheme="http://www.blogger.com/atom/ns#" term="QML"/><category scheme="http://www.blogger.com/atom/ns#" term="Qt"/><title type='text'>QML: Show Android native splash screen in your QML app</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;
&lt;img border=&quot;0&quot; data-original-height=&quot;128&quot; data-original-width=&quot;128&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmsnSZzd-aIIjR0wZrYc8hYJwDgwNLrGEm3qEWPysW0iX98yKwYPDEIQ1dbXC-cdrVXVekrc4ZkRCtmhetYfvLB0xZyhCZgpjtLvviq_v35LZqIlu0fleKJpVTW61m2HrssgnwItJnckE/s1600/qt_android.png&quot;&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
In &lt;a href=&quot;http://falsinsoft.blogspot.com/2017/01/qml-show-animated-splash-screen-at.html&quot; target=&quot;_blank&quot;&gt;this post&lt;/a&gt; a solution to make a pure QML splash screen has been proposed and could be used for Android app also. However, since Qt/QML app are &amp;quot;wrapped&amp;quot; inside pure Android code a solution like these could be a little slow especially in the first step of application startup. Here another solution specific for Android app more faster to show splash screen at startup.&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;
&lt;a href=&quot;http://falsinsoft.blogspot.com/2017/07/qml-show-android-native-splash-screen.html#more&quot;&gt;Read more »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://falsinsoft.blogspot.com/feeds/7117793198478281182/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://falsinsoft.blogspot.com/2017/07/qml-show-android-native-splash-screen.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/7117793198478281182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/7117793198478281182'/><link rel='alternate' type='text/html' href='http://falsinsoft.blogspot.com/2017/07/qml-show-android-native-splash-screen.html' title='QML: Show Android native splash screen in your QML app'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmsnSZzd-aIIjR0wZrYc8hYJwDgwNLrGEm3qEWPysW0iX98yKwYPDEIQ1dbXC-cdrVXVekrc4ZkRCtmhetYfvLB0xZyhCZgpjtLvviq_v35LZqIlu0fleKJpVTW61m2HrssgnwItJnckE/s72-c/qt_android.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7893207765857027452.post-4585938588061504206</id><published>2017-07-26T03:07:00.000-07:00</published><updated>2019-01-14T13:11:10.937-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="C++"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="QML"/><category scheme="http://www.blogger.com/atom/ns#" term="Qt"/><title type='text'>QML: Get Android signal strength level</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;
&lt;img border=&quot;0&quot; data-original-height=&quot;128&quot; data-original-width=&quot;128&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmsnSZzd-aIIjR0wZrYc8hYJwDgwNLrGEm3qEWPysW0iX98yKwYPDEIQ1dbXC-cdrVXVekrc4ZkRCtmhetYfvLB0xZyhCZgpjtLvviq_v35LZqIlu0fleKJpVTW61m2HrssgnwItJnckE/s1600/qt_android.png&quot;&gt;&lt;/div&gt;
&lt;br&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Second post regarding how to get system info from Android to QML. This post will analyze the way to install an Android listener to be advised when phone signal strength level change.&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;a href=&quot;http://falsinsoft.blogspot.com/2017/07/qml-get-android-signal-strength-level.html#more&quot;&gt;Read more »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://falsinsoft.blogspot.com/feeds/4585938588061504206/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://falsinsoft.blogspot.com/2017/07/qml-get-android-signal-strength-level.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/4585938588061504206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7893207765857027452/posts/default/4585938588061504206'/><link rel='alternate' type='text/html' href='http://falsinsoft.blogspot.com/2017/07/qml-get-android-signal-strength-level.html' title='QML: Get Android signal strength level'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmsnSZzd-aIIjR0wZrYc8hYJwDgwNLrGEm3qEWPysW0iX98yKwYPDEIQ1dbXC-cdrVXVekrc4ZkRCtmhetYfvLB0xZyhCZgpjtLvviq_v35LZqIlu0fleKJpVTW61m2HrssgnwItJnckE/s72-c/qt_android.png" height="72" width="72"/><thr:total>0</thr:total></entry></feed>