[MonoDevelop] Implemented Configurable Key Bindings

Balaji Rao balajirrao at gmail.com
Fri Jul 6 06:23:00 EDT 2007


Hello ppl,

I have almost implemented Configurable Key Bindings with a Option Panel.
I have not tested it extensively. I just hacked this up quickly. 

I will make it perfect soon after getting your comments on this. 

Things i plan to include are,

* Configuration Profiles for some popular IDEs (eclipse, netbeans)
* Prevent conflicting configuiration

Any suggestions are welcome..

Regards,

Balaji Rao
-------------- next part --------------
Index: Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Gui.OptionPanels/KeyBindingsPanel.cs
===================================================================
--- Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Gui.OptionPanels/KeyBindingsPanel.cs	(revision 0)
+++ Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Gui.OptionPanels/KeyBindingsPanel.cs	(revision 0)
@@ -0,0 +1,127 @@
+
+
+using System;
+using System.IO;
+using System.Collections;
+
+using MonoDevelop.Core.Properties;
+using MonoDevelop.Core.Gui.Components;
+using MonoDevelop.Core.Gui.Dialogs;
+using MonoDevelop.Core;
+using Mono.Addins;
+using MonoDevelop.Projects;
+using MonoDevelop.Components.Commands;
+using Gtk;
+using MonoDevelop.Components;
+
+namespace MonoDevelop.Ide.Gui.OptionPanels
+{
+	internal class KeyBindingsPanel : AbstractOptionPanel 
+	{
+		KeyBindingsPanelWidget widget;
+		
+		
+		
+		public override void LoadPanelContents()
+		{
+			Add (widget = new KeyBindingsPanelWidget ());
+		}
+		
+		public class KeyBindingsPanelWidget : GladeWidgetExtract
+		{
+			ListStore keysStore; 
+			[Glade.Widget] TreeView keysTreeView;
+			[Glade.Widget] Button updateButton;
+			[Glade.Widget] Entry accelEntry;
+			Hashtable commands = new Hashtable();
+			Command selectedCommand;
+			
+			private bool editComplete=false;
+		
+			bool ctrlActive=false;
+			bool altActive=false;
+			bool shiftActive=false;
+		
+			
+			public KeyBindingsPanelWidget() : base("Base.glade","KeyBindingsPanel") {				
+				keysStore = new ListStore(typeof(string),typeof(string));
+				keysTreeView.Model = keysStore;
+				//keysStore.AppendValues("Command","Shortcut");
+				keysTreeView.AppendColumn ("Command",new CellRendererText(),"text",0);
+				keysTreeView.AppendColumn ("Shortcut",new CellRendererText(),"text",1);
+				keysTreeView.Selection.Changed += new EventHandler(OnKeysTreeViewSelectionChange);
+				//accelEntry.IsEditable = false;
+				accelEntry.KeyPressEvent += new KeyPressEventHandler(OnAccelEntryKeyPress);
+				accelEntry.KeyReleaseEvent += new KeyReleaseEventHandler(OnAccelEntryKeyRelease);
+				updateButton.Clicked += new EventHandler(OnUpdateButtonClick);
+				// Populate the TreeView
+				object[] cmds =
+					AddinManager.GetExtensionObjects("/SharpDevelop/Commands");
+				foreach(object c in cmds) {
+					if (c is Command && ((Command)c).AccelKey !=null ) {
+						Command cmd = c as Command;
+						string label = cmd.Text.Replace("_",String.Empty);
+						string accel = cmd.AccelKey.Replace('|','+');
+						commands.Add(label,cmd);
+						keysStore.AppendValues(label,accel);						
+					}
+				}				
+			}
+			public void OnKeysTreeViewSelectionChange(object sender,EventArgs e) {				
+				TreeSelection sel = sender as TreeSelection;
+				if (sender != null)
+				{
+					TreeIter iter;
+					TreeModel model = (TreeModel)keysStore;
+					if (sel.GetSelected (out model, out iter)) {
+						//entryToken.Text = (string)tokensStore.GetValue (iter, 0);						
+						accelEntry.Text  = (string)model.GetValue (iter, 1);		
+						string label = (string)model.GetValue (iter, 0);
+						selectedCommand = (Command)commands [label];
+						Console.WriteLine("HERE..........");
+					} else
+					{
+						accelEntry.Text = String.Empty;						
+					}
+				}
+			}
+			public void OnAccelEntryKeyPress(object sender,KeyPressEventArgs e) {
+				Gdk.EventKey key = e.Event;
+				Gdk.Key k = key.Key;
+				//if (!editComplete && !accelEntry.Text.Equals(""))
+				//	accelEntry.Text ="";
+				if (editComplete) {					
+					accelEntry.Text = "";
+					altActive=false;
+					ctrlActive=false;
+					shiftActive=false;
+					editComplete=false;
+					if (k.Equals(Gdk.Key.BackSpace))
+					    return;
+				}
+				
+					
+				if (k.Equals(Gdk.Key.Control_L) || k.Equals(Gdk.Key.Control_R)) {										
+					if (!ctrlActive) accelEntry.AppendText("Control+");
+				}	else if (k.Equals(Gdk.Key.Alt_L) || k.Equals(Gdk.Key.Alt_R)) {
+					if (!altActive) accelEntry.AppendText("Alt+");
+				} else if (k.Equals(Gdk.Key.Shift_L) || k.Equals(Gdk.Key.Shift_R)) {
+					if (!shiftActive) accelEntry.AppendText("Shift+");
+				} else {
+					accelEntry.AppendText(k.ToString());
+					editComplete=true;
+				}
+			}
+			public void OnAccelEntryKeyRelease(object sender,KeyReleaseEventArgs e) {
+				if (editComplete == false) {
+					accelEntry.Text=String.Empty;
+				}
+			}
+			public void OnUpdateButtonClick(object sender,EventArgs e) {
+				if (selectedCommand != null)
+					selectedCommand.AccelKey = accelEntry.Text.Replace('+','|');				
+			}
+		}					
+	}	
+}
+
Index: Core/src/MonoDevelop.Ide/Base.glade
===================================================================
--- Core/src/MonoDevelop.Ide/Base.glade	(revision 81424)
+++ Core/src/MonoDevelop.Ide/Base.glade	(working copy)
@@ -6660,4 +6660,366 @@
   </child>
 </widget>
 
