From: Gianluca <emm...@ya...> - 2007-02-06 14:14:09
|
Hello everybody, I downloaded and I'm using the Kate Project Manager. I see that if you add a directory that it isn't a direct child of parent node, the kate prj manager crash when try to access to that directory. I'm not english (I'm italian), so, I try to explain myself with an example: suppose to have the following dir structure: - salsa ---- salsa-svn -------- trunk ------------ <some_c++_files> -------- include ------------ <some_c++_files> and suppose that the 'salsa' dir contains the kateprj file; so in the project list view I'll see: - salsa when I add a directory... and in the dialog, I select the trunk dir instead of salsa-svn, in the project listview I'll see: - salsa ---- trunk but when I try to use the "Add existing files" on trunk dir, kate crash because the url registered by kate-prj-mng for the trunk dir is just 'trunk' and so, when the pluging search for files it will try to enter in 'salsa/trunk' directory that doesn't exists... because I jumped the 'salsa-svn'. Because that situation is very useful for me, I modified the plugin... in particular I modified the addItems method of KatePluginProjectManagerView for manage this situations. In particular, I substitued the code starting at row 600: // if parent has further parents if (parent->parent()) { url = QString( "%1/%2" ) .arg( parent->text(1) ) .arg( name ); } // if parent is projectroot item else url = name; with the following code: QString prjPath = getPrjPath( item ); QString s = fi.absFilePath(); int pos = s.findRev( prjPath, s.length() ); s.remove( 0, pos + prjPath.length() + 1 ); url = s; I hope that my patch is useful for you too. I have in mind some other modification and (maybe) improvements... so if are you interested, please tell me in which way I can contribute and communicate my intention and modifications. Thank you for this plugins, Gianluca |
From: Jiri T. <jir...@ce...> - 2007-02-06 15:53:27
|
Hi, I have tried your patch and it still crashing when I tried to add file into a directory which is placed in other directory then the project file itself. Small example: * project_cgi + Design + Docs + System project.cgi * project_htdocs - Design - Default + JavaScript + Style - Old + Style Project file project_cgi.kateprj is in /home/user/public_html/cgi-bin/project/. The items from this project file pointing at the directory where is the project file itself (/home/user/public_html/cgi-bin/project/Design, /home/user/public_html/cgi-bin/project/Design/Docs, ...). Project file project_htdocs.kateprj is in /home/user/public_html/cgi-bin/project/. The items from this project file pointing at the directories in /home/user/public_html/htdocs/project/ ... (/home/user/public_html/htdocs/project/Design/, /home/user/public_html/htdocs/project/Design/Default/, /home/user/public_html/htdocs/project/Design/Default/JavaScript/, /home/user/public_html/htdocs/project/Design/Old/, ...) And now, when I want to add file into the direcotry JavaScript, then Kate crashes. I hope, you understand it. I would very appreciate if somebody fix that. Best Regards, Jiri Gianluca wrote: > Hello everybody, > I downloaded and I'm using the Kate Project Manager. > I see that if you add a directory that it isn't a direct child of parent > node, the kate prj manager crash when try to access to that directory. > I'm not english (I'm italian), so, I try to explain myself with an example: > suppose to have the following dir structure: > - salsa > ---- salsa-svn > -------- trunk > ------------ <some_c++_files> > -------- include > ------------ <some_c++_files> > > and suppose that the 'salsa' dir contains the kateprj file; so in the > project list view I'll see: > - salsa > > when I add a directory... and in the dialog, I select the trunk dir > instead of salsa-svn, in the project listview I'll see: > - salsa > ---- trunk > > but when I try to use the "Add existing files" on trunk dir, kate crash > because the url registered by kate-prj-mng for the trunk dir is just > 'trunk' and so, when the pluging search for files it will try to enter > in 'salsa/trunk' directory that doesn't exists... because I jumped the > 'salsa-svn'. > Because that situation is very useful for me, I modified the plugin... > in particular I modified the addItems method of > KatePluginProjectManagerView for manage this situations. > In particular, I substitued the code starting at row 600: > // if parent has further parents > if (parent->parent()) { > url = QString( "%1/%2" ) > .arg( parent->text(1) ) > .arg( name ); > } > > // if parent is projectroot item > else > url = name; > with the following code: > QString prjPath = getPrjPath( item ); > QString s = fi.absFilePath(); > int pos = s.findRev( prjPath, s.length() ); > s.remove( 0, pos + prjPath.length() + 1 ); > url = s; > > I hope that my patch is useful for you too. > I have in mind some other modification and (maybe) improvements... so if > are you interested, please tell me in which way I can contribute and > communicate my intention and modifications. > > Thank you for this plugins, > Gianluca > |
From: Jiri T. <jir...@ce...> - 2007-02-06 15:59:16
Attachments:
plugin_projectmanager.cpp.patch
|
Here is the patch what I have applied. Cheers, Jiri Gianluca wrote: > In particular, I substitued the code starting at row 600: > // if parent has further parents > if (parent->parent()) { > url = QString( "%1/%2" ) > .arg( parent->text(1) ) > .arg( name ); > } > > // if parent is projectroot item > else > url = name; > with the following code: > QString prjPath = getPrjPath( item ); > QString s = fi.absFilePath(); > int pos = s.findRev( prjPath, s.length() ); > s.remove( 0, pos + prjPath.length() + 1 ); > url = s; > > I hope that my patch is useful for you too. |
From: Lars L. <Lar...@if...> - 2007-02-07 08:23:09
|
first of all: kpmp 0.1.2-24 is not designed to operate in this way: there is a limitation to must(!) have all files under one dirctory and structure of project have to match the physical structure on filesystem (that's the way to old manager works) second: we know that this isn't the best way to handle stuff thatswhy we created a branch on svn, which is dealing with this problem (jiri - you might remember). unfortanally we running a little out of time so there isn't done a lot of work in last months (specelly there was none check in) instead of patching kpmp 0.1.2-24 you should have a look on branch and give feeadback (that would be very nice of you). in furture kpmp should come a littlie bit more active/ allife again and one of the next releases should containig virtual folders, which enables you to make an virtualview on files stared on diffrent places in fs. last: thanks again for using kpmp and please try svn branch co and response possible errros reagrds Lars -- -------------------------------------------------------------------------------- Dipl.-Ing. Lars Lindemann Institut f. Automation u. Kommunikation e.V. Magdeburg Steinfeldstr. 3 (IGZ), D-39179 Barleben, Germany Phone: +49 (0)3 92 03 8 10 69 Fax: +49 (0)3 92 03 8 11 00 E-Mail: lar...@if... Internet: http://www.ifak.eu |
From: Jiri T. <jir...@e-...> - 2007-02-06 15:58:48
Attachments:
plugin_projectmanager.cpp.patch
|
Here is the patch what I have applied. Cheers, Jiri Gianluca wrote: > In particular, I substitued the code starting at row 600: > // if parent has further parents > if (parent->parent()) { > url = QString( "%1/%2" ) > .arg( parent->text(1) ) > .arg( name ); > } > > // if parent is projectroot item > else > url = name; > with the following code: > QString prjPath = getPrjPath( item ); > QString s = fi.absFilePath(); > int pos = s.findRev( prjPath, s.length() ); > s.remove( 0, pos + prjPath.length() + 1 ); > url = s; > > I hope that my patch is useful for you too. |