Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Open sidebar
luyikei
VLMC
Commits
d989f231
Commit
d989f231
authored
Dec 10, 2009
by
Hugo Beauzee-Luyssen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Adding a closeProject method
parent
d4c7b116
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
51 additions
and
6 deletions
+51
-6
src/GUI/UndoStack.cpp
src/GUI/UndoStack.cpp
+6
-0
src/GUI/UndoStack.h
src/GUI/UndoStack.h
+3
-0
src/Library/Library.cpp
src/Library/Library.cpp
+22
-1
src/Library/Library.h
src/Library/Library.h
+4
-1
src/Project/ProjectManager.cpp
src/Project/ProjectManager.cpp
+13
-2
src/Project/ProjectManager.h
src/Project/ProjectManager.h
+2
-0
src/Workflow/MainWorkflow.h
src/Workflow/MainWorkflow.h
+1
-2
No files found.
src/GUI/UndoStack.cpp
View file @
d989f231
...
...
@@ -42,9 +42,15 @@ UndoStack::UndoStack( QWidget* parent ) : QUndoView( parent )
connect
(
m_undoShortcut
,
SIGNAL
(
activated
()
),
m_undoStack
,
SLOT
(
undo
()
)
);
connect
(
m_redoShortcut
,
SIGNAL
(
activated
()
),
m_undoStack
,
SLOT
(
redo
()
)
);
connect
(
ProjectManager
::
getInstance
(),
SIGNAL
(
projectClosed
()
),
this
,
SLOT
(
clear
()
)
);
}
void
UndoStack
::
push
(
QUndoCommand
*
command
)
{
m_undoStack
->
push
(
command
);
}
void
UndoStack
::
clear
()
{
m_undoStack
->
setIndex
(
0
);
}
src/GUI/UndoStack.h
View file @
d989f231
...
...
@@ -45,6 +45,9 @@ class UndoStack : public QUndoView, public QSingleton<UndoStack>
KeyboardShortcutHelper
*
m_undoShortcut
;
KeyboardShortcutHelper
*
m_redoShortcut
;
public
slots
:
void
clear
();
signals:
void
cleanChanged
(
bool
val
);
...
...
src/Library/Library.cpp
View file @
d989f231
...
...
@@ -63,7 +63,6 @@ void Library::metaDataComputed( Media* media )
emit
newMediaLoaded
(
media
);
Clip
*
clip
=
new
Clip
(
media
);
m_clips
[
media
->
getUuid
()]
=
clip
;
emit
newClipLoaded
(
clip
);
}
void
Library
::
newMediaLoadingAsked
(
const
QString
&
filePath
,
const
QString
&
uuid
)
...
...
@@ -202,3 +201,25 @@ void Library::saveProject( QDomDocument& doc, QDomElement& rootNode )
}
rootNode
.
appendChild
(
medias
);
}
void
Library
::
clear
()
{
QHash
<
QUuid
,
Media
*>::
iterator
it
=
m_medias
.
begin
();
QHash
<
QUuid
,
Media
*>::
iterator
end
=
m_medias
.
end
();
while
(
it
!=
end
)
{
emit
mediaRemoved
(
it
.
key
()
);
delete
it
.
value
();
++
it
;
}
m_medias
.
clear
();
QHash
<
QUuid
,
Clip
*>::
iterator
it2
=
m_clips
.
begin
();
QHash
<
QUuid
,
Clip
*>::
iterator
end2
=
m_clips
.
end
();
while
(
it2
!=
end2
)
{
delete
it2
.
value
();
++
it2
;
}
m_clips
.
clear
();
}
src/Library/Library.h
View file @
d989f231
...
...
@@ -82,12 +82,15 @@ public slots:
void
loadProject
(
const
QDomElement
&
project
);
void
saveProject
(
QDomDocument
&
doc
,
QDomElement
&
rootNode
);
/**
* \brief Clear the library (remove all the loaded media and delete them)
*/
void
clear
();
private
slots
:
void
metaDataComputed
(
Media
*
);
signals:
void
newClipLoaded
(
Clip
*
);
void
metadataRequired
(
Media
*
);
void
newMediaLoaded
(
Media
*
);
void
mediaRemoved
(
const
QUuid
&
);
...
...
src/Project/ProjectManager.cpp
View file @
d989f231
...
...
@@ -33,6 +33,8 @@ ProjectManager::ProjectManager() : m_projectFile( NULL ), m_needSave( false )
{
QSettings
s
;
m_recentsProjects
=
s
.
value
(
"RecentsProjects"
).
toStringList
();
connect
(
this
,
SIGNAL
(
projectClosed
()
),
Library
::
getInstance
(),
SLOT
(
clear
()
)
);
connect
(
this
,
SIGNAL
(
projectClosed
()
),
MainWorkflow
::
getInstance
(),
SLOT
(
clear
()
)
);
}
ProjectManager
::~
ProjectManager
()
...
...
@@ -90,9 +92,8 @@ void ProjectManager::loadProject( const QString& fileName )
QSettings
s
;
s
.
setValue
(
"RecentsProjects"
,
m_recentsProjects
);
closeProject
();
if
(
!
m_projectFile
)
delete
m_projectFile
;
m_projectFile
=
new
QFile
(
fileName
);
m_domDocument
=
new
QDomDocument
;
...
...
@@ -163,3 +164,13 @@ void ProjectManager::saveProject( bool saveAs /*= true*/ )
}
emit
projectSaved
();
}
void
ProjectManager
::
closeProject
()
{
if
(
m_projectFile
!=
NULL
)
{
delete
m_projectFile
;
m_projectFile
=
NULL
;
}
emit
projectClosed
();
}
src/Project/ProjectManager.h
View file @
d989f231
...
...
@@ -40,6 +40,7 @@ public:
void
saveProject
(
bool
saveAs
=
true
);
bool
needSave
()
const
;
QStringList
recentsProjects
()
const
;
void
closeProject
();
private:
ProjectManager
();
...
...
@@ -62,6 +63,7 @@ private slots:
signals:
void
projectChanged
(
const
QString
&
projectName
,
bool
savedState
);
void
projectSaved
();
void
projectClosed
();
};
#endif // PROJECTMANAGER_H
src/Workflow/MainWorkflow.h
View file @
d989f231
...
...
@@ -123,8 +123,6 @@ class MainWorkflow : public QObject, public Singleton<MainWorkflow>
*/
Clip
*
getClip
(
const
QUuid
&
uuid
,
unsigned
int
trackId
,
MainWorkflow
::
TrackType
trackType
);
void
clear
();
void
setFullSpeedRender
(
bool
value
);
int
getTrackCount
(
MainWorkflow
::
TrackType
trackType
)
const
;
...
...
@@ -168,6 +166,7 @@ class MainWorkflow : public QObject, public Singleton<MainWorkflow>
public
slots
:
void
loadProject
(
const
QDomElement
&
project
);
void
saveProject
(
QDomDocument
&
doc
,
QDomElement
&
rootNode
);
void
clear
();
signals:
/**
...
...
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