From: <kp...@us...> - 2008-07-23 19:57:57
|
Revision: 13095 http://jedit.svn.sourceforge.net/jedit/?rev=13095&view=rev Author: kpouer Date: 2008-07-23 19:57:54 +0000 (Wed, 23 Jul 2008) Log Message: ----------- the bufferSet copy operations are now done in EditPane.setBufferSet(), so it is possible to do it also on existing bufferSets. When the bufferSet already exists and the action is copy, both are merged Modified Paths: -------------- jEdit/trunk/org/gjt/sp/jedit/EditPane.java jEdit/trunk/org/gjt/sp/jedit/View.java jEdit/trunk/org/gjt/sp/jedit/actions.xml jEdit/trunk/org/gjt/sp/jedit/bufferset/BufferSetManager.java jEdit/trunk/org/gjt/sp/jedit/gui/statusbar/BufferSetWidgetFactory.java Modified: jEdit/trunk/org/gjt/sp/jedit/EditPane.java =================================================================== --- jEdit/trunk/org/gjt/sp/jedit/EditPane.java 2008-07-22 23:58:35 UTC (rev 13094) +++ jEdit/trunk/org/gjt/sp/jedit/EditPane.java 2008-07-23 19:57:54 UTC (rev 13095) @@ -41,6 +41,7 @@ import org.gjt.sp.jedit.buffer.JEditBuffer; import org.gjt.sp.jedit.bufferset.BufferSet; import org.gjt.sp.jedit.bufferset.BufferSetListener; +import org.gjt.sp.jedit.bufferset.BufferSetManager; import org.gjt.sp.jedit.gui.BufferSwitcher; import org.gjt.sp.jedit.gui.StatusBar; import org.gjt.sp.jedit.io.VFSManager; @@ -683,7 +684,7 @@ setBufferSet(jEdit.getBufferSetManager().getViewBufferSet(view)); break; case editpane: - setBufferSet(jEdit.getBufferSetManager().getEditPaneBufferSet(this, bufferSet)); + setBufferSet(jEdit.getBufferSetManager().getEditPaneBufferSet(this)); break; case global: setBufferSet(jEdit.getBufferSetManager().getGlobalBufferSet()); @@ -700,17 +701,41 @@ { if (this.bufferSet != bufferSet) { + BufferSetManager bufferSetManager = jEdit.getBufferSetManager(); + + String action = jEdit.getProperty("editpane.bufferset.new"); + BufferSetManager.NewBufferSetAction bufferSetAction = BufferSetManager.NewBufferSetAction.fromString(action); + switch (bufferSetAction) + { + case copy: + if (this.bufferSet == null) + bufferSetManager.addAllBuffers(bufferSet); + else + bufferSetManager.mergeBufferSet(bufferSet, this.bufferSet); + break; + case empty: + break; + case currentbuffer: + View activeView = jEdit.getActiveView(); + if (activeView == null) + break; + EditPane editPane = activeView.getEditPane(); + Buffer buffer = editPane.getBuffer(); + bufferSetManager.addBuffer(bufferSet,buffer); + break; + } if (this.bufferSet != null) { this.bufferSet.removeBufferSetListener(this); } + if (bufferSet.size() == 0) { int untitledCount = jEdit.getNextUntitledBufferId(); Buffer newEmptyBuffer = jEdit.openTemporary(jEdit.getActiveView(), null, "Untitled-" + untitledCount,true, null); jEdit.commitTemporary(newEmptyBuffer); - jEdit.getBufferSetManager().addBuffer(bufferSet, newEmptyBuffer); + bufferSetManager.addBuffer(bufferSet, newEmptyBuffer); } this.bufferSet = bufferSet; Modified: jEdit/trunk/org/gjt/sp/jedit/View.java =================================================================== --- jEdit/trunk/org/gjt/sp/jedit/View.java 2008-07-22 23:58:35 UTC (rev 13094) +++ jEdit/trunk/org/gjt/sp/jedit/View.java 2008-07-23 19:57:54 UTC (rev 13095) @@ -622,7 +622,13 @@ editPane.saveCaretInfo(); EditPane oldEditPane = editPane; - EditPane newEditPane = createEditPane(oldEditPane.getBuffer()); + String action = jEdit.getProperty("editpane.bufferset.new"); + BufferSetManager.NewBufferSetAction bufferSetAction = BufferSetManager.NewBufferSetAction.fromString(action); + EditPane newEditPane; + if (bufferSetAction == BufferSetManager.NewBufferSetAction.empty) + newEditPane = createEditPane(null); + else + newEditPane = createEditPane(oldEditPane.getBuffer()); // setEditPane(newEditPane); newEditPane.loadCaretInfo(); Modified: jEdit/trunk/org/gjt/sp/jedit/actions.xml =================================================================== --- jEdit/trunk/org/gjt/sp/jedit/actions.xml 2008-07-22 23:58:35 UTC (rev 13094) +++ jEdit/trunk/org/gjt/sp/jedit/actions.xml 2008-07-23 19:57:54 UTC (rev 13095) @@ -378,12 +378,12 @@ </ACTION> <ACTION NAME="view-bufferset"> <CODE> - editPane.setBufferSet(jEdit.getBufferSetManager().getViewBufferSet(view, editPane.getBufferSet())); + editPane.setBufferSet(jEdit.getBufferSetManager().getViewBufferSet(view)); </CODE> </ACTION> <ACTION NAME="editpane-bufferset"> <CODE> - editPane.setBufferSet(jEdit.getBufferSetManager().getEditPaneBufferSet(editPane, editPane.getBufferSet())); + editPane.setBufferSet(jEdit.getBufferSetManager().getEditPaneBufferSet(editPane)); </CODE> </ACTION> Modified: jEdit/trunk/org/gjt/sp/jedit/bufferset/BufferSetManager.java =================================================================== --- jEdit/trunk/org/gjt/sp/jedit/bufferset/BufferSetManager.java 2008-07-22 23:58:35 UTC (rev 13094) +++ jEdit/trunk/org/gjt/sp/jedit/bufferset/BufferSetManager.java 2008-07-23 19:57:54 UTC (rev 13095) @@ -117,39 +117,38 @@ } //}}} //{{{ getViewBufferSet() methods - public BufferSet getViewBufferSet(View view, BufferSet source) + public BufferSet getViewBufferSet(View view) { BufferSet bufferSet = viewBufferSetMap.get(view); if (bufferSet == null) { - bufferSet = createBufferSet(BufferSet.Scope.view,source); + bufferSet = new BufferSet(BufferSet.Scope.view); viewBufferSetMap.put(view, bufferSet); } return bufferSet; - } - - public BufferSet getViewBufferSet(View view) - { - return getViewBufferSet(view, null); } //}}} //{{{ getEditPaneBufferSet() methods - public BufferSet getEditPaneBufferSet(EditPane editPane, BufferSet source) + public BufferSet getEditPaneBufferSet(EditPane editPane) { BufferSet bufferSet = editPaneBufferSetMap.get(editPane); if (bufferSet == null) { - bufferSet = createBufferSet(BufferSet.Scope.editpane,source); + bufferSet = new BufferSet(BufferSet.Scope.editpane); editPaneBufferSetMap.put(editPane, bufferSet); } return bufferSet; - } + } //}}} - - public BufferSet getEditPaneBufferSet(EditPane editPane) + //{{{ mergeBufferSet() method + public void mergeBufferSet(BufferSet bufferSet, BufferSet source) { - return getEditPaneBufferSet(editPane, null); + Buffer[] buffers = source.getAllBuffers(); + for (Buffer buffer : buffers) + { + addBuffer(bufferSet, buffer); + } } //}}} //{{{ countBufferSets() method @@ -331,7 +330,7 @@ * * @param bufferSet the bufferSet */ - private void addAllBuffers(BufferSet bufferSet) + public void addAllBuffers(BufferSet bufferSet) { Buffer[] buffers = jEdit.getBuffers(); for (int i = 0; i < buffers.length; i++) Modified: jEdit/trunk/org/gjt/sp/jedit/gui/statusbar/BufferSetWidgetFactory.java =================================================================== --- jEdit/trunk/org/gjt/sp/jedit/gui/statusbar/BufferSetWidgetFactory.java 2008-07-22 23:58:35 UTC (rev 13094) +++ jEdit/trunk/org/gjt/sp/jedit/gui/statusbar/BufferSetWidgetFactory.java 2008-07-23 19:57:54 UTC (rev 13095) @@ -95,7 +95,7 @@ editPane.setBufferSet(bufferSetManager.getViewBufferSet(editPane.getView())); break; case view: - editPane.setBufferSet(bufferSetManager.getEditPaneBufferSet(editPane, bufferSet)); + editPane.setBufferSet(bufferSetManager.getEditPaneBufferSet(editPane)); break; case editpane: editPane.setBufferSet(bufferSetManager.getGlobalBufferSet()); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |