~ubuntu-branches/ubuntu/oneiric/software-properties/oneiric-proposed

« back to all changes in this revision

Viewing changes to softwareproperties/gtk/SoftwarePropertiesGtk.py

  • Committer: Bazaar Package Importer
  • Author(s): Michael Vogt
  • Date: 2011-07-25 18:15:30 UTC
  • Revision ID: james.westby@ubuntu.com-20110725181530-ckdbew4yh0ef7xrt
Tags: 0.81.3
* softwareproperties/gtk/SimpleGtkbuilderApp.py:
  - remove unneeded debug output for gobjects without a get_name()
    function
* softwareproperties/gtk/SoftwarePropertiesGtk.py:
  - do not crash if update-notifier is not installed (LP: #815016)
* softwareproperties/AptAuth.py:
  - do not access ~/.gnupg from AptAuth() (LP: #815034)
* softwareproperties/SoftwareProperties.py:
  - add CDROM add support into the dbus backend (LP: #815860)

Show diffs side-by-side

added added

removed removed

Lines of Context:
118
118
      self.notebook_main.set_current_page(int(options.open_tab))
119
119
 
120
120
    # gsettings
121
 
    self.settings = Gio.Settings("com.ubuntu.update-notifier")
122
 
    # we need this for reverting
123
 
    self.initial_auto_launch = self.settings.get_int("regular-auto-launch-interval") 
 
121
    all_schemas = Gio.Settings.list_schemas()
 
122
    if "com.ubuntu.update-notifier" in all_schemas:
 
123
        self.settings = Gio.Settings("com.ubuntu.update-notifier")
 
124
        # we need this for reverting
 
125
        self.initial_auto_launch = self.settings.get_int("regular-auto-launch-interval") 
 
126
    else:
 
127
        self.settings = None
 
128
        self.initial_auto_launch = 0
 
129
        self.combobox_other_updates.set_sensitive(False)
124
130
 
125
131
    # get the dbus backend
126
132
    bus = dbus.SystemBus()
134
140
        "KeysModified", self.on_keys_modified)
135
141
    self.backend.connect_to_signal(
136
142
        "AuthFailed", self.on_auth_failed)
 
143
    self.backend.connect_to_signal(
 
144
        "CdromScanFailed", self.on_cdrom_scan_failed)
137
145
    
138
146
    # Show what we have early
139
147
    self.window_main.show()
254
262
      self.combobox_security_updates.set_active(2) # Download and install automatically
255
263
    
256
264
    # Other Updates
257
 
    level_other = self.settings.get_int("regular-auto-launch-interval")
258
 
    model = self.combobox_other_updates.get_model()
259
 
    for (i, row) in enumerate(model):
260
 
        level = model.get_value(row.iter, 1)
261
 
        if level_other == level:
262
 
            self.combobox_other_updates.set_active(i)
263
 
            break
 
265
    if self.settings:
 
266
        level_other = self.settings.get_int("regular-auto-launch-interval")
 
267
        model = self.combobox_other_updates.get_model()
 
268
        for (i, row) in enumerate(model):
 
269
            level = model.get_value(row.iter, 1)
 
270
            if level_other == level:
 
271
                self.combobox_other_updates.set_active(i)
 
272
                break
264
273
 
265
274
  def init_distro(self):
266
275
    """Setup the user interface elements to represent the distro"""
694
703
  def on_button_revert_clicked(self, button):
695
704
      """Restore the source list from the startup of the dialog"""
696
705
      self.backend.Revert()
697
 
      self.settings.set_int("regular-auto-launch-interval", self.initial_auto_launch)
 
706
      if self.settings:
 
707
          self.settings.set_int("regular-auto-launch-interval", self.initial_auto_launch)
698
708
      self.show_auto_update_level()
699
709
      self.button_revert.set_sensitive(False)
700
710
      self.modified_sourceslist = False
724
734
    self.on_config_modified()
725
735
    self.on_keys_modified()
726
736
 
 
737
  def on_cdrom_scan_failed(self):
 
738
      error(self.window_main,
 
739
            _("Error scanning the CD"),
 
740
            _("Could not find a suitable CD."))
 
741
 
727
742
  # helpers
728
743
  def show_isv_sources(self):
729
744
    """ Show the repositories of independent software vendors in the
877
892
        res = d.run()
878
893
    self.quit()
879
894
 
880
 
  # FIXME: add to the new dbus backend
881
895
  def on_button_add_cdrom_clicked(self, widget):
882
 
    '''Show a dialog that allows to add a repository located on a CDROM
883
 
       or DVD'''
884
 
    # testing
885
 
    #apt_pkg.Config.Set("APT::CDROM::Rename","true")
886
 
 
887
 
    saved_entry = apt_pkg.config.find("Dir::Etc::sourcelist")
888
 
    tmp = tempfile.NamedTemporaryFile()
889
 
    apt_pkg.config.set("Dir::Etc::sourcelist",tmp.name)
890
 
    progress = CdromProgress(self.datadir,self.window_main)
891
 
    cdrom = apt_pkg.Cdrom()
892
 
    # if nothing was found just return
893
 
    try:
894
 
      res = cdrom.add(progress)
895
 
    except SystemError, msg:
896
 
      error(self.window_main, _("Error scanning the CD"), msg)
897
 
      return
898
 
    finally:
899
 
      apt_pkg.config.set("Dir::Etc::sourcelist",saved_entry)
900
 
      progress.dialog_cdrom_progress.hide()
901
 
 
902
 
    if res == False:
903
 
      return
904
 
    # read tmp file with source name (read only last line)
905
 
    line = ""
906
 
    for x in open(tmp.name):
907
 
      line = x
908
 
    if line != "":
909
 
      full_path = "%s%s" % (apt_pkg.config.find_dir("Dir::Etc"),saved_entry)
910
 
      # insert cdrom source first, so that it has precedence over network sources
911
 
      self.sourceslist.list.insert(0, SourceEntry(line,full_path))
912
 
      self.set_modified_sourceslist()
 
896
      """ when a cdrom is requested for adding """
 
897
      self.backend.AddCdromSource()