PDA

View Full Version : QIde, a new IDE for Qt4



jlbrd
12th July 2006, 15:15
QIde is an development environment entirely dedicated to Qt4. QIde requires Qt4, MinGW and possibly gdb for programs debugging . QIde is available in English and French, for Windows and Linux.

Characteristics :
- Reading and writing project files (with some small restrictions)
- Add / Delete and edit files (internal or external of project)
- Management of projects SUBDIRS in a rather correct way I think.
- Independent build for each projects. I.e. are rebuild only the really modified projects.
- In the event of errors or warnings during building, double-click on the line opens the corresponding file on editor.
- Debugging with gdb. Toggle breakpoints by click in the line number on editor or by right click. When the program is stopped on breakpoint, it's possible to view variables contents with a linedit.
- In the editor, F1 call Assistant to show help for the word under the cursor.

QIDe is new but really functional. Test it if you want !

Available on http://qide.free.fr/index_en.html

Thanks

anli
12th July 2006, 17:29
With QT 4.1.4:

g++ -c -pipe -O2 -march=pentium4 -pipe -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I../lineedithistoplugin -I../treeprojetplugin -Isrc -Isrc/ui -I../build/moc -I../build/ui -o ../build/o/unix/editeur.o src/editeur.cpp
In file included from src/mainimpl.h:26,
from src/editeur.cpp:25:
../build/ui/ui_main.h: In member function `void Ui_Main::retranslateUi(QMainWindow*)':
../build/ui/ui_main.h:704: error: 'class QToolBar' has no member named 'setAccessibleName'
../build/ui/ui_main.h:705: error: 'class QToolBar' has no member named 'setAccessibleDescription'
make[1]: *** [../build/o/unix/editeur.o] Error 1
make[1]: Leaving directory `/wrk/zz/tmp/QIde-0.11/Ide'
make: *** [sub-Ide-make_default] Error 2

jlbrd
12th July 2006, 17:33
It's a problem with 4.1.4 version and subdirs. Enter on "Ide" directory then qmake+make

anli
12th July 2006, 17:44
Inside 'Ide' dir:

