[pitivi] prefs: Instanciate the preference dialog each time we show it



commit d6e8d78c018cbc319c5850bf112ed139612445b8
Author: Thibault Saunier <tsaunier gnome org>
Date:   Thu Mar 24 15:27:09 2016 +0100

    prefs: Instanciate the preference dialog each time we show it
    
    Avoiding avoiding to uselessly use memory for that window.
    
    Fixes T7357
    
    Reviewed-by: Alex Băluț <alexandru balut gmail com>
    Differential Revision: https://phabricator.freedesktop.org/D836

 pitivi/dialogs/prefs.py |    5 ++++-
 pitivi/mainwindow.py    |   10 ++++------
 2 files changed, 8 insertions(+), 7 deletions(-)
---
diff --git a/pitivi/dialogs/prefs.py b/pitivi/dialogs/prefs.py
index a9a2e87..01a7a40 100644
--- a/pitivi/dialogs/prefs.py
+++ b/pitivi/dialogs/prefs.py
@@ -32,6 +32,7 @@ from gi.repository import Gtk
 from pitivi.configure import get_ui_dir
 from pitivi.settings import GlobalSettings
 from pitivi.utils import widgets
+from pitivi.utils.loggable import Loggable
 from pitivi.utils.ui import SPACING
 
 
@@ -48,7 +49,7 @@ GlobalSettings.addConfigOption('prefsDialogHeight',
                                default=400)
 
 
-class PreferencesDialog(object):
+class PreferencesDialog(Loggable):
 
     """
     Preferences for how the app works.
@@ -58,6 +59,8 @@ class PreferencesDialog(object):
     original_values = {}
 
     def __init__(self, app):
+        Loggable.__init__(self)
+
         self.settings = app.settings
         self.widgets = {}
         self.resets = {}
diff --git a/pitivi/mainwindow.py b/pitivi/mainwindow.py
index 7fb2025..a2bd61c 100644
--- a/pitivi/mainwindow.py
+++ b/pitivi/mainwindow.py
@@ -36,8 +36,10 @@ from gi.repository import Gtk
 from gi.repository import GstPbutils
 
 from pitivi.clipproperties import ClipProperties
-from pitivi.configure import in_devel, VERSION, APPNAME, APPURL, get_pixmap_dir, get_ui_dir
+from pitivi.configure import in_devel, VERSION, APPNAME, APPURL, \
+    get_pixmap_dir, get_ui_dir
 from pitivi.effects import EffectListWidget
+from pitivi.dialogs.prefs import PreferencesDialog
 from pitivi.mediafilespreviewer import PreviewWidget
 from pitivi.medialibrary import MediaLibraryWidget
 from pitivi.settings import GlobalSettings
@@ -125,7 +127,6 @@ class PitiviMainWindow(Gtk.ApplicationWindow, Loggable):
         self.app = app
         self.log("Creating MainWindow")
         self.settings = app.settings
-        self.prefsdialog = None
 
         Gtk.IconTheme.get_default().append_search_path(get_pixmap_dir())
 
@@ -699,10 +700,7 @@ class PitiviMainWindow(Gtk.ApplicationWindow, Loggable):
             return False
 
     def _prefsCb(self, unused_action):
-        if not self.prefsdialog:
-            from pitivi.dialogs.prefs import PreferencesDialog
-            self.prefsdialog = PreferencesDialog(self.app)
-        self.prefsdialog.run()
+        PreferencesDialog(self.app).run()
 
 # Project management callbacks
 


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