Hey guys,<br><br>few days ago I wrote that I want to implement a new feature in okular: displaying the search results overview<br>using table of contents.<br><br>Now I'm playing with code and I want to make a copy of the ui/toc.cpp class and the classes it uses:<br>

tocmodel.cpp<br><br>What I did is:<br>I copied the ui/toc.(h|cpp) and ui/tocmodel.(h|cpp) files so I have tocsearch.h, tocsearch.cpp, tocsearchmodel.h,<br>tocsearchmodel.cpp. <br><br>I also changed the classes names and references so they have 'Search' in their names, e.g.:<br>

TOCSearchItem, TOCSearchModelPrivate<br><br>In the CMakeLists.txt I added<br>   ui/tocsearch.cpp<br>   ui/tocsearchmodel.cpp<br>where toc.cpp is.<br><br>I also added necessary #include directives in the files where I want to use new classes.<br>

<br>I created the tocsearch.moc and tocsearchmodel.moc files from toc.moc and tocmodel.moc files.<br><br>These errors I get while running `make`:<br><br>CMakeFiles/okularpart.dir/ui/tocsearchmodel.o:/media/d/workspaces/kde/okular/tocmodel.moc:75: first defined here<br>

CMakeFiles/okularpart.dir/ui/tocmodel.o: In function `TOCModel::metaObject() const':<br>/media/d/workspaces/kde/okular/tocmodel.moc:70: multiple definition of `TOCModel::metaObject() const'<br>CMakeFiles/okularpart.dir/ui/tocsearchmodel.o:/media/d/workspaces/kde/okular/tocmodel.moc:70: first defined here<br>

CMakeFiles/okularpart.dir/ui/tocmodel.o:(.<a href="http://data.rel.ro">data.rel.ro</a>+0x0): multiple definition of `TOCModel::staticMetaObject'<br>CMakeFiles/okularpart.dir/ui/tocsearchmodel.o:(.<a href="http://data.rel.ro">data.rel.ro</a>+0x0): first defined here<br>

CMakeFiles/okularpart.dir/ui/tocmodel.o: In function `TOCModel::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)':<br>/media/d/workspaces/kde/okular/tocmodel.moc:44: multiple definition of `TOCModel::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)'<br>

CMakeFiles/okularpart.dir/ui/tocsearchmodel.o:/media/d/workspaces/kde/okular/tocmodel.moc:44: first defined here<br>CMakeFiles/okularpart.dir/ui/tocmodel.o: In function `TOCModel::qt_metacall(QMetaObject::Call, int, void**)':<br>

/media/d/workspaces/kde/okular/tocmodel.moc:83: multiple definition of `TOCModel::qt_metacall(QMetaObject::Call, int, void**)'<br>CMakeFiles/okularpart.dir/ui/tocsearchmodel.o:/media/d/workspaces/kde/okular/tocmodel.moc:83: first defined here<br>

CMakeFiles/okularpart.dir/ui/tocmodel.o:(.<a href="http://data.rel.ro">data.rel.ro</a>+0x10): multiple definition of `TOCModel::staticMetaObjectExtraData'<br>CMakeFiles/okularpart.dir/ui/tocsearchmodel.o:(.<a href="http://data.rel.ro">data.rel.ro</a>+0x10): first defined here<br>

CMakeFiles/okularpart.dir/ui/tocsearchmodel.o: In function `TOCSearchModel::TOCSearchModel(Okular::Document*, QObject*)':<br>tocsearchmodel.cpp:(.text+0x10f8): undefined reference to `vtable for TOCSearchModel'<br>

CMakeFiles/okularpart.dir/ui/tocsearchmodel.o: In function `TOCSearchModel::~TOCSearchModel()':<br>tocsearchmodel.cpp:(.text+0x120c): undefined reference to `vtable for TOCSearchModel'<br>collect2: error: ld returned 1 exit status<br>

<br>Some help?<br>-<br>Jakub<br>