+<widget class="GtkWindow" id="KeyBindingsPanel">
+  <property name="visible">True</property>
+  <property name="title" translatable="yes">window1</property>
+  <property name="type">GTK_WINDOW_TOPLEVEL</property>
+  <property name="window_position">GTK_WIN_POS_NONE</property>
+  <property name="modal">False</property>
+  <property name="resizable">True</property>
+  <property name="destroy_with_parent">False</property>
+  <property name="decorated">True</property>
+  <property name="skip_taskbar_hint">False</property>
+  <property name="skip_pager_hint">False</property>
+  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
+  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+  <property name="focus_on_map">True</property>
+  <property name="urgency_hint">False</property>
+
+  <child>
+    <widget class="GtkVBox" id="vbox77">
+      <property name="visible">True</property>
+      <property name="homogeneous">False</property>
+      <property name="spacing">0</property>
+
+      <child>
+	<widget class="GtkVBox" id="vbox78">
+	  <property name="visible">True</property>
+	  <property name="homogeneous">False</property>
+	  <property name="spacing">0</property>
+
+	  <child>
+	    <widget class="GtkScrolledWindow" id="scrolledwindow12">
+	      <property name="width_request">200</property>
+	      <property name="visible">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+	      <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+	      <property name="shadow_type">GTK_SHADOW_IN</property>
+	      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+	      <child>
+		<widget class="GtkTreeView" id="keysTreeView">
+		  <property name="visible">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="headers_visible">True</property>
+		  <property name="rules_hint">False</property>
+		  <property name="reorderable">False</property>
+		  <property name="enable_search">True</property>
+		  <property name="fixed_height_mode">False</property>
+		  <property name="hover_selection">False</property>
+		  <property name="hover_expand">False</property>
+		</widget>
+	      </child>
+	    </widget>
+	    <packing>
+	      <property name="padding">0</property>
+	      <property name="expand">True</property>
+	      <property name="fill">True</property>
+	    </packing>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">True</property>
+	  <property name="fill">True</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkAlignment" id="alignment7">
+	  <property name="visible">True</property>
+	  <property name="xalign">0.5</property>
+	  <property name="yalign">0.5</property>
+	  <property name="xscale">1</property>
+	  <property name="yscale">1</property>
+	  <property name="top_padding">0</property>
+	  <property name="bottom_padding">0</property>
+	  <property name="left_padding">0</property>
+	  <property name="right_padding">0</property>
+
+	  <child>
+	    <widget class="GtkHBox" id="hbox52">
+	      <property name="border_width">4</property>
+	      <property name="visible">True</property>
+	      <property name="homogeneous">False</property>
+	      <property name="spacing">0</property>
+
+	      <child>
+		<widget class="GtkHBox" id="hbox55">
+		  <property name="visible">True</property>
+		  <property name="homogeneous">False</property>
+		  <property name="spacing">4</property>
+
+		  <child>
+		    <widget class="GtkLabel" id="label118">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">Edit</property>
+		      <property name="use_underline">False</property>
+		      <property name="use_markup">False</property>
+		      <property name="justify">GTK_JUSTIFY_LEFT</property>
+		      <property name="wrap">False</property>
+		      <property name="selectable">False</property>
+		      <property name="xalign">0.5</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xpad">0</property>
+		      <property name="ypad">0</property>
+		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+		      <property name="width_chars">-1</property>
+		      <property name="single_line_mode">False</property>
+		      <property name="angle">0</property>
+		    </widget>
+		    <packing>
+		      <property name="padding">0</property>
+		      <property name="expand">False</property>
+		      <property name="fill">False</property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkEntry" id="accelEntry">
+		      <property name="visible">True</property>
+		      <property name="can_focus">True</property>
+		      <property name="editable">True</property>
+		      <property name="visibility">True</property>
+		      <property name="max_length">0</property>
+		      <property name="text" translatable="yes"></property>
+		      <property name="has_frame">True</property>
+		      <property name="invisible_char">?</property>
+		      <property name="activates_default">False</property>
+		    </widget>
+		    <packing>
+		      <property name="padding">0</property>
+		      <property name="expand">True</property>
+		      <property name="fill">True</property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkButton" id="updateButton">
+		      <property name="visible">True</property>
+		      <property name="can_focus">True</property>
+		      <property name="label">gtk-apply</property>
+		      <property name="use_stock">True</property>
+		      <property name="relief">GTK_RELIEF_NORMAL</property>
+		      <property name="focus_on_click">True</property>
+		    </widget>
+		    <packing>
+		      <property name="padding">0</property>
+		      <property name="expand">False</property>
+		      <property name="fill">False</property>
+		    </packing>
+		  </child>
+		</widget>
+		<packing>
+		  <property name="padding">0</property>
+		  <property name="expand">True</property>
+		  <property name="fill">True</property>
+		</packing>
+	      </child>
+	    </widget>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">5</property>
+	  <property name="expand">False</property>
+	  <property name="fill">False</property>
+	</packing>
+      </child>
+    </widget>
+  </child>
+</widget>
+
+<widget class="GtkDialog" id="EditKeyBindings">
+  <property name="visible">True</property>
+  <property name="title" translatable="yes">Edit Key Bindings</property>
+  <property name="type">GTK_WINDOW_TOPLEVEL</property>
+  <property name="window_position">GTK_WIN_POS_NONE</property>
+  <property name="modal">True</property>
+  <property name="resizable">True</property>
+  <property name="destroy_with_parent">False</property>
+  <property name="icon_name">gtk-edit</property>
+  <property name="decorated">True</property>
+  <property name="skip_taskbar_hint">True</property>
+  <property name="skip_pager_hint">True</property>
+  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+  <property name="focus_on_map">True</property>
+  <property name="urgency_hint">False</property>
+  <property name="has_separator">True</property>
+
+  <child internal-child="vbox">
+    <widget class="GtkVBox" id="dialog-vbox6">
+      <property name="visible">True</property>
+      <property name="homogeneous">False</property>
+      <property name="spacing">0</property>
+
+      <child internal-child="action_area">
+	<widget class="GtkHButtonBox" id="dialog-action_area6">
+	  <property name="visible">True</property>
+	  <property name="layout_style">GTK_BUTTONBOX_END</property>
+
+	  <child>
+	    <widget class="GtkButton" id="okbutton2">
+	      <property name="visible">True</property>
+	      <property name="can_default">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="label">gtk-ok</property>
+	      <property name="use_stock">True</property>
+	      <property name="relief">GTK_RELIEF_NORMAL</property>
+	      <property name="focus_on_click">True</property>
+	      <property name="response_id">-5</property>
+	    </widget>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">False</property>
+	  <property name="fill">True</property>
+	  <property name="pack_type">GTK_PACK_END</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkVBox" id="vbox79">
+	  <property name="visible">True</property>
+	  <property name="homogeneous">False</property>
+	  <property name="spacing">0</property>
+
+	  <child>
+	    <widget class="GtkHBox" id="hbox53">
+	      <property name="visible">True</property>
+	      <property name="homogeneous">False</property>
+	      <property name="spacing">5</property>
+
+	      <child>
+		<widget class="GtkLabel" id="label116">
+		  <property name="visible">True</property>
+		  <property name="label" translatable="yes">Command</property>
+		  <property name="use_underline">False</property>
+		  <property name="use_markup">False</property>
+		  <property name="justify">GTK_JUSTIFY_LEFT</property>
+		  <property name="wrap">False</property>
+		  <property name="selectable">False</property>
+		  <property name="xalign">0.5</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xpad">0</property>
+		  <property name="ypad">0</property>
+		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+		  <property name="width_chars">-1</property>
+		  <property name="single_line_mode">False</property>
+		  <property name="angle">0</property>
+		</widget>
+		<packing>
+		  <property name="padding">0</property>
+		  <property name="expand">False</property>
+		  <property name="fill">False</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkEntry" id="entry1">
+		  <property name="visible">True</property>
+		  <property name="editable">True</property>
+		  <property name="visibility">True</property>
+		  <property name="max_length">0</property>
+		  <property name="text" translatable="yes"></property>
+		  <property name="has_frame">True</property>
+		  <property name="invisible_char">?</property>
+		  <property name="activates_default">False</property>
+		</widget>
+		<packing>
+		  <property name="padding">0</property>
+		  <property name="expand">True</property>
+		  <property name="fill">True</property>
+		</packing>
+	      </child>
+	    </widget>
+	    <packing>
+	      <property name="padding">0</property>
+	      <property name="expand">True</property>
+	      <property name="fill">True</property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkVBox" id="vbox80">
+	      <property name="visible">True</property>
+	      <property name="homogeneous">False</property>
+	      <property name="spacing">0</property>
+
+	      <child>
+		<widget class="GtkHBox" id="EditKeyBindings">
+		  <property name="visible">True</property>
+		  <property name="homogeneous">False</property>
+		  <property name="spacing">21</property>
+
+		  <child>
+		    <widget class="GtkLabel" id="label117">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">Binding</property>
+		      <property name="use_underline">False</property>
+		      <property name="use_markup">False</property>
+		      <property name="justify">GTK_JUSTIFY_LEFT</property>
+		      <property name="wrap">False</property>
+		      <property name="selectable">False</property>
+		      <property name="xalign">0.5</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xpad">0</property>
+		      <property name="ypad">0</property>
+		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+		      <property name="width_chars">-1</property>
+		      <property name="single_line_mode">False</property>
+		      <property name="angle">0</property>
+		    </widget>
+		    <packing>
+		      <property name="padding">0</property>
+		      <property name="expand">False</property>
+		      <property name="fill">False</property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkEntry" id="entry2">
+		      <property name="visible">True</property>
+		      <property name="can_focus">True</property>
+		      <property name="editable">True</property>
+		      <property name="visibility">True</property>
+		      <property name="max_length">0</property>
+		      <property name="text" translatable="yes"></property>
+		      <property name="has_frame">True</property>
+		      <property name="invisible_char">?</property>
+		      <property name="activates_default">False</property>
+		    </widget>
+		    <packing>
+		      <property name="padding">0</property>
+		      <property name="expand">True</property>
+		      <property name="fill">True</property>
+		    </packing>
+		  </child>
+		</widget>
+		<packing>
+		  <property name="padding">0</property>
+		  <property name="expand">True</property>
+		  <property name="fill">True</property>
+		</packing>
+	      </child>
+	    </widget>
+	    <packing>
+	      <property name="padding">0</property>
+	      <property name="expand">True</property>
+	      <property name="fill">True</property>
+	    </packing>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">True</property>
+	  <property name="fill">True</property>
+	</packing>
+      </child>
+    </widget>
+  </child>
+</widget>
+
 </glade-interface>
