lp:ubuntu/trusty-proposed/kubuntu-driver-manager

Created by Ubuntu Package Importer and last modified
Get this branch:
bzr branch lp:ubuntu/trusty-proposed/kubuntu-driver-manager
Members of Ubuntu branches can upload to this branch. Log in for directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Ubuntu branches
Review team:
Ubuntu Development Team
Status:
Development

Recent revisions

10. By Harald Sitter

* Fix debug output typo s/beause/because/
* Implement QApt transaction prompt signals
 + This adds three new qslots to drivermanager:
   - provideMedium
   - untrustedPrompt
   - configFileConflict
  + All three are copied from libmuon's ApplicationBackend and
    adjusted in the least invasive manner
  + All three trigger a KMessageBox to query the user for a decision on
    the respective apt/dpkg-level issues
  + The KMessageBoxes anchor to qApp::activeWindow as DriverManager is
    supposed to not contain UI logic and as such has no explicit method
    to get the master window id
  + These slots add new strings that were previously not available for
    translations, but should eventually get picked up by launchpad.
  + Module.cpp manually adds 'libmuon' as a translation catalog to draw
    translations from, while we have no translations of our own. This is
    to prevent the newly introduced strings from going untranslated.
    This relationship is not refelected on a packaging level since in due
    time our own language-packages should contain translation, plus the
    prompts are incredibly hard to trigger so even in an untranslated state
    99.9% of users will not ever see them. If we can get the translations
    from libmuon it's nice, if not we'll likely not care given the impact.
  LP: #1315670

9. By Rohan Garg

[ Harald Sitter ]
* DriverWidget: do not list builtin drivers as not selected.
  + This avoids breaking the system by trying to remove essential packages
    such as xserver-xorg-video-nouveau for being not selected.
  LP: #1311583

[ Rohan Garg ]
* Add a apport hook to provide more debug info when reporting bugs

8. By Harald Sitter

* Prevent crashes by properly locking the GUI while applying changes
  LP: #1311075
  + New function DriverWidget::setSelectionEnabled, disabling or enabling
    all QAbstractButtons inside the respective DriverWidget, leaving the
    header label unaffected to give a nicer visual experience.
* Prevent state confusion caused by allowing 'defaults' to trigger a reload
  even when the manager is currently busy applying changes. Since we have
  no button control inside the KCM we simply turn load() noop while the
  manager is active. This is unfortunately not the nicest behavior, however
  the module will reload whenever the manager finishes, so implicitly we
  will simply execute the requested action once the manager is idle again.
  LP: #1311079
  + Introduce new function DriverManager::isActive evaluating the transaction
    pointer (nullptr when idle).

7. By Harald Sitter

Bring back device notification persistency lost in refactoring
LP: #1304301

6. By Harald Sitter

[ Rohan Garg ]
* Use a checkbox when there's only one driver

[ Harald Sitter ]
* Set dbusinterface timeout to highest possible value to prevent timeouts
  when the dbus helper is tediously slow (LP: #1303209)
  Looking back that was probably why we opted for an async connection earlier

5. By Rohan Garg

[ Harald Sitter ]
* Fix dbus helper timing (hopefully)
  + Don't query drivers-common in ctor for no reason (block startup and
    everything).
  + Force the connection from the timeout timer to qapp::quit to be queued
    this gives us at least one additional loop run until it is actually
    called (should not make much difference).
  + Suspending and restart of the timeout timer is now done via a finally
    statement, this is to ensure that return actually has finished by the
    time we restart the timer as large chunks of data can take a while to
    throw at the daemon etc.
  = These changes combined should prevent the dbus helper from timing out
    before the data has arrived or is sent. at the very least it makes a
    system that previously had timeouts work even with a 5s timeout (i.e.
    half of what we use in production).

4. By Harald Sitter

* Depend on python3-qt4 for the auto-quit logic in the helper LP: #1293948
* Refactor
  - dbus helper now only has one function
  - dbus interaction uses explicit type demarshalling
  - new struct types Device and Driver representing the explicit dbus types
  - new class DriverManager encorporating most logic bits of Module such as
    dbus and qapt interaction
  - DriverWidget QApt queries moved to DriverManager's dbus handling, but
    continues to query qapt packages directly for name and such nonesense
  - Manual driver listing is no longer explicitly dependent on package
    findability
  - DriverWidget changes detection now happen through iterative queries
    in Module::possiblyChanged, fixing change tracking
  - Module continues to contain Debconf handling, pipe id merely passed to
    DriverManager
  - New Module functions enableUi and disableUi containing reoccuring logic
  - DriverWidget does not implicitly create left-to-right strings anymore
  - Module::load is now the grand unified way to trigger a (re)load of data
    while DriverManager::refresh synchronizes the reload requests with
    QApt/Xapian init, fixing all likely and less likely init order problems
  - New struct Device provides deep qdebug stream operators to debug
    stuff conveniently
  - Module includes have been cleaned up slightly
  - Drivers are now not only installed, but also removed, this effectively
    enables actual driver change as the way management works is that the
    consideration is that only one driver is installed at a time (except for
    the free version), which also is why manual always wins active
    detection as it simply prevents any other driver from being considered.

3. By Rohan Garg

* New upstream snapshot
  - Bug fixing around
    + Better strings LP: #1282095
    + Update xapian cache before opening LP: #1282087
    + Fix memory leak
    + Drop useless keepAlive function LP: #1282092
    + Timer should start/stop before each function so that the script
      doesn't quite mid way LP: #1282090

2. By Rohan Garg

* New upstream snapshot
  - Change name (LP: #1278814)
  - Fix crash when hitting refresh button (LP: #1278816)
  - Implement state tracking (LP: #1278827)
  - Make sure apply button is enabled even after transaction
    returns a error (LP: #1278826)

1. By Rohan Garg

Initial release

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
This branch contains Public information 
Everyone can see this information.

Subscribers