<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Qt on Dragotins Blog</title>
    <link>https://dragotin.codeberg.page/categories/qt/</link>
    <description>Recent content in Qt on Dragotins Blog</description>
    <image>
      <title>Dragotins Blog</title>
      <url>https://dragotin.codeberg.page/%3Clink%20or%20path%20of%20image%20for%20opengraph,%20twitter-cards%3E</url>
      <link>https://dragotin.codeberg.page/%3Clink%20or%20path%20of%20image%20for%20opengraph,%20twitter-cards%3E</link>
    </image>
    <generator>Hugo -- 0.152.1</generator>
    <language>en</language>
    <copyright>2022-2026 Klaas Freitag - Content is licensed under the Creative Commons Attribution 4.0 International License</copyright>
    <lastBuildDate>Tue, 31 Dec 2019 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://dragotin.codeberg.page/categories/qt/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Kraft Version 0.90</title>
      <link>https://dragotin.codeberg.page/posts/kraft-version-0-90/</link>
      <pubDate>Tue, 31 Dec 2019 00:00:00 +0000</pubDate>
      <guid>https://dragotin.codeberg.page/posts/kraft-version-0-90/</guid>
      <description>&lt;p&gt;This blog is to inform that &lt;a href=&#34;http://volle-kraft-voraus.de&#34;&gt;Kraft&lt;/a&gt;, the &lt;a href=&#34;https://www.qt.io/&#34;&gt;Qt&lt;/a&gt; and &lt;a href=&#34;https://www.kde.org&#34;&gt;KDE&lt;/a&gt; based desktop software to manage documents like invoices and quotes in your small company was released in &lt;a href=&#34;http://volle-kraft-voraus.de/Main/Releases&#34;&gt;version 0.90&lt;/a&gt; recently.&lt;/p&gt;
&lt;h2 id=&#34;followup-documents&#34;&gt;Followup Documents&lt;/h2&gt;
&lt;p&gt;A great new feature is the completely reworked handling of so called follow-up documents. Kraft has this feature to help dealing with docs that follow on a certain kind of predecessor doc in the business flow, such as an invoice follows on an offer once the work has been finished.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>This blog is to inform that <a href="http://volle-kraft-voraus.de">Kraft</a>, the <a href="https://www.qt.io/">Qt</a> and <a href="https://www.kde.org">KDE</a> based desktop software to manage documents like invoices and quotes in your small company was released in <a href="http://volle-kraft-voraus.de/Main/Releases">version 0.90</a> recently.</p>
<h2 id="followup-documents">Followup Documents</h2>
<p>A great new feature is the completely reworked handling of so called follow-up documents. Kraft has this feature to help dealing with docs that follow on a certain kind of predecessor doc in the business flow, such as an invoice follows on an offer once the work has been finished.</p>
<p><img alt="Document flow example" loading="lazy" src="/posts/kraft-version-0-90/images/doc-flow.png">To achieve that and to have all the items of the offer again referenced in the invoice, the Kraft user justs clicks on the menu item &ldquo;Create Followup Document&rdquo; on the selected offer, and the new doc is created with all the items of the offer prepared. It is ready to be adjusted to the final invoice details.</p>
<p>Now with version 0.90 this has even improved. Often, the flow is a bit different because a partial invoice is sent while the job is still in progress, for example to cover cost for material. A partial invoice usually has only one item, which is the progress payment the customer should pay.</p>
<p>Kraft users can handle that now very easy: The new UI does not only allow to choose from which predecessor document the final invoice should copy the items (which usually is the offer in the beginning) but it also realises that a partial invoice was sent before, so this amount of payment has to be substracted from the final invoice. Kraft adds an item to the final doc automatically here.</p>
<p>This helps to create high quality documents for your customers even faster, which is exactly the mission of Kraft.</p>
<h2 id="other-improvements">Other Improvements</h2>
<p>In addition to that, as usual a lot of other visible and invisible changes have gone into this release. For example, the UI has been simplified again by a clean up of the menu for example. The <em>About Kraft</em> dialog was removed and integrated into the Kraft information page.</p>
<p>Under the hood, we finally added unit tests, which is just a start so far, and ntroduced a new, XML based system to manage the available document types which makes igrations way easier. Last but not least the python based pdf conversion script was ported to python 3 to be ready for the end of python 2.</p>
<h2 id="community">Community</h2>
<p>Last but not least, Kraft got new contributions from the community: A new document type was initiated by a community member, which is a offer like document without showing the price information. Also, the complete app was translated to Dutch by a volunteer, and the translation is now shipped with Kraft by default. Also, other smaller bugfixes went in.</p>
<p>Thank you all for your help to improve <a href="http://volle-kraft-voraus.de">Kraft</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>More Hiring: Qt Hacker!</title>
      <link>https://dragotin.codeberg.page/posts/more-hiring-qt-hacker/</link>
      <pubDate>Fri, 16 Sep 2016 00:00:00 +0000</pubDate>
      <guid>https://dragotin.codeberg.page/posts/more-hiring-qt-hacker/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://owncloud.com&#34;&gt;ownCloud&lt;/a&gt; is even more hiring. In my &lt;a href=&#34;https://dragotin.wordpress.com/2016/08/03/owncloud-is-hiring/&#34;&gt;last post&lt;/a&gt; I wrote that we need PHP developers, a security engineer and a system administrator. For all positions we got interesting inquiries already. That&amp;rsquo;s great, but should not hinder you from sending your CV in case you are still interested. We have &lt;em&gt;multiple&lt;/em&gt; positions!&lt;/p&gt;