Index: Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ClassPad/MemberNodeCommandHandler.cs
===================================================================
--- Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ClassPad/MemberNodeCommandHandler.cs	(revision 81424)
+++ Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ClassPad/MemberNodeCommandHandler.cs	(working copy)
@@ -40,7 +40,7 @@
 		public override void ActivateItem ()
 		{			
 			ILanguageItem member = CurrentNode.DataItem as ILanguageItem;
-			IdeApp.ProjectOperations.JumpToDeclaration(member);
+			IdeApp.ProjectOperations.JumpToDeclaration(member);			
 		}
 	}
 }
Index: Core/src/MonoDevelop.Ide/MonoDevelop.Ide.addin.xml
===================================================================
--- Core/src/MonoDevelop.Ide/MonoDevelop.Ide.addin.xml	(revision 81424)
+++ Core/src/MonoDevelop.Ide/MonoDevelop.Ide.addin.xml	(working copy)
@@ -888,6 +888,9 @@
 			<DialogPanel id = "SelectStyle"
 				         _label = "Visual Style"
 				         class = "MonoDevelop.Ide.Gui.OptionPanels.SelectStylePanel"/>
+			<DialogPanel id="KeyBindings"
+						_label = "Key Bindings"
+						class = "MonoDevelop.Ide.Gui.OptionPanels.KeyBindingsPanel" />
 			<DialogPanel id = "LoadSave"
 			             _label = "Load/Save"
 			             class = "MonoDevelop.Ide.Gui.OptionPanels.LoadSavePanel"/>
