summaryrefslogtreecommitdiffstats
path: root/pyanaconda/ui/gui/hubs/progress.py
Commit message (Collapse)AuthorAgeFilesLines
* Enable line wrapping in a couple more places (#901551).Chris Lumens2013-01-201-0/+1
|
* Mark the live progress hub message for translation (#892069).Chris Lumens2013-01-071-2/+2
|
* Fix a typo in the live cd completion text (#884373).Chris Lumens2012-12-071-1/+1
|
* On live installs, the progress hub should have a Quit button (#854904).Chris Lumens2012-11-201-0/+6
| | | | | Live environments have their own way of rebooting, and anaconda doesn't need to interfere with that.
* Make all Gtk calls from inside of it's main loop (and thread)threadingMartin Sivak2012-10-161-14/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - Marks all methods containing mostly gtk calls as gtk_thread_wait or gtk_thread_nowait - Uses gtk_call_once instead of GLib.idle_add to make sure the method is called only once (returns False) - Removes some code from the threading locks, because it wasn´t touching Gtk at all This change was discussed in the mailinglist here: https://www.redhat.com/archives/anaconda-devel-list/2012-October/msg00030.html The main point was: According to the Gtk team, the gdk_threads_enter/leave pair should not be used at all (and they have apparently discouraged usage of it since early releases of Gtk2). Moreover in the current Gdk docs (http://developer.gnome.org/gdk3/stable/gdk3-Threads.html) those functions are now marked as deprecated. The preferred way (and now the only way) is to use g_idle_add (GLib.idle_add) with a callback method to schedule GUI changes. The callback method will then get called by the Gtk main loop so no locking is needed (and GLib.idle_add performs none). But that is also the reason why everything Gtk related must be done from the mainloop thread either directly or via idle_add.
* Add a progress message for quitting the installer.Chris Lumens2012-09-251-0/+3
| | | | | We need this to quit when handling errors, since doing a sys.exit() from a thread only kills the thread and not the main program.
* Don't explicitly start the progress spinner in python code.Chris Lumens2012-09-181-3/+0
| | | | | This is handled by glade, and the fact that the spinner doesn't spin right now is due to a GTK bug.
* Make progress hub spokes possible and move the root password thereMartin Sivak2012-09-131-16/+69
| | | | | - Splits doInstall to doInstall and doConfiguration - Updates text and gui mode to use doConfiguration
* Fix ransom notes cycling.Chris Lumens2012-09-121-10/+25
| | | | | | Instead of constantly creating new Images and shoving them into a spot in the notebook, I'm now just putting each rnote on its own page. Whether it's better or not is up for debate, but at least this way works.
* Use 250ms interval for installation progress updatingVratislav Podzimek2012-09-111-1/+1
| | | | | Using GLib.idle_add for action that repeats means 100% CPU usage. So let's use GLib.timeout_add with 250ms interval instead.
* Move expandLangs to localization moduleVratislav Podzimek2012-08-291-2/+2
|
* reboot after kickstartBrian C. Lane2012-07-251-1/+8
| | | | | | | | | | | | | | | Modify the continueButton to exit (allowing the anaconda exitHandler to take control) if it is the last action. The button is expected to be setup so that it is clear to the user what will happen (eg. REBOOT). This also fixes the display of the quitDialog when rebooting. Add a click of the final button when kickstarting with reboot or shutdown. halt also works, but requires a new version of pykickstart. Previously the halt command was not working, it would set action to KS_SHUTDOWN and there was no way for KS_WAIT to be set.
* Move all .ui files to a .glade extension.Chris Lumens2012-07-251-1/+1
| | | | | | xgettext is dumb and only looks at file extensions. It has no way to let you tell it what extension maps to what language on the command line. Thus, out glade files must be .glade if they are to get translated.
* Hide the spinner on the progress hub when we are done.Chris Lumens2012-07-171-0/+1
| | | | It looks a little silly to have it sitting there and stopped.
* Add a spinner next to the installation progress message.Chris Lumens2012-06-291-0/+3
| | | | | This is a hint that we're still doing something, even if an individual step takes a long time.
* Tweak progress bar updates a little bit.Chris Lumens2012-05-041-1/+0
| | | | | | Starting off with the "Preparing to install" message makes the pause up front seem a little less weird, and moving the package installation message around means there's less pause after the last filesystem is made.
* Don't crash when there are no rnotes.David Lehman2012-04-191-2/+7
|
* Add rnotes display and cycling to the progress hub.Chris Lumens2012-04-171-9/+52
| | | | | | It will automatically cycle the image every 60 seconds. Similarly to how it all used to work, we will check for images in directories both containing a language-specific component and not.
* When installation is complete, display the reboot button.Chris Lumens2012-04-171-0/+7
|
* When the progress bar is complete, stop checking for updates.Chris Lumens2012-04-171-0/+4
|
* Redo the progress bar code so it actually works.Chris Lumens2012-04-161-9/+35
| | | | | | | | | | | | With the previous code, I could never get the UI to be redrawn to reflect the changes, even though the changes appeared to have taken effect. This new code instead uses a message queue for communication between the thread doing all the hard work and the main thread that handles GTK stuff. The storage code will shove messages into that queue when it does something like create a filesystem, and the main thread watches in the idle loop for messages. I've also provided yet another context manager to make all this code simpler.
* Use our own threading.Thread subclass.Chris Lumens2012-04-161-4/+3
| | | | | | | First, it means we can move the special run behavior into the run method directly instead of the roundabout way it was being done. Second, it provides a place to make sure the thread gets removed from the threadMgr's list when it terminates.
* In order for division to work the way I want it to, I need a future import.Chris Lumens2012-04-111-0/+2
| | | | | Otherwise, small int/bigger int = 0, which means the progress bar will always be stuck.
* Add a top-level function that does the hard work of installation.Chris Lumens2012-04-091-4/+6
| | | | | | | There's nothing particularly clever about this. It just calls the ksdata execute methods linearly, makes partitions, and installs packages. Error handling is not yet in good shape and neither is progress reporting. However, an autopart setup will actually make partitions.
* Split the progress updating method into two.Chris Lumens2012-04-091-2/+10
| | | | | | | We need to be able to update the progress bar and the message independently. The message should be updated when an action begins so you know what's taking so long, and the progress bar should be updated when an action ends so you know how far you are through now.
* All UI objects need to take a Storage instead of a DeviceTree.Chris Lumens2012-03-201-2/+2
| | | | | | We're going to need to do this for the advanced partitioning stuff anyway, and now it looks like we'll need a Storage to do a reset on the base repo when it's changed in the source spoke. Might as well make the change now.
* Add another context manager for the Gdk threading code.Chris Lumens2012-03-091-14/+10
| | | | | | | | | | | Once again, we're doing something in a pattern: Gdk.threads_enter() do something Gdk.threads_leave() This is another perfect example of the sort of thing the context manager can really help clean up.
* Make the base UI classes take a payload instance, just like they do devicetree.Chris Lumens2012-02-281-2/+2
|
* progressHandler -> progressChris Lumens2012-02-221-2/+2
|
* Add a progress bar reporting framework.Chris Lumens2012-02-221-1/+46
| | | | | | | It consists of a very basic ProgressReporter class and singleton that serves as a wrapper around the UI implementation so anaconda doesn't need to know what kind of interface is running, and then a couple methods in the existing GUI progress bar class to set things up.
* And then rename setup to refresh.Chris Lumens2012-02-101-2/+2
| | | | | I think that's a better description of what the method actually does. Hopefully I'll be able to keep everything straight.
* Add the progress hub in after the summary hub.Chris Lumens2011-11-281-0/+40
Of course, right now there is no progress to report on so all you can do is reboot. But, it's a start.