g++ -c -pipe -O2 -march=pentium4 -pipe -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I../lineedithistoplugin -I../treeprojetplugin -Isrc -Isrc/ui -I../build/moc -I../build/ui -o ../build/o/unix/editeur.o src/editeur.cpp
In file included from src/mainimpl.h:26,
from src/editeur.cpp:25:
../build/ui/ui_main.h: In member function `void Ui_Main::retranslateUi(QMainWindow*)':
../build/ui/ui_main.h:704: error: 'class QToolBar' has no member named 'setAccessibleName'
../build/ui/ui_main.h:705: error: 'class QToolBar' has no member named 'setAccessibleDescription'
make: *** [../build/o/unix/editeur.o] Error 1

jlbrd
12th July 2006, 19:56
I do not understand. The file ui_main.h is built by uic with main.ui. It is not a sources file of the application. Check your configuration. It is good for me under Windows or Linux.

Does somebody have the same problem with Qt 4.1.4 and Linux ?

elcuco
12th July 2006, 19:57
compiled on my OpenSUSE 10.0, qt4 rsync.

Some usability problems, but the application seems to work more or less. Nice for a first release.

jlbrd
12th July 2006, 20:31
Thank elcuco for this test.
What do you think about it?
But why do you say "the application seems to work more or less"?

munna
13th July 2006, 00:00
Is MingW a requirement ? Will MS VC++ compiler not do?

I actually tried compiling with MS VC++ compiler, but I got a few error which says in couple of places strings are too long and it needs to be truncated.

jlbrd
13th July 2006, 00:05
Yes, QIde is only intended for GCC (MinGW under Windows). Perhaps it is possible to compile it with MSVC but then, QIde can control only GCC.

But install minGW, it is easy and free!

anli
13th July 2006, 00:10
I do not understand. The file ui_main.h is built by uic with main.ui. It is not a sources file of the application. Check your configuration. It is good for me under Windows or Linux.

Does somebody have the same problem with Qt 4.1.4 and Linux ?

I have found the problem. Default Gentoo qt ebuild has 'accessibility' flag turnd off. After turning it on the QIde app was built without problems. Probably, qt build configuration must be taken into account somewhere.

elcuco
13th July 2006, 00:15
Thank elcuco for this test.
What do you think about it?
But why do you say "the application seems to work more or less"?

wow. this thread got funky, even tough it's the newest on this forum, it's on the bottom, also the order of the posts is really funky.. weird...

Anyway, the application seems to work, but it's hard to use. You need to spend a lot of time tuninng it up, until it becomes usable. For example, no way for this actions:

closing one tab (ctrl+w)
moving to the left/right tab (ctrl+[] or alt+left/right)
executing the application (F6, F5 debug)
switching header/implementation (shift+f12)


I also found that the combo box which displays the functions is problematic: if one function is too long, it will resize the main window to such size it does not fit in my 1280x1024 screen. You could trunkute the text at ~80 chars. (i will not even claim that using regexps like you are is the correct way for this problem, but lets ignore this for this version).

I would also like to see inline search instead of dialog boxes. Not that hard, you just need to do this inside the main editor class.

You are not asking for confirmation when you close a project, this is weird and caused me problems, on several ocasions. I also would like to open the *.pro file as text files, something not possible on your code.

On the project explorer, the main project name can be on the header, and not as the main node. This will save space, and reduce the "indentation" of the files, this way the project explorer will not take 25% of the screen. Adding an horizontal scroll bar can also help, but is not the best solution. It could be nice, if the node that represents the open file on the tab widget would be selected.

Now, the French code is funky... it took me a little longer to understand what the code does, but that's my problem :)

As I said, it's not usable (to me) yet, but it's a damm nice try. Compiles and works, does not crash and is very minimal. As a very early try, it's a damn nice one.

GreyGeek
13th July 2006, 20:44
Installed it on my W2K side and compiled it using the compiler that came with MSVC++2003. Compiled fine. Runs well. Nice job! :)
I am going to try it on my Linux side later today or tomorrow.

jlbrd
14th July 2006, 00:06
Hi,
The version 0.12 is released on http://qide.free.fr. On this version :

Corrections:
- Maximum Size for the combo “Methods” on editors. Problem with the too long methods.
Adds
- Checking of the version debug or release before execute a program. With warning when the editing version is not available.
- The interface is now in English. Addition of the French translation.
- Some short cuts keyboard:
- Shift+F12 Switch between header and sources
- Ctrl+W Close the current editor
- Alt+Right Next Tab
- Alt+Left Previous Tab
- Ask confirmation when close application


no way for executing the application (F6, F5 debug)
It's good now, and I check the version "debug or release". If the user run a program without debugging and if the whole version available is debug, a warning is displayed.

elcuco
14th July 2006, 11:42
Hi,

Nice, it's nice to see how this application inproves so fast. I will try to compile my own applications on it, and see how it goes. Lets treat this as an "usability test", more then real life experience... :)

If you don't mind me nagging, some more problems:



syntax highlighter bug: when you put a string inside a single line comment, the string is marked as well. For example:

// good text "bad test"
In this example, "bad text" will be marked in red.


Find without result, gives no warning. When you press ctrl+f to start searching and no string is found, the application does not notify the user about it. Popping out a new message box is lame, but some text on the status bar (or some blinking something, somewhere) would be nice.


Bad contrast on the line numbering. The contrast on the line number is really funky, bright color, on bright color. I assume some people will not see it. While I do like the background, it's sometimes used to alert people or displaying some warning message. If you do want to keep that background color, you should make the text color very dark, like black.

BTW, what happens on files with 10000 lines? does that widget expands? or is fixed to 4 digits?


More shortcut issues - select the editor. If it's possible, I would like a shortcut to make the current text editor active. Lets say I am using the mouse to open a file, or I am in the GDB command line, I would like to press "esc" and start writing code once again. The shortcut should be easy to remember, and I recommend "esc" because you are making a text editor: anything else but editing text is extra, and you always come back to it.


More shortcut issues - header/implementation swith (related to 4). First, way cool the shortcut, thanks for adding it. I am testing it, and I saw that when I switch between header/implementation, the text editor is not always selected, and I sometimes find myself on the combo-boxes. If it's possible, can you select the editor on the switch?


More shortcut issues - VS compabillity.

Start program - F6 (not available on VS, but my own extention)
Abort - Shift+F5
Step out: Shift+F11
Also, please put hot keys on every menu and item... hard job, but helps users



The project config dialog is a mess. I have not tested it properly, and my ovsebations are just by looking, and so feel free to ignore me. Anyway, the dialog is way too big, and exposes by default way too much information. The advanced options, can be hidden by default and showed only after a user presses an advanced options (there is a Qt4 example in "qt/examples/dialogs/extension" which shows what I would like to see).
Another option, can be moving this to another tab.


Not a complain, but I just wanted to show this to the reader of this forum:
Type "QString" on an open window, and press F1. cool... :)


This comes out as a long list, but not because it's bad, but because it can improve to be really good.

What are your plans for the future of this application? How would you like to expand it?

jlbrd
15th July 2006, 09:33
Thank you for these tests which improve QIde.

Version 0.13 is available. (http://qide.free.fr)

For the requests:

1. Unsolved. It is necessary that I change all the code for this part. In more it is too slow.

2. Find goes now like that of Kate with dialog box when end is reached.

3. The text is now black. With long texts it works .... now.

4. and 6. Shortcuts are added

5. On switch it's good now. The editor recive the focus

7. I will work above. To come.


What are your plans for the future of this application? How would you like to expand it?
I would like to implement:
- Automatic completion. But It's hard because it is necessary to analyze before headers and sources. Find variables, functions ...
- Version with Designer embedded.

PS : My answers are short because English is difficult for me.

patrik08
15th July 2006, 10:04
Q
QIDe is new but really functional. Test it if you want !

Available on http://qide.free.fr/index_en.html

Thanks

Why if i add a drag list of file only one open? (line 35 code down)

Your method is ....
Editeur * ouvrirFichier(QStringList listeEmplacements, int numLigne=-1, bool modeSilencieux=false);





/* main.cpp */
bool is_file(QString fullFileName)
{
QFile f( fullFileName );
if ( f.exists() ) {
return true;
} else {
return false;
}
}
//
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QStringList list;
for ( int i = 1; i < app.argc(); ++i )
{
QString yourfilemaybe = app.argv()[ i ];
if (is_file(yourfilemaybe)) {
list.append(yourfilemaybe);
}

}
QSplashScreen *splash = new QSplashScreen(QPixmap(":/divers/images/SplashQIde.png"));
splash->show();
QTranslator translator;
QString fichierTraduction = ":/traductions/traductions/QIde_"+QLocale::languageToString( QLocale::system().language() )+".qm";
translator.load( fichierTraduction );
app.installTranslator( &translator );
//
MainImpl *main = new MainImpl;
main->setGeometry(50,50, 800, 550);
/* list of file */
if (list.size() > 0) {
main->ouvrirFichier(list);
}
/* list of file */
main->showMaximized();
//
delete splash;
main->controleEnvironnement();
main->lectureINI();
app.connect( &app, SIGNAL( lastWindowClosed() ), &app, SLOT( quit() ) );
return app.exec();
}

jlbrd
15th July 2006, 10:40
Hi,
On Editeur * ouvrirFichier(QStringList listeEmplacements, int numLigne=-1, bool modeSilencieux=false);
listeEmplacements is a list of location for ONE file and open the first good location on the list.
I don't know why do you want open files on main function because QIde save all opens file on file settings. This files are open when QIde starts.
But if you want replace

#
/* list of file */
#
if (list.size() > 0) {
#
main->ouvrirFichier(list);
#
}
#
/* list of file */
#

by


#
/* list of file */
#
foreach(QString name, list) {
#
main->ouvrirFichier(name);
#
}
#
/* list of file */
#

elcuco
15th July 2006, 11:24
Hi,

I am very happy to see the fast releases of this application, I am also happy to see many improovements.

The search looks better, more intuetive.

The shortcurs issue:
The Shift+F12 looks much better now. The issue with shift+f5 and f6 is like this:
I hate running applications under gdb, as they take a long time to load. This is why I run them usually without gdb. I would like a single button - F6. Stopping a debug session, is not something I normally do, as one should let the applications end normally - a double key hosrtcut is OK there. (IMHO).

Another regression is the way you handle the resizement of the line numbers widget: you resize it as it gets displayed on screen. This is bad, because the size of that widget gets changed while you scroll - a passive command. This leads to the text moving to the left or right when you scroll and confuses you when looking for problems in your code. Also look at the locations in which the "stop" marks are been put now.

The deal with the escape, turned out bad. Now when you press "F10" you cannot abort the messing with menus, at least on win32. Can anyone confirm this for X11? The intentions are good, but a better implementation is bad, maybe you should ovveride the keypress event of the main window instead of using a QAction on the main window?

I have been using the application for a few days, and I am quite impressed about this application. I decided to make a new project and look how it behaves:

I added a new source "main.cpp", and then "Would you like to add also an head file?" now thanks, not this time. Then I added another source "mainwindow.cpp", this time I added also the heder as well. I also added a bunch of existing source with a single opendialog, it worked and all files were put in the correct group. Way cool.

I wrote the code, and started compiling and it faild due compilation problems. I could click the error, and the correct source (and line) were selected. Cool. Then it failed due linking. I needed to add the XML module to the linking. One click and it was done. Yay!

Then it still failed, since the default project is debug, and I don't have the debug libraries here, only the release. Another single click, and I am ready to go.

Then I pressed F5 (as F6 still does nothing usable... hint hint...). The application told me I don't have the debug exe, but only release, and then it asked me to run the release version. WAY COOL.

It looks like this application is way more advanced then I thinked at the beginning. There are some rough edges, but damn, its working. I have a shortcut to it on my desktop, and I am using it now as by default "mini ide".

Here is a new list of problems I found, besides what I mentioned yesterday and above:


Qt environment not set up. It's not needed sometimes, as Qt knows it's own directory. Adding a "do not display again" checkbox could be a good idea. I know it works without it, I don't need it, don't bother me with this.
GDB not installed. Same as (1), it's ok to alert me the 17 first times I run the application. On the 18th time, I am already aware of it. See my proposition on (1).
Choose colors dialog. When you try to choose a color for the syntax, the currently selected color is not marked by default on the new dialog.
Default syntax colors. By default the "precompiler" "keywords" and "qtkeywords" have the same colors. Please also note that types are not keywords...
Edit - cancel/restore. The wording here is problematic. Lets say I add a new file to the project. Does restore or cancel reverts this operation? It's common to use "undo/redo" for text operations, which is what these commands do.
Modifying variables is very difficult. I needed to modify the include path for my new project, and I needed to look up in the documentation whats the exact variable name. May I suggest adding a pre configured list of variables which by default are empty? You should write this to the config file only if the list is modified and non empty. This can help a lot,specially for those of us who do not remember the configuration items.

jlbrd
15th July 2006, 13:23
patrik08
I read again your post and I understand the reason. I modified your code. Thus, can open files or a project. Good idea, thanks. Include in next 0.14 version.


//
for ( int i = 1; i < app.argc(); ++i )
{
QString s = app.argv()[ i ];
if( s.right(4).toLower() == ".pro" )
{
main->ouvrirProjet(s);
break;
}
else
main->ouvrirFichier( QStringList( s ) );
}
//

just before : app.connect( &app, SIGNAL( lastWindowClosed() ), &app, SLOT( quit() ) );

jlbrd
16th July 2006, 15:30
Hi,
New version 0.14 is released on server : http://qide.free.fr


elcuco
All your requests are corrected except the problem of short cut (Ctrl key don' t works one Linux !)


patrik08
Drag and drop files or project to application works.

All news are on server.

I await your remarks,

jlbrd

jlbrd
16th July 2006, 19:16
After a build, if an error or warning is occured, a double-click on the red or blue line open the file on error line. A user says to me that the double-click does not do anything.

Can you say to me if it goes or not for you. And with which Windows or Linux version.

Thanks,

elcuco
16th July 2006, 20:02
It's about time I do something instead of blabla like I did until now:

in margeNumberation.cpp, paintEvent(), this line:


p.drawText( width() -fm.width( txt ) - 2, qRound( position.y() ) -contentsY +ascent, txt ); // -fm.width( "0" ) is an ampty place/indent


and in setDigits:


setFixedWidth( fontMetrics().width( "0" ) * (i) + 32 ); // +2 = 1 empty place before and 1 empty place after


This makes the line number widget behave better, and leves 32 pixels for the icons (break). I tested it with a 20K file (4 digits) and the icons are drawn on the correct location. I number of 22 is also good, more tight.

There are some regressions on this version, I will test it trough today and tomorrow, and report about the ooopses I find.

BTW, the auto hide thingie...? IMHO sux :)

jlbrd
16th July 2006, 21:46
Thank you for this participation. The size of breakpoint icon is 22x22 thus I replaced 32 by 22 in your code. It works fine, tested with a 107000 lines file.

elcuco
16th July 2006, 21:49
Thank you for this participation. The size of breakpoint icon is 22x22 thus I replaced 32 by 22 in your code. It works fine, tested with a 107000 lines file.
Drawing 12,000 lines takes about 2 minutes on my box. How much does it take on your box? (another thing to optimize..)

Btw, you have some *.o and ~ files on the release. You can keep the source bellow 1mb by just cleaning it up...

jpn
16th July 2006, 21:52
BTW, the auto hide thingie...? IMHO sux :)
At least there should be a "pin" button to optionally stick it visible like in VS. ;)

jlbrd
16th July 2006, 22:08
Drawing 12,000 lines takes about 2 minutes on my box. How much does it take on your box? (another thing to optimize..)
Yes, it's very slow for me too. The cause it is the syntax highlighting, very too slow. It should be rewritten
For .o, a new release is on server, thanks.

jlbrd
16th July 2006, 22:11
At least there should be a "pin" button to optionally stick it visible like in VS.
It's optionnal, on dialog "Options"

jpn
16th July 2006, 22:54
It's optionnal, on dialog "Options"
Right, I missed that. But it would still be a nice feature to toggle auto-hiding feature by just a single click (like in VS). Btw, as I've heard, TT is implementing this kind of widget. Not sure if it will arrive in time yet for 4.2, though.

A few suggestions:
- a message box asking whether user wants to compile before starting debugging if any files belonging to the project have been modified since last build
- open file dialog could allow selecting of multiple files
- dynamic shortcuts, i want to debug with buttons i'm familiar with ;)
- properties dialog's layout does not work very well. unchecking "advanced mode" leaves the dialog's size as it is. maybe you could use QDialog's extension for showing advanced properties?
- a possibility of re-arranging tabs the way or another

Keep up the nice work! This project really has some potential.. :)

jlbrd
17th July 2006, 00:20
But it would still be a nice feature to toggle auto-hiding feature by just a single click (like in VS) Have you a screenshot for me for this feature.


- a message box asking whether user wants to compile before starting debugging if any files belonging to the project have been modified since last build
Excuse me but my english is very bad. It posts a message and it would not have?

Can you explain what are the "dynamics shortcuts"?

I will look for the tab and the dialogue config and the multiple files to open.

jpn
17th July 2006, 08:31
Have you a screenshot for me for this feature.
Sure, see attached screenshots.


Excuse me but my english is very bad. It posts a message and it would not have?
I'm not saying you should start copying each and every feature in VS, but I find this very comfortable and handy. After modifying source files, all I have to do is to press the shortcut to start debugging (would currently be F6 in QIde) and it asks me if I want to build the project up-to-date. See attached screenshot.


Can you explain what are the "dynamics shortcuts"?
Configurable shortcuts (can be changed by the user). For example all KDE apps have this "Configure Shortcuts" dialog. Imagine users who are familiar with different shortcuts than you have set. They would not be happy to learn yet another set of shortcuts. ;) I have myself exactly the same debugging shortcuts in both VS and KDevelop. It is really convenient to use same and familiar shortcuts when debugging in different environments instead of trying to keep shortcut differencies in mind all the time.

jlbrd
17th July 2006, 10:16
Thank you for this precisions.

You are right. VS is a good tool. The good things must be copied !

- When a project file or project configuration is modified, if you start debugging, an dialog is already displayed for ask if you want to rebuild before.

- I will add a dialogue to configure the shortcuts keyboard.

- For the docks, I am not sure to be able to do something, I will see.

TheRonin
17th July 2006, 11:42
jlbrd, i tried to download your IDE but the link: http://qide.free.fr doesn't seem to work (404). Could you perhaps provide another url? thanks! :D

jlbrd
17th July 2006, 13:46
I modified the site. It must work now. Can you say it to me ?
Thank you

elcuco
17th July 2006, 19:43
The site works now.

My review of today, V 0.14(a) -
I went to a friend of mine, and I installed on his Windows V0.14, and I saw that the file is 500kb smaller, and the application was modified slightly. mmm....

The application worked quite good, and demostrated the usage of the IDE for an hello wolrd consle application. Nice, as even the output was disaplyed inside the IDE. Now, the bad things:

The new version introduced the auto-hide tabs. The problems with this new system is:

Size when minimized is too big. When you "hide" the tabs, the tab itself should have size of "0". I tried finding out how can I make the tab be zero sized when "hidden". Still nothing.
Dock windows now have minimal size. You cannot shrink the dock windows too much now, as a minimal width (and hight) is enforced. My friend uses 800x600 which made the application unusable until I closed the dock windows. Even on my 1600x1024 this is a big no-no.
They should not modify the lyaout. When you use the auto hide feature, when the tabs are showed, they should not be inside a lyaout, but "float" above in the window. This will lead to the text-editor not move arround when you hide/show the tabs. The idea of the text changing location just by moving the mouse cursor is bad.


Also, the implementation of the "Advanced more" in the project properties window must be changed. When you click the checkbox and the uncheck it, the window just looks bad, and taks too much space on screen.

Some random bugs,

Still some menus have no shortcut (how can you open the View menu?).
When dock windows are hidden, the menu entry for showing/hiding thenm contains an empty string.
The toolbars are showed when you open the file menu, and you are in "auto hide" mode.
Select all from the Edit menu, should have the "ctrl+a" shortcut.
Click the close button on the main window, press esc, application exits (esc means "no, i dont want to quit").


I would like to ask for more featrures, and some better implementations for things. If you don't mind, I will start doying this in a day or two, I know I am boming you with my reports, I just don't want to make you work (too) hard.

jlbrd
19th July 2006, 00:14
The version 0.15 is released on server : http://qide.free.fr

I completely rewrote the part of the docks. Now they have a button to make them maskable. They work now well I think. As in VS.

I added a dialogue to change all the shortcuts.

the implementation of the "Advanced mode" on "Project options" is not modified, I would see later.

elcuco
19th July 2006, 09:17
The application (v0.15) is using 100% constantly here. Do you know what may cause this problem?

Edit: after hiding one of the dock windows, the CPU usage is reduced. Lets find out what went wrong.

jlbrd
19th July 2006, 10:18
I saw this problem. I correct now.

jlbrd
19th July 2006, 10:52
Ok it's good. A redraw in redraw in redraw in redraw...
The appearance of docks hide button is not perfect with Windows but it work.

elcuco
19th July 2006, 18:26
I can confrim this, on the paint event you called update(), commenting it fixes the problem.



diff -r -u QIde-0.15-diego/dockplugin/dock.cpp QIde-0.15/dockplugin/dock.cpp
--- QIde-0.15-diego/dockplugin/dock.cpp 2006-07-19 19:14:05.000000000 +0300
+++ QIde-0.15/dockplugin/dock.cpp 2006-07-19 00:21:43.000000000 +0300
@@ -53,7 +53,7 @@
{
QDockWidget::paintEvent( event );
m_hide->setGeometry( width()-(45+isFloating()*5), 2+(isFloating()*2), 14, 14);
-// m_hide->update();
+ m_hide->update();
}
//
bool Dock::masquable()


Just a side note,
I saw you uploaded an updated ZIP for 0.15 (and also 0.14) without modifying the version. In the future, can you call the new releases 0.15a or something?

edit:

remarks about this version:
Bug: press ctrl+f, the find window opens, press enter (search for nothing) and another find window is opened. you can continue like this until the enter key gets broken on your keyboard or you get bored (I got bored after 5-6 windows).

Almost bug: Since the first day I am using this application I had problems with my svn. I finally understood why. You application saves the text files using cr/ln -> windows style, while I use the unix style. Yes, there are svn options to fix this, but this is not the issue. IMHO the application should keep the line ending of the original file, and give sane default on win32, and linux. If possible, even provide an option to the user to choose between the 2 line endings as a global configuration.

Now that I am asking for new features, it's time to do it properly :)


The find dialog you use is so 80's, get a more modern style one, like Firefox. I can recommend you also this link for reading, it will give you some ideas:http://serversideguy.blogspot.com/2004/12/google-suggest-dissected.html
I need a replace and goto line dialog.
I would like to have a shortcut to comment the current line, like in kate: ctrl+d. But, unlike kate, I would like to use the same shortcut to comment and uncomment the line or code.
When adding a new dialog (or window), I would like to be prompted for an implementation header/cpp files. If possible, on the new item dialog, a line edit and checkbox should be added. The generated code will also include comments which say "write this code here" or something similar. If it's the first dialog or window on the project (the UI list is empty?) another dialog will be opened and the user will be asked if he wants the new widget to be the main window, and a "main.cpp" file will be generated for him (using the new implementation, or by using the generated from from the designer depending on the status of that check box.

The new shortcut dialog is great, you just missed 2 empty items on the top of the list.

/me is happy (almost) :)

jlbrd
20th July 2006, 00:00
In the future, can you call the new releases 0.15a or something?
Ok for a unique name for each release.


Bug: press ctrl+f, the find window opens, press enter (search for nothing) and another find window is opened.The bug for Ctrl+F is solved, thanks

You application saves the text files using cr/ln -> windows style, while I use the unix style. QIde save files with current system style with QString::toPlainText(). A file created on Linux have 0x0a as separator. On Windows it's 0x0d 0x0a. I checked by opening files created under Linux and Windows with khexedit. If you create files under Linux, the end line is good for you normaly. But I will see whether it is possible to add a dialogue to configure it.


for new features :
1- Perhaps I will see.
2- Yes it's essential
3- Yes good idea
4 - Yes good idea but : I prefer to make subclassing when the form already exists. It is possible to choose the slots to be implemented (like buttonOk_clicked() ). With an option to make the main.cpp and insert code template.


The new shortcut dialog is great, you just missed 2 empty items on the top of the list. It is what these two lines? I do not understand.

jlbrd
20th July 2006, 08:27
I would miss forum and mail during approximately two weeks. If there are questions, I will answer at this time.

Thanks

jpn
20th July 2006, 11:50
It is what these two lines? I do not understand.
There are even more empty lines (14) for me..
Also, the shortcut table doesn't react to changing width of the dialog.

jlbrd
1st August 2006, 17:43
There are even more empty lines (14) for me..
Ok it's solved. Available with next release.

elcuco
1st August 2006, 19:13
Hi,

The hiding buttons on the window docks are borked under Qt4.2-rsync, if you compile against Qt4.2 you should not use those buttons at all.

Another oopses I found:

Open a project, then press the first button on the toolbar (to create a new project). The current project is closed, even if I press cancel (close the current project, only when opening a new one, not when you activate that commands).

Inserting a new QMainWindow from the menus, will crash Qtdesigner 4.1.X. Did not test with 4.2.x.

A new feature request:
When I open a file (btw, missing shortcut -> ctrl+O), I would like the that dialog to remember it's location. This can be done by setting up a static QString in that function, making it the default directory, and if the user aproved the action, set it up for the next time.

jlbrd
2nd August 2006, 09:20
The hiding buttons on the window docks are borked under Qt4.2-rsync, if you compile against Qt4.2 you should not use those buttons at all.
After a long time, I think it's a Qt bug. This bug appear when QDockWidget is subclassed then dock is moved when dock is docked. To verify run the project in attachment file. I sended a request to Qt bugtrack.


Open a project, then press the first button on the toolbar (to create a new project). The current project is closed, even if I press cancel (close the current project, only when opening a new one, not when you activate that commands).

Inserting a new QMainWindow from the menus, will crash Qtdesigner 4.1.X. Did not test with 4.2.x.Thanks, it's solved for next release.


A new feature request:
Ok I will do it.

EDIT : To see the bug, run ./dockwidget in gdb !

elcuco
2nd August 2006, 21:04
the attached example works fine. am i missing something.

jlbrd
2nd August 2006, 21:13
Load with gdb then launch. Move dock "Cutomers" on other place. Normaly the program stop on "assert" warning.

elcuco
2nd August 2006, 21:19
ok, now i see :(

jlbrd
2nd August 2006, 21:37
A new task was created on Qt Task Tracker. Then wait and see...

jlbrd
6th August 2006, 15:05
Hi,
The version 0.16 is released on http://qide.free.fr. On this version :
Corrections :
- Add good templates (QDialog, QMainWindow and QWidget) for forms (.ui) append.
- The find method of executable name was rewritten and work better.
- Shortcuts dialog was rewritten to delete empty lines.
- Good compatibility 64bits.
Adds :
- On editor, the tabs can be replaced by spaces.
- The end-of-line can be configured to Default, Unix or Windows mode. In Linux mode, the lines are terminated by "\n". In Windows by "\r\n". In default mode, the end-of-line terminators are translated to the local encoding.
- By right-clic on Dialog (.ui) on "Project Explorer" (see screenshots), it is possible to create or update the files subclassed. The auto-connect slots can be selected and created on implementation files. A form can have many implementations, then an combo list already existing implementations. It is possible to create new implementations.

Elcuco : It is not possible to create the implementation at the same time as the dialogue. Indeed, with its creation, the dialogue is empty and its name is Dialog. It is to better create the subclass when widgets are present and the dialog correctly named.

A forum is now present on http://qide.free.fr/forum to assure technical support.

elcuco
6th August 2006, 19:31
Hi jlbrd,

Wow boy I was wrong... I thought that asking the user for a dialog name was a good idea... you definetly proved me wrong. I like your implementation, it just saves so much work, and I did not konw about all those slots... way cool...

However I looked at the dialog you made, and I did not like them. They contain too much white space, and lot "real estate". I edited on the designer a little bit and got what I think better results: the slots/signals space is now much larger and more readable. I am attaching here screen shots and the new UI files.

As for problems/requests in this version, some minimal things:


goto line dialog
replace dialog
inline search dialog
a "dont ask again" checkbox on the quit dialog (or option to disable on the configuration, much better).
get rid of those tab widgets in the dock windows, they are useless now, just use QDockWidgets for everything and demand Qt 4.2... :)


Now I have a special request:
I am using a lot the subdirs template. One of my sub-projects is a library, and others are applications (or other libraries). Sometimes I would like to build or execute only a project. What I am proposing, is the way that visual studio works: right lick a sub-project (or the main project) to make it the default, and the "run, make, clean, debug" commands will apply only to it. Is it hard to implement this stuff?

http://img343.imageshack.us/img343/2860/qide016newformsgr9.th.png (http://img343.imageshack.us/my.php?image=qide016newformsgr9.png)

/me happy puppy :)

sector
8th August 2006, 00:45
Hello,

firstly thanks for QIde, it seems to really promissing IDE.

My few observations:

1. When no project is open, cannot DragNDrop .pro file to QIde for project to be open.
2. Strange squares appear at the end of the line in Build window (see shot1).
3. If general version is debug and I try to run project, shot2 window always appears. It's really annoying. I would suggest to remove it completely (during development I always want to run debug version) or at least make "do not display again" option.
4. It would be wonderfull if there were color schemes in QIde, ie. black, I really like vim's pablo color scheme when editing code :) (shot3)
5. There seems to be a little bug (or is it the way it's ment to be?) with customing syntax highlighting colors, see shot4.
6. A Faire.txt - should be english. Consider INSTALL.txt file, mention to run "qmake -recursive" not just "qmake" before make, otherwise you'll get. "doc" directory contains only french documentation, if you plan to make QIde "worldwide" consider english instead ;)

F:\qt-devel\QIde-0.15>qmake

F:\qt-devel\QIde-0.15>make
cd Ide && mingw32-make -f Makefile
mingw32-make[1]: Makefile: No such file or directory
mingw32-make[1]: *** No rule to make target `Makefile'. Stop.
mingw32-make[1]: Entering directory `F:/qt-devel/QIde-0.15/Ide'
mingw32-make[1]: Leaving directory `F:/qt-devel/QIde-0.15/Ide'
mingw32-make: *** [sub-Ide-make_default] Error 2