Index: Core/src/MonoDevelop.Ide/MonoDevelop.Ide.mdp
===================================================================
--- Core/src/MonoDevelop.Ide/MonoDevelop.Ide.mdp	(revision 81424)
+++ Core/src/MonoDevelop.Ide/MonoDevelop.Ide.mdp	(working copy)
@@ -1,13 +1,13 @@
 <Project name="MonoDevelop.Ide" fileversion="2.0" language="C#" clr-version="Net_2_0" ctype="DotNetProject">
   <Configurations active="Debug">
     <Configuration name="Debug" ctype="DotNetProjectConfiguration">
-      <Output directory="../../../build/AddIns/" signAssembly="False" assembly="MonoDevelop.Ide" />
+      <Output directory="../../../build/AddIns/" assembly="MonoDevelop.Ide" />
       <Build debugmode="True" target="Library" />
       <Execution runwithwarnings="True" consolepause="True" runtime="MsNet" clr-version="Net_2_0" />
       <CodeGeneration compiler="Csc" warninglevel="4" optimize="False" unsafecodeallowed="False" generateoverflowchecks="True" mainclass="" generatexmldocumentation="False" ctype="CSharpCompilerParameters" />
     </Configuration>
     <Configuration name="Release" ctype="DotNetProjectConfiguration">
