1. 13 Nov, 2018 1 commit
    • Alex Hirsch's avatar
      display: Mode compare takes interlaced into account · 6116864f
      Alex Hirsch authored
      When changing the display mode, the apply button does not appear if the
      current mode and new mode differ only in their interlaced flag.
      
      The display mode comparison function now takes the interlaced flag into
      account.
      
      (cherry picked from commit b4809cd2)
      6116864f
  2. 12 Nov, 2018 1 commit
    • Benjamin Berg's avatar
      network: Move AP list population into an idle handler · 3fb65309
      Benjamin Berg authored
      The AP list needs to be updated every time APs are added or removed.
      However, such addition and removal generally happens in bulk (i.e. scan
      results coming in) and doing so for every AP is wasteful.
      
      So update the widget from an idle handler instead of updating it
      immediately from the signal handler.
      
      Fixes #152
      3fb65309
  3. 10 Nov, 2018 1 commit
  4. 08 Nov, 2018 1 commit
    • Benjamin Berg's avatar
      power: Correctly lookup or insert new items into combobox · 8b8b49e9
      Benjamin Berg authored
      The code to lookup or insert items into the combobox had a few issues.
      It would assume that the items are sorted, causing existing items to not
      be found and be inserted instead. It also would simply forget to insert
      an item if it was larger than all existing items.
      
      This code is now changed to iterate over all items, finding the best
      insertion point in the process (next item has a larger value, or the
      values are not increasing anymore). The item will only be inserted if it
      has not been found.
      
      Fixes #261
      
      
      (cherry picked from commit b5711c59)
      8b8b49e9
  5. 07 Nov, 2018 1 commit
  6. 01 Nov, 2018 1 commit
  7. 31 Oct, 2018 1 commit
  8. 25 Oct, 2018 1 commit
  9. 24 Oct, 2018 6 commits
  10. 23 Oct, 2018 1 commit
  11. 18 Oct, 2018 2 commits
    • Daniel Drake's avatar
      display: Hide unsupported resolutions again · db122c58
      Daniel Drake authored
      Previously, low resolutions were hidden from the control center
      because when such display modes are activated, GNOME is unusable;
      many important UI elements do not fit on the screen at all.
      https://bugzilla.gnome.org/show_bug.cgi?id=626822
      
      This was removed in c0f686bb
      without explanation; reinstate it here.
      
      Also prevent the scaling from being selected or activated if the
      effective scaled resolution would result in an equivalently low
      resolution being used.
      db122c58
    • Benjamin Berg's avatar
      display: Sync scale button state after update · 5c94da67
      Benjamin Berg authored
      We need to re-sync the scale button scale when updating the state
      dynamically. Otherwise changing the resolution will always show a scale
      of 100% (first item) rather than the actual active one.
      5c94da67
  12. 14 Oct, 2018 1 commit
    • Robert Ancell's avatar
      display: Stop night light dialog being destroyed twice · f109ee85
      Robert Ancell authored
      The night light dialog is both marked as "destroy_with_parent" and explicitly
      destroyed in the panel. Drop one of these.
      
      Causes the warning after opening the dialog then closing the app:
      (gnome-control-center:19887): Gtk-CRITICAL **: 11:00:01.370: gtk_widget_destroy: assertion 'GTK_IS_WIDGET (widget)' failed
      
      This bug was introduced in ed36688c
      f109ee85
  13. 11 Oct, 2018 2 commits
    • Andrea Azzarone's avatar
      power: Use g_signal_connect_object · 0e8f7487
      Andrea Azzarone authored
      Objects created using the object storage API are not disposed when the panel
      that created them is disposed. In order to prevent segfaults we need to manually
      disconnect signal handler connected to these objects or we can do it
      automatically using g_signal_connect_object.
      
      Fixes: https://launchpad.net/bugs/1797205
      0e8f7487
    • Jonathan Kang's avatar
      power: set no-show-all to TRUE on wifi and mobile rows · b8e2fd92
      Jonathan Kang authored
      The Wi-Fi and mobile broadband row's visibility depends on related
      device status. But calling gtk_widget_show_all on the whole list box
      makes them visible even related device is not avialbe. Fix that by
      setting no-show-all of these two widgets as TRUE.
      
      #189
      b8e2fd92
  14. 09 Oct, 2018 1 commit
  15. 07 Oct, 2018 1 commit
  16. 05 Oct, 2018 1 commit
    • Debarshi Ray's avatar
      online-accounts: Track the lifecycle of CcGoaPanel across async calls · 10b06484
      Debarshi Ray authored
      Due to an API bug in GNOME Online Accounts, the asynchronous
      goa_provider_get_all method doesn't accept a GCancellable argument.
      This makes it difficult to cancel an ongoing call when the CcGoaPanel
      gets destroyed.
      
      Prior to commit c26f8ae0, this was hacked around by taking a
      reference on the panel for the duration of the call. Instead of
      cancelling a pending call on destruction, it would keep the panel alive
      until the call was over. However, that was lost during commit
      c26f8ae0.
      
      One thing to bear in mind is that GtkWidgets, CcGoaPanel is one, can
      be destroyed by a gtk_widget_destroy call, which is subtly different
      than a simple sequence of g_object_unref calls. When gtk_widget_destroy
      is used, it invokes the GObject::dispose virtual method of the widget.
      It is expected this will cause anything holding a reference to this
      widget to drop their references, leading to GObject::finalize being
      called. However, there is no guarantee that this will happen in the
      same iteration of the GMainLoop. Therefore, it is possible that when
      the goa_provider_get_all call finishes, the CcGoaPanel might be in a
      disposed, but not yet finalized state.
      
      When a GObject is in a disposed-but-not-finalized state, only a very
      limited number of operations can be performed on it. Its reference
      count can be altered, the memory used by the instance struct can be
      accessed, but none of the member GObjects can be assumed to be valid.
      eg., it's definitely illegal to add new rows to the member GtkListBox.
      Hence a boolean flag is used to mark the destroyed state of the panel.
      
      This second part is a small improvement over the earlier hack.
      
      #208
      10b06484
  17. 04 Oct, 2018 1 commit
    • Benjamin Berg's avatar
      display: Correctly add minor axis to snapping · a9351cb5
      Benjamin Berg authored
      There was an issue where the "minor" axis snapping would not be done if
      the "major" axis snapping had a zero distance. This could be seen when e.g.
      moving a monitor on the right up/down slightly. In that case, no
      snapping to align the bottom/top edges were done unless you also moved
      the mouse sideways a bit.
      
      Fixes #211
      
      
      (cherry picked from commit 22a512f0)
      a9351cb5
  18. 01 Oct, 2018 1 commit
  19. 29 Sep, 2018 1 commit
  20. 26 Sep, 2018 6 commits
  21. 25 Sep, 2018 1 commit
  22. 21 Sep, 2018 3 commits
  23. 19 Sep, 2018 3 commits
  24. 18 Sep, 2018 1 commit