From: Tom S. <tsz...@us...> - 2005-06-27 10:02:13
|
> > I would be happy to receive patches for converting deprecated widgets to > > non-deprecated ones. > > Here http://clay.ll.pl/repository/aqualung-0.142.1-patch.gz is first > patch. All changes have been done in options.c file (conversion of all > gtk_option_menu widgets to gtk_combo_box). More changes on the way... Thanks for the patch. I have applied and committed it, with the exception of the About window width setting. I think it should be determined by the width of the text in the box, with the actual font used (which may vary from system to system), and not be a predefined fixed value. That's how it was. All other changes are fine, I accepted them all. Version bumped to 0.142.2; CVS tarball updated. > > > 2) There are many calls of deflicker() function in gui_main.c. Is this > > > function really required ? > > > > Yes, I believe it is. In an event handler (e.g. "change skin"'s button > > press event) you want to make changes to the GUI which require much > > repainting. If there are no explicit calls to process pending messages > > in the event queue inside the event handler, GTK will only start > > processing when it gets back to the main loop (out of the event > > handler). Our previous experience showed that with many changes made to > > more than one window (eg. changing the skin), GTK started to process > > messages in a somewhat broken way; some windows start to appear, then > > disappear more than once in a short period of time, and other strange > > things happen. > > Weird stuff. I don't like it :) Me neither. > I've found stragne behaviour. When aqualung windows are opening they are > placed somwhere on the desktop (I use WindowMaker) and then are moving in > the stored earlier position. It's rather ugly because moving is visible to > the user. The reason is that window restore postion function is called > after gtk_widget_show_*. So, I swapped these calls and windows are > displayed correctly (without visible movements), but there is a side > effect - in the next run restored position is invalid... any ideas ? > maybe it is connected with defilicker() in some way ? I think window positions are invalid before they physically appear on the screen, so setting the position before actually drawing them has no effect. We (mainly Peter) have spent large amounts of time trying to achieve a most acceptable behavior, and this is the result we could get. Not too bad, I guess, though undoubtedly imperfect. BTW, the visible movements aren't even visible on faster machines. :) I think it is unrelated to deflicker(). You can try if you comment out the contents of deflicker() so it does nothing, and see if it makes a difference. > and at the end two observations :) > > - When I press 'Direct add' in playlist a 'Direct add' window is appear, > but I think calling file requester directly is more convenient or I miss > something ? I did this because the file requester returns a selection of multiple files in an utterly stupid order. So an intermediate container was needed that does the task of sorting the list (which I didn't want to do manually). The sorting is done by the gtk_list_store object, which is displayed by the gtk_tree widget. You could change the code so there is no tree widget, only a list store in the background. So basically you have a good point. > > - In some places you are using stock icons, but aren't they collide with > skins graphics ? should we use stock icons or not ? I don't think this is a problem. > any chance to add plain-skin to the default skins ? (include plain skin > in the aqualung tarball) I can provide good explanation if you really > want... No problem with that. However, at its present form, we need a small modification to it before we can put it in the main aqualung tree: I see you have symlinks from xpm files pointing to png's. Please remove the links, and edit the references to it in the rc file. The rc file itself should not be a symlink, either. (I'm not sure if symlinks can even be put in CVS...) Moreover, you will be the maintainer of your skin, so you will have to make changes to it occasionally. At the moment, the appearance of your newly added combo boxes need to be fixed. Now the colors of the active selection in the drop down windows are... uhm... suboptimal. :) Other skins need to be fixed, too, but that's Peter's job. Tom |