-      <Output directory="../../../build/AddIns/" signAssembly="False" assembly="MonoDevelop.Ide" />
+      <Output directory="../../../build/AddIns/" assembly="MonoDevelop.Ide" />
       <Build debugmode="False" target="Library" />
       <Execution runwithwarnings="True" consolepause="True" runtime="MsNet" clr-version="Net_2_0" />
       <CodeGeneration compiler="Csc" warninglevel="4" optimize="True" unsafecodeallowed="False" generateoverflowchecks="True" mainclass="" generatexmldocumentation="False" ctype="CSharpCompilerParameters" />
@@ -299,6 +299,7 @@
     <File name="./MonoDevelop.Ide.CodeTemplates/EditTemplateDialog.cs" subtype="Code" buildaction="Compile" />
     <File name="./MonoDevelop.Ide.CodeTemplates/CodeTemplatePanel.cs" subtype="Code" buildaction="Compile" />
     <File name="./MonoDevelop.Ide.CodeTemplates/EditTemplateGroupDialog.cs" subtype="Code" buildaction="Compile" />
+    <File name="./MonoDevelop.Ide.Gui.OptionPanels/KeyBindingsPanel.cs" subtype="Code" buildaction="Compile" />
   </Contents>
   <References>
     <ProjectReference type="Gac" localcopy="False" refto="gecko-sharp, Version=2.0.0.0, Culture=neutral, PublicKeyToken=ccf7d78a55e9f021" />
