[meld] Move preferences from window to app
- From: Kai Willadsen <kaiw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [meld] Move preferences from window to app
- Date: Tue, 15 Feb 2011 09:08:59 +0000 (UTC)
commit 8602c955ae27e62327f129900c529f338dfeb341
Author: Kai Willadsen <kai willadsen gmail com>
Date: Wed Feb 9 06:00:07 2011 +1000
Move preferences from window to app
bin/meld | 1 +
meld/meldapp.py | 43 +++++++++++++++++++++++--------------------
2 files changed, 24 insertions(+), 20 deletions(-)
---
diff --git a/bin/meld b/bin/meld
index 00e9dfc..c86eebd 100755
--- a/bin/meld
+++ b/bin/meld
@@ -126,6 +126,7 @@ gtk.icon_theme_get_default().append_search_path(meld.paths.icon_dir())
def main():
from meld.meldapp import app
+ app.create_window()
app.parse_args(sys.argv[1:])
gtk.main()
diff --git a/meld/meldapp.py b/meld/meldapp.py
index 797bc4e..9465678 100644
--- a/meld/meldapp.py
+++ b/meld/meldapp.py
@@ -118,7 +118,6 @@ class MeldWindow(gnomeglade.Component):
def __init__(self):
gladefile = paths.ui_dir("meldapp.ui")
gnomeglade.Component.__init__(self, gladefile, "meldapp")
- self.prefs = preferences.MeldPreferences()
actions = (
("FileMenu", None, _("_File")),
@@ -158,8 +157,8 @@ class MeldWindow(gnomeglade.Component):
)
toggleactions = (
("Fullscreen", None, _("Full Screen"), "F11", _("View the comparison in full screen"), self.on_action_fullscreen_toggled, False),
- ("ToolbarVisible", None, _("_Toolbar"), None, _("Show or hide the toolbar"), self.on_menu_toolbar_toggled, self.prefs.toolbar_visible),
- ("StatusbarVisible", None, _("_Statusbar"), None, _("Show or hide the statusbar"), self.on_menu_statusbar_toggled, self.prefs.statusbar_visible)
+ ("ToolbarVisible", None, _("_Toolbar"), None, _("Show or hide the toolbar"), self.on_menu_toolbar_toggled, app.prefs.toolbar_visible),
+ ("StatusbarVisible", None, _("_Statusbar"), None, _("Show or hide the statusbar"), self.on_menu_statusbar_toggled, app.prefs.statusbar_visible)
)
ui_file = paths.ui_dir("meldapp-ui.xml")
self.actiongroup = gtk.ActionGroup('MainActions')
@@ -196,14 +195,14 @@ class MeldWindow(gnomeglade.Component):
gtk.gdk.ACTION_COPY)
self.widget.connect("drag_data_received",
self.on_widget_drag_data_received)
- self.toolbar.set_style( self.prefs.get_toolbar_style() )
- self.toolbar.props.visible = self.prefs.toolbar_visible
- self.status_box.props.visible = self.prefs.statusbar_visible
- self.prefs.notify_add(self.on_preference_changed)
+ self.toolbar.set_style(app.prefs.get_toolbar_style())
+ self.toolbar.props.visible = app.prefs.toolbar_visible
+ self.status_box.props.visible = app.prefs.statusbar_visible
+ app.prefs.notify_add(self.on_preference_changed)
self.idle_hooked = 0
self.scheduler = task.LifoScheduler()
self.scheduler.connect("runnable", self.on_scheduler_runnable )
- self.widget.set_default_size(self.prefs.window_size_x, self.prefs.window_size_y)
+ self.widget.set_default_size(app.prefs.window_size_x, app.prefs.window_size_y)
self.ui.ensure_update()
self.widget.show()
self.diff_handler = None
@@ -281,11 +280,11 @@ class MeldWindow(gnomeglade.Component):
def on_preference_changed(self, key, value):
if key == "toolbar_style":
- self.toolbar.set_style( self.prefs.get_toolbar_style() )
+ self.toolbar.set_style(app.prefs.get_toolbar_style())
elif key == "statusbar_visible":
- self.status_box.props.visible = self.prefs.statusbar_visible
+ self.status_box.props.visible = app.prefs.statusbar_visible
elif key == "toolbar_visible":
- self.toolbar.props.visible = self.prefs.toolbar_visible
+ self.toolbar.props.visible = app.prefs.toolbar_visible
#
# General events and callbacks
@@ -329,8 +328,8 @@ class MeldWindow(gnomeglade.Component):
self.actiongroup.get_action("NextChange").set_sensitive(have_next)
def on_size_allocate(self, window, rect):
- self.prefs.window_size_x = rect.width
- self.prefs.window_size_y = rect.height
+ app.prefs.window_size_x = rect.width
+ app.prefs.window_size_y = rect.height
#
# Toolbar and menu items (file)
@@ -423,10 +422,10 @@ class MeldWindow(gnomeglade.Component):
self.widget.unfullscreen()
def on_menu_toolbar_toggled(self, widget):
- self.prefs.toolbar_visible = widget.get_active()
+ app.prefs.toolbar_visible = widget.get_active()
def on_menu_statusbar_toggled(self, widget):
- self.prefs.statusbar_visible = widget.get_active()
+ app.prefs.statusbar_visible = widget.get_active()
#
# Toolbar and menu items (help)
@@ -497,7 +496,7 @@ class MeldWindow(gnomeglade.Component):
def append_dirdiff(self, dirs, auto_compare=False):
assert len(dirs) in (1,2,3)
- doc = dirdiff.DirDiff(self.prefs, len(dirs))
+ doc = dirdiff.DirDiff(app.prefs, len(dirs))
self._append_page(doc, "folder")
doc.set_locations(dirs)
# FIXME: This doesn't work, as dirdiff behaves differently to vcview
@@ -508,9 +507,9 @@ class MeldWindow(gnomeglade.Component):
def append_filediff(self, files):
assert len(files) in (1, 2, 3, 4)
if len(files) == 4:
- doc = filemerge.FileMerge(self.prefs, 3)
+ doc = filemerge.FileMerge(app.prefs, 3)
else:
- doc = filediff.FileDiff(self.prefs, len(files))
+ doc = filediff.FileDiff(app.prefs, len(files))
seq = doc.undosequence
seq.clear()
seq.connect("can-undo", self.on_can_undo)
@@ -549,7 +548,7 @@ class MeldWindow(gnomeglade.Component):
def append_vcview(self, locations, auto_compare=False):
assert len(locations) in (1,)
location = locations[0]
- doc = vcview.VcView(self.prefs)
+ doc = vcview.VcView(app.prefs)
# FIXME: need a good themed VC icon
self._append_page(doc, "vc-icon")
doc.set_location(location)
@@ -558,7 +557,7 @@ class MeldWindow(gnomeglade.Component):
return doc
def _single_file_open(self, path):
- doc = vcview.VcView(self.prefs)
+ doc = vcview.VcView(app.prefs)
def cleanup():
self.scheduler.remove_scheduler(doc.scheduler)
self.scheduler.add_task(cleanup)
@@ -582,7 +581,11 @@ class MeldApp(object):
def __init__(self):
gobject.set_application_name("Meld")
gtk.window_set_default_icon_name("meld")
+ self.prefs = preferences.MeldPreferences()
+
+ def create_window(self):
self.window = MeldWindow()
+ return self.window
def diff_files_callback(self, option, opt_str, value, parser):
"""Gather --diff arguments and append to a list"""
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]