And need to "cd Ide" && qmake && make

7. Context menu on Build tab would be fine to configure how verbose compilation should be (right click, I think kdevelop has this feature).

QIde 0.16, Qt 4.2.0-tp1, win2000, mingw

Just saw http://qide.free.fr/forum/ but too late :)

Best regards.

jlbrd
8th August 2006, 12:47
Hi,

Elcuco : Your 4 first requests will be made. For the number 5, ok for "project explorer" but not for "Output" dock because it has 3 tab. I will not create 3 docks !
for your special request, it is already done partly. Indeed,if your project contain most executable (it's a sub-project), when you choose "Run", QIde show a dialog to choose the executable to debug. If you check "Don't ask...", the same program will be always launched.

sector:
1: Yes, I will add it if it is possible.
2: Only on Windows. Not on Linux. I will modify.
3. If none is displayed, you can launch an old program without the knowledge. If you are on "Debug mode" run 'Start on Debugger', on "Release mode" run "Start Program" and you will not have a message.
4. Yes good suggestion, thanks.
5. It's not a bug, just a small problem of showing.
6. A Faire.txt it's for me (but I could remove it ). I try to do everything in English (site, interface) but it's hard for me.
For "qmake -recursive", it's a Qt 4.2 bug and not a QIde bug. With 4.1.4, make work fine with subdirs.
Warning : Your qmake command is on QIde-0.15 directory and you say to me that you have 0.16.

Thank you for these remarks

krawek
8th August 2006, 17:31
Hi,

is possible download QIde from svn?

thanks,

--David

jlbrd
8th August 2006, 19:36
No, the archive is available in zip format on http://qide.free.fr/download/

But why do you prefer svn?

krawek
9th August 2006, 01:28
Hi Jean-Luc,

I prefer svn because I can update only the files that are modified.... and I can send you patches easily.

--David

jlbrd
12th August 2006, 19:01
Hi,
The version 0.17 is released on http://qide.free.fr. On this version :
Corrections :
- Some small defaults.
Adds :
- Code completion available thanks to Frédéric Julian (fred.julian AT gmail.com) for his excellent work. Completion need ctags under Linux and Windows. On Linux it is normaly installed with package developement. On Windows it should be downloaded on the site of ctags: http://ctags.sourceforge.net/
- Possibility to change background color of editors in options dialog.
- Goto line dialog.
- Replace dialog.
- Find works like in Firefox at bottom of editors (special feature for Elcuco ;) ).

