class GUI(DObject): ''' Clase encargada de administrar y gestionar todas las ventanas y operaciones, entre la interfaz gráfica y la lógica de la aplicación.''' def __init__(self, parent): self.fragmentos = parent self.SM = parent.SM self.trayIcon = None # en caso de que no haya ninguna bd para # iniciar el programa, este metodo devolvera False # y donde se creara una bd temporal # hasta que este terminado el Wizard #if not self.SM.getInstanceState() : # self.__createBDTemporary() app = QtGui.QApplication(sys.argv) self.clipboard = app.clipboard() #------------------ Look and feel changed to CleanLooks-----------------------# #QtGui.QApplication.setStyle(QtGui.QStyleFactory.create('Cleanlooks')) #~ QtGui.QApplication.setStyle("plastique") app.setPalette(QtGui.QApplication.style().standardPalette()) #------------------ DBus -----------------------# try: mainloop = DBusQtMainLoop(set_as_default=True) #@UnusedVariable bus_name = dbus.service.BusName('ar.fragmentos.service', bus=dbus.SessionBus()) dbus.service.Object.__init__(self,bus_name, '/ar/fragmentos/service') except Exception: print "hay un error en dbus!" #------------------------------------------------------------------------------ self.window = MainForm.Main(self) #-----------------------------------------------------------------------------# # segun el estado de estado del valor <windowStateStartup> #----------se maximiza o no la ventana----------------------------------------# windowStateCFG = self.fragmentos.ConfigsApp.windowStateStartup if not windowStateCFG is None and \ int(windowStateCFG) == 1: # si es = 1 self.window.setWindowState(QtCore.Qt.WindowMaximized) #-----------------------------------------------------------------------------# # muestra la ventana self.window.show() sys.exit(app.exec_()) def refreshTreeMainWindow(self): self.window.refreshTree() def refreshBdsInComboMainWindow(self): self.window.loadBDsInCombo() def setTrayIcon(self, mainforminstance): icon = QtGui.QIcon(':/toolbar/icon.png') self.trayIcon = TrayIcon.SystemTrayIcon(icon, mainforminstance) self.trayIcon.show() @servicio.method('ar.fragmentos.service') def showAgregarSnippet(self): u""" """ from agregarSnippet import agregarSnippet self.agregar = agregarSnippet(self, "Agregar Snippet") self.agregar.operacion = "agregar" # lee desde el cfg y carga el nombre del usuario actual user_uploader = self.fragmentos.ConfigsApp.userUploader if user_uploader : self.agregar.eAutor.setText(user_uploader) self.agregar.show() @servicio.method('ar.fragmentos.service') def showBuscarSnippet(self): if self.window.isVisible(): self.window.hide() else: self.window.show() self.window.__centerOnScreen() self.window.eBusqueda.setFocus() def showModificarSnippet(self, unSnippet): u""" """ from agregarSnippet import agregarSnippet # instancia de agregarSnippet self.modificar = agregarSnippet(self, "Modificar Snippet") self.modificar.operacion = "modificar" # carga los valores del snippet en los campos self.modificar.eTitulo.setText(unSnippet.titulo) self.modificar.eDescripcion.setText(unSnippet.descripcion) #TODO:PARCHEEEEEEEEEEEEEEEEEE!!!!! if unSnippet.uploader != None: self.modificar.eAutor.setText(unSnippet.uploader) self.modificar.eTags.setText(unSnippet.tags) #~ print 'holaaa: ',type(unSnippet.referencias),unSnippet.referencias #TODO:PARCHEEEEEEEEEEEEEEEEEE!!!!! if unSnippet.referencias != None: self.modificar.eReferencias.setText(unSnippet.referencias) self.modificar.widgetcodigo.setCode(unSnippet.codigo) self.modificar.cbLenguajes.setCurrentIndex( self.modificar.cbLenguajes.findText(unSnippet.lenguaje)) self.modificar.chkFavorito.setChecked(bool(unSnippet.favorito)) self.modificar.show() def showOpciones(self): """ """ from opciones import Opciones self.opciones = Opciones(self,self.fragmentos.ConfigsApp ,self.fragmentos.BDU) self.opciones.show() def showAcercaDe(self): """ """ from acercade import AcercaDe self.acerca = AcercaDe() self.acerca.show() def __createBDTemporary(self): ''' ''' #~ print '__createBDTemporary' pt = PathTools() ruta = pt.getPathDatabasesDir() + "MySourceCode.db" self.fragmentos.BDU.newDataBase(ruta) self.setSM(ruta) def setSM(self, path, db_name = None): try: self.SM = self.fragmentos.setSM(path, db_name) except Exception: QtGui.QMessageBox.critical(None ,"","Recurso no disponible: %s - %s" % (path,db_name))
def showAcercaDe(self): """ """ from acercade import AcercaDe self.acerca = AcercaDe() self.acerca.show()