1. 01 Jun, 2015 12 commits
    • Dennis Nienhüser's avatar
      302efc0d
    • Dennis Nienhüser's avatar
      90c65921
    • Dennis Nienhüser's avatar
      Refactoring of the DBus Interface · ac2a7714
      Dennis Nienhüser authored
      Our current DBus interface exposes all signals, slots and properties of
      both MarbleWidget and MarbleMap to the DBus session bus. There are a
      couple of problems:
      - 3rd party developers who include MarbleWidget have their application
        exposed to DBus and the Marble part of it can be controlled from
        there.
      - not all method signatures are compatible with DBus. In particular
        QRegion and Marble specific types cannot be send over DBus (without
        us implementing support for it). In Qt5 there seems to be a change
        that warns against that in the shell. This means that in Qt5 you get
        lots of debug spam all the time in the shell, e.g. a simple map drag
        results in hundreds of warnings a la
          QDBusAbstractAdaptor: Cannot relay signal
      Marble::MarbleMap::renderStateChanged(RenderState): Unregistered input
      type in parameter list: RenderState
          QDBusAbstractAdaptor: Cannot relay signal
      Marble::MarbleWidget::mouseClickGeoPosition(double,double,GeoDataCoordin
      ates::Unit): Unregistered input type in parameter list:
      GeoDataCoordinates::Unit
          QDBusAbstractAdaptor: Cannot relay signal
      Marble::MarbleMap::repaintNeeded(QRegion): Type not registered with
      QtDBus in parameter list: QRegion
      - it's an utter mess. Currently we expose more than 120 (!) Marble
        specific things to DBus
      
      The patch tries to improve that by
      - Not exposing anything to DBus in the library, but only from the Qt
        and KDE applications (i.e. move session bus registration to
        ControlView.cpp)
      - Expose only a limited subset of methods and properties (implemented
        in the new class MarbleDBusInterface)
      
      The drawbacks are that we're changing the interface (hence break any
      external scripts etc. that rely on it), and limit it at the same time
      -- some information that people might be using is not available
      anymore. I'm not aware of anyone really using the DBus interface
      though, so I'd risk changing it. For limited functionality I'm happy to
      bring in more things if there's a sane use case behind it.
      
      REVIEW: 123896
      ac2a7714
    • Dennis Nienhüser's avatar
      0fb8375b
    • Dennis Nienhüser's avatar
      Port to KDE Frameworks 5. · cf115885
      Dennis Nienhüser authored
      Squashed commit of the kde-frameworks-5 branch, which consisted of
      commit 5f8db001 (message repeated below) and some other minor ones.
      
      Affects apps/marble-kde, bindings (not tested), doc, plasmarunner,
      plasmoid (deactivated as ktimezonewidget is now gone), thumbcreator.
      
      Also cleans up cmake files: The QTONLY options is gone completely.
      KDE parts are only included where necessary, most notably not in
      src/lib. Since users might still pass it, QTONLY=TRUE is forwarded
      to WITH_KF5=FALSE which matches the old behavior most closely. The new
      behavior is better by default however, not erroring out if KF5 is
      missing, but instead building Qt parts only.
      Additionally the QT5BUILD option is sanitized to behave as originally
      planned: You don't have to pass it anymore when both Qt4 and Qt5 are
      installed, but cmake figures out which of the two to use and the other
      one is disabled (does not interfere anymore).
      
      Compiles without warnings (aside automoc) and without kde4support
      libraries. I'm pretty sure however that I broke some parts at runtime
      for now, e.g. config saving and installation/loading of some parts.
      I18n is not tested as well. Needs to be taken care of in subsequent
      commits.
      cf115885
    • Dennis Nienhüser's avatar
      918c8b03
    • Dennis Nienhüser's avatar
      Use a lambda expression (C++ 11) · 963b4785
      Dennis Nienhüser authored
      Please report a bug at https://bugs.kde.org/ if this breaks your
      build system / compiler for some reason.
      
      See also
      https://www.mail-archive.com/marble-devel@kde.org/msg01736.html
      
      (cherry picked from commit bae97d76)
      963b4785
    • Dennis Nienhüser's avatar
      Use nullptr (C++ 11) · 45d3a982
      Dennis Nienhüser authored
      Please report a bug at https://bugs.kde.org/ if this breaks your
      build system / compiler for some reason.
      
      See also
      https://www.mail-archive.com/marble-devel@kde.org/msg01736.html
      
      (cherry picked from commit 4341e529)
      45d3a982
    • Dennis Nienhüser's avatar
      Introduce auto keyword to see if it breaks something (C++ 11) · 91488064
      Dennis Nienhüser authored
      Please report a bug at https://bugs.kde.org/ if this breaks your
      build system / compiler for some reason.
      
      See also
      https://www.mail-archive.com/marble-devel@kde.org/msg01736.html
      
      (cherry picked from commit e46ddb9c)
      91488064
    • Dennis Nienhüser's avatar
      Enable C++ 11 support · 7bf16819
      Dennis Nienhüser authored
      Please report a bug at https://bugs.kde.org/ if this breaks your
      build system / compiler for some reason.
      
      The plan for now is to use only those C++ 11 features that are
      supported by MSVC 10.0 and later.
      
      See also
      https://www.mail-archive.com/marble-devel@kde.org/msg01736.html
      
      (cherry picked from commit 250137c8)
      7bf16819
    • Dennis Nienhüser's avatar
      Check for / include dbus libraries · d4a59d90
      Dennis Nienhüser authored
      d4a59d90
    • Dennis Nienhüser's avatar
      Move static const member initialization out of class scope · e97b194c
      Dennis Nienhüser authored
      To compile with C++ 11, those would need to be changed to
      static constexpr with in-class initialization; MSVC 10 however does not
      know about constexpr
      e97b194c
  2. 27 May, 2015 28 commits