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
8784196f
Commit
8784196f
authored
Feb 22, 2011
by
hjk
Browse files
debugger: move common option pages into files of their own
parent
87a0475f
Changes
2
Hide whitespace changes
Inline
Side-by-side
src/plugins/debugger/debugger.pro
View file @
8784196f
...
...
@@ -20,6 +20,7 @@ HEADERS += breakhandler.h \
breakpoint
.
h
\
breakpointmarker
.
h
\
breakwindow
.
h
\
commonoptionspage
.
h
\
consolewindow
.
h
\
debugger_global
.
h
\
debuggeractions
.
h
\
...
...
@@ -66,6 +67,7 @@ SOURCES += breakhandler.cpp \
breakpoint
.
cpp
\
breakpointmarker
.
cpp
\
breakwindow
.
cpp
\
commonoptionspage
.
cpp
\
consolewindow
.
cpp
\
debuggeractions
.
cpp
\
debuggerdialogs
.
cpp
\
...
...
src/plugins/debugger/debuggerplugin.cpp
View file @
8784196f
...
...
@@ -65,11 +65,9 @@
#include "snapshothandler.h"
#include "threadshandler.h"
#include "commonoptionspage.h"
#include "gdb/gdboptionspage.h"
#include "ui_commonoptionspage.h"
#include "ui_dumperoptionpage.h"
#include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/actionmanager/actioncontainer.h>
#include <coreplugin/actionmanager/command.h>
...
...
@@ -83,7 +81,6 @@
#include <coreplugin/icore.h>
#include <coreplugin/imode.h>
#include <coreplugin/icorelistener.h>
#include <coreplugin/manhattanstyle.h>
#include <coreplugin/minisplitter.h>
#include <coreplugin/modemanager.h>
...
...
@@ -528,198 +525,6 @@ private:
};
///////////////////////////////////////////////////////////////////////
//
// CommonOptionsPage
//
///////////////////////////////////////////////////////////////////////
class
CommonOptionsPage
:
public
Core
::
IOptionsPage
{
public:
CommonOptionsPage
()
{}
// IOptionsPage
QString
id
()
const
{
return
_
(
DEBUGGER_COMMON_SETTINGS_ID
);
}
QString
displayName
()
const
{
return
QCoreApplication
::
translate
(
"Debugger"
,
DEBUGGER_COMMON_SETTINGS_NAME
);
}
QString
category
()
const
{
return
_
(
DEBUGGER_SETTINGS_CATEGORY
);
}
QString
displayCategory
()
const
{
return
QCoreApplication
::
translate
(
"Debugger"
,
DEBUGGER_SETTINGS_TR_CATEGORY
);
}
QIcon
categoryIcon
()
const
{
return
QIcon
(
QLatin1String
(
DEBUGGER_COMMON_SETTINGS_CATEGORY_ICON
));
}
QWidget
*
createPage
(
QWidget
*
parent
);
void
apply
()
{
m_group
.
apply
(
ICore
::
instance
()
->
settings
());
}
void
finish
()
{
m_group
.
finish
();
}
virtual
bool
matches
(
const
QString
&
s
)
const
;
private:
Ui
::
CommonOptionsPage
m_ui
;
Utils
::
SavedActionSet
m_group
;
QString
m_searchKeywords
;
};
QWidget
*
CommonOptionsPage
::
createPage
(
QWidget
*
parent
)
{
QWidget
*
w
=
new
QWidget
(
parent
);
m_ui
.
setupUi
(
w
);
m_group
.
clear
();
m_group
.
insert
(
debuggerCore
()
->
action
(
ListSourceFiles
),
m_ui
.
checkBoxListSourceFiles
);
m_group
.
insert
(
debuggerCore
()
->
action
(
UseAlternatingRowColors
),
m_ui
.
checkBoxUseAlternatingRowColors
);
m_group
.
insert
(
debuggerCore
()
->
action
(
UseToolTipsInMainEditor
),
m_ui
.
checkBoxUseToolTipsInMainEditor
);
m_group
.
insert
(
debuggerCore
()
->
action
(
CloseBuffersOnExit
),
m_ui
.
checkBoxCloseBuffersOnExit
);
m_group
.
insert
(
debuggerCore
()
->
action
(
SwitchModeOnExit
),
m_ui
.
checkBoxSwitchModeOnExit
);
m_group
.
insert
(
debuggerCore
()
->
action
(
AutoDerefPointers
),
0
);
m_group
.
insert
(
debuggerCore
()
->
action
(
UseToolTipsInLocalsView
),
0
);
m_group
.
insert
(
debuggerCore
()
->
action
(
UseToolTipsInBreakpointsView
),
0
);
m_group
.
insert
(
debuggerCore
()
->
action
(
UseAddressInBreakpointsView
),
0
);
m_group
.
insert
(
debuggerCore
()
->
action
(
UseAddressInStackView
),
0
);
m_group
.
insert
(
debuggerCore
()
->
action
(
MaximalStackDepth
),
m_ui
.
spinBoxMaximalStackDepth
);
m_group
.
insert
(
debuggerCore
()
->
action
(
ShowStdNamespace
),
0
);
m_group
.
insert
(
debuggerCore
()
->
action
(
ShowQtNamespace
),
0
);
m_group
.
insert
(
debuggerCore
()
->
action
(
SortStructMembers
),
0
);
m_group
.
insert
(
debuggerCore
()
->
action
(
LogTimeStamps
),
0
);
m_group
.
insert
(
debuggerCore
()
->
action
(
VerboseLog
),
0
);
m_group
.
insert
(
debuggerCore
()
->
action
(
BreakOnThrow
),
0
);
m_group
.
insert
(
debuggerCore
()
->
action
(
BreakOnCatch
),
0
);
#ifdef Q_OS_WIN
Utils
::
SavedAction
*
registerAction
=
debuggerCore
()
->
action
(
RegisterForPostMortem
);
m_group
.
insert
(
registerAction
,
m_ui
.
checkBoxRegisterForPostMortem
);
connect
(
registerAction
,
SIGNAL
(
toggled
(
bool
)),
m_ui
.
checkBoxRegisterForPostMortem
,
SLOT
(
setChecked
(
bool
)));
#endif
if
(
m_searchKeywords
.
isEmpty
())
{
QLatin1Char
sep
(
' '
);
QTextStream
(
&
m_searchKeywords
)
<<
sep
<<
m_ui
.
checkBoxUseAlternatingRowColors
->
text
()
<<
sep
<<
m_ui
.
checkBoxUseToolTipsInMainEditor
->
text
()
<<
sep
<<
m_ui
.
checkBoxListSourceFiles
->
text
()
#ifdef Q_OS_WIN
<<
sep
<<
m_ui
.
checkBoxRegisterForPostMortem
->
text
()
#endif
<<
sep
<<
m_ui
.
checkBoxCloseBuffersOnExit
->
text
()
<<
sep
<<
m_ui
.
checkBoxSwitchModeOnExit
->
text
()
<<
sep
<<
m_ui
.
labelMaximalStackDepth
->
text
()
;
m_searchKeywords
.
remove
(
QLatin1Char
(
'&'
));
}
#ifndef Q_OS_WIN
m_ui
.
checkBoxRegisterForPostMortem
->
setVisible
(
false
);
#endif
return
w
;
}
bool
CommonOptionsPage
::
matches
(
const
QString
&
s
)
const
{
return
m_searchKeywords
.
contains
(
s
,
Qt
::
CaseInsensitive
);
}
///////////////////////////////////////////////////////////////////////
//
// DebuggingHelperOptionPage
//
///////////////////////////////////////////////////////////////////////
static
bool
oxygenStyle
()
{
const
ManhattanStyle
*
ms
=
qobject_cast
<
const
ManhattanStyle
*>
(
qApp
->
style
());
return
ms
&&
!
qstrcmp
(
"OxygenStyle"
,
ms
->
baseStyle
()
->
metaObject
()
->
className
());
}
class
DebuggingHelperOptionPage
:
public
Core
::
IOptionsPage
{
Q_OBJECT
// Needs tr-context.
public:
DebuggingHelperOptionPage
()
{}
// IOptionsPage
QString
id
()
const
{
return
_
(
"Z.DebuggingHelper"
);
}
QString
displayName
()
const
{
return
tr
(
"Debugging Helper"
);
}
QString
category
()
const
{
return
_
(
DEBUGGER_SETTINGS_CATEGORY
);
}
QString
displayCategory
()
const
{
return
QCoreApplication
::
translate
(
"Debugger"
,
DEBUGGER_SETTINGS_TR_CATEGORY
);
}
QIcon
categoryIcon
()
const
{
return
QIcon
(
QLatin1String
(
DEBUGGER_COMMON_SETTINGS_CATEGORY_ICON
));
}
QWidget
*
createPage
(
QWidget
*
parent
);
void
apply
()
{
m_group
.
apply
(
ICore
::
instance
()
->
settings
());
}
void
finish
()
{
m_group
.
finish
();
}
virtual
bool
matches
(
const
QString
&
s
)
const
;
private:
Ui
::
DebuggingHelperOptionPage
m_ui
;
Utils
::
SavedActionSet
m_group
;
QString
m_searchKeywords
;
};
QWidget
*
DebuggingHelperOptionPage
::
createPage
(
QWidget
*
parent
)
{
QWidget
*
w
=
new
QWidget
(
parent
);
m_ui
.
setupUi
(
w
);
m_ui
.
dumperLocationChooser
->
setExpectedKind
(
Utils
::
PathChooser
::
Command
);
m_ui
.
dumperLocationChooser
->
setPromptDialogTitle
(
tr
(
"Choose DebuggingHelper Location"
));
m_ui
.
dumperLocationChooser
->
setInitialBrowsePathBackup
(
ICore
::
instance
()
->
resourcePath
()
+
"../../lib"
);
m_group
.
clear
();
m_group
.
insert
(
debuggerCore
()
->
action
(
UseDebuggingHelpers
),
m_ui
.
debuggingHelperGroupBox
);
m_group
.
insert
(
debuggerCore
()
->
action
(
UseCustomDebuggingHelperLocation
),
m_ui
.
customLocationGroupBox
);
// Suppress Oxygen style's giving flat group boxes bold titles.
if
(
oxygenStyle
())
m_ui
.
customLocationGroupBox
->
setStyleSheet
(
_
(
"QGroupBox::title { font: ; }"
));
m_group
.
insert
(
debuggerCore
()
->
action
(
CustomDebuggingHelperLocation
),
m_ui
.
dumperLocationChooser
);
m_group
.
insert
(
debuggerCore
()
->
action
(
UseCodeModel
),
m_ui
.
checkBoxUseCodeModel
);
m_group
.
insert
(
debuggerCore
()
->
action
(
ShowThreadNames
),
m_ui
.
checkBoxShowThreadNames
);
#ifndef QT_DEBUG
#if 0
cmd = am->registerAction(m_dumpLogAction,
DUMP_LOG, globalcontext);
//cmd->setDefaultKeySequence(QKeySequence(tr("Ctrl+D,Ctrl+L")));
cmd->setDefaultKeySequence(QKeySequence(tr("Ctrl+Shift+F11")));
mdebug->addAction(cmd);
#endif
#endif
if
(
m_searchKeywords
.
isEmpty
())
{
QTextStream
(
&
m_searchKeywords
)
<<
' '
<<
m_ui
.
debuggingHelperGroupBox
->
title
()
<<
' '
<<
m_ui
.
customLocationGroupBox
->
title
()
<<
' '
<<
m_ui
.
dumperLocationLabel
->
text
()
<<
' '
<<
m_ui
.
checkBoxUseCodeModel
->
text
()
<<
' '
<<
m_ui
.
checkBoxShowThreadNames
->
text
();
m_searchKeywords
.
remove
(
QLatin1Char
(
'&'
));
}
return
w
;
}
bool
DebuggingHelperOptionPage
::
matches
(
const
QString
&
s
)
const
{
return
m_searchKeywords
.
contains
(
s
,
Qt
::
CaseInsensitive
);
}
///////////////////////////////////////////////////////////////////////
//
// Misc
...
...
Write
Preview
Markdown
is supported
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