Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWalter Bender <walter@sugarlabs.org>2014-01-14 18:22:31 (GMT)
committer Walter Bender <walter@sugarlabs.org>2014-01-14 18:22:31 (GMT)
commit683c680773852661a4e0ebb1bd2302eaff6f8e65 (patch)
tree30eb709335302e7eb0c2172b35c144d5130cc244
parentd82e2794dcc23bf55cf6cba5ce2aa0c6fc524d5d (diff)
fix window order bug
-rw-r--r--NEWS3
-rw-r--r--filedialog.py3
-rw-r--r--icondialog.py4
-rw-r--r--pippy_app.py15
4 files changed, 16 insertions, 9 deletions
diff --git a/NEWS b/NEWS
index 39ad012..d538ca2 100644
--- a/NEWS
+++ b/NEWS
@@ -6,6 +6,9 @@ ENHANCEMENTS:
* Add custom icon selection when saving as Sugar activity (Ignacio Rodriguez)
* New icons
+BUG FIX:
+* keep dialog window on top after cycling between activities
+
54
ENHANCEMENTS:
diff --git a/filedialog.py b/filedialog.py
index ea6da02..463d953 100644
--- a/filedialog.py
+++ b/filedialog.py
@@ -39,9 +39,6 @@ class FileDialog(Gtk.Dialog):
self.set_resizable(False)
self.set_modal(True)
- if window:
- self.set_parent(window)
-
self.modify_bg(Gtk.StateType.NORMAL, Gdk.color_parse('#F3EEEE'))
self.show_all()
diff --git a/icondialog.py b/icondialog.py
index 1087d8a..3acc46a 100644
--- a/icondialog.py
+++ b/icondialog.py
@@ -82,6 +82,8 @@ class IconDialog(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self)
+ self.set_destroy_with_parent(True)
+
self.theme = Gtk.IconTheme.get_default()
self.theme.append_search_path(get_documents_path())
@@ -179,4 +181,4 @@ class IconDialog(Gtk.Window):
icon_path = model.get(iter_, 2)[0]
self._icon = icon_path
- self.destroy() \ No newline at end of file
+ self.destroy()
diff --git a/pippy_app.py b/pippy_app.py
index 7c44088..0f6cbd2 100644
--- a/pippy_app.py
+++ b/pippy_app.py
@@ -128,6 +128,7 @@ class PippyActivity(ViewSourceActivity, groupthink.sugar_tools.GroupActivity):
self.py_file = False
self.loaded_session = []
self.session_data = []
+ self.dialog = None
sys.path.append(os.path.join(self.get_activity_root(), 'Library'))
@@ -357,6 +358,10 @@ class PippyActivity(ViewSourceActivity, groupthink.sugar_tools.GroupActivity):
def after_init(self):
self.outbox.hide()
+ def resume(self):
+ if self.dialog is not None:
+ self.dialog.set_keep_above(True)
+
def _toggle_output_cb(self, button):
shown = button.get_active()
if shown:
@@ -370,9 +375,10 @@ class PippyActivity(ViewSourceActivity, groupthink.sugar_tools.GroupActivity):
def load_example(self, widget):
widget.set_icon_name('pippy-openon')
- dialog = FileDialog(self.paths, self, widget)
- dialog.run()
- path = dialog.get_path()
+ self.dialog = FileDialog(self.paths, self, widget)
+ self.dialog.show()
+ self.dialog.run()
+ path = self.dialog.get_path()
if path:
self._select_func_cb(path)
@@ -417,14 +423,13 @@ class PippyActivity(ViewSourceActivity, groupthink.sugar_tools.GroupActivity):
'Discard changes?')
alert.connect('response', self._discard_changes_cb, path)
self.add_alert(alert)
- return False
else:
values = {}
values['name'] = os.path.basename(path)
values['path'] = path
self.selection_cb(values)
- return False
+ # return False
def _discard_changes_cb(self, alert, response_id, path):
self.remove_alert(alert)