1. 22 Mar, 2019 1 commit
  2. 20 Mar, 2019 12 commits
    • Robert Ancell's avatar
      applications: Make async file operations cancellable · 3565216b
      Robert Ancell authored
      The previous operations could crash if the panel was changed during an operation.
      3565216b
    • Robert Ancell's avatar
    • Robert Ancell's avatar
      applications: Fix wrong IDs being passed to portal permission store · a856740d
      Robert Ancell authored
      There were two cases of the app ID being used instead of the Flatpak ID.
      a856740d
    • Benjamin Berg's avatar
      display: Ensure configuration has the expected type · b26a8bde
      Benjamin Berg authored
      In almost all cases, the configuration will be "valid" in the sense that
      g-c-c can represent it in the UI. However, there are cases like
      mirroring setups with three monitors that we do not allow.
      
      In case that the user has such a configuration, ensure that the
      configuration we represent is actually valid according to our
      expectations. This should not affect normal use cases, but allows users
      to recover again if the configuration is broken for some reason.
      
      Fixes #383
      b26a8bde
    • Benjamin Berg's avatar
      display: Ensure at least one display is enabled · f45dcff8
      Benjamin Berg authored
      When the user has more than two monitors, then they can disable each
      monitor separately. If the user creates an invalid configuration because
      they disabled the last monitor, then enable a different one immediately.
      f45dcff8
    • Benjamin Berg's avatar
      display: Simplify configuration type and UI selection logic · defbcebf
      Benjamin Berg authored
      The new logic selects a single configuration type rather than detecting
      which types can be considered valid. This simplifies the UI rebuilding
      somewhat, but also changes some internal behaviour. We will now always
      be in the correct mode internally, even if the UI may not represent this
      change (i.e. with more than two monitors it always looks the same).
      defbcebf
    • Benjamin Berg's avatar
      display: Add unusable monitors to dropdown and disable switch for them · b2f1d489
      Benjamin Berg authored
      We should show unusable monitors in the monitor selection drop-down
      list. So always add them to the combobox and add the code to make the
      switch to enable them insensitive.
      b2f1d489
    • Benjamin Berg's avatar
      display: Only enforce single mode when desired by UI · e387b3bb
      Benjamin Berg authored
      We should only enforce single mode, when we have exactly two monitors
      and the two button UI is used to switch between them in single mode.
      Move the code to ensure the single configuration into the relevant
      callback handler, rather than trying to solve this globally.
      e387b3bb
    • Benjamin Berg's avatar
      display: Make rebuilding variable a counter · 98d20659
      Benjamin Berg authored
      We need to also set rebuilding while updating some other UI elements.
      Make it into a counter to allow for recursive setting.
      Note that additional checks for rebuilding will be added in later
      commits.
      98d20659
    • Benjamin Berg's avatar
      display: Reset resolution when switching configuration types · 21bb6416
      Benjamin Berg authored
      It generally makes more sense to reset the resolution of a monitor after
      we switch configuration types. The main case where this is relevant is
      switching from a mirror configuration (CLONE) to either join or single.
      In this case, higher resolutions for monitors may become available.
      
      Note that this might be annoying to some users, because there may be
      monitors reporting a lower "preferred" resolution than the highest
      supported resolution. There is little we can do though, as always
      selecting the highest resolution doesn't seem like a much better
      approach.
      21bb6416
    • Benjamin Berg's avatar
      display: Prevent error when serializing invalid configuration · ae22f72c
      Benjamin Berg authored
      If no monitors are enabled, then the variant would end up with an
      invalid variant type, causing a crash later on. This case only happened
      due to other bugs (i.e. in principle we should never send a
      configuration without any monitors to the server).
      
      Prevent the serialization error by specifying the correct type for the
      builder, therefore potentially preventing a crash in such a corner case.
      ae22f72c
    • Benjamin Berg's avatar
      display: Ensure we have a primary monitor after all were disabled · 0c4e84e4
      Benjamin Berg authored
      When enabling the first monitor, we need to select it as primary as we
      otherwise end up without a primary monitor (rendering the configuration
      invalid). "Unsetting" the NULL primary monitor effectively causes the
      first and only available monitor to become the primary, while not doing
      anything if we have a primary monitor.
      0c4e84e4
  3. 18 Mar, 2019 4 commits
    • Benjamin Berg's avatar
      display: Enable all monitors when switching to join config · 20d24992
      Benjamin Berg authored
      The new code had a bug in that it only ever enabled the first monitor
      rather than all usable ones. Fix this by removing the erroronuous break.
      Also clarify the comment a bit that the current solution is not really
      ideal as it may result in invalid configurations (i.e. we enable more
      outputs than are possible with the number of available CRTCs).
      
      Fixes #418
      20d24992
    • Alan Mortensen's avatar
      Updated Danish translation · c8ffb340
      Alan Mortensen authored
      c8ffb340
    • Robert Ancell's avatar
      applications: Fix flatpak ID memory leak · 29eebced
      Robert Ancell authored
      29eebced
    • Marco Trevisan's avatar
      display: Don't always set the primary monitor to the first in list · 49957ef8
      Marco Trevisan authored
      As per the binding that we have between the list store and the combo-box, when
      the first element is added to the list-store, the combo box set this value as
      the selected-index, and this leads to a call to cc_display_monitor_set_primary
      which set the first-listed monitor as primary and unset the real primary monitor.
      
      To avoid this, just ignore the binding when rebuilding the UI, since in this
      phase control-center should just reflect the actual state without changing
      anything.
      
      Fixes #419
      49957ef8
  4. 17 Mar, 2019 1 commit
  5. 16 Mar, 2019 1 commit
  6. 15 Mar, 2019 1 commit
  7. 13 Mar, 2019 9 commits
  8. 11 Mar, 2019 11 commits