Closed GoogleCodeExporter closed 9 years ago
In English please... not everybody speaks French
Original comment by tomas.hanak@gmail.com
on 24 Feb 2008 at 2:14
Well, I got here following a French link and the author of the program is
French.
Anyhow, I was saying that the Execute (Run?) menu doesn't work if the project
is in a
folder that contains accents in its name.
There's a few other annoying things in QDevelop. I won't bother creating
separate
reports for each of them and no one will bother reading them anyhow, so I'll
just say
them here:
- When I do class definitions like "void MainWindowImpl::...", after this "::",
the
code completion opens up and can't be closed.
- Weird Debug Parameters are specified by default and they shouldn't. Each time
I was
running my application, I had an output message saying "Qt: Cannot set locale
modifiers". Also I couldn't type accents in my QLineEdit/QTextEdit. After hours
and
hours and hours of searching, I found out there's a Debug > Parameters...
dialog and
discovered that QDevelop was responsible for specifying a weird locale.
- Speaking of output messages, when you do Ctrl+C to copy from QDevelop's output
window, it actually copies from the code editor, regardless of the focus!
Original comment by titcouil...@gmail.com
on 9 Mar 2008 at 11:56
0) Is this bug still valid for latest svn code?
1) close code completion with "Esc" key.
2) what do you mean by "specifying a weird locale"?
3) I'm sorry but it's a limitation of Qt and occures because output text window
is
read only.
Original comment by Lord.Div...@gmail.com
on 11 Feb 2009 at 10:39
I downloaded "QDevelop binary for GNU/Linux: unstable version 0.27~svn387".
Here are
the results :
0) Is this bug still valid for latest svn code?
Yes, the accents bug is still valid. If I open a project named :
/home/titcouille/Programmation/Testé/Testé.pro
I can edit and build the project. But when I click "Run", I get the following
message
(I'm translating) : "The program does not exist, please rebuild."
1) close code completion with "Esc" key.
The code completion bug is SOLVED.
2) what do you mean by "specifying a weird locale"?
The locale bug is still valid. It is caused by the Debug > Parameters feature.
The
parameters specified in that dialog are incompatible with my system. If I
delete all
parameters in Debug > Parameters, everything works. Unfortunately, when I close
and
reopen QDevelop, the parameters reappear.
What I mean by "specifying a weird locale", is that QDevelop specifies in that
dialog
all kinds of "LC_..." (locale) parameters. These parameters are then used to
run the
program. They're incompatible with my system. When I run my program, in the
QDevelop
"Output" window, I receive the following message : "Qt: Cannot set locale
modifiers".
More significantly, I can't type accents in the launched application using my
keyboard, because the locale specified in Debug > Parameters is messed up. If I
launch my application outside of QDevelop, everything works. This bug is
specific to
the way QDevelop launches the application.
Original comment by titcouil...@gmail.com
on 11 Feb 2009 at 3:22
Ok, but I need your help:
1) Please attach here: a) Your project file; b) Generated Makefile. And check
whether
qmake && make work correctly in console (without QDevelop).
2) Please provide all information you see in Debug > Parameters dialog.
Original comment by Lord.Div...@gmail.com
on 11 Feb 2009 at 5:50
1) Please attach here: a) Your project file; b) Generated Makefile.
This is unnecessary. It's not a specific project. It's ANY project that contains
accents in the filename. To reproduce the problem, simply go to Project > New
Project
and in "Project name" type something with accents. Then try to run this new
project.
2) Please provide all information you see in Debug > Parameters dialog.
I attach a screenshot of my Debug Parameters dialog. Note that all those
parameters
are automatically generated by QDevelop. They're messing the keyboard locale of
any
application launched from QDevelop. I have to delete those parameters line by
line
(there is no "Delete all" button in the Parameters dialog), and they reappear
after I
restart QDevelop.
Original comment by titcouil...@gmail.com
on 11 Feb 2009 at 6:38
Attachments:
1) You see I don't want to install French locale or use character map to create
such
files.
2) I've researched the code and found that environment variables list is
populated
via QProcess::systemEnvironment() i.e. it just uses your current environment.
Please
compare it to output of "env" command. Anyway QDevelop doesn't generate the
list itself.
Original comment by Lord.Div...@gmail.com
on 11 Feb 2009 at 10:07
1) You see I don't want to install French locale or use character map to create
such files.
Oh, are you kidding me ! You just have to copy & paste a letter. I even gave
you an
example name.
2) I've researched the code and found that environment variables list is populated
via QProcess::systemEnvironment()
O.K. I did a lot of testing, trying to isolate the variable that causes the
problem.
I found that the following entry in my Parameters dialog is causing the problem
:
Name : XMODIFIERS
Value : @im
Then, I ran the "env" utility, as you suggested me. And here is the line that
concerns that particular variable :
XMODIFIERS=@im=none
So, I went back to the Parameters dialog and made the following change :
Name : XMODIFIERS
Value : @im=none
And the problem was gone. So there is an error in the way QDevelop or the Qt
library
fetches environment values containing the "=" character.
Original comment by titcouil...@gmail.com
on 12 Feb 2009 at 2:06
O.K. Continuing on the environment variables bug, I checked QDevelop's code
(more
specifically the "parametersimpl.cpp" file). And I saw that the bug was caused
by
line 67 :
...new QTableWidgetItem( s.section("=", 1, 1)));
Given a QString containing "XMODIFIERS=@im=none", s.section("=", 1, 1) will
return
only "@im", because "none" is s.section("=", 2, 2). So the bug is caused by bad
coding of QDevelop, not by the Qt library.
Original comment by titcouil...@gmail.com
on 12 Feb 2009 at 2:17
[deleted comment]
O.K. I tried also tracking the accents bug. I found the problem. In
"projectmanager.cpp", QDevelop is incorrectly fetching the program's name from
the
MAKEFILE. Here is how QDevelop reads the MAKEFILE :
QFile makefile(...);
if(makefile.open(QIODevice::ReadOnly | QIODevice::Text))
while (!makefile.atEnd())
{
QString line (makefile.readLine());
...
}
The problem is that QFile::readLine() does RAW reading, without considering the
encoding of the MAKEFILE. So, if there are accents in the MAKEFILE (as in my
case),
they won't be read correctly. The solution is to use the QTextStream class :
QFile makefile(...);
if(makefile.open(QIODevice::ReadOnly | QIODevice::Text))
{
QTextStream makefileText(&makefile);
while (!makefileText.atEnd())
{
QString line (makefileText.readLine());
...
}
}
This will solve the accents bug. I attach a MAKEFILE with accents if you want
to test.
Original comment by titcouil...@gmail.com
on 12 Feb 2009 at 3:26
Attachments:
Thank you.
Please whether r392 fixes both problems.
Original comment by Lord.Div...@gmail.com
on 12 Feb 2009 at 9:25
I just tried the new binary, and yes, both problems are solved. Thank you !
Original comment by titcouil...@gmail.com
on 20 Feb 2009 at 5:18
Original issue reported on code.google.com by
titcouil...@gmail.com
on 24 Feb 2008 at 10:28