From: Mattias E. <mat...@si...> - 2003-08-14 07:09:44
|
Hi, I did some coding that resulted primary in a software manager for GNOME and some improvements to the trayicon. I however touched some other stuff to in order to make things work. The stuff is found at http://www.acc.umu.se/~snaggen/syncestuff/ librapi2_m4.patch and rra_m4.patch: Minor changes to just install the m4-files, this is needed to make it possible to build the synce-software-manager. synce-software-manager.tar.gz: This is the software manager, you can view installed files and install/uninstall files. You currently have to press refresh for it to fetsh the list from the PDA. For some reason it doesn't work to do this on the mainwindows show signal, and I want the mainwindow and the gtk_main loop to start up before I start fetshing stuff from the PDA. librapi2.pcommon.patch: A patch to avoid a possible segfault. In the anycopy function a string that we get as a parameter is manipulated, but if it is a static string it will crash. I learned it the hard way... there are some cut and paste in the software manager ;-) trayicon.patch: Added sessionhandling, added menu entries to open synce:/// and the software manager. dccm does still have to be started manually, the trayicon should probably start it... but this has still to be done. Since this work makes the synce gnome-vfs module, trayicon and the synce-software-manager quite dependent on each other (or atleast makes the trayicon depend on the other two), shouldn't they be packaged as one synce-gnome package? But I guess that is up to the packagers to decide, it was just a thought. What is left to do: General: * I18N - Some one should make it possible to translate all the different modules * HIG:ify - The gnome stuff should be made to comply to the GNOME hig. Synce-software-manager: * Load the software list at startup. * Add commandline stuff. * Use gnome-vfs (and the synce-module) where possible, to minimize the amount of duplicated code. * Add entries in nautilus context menu. * Register the cab-file mime-entry. * .desktop file for the gnome-application menu (and create an icon) * Session handling * Proof-read my english, this is probably badly needed. Trayicon: * Menu entry, to make it easier to start using the synce stuff. And since the trayicon might work as the center for the synce-stuff it should have a menu-entry. * Start dccm, maybe libgtop should be used to detect if dccm is already running? Multisync: * Automatically select a partnership to use, if no suitable partnership exists start the druid. * Remove partnership. * Make sure that 2 partnerships doesn't get the same name. It will be hard to automatically select the correct one if they are both called the same. Well that is the todo for the stuff I have been working with, I guess David has more todos for this and the rest of synce. The tasks in this todo is not just coding stuff, and many tasks are not very hard to do someone just has to do it. So anyone can feel free to help out here. One easy non-coding task that I think is important is the I18N-stuff to make things translatable, it consists of setting up the po/ directory and build stuff for the different modules. And if you like to do the easy coding add init of the gettext and add _() around the translatable strings... David, can you (or someone else) review and commit these patches. And add the software manager to a cvs module. //Snaggen -- Mattias Eriksson <mat...@si...> Simovits Consulting |
From: David E. <tw...@us...> - 2003-08-14 09:28:55
|
On Thu, 2003-08-14 at 08:35, Mattias Eriksson wrote: > Hi, > > I did some coding that resulted primary in a software manager for > GNOME and some improvements to the trayicon. I however touched some > other stuff to in order to make things work. > > The stuff is found at http://www.acc.umu.se/~snaggen/syncestuff/ First of all, thank you very much for your contributions! > librapi2_m4.patch and rra_m4.patch: > Minor changes to just install the m4-files, this is needed to make it > possible to build the synce-software-manager. I have applied these. > synce-software-manager.tar.gz: > This is the software manager, you can view installed files and > install/uninstall files. You currently have to press refresh for it to > fetsh the list from the PDA. For some reason it doesn't work to do > this on the mainwindows show signal, and I want the mainwindow and the > gtk_main loop to start up before I start fetshing stuff from the PDA. First, please be aware that you are using the GPL but the other parts of SynCE are MIT licensed. Anyway, this application is great! Just a minor issue: as you know, GNOME 2 is not happy about non-ascii chars. This means that you should use wstr_to_utf8 instead of wstr_to_ascii for things that will be displayed to the user. I saw that you had copied pcommon.[ch] from librapi2/tools - maybe that code should be integrated in the librapi2 library to avoid maintaining the same code in two locations? > librapi2.pcommon.patch: > A patch to avoid a possible segfault. In the anycopy function a string > that we get as a parameter is manipulated, but if it is a static > string it will crash. I learned it the hard way... there are some cut > and paste in the software manager ;-) Applied. > trayicon.patch: > Added sessionhandling, added menu entries to open synce:/// and the > software manager. dccm does still have to be started manually, the > trayicon should probably start it... but this has still to be done. Please commit this yourself! > Since this work makes the synce gnome-vfs module, trayicon and the > synce-software-manager quite dependent on each other (or atleast makes > the trayicon depend on the other two), shouldn't they be packaged as > one synce-gnome package? But I guess that is up to the packagers to > decide, it was just a thought. Good idea! > What is left to do: Feel free to add this to TODO files in the modules! > General: > * I18N - Some one should make it possible to translate all the > different modules > * HIG:ify - The gnome stuff should be made to comply to the > GNOME hig. > > Synce-software-manager: > * Load the software list at startup. > * Add commandline stuff. > * Use gnome-vfs (and the synce-module) where possible, to > minimize the amount of duplicated code. > * Add entries in nautilus context menu. > * Register the cab-file mime-entry. > * .desktop file for the gnome-application menu (and create an > icon) > * Session handling > * Proof-read my english, this is probably badly needed. > > Trayicon: > * Menu entry, to make it easier to start using the synce stuff. > And since the trayicon might work as the center for the > synce-stuff it should have a menu-entry. > * Start dccm, maybe libgtop should be used to detect if dccm is > already running? > > Multisync: > * Automatically select a partnership to use, if no suitable > partnership exists start the druid. > * Remove partnership. > * Make sure that 2 partnerships doesn't get the same name. It > will be hard to automatically select the correct one if they > are both called the same. There are some partnership fixes in the GNOME 1 version of multisync_plugin that I have not yet ported to the GNOME 2 version. > Well that is the todo for the stuff I have been working with, I guess > David has more todos for this and the rest of synce. The tasks in this > todo is not just coding stuff, and many tasks are not very hard to do > someone just has to do it. So anyone can feel free to help out here. > One easy non-coding task that I think is important is the I18N-stuff > to make things translatable, it consists of setting up the po/ > directory and build stuff for the different modules. And if you like > to do the easy coding add init of the gettext and add _() around the > translatable strings... > > David, can you (or someone else) review and commit these patches. And > add the software manager to a cvs module. \David |
From: Mattias E. <sn...@ac...> - 2003-08-14 11:04:08
|
tor 2003-08-14 klockan 11.11 skrev David Eriksson: > First, please be aware that you are using the GPL but the other parts of > SynCE are MIT licensed. OK, I'll change the licence then to MIT. Especially since I have done alot of copy/paste. > Anyway, this application is great! Just a minor issue: as you know, > GNOME 2 is not happy about non-ascii chars. This means that you should > use wstr_to_utf8 instead of wstr_to_ascii for things that will be > displayed to the user. Thanks for catching this, I'll fix this. > I saw that you had copied pcommon.[ch] from librapi2/tools - maybe that > code should be integrated in the librapi2 library to avoid maintaining > the same code in two locations? Well, I just copied it to get started fast. But if I do the switch to using gnome-vfs (with the synce-module) I probably can remove this from my code. I think that gnome-vfs is the way to go. > > trayicon.patch: > > Added sessionhandling, added menu entries to open synce:/// and the > > software manager. dccm does still have to be started manually, the > > trayicon should probably start it... but this has still to be done. > > Please commit this yourself! Ok, I'll do that later. > > What is left to do: > > Feel free to add this to TODO files in the modules! OK, I will. But I however think it might be a good idea to post some status reports on the list from time to time, to make it easier for people to find tasks to do. It will help people start contributing. > There are some partnership fixes in the GNOME 1 version of > multisync_plugin that I have not yet ported to the GNOME 2 version. What are those fixes for? //Snaggen -- Mattias Eriksson <sn...@ac...> |
From: David E. <tw...@us...> - 2003-08-14 11:51:04
|
On Thu, 2003-08-14 at 12:37, Mattias Eriksson wrote: > tor 2003-08-14 klockan 11.11 skrev David Eriksson: > > First, please be aware that you are using the GPL but the other parts of > > SynCE are MIT licensed. > > OK, I'll change the licence then to MIT. Especially since I have done > alot of copy/paste. :-) > > Anyway, this application is great! Just a minor issue: as you know, > > GNOME 2 is not happy about non-ascii chars. This means that you should > > use wstr_to_utf8 instead of wstr_to_ascii for things that will be > > displayed to the user. > > Thanks for catching this, I'll fix this. > > > I saw that you had copied pcommon.[ch] from librapi2/tools - maybe that > > code should be integrated in the librapi2 library to avoid maintaining > > the same code in two locations? > > Well, I just copied it to get started fast. But if I do the switch to > using gnome-vfs (with the synce-module) I probably can remove this from > my code. I think that gnome-vfs is the way to go. Is gnome-vfs ready for this? > > > trayicon.patch: > > > Added sessionhandling, added menu entries to open synce:/// and the > > > software manager. dccm does still have to be started manually, the > > > trayicon should probably start it... but this has still to be done. > > > > Please commit this yourself! > > Ok, I'll do that later. > > > > What is left to do: > > > > Feel free to add this to TODO files in the modules! > > OK, I will. But I however think it might be a good idea to post some > status reports on the list from time to time, to make it easier for > people to find tasks to do. It will help people start contributing. That is a very good idea! I'll start doing that too. > > There are some partnership fixes in the GNOME 1 version of > > multisync_plugin that I have not yet ported to the GNOME 2 version. > > What are those fixes for? Just before SynCE 0.8 I added two new functions in librra, and the GNOME 1 version of multisync_plugin uses the first function: bool rra_partner_create(RRA* rra, uint32_t* index); bool rra_partner_replace(RRA* rra, uint32_t index); The rra_partner_create function attempts to either select a partnership previously created with one of these two functions, or otherwise create a partnership on an empty partnership slot. It returns the index (1 or 2) of the new partnership in the second parameter if either operation succeeds. The rra_partner_replace function replaces the partnership specified in index (1 or 2) with a new partnership. See rra/src/rra-partners.c for examples of how to use these functions and rra/lib/librra.c for the implementation. The partnerships created with this sytem are saved in ~/.synce/rra/partner-ID, where ID is the hexadecimal value of PId. The file looks something like this: [device] name=test1 [partnership] PCur=1 PId=1536922017 PName=zion.2good.net \David |
From: Mattias E. <sn...@ac...> - 2003-08-14 12:02:39
|
tor 2003-08-14 klockan 13.18 skrev David Eriksson: > On Thu, 2003-08-14 at 12:37, Mattias Eriksson wrote: > > tor 2003-08-14 klockan 11.11 skrev David Eriksson: > > Well, I just copied it to get started fast. But if I do the switch to > > using gnome-vfs (with the synce-module) I probably can remove this from > > my code. I think that gnome-vfs is the way to go. > > Is gnome-vfs ready for this? I don't know? It works OK when I copying my music to the Ipaq. But if it isn't working then I guess it is gnome-vfs that needs the attention. But anyway I could do a --with-gnome-vfs thing in the configure script at first. > > > There are some partnership fixes in the GNOME 1 version of > > > multisync_plugin that I have not yet ported to the GNOME 2 version. > > > > What are those fixes for? > > Just before SynCE 0.8 I added two new functions in librra, and the GNOME > 1 version of multisync_plugin uses the first function: > > bool rra_partner_create(RRA* rra, uint32_t* index); > bool rra_partner_replace(RRA* rra, uint32_t index); > > The rra_partner_create function attempts to either select a partnership > previously created with one of these two functions, or otherwise create > a partnership on an empty partnership slot. It returns the index (1 or > 2) of the new partnership in the second parameter if either operation > succeeds. > > The rra_partner_replace function replaces the partnership specified in > index (1 or 2) with a new partnership. If you look at my multisync patch I sent you (which I will commit to the cvs soon), you see that I use these functions to setup new/replace partherships. What is left to do is just the auto selection of the correct partnership. -- Mattias Eriksson <sn...@ac...> |
From: David E. <tw...@us...> - 2003-08-14 12:44:22
|
On Thu, 2003-08-14 at 13:44, Mattias Eriksson wrote: > If you look at my multisync patch I sent you (which I will commit to the > cvs soon), you see that I use these functions to setup new/replace > partherships. What is left to do is just the auto selection of the > correct partnership. Oups, sorry! \David |