GSoC weekly report 9

Hey guys, this week I couldn’t make too much in the SoC as I’ve been in the guadec-es. First of all I’d like to thank the guadec-es organizers as it was pretty cool being there. About what I did this week:

  • Some improvements in the view abstraction. Just some minor things missing to have it working.
  • Some fixes in gsettings-desktop-schemas module.
  • I invested quite some time reading the GtkNotebook internals to figure out how to remove the borders. See the patch in case you want to do something similar.
  • I continued with the animation framework port and I improved the search animation. Here it is the result:

What I had to achieve this week?

  • Had the html viewer ready. This was not possible due to a lack of time.
  • I fixed some gedit bugs.
  • I continued with the animation framework.

What am I going to do next week?

  • Try to get the html viewer for real.
  • Bug fixing in general.

In my schedule the view abstraction and bug fixing is the end of my gsoc. So I’ll continue with this. Now I’m a bit delayed but as last weeks are for bug fixing and I’m already investing time doing bug fixing I guess I’m ok in the schedule.

Posted in Uncategorized | 2 Comments

GSoC weekly report 8

Another busy week for me. Here it is what I have been doing:

  • I have invested quite some time on studying the GtkText* internals.
  • Moved the sealed attributes of GtkTextView and GtkTextBuffer to a private struct. This is already in gtk+ master.
  • Added annotation for GtkAccelMap needed for a gedit plugin. Already in gtk+ master too.
  • Updated gedit to use the new GtkNotebook api. This means depending on gtk+ from git.
  • Managed to build the webkit-gtk monster. Finally I had to download the svn version, as always one version is released the next day doesn’t work due to an update in gtk+ or glib. I’ll use webkit to make a test case for the view abstraction.
  • I had to make the midterm evaluation.
  • I worked a bit in the view abstraction, I’m getting close to get something working.
  • After this I have been stuck due to a bug in Gtk+ that produces an infinite loop and I couldn’t continue working on the view abstraction. If you have this problem now there is a patch in bugzilla that fixes the problem.
  • Due to the gtk+ bug, I decided to have a look at the MonoDevelop code to see how they make the cool animations and after breaking my head, I managed to port part of the animation framework. What does this mean for gedit?
    • Being able to have some effects when searching.
    • Animated panels.
    • A search dialog like the one in chrome.
    • Probably other cool things.

Here it comes the mandatory screencast: Search animation

In relation to what I had to achieve this week:

  • Continue with the abstraction of the view. Partially done, as said due to the gtk+ bug.
  • Continue fixing problems in gedit. Done.
  • Port more python plugins. I made some fixes in gedit-plugins.

What am I going to do next week?

  • Try to get an html viewer and finally post some screenshots.
  • Continue fixing problems in gedit.
  • Continue with the animation framework and make more awesome.
  • Fix things here and there.

About the schedule, I think I’m ok with it, though, I may be a bit delayed. Hopefully next week I’ll have the view abstraction mostly ready.

Posted in Uncategorized | 2 Comments

Becoming 24

Another year has passed for me and I continue, and hopefully I’ll continue working in gedit. So, for that, I’d like to thank the gedit team for all the great job they are doing and all the help they gave me so far. By the way, as a birthday present I would like to “just” ask the world cup for Spain :P

Thanks everyone and keep being such a great comunity.

Posted in Uncategorized | 2 Comments

GSoC weekly report 7

Hey folks, another week has passed and more things have came in:

  • I have moved some of the refactoring needed for the splitview to master
  • I have updated the class diagram to the current state of master
  • Fixed some problems in the documents panel (The one that shows the opened files in the left)
  • Fixed some annotations in gtk+
  • Fixed minor problems in pygobject.
  • Ported the remaining C plugins in gedit-plugins to libpeas.
  • Ported 3 python plugins to gi/libpeas in gedit-plugins. (They already have a few bugs due to pygobject/gi bugs)
  • Filed several bugs about this for pygobject.
  • I factored out the splitview. Now it provides 2 more classes that make things more clear for review and maintaining.
  • Started as scheduled for this week the abstraction for the view.