It's the first version with code completion. Please say me if it works fine for you or encountered problems.

elcuco
12th August 2006, 20:51
hi,

been looking at the new software for an hour (got it before you announced here... he...), nice new features, btw, the replace and goto line dialog can be done also without poping out a new window.

the ctags support works on win32 as well. slow as hell (and practically unsable at the moment. you are parsing the tags file on each request, which imho is not very efficiant. (timer? when saving files and the initial openning?). i see also that you can detect this code:



QString s;
s.toLow{er(}


quite cool. this does messes up the code a little bit, and removes some lines but it looks very promissing. you can also remove those hacky regex that check for function definitions, use the infromation gives by the ctags system, and even imlpement a class view.

i also noticed that the loading time for indiviual files has increased.

thanks for the hige update!

sector
14th August 2006, 14:46
QIde-0.17-a - crash when project not found anymore

Situation: I had a test project in directory which QIde always loaded after start. When I deleted this dir with project, OIde says: The project ... don't exists. (should be "doesn't exist" by the way:-) and crashes.

I recompiled in debug mode, here is backtrace from GDB:

Starting program: F:\qt-devel\QIde-0.17-a\bin/QIde.exe
warning: QLayout::addChildWidget: Dock "dockExplorateur" is already in a layout; moved to new layout

Program received signal SIGSEGV, Segmentation fault.
0x005904cb in QTreeWidgetItem::text (this=0x0, column=0)
at F:/qt/Qt_4.2.0-tp1/include/QtGui/../../src/gui/itemviews/qtreewidget.h:75
75 { return data(column, Qt::DisplayRole).toString(); }
Current language: auto; currently c++
#0 0x005904cb in QTreeWidgetItem::text (this=0x0, column=0)
at F:/qt/Qt_4.2.0-tp1/include/QtGui/../../src/gui/itemviews/qtreewidget.h:75
#1 0x00442c66 in GestionProjet::repertoireProjet (this=0x0, it=0x0)
at src/gestionprojet.cpp:1204
#2 0x0046018f in MainImpl::ouvrirFichier (this=0x491aa90,
listeEmplacements=0x22fc10, numLigne=-1, modeSilencieux=false)
at src/mainimpl.cpp:903
#3 0x0045ab16 in MainImpl::lectureINI (this=0x491aa90) at src/mainimpl.cpp:623
#4 0x0044b925 in qMain (argc=1, argv=0x3f443e8) at src/main.cpp:61
#5 0x004a594f in WinMain (instance=0x400000, prevInstance=0x0, cmdShow=10)
at qtmain_win.cpp:103
#6 0x004a54da in main ()

jlbrd
14th August 2006, 17:22
This problem is corrected for the next version. If you want before this future version you can change the variable nomAbsoluFichierProjet or remove the file ./config/QIde.conf in your home directory. Under Windows find and change the variable with regedit.


should be "doesn't exist"Thanks to tell me when the English in interface is not correct.

EDIT : Other solution simpler. Pass a project name to QIde on command line in a terminal or cmd.exe : QIde.exe myProject.pro and the project will be open without crash.

ak
15th August 2006, 05:08
It's really nice IDE! BIG THANKS, because I used notepad before :)
But I found a little thing to correct. It's problem with saving non-latin chars, my russian comments have turned to "???????" strings :) OK, I opened textEdit.cpp file (at 317:22) and corrected toLatin1() function to toLocal8Bit(), so now QIde saves correctly my files.

jlbrd
15th August 2006, 08:49
Ok thanks. It's modified and will be in next release.

JL

elcuco
15th August 2006, 19:31
... actually, I wanted to ask to choose the locale from which the files should be loaded...

while we are asking for new features:


auto brackets (you press "{" and "}" gets added to the text automagically)
mark the current line, with a special backgrund color (easier to spot the current line)
add a wizard which generates a "main.cpp" by calling a main window (like it was on Qt Designer 3, remember...?)
when saving the *.pro files, not saving every variable with a new line.
syntax highliting for other file types (not only c/c++)
file -> new, should be a new text file, new project should be on the project menu.
right clicking an item on the project explorer will have menu entry which lets you add a new item of that type (new dialog, new header, source, etc).
on dialogs, on right click an item to preview the dialog, without opening designer. should be trivial, and will help when you are looking into a new project.
on the open dialog, each type of files should be on a separate item list,
"sources *.cpp *.h", "projects *.pro", "text *.txt", "all files *" etc... this can ease the loading of files from the ide.


huge thanks!

jlbrd
15th August 2006, 20:00
... actually, I wanted to ask to choose the locale from which the files should be loaded... I don't understand why you say this !?

EDIT : If you say this for the toLocal8Bit() request, for me it is not a problem if the new function works for everybody ? But I perhaps did not understand well?

elcuco
15th August 2006, 22:40
for example:
my locale is set on linux to "en_US" but I want my files to be loaded in UTF-8, but some special files I want to load using "cp-1255". I would like to have a golabl value, with all locales supported by Qt and "default" which falls back to toLocal8Bit().

If possible also an option to override this on loading (a new cool combo box on the open dialog).

pasnox
16th August 2006, 08:40
It crash again when i open a project with command line ( Windows ) v0.17

P@sNox,

jlbrd
16th August 2006, 18:19
Yes, it's fixed and will be available with 0.18 release. If you want before this future version you can change the variable nomAbsoluFichierProjet or remove the file ./config/QIde.conf in your home directory. Under Windows find and change the variable with regedit.

jlbrd
27th August 2006, 09:49
Hi,
The version 0.18 is released on http://qide.free.fr :

Corrections :
- Now detect translated "error" and "warning" strings in gcc logs to show lines on red and blue and to permit the double-click to open editors.
- Crash on starts when last project is not present
- Rewriting of cpp syntax highlighter. Work well and more quickly. Highlighting is now enabled only for .c, .cpp, .cc and .h files only.
- Remove stranges characters in Build Log window.
- The location of qmake is set during QIde compilation then used to call qmake. But sometimes this location is not good thus in options dialog it is possible configure it.
- Rewriting of parser who populates the combo classes and methods. Now requires ctags and normally works with all styles of code.
Adds :
- Auto brackets in editor. When "{" is pressed, "}" gets added to the text automatically and text between is indented.
- Highlight current line
- On dialogs, a menu "Preview" available by right-click on item preview the dialog, without opening Designer. Each widget shows a tooltip containing his name and classname.
- Dutch translation
- Find in files
- Improvement of the Qt contextual help. When F1 is pressed on word in editor, Assistant is launched.

If the word is an Qt object, the corresponding page is displayed (qstring.html if the word is QString).
If the word is a function, the page called is the class of this function and in the page the anchor corresponding of the word is displayed. Example : in code : QString foo="ab"; foo = foo.remove("a"); If F1 is pressed on the word "remove", Assistant shows the page qstring.html at the place of the anchor "remove". That does not work every time because the anchor names are not always identical to the names of functions.

- The Project explorer have now two view modes accessible by right click then choose "Show As".
- Close a tab by right-click on it even if it is not the currrent tab.

elcuco
27th August 2006, 11:21
does not compile here:



g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQMAKEPATH="/usr/local/Trolltech/qt4-rsync/bin/qmake" -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Trolltech/qt4-rsync/mkspecs/default -I. -I/usr/local/Trolltech/qt4-rsync/include/QtUiTools -I/usr/local/Trolltech/qt4-rsync/include/QtCore -I/usr/local/Trolltech/qt4-rsync/include/QtCore -I/usr/local/Trolltech/qt4-rsync/include/QtNetwork -I/usr/local/Trolltech/qt4-rsync/include/QtNetwork -I/usr/local/Trolltech/qt4-rsync/include/QtGui -I/usr/local/Trolltech/qt4-rsync/include/QtGui -I/usr/local/Trolltech/qt4-rsync/include/QtXml -I/usr/local/Trolltech/qt4-rsync/include/QtXml -I/usr/local/Trolltech/qt4-rsync/include -I. -I../dockplugin -I../lineedithistoplugin -I../treeprojetplugin -Isrc -Isrc/ui -I../build/moc -I../build/ui -o ../build/o/unix/mainimpl.o src/mainimpl.cpp
src/mainimpl.cpp: In member function ‘void MainImpl::sauvegardeINI()’:
src/mainimpl.cpp:504: error: ‘usr’ was not declared in this scope
src/mainimpl.cpp:504: error: ‘local’ was not declared in this scope
src/mainimpl.cpp:504: error: ‘Trolltech’ was not declared in this scope
src/mainimpl.cpp:504: error: ‘qt4’ was not declared in this scope
src/mainimpl.cpp:504: error: ‘rsync’ was not declared in this scope
src/mainimpl.cpp:504: error: ‘qmake’ was not declared in this scope
src/mainimpl.cpp:504: error: expected primary-expression before ‘(’ token
src/mainimpl.cpp:504: error: expected primary-expression before ‘/’ token
src/mainimpl.cpp: In member function ‘void MainImpl::controleEnvironnement()’:
src/mainimpl.cpp:1601: error: expected primary-expression before ‘/’ token
src/mainimpl.cpp:1601: error: ‘usr’ was not declared in this scope
src/mainimpl.cpp:1601: error: ‘local’ was not declared in this scope
src/mainimpl.cpp:1601: error: ‘Trolltech’ was not declared in this scope
src/mainimpl.cpp:1601: error: ‘qt4’ was not declared in this scope
src/mainimpl.cpp:1601: error: ‘rsync’ was not declared in this scope
src/mainimpl.cpp:1601: error: ‘qmake’ was not declared in this scope
make[1]: *** [../build/o/unix/mainimpl.o] Error 1

elcuco@linux:~/src/qt4-editors/QIde-0.18> echo $QTDIR
/usr/local/Trolltech/qt4-rsync



more details in a few hours

jlbrd
27th August 2006, 11:37
The character #8216 is the left single quotation mark. With Qt 4.1.4 the command is :

g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQMAKEPATH=\"/usr/local/Trolltech/Qt-4.1.4/bin/qmake\" -DQT_NO_DEBUG with \ before "
and the Makefile in Ide directory contains :

DEFINES = -DQMAKEPATH=\"$(QMAKE)\" -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED

Perhaps that qmake of 4.2.x does not put the \ before “ in Makefile?

elcuco
27th August 2006, 11:52
DEFINES = -DQMAKEPATH="" -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED


you are right. a work around (and better solution) should be detecting the path to qmake using QTDIR on runtime, and if not found using QLibraryInfo::BinariesPath (this way I can choose which QTDIR to use by changing environment variables).

I have a lot of bugs and crashes, which I will report in the evening (like the "comment this line" crash).

Dud, you forgot the find in filles option (which works fine here). :)

jlbrd
27th August 2006, 15:46
a work around (and better solution) should be detecting the path to qmake using QTDIR on runtime, and if not found using QLibraryInfo::BinariesPath (this way I can choose which QTDIR to use by changing environment variables).

On runtime it's not the better solution because qmake for Qt4 is sometimes named qmake4 or other (in the development packages of several Linux). The variable QMAKEPATH is a good solution because it design location+name. It not work with 4.2.x but Trolltech must correct that. But QMAKEPATH is not THE solution because under my Windows XP, the variable contains "qmake" alone without location. For this reason it can be defines in the “Options” dialog.

elcuco
27th August 2006, 18:13
I was talking about the default value, if none saved on the configuration files. Try to $QMAKEPATH, then $QTDIR/qmake, $QTDIR/qmake4 and then fallback to using the library.

Anyway, here are some bugs I found:

maring a line as comment will crash QIde. To reproduce just press ctrl+d.
Mark current line is lost. To reproduce uncheck the mark current line, close the window. Now open the configuration once again, and set the option "on" back again. The current line will not get highlighted. On the next restart, the mark of the current line will be in black.
Some icons have different size. The save, rebuild, stop build, start application buttons on the toolbars are smaller then the toolbar. This just looks bad.
slots are not connected on UI proviews. Lets say I have a window with some default slots connected (click that checkbox to enable/disable another widget). The slots will not be connected on the preview, even tough they are in QDesigner.
auto hide does not work on Qt42. What happens is that you loose those docks completely and cannot make them available. IMHO, you should disable this functionality on Qt42.
Outputs dock cannot be docked on the sides


This is not surely a bug, but may be one of the thigns I broke in order, but the qmake setting is never saved on my box.

As a bonus, I am attaching here a a revised options.ui dialog. I mainly removed most of the qframes (in the first and 2nd tab). I reordered the buttons on the last tab and now the buttons look better on screen, I also added a resize handle. The reason why I started hacking on this UI, is that the dialog looked too tall on my screen. IMHO windows should not be too much tall, and the bigest axis should be X (like the screen).

The new layout takes less screen, and IMHO is more productive. The original window is on the right, mine is on the left. It still needs some work, please comment.

http://img292.imageshack.us/img292/6408/qidenewdialoglr8.th.jpg (http://img292.imageshack.us/my.php?image=qidenewdialoglr8.jpg)

jlbrd
28th August 2006, 14:02
Hi,
A new version 0.18-a is available :

Corrections:
- A crash when "Edit | Toggle comment" is choose on unselected line.
- A crash when Enter key is pressed in a header.
- Widgets slots in preview dialogs are now connected.
- Audo-hide dock does not work on Qt 4.2.x and this feature is disabled for this version.
- Problem if current line color is disabled in options dialog.
Adds:
- Menus "Comment" and "Uncomment".

For the problem with DEFINES in .pro and with 4.2.x, a request has been posted to Qt "Task Tracker".

For your requests 3 and 6 ok but later. I just corrected bugs of 0.18.

jlbrd
28th August 2006, 21:44
I have the response by Trolltech for the problem of DEFINES=QMAKEPATH=\"$(QMAKE)\" in Ide.pro :

"We've changed some of the quoting rules to allow for spaces in paths and
other things that couldn't be done with the old quoting rules."

It is necessary that I find a solution. Certainly find qmake by QTDIR (as before) then by opening dialog if not found

All works with last version?.

elcuco
29th August 2006, 18:49
no, it still does not compile.

I am attaching here a patch which overcomes this by detecting the qmake binary on runtime. The patch is dirty, mainly because you are saving the files in (iso8859-1?) and I am loading them in UTF-8, and because I am too lazy to review it again.... ;)

