<div dir="ltr"><div>Hi Mario,</div><div><br></div><div>I was now able to create also the unittests for the new feature. Now you can have a look into. Currently I don't like the layout of the widgets, so if anybody has a better idea how to structure/grouping, just let me know. In the MR also a feẃ screenshots are available, so no new recompilation is needed just for this<br></div><div><a href="https://invent.kde.org/graphics/digikam/-/merge_requests/202">https://invent.kde.org/graphics/digikam/-/merge_requests/202</a></div><div><br></div><div>Best regards,</div><div>Martin<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Am Di., 21. März 2023 um 10:19 Uhr schrieb Martin Marmsoler <<a href="mailto:martin.marmsoler@gmail.com">martin.marmsoler@gmail.com</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto">Hi Mario,<div dir="auto"><br></div><div dir="auto">Thanks for the feedback! Currently I don't like my approach of the layout. I can checkout your approach to make it a little bit cleaner.</div><div dir="auto">After I got the unittests running I can take also your idea into consideration to make it even more feature rich.</div><div dir="auto"><br></div><div dir="auto">At the end we can further discuss it to improve the duplication search. I prefer to go with my codebase because there I know everything haha. </div><div dir="auto"><br></div><div dir="auto">If you have any recomendations we can also discuss them directly in the MR it self.</div><div dir="auto"><br></div><div dir="auto">Best regards,</div><div dir="auto">Martin</div><br><br><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">Mario Frank <<a href="mailto:mafrank@uni-potsdam.de" target="_blank">mafrank@uni-potsdam.de</a>> schrieb am Di., 21. März 2023, 10:01:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  
    
  
  <div>
    Darn,<br>
    <br>
    my filters sorted away those mails and I forgot about that topic -
    sorry for that.<br>
    Your Merge Request looks interesting. I had a more or less similar<br>
    solution.<br>
    <br>
    My approach was that I wanted to be able to search between
    potentially distinct<br>
    album sets. So I wanted to be able to select one directory tree as
    the<br>
    tree in which the reference image lies and another tree where I
    assume<br>
    duplicates. The aim was also to select images with specific tags as
    reference<br>
    images and search for duplicates in specific albums. So I made it
    quite generic.<br>
    Normally, source albums and target albums are identical. Only when
    the enhanced<br>
    search is activated, the source albums can be specified (screenshots
    appended).<br>
    <br>
    Due to lack of time, the code is sleeping now on my local machine
    for quite<br>
    some time. I don't even know how long. It is currently in sync with
    7.10.<br>
    Getting it in sync with 8.0.0 should be not too time consuming.<br>
    But your approach could be a good/more elegant solution.<br>
    <br>
    Best,<br>
    Mario<br>
    <br>
    <br>
    <div>Am 20.03.23 um 18:13 schrieb Martin
      Marmsoler:<br>
    </div>
    <blockquote type="cite">
      
      <div dir="ltr">
        <div>Hi all,</div>
        <div><br>
        </div>
        <div>I am currently working on the duplicate algorithm</div>
        <div><a href="https://invent.kde.org/graphics/digikam/-/merge_requests/202" rel="noreferrer" target="_blank">https://invent.kde.org/graphics/digikam/-/merge_requests/202</a></div>
        <div><br>
        </div>
        <div>The code is finished and I am trying to write a few
          unittests.</div>
        <div>I added a test to database/CMakeLists.txt as follow:</div>
        <div><br>
        </div>
        <div>ecm_add_tests(${CMAKE_CURRENT_SOURCE_DIR}/haariface_utest.cpp<br>
          <br>
                        NAME_PREFIX<br>
          <br>
                        "digikam-"<br>
          <br>
                        LINK_LIBRARIES<br>
          <br>
                        digikamcore<br>
                        digikamdatabase<br>
                        digikamgui<br>
          <br>
                        ${COMMON_TEST_LINK}<br>
          )</div>
        <div><br>
        </div>
        <div>But now I get a linker error:</div>
        <div>digikam/core/tests/database/haariface_utest.cpp:99: Fehler:
          undefined reference to
          `Digikam::AlbumSelectors::AlbumSelectors(QString const&,
          QString const&, QWidget*,
          Digikam::AlbumSelectors::AlbumType)'</div>
        <div><br>
        </div>
        <div>AlbumSelectors is in the library "gui_digikamalbum_obj"
          which gets linked to digikamgui.</div>
        <div><br>
        </div>
        <div>Is there anybody with a hint what is missing?</div>
        <div><br>
        </div>
        <div>BR,</div>
        <div>Martin<br>
        </div>
        <div><br>
        </div>
      </div>
      <br>
      <div class="gmail_quote">
        <div dir="ltr" class="gmail_attr">Am Fr., 20. Jan. 2023 um
          12:28 Uhr schrieb Martin Marmsoler <<a href="mailto:martin.marmsoler@gmail.com" rel="noreferrer" target="_blank">martin.marmsoler@gmail.com</a>>:<br>
        </div>
        <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
          <div dir="auto">
            <div>Hi all,
              <div dir="auto"><br>
              </div>
              <div dir="auto">I got it to build, I just installed the
                git version of digikam from Aur (arch) and then it
                worked fine ( the config file was placed at the correct
                location and creating the database worked also fine).</div>
              <div dir="auto">I created just a mr (far away for finish
                and not yet functional, but I like to track discussions
                already from begining).</div>
              <div dir="auto"><a href="https://invent.kde.org/graphics/digikam/-/merge_requests/202" rel="noreferrer noreferrer" target="_blank">https://invent.kde.org/graphics/digikam/-/merge_requests/202</a><br>
              </div>
              <div dir="auto"><br>
              </div>
              <div dir="auto">But if Mario has already code maybe it
                makes more sense to merge this instead of my work.</div>
              <div dir="auto"><br>
              </div>
              <div dir="auto">@Mario I am waiting to see your approach
                of implementing something like this.</div>
              <div dir="auto"><br>
              </div>
              <div dir="auto">Best regards,</div>
              <div dir="auto">Martin</div>
              <div dir="auto"><br>
              </div>
              <div dir="auto"><br>
              </div>
              <br>
              <br>
              <div class="gmail_quote">
                <div dir="ltr" class="gmail_attr">Gilles Caulier <<a href="mailto:caulier.gilles@gmail.com" rel="noreferrer noreferrer noreferrer" target="_blank">caulier.gilles@gmail.com</a>>
                  schrieb am Fr., 20. Jan. 2023, 11:49:<br>
                </div>
                <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Martin<br>
                  <br>
                  Nice to see you in this room again. We are waiting for
                  your new code<br>
                  to be reviewed as a merge request.<br>
                  <br>
                  All my best<br>
                  <br>
                  Gilles<br>
                  <br>
                  Le ven. 20 janv. 2023 à 11:36, Mario Frank <<a href="mailto:mafrank@uni-potsdam.de" rel="noreferrer
                    noreferrer noreferrer noreferrer" target="_blank">mafrank@uni-potsdam.de</a>>
                  a écrit :<br>
                  ><br>
                  > Hi Martin,<br>
                  ><br>
                  > I was extremely busy at work the last years and
                  did not have any time for<br>
                  > digiKam. But I do have some implementation in my
                  local branch which<br>
                  > is currently not merged. I could try to get this
                  into digiKam.<br>
                  > I'll post to the bug today and describe my
                  implementation and discuss<br>
                  > with the others in which version it should be
                  integrated.<br>
                  ><br>
                  > Cheers,<br>
                  > Mario<br>
                  ><br>
                  > Am 19.01.23 um 09:07 schrieb Gilles Caulier:<br>
                  > > Le mer. 18 janv. 2023 à 17:15, Martin
                  Marmsoler<br>
                  > > <<a href="mailto:martin.marmsoler@gmail.com" rel="noreferrer noreferrer noreferrer noreferrer" target="_blank">martin.marmsoler@gmail.com</a>>
                  a écrit :<br>
                  > >> Is there anybody working on this
                  feature: <a href="https://bugs.kde.org/show_bug.cgi?id=388981" rel="noreferrer noreferrer noreferrer noreferrer noreferrer" target="_blank">https://bugs.kde.org/show_bug.cgi?id=388981</a><br>
                  > >> It really annoys me and if nobody took
                  it up I would like to implement it?<br>
                  > > Not me. I'm busy on the new documentation :<br>
                  > ><br>
                  > > <a href="https://docs.digikam.org/en/main_window/similarity_view.html" rel="noreferrer noreferrer noreferrer noreferrer noreferrer" target="_blank">https://docs.digikam.org/en/main_window/similarity_view.html</a><br>
                  > ><br>
                  > > Best<br>
                  > ><br>
                  > > Gilles Caulier<br>
                  > ><br>
                  > ><br>
                  > >> Am Mi., 18. Jan. 2023 um 15:36 Uhr
                  schrieb Martin Marmsoler <<a href="mailto:martin.marmsoler@gmail.com" rel="noreferrer noreferrer noreferrer noreferrer" target="_blank">martin.marmsoler@gmail.com</a>>:<br>
                  > >>><br>
                  > >>><br>
                  > >>> The error message I get is: Could
                  not open the configuration file <b></b>.
                  This file is installed with the digikam application
                  and is absolutely required to run digikam. Please
                  check your installation.<br>
                  > >>><br>
                  > >>> BR,<br>
                  > >>> Martin<br>
                  > >>><br>
                  > >>> Am Mi., 18. Jan. 2023 um 15:24 Uhr
                  schrieb Martin Marmsoler <<a href="mailto:martin.marmsoler@gmail.com" rel="noreferrer noreferrer noreferrer noreferrer" target="_blank">martin.marmsoler@gmail.com</a>>:<br>
                  > >>>> Hi Maik,<br>
                  > >>>><br>
                  > >>>> thanks for the response. I
                  uninstalled digikam for now to not have those plugins
                  installed. Now it fails during initialization of the
                  database in main.cpp:<br>
                  > >>>><br>
                  > >>>>
                  AlbumManager::instance()->setDatabase(params,
                  !commandLineDBPath.isNull(), firstAlbumPath)<br>
                  > >>>> returns false because of
                  "ScanController::AbortImmediately"<br>
                  > >>>><br>
                  > >>>> Lokale Variablen<br>
                  > >>>> aboutData @0x7fffffffe1b8
                  KAboutData<br>
                  > >>>> app @0x7fffffffe210 QApplication<br>
                  > >>>> argc 1 int<br>
                  > >>>> argv <ein Element> char **<br>
                  > >>>> commandLineDBPath "" QString<br>
                  > >>>> config @0x7fffffffe1d0
                  KSharedConfig::Ptr<br>
                  > >>>> digikam 0x0 Digikam::DigikamApp*<br>
                  > >>>> firstAlbumPath "" QString<br>
                  > >>>> group @0x7fffffffe220
                  KConfigGroup<br>
                  > >>>> iconTheme "" QString<br>
                  > >>>> mainConfig @0x7fffffffe230
                  KConfigGroup<br>
                  > >>>> params @0x7fffffffe280
                  Digikam::DbEngineParameters<br>
                  > >>>> connectOptions "" QString<br>
                  > >>>> databaseNameCore
                  "/home/$USER/Dokumente/Festplatte/database/digikam4.db"
                  QString<br>
                  > >>>> databaseNameFace
                  "/home/$USER/Dokumente/Festplatte/database/recognition.db"
                  QString<br>
                  > >>>> databaseNameSimilarity
                  "/home/$USER/Dokumente/Festplatte/database/similarity.db"
                  QString<br>
                  > >>>> databaseNameThumbnails
                  "/home/$USER/Dokumente/Festplatte/database/thumbnails-digikam.db"
                  QString<br>
                  > >>>> databaseType "QSQLITE" QString<br>
                  > >>>> hostName "" QString<br>
                  > >>>> internalServer false bool<br>
                  > >>>> internalServerDBPath "" QString<br>
                  > >>>> internalServerMysqlAdminCmd ""
                  QString<br>
                  > >>>> internalServerMysqlInitCmd ""
                  QString<br>
                  > >>>> internalServerMysqlServCmd ""
                  QString<br>
                  > >>>> password "" QString<br>
                  > >>>> port -1 int<br>
                  > >>>> userName "" QString<br>
                  > >>>> walMode false bool<br>
                  > >>>> parser @0x7fffffffe1c0
                  QCommandLineParser<br>
                  > >>>> ret -1076182377 int<br>
                  > >>>> system @0x7fffffffe200
                  Digikam::SystemSettings<br>
                  > >>>> version "8.0.0-beta1" QString<br>
                  > >>>> Inspector<br>
                  > >>>> Ausdrücke<br>
                  > >>>> Rückgabewert<br>
                  > >>>> Tooltip<br>
                  > >>>><br>
                  > >>>> Best regards,<br>
                  > >>>> Martin<br>
                  > >>>><br>
                  > >>>> Am Mo., 16. Jan. 2023 um 19:51
                  Uhr schrieb Maik Qualmann <<a href="mailto:metzpinguin@gmail.com" rel="noreferrer
                    noreferrer noreferrer noreferrer" target="_blank">metzpinguin@gmail.com</a>>:<br>
                  > >>>>> You still have "old" plugins
                  in the directory. A possible path is "/usr/lib64/<br>
                  > >>>>> qt5/plugins/digikam/". Check
                  the files in the folders based on the date, which<br>
                  > >>>>> plugins were not last
                  updated and delete them. Due to the API change (help
                  doc<br>
                  > >>>>> added), loading the "old"
                  plugins crashes.<br>
                  > >>>>><br>
                  > >>>>> Maik<br>
                  > >>>>><br>
                  > >>>>> Am Montag, 16. Januar 2023,
                  17:28:35 CET schrieb Martin Marmsoler:<br>
                  > >>>>>> Hello,<br>
                  > >>>>>><br>
                  > >>>>>> I am trying currently to
                  debug digikam. So far building worked fine and<br>
                  > >>>>>> also debugging works.<br>
                  > >>>>>> (For setup I used
                  bootstrap.local)<br>
                  > >>>>>> But when the application
                  opens, it fails with a segmentation fault:<br>
                  > >>>>>><br>
                  > >>>>>> 3 QString::toUtf8()
                  const &                     qstring.h         
                   684<br>
                  > >>>>>> 0x7ffff5e630a2<br>
                  > >>>>>> 4
                  KConfigGroup::readEntry<bool>               
                   kconfiggroup.h      260<br>
                  > >>>>>> 0x7ffff5e6331f<br>
                  > >>>>>> 5
                  Digikam::DPluginLoader::Private::appendPlugin
                  dpluginloader_p.cpp 161<br>
                  > >>>>>> 0x7ffff61f2b8c<br>
                  > >>>>>> 6
                  Digikam::DPluginLoader::Private::loadPlugins 
                  dpluginloader_p.cpp 223<br>
                  > >>>>>> 0x7ffff61f34cb<br>
                  > >>>>>> 7
                  Digikam::DPluginLoader::init                 
                  dpluginloader.cpp   62<br>
                  > >>>>>>   0x7ffff61ef768<br>
                  > >>>>>> 8
                  Digikam::DigikamApp::DigikamApp             
                   digikamapp.cpp      137<br>
                  > >>>>>> 0x7ffff775a811<br>
                  > >>>>>> 9 main                 
                                          main.cpp            402<br>
                  > >>>>>> 0x55555555a712<br>
                  > >>>>>><br>
                  > >>>>>><br>
                  > >>>>>> commit id:
                  d3e3a6c2e986bd35e47654824d62345374f67c5e (master
                  15.01.2023)<br>
                  > >>>>>><br>
                  > >>>>>> Do you have an idea why
                  it crashes?<br>
                  > >>>>>><br>
                  > >>>>>> BR,<br>
                  > >>>>>> Martin<br>
                  > >>>>><br>
                  > >>>>><br>
                  > >>>>><br>
                  ><br>
                </blockquote>
              </div>
            </div>
          </div>
        </blockquote>
      </div>
    </blockquote>
    <br>
  </div>

</blockquote></div></div>
</blockquote></div>