Hello, Here is the log for this week's meeting. The items discussed were:
* How plugins can modify the GUI * Options dialog * Multiple instances of one protocol * Some admin stuff. Not a whole lot, but the plugins modifying/influencing the GUI is a big topic by itself. Jon -- ________________________________________________________ Jon Keating ICQ: 16325723 [EMAIL PROTECTED] MSN: [EMAIL PROTECTED] http://www.licq.org GPG: 2290A71F http://www.thejon.org HOME: Minamiashigara, Japan
--- Log opened Tue May 16 20:02:30 2006 20:02 <@emostar> Alright, so who is here? 20:03 < rsLeo> i'm here 20:03 <@emostar> Hmm.. ok, rsLeo and emostar are here. 20:03 < erijo> I'm also here 20:03 <@emostar> erijo: first time? 20:04 <@emostar> erijo: ahh Erik? 20:04 < erijo> kind of, i've been reading the logs 20:04 < erijo> yupp 20:04 <@emostar> ok, i was just wondering who erijo was all of a sudden ;) 20:05 <@emostar> rsLeo: I will add your account to licq.org for editing the website soon. what has been taking so long is setting up the ACL policy. 20:05 <@emostar> looks like i can finish it soon though 20:05 < rsLeo> ok 20:06 <@emostar> the server is doing way too many things, so i have to make sure it all works 20:06 <@emostar> so, lets see about getting down to busines 20:07 < rsLeo> emostar: i wrote a mail to the licq mirror admin but nobody answered. 20:07 <@emostar> rsLeo: which admin? 20:07 < rsLeo> emostar: the people on licq site in the mirror section 20:07 <@emostar> ahh 20:08 <@emostar> I can setup the Canada one 20:08 <@emostar> just the German and .cz ones are unknown.. 20:08 <@emostar> i had shell access to the .de mirror.. but lost the ip with the crash 20:09 < rsLeo> is anybody using the mirrors? 20:09 < erijo> if you need a mirror in sweden I can host one on my server 20:09 <@emostar> havent had any complaints.. maybe they all just switched to the main server 20:09 <@emostar> erijo: sure, the more the merrier :) 20:09 < erijo> any info on how to do it? 20:10 < rsLeo> in 20 minutes i have to go. 20:10 <@emostar> setup a virtual host for www.se.licq.org and I'll upload the current website to svn 20:10 <@emostar> I'll send you a private e-mail with instructions 20:10 < erijo> k 20:11 < rsLeo> what are the topics for today? 20:11 <@emostar> I have changed the LicqCallback interface to use erijo's suggestions 20:12 <@emostar> I will commit those to SVN shortly, I was gonna get around to it this morning but wanted to confirm a few parts first 20:12 <@emostar> rsLeo: just a few topics of the api is all i have 20:13 < rsLeo> emostar: ok 20:13 <@emostar> after i get the plugin architecture done, someone should do the task of modifying the rms plugin. 20:13 <@emostar> while that is done, i will make a new class for protocol plugins 20:13 <@emostar> and update the daemon to use that 20:15 <@emostar> while we do all this, we should also work on completing the api specification 20:16 < rsLeo> the changed RMS uses the general plugin? 20:16 <@emostar> the main remaining parts are how plugins can modify the GUI and extending plugins (as Joachim said earlier about video chat) 20:16 < rsLeo> or is a general plugin? 20:16 <@emostar> After i commit the new pipeline stuff, i will commit my changes to rms. it uses the GeneralPlugin class as a parent. 20:17 <@emostar> it will then need to use the callbacks 20:17 <@emostar> and pushing signals to the daemon (change status, send message) 20:18 <@emostar> which also reminds me that the sending signals to the daemon API needs to be finished 20:20 <@emostar> so, any comments on anything? 20:21 < rsLeo> nothing at the moment 20:21 < erijo> I was thinking a bit about how protocol plugins can present options to e.g. qt-gui. 20:21 <@emostar> well one question is.. does the protocol plugin and general plugin modify the gui in the same way or different ways? 20:22 <@emostar> i've been thinking the same ways.. to allow maximum flexibility 20:23 < erijo> what about using a xml-format where the pps (protocol plugins) lays out exactly how the gui for changing options should look like? 20:24 < erijo> since if the gps is just given a list of options, it's hard to lay them out in a logical way without creating a hard dependence between the plugins 20:25 <@emostar> yeah.. that would require us to have a simple markup language for creating guis 20:25 < erijo> like: the qt-gui asks the daemon for the settingsfile for the icq plugin. it gets back the icq-options.xml which looks something like this 20:25 <@emostar> <gui_option> <checkbox label="Option Name>... 20:25 <@emostar> ah go ahead :) 20:26 < erijo> <tabs><tab> 20:26 < erijo> <vbox cols="2"><option ... /><option ... /></vbox> 20:27 <@emostar> and when the options get changed... how does it save the data? 20:27 < erijo> the idea is that you specify exactly how the options should be displayed (which would be translated to QVbox etc) 20:27 < erijo> for every option you have <option data="name"> 20:28 < erijo> then you use the boost::dict_something_i_dont_remember which have the value of the option name 20:28 <@emostar> that could be done.. but would require some big changes in the guis to comply with it i believe 20:29 <@emostar> but.. i think it is the best choice.. to allow all plugins to have a major impact on the gui 20:29 <@emostar> not only options, but other windows.. such as video chat for example.. 20:30 <@emostar> i'll admit that the one nice thing ICQ has done is making the Xtraz plugin API.. it looks like it can be quite powerful (but the API is closed to the public) 20:31 < erijo> what can be done with that? 20:31 <@emostar> it extends the protocol and adds features (most of which are crap..) 20:31 <@emostar> but the idea is nice 20:32 < rsLeo> sorry but i have to go. Would be nice if more can be discussed at the mailinglist. cu 20:32 <@emostar> rsLeo: ok, thanks for coming 20:34 <@emostar> I think plugins should be allowed to specify: Options Tab... Modify the main menu.. Modify user menus.. 20:34 <@emostar> with the menus they should be able to create submenus as well 20:36 < erijo> I was thinking about a class CPluginManager which would keep track of all available plugins and which plugins could query for information about other plugins. 20:37 < erijo> e.g. options, menus etc 20:38 <@emostar> hmm.. when would it be used? 20:39 < erijo> the original idea was that all plugins would come with a short text file describing them (name, version...) and this class would keep track of those. This way you don't have to load plugins to get that info. 20:40 <@emostar> yeah, that would be very useful to reduce the amount of handles and memory used.. 20:40 <@emostar> that way if you have 100 plugins in your folder it doesnt load all of them ;) 20:41 < erijo> qt-gui queries for protocol plugins and lists them so that the user can select one. She selects the icq plugin, which is loaded. The qt-gui then queries for the icq plugin's menus etc 20:42 < erijo> btw, will plugins run in their own thread? 20:42 <@emostar> yeah 20:43 <@emostar> if you look at licq_generalplugin.h there is a mention of how to start the thread 20:43 <@emostar> some thought will have to go into how protocol plugins modify menus with more than one instance active 20:44 < erijo> is more than one instance something that is planed for? 20:45 <@emostar> yes 20:45 <@emostar> you can be logged into 2 icq uin's simultaneously.. 20:45 <@emostar> or 1 icq uin and 1 aim screenname 20:46 <@emostar> or 40 20:46 <@emostar> :p 20:47 < erijo> 1 icq and 1 aim shouldn't be any problem. 2 icq on the other hand... 20:48 <@emostar> why would that be a problem? 20:49 <@emostar> icq and aim are the same thesedays.. the only difference is the username can't begin with a number for aim 20:49 <@emostar> some CAPS that we send are different.. but basically the same now 20:49 < erijo> i was thinking about how they would modify the gui 20:50 < erijo> especially when you have the same contact on both accounts 20:50 <@emostar> perhaps 2 types of menus... one for the general menu, which if alreayd present wont be erased but will call all instances 20:50 <@emostar> and then one for the user which calls a specific instance 20:51 <@emostar> yeah, some work will need to be done to allow that.. i've been thinking of how to implement this for a few years.. 20:51 <@emostar> but it was nearly impossible with the old api 20:51 <@emostar> so i didnt do a rehaul at that time.. 20:52 -!- rulfo [EMAIL PROTECTED] has joined #Licq 20:52 < erijo> an plans on support for "merging" contacts on diffrent networks (person A is on both icq and msn, but should only show as one user) 20:53 <@emostar> ive had some thoughts of that.. i think its a good idea 20:53 <@emostar> but introduces many complexities 20:53 < erijo> yes 20:53 <@emostar> like when you look at the user's info.. what od you see? 20:54 <@emostar> and if you read their away message.. which do you see? 20:54 <@emostar> they can be done with a menu for each link... 20:54 <@emostar> but that obviously needs to be planned out 20:54 < erijo> the user should select an order: first icq, then msn, etc. Then you just take the info from the first network that the user is on 20:54 <@emostar> priorities 20:55 < erijo> yeah 20:56 <@emostar> the main thing i want to do is make sure that most of the features we want get into the api design, so we can plan it from the start to be complete 20:57 < erijo> if this is done in the daemon, it would be somewhat transparent for guis 20:57 <@emostar> and not have to hack away everytime we want to add somethign that got left out 20:57 < rulfo> this new web interface feature in licq, how can I activate / start it? Do I need a plugin for that? ... I'm interesetd in this one... the screenshots looked promising. 20:57 <@emostar> yeah, the daemon's job is to do the grunt work to make plugins easier 20:58 <@emostar> rulfo: you need the rms plugin to be working properly 20:59 < erijo> but the best way to get a good api design is proably to making something that uses it and then iterate when something is missing. This way you don't spend time designing something that's never used. 21:00 < rulfo> ok... is there any information about this one on licq.org... found nothing there... 21:00 <@emostar> rulfo: there is some documentation in the tarball 21:01 < rulfo> ok.. I'll have a look at it. 21:01 <@emostar> yeah, i think getting the current plugins to work with the new api is a good first step 21:05 < erijo> about the newapi. I have almosted finished CBuffer. It works like this: 21:06 < erijo> CBuffer myBuffer; myBuffer << littleEndian << uint8_t(1) << uint8_t(2) << bigEndian << uint16_t(3) << uint32_t(4); 21:06 <@emostar> looks good. how about the access for Encrypt_Client? 21:06 < erijo> to read: uint32_t data; myBuffer >> bigEndian >> data; or myBuffer >> littleEndian >> data; 21:07 < erijo> you can use myBuffer[] as well 21:08 < erijo> so it should work for Encrypt_Client as well 21:08 <@emostar> ahh 21:08 <@emostar> yes, that is good 21:09 < erijo> i'll finish it up tonight and post it to the list 21:09 <@emostar> alright.. i will probably be asleep by then if it is "tonight" for you 21:11 < erijo> if you update www.se.licq.org to point to 85.8.4.85 it should display a test page now 21:12 < erijo> or even better, make it a CNAME to eddie.ejohansson.se 21:15 <@emostar> ok, will add a cname soon 21:17 <@emostar> ok, got it up 21:18 <@emostar> se.licq.org and www.se.licq.org both work.. but www.se will be official 21:18 < erijo> ok, I'll add an alias for the non-www 21:18 <@emostar> i think we can finish now... right? 21:20 < erijo> first, what's next on the todo list? 21:20 <@emostar> getting rms converted to the new callback style.. but ihave to commit some changes first 21:21 < erijo> k. I'll wait for that then 21:22 <@emostar> i hope to get it in by tonight :) 21:22 < erijo> :) 21:22 <@emostar> but first i have to get dinner.. it's already 21:20 21:23 < erijo> living in the future, must feel good :) 21:24 <@emostar> not very different i think ;) --- Log closed Tue May 16 21:24:18 2006
pgpaETQIWQh2b.pgp
Description: PGP signature