The code is this:


bool isExecutable( QString fileName )
{
return (QFile::permissions(fileName) & QFile::ExeOwner !=0 );
}

void MainImpl::lectureINI()
{
...
m_qmakeName = settings.value("m_qmakeName", "" ).toString();
if (m_qmakeName.isEmpty())
{
if (isExecutable(QLibraryInfo::location(QLibraryInfo: :BinariesPath) + "/qmake4" ))
m_qmakeName = QLibraryInfo::location(QLibraryInfo::BinariesPath) + "/qmake4";
else if (isExecutable(QLibraryInfo::location(QLibraryInfo: :BinariesPath) + "/qmake" ))
m_qmakeName = QLibraryInfo::location(QLibraryInfo::BinariesPath) + "/qmake";
}

...
}


The code was tested here, and it seems to work as expected.

jlbrd
30th August 2006, 06:52
Thank you for this patch but I will give the old method:
1. Load ini file and especialy qmake location
2. Run and test it by evaluate his text returned
3. If it's not good, detect it by QTDIR environment variable or QLibraryInfo::location
4. If it's not still good, open a dialog to choose his location.

The next version 0.19 will be entirely translated in English: function names, variables, comments etc. to make most easy the reading and modification for everyone.

fullmetalcoder
30th August 2006, 10:29
Just a short question : assuming that someone doesn't have CTags installed (I don't) and doesn't want to wait for hours while its old 56k attempt to download it, how does he build QIde ? I didn't see any magical trick to build without code completion and I don't feel like rewriting half of an application just to exclude a feature in alpha-stage...

