Code::Blocks

User forums => Using Code::Blocks => Topic started by: lexis on March 10, 2008, 12:18:40 am

Title: File Explorer and Shell Extension Plugin
Post by: lexis on March 10, 2008, 12:18:40 am
I just have downloaded and tried to use CB. It looks very well and performant.
I read out about subj but I can't find it in 8.02 distribution and in latest nightly build...
I found a ShellExtensions-0.2.0.cbplugin file but plugin manager failed to install the plugin :(
I need the functionality it provides since I have deep source tree and directory based build system. And I use tortoise SVN under WinXP too...

Is the right way to try to recompile CB and link it with the ShellExtensions plugin? Should this work?

Thanks o lot for a help!
Title: Re: File Explorer and Shell Extension Plugin
Post by: dmoore on March 10, 2008, 04:56:12 am
sorry - I haven't updated the binaries in a while so that might explain why it doesn't work.

if you can't wait for me to update the binaries (probably a week or two) you can try building the Shell Extensions plugin binaries yourself by downloading the source from svn (from the Interpreted Languages project page in my sig). you don't necessarily need to rebuild cb, but you will need an up to date cb sdk (for relevant headers) then modify the "Shell Extensions" project to link against the CB 8.02 dlls.
Title: Re: File Explorer and Shell Extension Plugin
Post by: lexis on March 10, 2008, 11:16:22 pm
I have tried to build svn version of CB (I know that it is not needed for cb sdk just bcause interesting to get actual latest version :-) )
and got the next link error:
cannot find -lwxmsw28u

I have the next wx libs built:

libwx_base-2.8.dll.a      libwx_msw_aui-2.8.dll.a   libwx_msw_richtext-2.8.dll.a  libwxpng-2.8.a
libwx_base_net-2.8.dll.a  libwx_msw_core-2.8.dll.a  libwx_msw_xrc-2.8.dll.a       libwxregex-2.8.a
libwx_base_xml-2.8.dll.a  libwx_msw_html-2.8.dll.a  libwxexpat-2.8.a              libwxtiff-2.8.a
libwx_msw_adv-2.8.dll.a   libwx_msw_qa-2.8.dll.a    libwxjpeg-2.8.a               libwxzlib-2.8.a

No one looks like missed name... What libs I should use as replacement for the missed libwxmsw28u.a?

Thank you for a help.
Title: Re: File Explorer and Shell Extension Plugin
Post by: lexis on March 10, 2008, 11:17:53 pm
I forgot to say that I use minGW environment with gcc v3.4.2
Title: Re: File Explorer and Shell Extension Plugin
Post by: dje on March 10, 2008, 11:20:50 pm
Hi !

You have to compile wxWidgets at least with MONOLITHIC=1

Dje
Title: Re: File Explorer and Shell Extension Plugin
Post by: lexis on March 15, 2008, 10:31:28 pm
Ok. I have built all CB, contributed plugins and shell extension plugin successfully :-)