@@ -329,10 +330,17 @@
     <ProjectReference type="Assembly" localcopy="False" refto="../../../contrib/Mono.Addins.Gui.dll" />
     <ProjectReference type="Assembly" localcopy="False" refto="../../../contrib/Mono.Addins.Setup.dll" />
     <ProjectReference type="Gac" localcopy="True" refto="gconf-sharp-peditors, Version=2.8.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
-    <ProjectReference type="Gac" localcopy="True" refto="gconf-sharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
-    <ProjectReference type="Gac" localcopy="True" refto="gnome-sharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
-    <ProjectReference type="Gac" localcopy="True" refto="gnome-vfs-sharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
-    <ProjectReference type="Gac" localcopy="True" refto="gtkhtml-sharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
+    <ProjectReference type="Gac" localcopy="True" refto="gconf-sharp, Version=2.8.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
+    <ProjectReference type="Gac" localcopy="True" refto="gnome-sharp, Version=2.8.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
+    <ProjectReference type="Gac" localcopy="True" refto="gnome-vfs-sharp, Version=2.8.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
+    <ProjectReference type="Gac" localcopy="True" refto="gtkhtml-sharp, Version=2.8.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
+    <ProjectReference type="Assembly" localcopy="True" refto="../../../build/AddIns/MonoDevelop.Projects.Gui.dll" />
+    <ProjectReference type="Assembly" localcopy="True" refto="../../../build/AddIns/MonoDevelop.Dock.dll" />
+    <ProjectReference type="Assembly" localcopy="True" refto="../../../build/AddIns/MonoDevelop.Projects.dll" />
+    <ProjectReference type="Assembly" localcopy="True" refto="../../../build/bin/MonoDevelop.Core.dll" />
+    <ProjectReference type="Assembly" localcopy="True" refto="../../../build/AddIns/MonoDevelop.Components.dll" />
+    <ProjectReference type="Assembly" localcopy="True" refto="../../../build/AddIns/MonoDevelop.Core.Gui.dll" />
+    <ProjectReference type="Assembly" localcopy="True" refto="../../../build/AddIns/MonoDevelop.Documentation.dll" />
   </References>
   <MonoDevelop.Autotools.MakefileInfo IntegrationEnabled="True" RelativeMakefileName="./Makefile.am" BuildTargetName="" CleanTargetName="" SyncReferences="True" IsAutotoolsProject="True" RelativeConfigureInPath="../../../">
     <ExcludedFiles>
