py::gui::configure::mirrors Class Reference

List of all members.

Public Member Functions

def __init__
def setup_actions
def mirror_name_changed
def clear_mirror
def show_selected_mirror
def create_mirror
def delete_mirror
def change_mirror
def apply
def exec_
def accept

Public Attributes

 selected
 selected_item
 official_mirrors
 officials
 cfg

Private Member Functions

def __register_mirror


Member Function Documentation

def py::gui::configure::mirrors::__init__ (   self,
  parent = None 
)

00109                                             :
00110                 Ui_configure_mirrors.__init__( self )
00111                 QDialog.__init__( self, parent )
00112                 self.setupUi( self )
00113                 self.setup_actions()
00114         
        def setup_actions( self ) :

def py::gui::configure::mirrors::setup_actions (   self  ) 

00115                                   :
00116                 QObject.connect( self.mirrors, SIGNAL("itemClicked(QTreeWidgetItem*, int)"), self.show_selected_mirror )
00117                 QObject.connect( self.mirror_name, SIGNAL("textChanged(const QString&)"), self.mirror_name_changed )
00118                 QObject.connect( self.do_new, SIGNAL("clicked()"), self.create_mirror )
00119                 QObject.connect( self.do_delete, SIGNAL("clicked()"), self.delete_mirror )
00120                 QObject.connect( self.do_change, SIGNAL("clicked()"), self.change_mirror )
00121         
        def mirror_name_changed( self, text ) :

def py::gui::configure::mirrors::mirror_name_changed (   self,
  text 
)

00122                                               :
00123                 self.do_change.setEnabled( len(text) > 0 )
00124         
        def clear_mirror( self ) :

def py::gui::configure::mirrors::clear_mirror (   self  ) 

00125                                  :
00126                 for w in [ self.mirror_name, self.use_updates, self.use_covers, self.do_change ] :
00127                         w.setEnabled(False)
00128                 self.mirror_name.clear()
00129                 self.use_updates.setCheckState(Qt.Unchecked)
00130                 self.use_covers.setCheckState(Qt.Unchecked)
00131 
        def show_selected_mirror( self, item, *args ) :

def py::gui::configure::mirrors::show_selected_mirror (   self,
  item,
  args 
)

00132                                                       :
00133                 if item is not self.officials :
00134 
00135                         url = unicode(item.text(0))
00136                         self.selected = url
00137                         self.selected_item = item
00138 
00139                         self.mirror_name.setText(url)
00140                         if self.cfg[url]["update"] :
00141                                 self.use_updates.setCheckState( Qt.Checked )
00142                         else :
00143                                 self.use_updates.setCheckState( Qt.Unchecked )
00144                         if self.cfg[url]["covers"] :
00145                                 self.use_covers.setCheckState( Qt.Checked )
00146                         else :
00147                                 self.use_covers.setCheckState( Qt.Unchecked )
00148 
00149                         for w in [ self.do_change, self.use_updates, self.use_covers ] :
00150                                 w.setEnabled(True)
00151                         for w in [ self.do_delete, self.mirror_name ] :
00152                                 w.setEnabled(item.parent() is not self.officials)
00153 
00154                 else :
00155                         self.do_delete.setEnabled(False)
00156 
        def create_mirror( self ) :

def py::gui::configure::mirrors::create_mirror (   self  ) 

00157                                   :
00158                 if "" in self.cfg :
00159                         return
00160                 item = self.__register_mirror( "" )
00161                 self.mirrors.setCurrentItem( item )
00162                 self.show_selected_mirror( item )
00163         
        def delete_mirror( self ) :

def py::gui::configure::mirrors::delete_mirror (   self  ) 

00164                                   :
00165                 item = self.mirrors.currentItem()
00166                 if item is not None and item is not self.officials and item.parent() is not self.officials :
00167                         self.clear_mirror()
00168                         del self.cfg[self.selected]
00169                         item = self.mirrors.takeTopLevelItem(self.mirrors.indexFromItem(item).row())
00170                         del item
00171         
        def change_mirror( self ) :

def py::gui::configure::mirrors::change_mirror (   self  ) 

00172                                   :
00173                 url = unicode(self.mirror_name.text())
00174                 if url != self.selected :
00175                         self.cfg[url] = self.cfg[self.selected]
00176                         del self.cfg[self.selected]
00177                         self.selected = url
00178                         self.selected_item.setText(0,url)
00179                 self.cfg[url]["update"] = self.use_updates.checkState() == Qt.Checked
00180                 self.cfg[url]["covers"] = self.use_covers.checkState() == Qt.Checked
00181                 print self.cfg
00182 
        def __register_mirror( self, url, update = None, covers = None ) :

def py::gui::configure::mirrors::__register_mirror (   self,
  url,
  update = None,
  covers = None 
) [private]

00183                                                                          :
00184                 item = None
00185                 if url not in self.cfg :
00186                         self.cfg[url] = { "update" : False, "covers" : False }
00187 
00188                         # append to tree widget
00189                         if url in self.official_mirrors :
00190                                 parent = self.officials
00191                         else :
00192                                 parent = self.mirrors
00193                         item = QTreeWidgetItem(parent)
00194                         item.setText(0,url)
00195 
00196                 if update is not None :
00197                         self.cfg[url]["update"] = update
00198                 if covers is not None:
00199                         self.cfg[url]["covers"] = covers
00200 
00201                 return item
00202         
00203         @gui.dialog.show_failure
        def apply( self ) :

def py::gui::configure::mirrors::apply (   self  ) 

00204                           :
00205                 m_update = []
00206                 m_covers = []
00207                 for url, cfg in self.cfg.iteritems() :
00208                         if not len(url) :
00209                                 continue
00210                         if cfg["update"] :
00211                                 m_update.append(url)
00212                         if cfg["covers"] :
00213                                 m_covers.append(url)
00214                 qocfg.set_mirrors_update( m_update )
00215                 qocfg.set_mirrors_covers( m_covers )
00216                 qocfg.save()
00217 
        def exec_( self ) :

def py::gui::configure::mirrors::exec_ (   self  ) 

00218                           :
00219 
00220                 self.official_mirrors = qocfg.APPLICATION["mirrors_update"] + qocfg.APPLICATION["mirrors_covers"]
00221                 self.officials = QTreeWidgetItem( self.mirrors )
00222                 self.officials.setText(0,_("Officials"))
00223 
00224                 self.cfg = {}
00225                 for x in qocfg.mirrors_update :
00226                         self.__register_mirror( x, update = True )
00227                 for x in qocfg.get_updateCOVERS_mirrors() :
00228                         self.__register_mirror( x, covers = True )
00229                 for x in self.official_mirrors :
00230                         self.__register_mirror( x )
00231 
00232                 self.mirrors.setItemExpanded( self.officials, True )
00233 
00234                 return QDialog.exec_(self)
00235         
        def accept( self ) :

def py::gui::configure::mirrors::accept (   self  ) 

00236                            :
00237                 self.apply()
00238                 QDialog.accept(self)
00239 
00240 
class datasource( Ui_configure_datasource, QDialog ) :


Member Data Documentation

py::gui::configure::mirrors::selected

py::gui::configure::mirrors::selected_item

py::gui::configure::mirrors::official_mirrors

py::gui::configure::mirrors::officials

py::gui::configure::mirrors::cfg


The documentation for this class was generated from the following file:
Generated on Tue Oct 9 20:40:24 2007 for Qomics by  doxygen 1.5.3