jlbrd
30th August 2006, 11:21
ctags is not required to build QIde. If ctags is not present, there will be a warning message when QIde starts and not completion available. But it's not required to compile.

elcuco
30th August 2006, 18:00
http://belnet.dl.sourceforge.net/sourceforge/ctags/ec56w32.zip

This file is about 350kb, and contains the source and binary for windows. according to my calculations, it should not take more then 2 minutes to download (I caculated 54 seconds).

jlbrd
30th August 2006, 18:04
Yes and under Linux (and under Mac?) it's installed with development packages.

fnmblot
30th August 2006, 18:12
jlbrd, I really have to thank you for QIde. It really does help in developing, and it is not very intrusive to my code. I don't like the way it changes the .pro files, though. No big deal, I just edit those manually. But I have noticed that with decent size files, 300 lines or more, when I do a . or a -> ie. ui.pushbutton1 or myTextEdit->clear() the system takes a while to catch up. Is this going to be a "feature" to autocomplete the code?

fnmblot

jlbrd
30th August 2006, 18:24
Thanks to appreciate QIde. Code completion requires of an file is created on disk (ctags) and for each request, the file is opened and parsed to find the good context. But in future, that will be improved, especially of speed. If it's too slowest, it is possible to deactivate code completion in options dialog.

fullmetalcoder
2nd September 2006, 10:26
ctags is not required to build QIde. If ctags is not present, there will be a warning message when QIde starts and not completion available. But it's not required to compile.
I got error message when trying to compile 0.17-a under win. Didn't tried earlier versions...


http://belnet.dl.sourceforge.net/sou...gs/ec56w32.zip

This file is about 350kb, and contains the source and binary for windows. according to my calculations, it should not take more then 2 minutes to download (I caculated 54 seconds).
Address isn't good and when I was talking about a lot of time it included finding a working package... :p

jlbrd
2nd September 2006, 11:15
I got error message when trying to compile 0.17-a under win. Didn't tried earlier versions.But which error? Post the error message if not that will not be simple to correct.


Address isn't good and when I was talking about a lot of time it included finding a working package.Launch your navigator, on Google page, enter "ctags" then click on "Search" button. You are lucky! It's the first result. But you are very lucky because there is a direct link to download!

fullmetalcoder
4th September 2006, 16:56
mingw32-make[1]: Entering directory `C:/Projects/QIde-0.17-a/Ide'g++ -c -O2 -O2 -Wall -frtti -fexceptions -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"C:/Qt/4.1.3/include/QtUiTools" -I"C:/Qt/4.1.3/include/QtCore" -I"C:/Qt/4.1.3/include/QtNetwork" -I"C:/Qt/4.1.3/include/QtGui" -I"C:/Qt/4.1.3/include/QtXml" -I"C:/Qt/4.1.3/include" -I"." -I"..\dockplugin" -I"..\lineedithistoplugin" -I"..\treeprojetplugin" -I"src" -I"src\ui" -I"C:/Qt/4.1.3/include/ActiveQt" -I"..\build\moc" -I"..\build\ui" -I"..\..\..\Qt\4.1.3\mkspecs\win32-g++" -o ..\build\o\win32\parse.o src\QIComplete\parse.cpp
In file included from src\QIComplete\parse.cpp:14:
src\QIComplete\/parse.h:15:31: ../InitCompletion.h: No such file or directory
In file included from src\QIComplete\parse.cpp:14:
src\QIComplete\/parse.h:81: error: `Tag' does not name a type
In file included from src\QIComplete\parse.cpp:15:
src\QIComplete\/tree.h:29: error: ISO C++ forbids declaration of `InitCompletion' with no type
src\QIComplete\/tree.h:29: error: expected `;' before '*' token
src\QIComplete\/tree.h:76: error: `Tag' was not declared in this scope
src\QIComplete\/tree.h:76: error: template argument 1 is invalid
src\QIComplete\/tree.h:76: error: ISO C++ forbids declaration of `findEntries' with no type
src\QIComplete\parse.cpp:510: error: `Tag' does not name a type
g++ -c -O2 -O2 -Wall -frtti -fexceptions -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"C:/Qt/4.1.3/include/QtUiTools" -I"C:/Qt/4.1.3/include/QtCore" -I"C:/Qt/4.1.3/include/QtNetwork" -I"C:/Qt/4.1.3/include/QtGui" -I"C:/Qt/4.1.3/include/QtXml" -I"C:/Qt/4.1.3/include" -I"." -I"..\dockplugin" -I"..\lineedithistoplugin" -I"..\treeprojetplugin" -I"src" -I"src\ui" -I"C:/Qt/4.1.3/include/ActiveQt" -I"..\build\moc" -I"..\build\ui" -I"..\..\..\Qt\4.1.3\mkspecs\win32-g++" -o ..\build\o\win32\tree.o src\QIComplete\tree.cpp
In file included from src\QIComplete\tree.cpp:11:
src\QIComplete\/tree.h:15:31: ../InitCompletion.h: No such file or directory
In file included from src\QIComplete\/tree.h:16,
from src\QIComplete\tree.cpp:11:
src\QIComplete\/parse.h:81: error: `Tag' does not name a type
In file included from src\QIComplete\tree.cpp:11:
src\QIComplete\/tree.h:29: error: ISO C++ forbids declaration of `InitCompletion' with no type
src\QIComplete\/tree.h:29: error: expected `;' before '*' token
src\QIComplete\/tree.h:76: error: `Tag' was not declared in this scope
src\QIComplete\/tree.h:76: error: template argument 1 is invalid
src\QIComplete\/tree.h:76: error: ISO C++ forbids declaration of `findEntries' with no type
src\QIComplete\tree.cpp:15: error: expected constructor, destructor, or type conversion before '*' token
src\QIComplete\tree.cpp:15: error: expected `,' or `;' before '*' token
src\QIComplete\tree.cpp: In static member function `static Tree* Tree::buildInheritanceTree(const QString&)':
src\QIComplete\tree.cpp:36: error: `parent' undeclared (first use this function)
src\QIComplete\tree.cpp:36: error: (Each undeclared identifier is reported only once for each function it appears in.)
src\QIComplete\tree.cpp: In static member function `static Tree* Tree::buildIncludeTree(Tree*, const QString&, Tree*)':
src\QIComplete\tree.cpp:157: error: `parent' undeclared (first use this function)
src\QIComplete\tree.cpp: At global scope:
src\QIComplete\tree.cpp:283: error: `Tag' was not declared in this scope
src\QIComplete\tree.cpp:283: error: template argument 1 is invalid
src\QIComplete\tree.cpp:284: error: ISO C++ forbids declaration of `findEntries' with no type
src\QIComplete\tree.cpp: In static member function `static int Tree::findEntries(const Expression*, const Scope*)':
src\QIComplete\tree.cpp:285: error: `Tag' undeclared (first use this function)
src\QIComplete\tree.cpp:285: error: template argument 1 is invalid
src\QIComplete\tree.cpp:285: error: invalid type in declaration before ';' token
src\QIComplete\tree.cpp:289: error: `parent' undeclared (first use this function)
src\QIComplete\tree.cpp:303: error: template argument 1 is invalid
src\QIComplete\tree.cpp:337: error: expected `;' before "tag"
src\QIComplete\tree.cpp:338: error: `tag' undeclared (first use this function)
src\QIComplete\tree.cpp:338: error: `prettifyTag' is not a member of `Parse'
src\QIComplete\tree.cpp:434: error: expected `;' before "tag"
src\QIComplete\tree.cpp:436: error: `prettifyTag' is not a member of `Parse'
src\QIComplete\tree.cpp:440: error: `prettifyTag' is not a member of `Parse'
src\QIComplete\tree.cpp:453: error: template argument 1 is invalid
g++ -mthreads -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-s -Wl,-s -Wl,-subsystem,windows -o "..\bin\QIde.exe" object_script.QIde.Release -L"c:\Qt\4.1.3\lib" -lmingw32 -lqtmain ..\build\o\win32\QIde.o -lQtNetwork4 -lQtUiTools -lQtXml4 -lQtGui4 -lQtCore4
C:\DEV-CPP\BIN\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw 32\bin\ld.exe: cannot find ./..\build\o\win32\parse.o
collect2: ld returned 1 exit status

Doesn't seem to be linked to ctag actually : rather looks like an include problem...


Launch your navigator, on Google page, enter "ctags" then click on "Search" button. You are lucky! It's the first result. But you are very lucky because there is a direct link to download!
What a luck!!! :D

BTW, I tried it under Linux and it worked.
A few comments :

It works fine and looks nice...
It is slow as hell...
The completion window should be movable (Drag and drop)

jlbrd
4th September 2006, 20:54
It's not a Ctags problem but this :

