Hello,
New webrev available at:
http://cr.opensolaris.org/~migi/04_09_2008_sync_with_ips_bug_3193_v2/

Comparing to the previous webrev, this changed the way of handling some 
widgets (some of them didn't have gobject.idle_add and should have, so 
now all that need this - the ones that are inside Thread contains this)

Also when the user clicks cancel during install/update evaluate stage 
the CancelException is raised and handled properly. Before the function 
just returned which caused that the user couldn't quit properly application.

best
Michal

jmr wrote:
> Michal - really like the changes, it all looks good now except for the
> download progress.
>
> - Install/upgrade check coming up right away and the pulse progress is
> fine for this evaluation phase.
> - Installing Packages - Creating packages Index - good to have this as
> there was a noticeable pause after install to update the indecies and
> feedback was needed.
> - Download packages progress still looks broken :( Will be great to get
> some smoother notification here, at present it looks as if its hung,
> because we are only getting download byte data atfer n files have been
> downloaded.
>
> Few comments below to do with use of gobject.idle_add(), but rest looks
> good.
>
> JR
>
> src/gui/modules/installupdate.py
>
> Assuming widget calls in __init__ and callbacks are ok and don't need
> wrapped in gobject.idle_add()
>
> 200 + def __progressdialog_progress_pulse(self):
> 201 + while not self.progress_stop_timer_thread:
> 202 + gobject.idle_add(self.w_createplan_progressbar.pulse)
> 203 + time.sleep(0.1)
> 204 + self.progress_stop_timer_thread = False <-- Not required
>
>
> 218 + def __update_install_pulse(self):
> 219 + while not self.progress_stop_timer_thread:
> 220 + self.progress_stop_timer_running = True
> 221 + gobject.idle_add(self.w_installing_progressbar.pulse)
> 222 + time.sleep(0.1)
> 223 + self.progress_stop_timer_thread = False <-- Not required
> 224 + self.progress_stop_timer_running = False
>
>
> 563 681 def __installation_stage(self):
> 682 + '''Code duplication from imageplan.py def execute(self)'''
> 564 683 self.gui_thread.run()
> 684 + self.w_installingdialog_label.set_text(self.parent._( \ <-- Wrap
> in a gobject.idle_add call
> 685 + "Installing Packages..."))
>
> 928 + def __indexing_progress(self):
> 929 + if not self.progress_stop_timer_running:
> 930 + self.w_installingdialog_label.set_text(\ <-- Wrap in a
> gobject.idle_add call
> 931 + self.parent._("Creating packages index..."))
> 932 + Thread(target = self.__update_install_pulse).start()
>
>
> src/gui/modules/remove.py
>
>
> 143 169 def __plan_the_removeimage(self, list_of_packages):
>
> 179 + self.w_createplan_dialog.hide() <-- Wrap in a gobject.idle_add call
> 152 180 return
> 153 181 self.ip.propose_fmri_removal(fmri)
>
> 186 + self.w_createplan_dialog.hide() <-- Wrap in a gobject.idle_add call
> 187 + return 188 + except imageplan.NonLeafPackageException, e:
> 162 189 self.error = e[1]
> 163 190 gobject.idle_add(self.ip.progtrack.evaluate_done)
>
> 222 + self.w_removing_dialog.hide() <-- Wrap in a gobject.idle_add call
> 229 + self.w_removing_dialog.hide()
> 236 + self.w_removing_dialog.hide()
>
> 255 + self.progress_stop_timer_thread = False <- Not needed
> 262 + self.progress_stop_timer_thread = False
>
> 342 + self.w_removingdialog_label.set_text(\ <-- Wrap in a
> gobject.idle_add call 343 + self.parent._("Removing Packages..."))
>
> 362 + self.w_removingdialog_label.set_text(\ <-- Wrap in a
> gobject.idle_add call 363 + self.parent._("Creating packages index..."))
>
> Michal Pryc wrote:
>> Hello pkg community,
>>
>> On the build 96a the GUI is not functional due to the change in the IPS.
>>
>> I've sync the duplicated parts with the current IPS and also I have
>> added nice progress bar for indexing actions.
>>
>> The bug which shows the breakage is logged at:
>> http://defect.opensolaris.org/bz/show_bug.cgi?id=3193
>>
>> The *webrev* is posted at:
>>
>> http://cr.opensolaris.org/~migi/04_09_2008_sync_with_ips_bug_3193/
>>
>>
>> Mostly the changes which I had to sync were from the files filelist.py
>> and imageplan.py done after 14th of Aug 2008:
>>
>> For the filelist.py:
>> http://src.opensolaris.org/source/diff/pkg/gate/src/modules/client/filelist.py?r2=%2Fpkg%2Fgate%2Fsrc%2Fmodules%2Fclient%2Ffilelist.py%40488&r1=%2Fpkg%2Fgate%2Fsrc%2Fmodules%2Fclient%2Ffilelist.py%40411
>>
>>
>>
>> for the installupdate.py and remove.py:
>> http://src.opensolaris.org/source/diff/pkg/gate/src/modules/client/imageplan.py?r2=%2Fpkg%2Fgate%2Fsrc%2Fmodules%2Fclient%2Fimageplan.py%40495&r1=%2Fpkg%2Fgate%2Fsrc%2Fmodules%2Fclient%2Fimageplan.py%40456
>>
>>
>> I did run few smoke tests using install/uninstall several packages and
>> everything worked fine for me with the gate version of the SUNWipkg
>> and SUNWipkg-gui.
>>
>

_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss

Reply via email to