Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Marco Bubke
flatpak-qt-creator
Commits
8ba891bb
Commit
8ba891bb
authored
Mar 26, 2009
by
hjk
Browse files
debugger: progress on action generalization
mostly renamings
parent
f54440b4
Changes
3
Hide whitespace changes
Inline
Side-by-side
src/plugins/debugger/debuggeractions.cpp
View file @
8ba891bb
...
...
@@ -43,29 +43,29 @@
#include
<QtGui/QLineEdit>
namespace
Debugger
{
namespace
Internal
{
using
namespace
Debugger
::
Internal
;
using
namespace
Core
::
Utils
;
//////////////////////////////////////////////////////////////////////////
//
//
Debugger
Action
//
Saved
Action
//
//////////////////////////////////////////////////////////////////////////
DebuggerAction
::
Debugger
Action
(
QObject
*
parent
)
SavedAction
::
Saved
Action
(
QObject
*
parent
)
:
QAction
(
parent
)
{
m_widget
=
0
;
connect
(
this
,
SIGNAL
(
triggered
(
bool
)),
this
,
SLOT
(
actionTriggered
(
bool
)));
}
QVariant
Debugger
Action
::
value
()
const
QVariant
Saved
Action
::
value
()
const
{
return
m_value
;
}
void
Debugger
Action
::
setValue
(
const
QVariant
&
value
,
bool
doemit
)
void
Saved
Action
::
setValue
(
const
QVariant
&
value
,
bool
doemit
)
{
if
(
value
==
m_value
)
return
;
...
...
@@ -76,60 +76,60 @@ void DebuggerAction::setValue(const QVariant &value, bool doemit)
emit
valueChanged
(
m_value
);
}
QVariant
Debugger
Action
::
defaultValue
()
const
QVariant
Saved
Action
::
defaultValue
()
const
{
return
m_defaultValue
;
}
void
Debugger
Action
::
setDefaultValue
(
const
QVariant
&
value
)
void
Saved
Action
::
setDefaultValue
(
const
QVariant
&
value
)
{
m_defaultValue
=
value
;
}
QString
Debugger
Action
::
settingsKey
()
const
QString
Saved
Action
::
settingsKey
()
const
{
return
m_settingsKey
;
}
void
Debugger
Action
::
setSettingsKey
(
const
QString
&
key
)
void
Saved
Action
::
setSettingsKey
(
const
QString
&
key
)
{
m_settingsKey
=
key
;
}
void
Debugger
Action
::
setSettingsKey
(
const
QString
&
group
,
const
QString
&
key
)
void
Saved
Action
::
setSettingsKey
(
const
QString
&
group
,
const
QString
&
key
)
{
m_settingsKey
=
key
;
m_settingsGroup
=
group
;
}
QString
Debugger
Action
::
settingsGroup
()
const
QString
Saved
Action
::
settingsGroup
()
const
{
return
m_settingsGroup
;
}
void
Debugger
Action
::
setSettingsGroup
(
const
QString
&
group
)
void
Saved
Action
::
setSettingsGroup
(
const
QString
&
group
)
{
m_settingsGroup
=
group
;
}
QString
Debugger
Action
::
textPattern
()
const
QString
Saved
Action
::
textPattern
()
const
{
return
m_textPattern
;
}
void
Debugger
Action
::
setTextPattern
(
const
QString
&
value
)
void
Saved
Action
::
setTextPattern
(
const
QString
&
value
)
{
m_textPattern
=
value
;
}
QString
Debugger
Action
::
toString
()
const
QString
Saved
Action
::
toString
()
const
{
return
"value: "
+
m_value
.
toString
()
+
" defaultvalue: "
+
m_defaultValue
.
toString
()
+
" settingskey: "
+
m_settingsGroup
+
'/'
+
m_settingsKey
;
}
QAction
*
Debugger
Action
::
updatedAction
(
const
QString
&
text0
)
QAction
*
Saved
Action
::
updatedAction
(
const
QString
&
text0
)
{
QString
text
=
text0
;
bool
enabled
=
true
;
...
...
@@ -149,7 +149,7 @@ QAction *DebuggerAction::updatedAction(const QString &text0)
return
this
;
}
void
Debugger
Action
::
readSettings
(
QSettings
*
settings
)
void
Saved
Action
::
readSettings
(
QSettings
*
settings
)
{
if
(
m_settingsGroup
.
isEmpty
()
||
m_settingsKey
.
isEmpty
())
return
;
...
...
@@ -159,7 +159,7 @@ void DebuggerAction::readSettings(QSettings *settings)
settings
->
endGroup
();
}
void
Debugger
Action
::
writeSettings
(
QSettings
*
settings
)
void
Saved
Action
::
writeSettings
(
QSettings
*
settings
)
{
if
(
m_settingsGroup
.
isEmpty
()
||
m_settingsKey
.
isEmpty
())
return
;
...
...
@@ -169,9 +169,8 @@ void DebuggerAction::writeSettings(QSettings *settings)
settings
->
endGroup
();
}
void
Debugger
Action
::
connectWidget
(
QWidget
*
widget
,
ApplyMode
applyMode
)
void
Saved
Action
::
connectWidget
(
QWidget
*
widget
,
ApplyMode
applyMode
)
{
using
namespace
Core
::
Utils
;
QTC_ASSERT
(
!
m_widget
,
qDebug
()
<<
"ALREADY CONNECTED: "
<<
widget
<<
m_widget
<<
toString
();
return
);
m_widget
=
widget
;
...
...
@@ -198,19 +197,18 @@ void DebuggerAction::connectWidget(QWidget *widget, ApplyMode applyMode)
connect
(
pathChooser
,
SIGNAL
(
browsingFinished
()),
this
,
SLOT
(
pathChooserEditingFinished
()));
}
else
{
qDebug
()
<<
"C
ANNOT CONNECT WIDGET "
<<
widget
;
qDebug
()
<<
"C
annot connect widget "
<<
widget
<<
toString
()
;
}
}
void
Debugger
Action
::
disconnectWidget
()
void
Saved
Action
::
disconnectWidget
()
{
QTC_ASSERT
(
m_widget
,
qDebug
()
<<
"
ALREADY DISCONNECTED
: "
<<
m_widget
<<
toString
();
return
);
qDebug
()
<<
"
Widget already disconnected
: "
<<
m_widget
<<
toString
();
return
);
m_widget
=
0
;
}
void
Debugger
Action
::
apply
(
QSettings
*
s
)
void
Saved
Action
::
apply
(
QSettings
*
s
)
{
using
namespace
Core
::
Utils
;
if
(
QAbstractButton
*
button
=
qobject_cast
<
QAbstractButton
*>
(
m_widget
))
setValue
(
button
->
isChecked
());
else
if
(
QLineEdit
*
lineEdit
=
qobject_cast
<
QLineEdit
*>
(
m_widget
))
...
...
@@ -221,7 +219,7 @@ void DebuggerAction::apply(QSettings *s)
writeSettings
(
s
);
}
void
Debugger
Action
::
uncheckableButtonClicked
()
void
Saved
Action
::
uncheckableButtonClicked
()
{
QAbstractButton
*
button
=
qobject_cast
<
QAbstractButton
*>
(
sender
());
QTC_ASSERT
(
button
,
return
);
...
...
@@ -229,7 +227,7 @@ void DebuggerAction::uncheckableButtonClicked()
QAction
::
trigger
();
}
void
Debugger
Action
::
checkableButtonClicked
(
bool
)
void
Saved
Action
::
checkableButtonClicked
(
bool
)
{
QAbstractButton
*
button
=
qobject_cast
<
QAbstractButton
*>
(
sender
());
QTC_ASSERT
(
button
,
return
);
...
...
@@ -238,39 +236,35 @@ void DebuggerAction::checkableButtonClicked(bool)
setValue
(
button
->
isChecked
());
}
void
Debugger
Action
::
lineEditEditingFinished
()
void
Saved
Action
::
lineEditEditingFinished
()
{
QLineEdit
*
lineEdit
=
qobject_cast
<
QLineEdit
*>
(
sender
());
QTC_ASSERT
(
lineEdit
,
return
);
//qDebug() << "LINEEDIT: " << sender() << lineEdit->text();
if
(
m_applyMode
==
ImmediateApply
)
setValue
(
lineEdit
->
text
());
}
void
Debugger
Action
::
pathChooserEditingFinished
()
void
Saved
Action
::
pathChooserEditingFinished
()
{
using
namespace
Core
::
Utils
;
PathChooser
*
pathChooser
=
qobject_cast
<
PathChooser
*>
(
sender
());
QTC_ASSERT
(
pathChooser
,
return
);
//qDebug() << "PATHCHOOSER: " << sender() << pathChooser->path();
if
(
m_applyMode
==
ImmediateApply
)
setValue
(
pathChooser
->
path
());
}
void
Debugger
Action
::
actionTriggered
(
bool
)
void
Saved
Action
::
actionTriggered
(
bool
)
{
//qDebug() << "TRIGGERING" << this << actionGroup();
if
(
isCheckable
())
setValue
(
isChecked
());
if
(
actionGroup
()
&&
actionGroup
()
->
isExclusive
())
{
// FIXME: should be taken care of more directly
foreach
(
QAction
*
act
,
actionGroup
()
->
actions
())
if
(
Debugger
Action
*
dact
=
qobject_cast
<
Debugger
Action
*>
(
act
))
if
(
Saved
Action
*
dact
=
qobject_cast
<
Saved
Action
*>
(
act
))
dact
->
setValue
(
bool
(
act
==
this
));
}
}
void
Debugger
Action
::
trigger
(
const
QVariant
&
data
)
void
Saved
Action
::
trigger
(
const
QVariant
&
data
)
{
setData
(
data
);
QAction
::
trigger
();
...
...
@@ -279,25 +273,25 @@ void DebuggerAction::trigger(const QVariant &data)
//////////////////////////////////////////////////////////////////////////
//
//
DebuggerSettingsGroup
//
SavedActionSet
//
//////////////////////////////////////////////////////////////////////////
void
DebuggerSettingsGroup
::
insert
(
Debugger
Action
*
action
,
QWidget
*
widget
)
void
SavedActionSet
::
insert
(
Saved
Action
*
action
,
QWidget
*
widget
)
{
m_list
.
append
(
action
);
action
->
connectWidget
(
widget
);
}
void
DebuggerSettingsGroup
::
apply
(
QSettings
*
settings
)
void
SavedActionSet
::
apply
(
QSettings
*
settings
)
{
foreach
(
Debugger
Action
*
action
,
m_list
)
foreach
(
Saved
Action
*
action
,
m_list
)
action
->
apply
(
settings
);
}
void
DebuggerSettingsGroup
::
finish
()
void
SavedActionSet
::
finish
()
{
foreach
(
Debugger
Action
*
action
,
m_list
)
foreach
(
Saved
Action
*
action
,
m_list
)
action
->
disconnectWidget
();
}
...
...
@@ -308,6 +302,9 @@ void DebuggerSettingsGroup::finish()
//
//////////////////////////////////////////////////////////////////////////
namespace
Debugger
{
namespace
Internal
{
DebuggerSettings
::
DebuggerSettings
(
QObject
*
parent
)
:
QObject
(
parent
)
{}
...
...
@@ -317,24 +314,24 @@ DebuggerSettings::~DebuggerSettings()
qDeleteAll
(
m_items
);
}
void
DebuggerSettings
::
insertItem
(
int
code
,
Debugger
Action
*
item
)
void
DebuggerSettings
::
insertItem
(
int
code
,
Saved
Action
*
item
)
{
m_items
[
code
]
=
item
;
}
void
DebuggerSettings
::
readSettings
(
QSettings
*
settings
)
{
foreach
(
Debugger
Action
*
item
,
m_items
)
foreach
(
Saved
Action
*
item
,
m_items
)
item
->
readSettings
(
settings
);
}
void
DebuggerSettings
::
writeSettings
(
QSettings
*
settings
)
{
foreach
(
Debugger
Action
*
item
,
m_items
)
foreach
(
Saved
Action
*
item
,
m_items
)
item
->
writeSettings
(
settings
);
}
Debugger
Action
*
DebuggerSettings
::
item
(
int
code
)
Saved
Action
*
DebuggerSettings
::
item
(
int
code
)
{
QTC_ASSERT
(
m_items
.
value
(
code
,
0
),
return
0
);
return
m_items
.
value
(
code
,
0
);
...
...
@@ -345,7 +342,7 @@ QString DebuggerSettings::dump()
QString
out
;
QTextStream
ts
(
&
out
);
ts
<<
"Debugger settings: "
;
foreach
(
Debugger
Action
*
item
,
m_items
)
foreach
(
Saved
Action
*
item
,
m_items
)
ts
<<
"
\n
"
<<
item
->
value
().
toString
();
return
out
;
}
...
...
@@ -367,16 +364,16 @@ DebuggerSettings *theDebuggerSettings()
instance
=
new
DebuggerSettings
;
Debugger
Action
*
item
=
0
;
Saved
Action
*
item
=
0
;
//
// View
//
item
=
new
Debugger
Action
(
instance
);
item
=
new
Saved
Action
(
instance
);
instance
->
insertItem
(
AdjustColumnWidths
,
item
);
item
->
setText
(
QObject
::
tr
(
"Adjust column widths to contents"
));
item
=
new
Debugger
Action
(
instance
);
item
=
new
Saved
Action
(
instance
);
instance
->
insertItem
(
AlwaysAdjustColumnWidths
,
item
);
item
->
setText
(
QObject
::
tr
(
"Always adjust column widths to contents"
));
item
->
setCheckable
(
true
);
...
...
@@ -384,50 +381,50 @@ DebuggerSettings *theDebuggerSettings()
//
// Locals & Watchers
//
item
=
new
Debugger
Action
(
instance
);
item
=
new
Saved
Action
(
instance
);
instance
->
insertItem
(
WatchExpression
,
item
);
item
->
setTextPattern
(
QObject
::
tr
(
"Watch expression
\"
%1
\"
"
));
item
=
new
Debugger
Action
(
instance
);
item
=
new
Saved
Action
(
instance
);
instance
->
insertItem
(
RemoveWatchExpression
,
item
);
item
->
setTextPattern
(
QObject
::
tr
(
"Remove watch expression
\"
%1
\"
"
));
item
=
new
Debugger
Action
(
instance
);
item
=
new
Saved
Action
(
instance
);
instance
->
insertItem
(
WatchExpressionInWindow
,
item
);
item
->
setTextPattern
(
QObject
::
tr
(
"Watch expression
\"
%1
\"
in separate window"
));
//item->setCheckable(true);
item
=
new
Debugger
Action
(
instance
);
item
=
new
Saved
Action
(
instance
);
instance
->
insertItem
(
AssignValue
,
item
);
item
=
new
Debugger
Action
(
instance
);
item
=
new
Saved
Action
(
instance
);
instance
->
insertItem
(
ExpandItem
,
item
);
item
->
setText
(
QObject
::
tr
(
"Expand item"
));
item
=
new
Debugger
Action
(
instance
);
item
=
new
Saved
Action
(
instance
);
instance
->
insertItem
(
CollapseItem
,
item
);
item
->
setText
(
QObject
::
tr
(
"Collapse item"
));
//
// Dumpers
//
item
=
new
Debugger
Action
(
instance
);
item
=
new
Saved
Action
(
instance
);
instance
->
insertItem
(
SettingsDialog
,
item
);
item
->
setText
(
QObject
::
tr
(
"Debugger properties..."
));
item
=
new
Debugger
Action
(
instance
);
item
=
new
Saved
Action
(
instance
);
instance
->
insertItem
(
DebugDumpers
,
item
);
item
->
setText
(
QObject
::
tr
(
"Debug custom dumpers"
));
item
->
setCheckable
(
true
);
item
=
new
Debugger
Action
(
instance
);
item
=
new
Saved
Action
(
instance
);
item
->
setText
(
QObject
::
tr
(
"Recheck custom dumper availability"
));
instance
->
insertItem
(
RecheckDumpers
,
item
);
//
// Breakpoints
//
item
=
new
Debugger
Action
(
instance
);
item
=
new
Saved
Action
(
instance
);
item
->
setText
(
QObject
::
tr
(
"Syncronize breakpoints"
));
instance
->
insertItem
(
SynchronizeBreakpoints
,
item
);
...
...
@@ -438,7 +435,7 @@ DebuggerSettings *theDebuggerSettings()
QActionGroup
*
registerFormatGroup
=
new
QActionGroup
(
instance
);
registerFormatGroup
->
setExclusive
(
true
);
item
=
new
Debugger
Action
(
instance
);
item
=
new
Saved
Action
(
instance
);
item
->
setText
(
QObject
::
tr
(
"Hexadecimal"
));
item
->
setCheckable
(
true
);
item
->
setSettingsKey
(
"DebugMode"
,
"FormatHexadecimal"
);
...
...
@@ -446,35 +443,35 @@ DebuggerSettings *theDebuggerSettings()
instance
->
insertItem
(
FormatHexadecimal
,
item
);
registerFormatGroup
->
addAction
(
item
);
item
=
new
Debugger
Action
(
instance
);
item
=
new
Saved
Action
(
instance
);
item
->
setText
(
QObject
::
tr
(
"Decimal"
));
item
->
setCheckable
(
true
);
item
->
setSettingsKey
(
"DebugMode"
,
"FormatDecimal"
);
instance
->
insertItem
(
FormatDecimal
,
item
);
registerFormatGroup
->
addAction
(
item
);
item
=
new
Debugger
Action
(
instance
);
item
=
new
Saved
Action
(
instance
);
item
->
setText
(
QObject
::
tr
(
"Octal"
));
item
->
setCheckable
(
true
);
item
->
setSettingsKey
(
"DebugMode"
,
"FormatOctal"
);
instance
->
insertItem
(
FormatOctal
,
item
);
registerFormatGroup
->
addAction
(
item
);
item
=
new
Debugger
Action
(
instance
);
item
=
new
Saved
Action
(
instance
);
item
->
setText
(
QObject
::
tr
(
"Binary"
));
item
->
setCheckable
(
true
);
item
->
setSettingsKey
(
"DebugMode"
,
"FormatBinary"
);
instance
->
insertItem
(
FormatBinary
,
item
);
registerFormatGroup
->
addAction
(
item
);
item
=
new
Debugger
Action
(
instance
);
item
=
new
Saved
Action
(
instance
);
item
->
setText
(
QObject
::
tr
(
"Raw"
));
item
->
setCheckable
(
true
);
item
->
setSettingsKey
(
"DebugMode"
,
"FormatRaw"
);
instance
->
insertItem
(
FormatRaw
,
item
);
registerFormatGroup
->
addAction
(
item
);
item
=
new
Debugger
Action
(
instance
);
item
=
new
Saved
Action
(
instance
);
item
->
setText
(
QObject
::
tr
(
"Natural"
));
item
->
setCheckable
(
true
);
item
->
setSettingsKey
(
"DebugMode"
,
"FormatNatural"
);
...
...
@@ -485,17 +482,17 @@ DebuggerSettings *theDebuggerSettings()
// Misc
//
item
=
new
Debugger
Action
(
instance
);
item
=
new
Saved
Action
(
instance
);
instance
->
insertItem
(
SkipKnownFrames
,
item
);
item
->
setText
(
QObject
::
tr
(
"Skip known frames"
));
item
->
setCheckable
(
true
);
item
=
new
Debugger
Action
(
instance
);
item
=
new
Saved
Action
(
instance
);
instance
->
insertItem
(
UseToolTips
,
item
);
item
->
setText
(
QObject
::
tr
(
"Use tooltips when debugging"
));
item
->
setCheckable
(
true
);
item
=
new
Debugger
Action
(
instance
);
item
=
new
Saved
Action
(
instance
);
instance
->
insertItem
(
ListSourceFiles
,
item
);
item
->
setText
(
QObject
::
tr
(
"List source files"
));
item
->
setCheckable
(
true
);
...
...
@@ -504,91 +501,91 @@ DebuggerSettings *theDebuggerSettings()
//
// Settings
//
item
=
new
Debugger
Action
(
instance
);
item
=
new
Saved
Action
(
instance
);
instance
->
insertItem
(
GdbLocation
,
item
);
item
->
setSettingsKey
(
"DebugMode"
,
"Location"
);
item
=
new
Debugger
Action
(
instance
);
item
=
new
Saved
Action
(
instance
);
instance
->
insertItem
(
GdbEnvironment
,
item
);
item
->
setSettingsKey
(
"DebugMode"
,
"Environment"
);
item
=
new
Debugger
Action
(
instance
);
item
=
new
Saved
Action
(
instance
);
instance
->
insertItem
(
GdbScriptFile
,
item
);
item
->
setSettingsKey
(
"DebugMode"
,
"ScriptFile"
);
item
=
new
Debugger
Action
(
instance
);
item
=
new
Saved
Action
(
instance
);
item
->
setSettingsKey
(
"DebugMode"
,
"AutoQuit"
);
item
->
setText
(
QObject
::
tr
(
"Automatically quit debugger"
));
item
->
setCheckable
(
true
);
instance
->
insertItem
(
AutoQuit
,
item
);
item
=
new
Debugger
Action
(
instance
);
item
=
new
Saved
Action
(
instance
);
instance
->
insertItem
(
UseToolTips
,
item
);
item
->
setSettingsKey
(
"DebugMode"
,
"UseToolTips"
);
item
=
new
Debugger
Action
(
instance
);
item
=
new
Saved
Action
(
instance
);
instance
->
insertItem
(
UseDumpers
,
item
);
item
->
setSettingsKey
(
"DebugMode"
,
"UseCustomDumpers"
);
item
->
setText
(
QObject
::
tr
(
"Use custom dumpers"
));
item
->
setCheckable
(
true
);
item
=
new
Debugger
Action
(
instance
);
item
=
new
Saved
Action
(
instance
);
instance
->
insertItem
(
BuildDumpersOnTheFly
,
item
);
item
->
setDefaultValue
(
true
);
item
->
setSettingsKey
(
"DebugMode"
,
"BuildDumpersOnTheFly"
);
item
->
setCheckable
(
true
);
item
=
new
Debugger
Action
(
instance
);
item
=
new
Saved
Action
(
instance
);
instance
->
insertItem
(
UseQtDumpers
,
item
);
item
->
setSettingsKey
(
"DebugMode"
,
"UseQtDumpers"
);
item
->
setCheckable
(
true
);
item
=
new
Debugger
Action
(
instance
);
item
=
new
Saved
Action
(
instance
);
instance
->
insertItem
(
UsePrebuiltDumpers
,
item
);
item
->
setSettingsKey
(
"DebugMode"
,
"UsePrebuiltDumpers"
);
item
->
setCheckable
(
true
);
item
=
new
Debugger
Action
(
instance
);
item
=
new
Saved
Action
(
instance
);
instance
->
insertItem
(
PrebuiltDumpersLocation
,
item
);
item
->
setSettingsKey
(
"DebugMode"
,
"PrebuiltDumpersLocation"
);
item
=
new
Debugger
Action
(
instance
);
item
=
new
Saved
Action
(
instance
);
instance
->
insertItem
(
TerminalApplication
,
item
);
item
->
setDefaultValue
(
"xterm"
);
item
->
setSettingsKey
(
"DebugMode"
,
"Terminal"
);
item
=
new
Debugger
Action
(
instance
);
item
=
new
Saved
Action
(
instance
);
instance
->
insertItem
(
ListSourceFiles
,
item
);
item
->
setSettingsKey
(
"DebugMode"
,
"ListSourceFiles"
);
item
=
new
Debugger
Action
(
instance
);
item
=
new
Saved
Action
(
instance
);
instance
->
insertItem
(
SkipKnownFrames
,
item
);
item
->
setSettingsKey
(
"DebugMode"
,
"SkipKnownFrames"
);
item
=
new
Debugger
Action
(
instance
);
item
=
new
Saved
Action
(
instance
);
instance
->
insertItem
(
DebugDumpers
,
item
);
item
->
setSettingsKey
(
"DebugMode"
,
"DebugDumpers"
);
item
=
new
Debugger
Action
(
instance
);
item
=
new
Saved
Action
(
instance
);
instance
->
insertItem
(
AllPluginBreakpoints
,
item
);
item
->
setSettingsKey
(
"DebugMode"
,
"AllPluginBreakpoints"
);
item
=
new
Debugger
Action
(
instance
);
item
=
new
Saved
Action
(
instance
);
instance
->
insertItem
(
SelectedPluginBreakpoints
,
item
);
item
->
setSettingsKey
(
"DebugMode"
,
"SelectedPluginBreakpoints"
);
item
=
new
Debugger
Action
(
instance
);
item
=
new
Saved
Action
(
instance
);
instance
->
insertItem
(
NoPluginBreakpoints
,
item
);
item
->
setSettingsKey
(
"DebugMode"
,
"NoPluginBreakpoints"
);
item
=
new
Debugger
Action
(
instance
);
item
=
new
Saved
Action
(
instance
);
instance
->
insertItem
(
SelectedPluginBreakpointsPattern
,
item
);
item
->
setSettingsKey
(
"DebugMode"
,
"SelectedPluginBreakpointsPattern"
);
return
instance
;
}
Debugger
Action
*
theDebuggerAction
(
int
code
)
Saved
Action
*
theDebuggerAction
(
int
code
)
{
return
theDebuggerSettings
()
->
item
(
code
);
}
...
...
src/plugins/debugger/debuggeractions.h
View file @
8ba891bb
...
...
@@ -42,17 +42,17 @@ class QSettings;
QT_END_NAMESPACE
namespace
Debugger
{
namespace
Internal
{
namespace
Core
{
namespace
Utils
{
enum
ApplyMode
{
ImmediateApply
,
DeferedApply
};
class
Debugger
Action
:
public
QAction
class
Saved
Action
:
public
QAction
{
Q_OBJECT
public:
Debugger
Action
(
QObject
*
parent
=
0
);
Saved
Action
(
QObject
*
parent
=
0
);
virtual
QVariant
value
()
const
;
Q_SLOT
virtual
void
setValue
(
const
QVariant
&
value
,
bool
doemit
=
true
);
...
...
@@ -103,20 +103,27 @@ private:
ApplyMode
m_applyMode
;
};
class
DebuggerSettingsGroup
class
SavedActionSet
{
public:
DebuggerSettingsGroup
()
{}
~
DebuggerSettingsGroup
()
{}
SavedActionSet
()
{}
~
SavedActionSet
()
{}
void
insert
(
Debugger
Action
*
action
,
QWidget
*
widget
);
void
insert
(
Saved
Action
*
action
,
QWidget
*
widget
);
void
apply
(
QSettings
*
settings
);
void
finish
();
void
clear
()
{
m_list
.
clear
();
}
private:
QList
<
Debugger
Action
*>
m_list
;
QList
<
Saved
Action
*>
m_list
;
};