src\QIComplete\/parse.h:15:31: ../InitCompletion.h: No such file or directory
this header is not found, it's all however the file exists in the zip. It's an old version, try with the last.
For the speed: Under Windows it's slow yes but that will be improved.
It don't understand why it would have to be moved?

elcuco
8th September 2006, 19:51
Hi Jean-Luc,

Using 0.18-a here (with my modifications I send on this thread a week or so ago). I noticed that including *.pri files in *.pro files does not work (was it working before...?). The projets are working, I am just not seeing the file list on the IDE when I open the master file:

The project file loaded by the IDE (a subdirs project). includes the demo?.pro, which in turn includes the common.pri project file. I have done that since I have 5 demos which share the same code, and I find this to be easier (the project files for each demo becomes extreamly trivial as you see bellow).

On the IDE I see bellow each sub project I only see the main window and main.cpp, and not the other included files. If you need the full source, contact me via email and a TGZ will be on it's way to you.

Here is demo1.pro file:


include ( ../common/common.pri )

TEMPLATE = app
TARGET = demo1
HEADERS += mainwindow.h
SOURCES += mainwindow.cpp main.cpp


and here is ../common/common.pri


INCLUDEPATH += ../../src/ ../common/ .
MOC_DIR += ../../tmp/
RCC_DIR += ../../tmp/
UI_DIR += ../../tmp/
OBJECTS_DIR += ../../../tmp/

# Input
RESOURCES += ../common/common.qrc

# qmdilib
HEADERS += ../../src/actiongroup.h \
../../src/actiongrouplist.h \
../../src/qmdiclient.h \
../../src/qmdihost.h \
../../src/qmdiserver.h \
../../src/qmditabwidget.h \
../../src/qmdimainwindow.h

SOURCES += ../../src/actiongroup.cpp \
../../src/actiongrouplist.cpp \
../../src/qmdiclient.cpp \
../../src/qmdihost.cpp \
../../src/qmdiserver.cpp \
../../src/qmditabwidget.cpp


The IDE loads this file:


TEMPLATE = subdirs
CONFIG += ordered
SUBDIRS = demos/demo1 demos/demo2 demos/demo3 demos/demo4 demos/demo5


Edit, New bug:
Press the create a new file button on the toolbar, you will be prompted for a file name. Cancel that dialog, you will get an error message saying that the file could not be created.

elcuco
9th September 2006, 09:49
this one is not a bug, but a request:

on the project explorer, when you click for existing items, the dialog box should contain categories for the different files available ( *.cpp, *.cpp *.h, *.ui, *.qts etc). this will help me sorting out files from a directory.

also right clicking on a category, i would like to have a command for inserting only that kind of files to the project (i want to add a cpp file, i right click the sources entry and choose the add existing sources, or add new source).

i also keep getting the save file dialog when i press enter . it happens when i am writing code like this:



someclass::someclass( int i ): **********
parent( i )


the place i put the (**********) is when i get the save file dialog. is this on purpose? it just blocks my workflow. a bad no-no imho.

(the bugs report are getting weirder as your application matures no...? )

ksqt
9th September 2006, 17:37
jlbrd - from where do we download this program?

jpn
9th September 2006, 18:23
jlbrd - from where do we download this program?
Try http://qide.free.fr/download/

jpn
9th September 2006, 20:33
Some suggestions:
- appropriate collapsed branches in the project tree could be expanded when new files are added to them
- file dialogs should remember the previous location, it's a bit annoying having to start exploring from the QIde application dir again and again..
- the editor could accept text file drops (text/uri-list) from another apps (eg. from file managers and such)
- it's nice that QIde remembers previously open project when restarting, but if I close the project first and then restart, it shouldn't still load that project (the "last project" should be reset when closing a project)
- in my opinion, the header/implementation switch button and the refresh button take up too much valuable space
- indentation formatting for selection/whole file ;)
- cursor navigation in the editor could be improved, for example try to write this (with auto-indentation on, auto-brackets off):

