[latexila] MainWindowBuildTools: add widgets later
- From: SÃbastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [latexila] MainWindowBuildTools: add widgets later
- Date: Thu, 2 Aug 2012 00:01:03 +0000 (UTC)
commit 99669c46678fad33809727ea1695da017a479d39
Author: SÃbastien Wilmet <swilmet src gnome org>
Date: Thu Aug 2 01:48:11 2012 +0200
MainWindowBuildTools: add widgets later
In the MainWindow we can initialize the widgets (the file browser and
the build view) later.
src/main_window.vala | 6 +++---
src/main_window_build_tools.vala | 26 ++++++++++++++++++--------
2 files changed, 21 insertions(+), 11 deletions(-)
---
diff --git a/src/main_window.vala b/src/main_window.vala
index cc23811..3905a73 100644
--- a/src/main_window.vala
+++ b/src/main_window.vala
@@ -162,11 +162,13 @@ public class MainWindow : Window
_main_window_edit = new MainWindowEdit (this, _ui_manager);
_main_window_file = new MainWindowFile (this, _ui_manager);
+ _main_window_build_tools = new MainWindowBuildTools (this, _ui_manager);
_main_window_documents = new MainWindowDocuments (this, _ui_manager,
_documents_panel);
// File browser
FileBrowser file_browser = new FileBrowser (this);
+ _main_window_build_tools.set_file_browser (file_browser);
// Symbols
_symbols = new SymbolsView (this);
@@ -177,9 +179,7 @@ public class MainWindow : Window
// Bottom panel
BuildView build_view = new BuildView (this);
-
- _main_window_build_tools = new MainWindowBuildTools (this, _ui_manager,
- build_view, file_browser);
+ _main_window_build_tools.set_build_view (build_view);
Toolbar build_toolbar = _ui_manager.get_widget ("/BuildToolbar") as Toolbar;
build_toolbar.set_style (ToolbarStyle.ICONS);
diff --git a/src/main_window_build_tools.vala b/src/main_window_build_tools.vala
index 58b0ca0..a529526 100644
--- a/src/main_window_build_tools.vala
+++ b/src/main_window_build_tools.vala
@@ -63,15 +63,10 @@ public class MainWindowBuildTools
private uint _menu_ui_id;
private BuildToolRunner _build_tool_runner;
- public MainWindowBuildTools (MainWindow main_window, UIManager ui_manager,
- BuildView build_view, FileBrowser file_browser)
+ public MainWindowBuildTools (MainWindow main_window, UIManager ui_manager)
{
_main_window = main_window;
_ui_manager = ui_manager;
- _build_view = build_view;
-
- // TODO It would be better if the file browser could detect file updates.
- _file_browser = file_browser;
/* Static Gtk.Actions */
_static_action_group = new Gtk.ActionGroup ("BuildMenuActionGroup");
@@ -82,8 +77,6 @@ public class MainWindowBuildTools
Gtk.Action stop_exec = _static_action_group.get_action ("BuildStopExecution");
stop_exec.sensitive = false;
- connect_toggle_actions ();
-
ui_manager.insert_action_group (_static_action_group, 0);
/* Dynamic Gtk.Actions (the placeholder) */
@@ -98,6 +91,18 @@ public class MainWindowBuildTools
default_build_tools.modified.connect (() => update_menu ());
}
+ public void set_build_view (BuildView build_view)
+ {
+ _build_view = build_view;
+ connect_toggle_actions ();
+ }
+
+ public void set_file_browser (FileBrowser file_browser)
+ {
+ // TODO It would be better if the file browser could detect files updates.
+ _file_browser = file_browser;
+ }
+
public void update_sensitivity ()
{
Gtk.Action clean_action = _static_action_group.get_action ("BuildClean");
@@ -294,6 +299,8 @@ public class MainWindowBuildTools
private void activate_dynamic_action (Gtk.Action action)
{
return_if_fail (_main_window.active_tab != null);
+ return_if_fail (_build_view != null);
+ return_if_fail (_file_browser != null);
BuildTool? tool = get_build_tool_from_name (action.name);
return_if_fail (tool != null);
@@ -353,6 +360,8 @@ public class MainWindowBuildTools
private void connect_toggle_actions ()
{
+ return_if_fail (_build_view != null);
+
GLib.Settings settings = new GLib.Settings ("org.gnome.latexila.preferences.ui");
/* Show details */
@@ -400,6 +409,7 @@ public class MainWindowBuildTools
public void on_clean ()
{
return_if_fail (_main_window.active_tab != null);
+ return_if_fail (_file_browser != null);
CleanBuildFiles build_files = new CleanBuildFiles (_main_window,
_main_window.active_document);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]