Index: Core/src/MonoDevelop.Ide/Makefile.am
===================================================================
--- Core/src/MonoDevelop.Ide/Makefile.am	(revision 81424)
+++ Core/src/MonoDevelop.Ide/Makefile.am	(working copy)
@@ -6,16 +6,16 @@
 	$(GLADE_SHARP_LIBS) \
 	$(GNOME_SHARP_LIBS) \
 	$(GNOME_VFS_SHARP_LIBS) \
-	$(GTK_SHARP_LIBS) \
 	$(GTKHTML_SHARP_LIBS) \
 	$(MONODOC_LIBS) \
-	-r:$(top_builddir)/build/AddIns/MonoDevelop.Components.dll \
-	-r:$(top_builddir)/build/AddIns/MonoDevelop.Core.Gui.dll \
-	-r:$(top_builddir)/build/AddIns/MonoDevelop.Dock.dll \
-	-r:$(top_builddir)/build/AddIns/MonoDevelop.Documentation.dll \
-	-r:$(top_builddir)/build/AddIns/MonoDevelop.Projects.dll \
-	-r:$(top_builddir)/build/AddIns/MonoDevelop.Projects.Gui.dll \
-	-r:$(top_builddir)/build/bin/MonoDevelop.Core.dll \
+	-pkg:gtk-sharp \
+	-r:$(top_srcdir)/build/AddIns/MonoDevelop.Components.dll \
+	-r:$(top_srcdir)/build/AddIns/MonoDevelop.Core.Gui.dll \
+	-r:$(top_srcdir)/build/AddIns/MonoDevelop.Dock.dll \
+	-r:$(top_srcdir)/build/AddIns/MonoDevelop.Documentation.dll \
+	-r:$(top_srcdir)/build/AddIns/MonoDevelop.Projects.dll \
+	-r:$(top_srcdir)/build/AddIns/MonoDevelop.Projects.Gui.dll \
+	-r:$(top_srcdir)/build/bin/MonoDevelop.Core.dll \
 	-r:$(top_srcdir)/contrib/log4net.dll \
 	-r:$(top_srcdir)/contrib/Mono.Addins.dll \
 	-r:$(top_srcdir)/contrib/Mono.Addins.Gui.dll \
@@ -82,8 +82,8 @@
 	MonoDevelop.Ide.ExternalTools/ExternalTool.cs \
 	MonoDevelop.Ide.ExternalTools/ToolLoader.cs \
 	MonoDevelop.Ide.Gui.BrowserDisplayBinding/BrowserDisplayBinding.cs \
+	MonoDevelop.Ide.Gui.BrowserDisplayBinding/HTMLInterfaces.cs \
 	MonoDevelop.Ide.Gui.BrowserDisplayBinding/HtmlViewPane.cs \
-	MonoDevelop.Ide.Gui.BrowserDisplayBinding/HTMLInterfaces.cs \
 	MonoDevelop.Ide.Gui.Content/IBookmarkBuffer.cs \
 	MonoDevelop.Ide.Gui.Content/IClipboardHandler.cs \
 	MonoDevelop.Ide.Gui.Content/ICodeStyleOperations.cs \
@@ -130,6 +130,7 @@
 	MonoDevelop.Ide.Gui.OptionPanels/BuildPanel.cs \
 	MonoDevelop.Ide.Gui.OptionPanels/CodeGenerationPanel.cs \
 	MonoDevelop.Ide.Gui.OptionPanels/ExternalToolPanel.cs \
+	MonoDevelop.Ide.Gui.OptionPanels/KeyBindingsPanel.cs \
 	MonoDevelop.Ide.Gui.OptionPanels/LoadSavePanel.cs \
 	MonoDevelop.Ide.Gui.OptionPanels/SelectStylePanel.cs \
 	MonoDevelop.Ide.Gui.OptionPanels/TasksOptionsPanel.cs \


More information about the Monodevelop-list mailing list