[Qt-creator] Lost in 4.2

Mike Jackson imikejackson at gmail.com
Thu Dec 1 22:26:07 CET 2016


Funny, I had a really long drawn out response but it really boils down 
to this: We all want QtCreator to be best in class. We are all 
passionate about QtCreator and want to see it succeed. That is all.

Some of us just may not possess the "socially acceptable phrasing" you 
write about.

-- 
Michael A. Jackson
President, Owner
BlueQuartz Software, LLC
[e]: mike.jackson at bluequartz.net


André Pönitz wrote:
> On Thu, Dec 01, 2016 at 05:33:08PM +0100, Jason H wrote:
>>> Sent: Thursday, December 01, 2016 at 5:02 PM
>>> From: "Andre Poenitz"<Andre.Poenitz at qt.io>
>>> To: "Mike Jackson"<imikejackson at gmail.com>, "Jason H"<jhihn at gmx.com>
>>> Cc: qt-creator<qt-creator at qt-project.org>
>>> Subject: Re: [Qt-creator] Lost in 4.2
>>>
>>>
>>> Mike Jackson<imikejackson at gmail.com>
>>>> <rant>
>>>   >   Rule 1: "new" way of doing user interfaces dictates that in no way
>>>   >  should the UI widgets indicate that they can be clicked, moved or
>>>   >  interacted with. It is entirely up to the user to simply click all over
>>>   >  the interface until some hidden menu shows up or something happens.
>>>
>>> This is an old-fashioned, standard context menu on items in a tree view,
>>> a concept that is in use in dozens of places all over of Qt Creator since
>>> the beginning.
>>>
>>> The fact that it *also* reacts to single clicks is a convenience shortcut
>>> for people who are capable of reading documentation or possible
>>> asking politely on the mailing list. Also rather old-school skills.
>>
>> It looks nested, but not a tree to me.
>
> It is a QTreeView. There's a delegate to make the first level of items a
> bit larger and bold. The view is also forced to be always expanded, and
> the expand/collapse markers are suppressed (since they wouldn't serve
> much of a purpose since it's not collapsable...)
>
> The core of this terrible modernization is
>
>      void SelectorDelegate::paint(QPainter *painter,
>          const QStyleOptionViewItem&option, const QModelIndex&index) const
>      {
>          auto model = static_cast<const ProjectsModel *>(index.model());
>          QStyleOptionViewItem opt = option;
>          if (TreeItem *item = model->itemForIndex(index)) {
>              switch (item->level()) {
>              case 2: {
>                  QColor col = creatorTheme()->color(Theme::TextColorNormal);
>                  opt.palette.setColor(QPalette::Text, col);
>                  opt.font.setBold(true);
>                  opt.font.setPointSizeF(opt.font.pointSizeF() * 1.2);
>                  break;
>                  }
>              }
>          }
>          QStyledItemDelegate::paint(painter, opt, index);
>      }
>
> All these *gosh* deviations from a stock QTreeView instance are direct
> responses to explicit requests that were made by users of the features
> during the four(!) months this has been publically accessible to anyone
> who has a strong opinion on how the next release of a piece of software
> should look like.
>
> The change went in intentionally in the very early days of the 4.2
> development branch since it is known and understood that certain
> people are bound to express strong opinions on any kind of UI change,
> warranted or not, etc, etc, to give everybody remotely interested
> the opportunity to comment early, ideally before UI string freeze
> which typically marks the end of UI changes for a release.
>
>> There needs to be buttons.
>
> Let me try to translate this into something that I would consider
> a socially acceptable phrasing of exactly the same idea:
>
>     "Hey guys, I really tried, but had a hard time to find out how to get
>      a kit active for my project. Can't you add a button or two to make
>      the functionality from the context menu more directly accessible?"
>
> My role then would be to respond with something like
>
>     "Well, it would make it look more cluttered, but sure, there's
>      still some room at the bottom, should we put it there?"
>
> This follows a traditional pattern of human communication, even if it
> looks a bit convoluted, if not nonsensical. It leaves you enough room to
> not spell out what you really mean between your lines, and it leaves me
> enough room to not spell out things I really mean between my lines and
> gives both of us an opportunity to actually solve a problem without
> getting overly agitated or upset.
>
>> I vehemently oppose degradation of usability because it isn't "modern".
>
> You bark at a change that effectively removes several hundred lines
> of custom code implementing a machinery of two (three, actually)
> handcrafted tab bars that were specifically designed to look different
> and modern at the time and was unique not only within Creator, but also
> not present in any other application I am aware of, and that replaces
> aforementioned with a stock 90's treeview with two dozen lines of
> customization on top (also available at the time).
>
> Looks like mankind truly entered the post-factual age.
>
> Andre'
> _______________________________________________
> Qt-creator mailing list
> Qt-creator at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/qt-creator



More information about the Qt-creator mailing list