void function()
{
if (something)
{
}
when you reach the last (5.) line, press key up. The cursor jumps in the beginning of the 4. line (I guess it would be more convenient if it would go at the "{" instead).

BTW, the QMAKEPATH define in Ide.pro does not work for me:


g++ -c -O2 -O2 -Wall -frtti -fexceptions -DQMAKEPATH="qmake" -DQT_DLL -DQT_NO_DE
BUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT
-DQT_NEEDS_QMAIN -I"C:/Qt/4.2.0-rc1/include/QtUiTools" -I"C:/Qt/4.2.0-rc1/inclu
de/QtCore" -I"C:/Qt/4.2.0-rc1/include/QtCore" -I"C:/Qt/4.2.0-rc1/include/QtNetwo
rk" -I"C:/Qt/4.2.0-rc1/include/QtNetwork" -I"C:/Qt/4.2.0-rc1/include/QtGui" -I"C
:/Qt/4.2.0-rc1/include/QtGui" -I"C:/Qt/4.2.0-rc1/include/QtXml" -I"C:/Qt/4.2.0-r
c1/include/QtXml" -I"C:/Qt/4.2.0-rc1/include" -I"." -I"..\dockplugin" -I"..\line
edithistoplugin" -I"..\treeprojetplugin" -I"src" -I"src\ui" -I"C:/Qt/4.2.0-rc1/i
nclude/ActiveQt" -I"..\build\moc" -I"..\build\ui" -I"..\..\..\Qt\4.2.0-rc1\mkspe
cs\win32-g++" -o ..\build\o\win32\mainimpl.o src\mainimpl.cpp
src\mainimpl.cpp: In member function `void MainImpl::lectureINI()':
src\mainimpl.cpp:657: error: `qmake' undeclared (first use this function)
src\mainimpl.cpp:657: error: (Each undeclared identifier is reported only once f
or each function it appears in.)
mingw32-make[2]: *** [..\build\o\win32\mainimpl.o] Error 1
mingw32-make[2]: Leaving directory `C:/Downloads/QIde-0.18-a/Ide'
mingw32-make[1]: *** [release] Error 2
mingw32-make[1]: Leaving directory `C:/Downloads/QIde-0.18-a/Ide'
mingw32-make: *** [sub-Ide-make_default] Error 2

WinXP, MinGW, Qt 4.2.0-rc1

elcuco
9th September 2006, 23:12
there is a patch up this thread which fixes the miscompillation.

jlbrd
10th September 2006, 09:55
Hi Elcuco, Jpn and others

Elcuco: I understood what you want to do. It is a good solution to simplify the projects. But in fact all the qmake functions (http://doc.trolltech.com/4.1/qmake-function-reference.html) are not understood. It is a problem to be parsed by the project manager because it is scripting (a little). The function “include” could be integrated but “for” or "prompt" !? Although “include” can have ”!“ before! I will look at what I can do.

Ok, to add a file of a kind (source, header…), it is enough to preselect the kind in the "new file" dialog. Not a problem I will do it.

The file save dialog appears when Enter is entered on a line with “::”. It is to refresh the methods list because a line with "::" may be a new method. But it is not essential and I removed it in the 0.19.

Jpn: Ok for your 3 first requests. It is in the pile.

it's nice that QIde remembers previously open project when restarting, but if I close the project first and then restart, it shouldn't still load that project (the "last project" should be reset when closing a project) The "last project manager" is too simple. By example the last files are opened only for the last project. I want to find the last files (and the position of the cursor) for all the projects. It is necessary that I rewrite this part.


indentation formatting for selection/whole file and
cursor navigation in the editor could be improved, for example try to write this (with auto-indentation on, auto-brackets off):Not a problem I will do it.

QMAKESPATH was a very bad idea and disappears in the 0.19.

http://qide.free.fr homepage work now normally.

elcuco
15th September 2006, 12:48
updated qt4-rsync and now QIde 0.18-a does not compile here (also the original binary failed working on the same "spot":



../treeprojetplugin/treeprojet.cpp: In member function ‘void TreeProjet::slotShowAsNormal()’:
../treeprojetplugin/treeprojet.cpp:248: error: ‘setAnimationsEnabled’ was not declared in this scope
../treeprojetplugin/treeprojet.cpp: In member function ‘void TreeProjet::slotShowAsKrawek()’:
../treeprojetplugin/treeprojet.cpp:261: error: ‘setAnimationsEnabled’ was not declared in this scope
make[1]: *** [../build/o/unix/treeprojet.o] Error 1
make[1]: Leaving directory `/home/elcuco/src/qt4-editors/QIde-0.18-a/Ide'
make: *** [sub-Ide-make_default] Error 2


Edit:
The function is now called "setAnimated()".

Edit2:
this code does not get highligted. this is a regression in the syntax highlighter (compared to v 0.17):



/* if (cornerWidgetTopLeft) */ (headerLayout->addWidget(cornerWidgetTopLeft);

jlbrd
15th September 2006, 14:58
It's curious because the code of lines 248 and 261 is:

#if QT_VERSION >= 0x040200
setAnimationsEnabled(false);
#endif

setAnimationsEnabled (http://doc.trolltech.com/4.2/qtreeview.html#animationsEnabled-prop) is a function of QTreeView and QTreeWidget since 4.2 version.
Are you sure of your Qt version?

ChMaster
23rd September 2006, 21:55
hi jlbrd,

i must say, very excellent work. i can kiss you for this. :p
i love QIde but your side is down? why? server dead?

i see in your code you use QProcess::systemEnvironment() why use it.
better it you use



QStringList pathDirs;
QByteArray pathVar = qgetenv("PATH");
QString pathDir = QString::fromLocal8Bit( pathVar );

pathDirs = pathDir.Split(";");


and iterate this ....., this is only a suggestion.

Note: Keep it up! greate work.

Edit: 2006-09-24 00:25 (Localtime in germany -> bavaria -> OCKTOBERFEST :D) I take everything back, side is online

jlbrd
24th September 2006, 08:19
Thanks to appreciate QIde. No, the site nor server are not down, but have problems many times.
I do not know “qgetenv”, I will look at that.

The next release 0.19 (this week normally) will have a class explorer to navigate into classes and members(see screenshot), the possibly to transmit arguments to debugged program and a new dialog, "Calls Stack" to show all functions called. Is equivalent to the 'backtrace' gdb command but on graphical window.

http://progqt.free.fr/classesexplorer.png

jlbrd
25th September 2006, 19:01
Hi,
The version 0.19 is released on http://qide.free.fr :

Corrections:
- The code is entirely translated in English, variables, function names and file names.
- Improvement of completion, much faster (5 or 6 times). An improved code increases its reliability. Thanks to Frederic Julian
- The location of qmake is determined in this order:

1. Read in INI file the lasted saved location. If it not saved, use : QLibraryInfo::location( QLibraryInfo::BinariesPath )+"/qmake";
2. Test if the location finded on 1 is good, otherwise display a dialog for choose qmake location

In options dialog, it is possible to change the location of qmake anytime.

Adds:
- The classes explorer to navigate into classes and members. By right-click, each item can display the two files of a member or function: implementation and declaration. The double-click shows the implementation if available. The items are updated in real time when the text in editor is modified and the interval between two updates can be configured in options dialog. This new feature require ctags.
- The project QIde is now a single project without plugin projects (dockplugin, lineedithistoplugin and treeprojectplugin), not requires to build the application.
- On close, "Replace" and "Find in files" dialogs saves their options to reuse on next showing.
- Menu "Debug | Parameters" to configure the arguments of program, his working directory and environment variables.
- Menu "Debug | Calls Stack" to show all functions called. Is equivalent to the 'backtrace' gdb command. In the dialog, when a line is activated, the file is opened on good line.

high_flyer
27th September 2006, 11:59
I like how this project is coming along, good work keep it up! :)
There is a feature I would like to suggest:
Could you add the options "copy" and "relative path" to the "add existing files" feature?
This way when one ports projects from say, KDevelop, it wont be necessary to copy all the files first and then create the project in QIde, but it will be possible to do it directly (like KDevelop does it).
The class view is an important feature for me, and from now on, I think QIde will become my ide under windows. :)
EDIT: well, not just yet I'm afraid.
I tested it with QIde generated test project, and there it looked ok.
But when I try to use a real project, then there are still quite a lot of things to work on :)
- Imported class do not show in the class view.
At first I thought this has to do with the fact my sources are divided in subdirectories.
But even after I "flattened" the project to be in the root project folder, the the imported classes still don't show on the class view.
- Sub folders are snot supported - all files must be in the root project - this HAS to change if QIde is to be a usable ide for real world coding.
- Some basic features for the pro file configuration are missing: it should be possible to add external libs, lib paths and external include paths (I' know, this is possible through the "free CONFIG command" line, but these two featuers should have their own interface since they are very common to use.
- As long as the pro config option offered by QIde are limited, I'd say it would be good if you'd add a "open pro file in editor", so that one could edit the pro file directly.
If I try to open a the pro file with File->open then I get a blank edit window...?
Oh I see, it thinks I am opening a project.. - this makes the "open pro file for edit" option even more important.
- It would be nice if QIde could remember the default project folder, under which all my projects are, and not open under "documents and settings".
- the "free CONFIG command" option is not working well, its messing the pro file totally.

Never the less, this project looks promising.

Cheers.

elcuco
27th September 2006, 18:13
miscompiles here (qt42 rsync)


src/textEdit.cpp:846: warning: ‘linesAdded’ may be used uninitialized in this function
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Trolltech/qt4-rsync/mkspecs/default -I. -I/usr/local/Trolltech/qt4-rsync/include/QtUiTools -I/usr/local/Trolltech/qt4-rsync/include/QtCore -I/usr/local/Trolltech/qt4-rsync/include/QtCore -I/usr/local/Trolltech/qt4-rsync/include/QtNetwork -I/usr/local/Trolltech/qt4-rsync/include/QtNetwork -I/usr/local/Trolltech/qt4-rsync/include/QtGui -I/usr/local/Trolltech/qt4-rsync/include/QtGui -I/usr/local/Trolltech/qt4-rsync/include/QtXml -I/usr/local/Trolltech/qt4-rsync/include/QtXml -I/usr/local/Trolltech/qt4-rsync/include -I. -Isrc -Isrc/ui -Ibuild/moc -Ibuild/ui -o build/o/unix/treeproject.o src/treeproject.cpp
src/treeproject.cpp: In member function ‘void TreeProject::slotShowAsNormal()’:
src/treeproject.cpp:251: error: expected `;' before ‘}’ token
src/treeproject.cpp: In member function ‘void TreeProject::slotShowAsKrawek()’:
src/treeproject.cpp:265: error: expected `;' before ‘}’ token
make: *** [build/o/unix/treeproject.o] Error 1

jlbrd
27th September 2006, 18:59
Imported class do not show in the class view.No, subdirs are well supported. The problem I think is a sub-project name identical to the main project name. No? If it is that I work there.

external libs, lib paths and external include paths can be added in options dialog by create a new variable in variables tab.

Opening a project file on text editor is not the solution, QIde must understand and create all project files.


Elcuco : I forgot “;” after setAnimated (false), put it.

jlbrd
28th September 2006, 09:14
The problem of tree classes is solved I think and of ";" after setAnimated. On download section (http://qide.free.fr/download/), I put the lasted development version 0.20. It is unstable (though) but contains the corrections.

high_flyer
28th September 2006, 11:44
No, subdirs are well supported. The problem I think is a sub-project name identical to the main project name. No? If it is that I work there.
No the name is not identical.
I just tried it under linux, there it works fine.
I guess this has to do with the fact its under windows.
Maybe an issue withe the way the path notation is handeled under windows?


external libs, lib paths and external include paths can be added in options dialog by create a new variable in variables tab.

I know, I also said that in my comments.
But when I have 10 various lib locations, and include locations, and I need to add manually INCLUDEPATH += and the libs path in the pro config line, then the pro config dialog prety much misses its use (in my oppinion).
But the problem is that the config dialog is messing up the pro file - see attached.
In the attached pro file I added INCLUDEPATH = /some/path/to/test.
See how it was saved.


Opening a project file on text editor is not the solution, QIde must understand and create all project files.
Agreed, but as long as its not the situation (i.e configuration through QIde is not working well) it should be possible to edit the pro file directly, as a file in QIde.

high_flyer
28th September 2006, 12:05
I forgot the attachment in the last post..:rolleyes:

jlbrd
28th September 2006, 18:13
Maybe an issue withe the way the path notation is handeled under windows?Can you send me your project here or by mail for find and correct the problem?

For INCLUDEPATH is your project file : I tested and no problem for me. I loaded the project and after I added the variable as on screenshot. After saving the content of file is good. With a second variable added no problem too.

http://progqt.free.fr/addvariables.png

jlbrd
28th September 2006, 18:15
Maybe an issue withe the way the path notation is handeled under windows?Can you send me your project here or by mail for find and correct the problem of classes explorer?

For INCLUDEPATH in your project file : I tested and no problem for me. I loaded the project and after I added the variable as on screenshot. After saving the content of file is good. With a second variable added no problem too.

http://progqt.free.fr/addvariables.png

high_flyer
28th September 2006, 18:32
Ok, thanks for that, I see where I did things wrong.
Instead of using the variables tab, I entered the the INCLUDEPATH line (i.e INCLUDEPATH = /some/path) in the "free CONFIG variables".
If I had thought about it a bit more I should have known what is meant by that line.
But if I made that mistake others could do it as well.
Maybe you should rename it to "additional CONFIG options" (just a suggestion).

I still think that you should add the following tabs to the project config dialog:
includes,libraries (where the libraries tab should be split to 'libs' and 'lib paths').
These two tabs will allow the user to select the paths instead of entering them manually.
I would add them my self, but I just don't have the time at the moment.
It is true, that this is redundant, since you can do that via tha variables tab.
But include paths, libs, and lib paths are used in every project, and they demand that you search the locations and then type them (or copy paste) which is tedious or prone to typos.
That is why other IDES offer that, including KDevelop.
Other pro file variables are not so common, and for these the Variables tab is good.

Franco9
30th September 2006, 17:32
I downloaded and built QIde on Windows with no problems.

It's quite an excellent beginning. I hope a community gathers around it - I think there are many people who would rather work in a capable, simple IDE than in a terminal window.

I'd suggest a bug-reporting page on your website. M'ci bo-ku, Jean-Luc.

mikro
1st October 2006, 11:28
well i built it without problems on win XP SP2. When i opened QIde it complained, that it cannot find make - well i have mingw installed in c:\mingw and the Qt Command prompt as well as codeblocks don't seem to have problems finding my make.
What environment variable exactly is Qide searching for?
Nevertheless i opened a project, opened a sourcefile within the project and at once everything crashed. Happens in 0.19 as well as 0.20. Want me to build a debugversion and send you what drmingw tells me of it?

jlbrd
1st October 2006, 13:54
To use make simply add c:\mingw\bin in your PATH variable environment. For the crash, please send me your project by mail (if it's possible) to find and correct the problem. My mail address is on qide.free.fr
Thanks,
JL

mikro
1st October 2006, 14:00
To use make simply add c:\mingw\bin in your PATH variable environment.
Shouldn't you rather go for the C:\Qt\4.1.4\bin\make.bat to be compliant with how qt handles that itself?

jlbrd
1st October 2006, 17:48
No, really it's MinGW32-make who is called to build project (make.bat is not always present). You must add the path to this executable to your PATH environment variable.

mikro
1st October 2006, 22:29
ok, it works. now that it finds make it doesn't crash anymore. Also ctags needs to be in path to be found... hmm. probably it would be nice to be able to configure a different path for it - i don't really see why i should want ctags to be in my path.
is there a chance to tell ctags to go through all the qt-libs for autocompletion as well?

jlbrd
4th October 2006, 22:12
As I recovered the domain name, QIde becomes QDevelop. New name, new site: accessible here: http://qdevelop.org.

Please do not use this thread but that of QDevelop (http://www.qtcentre.org/forum/f-qt-software-16/t-qdevelop-a-new-ide-for-qt4-3893.html).