[gnome-sudoku/multithread_printing] Show a spinner in new game screen during puzzle generation



commit 7d44d069ecbeaf1cae46b3657914e896ba045237
Author: Parin Porecha <parinporecha gmail com>
Date:   Thu Aug 14 14:28:49 2014 +0200

    Show a spinner in new game screen during puzzle generation

 data/gnome-sudoku.ui  |    5 +++++
 src/gnome-sudoku.vala |    7 +++++++
 2 files changed, 12 insertions(+), 0 deletions(-)
---
diff --git a/data/gnome-sudoku.ui b/data/gnome-sudoku.ui
index d85f406..1893988 100644
--- a/data/gnome-sudoku.ui
+++ b/data/gnome-sudoku.ui
@@ -154,6 +154,11 @@
                                 <property name="position">3</property>
                             </packing>
                         </child>
+                        <child>
+                            <object class="GtkSpinner" id="start_spinner">
+                                <property name="visible">True</property>
+                            </object>
+                        </child>
                     </object> <!-- End of start_box -->
                     <packing>
                         <property name="name">start_box</property>
diff --git a/src/gnome-sudoku.vala b/src/gnome-sudoku.vala
index fb60af5..189a2c3 100644
--- a/src/gnome-sudoku.vala
+++ b/src/gnome-sudoku.vala
@@ -297,7 +297,14 @@ public class Sudoku : Gtk.Application
 
         SudokuGenerator.generate_boards_async.begin (1, selected_difficulty, (obj, res) => {
             try {
+                var spinner = builder.get_object ("start_spinner") as Spinner;
+                spinner.active = true;
+                spinner.show ();
+                spinner.start ();
+
                 var gen_boards = SudokuGenerator.generate_boards_async.end (res);
+
+                spinner.stop ();
                 start_game (gen_boards[0]);
             } catch (ThreadError e) {
                 error ("Thread error: %s", e.message);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]