Add a GUI to Transmission Haiku
Status: Closed Time to complete: 72 hrs Mentors: Barrett, Siarzhuk Zharski Tags: C, C++

The current port of transmission to Haiku is a cli only app. This task is to add GUI interface to it using the Haiku API. To do this task you will need to install Haiku either in a VM or on real hardware, you can get familiarity with the Haiku API as well.

You can use the old Transmission GUI as base for your work and optionally take the second part of the task. The aim for this part will be a working GUI for basic actions.

http://ports.haiku-files.org/ticket/237

 

Uploaded Work
File name/URL File size Date submitted
transmission-r13780-haiku-patched.tgz 24.2 MB January 08 2013 19:55 UTC
transmission-2.75-haikuporter.tgz 1.4 KB January 08 2013 20:42 UTC
transmission_r13780_haiku_gui.diff 5.3 KB January 08 2013 22:15 UTC
transmission_r13780_haiku_gui_2.diff 282.0 KB January 08 2013 23:37 UTC
Comments
David Delgadillo on November 30 2012 23:46 UTC Task Claimed

I would like to work on this task.

Barrett on November 30 2012 23:51 UTC Task Assigned

This task has been assigned to David Delgadillo. You have 72 hours to complete this task, good luck!

Melange on December 3 2012 23:51 UTC Initial Deadline passed

Melange has detected that the initial deadline has passed and it has set the task status to ActionNeeded. The student has 24 hours to submit the work before the task is reopened and sent back to the pool for other students to claim.

Barrett on December 4 2012 00:09 UTC task

Hello David, any news about your task? If you want a deadline extension just let me know!

Melange on December 4 2012 23:51 UTC Task Reopened

Melange has detected that the final deadline has passed and it has reopened the task.

KostyaK on December 9 2012 12:28 UTC task

I would like to work on this.

Siarzhuk Zharski on December 9 2012 13:02 UTC Please claim it in such case.

It is impoosible to assign this task to you until you claim it. Thanks.

KostyaK on December 9 2012 14:20 UTC How to claim tasks?

I found about GCI, and started participating only yesterday, so I do not know how to claim tasks. Can someone explain the process to me, or post a link where it says how to do it?


 


 

KostyaK on December 9 2012 14:22 UTC Sorry. Stupid question.

"You cannot claim this task at this time because you you have not submitted the parental consent or the enrollment form. To submit the forms please click here."


 

Gleb Posobin on December 31 2012 12:01 UTC Task Claimed

I would like to work on this task.

Barrett on December 31 2012 12:39 UTC Task Assigned

This task has been assigned to Gleb Posobin. You have 72 hours to complete this task, good luck!

Siarzhuk Zharski on December 31 2012 13:24 UTC Recent Version

Note that Fredrik has published most recent version of Transmission here:

http://www.modeen.se/transmission.aspx

Gleb Posobin on January 2 2013 08:33 UTC Re: Recent Version

I have downloaded Transmission_0.8x from that site and trying to build it. But I cannot do that. Here is the link to the make output: http://pastebin.com/0HxzeTUs
P.S. Happy New Year!

Richie Nyhus on January 2 2013 09:20 UTC Re:Re: Recent Version

You are running into problems because "Transmission_0.8x " is the unmodified and therefore unported source that was used to create "Transmission 0.82". 


You sould rather look at the diffs found in "Transmission 0.82" to see what was changed.

Gleb Posobin on January 2 2013 09:31 UTC Re...: Recent Version

No, I have looked into the diffs, the changes I have looked at are present. So Transmission_0.8x at this site is already patched.

Richie Nyhus on January 2 2013 10:34 UTC Re....

Och, your right sorry.


Anyway, if you haven't been given the link to the later non-gui versions, check out:


http://ports.haiku-files.org/browser//haikuports/trunk/net-p2p/transmission/ 

Gleb Posobin on January 3 2013 12:20 UTC Deadline

Hello. I have not completed this task yet, but I am working on it. Could you extend the deadline please?

Barrett on January 3 2013 12:25 UTC Deadline extended

The deadline of the task has been extended with 2 days and 14 hours.

Gleb Posobin on January 4 2013 18:15 UTC Linker problems

I am trying to include a transmission.h in my project, so that I could use functions from there. I have created a 'haiku' folder in the root of transmission source folder. Now, just by including "../libtransmission/transmission.h" I solve the problem not fully - linker tells me about 'undefined reference to %function name%'. There is a number of that messages, that contain functions from transmission.h. Ok then. Now I add a 'libtransmission.a' file to the project, and get following output from the compiler. Ok, I try to include also the libs that I have found in the compiled makefiles of transmission-cli and transmission utils (libminiupnp, libnatpmp, libdht, libutp), and try to build with them included. It gets me to the following result. How should I deal with that?

