Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Open sidebar
VideoLAN
VLMC
Commits
ef64c99e
Commit
ef64c99e
authored
Dec 22, 2009
by
Hugo Beauzee-Luyssen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Implemented autosave backend.
Not functionnal yet, it only calls the method as required in the config.
parent
d3cca047
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
50 additions
and
4 deletions
+50
-4
src/GUI/MainWindow.cpp
src/GUI/MainWindow.cpp
+1
-0
src/GUI/settings/VLMCPreferences.cpp
src/GUI/settings/VLMCPreferences.cpp
+1
-0
src/Project/ProjectManager.cpp
src/Project/ProjectManager.cpp
+43
-4
src/Project/ProjectManager.h
src/Project/ProjectManager.h
+5
-0
No files found.
src/GUI/MainWindow.cpp
View file @
ef64c99e
...
@@ -66,6 +66,7 @@ MainWindow::MainWindow( QWidget *parent ) :
...
@@ -66,6 +66,7 @@ MainWindow::MainWindow( QWidget *parent ) :
qRegisterMetaType
<
MainWorkflow
::
TrackType
>
(
"MainWorkflow::TrackType"
);
qRegisterMetaType
<
MainWorkflow
::
TrackType
>
(
"MainWorkflow::TrackType"
);
qRegisterMetaType
<
MainWorkflow
::
FrameChangedReason
>
(
"MainWorkflow::FrameChangedReason"
);
qRegisterMetaType
<
MainWorkflow
::
FrameChangedReason
>
(
"MainWorkflow::FrameChangedReason"
);
qRegisterMetaType
<
QVariant
>
(
"QVariant"
);
// Settings
// Settings
VLMCSettingsDefault
::
load
(
"default"
);
VLMCSettingsDefault
::
load
(
"default"
);
...
...
src/GUI/settings/VLMCPreferences.cpp
View file @
ef64c99e
...
@@ -78,4 +78,5 @@ void VLMCPreferences::save()
...
@@ -78,4 +78,5 @@ void VLMCPreferences::save()
settMan
->
setValue
(
m_settName
,
"VLMCTracksNb"
,
tracksNb
);
settMan
->
setValue
(
m_settName
,
"VLMCTracksNb"
,
tracksNb
);
settMan
->
setValue
(
m_settName
,
"AutomaticBackup"
,
autoSave
);
settMan
->
setValue
(
m_settName
,
"AutomaticBackup"
,
autoSave
);
settMan
->
setValue
(
m_settName
,
"AutomaticBackupInterval"
,
autoSaveInterval
);
settMan
->
setValue
(
m_settName
,
"AutomaticBackupInterval"
,
autoSaveInterval
);
settMan
->
commit
();
}
}
src/Project/ProjectManager.cpp
View file @
ef64c99e
...
@@ -52,15 +52,27 @@ ProjectManager::ProjectManager() : m_projectFile( NULL ), m_needSave( false )
...
@@ -52,15 +52,27 @@ ProjectManager::ProjectManager() : m_projectFile( NULL ), m_needSave( false )
{
{
QSettings
s
;
QSettings
s
;
m_recentsProjects
=
s
.
value
(
"RecentsProjects"
).
toStringList
();
m_recentsProjects
=
s
.
value
(
"RecentsProjects"
).
toStringList
();
connect
(
this
,
SIGNAL
(
projectClosed
()
),
Library
::
getInstance
(),
SLOT
(
clear
()
)
);
connect
(
this
,
SIGNAL
(
projectClosed
()
),
MainWorkflow
::
getInstance
(),
SLOT
(
clear
()
)
);
const
SettingValue
*
val
=
SettingsManager
::
getInstance
()
->
getValue
(
"project"
,
"ProjectName"
);
connect
(
val
,
SIGNAL
(
changed
(
QVariant
)
),
this
,
SLOT
(
nameChanged
(
QVariant
)
)
);
m_projectName
=
tr
(
"<Unsaved project>"
);
m_projectName
=
tr
(
"<Unsaved project>"
);
signal
(
SIGSEGV
,
ProjectManager
::
signalHandler
);
signal
(
SIGSEGV
,
ProjectManager
::
signalHandler
);
signal
(
SIGFPE
,
ProjectManager
::
signalHandler
);
signal
(
SIGFPE
,
ProjectManager
::
signalHandler
);
signal
(
SIGABRT
,
ProjectManager
::
signalHandler
);
signal
(
SIGABRT
,
ProjectManager
::
signalHandler
);
signal
(
SIGILL
,
ProjectManager
::
signalHandler
);
signal
(
SIGILL
,
ProjectManager
::
signalHandler
);
connect
(
this
,
SIGNAL
(
projectClosed
()
),
Library
::
getInstance
(),
SLOT
(
clear
()
)
);
connect
(
this
,
SIGNAL
(
projectClosed
()
),
MainWorkflow
::
getInstance
(),
SLOT
(
clear
()
)
);
const
SettingValue
*
val
=
SettingsManager
::
getInstance
()
->
getValue
(
"project"
,
"ProjectName"
);
connect
(
val
,
SIGNAL
(
changed
(
QVariant
)
),
this
,
SLOT
(
nameChanged
(
QVariant
)
)
);
//Automatic save part :
m_timer
=
new
QTimer
(
this
);
connect
(
m_timer
,
SIGNAL
(
timeout
()
),
this
,
SLOT
(
autoSaveRequired
()
)
);
const
SettingValue
*
autoSaveEnabled
=
SettingsManager
::
getInstance
()
->
getValue
(
"VLMC"
,
"AutomaticBackup"
);
connect
(
autoSaveEnabled
,
SIGNAL
(
changed
(
QVariant
)
),
this
,
SLOT
(
automaticSaveEnabledChanged
(
QVariant
)
),
Qt
::
QueuedConnection
);
const
SettingValue
*
autoSaveInterval
=
SettingsManager
::
getInstance
()
->
getValue
(
"VLMC"
,
"AutomaticBackupInterval"
);
connect
(
autoSaveInterval
,
SIGNAL
(
changed
(
QVariant
)
),
this
,
SLOT
(
automaticSaveIntervalChanged
(
QVariant
)
),
Qt
::
QueuedConnection
);
automaticSaveEnabledChanged
(
autoSaveEnabled
->
get
()
);
}
}
ProjectManager
::~
ProjectManager
()
ProjectManager
::~
ProjectManager
()
...
@@ -309,3 +321,30 @@ void ProjectManager::appendToRecentProject( const QString& projectFile )
...
@@ -309,3 +321,30 @@ void ProjectManager::appendToRecentProject( const QString& projectFile )
s
.
setValue
(
"RecentsProjects"
,
m_recentsProjects
);
s
.
setValue
(
"RecentsProjects"
,
m_recentsProjects
);
s
.
sync
();
s
.
sync
();
}
}
void
ProjectManager
::
automaticSaveEnabledChanged
(
const
QVariant
&
val
)
{
bool
enabled
=
val
.
toBool
();
if
(
enabled
==
true
)
{
const
SettingValue
*
interval
=
SettingsManager
::
getInstance
()
->
getValue
(
"VLMC"
,
"AutomaticBackupInterval"
);
m_timer
->
start
(
interval
->
get
().
toInt
()
*
1000
/** 60*/
);
}
else
m_timer
->
stop
();
}
void
ProjectManager
::
automaticSaveIntervalChanged
(
const
QVariant
&
val
)
{
const
SettingValue
*
enabled
=
SettingsManager
::
getInstance
()
->
getValue
(
"VLMC"
,
"AutomaticBackup"
);
if
(
enabled
->
get
().
toBool
()
==
false
)
return
;
m_timer
->
start
(
val
.
toInt
()
*
1000
/** 60*/
);
}
void
ProjectManager
::
autoSaveRequired
()
{
qWarning
()
<<
"Autosave required"
;
}
src/Project/ProjectManager.h
View file @
ef64c99e
...
@@ -27,6 +27,7 @@
...
@@ -27,6 +27,7 @@
#include <QObject>
#include <QObject>
#include <QDomDocument>
#include <QDomDocument>
#include <QStringList>
#include <QStringList>
#include <QTimer>
#include "Singleton.hpp"
#include "Singleton.hpp"
...
@@ -72,6 +73,7 @@ private:
...
@@ -72,6 +73,7 @@ private:
QStringList
m_recentsProjects
;
QStringList
m_recentsProjects
;
QString
m_projectName
;
QString
m_projectName
;
QString
m_projectDescription
;
QString
m_projectDescription
;
QTimer
*
m_timer
;
friend
class
Singleton
<
ProjectManager
>
;
friend
class
Singleton
<
ProjectManager
>
;
...
@@ -79,6 +81,9 @@ private slots:
...
@@ -79,6 +81,9 @@ private slots:
void
loadTimeline
();
void
loadTimeline
();
void
cleanChanged
(
bool
val
);
void
cleanChanged
(
bool
val
);
void
nameChanged
(
const
QVariant
&
name
);
void
nameChanged
(
const
QVariant
&
name
);
void
automaticSaveEnabledChanged
(
const
QVariant
&
enabled
);
void
automaticSaveIntervalChanged
(
const
QVariant
&
interval
);
void
autoSaveRequired
();
signals:
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