Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Tobias Hunger
qt-creator
Commits
b9655fd1
Commit
b9655fd1
authored
Jan 30, 2009
by
mae
Browse files
editormanager cleanups
parent
fb01db44
Changes
7
Hide whitespace changes
Inline
Side-by-side
src/plugins/coreplugin/editormanager/editormanager.cpp
View file @
b9655fd1
...
...
@@ -143,7 +143,6 @@ struct EditorManagerPrivate {
ICore
*
m_core
;
bool
m_suppressEditorChanges
;
// actions
QAction
*
m_revertToSavedAction
;
...
...
@@ -184,7 +183,6 @@ EditorManagerPrivate::EditorManagerPrivate(ICore *core, QWidget *parent) :
m_splitter
(
0
),
m_stackedLayout
(
0
),
m_core
(
core
),
m_suppressEditorChanges
(
false
),
m_revertToSavedAction
(
new
QAction
(
EditorManager
::
tr
(
"Revert to Saved"
),
parent
)),
m_saveAction
(
new
QAction
(
parent
)),
m_saveAsAction
(
new
QAction
(
parent
)),
...
...
@@ -227,7 +225,7 @@ EditorManager::EditorManager(ICore *core, QWidget *parent) :
m_instance
=
this
;
connect
(
m_d
->
m_core
,
SIGNAL
(
contextAboutToChange
(
Core
::
IContext
*
)),
this
,
SLOT
(
updateCurrentEditorAndGroup
(
Core
::
IContext
*
)));
this
,
SLOT
(
handleContextChange
(
Core
::
IContext
*
)));
const
QList
<
int
>
gc
=
QList
<
int
>
()
<<
Constants
::
C_GLOBAL_ID
;
const
QList
<
int
>
editManagerContext
=
...
...
@@ -384,10 +382,6 @@ EditorManager::EditorManager(ICore *core, QWidget *parent) :
// other setup
connect
(
this
,
SIGNAL
(
currentEditorChanged
(
Core
::
IEditor
*
)),
this
,
SLOT
(
updateActions
()));
connect
(
this
,
SIGNAL
(
currentEditorChanged
(
Core
::
IEditor
*
)),
this
,
SLOT
(
updateEditorHistory
()));
m_d
->
m_view
=
new
EditorView
(
m_d
->
m_editorModel
,
this
);
m_d
->
m_splitter
=
new
SplitterOrView
(
m_d
->
m_view
);
...
...
@@ -454,32 +448,16 @@ void EditorManager::updateEditorHistory()
m_d
->
m_editorHistory
.
prepend
(
editor
);
}
bool
EditorManager
::
re
gister
Editor
(
IEditor
*
editor
)
void
EditorManager
::
re
move
Editor
(
IEditor
*
editor
)
{
if
(
editor
)
{
m_d
->
m_editorModel
->
addEditor
(
editor
);
m_d
->
m_core
->
fileManager
()
->
addFile
(
editor
->
file
());
m_d
->
m_core
->
fileManager
()
->
addToRecentFiles
(
editor
->
file
()
->
fileName
());
m_d
->
m_editorHistory
.
removeAll
(
editor
);
m_d
->
m_editorHistory
.
prepend
(
editor
);
return
true
;
}
return
false
;
}
m_d
->
m_editorModel
->
removeEditor
(
editor
);
m_d
->
m_core
->
fileManager
()
->
removeFile
(
editor
->
file
());
m_d
->
m_editorHistory
.
removeAll
(
editor
);
m_d
->
m_core
->
removeContextObject
(
editor
);
bool
EditorManager
::
unregisterEditor
(
IEditor
*
editor
)
{
if
(
editor
)
{
m_d
->
m_editorModel
->
removeEditor
(
editor
);
m_d
->
m_core
->
fileManager
()
->
removeFile
(
editor
->
file
());
m_d
->
m_editorHistory
.
removeAll
(
editor
);
return
true
;
}
return
false
;
}
void
EditorManager
::
updateCurrentEditorAndGroup
(
IContext
*
context
)
void
EditorManager
::
handleContextChange
(
IContext
*
context
)
{
if
(
debugEditorManager
)
qDebug
()
<<
Q_FUNC_INFO
;
...
...
@@ -489,50 +467,25 @@ void EditorManager::updateCurrentEditorAndGroup(IContext *context)
}
else
{
updateActions
();
}
if
(
debugEditorManager
)
qDebug
()
<<
"leaving method"
<<
Q_FUNC_INFO
;
}
IEditor
*
EditorManager
::
activateEditor
(
IEditor
*
editor
,
bool
ignoreNavigationHistory
)
{
if
(
m_d
->
m_suppressEditorChanges
)
return
editor
;
return
activateEditor
(
m_d
->
m_splitter
->
findView
(
m_d
->
m_currentEditor
)
->
view
(),
editor
,
ignoreNavigationHistory
);
}
void
EditorManager
::
setCurrentEditor
(
IEditor
*
editor
,
bool
ignoreNavigationHistory
)
{
if
(
debugEditorManager
)
qDebug
()
<<
Q_FUNC_INFO
<<
currentEditor
()
<<
"-->"
<<
editor
<<
(
m_d
->
m_suppressEditorChanges
?
"suppressed"
:
""
)
<<
"ignore history?"
<<
ignoreNavigationHistory
;
if
(
m_d
->
m_suppressEditorChanges
)
if
(
m_d
->
m_currentEditor
==
editor
)
return
;
m_d
->
m_currentEditor
=
editor
;
if
(
editor
)
{
qDebug
()
<<
"EditorManager::setCurrentEditor"
<<
editor
<<
editor
->
file
()
->
fileName
();
bool
addToHistory
=
(
!
ignoreNavigationHistory
&&
editor
!=
currentEditor
());
if
(
debugEditorManager
)
qDebug
()
<<
Q_FUNC_INFO
<<
(
addToHistory
?
"adding to history"
:
"not adding to history"
);
if
(
addToHistory
)
addCurrentPositionToNavigationHistory
(
true
);
m_d
->
m_suppressEditorChanges
=
true
;
EditorView
*
view
=
m_d
->
m_splitter
->
findView
(
editor
)
->
view
();
if
(
view
==
m_d
->
m_view
&&
m_d
->
m_splitter
)
unsplitAll
();
view
->
setCurrentEditor
(
editor
);
m_d
->
m_suppressEditorChanges
=
false
;
if
(
addToHistory
)
addCurrentPositionToNavigationHistory
();
}
editorChanged
(
editor
);
}
void
EditorManager
::
editorChanged
(
IEditor
*
toEditor
)
{
emit
currentEditorChanged
(
toEditor
);
updateActions
();
updateEditorHistory
();
emit
currentEditorChanged
(
editor
);
}
QList
<
IEditor
*>
EditorManager
::
editorsForFileName
(
const
QString
&
filename
)
const
...
...
@@ -674,28 +627,16 @@ bool EditorManager::closeEditors(const QList<IEditor*> editorsToClose, bool askA
if
(
!
state
.
isEmpty
())
m_d
->
m_editorStates
.
insert
(
editor
->
file
()
->
fileName
(),
QVariant
(
state
));
}
unregisterEditor
(
editor
);
m_d
->
m_core
->
removeContextObject
(
editor
);
const
bool
suppress
=
m_d
->
m_suppressEditorChanges
;
m_d
->
m_suppressEditorChanges
=
true
;
removeEditor
(
editor
);
m_d
->
m_view
->
removeEditor
(
editor
);
m_d
->
m_suppressEditorChanges
=
suppress
;
}
emit
editorsClosed
(
acceptedEditors
);
foreach
(
IEditor
*
editor
,
acceptedEditors
)
{
delete
editor
;
}
if
(
currentEditorRemoved
)
{
if
(
m_d
->
m_editorHistory
.
count
()
>
0
)
{
activateEditor
(
m_d
->
m_editorHistory
.
first
(),
true
);
}
else
{
editorChanged
(
currentEditor
());
}
setCurrentEditor
(
0
,
true
);
}
if
(
currentEditor
())
addCurrentPositionToNavigationHistory
();
updateActions
();
return
!
closingFailed
;
}
...
...
@@ -708,11 +649,30 @@ void EditorManager::closeDuplicate(Core::IEditor *editor, bool doDelete)
delete
editor
;
}
Core
::
IEditor
*
EditorManager
::
activateEditor
(
Core
::
Internal
::
EditorView
*
view
,
Core
::
IEditor
*
editor
,
bool
ignoreNavigationHistory
)
void
EditorManager
::
activateEditor
(
IEditor
*
editor
,
OpenEditorFlags
flags
)
{
activateEditor
(
m_d
->
m_splitter
->
findView
(
m_d
->
m_currentEditor
)
->
view
(),
editor
,
flags
);
}
void
EditorManager
::
activateEditor
(
Core
::
Internal
::
EditorView
*
view
,
Core
::
IEditor
*
editor
,
OpenEditorFlags
flags
)
{
if
(
flags
&
NoActivate
)
return
;
Q_ASSERT
(
view
&&
editor
);
Q_ASSERT
(
m_d
->
m_view
->
hasEditor
(
editor
));
if
(
!
view
->
hasEditor
(
editor
))
{
if
(
SplitterOrView
*
sourceView
=
m_d
->
m_splitter
->
findView
(
editor
))
sourceView
->
view
()
->
removeEditor
(
editor
);
view
->
addEditor
(
editor
);
}
setCurrentEditor
(
editor
,
(
flags
&
IgnoreNavigationHistory
));
ensureEditorManagerVisible
();
editor
->
widget
()
->
setFocus
();
#if 0
if (!editor->duplicateSupported()) {
unsplitAll();
view = m_d->m_view;
...
...
@@ -731,6 +691,7 @@ Core::IEditor *EditorManager::activateEditor(Core::Internal::EditorView *view, C
closeDuplicate(e, true);
}
return duplicate;
#endif
}
/* Find editors for a mimetype, best matching at the front
...
...
@@ -821,14 +782,21 @@ IEditor *EditorManager::createEditor(const QString &editorKind,
return
editor
;
}
void
EditorManager
::
insertEditor
(
IEditor
*
editor
,
bool
/*ignoreNavigationHistory*/
)
void
EditorManager
::
addEditor
(
IEditor
*
editor
,
bool
isDuplicate
)
{
if
(
!
editor
)
return
;
m_d
->
m_core
->
addContextObject
(
editor
);
registerEditor
(
editor
);
m_d
->
m_view
->
addEditor
(
editor
);
if
(
!
isDuplicate
)
{
m_d
->
m_editorModel
->
addEditor
(
editor
);
m_d
->
m_core
->
fileManager
()
->
addFile
(
editor
->
file
());
m_d
->
m_core
->
fileManager
()
->
addToRecentFiles
(
editor
->
file
()
->
fileName
());
}
m_d
->
m_editorHistory
.
removeAll
(
editor
);
m_d
->
m_editorHistory
.
prepend
(
editor
);
emit
editorOpened
(
editor
);
}
...
...
@@ -895,7 +863,7 @@ static QString formatFileFilters(const Core::ICore *core, QString *selectedFilte
}
IEditor
*
EditorManager
::
openEditor
(
const
QString
&
fileName
,
const
QString
&
editorKind
,
bool
ignoreNavigationHistory
)
EditorManager
::
OpenEditorFlags
flags
)
{
if
(
debugEditorManager
)
qDebug
()
<<
Q_FUNC_INFO
<<
fileName
<<
editorKind
;
...
...
@@ -905,7 +873,8 @@ IEditor *EditorManager::openEditor(const QString &fileName, const QString &edito
const
QList
<
IEditor
*>
editors
=
editorsForFileName
(
fileName
);
if
(
!
editors
.
isEmpty
())
{
return
activateEditor
(
m_d
->
m_splitter
->
findView
(
m_d
->
m_currentEditor
)
->
view
(),
editors
.
first
(),
ignoreNavigationHistory
);
activateEditor
(
editors
.
first
(),
flags
);
return
editors
.
first
();
}
QApplication
::
setOverrideCursor
(
QCursor
(
Qt
::
WaitCursor
));
IEditor
*
editor
=
createEditor
(
editorKind
,
fileName
);
...
...
@@ -916,11 +885,12 @@ IEditor *EditorManager::openEditor(const QString &fileName, const QString &edito
editor
=
0
;
return
0
;
}
insert
Editor
(
editor
,
ignoreNavigationHistory
);
add
Editor
(
editor
);
restoreEditorState
(
editor
);
QApplication
::
restoreOverrideCursor
();
ensureEditorManagerVisible
();
return
activateEditor
(
editor
,
ignoreNavigationHistory
);
activateEditor
(
editor
,
flags
);
return
editor
;
}
QStringList
EditorManager
::
getOpenFileNames
()
const
...
...
@@ -999,7 +969,7 @@ IEditor *EditorManager::newFile(const QString &editorKind,
}
*
titlePattern
=
title
;
edt
->
setDisplayName
(
title
);
insert
Editor
(
edt
);
add
Editor
(
edt
);
QApplication
::
restoreOverrideCursor
();
return
edt
;
}
...
...
@@ -1284,9 +1254,9 @@ void EditorManager::goBackInNavigationHistory()
IEditor
*
editor
;
if
(
location
->
editor
)
{
editor
=
location
->
editor
;
setCurrent
Editor
(
location
->
editor
,
true
);
activate
Editor
(
location
->
editor
,
IgnoreNavigationHistory
);
}
else
{
editor
=
openEditor
(
location
->
fileName
,
location
->
kind
,
true
);
editor
=
openEditor
(
location
->
fileName
,
location
->
kind
,
IgnoreNavigationHistory
);
if
(
!
editor
)
{
delete
m_d
->
m_navigationHistory
.
takeAt
(
m_d
->
currentNavigationHistoryPosition
);
continue
;
...
...
@@ -1308,9 +1278,9 @@ void EditorManager::goForwardInNavigationHistory()
IEditor
*
editor
;
if
(
location
->
editor
)
{
editor
=
location
->
editor
;
setCurrent
Editor
(
location
->
editor
,
true
);
activate
Editor
(
location
->
editor
,
IgnoreNavigationHistory
);
}
else
{
editor
=
openEditor
(
location
->
fileName
,
location
->
kind
,
true
);
editor
=
openEditor
(
location
->
fileName
,
location
->
kind
,
IgnoreNavigationHistory
);
if
(
!
editor
)
{
//TODO
qDebug
()
<<
Q_FUNC_INFO
<<
"can't open file"
<<
location
->
fileName
;
...
...
@@ -1378,9 +1348,6 @@ bool EditorManager::restoreState(const QByteArray &state)
QApplication
::
setOverrideCursor
(
Qt
::
WaitCursor
);
bool
editorChangesSuppressed
=
m_d
->
m_suppressEditorChanges
;
m_d
->
m_suppressEditorChanges
=
true
;
stream
>>
editorstates
;
QMapIterator
<
QString
,
QVariant
>
i
(
editorstates
);
while
(
i
.
hasNext
())
{
...
...
@@ -1389,21 +1356,20 @@ bool EditorManager::restoreState(const QByteArray &state)
}
int
editorCount
=
0
;
IEditor
*
toActivate
=
0
;
stream
>>
editorCount
;
while
(
--
editorCount
>=
0
)
{
QString
fileName
;
stream
>>
fileName
;
QByteArray
kind
;
stream
>>
kind
;
IEditor
*
editor
=
openEditor
(
fileName
,
kind
,
tru
e
);
if
(
!
m_d
->
m_currentEditor
)
m_d
->
m_currentEditor
=
editor
;
IEditor
*
editor
=
openEditor
(
fileName
,
kind
,
IgnoreNavigationHistory
|
NoActivat
e
);
if
(
!
toActivate
)
toActivate
=
editor
;
}
m_d
->
m_suppressEditorChanges
=
editorChangesSuppressed
;
if
(
currentEditor
())
setCurrentEditor
(
m_d
->
m_currentEditor
);
if
(
toActivate
)
activateEditor
(
toActivate
);
QApplication
::
restoreOverrideCursor
();
return
true
;
...
...
@@ -1574,7 +1540,7 @@ Core::IEditor *EditorManager::duplicateEditor(Core::IEditor *editor)
IEditor
*
duplicate
=
editor
->
duplicate
(
0
);
emit
editorCreated
(
duplicate
,
duplicate
->
file
()
->
fileName
());
emit
editorOpened
(
duplicate
);
addEditor
(
duplicate
,
true
);
return
duplicate
;
}
...
...
@@ -1582,11 +1548,8 @@ void EditorManager::split(Qt::Orientation orientation)
{
SplitterOrView
*
view
=
m_d
->
m_currentEditor
?
m_d
->
m_splitter
->
findView
(
m_d
->
m_currentEditor
)
:
m_d
->
m_splitter
->
findFirstView
();
if
(
!
view
)
{
view
=
m_d
->
m_splitter
;
view
->
unsplit
(
0
);
}
view
->
split
(
orientation
);
if
(
view
)
view
->
split
(
orientation
);
}
void
EditorManager
::
split
()
{
...
...
src/plugins/coreplugin/editormanager/editormanager.h
View file @
b9655fd1
...
...
@@ -102,9 +102,16 @@ public:
void
init
();
static
EditorManager
*
instance
()
{
return
m_instance
;
}
enum
OpenEditorFlag
{
NoActivate
=
1
,
IgnoreNavigationHistory
=
2
};
Q_DECLARE_FLAGS
(
OpenEditorFlags
,
OpenEditorFlag
)
IEditor
*
openEditor
(
const
QString
&
fileName
,
const
QString
&
editorKind
=
QString
(),
bool
ignoreNavigationHistory
=
false
);
OpenEditorFlags
flags
=
0
);
QStringList
getOpenFileNames
()
const
;
QString
getOpenWithEditorKind
(
const
QString
&
fileName
)
const
;
...
...
@@ -116,12 +123,8 @@ public:
bool
hasEditor
(
const
QString
&
fileName
)
const
;
QList
<
IEditor
*>
editorsForFileName
(
const
QString
&
filename
)
const
;
private:
void
setCurrentEditor
(
IEditor
*
editor
,
bool
ignoreNavigationHistory
=
false
);
public:
IEditor
*
currentEditor
()
const
;
IEditor
*
activateEditor
(
IEditor
*
editor
,
bool
ignoreNavigationHistory
=
false
);
// EditorGroup *currentEditorGroup() const;
void
activateEditor
(
IEditor
*
editor
,
OpenEditorFlags
flags
=
0
);
QList
<
IEditor
*>
openedEditors
()
const
;
...
...
@@ -195,7 +198,7 @@ private slots:
void
gotoNextDocHistory
();
void
gotoPreviousDocHistory
();
void
updateCurrentEditorAndGroup
(
Core
::
IContext
*
context
);
void
handleContextChange
(
Core
::
IContext
*
context
);
void
updateEditorHistory
();
void
updateActions
();
void
revertToSaved
();
...
...
@@ -213,16 +216,15 @@ private:
QList
<
IFile
*>
filesForEditors
(
QList
<
IEditor
*>
editors
)
const
;
IEditor
*
createEditor
(
const
QString
&
mimeType
=
QString
(),
const
QString
&
fileName
=
QString
());
void
insertEditor
(
IEditor
*
editor
,
bool
ignoreNavigationHistory
=
false
);
bool
registerEditor
(
IEditor
*
editor
);
bool
unregisterEditor
(
IEditor
*
editor
);
void
editorChanged
(
IEditor
*
editor
);
void
addEditor
(
IEditor
*
editor
,
bool
isDuplicate
=
false
);
void
removeEditor
(
IEditor
*
editor
);
void
restoreEditorState
(
IEditor
*
editor
);
Core
::
IEditor
*
duplicateEditor
(
IEditor
*
editor
);
void
closeDuplicate
(
Core
::
IEditor
*
editor
,
bool
doDelete
);
Core
::
IEditor
*
activateEditor
(
Core
::
Internal
::
EditorView
*
view
,
Core
::
IEditor
*
editor
,
bool
ignoreNavigationHistory
=
false
);
void
setCurrentEditor
(
IEditor
*
editor
,
bool
ignoreNavigationHistory
=
false
);
void
activateEditor
(
Core
::
Internal
::
EditorView
*
view
,
Core
::
IEditor
*
editor
,
OpenEditorFlags
flags
=
0
);
void
closeEditor
(
Core
::
Internal
::
EditorView
*
view
,
Core
::
IEditor
*
editor
);
static
EditorManager
*
m_instance
;
...
...
@@ -232,6 +234,8 @@ private:
friend
class
Core
::
Internal
::
EditorView
;
};
Q_DECLARE_OPERATORS_FOR_FLAGS
(
EditorManager
::
OpenEditorFlags
);
//===================EditorClosingCoreListener======================
namespace
Internal
{
...
...
src/plugins/coreplugin/editormanager/editorview.cpp
View file @
b9655fd1
...
...
@@ -299,32 +299,12 @@ EditorView::~EditorView()
{
}
void
EditorView
::
focusInEvent
(
QFocusEvent
*
e
)
{
if
(
m_container
->
count
()
>
0
)
{
setEditorFocus
(
m_container
->
currentIndex
());
}
else
{
QWidget
::
focusInEvent
(
e
);
}
}
void
EditorView
::
setEditorFocus
(
int
index
)
{
QWidget
*
w
=
m_container
->
widget
(
index
);
w
->
setFocus
();
}
void
EditorView
::
addEditor
(
IEditor
*
editor
)
{
insertEditor
(
editorCount
(),
editor
);
}
void
EditorView
::
insertEditor
(
int
index
,
IEditor
*
editor
)
{
if
(
m_container
->
indexOf
(
editor
->
widget
())
!=
-
1
)
return
;
m_container
->
insert
Widget
(
index
,
editor
->
widget
());
m_container
->
add
Widget
(
editor
->
widget
());
m_widgetEditorMap
.
insert
(
editor
->
widget
(),
editor
);
QToolBar
*
toolBar
=
editor
->
toolBar
();
...
...
@@ -381,7 +361,7 @@ IEditor *EditorView::currentEditor() const
return
0
;
}
void
EditorView
::
setCurrentEditor
(
IEditor
*
editor
,
bool
ignoreNavigationHistory
)
void
EditorView
::
setCurrentEditor
(
IEditor
*
editor
)
{
if
(
!
editor
||
m_container
->
count
()
<=
0
||
m_container
->
indexOf
(
editor
->
widget
())
==
-
1
)
...
...
@@ -393,7 +373,6 @@ void EditorView::setCurrentEditor(IEditor *editor, bool ignoreNavigationHistory)
QTC_ASSERT
(
idx
>=
0
,
return
);
m_container
->
setCurrentIndex
(
idx
);
m_editorList
->
setCurrentIndex
(
qobject_cast
<
EditorModel
*>
(
m_editorList
->
model
())
->
indexOf
(
editor
->
file
()
->
fileName
()).
row
());
setEditorFocus
(
idx
);
updateEditorStatus
(
editor
);
updateToolBar
(
editor
);
...
...
@@ -402,9 +381,6 @@ void EditorView::setCurrentEditor(IEditor *editor, bool ignoreNavigationHistory)
m_infoWidget
->
hide
();
m_editorForInfoWidget
=
0
;
}
EditorManager
*
em
=
CoreImpl
::
instance
()
->
editorManager
();
if
(
em
->
currentEditor
()
!=
editor
)
em
->
setCurrentEditor
(
editor
,
ignoreNavigationHistory
);
}
void
EditorView
::
checkEditorStatus
()
...
...
@@ -545,14 +521,11 @@ SplitterOrView *SplitterOrView::findNextView(Core::IEditor *editor)
SplitterOrView
*
SplitterOrView
::
findNextView_helper
(
Core
::
IEditor
*
editor
,
bool
*
found
)
{
qDebug
()
<<
"check view "
<<
this
<<
"view"
<<
m_view
<<
"splitter"
<<
m_splitter
<<
"found"
<<
*
found
;
if
(
*
found
&&
m_view
)
{
qDebug
()
<<
"found next!"
;
return
this
;
}
if
(
hasEditor
(
editor
))
{
qDebug
()
<<
"found editor"
;
*
found
=
true
;
return
0
;
}
...
...
@@ -577,14 +550,9 @@ void SplitterOrView::split(Qt::Orientation orientation)
SplitterOrView
*
focusView
=
0
;
if
(
m_isRoot
)
{
Core
::
IEditor
*
duplicateA
=
CoreImpl
::
instance
()
->
editorManager
()
->
duplicateEditor
(
e
);
m_splitter
->
addWidget
((
focusView
=
new
SplitterOrView
(
duplicateA
)));
}
else
{
m_view
->
removeEditor
(
e
);
m_splitter
->
addWidget
((
focusView
=
new
SplitterOrView
(
e
)));
Q_ASSERT
(
m_view
->
currentEditor
()
==
0
);
}
m_view
->
removeEditor
(
e
);
m_splitter
->
addWidget
((
focusView
=
new
SplitterOrView
(
e
)));
Core
::
IEditor
*
duplicate
=
CoreImpl
::
instance
()
->
editorManager
()
->
duplicateEditor
(
e
);
m_splitter
->
addWidget
(
new
SplitterOrView
(
duplicate
));
m_layout
->
addWidget
(
m_splitter
);
...
...
@@ -596,11 +564,13 @@ void SplitterOrView::split(Qt::Orientation orientation)
m_layout
->
setCurrentWidget
(
m_splitter
);
}
focusView
->
view
()
->
setCurrentEditor
(
focusView
->
e
ditor
(
)
);
CoreImpl
::
instance
()
->
editorManager
()
->
activateE
ditor
(
e
);
}
void
SplitterOrView
::
close
()
{
qDebug
()
<<
"SplitterOrView::close TODO"
;
return
;
foreach
(
Core
::
IEditor
*
e
,
editors
())
CoreImpl
::
instance
()
->
editorManager
()
->
closeDuplicate
(
e
,
false
);
closeSplitterEditors
();
...
...
@@ -617,8 +587,11 @@ void SplitterOrView::closeSplitterEditors()
}
}
void
SplitterOrView
::
unsplit
(
Core
::
IEditor
*
editor
)
void
SplitterOrView
::
unsplit
(
Core
::
IEditor
*/
*
editor
*/
)
{
qDebug
()
<<
"SplitterOrView::unsplit TODO"
;
return
;
/*
if (!m_splitter)
return;
Q_ASSERT(m_isRoot || (m_view == 0 && editor));
...
...
@@ -631,4 +604,5 @@ void SplitterOrView::unsplit(Core::IEditor *editor)
closeSplitterEditors();
delete m_splitter;
m_splitter = 0;
*/
}
src/plugins/coreplugin/editormanager/editorview.h
View file @
b9655fd1
...
...
@@ -98,13 +98,11 @@ public:
EditorView
(
EditorModel
*
model
=
0
,
QWidget
*
parent
=
0
);
virtual
~
EditorView
();
//EditorGroup
int
editorCount
()
const
;
void
addEditor
(
IEditor
*
editor
);
void
insertEditor
(
int
i
,
IEditor
*
editor
);
void
removeEditor
(
IEditor
*
editor
);
IEditor
*
currentEditor
()
const
;
void
setCurrentEditor
(
IEditor
*
editor
,
bool
ignoreNavigationHistory
=
false
);
void
setCurrentEditor
(
IEditor
*
editor
);
bool
hasEditor
(
IEditor
*
editor
)
const
;
...
...
@@ -115,13 +113,11 @@ public:
QObject
*
object
,
const
char
*
member
);
void
hideEditorInfoBar
(
const
QString
&
kind
);
void
focusInEvent
(
QFocusEvent
*
e
);
private
slots
:
void
sendCloseRequest
();
void
updateEditorStatus
(
Core
::
IEditor
*
editor
=
0
);
void
checkEditorStatus
();
void
setEditorFocus
(
int
index
);
void
makeEditorWritable
();
void
listSelectionActivated
(
int
index
);
...
...
src/plugins/coreplugin/editormanager/openeditorswindow.cpp
View file @
b9655fd1
...
...
@@ -219,7 +219,7 @@ void OpenEditorsWindow::setEditors(const QList<IEditor *>&editors, IEditor *curr
item
->
setText
(
0
,
title
);
item
->
setToolTip
(
0
,
editor
->
file
()
->
fileName
());
item
->
setData
(
0
,
Qt
::
UserRole
,
QVariant
::
fromValue
(
editor
));
item
->
setFlags
(
Qt
::
ItemIsSelectable
|
Qt
::
ItemIsEnabled
);
item
->
setFlags
(
Qt
::
ItemIsSelectable
);
item
->
setTextAlignment
(
0
,
Qt
::
AlignLeft
);
...
...
src/plugins/coreplugin/outputpane.cpp
View file @
b9655fd1
...
...
@@ -41,7 +41,6 @@
#include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/actionmanager/actioncontainer.h>
#include <coreplugin/editormanager/editormanager.h>
#include <coreplugin/editormanager/editorgroup.h>
#include <extensionsystem/pluginmanager.h>
...
...
src/plugins/texteditor/basetexteditor.cpp
View file @
b9655fd1
...
...
@@ -133,7 +133,7 @@ ITextEditor *BaseTextEditor::openEditorAt(const QString &fileName,