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
Marco Bubke
flatpak-qt-creator
Commits
a09ffde2
Commit
a09ffde2
authored
Jun 16, 2010
by
Thorbjørn Lindeijer
Browse files
Set a parent for the New and Rename Session dialogs
Fixes window manager glitches at least on GNOME. Reviewed-by: dt
parent
16989185
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/plugins/projectexplorer/sessiondialog.cpp
View file @
a09ffde2
...
...
@@ -74,23 +74,27 @@ void SessionValidator::fixup(QString &input) const
input
=
copy
;
}
class
SessionNameInputDialog
:
public
QDialog
{
Q_OBJECT
public:
SessionNameInputDialog
(
const
QStringList
&
sessions
,
const
QString
&
initialValue
=
QString
());
SessionNameInputDialog
(
const
QStringList
&
sessions
,
QWidget
*
parent
=
0
);
void
setValue
(
const
QString
&
value
);
QString
value
()
const
;
private:
QLineEdit
*
m_newSessionLineEdit
;
};
SessionNameInputDialog
::
SessionNameInputDialog
(
const
QStringList
&
sessions
,
const
QString
&
initialValue
)
SessionNameInputDialog
::
SessionNameInputDialog
(
const
QStringList
&
sessions
,
QWidget
*
parent
)
:
QDialog
(
parent
)
{
QVBoxLayout
*
hlayout
=
new
QVBoxLayout
(
this
);
QLabel
*
label
=
new
QLabel
(
tr
(
"Enter the name of the session:"
),
this
);
hlayout
->
addWidget
(
label
);
m_newSessionLineEdit
=
new
QLineEdit
(
this
);
m_newSessionLineEdit
->
setText
(
initialValue
);
m_newSessionLineEdit
->
setValidator
(
new
SessionValidator
(
this
,
sessions
));
hlayout
->
addWidget
(
m_newSessionLineEdit
);
QDialogButtonBox
*
buttons
=
new
QDialogButtonBox
(
QDialogButtonBox
::
Ok
|
QDialogButtonBox
::
Cancel
,
Qt
::
Horizontal
,
this
);
...
...
@@ -100,11 +104,17 @@ SessionNameInputDialog::SessionNameInputDialog(const QStringList& sessions, cons
setLayout
(
hlayout
);
}
void
SessionNameInputDialog
::
setValue
(
const
QString
&
value
)
{
m_newSessionLineEdit
->
setText
(
value
);
}
QString
SessionNameInputDialog
::
value
()
const
{
return
m_newSessionLineEdit
->
text
();
}
SessionDialog
::
SessionDialog
(
SessionManager
*
sessionManager
)
:
m_sessionManager
(
sessionManager
)
{
...
...
@@ -174,7 +184,7 @@ void SessionDialog::updateActions()
void
SessionDialog
::
createNew
()
{
SessionNameInputDialog
newSessionInputDialog
(
m_sessionManager
->
sessions
());
SessionNameInputDialog
newSessionInputDialog
(
m_sessionManager
->
sessions
()
,
this
);
newSessionInputDialog
.
setWindowTitle
(
tr
(
"New session name"
));
if
(
newSessionInputDialog
.
exec
()
==
QDialog
::
Accepted
)
{
...
...
@@ -192,8 +202,10 @@ void SessionDialog::createNew()
void
SessionDialog
::
clone
()
{
SessionNameInputDialog
newSessionInputDialog
(
m_sessionManager
->
sessions
(),
m_ui
.
sessionList
->
currentItem
()
->
text
());
SessionNameInputDialog
newSessionInputDialog
(
m_sessionManager
->
sessions
(),
this
);
newSessionInputDialog
.
setValue
(
m_ui
.
sessionList
->
currentItem
()
->
text
());
newSessionInputDialog
.
setWindowTitle
(
tr
(
"New session name"
));
if
(
newSessionInputDialog
.
exec
()
==
QDialog
::
Accepted
)
{
QString
newSession
=
newSessionInputDialog
.
value
();
if
(
m_sessionManager
->
cloneSession
(
m_ui
.
sessionList
->
currentItem
()
->
text
(),
newSession
))
{
...
...
@@ -213,11 +225,12 @@ void SessionDialog::remove()
markItems
();
}
void
SessionDialog
::
rename
()
{
SessionNameInputDialog
newSessionInputDialog
(
m_sessionManager
->
sessions
(),
m_ui
.
sessionList
->
currentItem
()
->
text
());
SessionNameInputDialog
newSessionInputDialog
(
m_sessionManager
->
sessions
(),
this
);
newSessionInputDialog
.
setValue
(
m_ui
.
sessionList
->
currentItem
()
->
text
());
newSessionInputDialog
.
setWindowTitle
(
tr
(
"Rename session"
));
if
(
newSessionInputDialog
.
exec
()
==
QDialog
::
Accepted
)
{
m_sessionManager
->
renameSession
(
m_ui
.
sessionList
->
currentItem
()
->
text
(),
newSessionInputDialog
.
value
());
m_ui
.
sessionList
->
clear
();
...
...
@@ -226,7 +239,6 @@ void SessionDialog::rename()
}
}
void
SessionDialog
::
switchToSession
()
{
if
(
m_ui
.
sessionList
->
currentItem
())
{
...
...
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