In relation to what I had to achieve this week:

  • Continue with the port of python plugins. Done.
  • Get another review of the splitview. Done and some parts of it already in master now.
  • Also in my previous post I said that I wasn’t going to start with the abstraction, but talking with the soc maintainers they told me to give priority to the soc work than other stuff. So I did.

What am I going to do next week?

  • Continue with the abstraction of the view, this is scheduled for the next weeks.
  • Continue fixing problems in gedit master and getting things stable again.
  • Port or try to port more python plugins.
  • Fix things here and there.

About the schedule, I am ok with it. Everything continues as expected.

Posted in Uncategorized | Comments Off on GSoC weekly report 7

GSoC weekly report 6

Hey folks, this week I’ve been quite busy working on gedit:

  • Ported the remaining C plugins to libpeas.
  • Port plugins to use the enum thingie provided by gsettings.
  • Released gedit.
  • Fixed some annotations in gedit and gtk+.
  • Ported pythonconsole to gi, gsettings and libpeas.
  • Ported quickopen to gi and libpeas. See bug #623359 because it is not yet finished due to several bugs in pygobject and gtk+ annotations.
  • Port gedit to use autogenerated enums and flags. This feature has been introduced in glib a few days ago.
  • Port the filebrowser plugin to use the flags thingie added to gio yesterday.
  • Fixed the problems commented by my mentor about the splitview.
  • Several bugfixes.

What am I going to do next week?

  • I’ll continue the port of the python plugins to gi and libpeas. This is quite a lot of work, more than I thought so probably it will take me most of the week.
  • Get another review of the splitview and if it is ok, get it in.
  • Bug fixing, bug reviewing…

In relation to what I had to achieve this week, I think I did it well as I achieved even more than what I expected:

  • I fixed the remaining issues commented in the review of the splitview.
  • And I ported the plugins that I could to libpeas.

How am I going in relation to my schedule?

  • I had to get in the splitview in master this week. I didn’t get this done. Let’s see if next week.
  • Next week I would have to start the abstraction of the view, though, my mentors prefer to leave this for now and get gedit master into a good state. So as I said before I’ll continue working on getting things ported and make gedit stable again.
Posted in Uncategorized | Comments Off on GSoC weekly report 6

GSoC weekly report 5