&lt;p&gt;But there is even more opportunity: Additionally we are looking for an ownCloud Desktop Client developer. That would be somebody fluid in C++ and Qt who likes to pick up responsibility for our desktop client together with the other guys on the team. Shifted responsibilities have created this space, and it is your chance to jump into the desktop sync topic which makes ownCloud really unique.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://owncloud.com">ownCloud</a> is even more hiring. In my <a href="https://dragotin.wordpress.com/2016/08/03/owncloud-is-hiring/">last post</a> I wrote that we need PHP developers, a security engineer and a system administrator. For all positions we got interesting inquiries already. That&rsquo;s great, but should not hinder you from sending your CV in case you are still interested. We have <em>multiple</em> positions!</p>
<p>But there is even more opportunity: Additionally we are looking for an ownCloud Desktop Client developer. That would be somebody fluid in C++ and Qt who likes to pick up responsibility for our desktop client together with the other guys on the team. Shifted responsibilities have created this space, and it is your chance to jump into the desktop sync topic which makes ownCloud really unique.</p>
<p>The role includes working with the team to plan and roll out releases, coordinate with the server- and mobile client colleagues, nail out future developments, engage with community hackers and help with difficult support cases. And last but not least there is hacking fun on remarkable nice <a href="http://www.qt-project.org">Qt</a> based C++ code of our desktop client, together with high profile C++ hackers to learn from.</p>
<p>It is an ideal opportunity for a carer type of personality, to whom it is not enough to sit in the basement and only hack, but also to talk to people, organize, and become visible. Having a Qt- and/or <a href="http://www.kde.org">KDE</a> background is a great benefit. You would work from where you feel comfortable with as ownCloud is a distributed company.</p>
<p>The <a href="https://owncloud.org/install/#install-clients">ownCloud Client</a> is a very successful part of the ownCloud platform, it has millions of installations out there, and is released under GPL.</p>
<p>If you want to do something that matters, here you are! Send your CV today and do not forget to mention your github account :-)</p>
]]></content:encoded>
    </item>
    <item>
      <title>Sync Progress Display</title>
      <link>https://dragotin.codeberg.page/posts/sync-progress-display/</link>
      <pubDate>Tue, 23 Jul 2013 00:00:00 +0000</pubDate>
      <guid>https://dragotin.codeberg.page/posts/sync-progress-display/</guid>
      <description>&lt;p&gt;here is something new and eye candy in the &lt;a href=&#34;http://www.owncloud.org&#34;&gt;ownCloud&lt;/a&gt; &lt;a href=&#34;http://owncloud.org/sync-clients/&#34;&gt;Client&lt;/a&gt;, so let me show a bit of what we have worked on recently.&lt;/p&gt;
&lt;p&gt;Many users of the ownCloud Client were asking for sync progress information, in fact there was none at all until today which is a bit boring. The reason why we hadn&amp;rsquo;t it was simply that &lt;a href=&#34;http://csync.org&#34;&gt;csync&lt;/a&gt;, which is the &lt;a href=&#34;http://csync.org&#34;&gt;file synchronizer&lt;/a&gt; engine we use, did not have an API to hand over progress information of an actual up- or download to higher levels of the application.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>here is something new and eye candy in the <a href="http://www.owncloud.org">ownCloud</a> <a href="http://owncloud.org/sync-clients/">Client</a>, so let me show a bit of what we have worked on recently.</p>
<p>Many users of the ownCloud Client were asking for sync progress information, in fact there was none at all until today which is a bit boring. The reason why we hadn&rsquo;t it was simply that <a href="http://csync.org">csync</a>, which is the <a href="http://csync.org">file synchronizer</a> engine we use, did not have an API to hand over progress information of an actual up- or download to higher levels of the application.</p>
<p>We implemented two callbacks in csync: One that informs about start, end and progress of an up- or download of an individual file. Another one processes the overall progress of the currently running sync run, indicating for example that eight files have to be processed, current is file number four, and <em>x</em> of the overall sum <em>y</em> bytes have been processed already.</p>
<p>That information is passed into a singleton class called ProgressDispatcher in the client code, where other classes can connect to a signal providing that information. That comes handy as we need the information at different places in the client GUI. [caption id=&ldquo;attachment_299&rdquo; align=&ldquo;alignright&rdquo; width=&ldquo;399&rdquo;]<a href="http://dragotin.files.wordpress.com/2013/07/sync_progress5.png"><img alt="Sync Progress Display" loading="lazy" src="/posts/sync-progress-display/images/sync_progress5.png"></a> Sync Progress Display[/caption] The screenshot shows the first and probably most detailed implementation of the progress display in the sync accounts details which are part of a new settings- and status dialog.</p>
<p>The visual appearance was worked out by our interaction designer Jan. We always have to argue a bit because obviously <strong>I</strong> am the greatest interaction designer around ;-) but well, finally we do like Jan says and the result is great IMO. It&rsquo;s great that we have him for ownCloud as that guarantees that our project is not drifting too much onto the geeky techy side which (I heard) is scaring off some users&hellip;</p>
<p>Hope you like it! You can get a preview in the current nightly builds (<a href="http://download.owncloud.com/download/nightly/">win, mac</a>, <a href="http://download.opensuse.org/repositories/isv:/ownCloud:/community:/nightly/">Linux</a>) of the client! Please <a href="https://github.com/owncloud/mirall/blob/master/CONTRIBUTING.md">report bugs</a> as you find them, thanks.</p>
]]></content:encoded>
    </item>
  </channel>
</rss>