Gleb Posobin on January 4 2013 18:16 UTC P.S.

P.S. I am using Paladin as IDE if that's needed.

Barrett on January 4 2013 18:23 UTC Check linker

As suggested in irc, check if the linker is linking to libtransmission.a. Also as i see from the output...the program is not linked to libstdc++ :


TRWindow.cpp:(.text+0xdd): undefined reference to `operator new(unsigned long)'

Gleb Posobin on January 5 2013 17:58 UTC Linker problems 2

Now I have some new problems with ld. It gives me the following output, It seems that now it can't see the libPrefs.a file, even though I have added it to the linker. Also there is some problem with the TRWindow's static variable fTorrentList. The full gcc command can be seen on the first line of the file.

Gleb Posobin on January 5 2013 18:41 UTC Linker problems 2.1

Ok, I got rid of this fTorrentList problem (it had to be initialized outside the class prototype). But Prefs errors are still there.

Gleb Posobin on January 6 2013 00:19 UTC Current progress

I've finally achieved succesful compilation and linking of the sources, and app launnches, but almost on every user action it crashes. I won't be able to debug it before the deadline, so I would like to ask for second deadline extension. If that's not possible, as far as I understand, I will have 24 more hours to submit my work, is that right? Tomorrow I will try to debug this app.

Scott McCreary on January 6 2013 00:38 UTC Deadline extended

The deadline of the task has been extended with 3 days and 0 hours.

Scott McCreary on January 6 2013 00:39 UTC more time added.

if you need more just ask.

Scott McCreary on January 8 2013 00:53 UTC Deadline extended

The deadline of the task has been extended with 3 days and 0 hours.

Gleb Posobin on January 8 2013 19:55 UTC Ready for review

The work on this task is ready to be reviewed.

Gleb Posobin on January 8 2013 20:32 UTC Additional information

I have uploaded already patched sources, that you just need to compile. To do that, you need to download and unpack the archive (obviously enough), call "autogen.sh --prefix=`finddir B_COMMON_DIRECTORY` --disable-nls --mandir=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/man --localedir=`finddir B_COMMON_DATA_DIRECTORY`/locale --datarootdir=`finddir B_COMMON_DOCUMENTATION_DIRECTORY` --enable-haiku", and then call make. The gui is in the haiku folder. I think that I'll send the patch to the transmission sources sometime around this weekend. I have used the old gui, rewritten it, added some things (like popup that appears if you click the torrent with th right button). Also I have found a bug in the sources of libtransmission that was removed in revision 13780. By the way, I have made a .bep and a patch for the 2.75 version of transmission (which I thought I would have needed, but I didn't). I'll add it to the trac or here. Also, there are changes coming after 2.75, that are already in the source-tree, that make another problem for haiku (it's related to working with disks). I will also send it as the patch to transmission.

Scott McCreary on January 8 2013 21:33 UTC can you

provide a diff of that using "svn diff"?


That way it makes it easier on the mentors to be able to review your work.  Also can you post some screenshots showing the GUI?


 

Scott McCreary on January 8 2013 21:33 UTC Task Needs More Work

One of the mentors has sent this task back for more work. Talk to the mentor(s) assigned to this task to satisfy the requirements needed to complete this task, submit your work again and mark the task as complete once you re-submit your work.

Gleb Posobin on January 8 2013 22:23 UTC Screenshots

Here are the screenshots:


https://www.dropbox.com/s/7bbfisl5n90cyxr/screenshot9.png


https://www.dropbox.com/s/aep9af84a4rup12/screenshot10.png


https://www.dropbox.com/s/v47i8rfeqb9kg5u/screenshot11.png

Gleb Posobin on January 8 2013 22:25 UTC Diff

Diff is in the attachmets to this task.

Gleb Posobin on January 8 2013 22:25 UTC Ready for review

The work on this task is ready to be reviewed.

Scott McCreary on January 8 2013 22:50 UTC haiku files missing from diff?

perhaps you missed running svn add on the files that you added that weren't in svn? like maybe an entire haiku director y or something?


 

Gleb Posobin on January 8 2013 23:41 UTC haiku files

Yeah, sorry, my mistake. I've uploaded new diff.

Scott McCreary on January 8 2013 23:42 UTC Task Closed

Congratulations, this task has been completed successfully.

Scott McCreary on January 8 2013 23:43 UTC thanks for the work

on to the next one.


 

Gleb Posobin on January 8 2013 23:48 UTC not yet

I will get the notebook working only in a few days. So, unfortunately, possibly no other tasks till then :-( But I will try to do my best to find some other notebook I can do the work on.