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
Tobias Hunger
qt-creator
Commits
fc31b812
Commit
fc31b812
authored
Jan 11, 2011
by
Christian Kandeler
Browse files
Maemo: Optionally remove packaging data on target removal.
Task-number: QTCREATORBUG-2996
parent
e79f6031
Changes
3
Hide whitespace changes
Inline
Side-by-side
src/plugins/qt4projectmanager/qt-maemo/maemoglobal.cpp
View file @
fc31b812
...
...
@@ -149,6 +149,7 @@ MaemoGlobal::MaemoVersion MaemoGlobal::version(const QtVersion *qtVersion)
bool
MaemoGlobal
::
removeRecursively
(
const
QString
&
filePath
,
QString
&
error
)
{
error
.
clear
();
QFileInfo
fileInfo
(
filePath
);
if
(
!
fileInfo
.
exists
())
return
true
;
...
...
src/plugins/qt4projectmanager/qt-maemo/maemotemplatesmanager.cpp
View file @
fc31b812
...
...
@@ -104,6 +104,8 @@ void MaemoTemplatesManager::handleActiveProjectChanged(ProjectExplorer::Project
this
,
SLOT
(
handleTarget
(
ProjectExplorer
::
Target
*
)));
connect
(
project
,
SIGNAL
(
activeTargetChanged
(
ProjectExplorer
::
Target
*
)),
this
,
SLOT
(
handleTarget
(
ProjectExplorer
::
Target
*
)));
connect
(
project
,
SIGNAL
(
removedTarget
(
ProjectExplorer
::
Target
*
)),
SLOT
(
handleTargetRemoved
(
ProjectExplorer
::
Target
*
)));
const
QList
<
Target
*>
&
targets
=
project
->
targets
();
foreach
(
Target
*
const
target
,
targets
)
handleTarget
(
target
);
...
...
@@ -143,6 +145,32 @@ bool MaemoTemplatesManager::handleTarget(ProjectExplorer::Target *target)
return
true
;
}
void
MaemoTemplatesManager
::
handleTargetRemoved
(
ProjectExplorer
::
Target
*
target
)
{
if
(
target
->
id
()
!=
QLatin1String
(
Constants
::
MAEMO_DEVICE_TARGET_ID
))
return
;
const
QString
debianPath
=
debianDirPath
(
target
->
project
());
if
(
!
QFileInfo
(
debianPath
).
exists
())
return
;
const
int
answer
=
QMessageBox
::
warning
(
0
,
tr
(
"Qt Creator"
),
tr
(
"Do you want to remove the packaging directory
\n
"
"associated with the target?"
),
QMessageBox
::
Yes
|
QMessageBox
::
No
,
QMessageBox
::
No
);
if
(
answer
==
QMessageBox
::
No
)
return
;
QString
error
;
if
(
!
MaemoGlobal
::
removeRecursively
(
debianPath
,
error
))
qDebug
(
"%s"
,
qPrintable
(
error
));
const
QString
packagingPath
=
target
->
project
()
->
projectDirectory
()
+
QLatin1Char
(
'/'
)
+
PackagingDirName
;
const
QStringList
otherContents
=
QDir
(
packagingPath
).
entryList
(
QDir
::
Dirs
|
QDir
::
Files
|
QDir
::
Hidden
|
QDir
::
NoDotAndDotDot
);
if
(
otherContents
.
isEmpty
())
{
if
(
!
MaemoGlobal
::
removeRecursively
(
packagingPath
,
error
))
qDebug
(
"%s"
,
qPrintable
(
error
));
}
}
bool
MaemoTemplatesManager
::
createDebianTemplatesIfNecessary
(
const
ProjectExplorer
::
Target
*
target
)
{
Project
*
const
project
=
target
->
project
();
...
...
src/plugins/qt4projectmanager/qt-maemo/maemotemplatesmanager.h
View file @
fc31b812
...
...
@@ -95,6 +95,7 @@ private slots:
void
handleDebianFileChanged
(
const
QString
&
filePath
);
void
handleProjectToBeRemoved
(
ProjectExplorer
::
Project
*
project
);
void
handleProFileUpdated
();
void
handleTargetRemoved
(
ProjectExplorer
::
Target
*
target
);
private:
explicit
MaemoTemplatesManager
(
QObject
*
parent
);
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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