Now I see Files tab at Management panel.
But unfortunately I have no access to TortoiseSVN commands integrated to windows shell from the tab :-( And I see no TortoiseSVN decoration icons :-(

Do I forget to do something?

Thank you
Title: Re: File Explorer and Shell Extension Plugin
Post by: mariocup on March 16, 2008, 01:25:46 am
Hi lexis,

the file explorer supports SVN decorators. Select the context menu View->SVN decorators. If you want to use a graphical interface for SVN like TortoiseSVN oder gsvn (Linux) you just have to add some shell extensions for doing that. In the manual http://www.codeblocks.org/user-manual you will find all information how to integrate TortoiseSVN commands in the section "File Explorer and Shell Extension Plugin".

Bye,

Mario
Title: Re: File Explorer and Shell Extension Plugin
Post by: lexis on March 16, 2008, 08:49:59 pm
thank you for the link to manual. It is useful but it has no way to change behavior of the menu according to real context. I thinked before that there is a possibility to handle a real shell menu which is apperred in MS Explorer... Unfortunately I understand that it is not implemented :-(

And I had tried to use the context menu "View->SVN decorators" but it doesn't affect anything in Files tab :-(
Title: Re: File Explorer and Shell Extension Plugin
Post by: dmoore on March 16, 2008, 08:59:44 pm
the svn command has to be in your path. the implementation of the file explorer was a hasty bit of hacking on my part and still needs lots of enhancements. as you say, I haven't tried to implement the windows explorer shell menu as that will require windows specific code, which is a low priority for me (not to say I won't ever do it)

EDIT: I should ask - what are you trying to do that you need full windows explorer functionality within codeblocks? Personally, I find the inability to control the context menu of windows explorer a frustration, which is why I designed the plugin the way I did.
Title: Re: File Explorer and Shell Extension Plugin
Post by: lexis on March 16, 2008, 09:20:08 pm
There is no a special need to handle an explorer menu. It is only a way to get a different menu behavior for a different file context.
For an example different menu items for checked out files and for common files as in the explorer menu.

Really your plugin already has resolved most of my needs.
Title: Re: File Explorer and Shell Extension Plugin
Post by: acinfo64 on April 16, 2008, 10:12:56 am

Dear All,

Can you give me more details on how you solved your problem? I have downloaded the ShellExtensions-0.2.0.cbplugin but it fails to install.

I have compiled c::b, although it is not what I prefer (now I need a wxmsw28u_gcc_yyyy.dll with yyyy a 'dummy' project name of me), but I cannot find the source of the ShellExtensions plugin. What has this extension to do with the 'IL Plugins' (I don't know what IL PLugins are)?

Did you compile the newest version of c::b (v8.02) or an much older version?

Title: Re: File Explorer and Shell Extension Plugin
Post by: lexis on April 16, 2008, 09:17:15 pm
As for me, I compiled a CB nightly build with all plugins including subject one.
As I understand it's not needed to build overall CB, only plugin using appropriate version of plugins API.

Then you can add every svn command as separate menu item one by one to the File Extension plugin.
Title: Re: File Explorer and Shell Extension Plugin
Post by: dmoore on April 16, 2008, 10:42:34 pm
I have downloaded the ShellExtensions-0.2.0.cbplugin but it fails to install.

sorry, that one is out of date (the C::B plugin API changed since I made that plugin binary). I'm downloading the source for the 8.02 API now and will recompile the plugin and post it in the next 24 hours. If you can't wait, you should be able to compile from source without difficulty by checking out the trunk from the cbilplugin subversion repository (follow the link in my sig).


As for why the project has the name it does: IL = Interpreted Languages. The purpose of the project is to host plugins that are useful to people who want to use C::B with Interpreted Languages. The Shell Extensions plugin falls into that category (even though it is useful even for people who don't use ILs)
Title: Re: File Explorer and Shell Extension Plugin
Post by: dmoore on April 17, 2008, 04:27:31 am
binary here (ShellExtensions v0.2.1):

http://developer.berlios.de/project/showfiles.php?group_id=7745&release_id=14501
Title: Re: File Explorer and Shell Extension Plugin
Post by: acinfo64 on April 17, 2008, 09:27:00 am
Thank you for your help. The binary (v0.2.1) works perfectly. I also found the code and I was able to compile everything.

The plugin works and so I assume that the IL part is automatically distributed with the compiled C::B v8.02.

Now I have to figure out how the SVN pluging works exactly. As I understood is that every SVN command has to be added in the file extension plugin and now I'm going to figure out how this has to be done.

Title: Re: File Explorer and Shell Extension Plugin
Post by: dje on April 17, 2008, 09:55:21 am
Hi Dmoore !

Really nice !
I found a little bug on Windows XP.
- Right click on a folder
- Click on View->Favorite Directories...
- Click on New...
- Click on the ... button to set the path
Nothing happens...

Great improvements compared to the last version I tried !

Dje
Title: Re: File Explorer and Shell Extension Plugin
Post by: mariocup on April 17, 2008, 10:04:20 am
Hi acinfo64,

if you are using the shell extension plugin under linux you can add also gui elements for svn. You just have to use gsvn.

Bye,

Mario
Title: Re: File Explorer and Shell Extension Plugin
Post by: dmoore on April 17, 2008, 03:00:04 pm
The plugin works and so I assume that the IL part is automatically distributed with the compiled C::B v8.02.

there is no IL part. Each of the plugins in the cbilplugin project at berlios is independent. What may be confusing is that the ShellExtensions plugin was initially called the InterpretedLanguages plugin.

Quote
Now I have to figure out how the SVN pluging works exactly. As I understood is that every SVN command has to be added in the file extension plugin and now I'm going to figure out how this has to be done.

you can try importing mine to get you started (in the ShellExtensions settings dialog, select import and choose the attached file - you might have to press enter a few times after you select the file to import when a few very large dialogs pop up)

don't expect miracles from this plugin, the svn integration will be pretty clunky if you're calling the command line version. mariocup's suggestion to make calls to a gui svn client will give you better results.

I found a little bug on Windows XP.
Nothing happens...

not implemented yet (actually did it this morning, but haven't committed)
you know you can right click in the file explorer tree and "add to favorites"?

[attachment deleted by admin]
Title: Re: File Explorer and Shell Extension Plugin
Post by: dje on April 17, 2008, 03:05:28 pm
you know you can right click in the file explorer tree and "add to favorites"?
Yes but I going there and set my 5 dirs at once seems more natural to me.
For sure I used your alternate solution  :)

Dje