upgrade Update Addons to ManagedWindow
This change was initiated to correct status bar and popup dialogs that were coming up in the wrong place under Windows. Upgrade to Managedwindow allows for size/position config, correct popup of subordinate dialogs, and better window management in relation to other dialogs. The Glade change allows the transient parent function to work. Note that UpdateAddons remains a modal dialog.
This commit is contained in:
parent
4ad41e9269
commit
56fa449de8
@ -1421,7 +1421,7 @@ class GrampsPreferences(ConfigureDialog):
|
|||||||
return
|
return
|
||||||
|
|
||||||
if len(addon_update_list) > 0:
|
if len(addon_update_list) > 0:
|
||||||
PluginWindows.UpdateAddons(addon_update_list, self.window)
|
PluginWindows.UpdateAddons(self.uistate, self.track, addon_update_list)
|
||||||
else:
|
else:
|
||||||
check_types = config.get('behavior.check-for-addon-update-types')
|
check_types = config.get('behavior.check-for-addon-update-types')
|
||||||
OkDialog(
|
OkDialog(
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!-- Generated with glade 3.18.3 -->
|
<!-- Generated with glade 3.20.0 -->
|
||||||
<interface>
|
<interface>
|
||||||
<requires lib="gtk+" version="3.10"/>
|
<requires lib="gtk+" version="3.10"/>
|
||||||
<object class="GtkDialog" id="dialog1">
|
<object class="GtkDialog" id="dialog1">
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="border_width">5</property>
|
<property name="border_width">5</property>
|
||||||
<property name="window_position">center</property>
|
|
||||||
<property name="default_width">700</property>
|
<property name="default_width">700</property>
|
||||||
<property name="default_height">500</property>
|
<property name="default_height">500</property>
|
||||||
<property name="destroy_with_parent">True</property>
|
<property name="destroy_with_parent">True</property>
|
||||||
|
@ -1072,16 +1072,16 @@ class ToolManagedWindow(tool.Tool, ToolManagedWindowBase):
|
|||||||
# UpdateAddons
|
# UpdateAddons
|
||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
class UpdateAddons:
|
class UpdateAddons(ManagedWindow):
|
||||||
|
|
||||||
def __init__(self, addon_update_list, parent_window):
|
def __init__(self, uistate, track, addon_update_list):
|
||||||
self.title = _('Available Gramps Updates for Addons')
|
self.title = _('Available Gramps Updates for Addons')
|
||||||
|
|
||||||
|
ManagedWindow.__init__(self, uistate, track, self, modal=True)
|
||||||
glade = Glade("updateaddons.glade")
|
glade = Glade("updateaddons.glade")
|
||||||
self.window = glade.toplevel
|
self.set_window(glade.toplevel, None, None)
|
||||||
self.window.set_title(self.title)
|
self.window.set_title(self.title)
|
||||||
self.window.set_size_request(750, 400)
|
self.setup_configs("interface.updateaddons", 750, 400)
|
||||||
self.window.set_transient_for(parent_window)
|
|
||||||
|
|
||||||
apply_button = glade.get_object('apply')
|
apply_button = glade.get_object('apply')
|
||||||
cancel_button = glade.get_object('cancel')
|
cancel_button = glade.get_object('cancel')
|
||||||
@ -1135,13 +1135,11 @@ class UpdateAddons:
|
|||||||
pos = iter
|
pos = iter
|
||||||
if pos:
|
if pos:
|
||||||
self.list.selection.select_iter(pos)
|
self.list.selection.select_iter(pos)
|
||||||
self.window.run()
|
|
||||||
|
|
||||||
def close(self, widget):
|
self.show()
|
||||||
"""
|
|
||||||
Close the dialog.
|
def build_menu_names(self, obj):
|
||||||
"""
|
return (self.title, " ")
|
||||||
self.window.destroy()
|
|
||||||
|
|
||||||
def select_all_clicked(self, widget):
|
def select_all_clicked(self, widget):
|
||||||
"""
|
"""
|
||||||
@ -1176,7 +1174,7 @@ class UpdateAddons:
|
|||||||
length, 1, # total, increment-by
|
length, 1, # total, increment-by
|
||||||
can_cancel=True)
|
can_cancel=True)
|
||||||
pm = ProgressMonitor(GtkProgressDialog,
|
pm = ProgressMonitor(GtkProgressDialog,
|
||||||
("Title", self.window, Gtk.DialogFlags.MODAL))
|
("Title", self.parent_window, Gtk.DialogFlags.MODAL))
|
||||||
pm.add_op(longop)
|
pm.add_op(longop)
|
||||||
count = 0
|
count = 0
|
||||||
if not config.get('behavior.do-not-show-previously-seen-addon-updates'):
|
if not config.get('behavior.do-not-show-previously-seen-addon-updates'):
|
||||||
@ -1210,7 +1208,7 @@ class UpdateAddons:
|
|||||||
OkDialog(_("Installation Errors"),
|
OkDialog(_("Installation Errors"),
|
||||||
_("The following addons had errors: ") +
|
_("The following addons had errors: ") +
|
||||||
", ".join(errors),
|
", ".join(errors),
|
||||||
parent=self.window)
|
parent=self.parent_window)
|
||||||
if count:
|
if count:
|
||||||
OkDialog(_("Done downloading and installing addons"),
|
OkDialog(_("Done downloading and installing addons"),
|
||||||
# translators: leave all/any {...} untranslated
|
# translators: leave all/any {...} untranslated
|
||||||
@ -1218,12 +1216,12 @@ class UpdateAddons:
|
|||||||
"{number_of} addons were installed.",
|
"{number_of} addons were installed.",
|
||||||
count).format(number_of=count),
|
count).format(number_of=count),
|
||||||
_("If you have installed a 'Gramps View', you will need to restart Gramps.")),
|
_("If you have installed a 'Gramps View', you will need to restart Gramps.")),
|
||||||
parent=self.window)
|
parent=self.parent_window)
|
||||||
else:
|
else:
|
||||||
OkDialog(_("Done downloading and installing addons"),
|
OkDialog(_("Done downloading and installing addons"),
|
||||||
_("No addons were installed."),
|
_("No addons were installed."),
|
||||||
parent=self.window)
|
parent=self.parent_window)
|
||||||
self.window.destroy()
|
self.close()
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
|
@ -344,7 +344,7 @@ class ViewManager(CLIManager):
|
|||||||
"""
|
"""
|
||||||
Called when add-on updates are available.
|
Called when add-on updates are available.
|
||||||
"""
|
"""
|
||||||
PluginWindows.UpdateAddons(addon_update_list, self.window)
|
PluginWindows.UpdateAddons(self.uistate, [], addon_update_list)
|
||||||
self.do_reg_plugins(self.dbstate, self.uistate)
|
self.do_reg_plugins(self.dbstate, self.uistate)
|
||||||
|
|
||||||
def _errordialog(self, title, errormessage):
|
def _errordialog(self, title, errormessage):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user