Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 16 Apr 2015 09:16:16 -0400
From: Mathieu Laprise <mathlaprise@...il.com>
To: john-dev@...ts.openwall.com
Subject: Re: Improving Johnny

Hey guys,
I continue working on what we said yesterday. Here is just a quick update
saying why I didn't finished yet.
There is probably a problem in the layout logic somewhere in the MainWindow
designer file. In 2012, Aleksey found a workaround by specifying a maximum
size and a magic numbe for the left menu bar :
// TODO: Magic number. It seems to be wrong approach.

m_ui->listWidgetTabs->setMaximumWidth(m_ui->listWidgetTabs->sizeHintForColumn(0)
+ 4);


This workaround works most of the time but when you change the text
dynamically in the MainWindow class by choosing french in the setting's
list. I apply a translator, call the QT built-in method retranslateUi and
everything layout correctly except the listWidgetTabs. As you can see on
the screenshot http://i.imgur.com/8yZ0vkb.jpg , the listWidgetTabs object
don't resize correctly when we add a bigger text than it previously
contained(french word "Mot de passe" is bigger than "Password"). The rest
of the screen looks great with translation because the layouts do their
jobs and there are no hardcoded values.

I tried to force relayout by calling update, updateGeometry, repaint and
doing similar to what Aleksey did. However, it doesn't work. It only works
when you read the settings and translate the application in main.cpp,
before MainWindow is created. (http://i.imgur.com/YTvljPh.png)

So we have two solutions:

1- Remove the work around with a magic number and find a real fix. What
makes it harder is that all UI code for all screens is in the same
file(mainwindow.ui) so I'll have to proceed with care while making changes
to layouts.

2- On first startup, the application will choose system language(ex:
french). If the user go in the settings to choose english, he has to
restart the application for the changes to take effects. For all further
startups, the language will be english.

[ CONTENT OF TYPE text/html SKIPPED ]

Powered by blists - more mailing lists

Your e-mail address:

Powered by Openwall GNU/*/Linux - Powered by OpenVZ