8128: GtkDialog mapped without a transient parent
This commit is contained in:
parent
76a6e8a502
commit
da8f99bab7
@ -128,12 +128,12 @@ class DeepRelationshipPathBetween(Rule):
|
||||
" Each path is not necessarily the shortest path.")
|
||||
|
||||
def prepare(self, db):
|
||||
# FIXME: this should user the User class
|
||||
# FIXME: this should use the User class
|
||||
from gramps.gui.utils import ProgressMeter
|
||||
root_person_id = self.list[0]
|
||||
root_person = db.get_person_from_gramps_id(root_person_id)
|
||||
|
||||
progress = ProgressMeter(_('Finding relationship paths'))
|
||||
progress = ProgressMeter(_('Finding relationship paths')) # no-parent
|
||||
progress.set_pass(header=_('Evaluating people'), mode=ProgressMeter.MODE_ACTIVITY)
|
||||
|
||||
filter_name = self.list[1]
|
||||
|
@ -214,7 +214,7 @@ class AddMedia(ManagedWindow):
|
||||
if filename:
|
||||
mtype = get_type(filename)
|
||||
if mtype and mtype.startswith("image"):
|
||||
image = scale_image(filename, THUMBSCALE)
|
||||
image = self.scale_image(filename, THUMBSCALE)
|
||||
else:
|
||||
image = find_mime_type_pixbuf(mtype)
|
||||
self.image.set_from_pixbuf(image)
|
||||
@ -224,28 +224,28 @@ class AddMedia(ManagedWindow):
|
||||
config.set('behavior.addmedia-relative-path', self.relative_path)
|
||||
config.save()
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# scale_image
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
def scale_image(path, size):
|
||||
"""
|
||||
Scales the image to the specified size
|
||||
"""
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# scale_image
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
def scale_image(self, path, size):
|
||||
"""
|
||||
Scales the image to the specified size
|
||||
"""
|
||||
|
||||
title_msg = _("Cannot display %s") % path
|
||||
detail_msg = _('Gramps is not able to display the image file. '
|
||||
'This may be caused by a corrupt file.')
|
||||
title_msg = _("Cannot display %s") % path
|
||||
detail_msg = _('Gramps is not able to display the image file. '
|
||||
'This may be caused by a corrupt file.')
|
||||
|
||||
try:
|
||||
image1 = GdkPixbuf.Pixbuf.new_from_file(path)
|
||||
width = image1.get_width()
|
||||
height = image1.get_height()
|
||||
|
||||
scale = size / float(max(width, height))
|
||||
return image1.scale_simple(int(scale*width), int(scale*height),
|
||||
GdkPixbuf.InterpType.BILINEAR)
|
||||
except:
|
||||
WarningDialog(title_msg, detail_msg) # no-parent
|
||||
return GdkPixbuf.Pixbuf.new_from_file(ICON)
|
||||
try:
|
||||
image1 = GdkPixbuf.Pixbuf.new_from_file(path)
|
||||
width = image1.get_width()
|
||||
height = image1.get_height()
|
||||
scale = size / float(max(width, height))
|
||||
return image1.scale_simple(int(scale*width), int(scale*height),
|
||||
GdkPixbuf.InterpType.BILINEAR)
|
||||
except:
|
||||
WarningDialog(title_msg, detail_msg,
|
||||
parent=self.window) # parent-OK
|
||||
return GdkPixbuf.Pixbuf.new_from_file(ICON)
|
||||
|
@ -114,7 +114,7 @@ class LastNameDialog(ManagedWindow):
|
||||
# build up the list of surnames, keeping track of the count for each
|
||||
# name (this can be a lengthy process, so by passing in the
|
||||
# dictionary we can be certain we only do this once)
|
||||
progress = ProgressMeter(_('Finding Surnames'))
|
||||
progress = ProgressMeter(_('Finding Surnames')) # no-parent
|
||||
progress.set_pass(_('Finding surnames'),
|
||||
database.get_number_of_people())
|
||||
for person in database.iter_people():
|
||||
|
@ -305,7 +305,7 @@ class PluginStatus(ManagedWindow):
|
||||
except:
|
||||
print("Error: cannot open %s" % URL)
|
||||
return
|
||||
pm = ProgressMeter(_("Refreshing Addon List"))
|
||||
pm = ProgressMeter(_("Refreshing Addon List")) # no-parent
|
||||
pm.set_pass(header=_("Reading gramps-project.org..."))
|
||||
state = "read"
|
||||
rows = []
|
||||
@ -383,7 +383,8 @@ class PluginStatus(ManagedWindow):
|
||||
Get all addons from the wiki and install them.
|
||||
"""
|
||||
from ..utils import ProgressMeter
|
||||
pm = ProgressMeter(_("Install all Addons"), _("Installing..."), message_area=True)
|
||||
pm = ProgressMeter( # no-parent
|
||||
_("Install all Addons"), _("Installing..."), message_area=True)
|
||||
pm.set_pass(total=len(self.addon_model))
|
||||
errors = []
|
||||
for row in self.addon_model:
|
||||
@ -401,7 +402,8 @@ class PluginStatus(ManagedWindow):
|
||||
Toplevel method to get an addon.
|
||||
"""
|
||||
from ..utils import ProgressMeter
|
||||
pm = ProgressMeter(_("Installing Addon"), message_area=True)
|
||||
pm = ProgressMeter( # no-parent
|
||||
_("Installing Addon"), message_area=True)
|
||||
pm.set_pass(total=2, header=_("Reading gramps-project.org..."))
|
||||
pm.step()
|
||||
self.__get_addon(obj, callback=pm.append_message)
|
||||
@ -877,7 +879,7 @@ class ToolManagedWindowBase(ManagedWindow):
|
||||
|
||||
def pre_run(self):
|
||||
from ..utils import ProgressMeter
|
||||
self.progress = ProgressMeter(self.get_title())
|
||||
self.progress = ProgressMeter(self.get_title()) # no-parent
|
||||
|
||||
def run(self):
|
||||
raise NotImplementedError("tool needs to define a run() method")
|
||||
|
@ -64,7 +64,8 @@ class Progress:
|
||||
"""
|
||||
def __init__(self, uistate):
|
||||
from gi.repository import Gtk
|
||||
self.pm = ProgressMeter(_("Selecting Preview Data"), _('Selecting...'),
|
||||
self.pm = ProgressMeter(_("Selecting Preview Data"), # parent-OK
|
||||
_('Selecting...'),
|
||||
parent=uistate.window)
|
||||
self.progress_cnt = 0
|
||||
self.title = _("Selecting...")
|
||||
|
@ -82,7 +82,7 @@ class StyleListDisplay:
|
||||
self.sheetlist = stylesheetlist
|
||||
|
||||
self.parent_window = parent_window
|
||||
|
||||
|
||||
self.top = Glade(toplevel='styles')
|
||||
self.window = self.top.toplevel
|
||||
|
||||
|
@ -68,9 +68,10 @@ class User(user.User):
|
||||
:returns: none
|
||||
"""
|
||||
if self.uistate:
|
||||
self._progress = ProgressMeter(title, parent=self.uistate.window)
|
||||
self._progress = ProgressMeter(title, # parent-OK
|
||||
parent=self.uistate.window)
|
||||
else:
|
||||
self._progress = ProgressMeter(title)
|
||||
self._progress = ProgressMeter(title) # parent-OK
|
||||
if steps > 0:
|
||||
self._progress.set_pass(message, steps, ProgressMeter.MODE_FRACTION)
|
||||
else:
|
||||
|
@ -103,7 +103,7 @@ class CLIDialog:
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
|
||||
class ProgressMeter:
|
||||
class ProgressMeter: # parent-OK
|
||||
"""
|
||||
Progress meter class for Gramps.
|
||||
|
||||
|
@ -541,8 +541,8 @@ class GrampletBar(Gtk.Notebook):
|
||||
"""
|
||||
Called when restore defaults is clicked from the context menu.
|
||||
"""
|
||||
QuestionDialog(
|
||||
_("Restore to defaults?"), # parent-OK
|
||||
QuestionDialog( # parent-OK
|
||||
_("Restore to defaults?"),
|
||||
_("The gramplet bar will be restored to contain its default "
|
||||
"gramplets. This action cannot be undone."),
|
||||
_("OK"),
|
||||
|
@ -511,7 +511,7 @@ class ProgenParser:
|
||||
def parse_progen_file(self):
|
||||
self.def_ = PG30_Def(self.fname)
|
||||
#print self.def_.diag()
|
||||
self.progress = ProgressMeter(_("Import from Pro-Gen"), '')
|
||||
self.progress = ProgressMeter(_("Import from Pro-Gen"), '') # no-parent
|
||||
|
||||
self.mems = _read_mem(self.bname)
|
||||
self.pers = _read_recs(self.def_['Table_1'], self.bname)
|
||||
|
@ -82,8 +82,8 @@ class ChangeNames(tool.BatchTool, ManagedWindow):
|
||||
if self.fail:
|
||||
return
|
||||
|
||||
self.progress = ProgressMeter(_('Checking Family Names'),'',
|
||||
parent=uistate.window)
|
||||
self.progress = ProgressMeter( # parent-OK
|
||||
_('Checking Family Names'), '', parent=uistate.window)
|
||||
self.progress.set_pass(_('Searching family names'),
|
||||
len(self.db.get_surname_list()))
|
||||
self.name_list = []
|
||||
|
@ -103,7 +103,7 @@ def cross_table_duplicates(db, uistate):
|
||||
parent = uistate.window
|
||||
else:
|
||||
parent = None
|
||||
progress = ProgressMeter(_('Checking Database'),'', parent)
|
||||
progress = ProgressMeter(_('Checking Database'), '', parent) # parent-OK
|
||||
progress.set_pass(_('Looking for cross table duplicates'), 9)
|
||||
logging.info('Looking for cross table duplicates')
|
||||
total_nr_handles = 0
|
||||
@ -246,8 +246,8 @@ class CheckIntegrity:
|
||||
self.empty_objects = defaultdict(list)
|
||||
self.replaced_sourceref = []
|
||||
self.last_img_dir = config.get('behavior.addmedia-image-dir')
|
||||
self.progress = ProgressMeter(_('Checking Database'),'',
|
||||
parent=self.parent_window)
|
||||
self.progress = ProgressMeter(_('Checking Database'), '', # parent-OK
|
||||
parent=self.parent_window)
|
||||
self.explanation = Note(_('Objects referenced by this note '
|
||||
'were referenced but missing so that is why they have been created '
|
||||
'when you ran Check and Repair on %s.') %
|
||||
|
@ -77,8 +77,8 @@ class DateParserDisplayTest(tool.Tool):
|
||||
|
||||
|
||||
def run_tool(self):
|
||||
self.progress = ProgressMeter(_('Running Date Test'),'',
|
||||
parent=self.parent_window)
|
||||
self.progress = ProgressMeter(_('Running Date Test'), '', # parent-OK
|
||||
parent=self.parent_window)
|
||||
self.progress.set_pass(_('Generating dates'),
|
||||
4)
|
||||
dates = []
|
||||
|
@ -176,9 +176,8 @@ class EventComparison(tool.Tool,ManagedWindow):
|
||||
def on_apply_clicked(self, obj):
|
||||
cfilter = self.filter_model[self.filters.get_active()][1]
|
||||
|
||||
progress_bar = ProgressMeter(_('Comparing events'),
|
||||
'',
|
||||
parent=self.window)
|
||||
progress_bar = ProgressMeter(_('Comparing events'), '', # parent-OK
|
||||
parent=self.window)
|
||||
progress_bar.set_pass(_('Selecting people'),1)
|
||||
|
||||
plist = cfilter.apply(self.db,
|
||||
@ -307,8 +306,8 @@ class DisplayChart(ManagedWindow):
|
||||
self.progress_bar.close()
|
||||
|
||||
def build_row_data(self):
|
||||
self.progress_bar = ProgressMeter(_('Comparing Events'),'',
|
||||
parent=self.window)
|
||||
self.progress_bar = ProgressMeter( # parent-OK
|
||||
_('Comparing Events'), '', parent=self.window)
|
||||
self.progress_bar.set_pass(_('Building data'),len(self.my_list))
|
||||
for individual_id in self.my_list:
|
||||
individual = self.db.get_person_from_handle(individual_id)
|
||||
|
@ -184,9 +184,9 @@ class Merge(tool.Tool,ManagedWindow):
|
||||
pass
|
||||
|
||||
def find_potentials(self, thresh):
|
||||
self.progress = ProgressMeter(_('Find Duplicates'),
|
||||
self.progress = ProgressMeter(_('Find Duplicates'), # parent-OK
|
||||
_('Looking for duplicate people'),
|
||||
parent=self.window)
|
||||
parent=self.window)
|
||||
|
||||
index = 0
|
||||
males = {}
|
||||
|
@ -86,7 +86,7 @@ class FindLoop(ManagedWindow):
|
||||
self.set_window(window, title, self.title)
|
||||
|
||||
# start the progress indicator
|
||||
self.progress = ProgressMeter(self.title, _('Starting'),
|
||||
self.progress = ProgressMeter(self.title, _('Starting'), # parent-OK
|
||||
parent=self.window)
|
||||
self.progress.set_pass(_('Looking for possible loop for each person'),
|
||||
self.db.get_number_of_people())
|
||||
|
@ -181,7 +181,7 @@ class MergeCitations(tool.BatchTool,ManagedWindow):
|
||||
# Save options
|
||||
self.options.handler.save_options()
|
||||
|
||||
self.progress = ProgressMeter(_('Checking Sources'), '',
|
||||
self.progress = ProgressMeter(_('Checking Sources'), '', # parent-OK
|
||||
parent=self.user.uistate.window)
|
||||
self.progress.set_pass(_('Looking for citation fields'),
|
||||
self.db.get_number_of_citations())
|
||||
|
@ -107,7 +107,7 @@ class NotRelated(tool.ActivePersonTool, ManagedWindow) :
|
||||
self.tagapply.connect('clicked', self.applyTagClicked)
|
||||
|
||||
# start the progress indicator
|
||||
self.progress = ProgressMeter(self.title,_('Starting'),
|
||||
self.progress = ProgressMeter(self.title, _('Starting'), # parent-OK
|
||||
parent=self.window)
|
||||
|
||||
# setup the columns
|
||||
@ -252,7 +252,7 @@ class NotRelated(tool.ActivePersonTool, ManagedWindow) :
|
||||
|
||||
# if more than 1 person is selected, use a progress indicator
|
||||
if rows > 1:
|
||||
progress = ProgressMeter(self.title,_('Starting'),
|
||||
progress = ProgressMeter(self.title, _('Starting'), # parent-OK
|
||||
parent=self.window)
|
||||
progress.set_pass(
|
||||
# translators: leave all/any {...} untranslated
|
||||
|
@ -167,7 +167,7 @@ class PatchNames(tool.BatchTool, ManagedWindow):
|
||||
self.cb = callback
|
||||
self.handle_to_action = {}
|
||||
|
||||
self.progress = ProgressMeter(
|
||||
self.progress = ProgressMeter( # no-parent
|
||||
_('Extracting Information from Names'), '')
|
||||
self.progress.set_pass(_('Analyzing names'),
|
||||
self.db.get_number_of_people())
|
||||
|
@ -134,7 +134,7 @@ class PopulateSources(tool.Tool, ManagedWindow):
|
||||
num_citations_text = self.citations_entry.get_text()
|
||||
num_citations = int(num_citations_text)
|
||||
|
||||
self.progress = ProgressMeter(
|
||||
self.progress = ProgressMeter( # no-parent
|
||||
'Generating data', '')
|
||||
self.progress.set_pass('Generating data',
|
||||
num_sources*num_citations)
|
||||
|
@ -65,7 +65,8 @@ class ReorderIds(tool.BatchTool):
|
||||
db = dbstate.db
|
||||
self.uistate = uistate
|
||||
if uistate:
|
||||
self.progress = ProgressMeter(_('Reordering Gramps IDs'),'')
|
||||
self.progress = ProgressMeter( # parent-OK
|
||||
_('Reordering Gramps IDs'), '', parent=uistate.window)
|
||||
else:
|
||||
print(_("Reordering Gramps IDs..."))
|
||||
|
||||
|
@ -338,8 +338,8 @@ class TestcaseGenerator(tool.BatchTool):
|
||||
else:
|
||||
self.window = None
|
||||
|
||||
self.progress = ProgressMeter(_('Generating testcases'),'',
|
||||
parent=self.window)
|
||||
self.progress = ProgressMeter( # parent-OK
|
||||
_('Generating testcases'), '', parent=self.window)
|
||||
self.transaction_count = 0;
|
||||
|
||||
if self.options.handler.options_dict['lowlevel']:
|
||||
|
@ -288,7 +288,8 @@ class GeoEvents(GeoGraphyView):
|
||||
if self.show_all:
|
||||
self.show_all = False
|
||||
events_handle = dbstate.db.get_event_handles()
|
||||
progress = ProgressMeter(self.window_name, can_cancel=False,
|
||||
progress = ProgressMeter(self.window_name, # parent-OK
|
||||
can_cancel=False,
|
||||
parent=self.uistate.window)
|
||||
length = len(events_handle)
|
||||
progress.set_pass(_('Selecting all events'), length)
|
||||
@ -299,7 +300,8 @@ class GeoEvents(GeoGraphyView):
|
||||
progress.close()
|
||||
elif self.generic_filter:
|
||||
events_list = self.generic_filter.apply(dbstate.db)
|
||||
progress = ProgressMeter(self.window_name, can_cancel=False,
|
||||
progress = ProgressMeter(self.window_name, # parent-OK
|
||||
can_cancel=False,
|
||||
parent=self.uistate.window)
|
||||
length = len(events_list)
|
||||
progress.set_pass(_('Selecting all events'), length)
|
||||
|
@ -268,7 +268,8 @@ class GeoPlaces(GeoGraphyView):
|
||||
places_handle = dbstate.db.get_place_handles()
|
||||
except:
|
||||
return
|
||||
progress = ProgressMeter(self.window_name, can_cancel=False,
|
||||
progress = ProgressMeter(self.window_name, # parent-OK
|
||||
can_cancel=False,
|
||||
parent=self.uistate.window)
|
||||
length = len(places_handle)
|
||||
progress.set_pass(_('Selecting all places'), length)
|
||||
@ -279,7 +280,8 @@ class GeoPlaces(GeoGraphyView):
|
||||
progress.close()
|
||||
elif self.generic_filter:
|
||||
place_list = self.generic_filter.apply(dbstate.db)
|
||||
progress = ProgressMeter(self.window_name, can_cancel=False,
|
||||
progress = ProgressMeter(self.window_name, # parent-OK
|
||||
can_cancel=False,
|
||||
parent=self.uistate.window)
|
||||
length = len(place_list)
|
||||
progress.set_pass(_('Selecting all places'), length)
|
||||
|
Loading…
x
Reference in New Issue
Block a user