As every week, I am going to comment about what I have been doing this week:

  • I’ve been testing the patches to port gedit to libpeas.
  • I reviewed the gdb (bug #590728) and BennuGD (bug #618552) langs for gtksourceview, they are now pushed in master. Thanks to their authors.
  • I fixed some annotations in gtk+. See bugs #622641 and #622493. (One not yet pushed).
  • I provided some patches for pygi (now included in pygobject), some of them are already pushed. Also I created some test cases for a few bugs.
  • Probably the thing were I invested more time was on finishing the in gtksourceview and adding and fixing the annotations. The the is fully functional apart from a few bugs in pygi that should be fixed soon.
  • I ported the splitview work to use the flag introduced in GBinding (see bug #622281), that allows a property to be synced at creation time.
  • Also I fixed several bugs reported by my mentor in the splitview. See bug #141487.
  • I fixed the bugs reported for the Tab Group thingie. See bugs #620502, #620538, #620541 and #141487.
  • And I’ve also ported gedit to use the new enumeration thingie added in GSettings instead on making the conversion to a string ourselves.

What am I going to do next week?

  • The patches for getting libpeas in are now in master so I’ll fix the plugins.
  • The splitview is beeing reviewed, so I’ll fix the remaining issues.
  • Bug fixing, bug reviewing…

In relation to what I had to achieve this week:

  • I couldn’t get the splitview core part pushed in master, but I’ve got some critical bugs reported and fixed.
  • I couldn’t start porting the plugins to pygi or the libpeas api. Mainly because libpeas was not in yet. Although I managed to have gtksourceview ready for beeing used by the plugins.
Posted in Uncategorized | Comments Off on GSoC weekly report 5

GSoC weekly report 4

Hey folks, as I said in my previous post, this week I couldn’t invest as much time as I wanted due to my final exam. Though, I have made some interesting things:

  • Now that GBinding is merged in glib, I had to port my splitview branch to use it. It gave me some problems here, seems that I had something wrong in my jhbuild that made me loose quite some time.
  • I spent most of the time making tests for gtksourceview, so right now you can try the program pushed in master that uses pygi. I’m still finishing the test-widget ported to python but I expect having it soon.

In realation to what I had to achieve this week:

  • Have the splitview core part ready for review. This has been done.
  • Start porting plugins to use the new api. I couldn’t make this. I realized that before doing this we have to port the plugins to use pygi instead of pygtk. So right now as I said I’m investing quite some time on having gtksourceview g-i ready for this.

So, what am I going to do next week:

  • I’ll follow working on getting things ready with pygi.
  • Help porting plugins to pygi and if necessary, also to the new api provided by libpeas.
  • Get the splitview core part pushed in master or at least ready to be pushed.
Posted in Uncategorized | Comments Off on GSoC weekly report 4

GSoC weekly report 3

Hello everyone, this week as usually I’ve been doing quite some things:

  • I released gedit, gtksourceview and gedit-plugins. This means that there is already one release with the Tab Groups feature, so please test it and let us know if you find any bug on it.
  • I’ve been reviewing quite some patches, lang files  etc and also I’ve been fixing bugs in the Tab Groups thingie.
  • Apart from that, I’ve invested quite some time on getting ready the step 2 of my GSoC, the splitview. As commented in my previous post, last week I was working on it, and this week I continued that work. Right now the core part is almost ready, I just need to fix a few things and discuss with my mentors some API  needed for plugins. You can find this work as usually in my github. In the splitview branch. It is already usable but if you want to try it, remember to disable the plugins first, or you will experience casual crashes.

So, what am I going to do next week?

Next week I’ll try to have ready at least the core part of the splitview, and I’ll start porting the plugins to use the new API. A few of them will work for free, but the ones that modifies the document or the view, will need to be changed. As you can see I’m beeing carefully about what I can achieve next week, as I have my last examn and probably I’ll not be able to invest as many time as I want. Though, I finished the Tab Groups thingie sooner than I thought (mainly because I started working on it before the code time started) so the schedule I made in my proposal is still good for me.

In case anybody is interested I made a screencast about the splitview working. You can find it here.

Posted in Uncategorized | 2 Comments

GSoC weekly report 2

Hello everyone, this week I’ve been working on several tasks that I think you might find interesting:

  • As I said last week I was working on getting support in gedit for tab groups, and this week we’ve been reviewing the work and fixing several bugs that we found. The code is now merged in the master branch, so please test it and let us know what you think about it, and if you find any bug please file it under bugzilla.
  • Now that the notebook thingie is ready, I have started to work in the second step of my GSoC, the splitview. It will allow us to split a document, and see and edit several parts of it. This is not an easy task, as for each split we have to create a new view and a new document and keep them sync with the real ones. I’ve spent quite some time thinking about the best way to implement it, and I also started to implement a few things, but the hard work is still coming.
  • Apart from this, I also spent quite some time reviewing patches and fixing some bugs that came around.
  • Finally, in the weekend apart from working in the GSoC, jesse was making some awesome in gitg, so I decided to resurrect a branch to convert gitg into a library, and with jesse’s help we made it and is now in master. So now, if you want a really cool backend to add git support to your application, libgitg is a really good one. If you didn’t try gitg yet, I tell you that you should as it is a fantastic tool. gitg rocks!!
Posted in Uncategorized | 1 Comment

GSoC weekly report 1

As I blogged before, I am going to be working in the first step of the gedit multiviews SoC, adding tab groups to gedit. This week I’ve been working on this and I think I’m quite close to have something stable to push to master. So what have I really done this week?

  • Yesterday I’ve released gedit, gedit-plugins and gtksourceview
  • I’ve been testing a bit pygi because of libpeas
  • I updated the gedit dependencies in my jhbuild to test how it behaves with gtk+3
  • I’ve been refactoring and fixing some issues in GeditWindow needed for the tab group thingie. These fixes are already pushed into master.
  • I’ve been working in two branches in my github:
    • notebook2: In this one I implemented the tab group directly in the GeditWindow
    • notebook3: As the previous implementation in notebook2 added too much complexity to GeditWindow I factored out the code and created a new class GeditNotebookGroup

Also as usual the mandatory screenshot:

Posted in Uncategorized | 5 Comments