diff --git a/app/src/mainwindow2.cpp b/app/src/mainwindow2.cpp
index 14a30edb34..8013771718 100644
--- a/app/src/mainwindow2.cpp
+++ b/app/src/mainwindow2.cpp
@@ -1003,7 +1003,15 @@ void MainWindow2::newObject()
{
auto object = new Object();
object->init();
- object->createDefaultLayers();
+
+ // default layers
+ object->addNewCameraLayer();
+ object->addNewBitmapLayer();
+ // Layers are counted bottom up
+ // 0 - Camera Layer
+ // 1 - Bitmap Layer
+ object->data()->setCurrentLayer(1);
+
mEditor->setObject(object);
closeDialogs();
diff --git a/app/ui/filespage.ui b/app/ui/filespage.ui
index 7a8e3146eb..37ac3af32e 100644
--- a/app/ui/filespage.ui
+++ b/app/ui/filespage.ui
@@ -6,8 +6,8 @@
0
0
- 316
- 422
+ 390
+ 611
@@ -63,6 +63,9 @@
true
+
+ startupGroup
+
-
@@ -73,6 +76,9 @@
false
+
+ startupGroup
+
-
@@ -80,6 +86,9 @@
Load last active file
+
+ startupGroup
+
@@ -110,7 +119,7 @@
50
- 0
+ 34
@@ -150,4 +159,7 @@
+
+
+
diff --git a/core_lib/src/structure/object.cpp b/core_lib/src/structure/object.cpp
index e7691667d7..6dacc80407 100644
--- a/core_lib/src/structure/object.cpp
+++ b/core_lib/src/structure/object.cpp
@@ -208,14 +208,6 @@ void Object::setWorkingDir(const QString& path)
mWorkingDirPath = path;
}
-void Object::createDefaultLayers()
-{
- // default layers
- addNewCameraLayer();
- addNewVectorLayer();
- addNewBitmapLayer();
-}
-
int Object::getMaxLayerID()
{
int maxId = 0;
diff --git a/core_lib/src/structure/object.h b/core_lib/src/structure/object.h
index a338afa166..bfe1c63041 100644
--- a/core_lib/src/structure/object.h
+++ b/core_lib/src/structure/object.h
@@ -54,7 +54,6 @@ class Object final
void createWorkingDir();
void deleteWorkingDir() const;
void setWorkingDir(const QString& path); // used by crash recovery
- void createDefaultLayers();
QString filePath() const { return mFilePath; }
void setFilePath(const QString& strFileName) { mFilePath = strFileName; }
diff --git a/core_lib/src/structure/objectdata.h b/core_lib/src/structure/objectdata.h
index c321ad585c..6d9694bcb0 100644
--- a/core_lib/src/structure/objectdata.h
+++ b/core_lib/src/structure/objectdata.h
@@ -59,10 +59,7 @@ class ObjectData
private:
int mCurrentFrame = 1;
QColor mCurrentColor{ 0, 0, 0, 255 };
- int mCurrentLayer = 2; // Layers are counted bottom up
- // 0 - Camera Layer
- // 1 - Vector Layer
- // 2 - Bitmap Layer
+ int mCurrentLayer = 0;
// view manager
QTransform mCurrentView;
diff --git a/tests/src/test_colormanager.cpp b/tests/src/test_colormanager.cpp
index cf03f1047b..0fdc824569 100644
--- a/tests/src/test_colormanager.cpp
+++ b/tests/src/test_colormanager.cpp
@@ -52,7 +52,10 @@ TEST_CASE("ColorManager set color tests")
layerMgr->init();
layerObj->init();
- layerObj->createDefaultLayers(); // 0 = camera, 1 = vector, 2 = bitmap
+ // 0 = camera, 1 = vector, 2 = bitmap
+ layerObj->addNewCameraLayer();
+ layerObj->addNewVectorLayer();
+ layerObj->addNewBitmapLayer();
SECTION("setColor non vector layer")
diff --git a/tests/src/test_filemanager.cpp b/tests/src/test_filemanager.cpp
index 85c410caf7..36b57875af 100644
--- a/tests/src/test_filemanager.cpp
+++ b/tests/src/test_filemanager.cpp
@@ -309,7 +309,9 @@ TEST_CASE("FileManager File-saving")
// 1. create a animation with one red frame & save it
Object* o1 = new Object;
o1->init();
- o1->createDefaultLayers();
+ o1->addNewCameraLayer();
+ o1->addNewVectorLayer();
+ o1->addNewBitmapLayer();
LayerBitmap* layer = dynamic_cast(o1->getLayer(2));
REQUIRE(layer->addNewKeyFrameAt(2));
@@ -350,7 +352,9 @@ TEST_CASE("FileManager File-saving")
// 1. Create a animation with 150 frames & save it
Object* o1 = new Object;
o1->init();
- o1->createDefaultLayers();
+ o1->addNewCameraLayer();
+ o1->addNewVectorLayer();
+ o1->addNewBitmapLayer();
LayerBitmap* layer = dynamic_cast(o1->getLayer(2));
for (int i = 100; i < 150; ++i)
diff --git a/tests/src/test_layermanager.cpp b/tests/src/test_layermanager.cpp
index 70a3058ae7..9cd717d9b2 100644
--- a/tests/src/test_layermanager.cpp
+++ b/tests/src/test_layermanager.cpp
@@ -32,10 +32,12 @@ TEST_CASE("LayerManager::init()")
LayerManager* layerMgr = new LayerManager(editor);
layerMgr->init();
- object->init();
- object->createDefaultLayers(); // create default 3 layers
+ object->init();
+ object->addNewCameraLayer();
+ object->addNewVectorLayer();
+ object->addNewBitmapLayer();
REQUIRE(layerMgr->count() == 3);
- REQUIRE(layerMgr->currentLayerIndex() == 2);
+ REQUIRE(layerMgr->currentLayerIndex() == 0);
REQUIRE(layerMgr->getLayer(0)->type() == Layer::CAMERA);
REQUIRE(layerMgr->getLayer(1)->type() == Layer::VECTOR);
REQUIRE(layerMgr->getLayer(2)->type() == Layer::BITMAP);