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
f812780e
Commit
f812780e
authored
Mar 25, 2009
by
hjk
Browse files
debugger: keep row selection in watchersview after expand/collapse
Task-number: 233285
parent
504b8199
Changes
3
Hide whitespace changes
Inline
Side-by-side
src/plugins/debugger/watchhandler.cpp
View file @
f812780e
...
...
@@ -751,7 +751,8 @@ void WatchHandler::rebuildModel()
m_inChange
=
true
;
//qDebug() << "WATCHHANDLER: RESET ABOUT TO EMIT";
emit
reset
();
//emit reset();
emit
layoutChanged
();
//qDebug() << "WATCHHANDLER: RESET EMITTED";
m_inChange
=
false
;
...
...
src/plugins/debugger/watchwindow.cpp
View file @
f812780e
...
...
@@ -215,16 +215,13 @@ void WatchWindow::editItem(const QModelIndex &idx)
void
WatchWindow
::
reset
()
{
QTreeView
::
reset
();
int
row
=
0
;
if
(
m_type
==
TooltipType
)
row
=
1
;
else
if
(
m_type
==
WatchersType
)
row
=
2
;
//qDebug() << "WATCHWINDOW::RESET" << row;
QTreeView
::
reset
();
setRootIndex
(
model
()
->
index
(
row
,
0
,
model
()
->
index
(
0
,
0
)));
//setRootIndex(model()->index(0, 0));
resetHelper
(
model
()
->
index
(
0
,
0
));
}
void
WatchWindow
::
setModel
(
QAbstractItemModel
*
model
)
...
...
@@ -236,16 +233,27 @@ void WatchWindow::setModel(QAbstractItemModel *model)
header
()
->
setResizeMode
(
QHeaderView
::
ResizeToContents
);
if
(
m_type
!=
LocalsType
)
header
()
->
hide
();
connect
(
model
,
SIGNAL
(
layoutChanged
()),
this
,
SLOT
(
resetHelper
()));
}
void
WatchWindow
::
resetHelper
()
{
resetHelper
(
model
()
->
index
(
0
,
0
));
}
void
WatchWindow
::
resetHelper
(
const
QModelIndex
&
idx
)
{
if
(
model
()
->
data
(
idx
,
ExpandedRole
).
toBool
())
{
//qDebug() << "EXPANDING " << model()->data(idx, INameRole);
expand
(
idx
);
for
(
int
i
=
0
,
n
=
model
()
->
rowCount
(
idx
);
i
!=
n
;
++
i
)
{
QModelIndex
idx1
=
model
()
->
index
(
i
,
0
,
idx
);
resetHelper
(
idx1
);
}
}
else
{
//qDebug() << "COLLAPSING " << model()->data(idx, INameRole);
collapse
(
idx
);
}
}
src/plugins/debugger/watchwindow.h
View file @
f812780e
...
...
@@ -60,6 +60,7 @@ public slots:
private:
Q_SLOT
void
expandNode
(
const
QModelIndex
&
index
);
Q_SLOT
void
collapseNode
(
const
QModelIndex
&
index
);
Q_SLOT
void
resetHelper
();
void
keyPressEvent
(
QKeyEvent
*
ev
);
void
contextMenuEvent
(
QContextMenuEvent
*
ev
);
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment