def __init__(self, iface, version): QDockWidget.__init__(self, None) self.iface = iface self.clouddb = True self.version = version # Set up the user interface from Designer. self.ui = Ui_QgisCloudPlugin() self.ui.setupUi(self) self.storage_exceeded = True myAbout = DlgAbout() self.ui.aboutText.setText( myAbout.aboutString() + myAbout.contribString() + myAbout.licenseString() + "<p>Versions:<ul>" + "<li>QGIS: %s</li>" % unicode(QGis.QGIS_VERSION).encode("utf-8") + "<li>Python: %s</li>" % sys.version.replace("\n", " ") + "<li>OS: %s</li>" % platform.platform() + "</ul></p>") self.ui.lblVersionPlugin.setText(self.version) self.ui.tblLocalLayers.setColumnCount(5) header = [ "Layers", "Data source", "Table name", "Geometry type", "SRID" ] self.ui.tblLocalLayers.setHorizontalHeaderLabels(header) self.ui.tblLocalLayers.resizeColumnsToContents() self.ui.tblLocalLayers.setEditTriggers( QAbstractItemView.NoEditTriggers) self.ui.btnUploadData.setEnabled(False) self.ui.btnPublishMap.setEnabled(False) self.ui.progressWidget.hide() self.ui.btnLogout.hide() self.ui.lblLoginStatus.hide() self.ui.widgetServices.hide() self.ui.widgetDatabases.setEnabled(False) self.ui.labelOpenLayersPlugin.hide() try: if QGis.QGIS_VERSION_INT >= 20300: from openlayers_menu import OpenlayersMenu else: # QGIS 1.x - QGIS-2.2 from openlayers_menu_compat import OpenlayersMenu self.ui.btnBackgroundLayer.setMenu(OpenlayersMenu(self.iface)) except: self.ui.btnBackgroundLayer.hide() self.ui.labelOpenLayersPlugin.show() # map<data source, table name> self.data_sources_table_names = {} # flag to disable update of local data sources during upload self.do_update_local_data_sources = True QObject.connect(self.ui.btnLogin, SIGNAL("clicked()"), self.check_login) QObject.connect(self.ui.btnDbCreate, SIGNAL("clicked()"), self.create_database) QObject.connect(self.ui.btnDbDelete, SIGNAL("clicked()"), self.delete_database) QObject.connect(self.ui.btnDbRefresh, SIGNAL("clicked()"), self.refresh_databases) QObject.connect(self.ui.tabDatabases, SIGNAL("itemSelectionChanged()"), self.select_database) QObject.connect(self.ui.btnPublishMap, SIGNAL("clicked()"), self.publish_map) QObject.connect(self.ui.btnRefreshLocalLayers, SIGNAL("clicked()"), self.refresh_local_data_sources) QObject.connect(self.iface, SIGNAL("newProjectCreated()"), self.reset_load_data) QObject.connect(QgsMapLayerRegistry.instance(), SIGNAL("layerWillBeRemoved(QString)"), self.remove_layer) QObject.connect(QgsMapLayerRegistry.instance(), SIGNAL("layerWasAdded(QgsMapLayer *)"), self.add_layer) QObject.connect(self.ui.cbUploadDatabase, SIGNAL("currentIndexChanged(int)"), lambda idx: self.activate_upload_button()) QObject.connect(self.ui.btnUploadData, SIGNAL("clicked()"), self.upload_data) self.ui.editServer.textChanged.connect(self.serverURL) self.ui.resetUrlBtn.clicked.connect(self.resetApiUrl) self.read_settings() self.api = API() self.db_connections = DbConnections() self.local_data_sources = LocalDataSources() self.data_upload = DataUpload(self.iface, self.statusBar(), self.ui.lblProgress, self.api, self.db_connections) if self.URL == "": self.ui.editServer.setText(self.api.api_url()) else: self.ui.editServer.setText(self.URL) self.palette_red = QPalette(self.ui.lblVersionPlugin.palette()) self.palette_red.setColor(QPalette.WindowText, Qt.red)
def __init__(self, iface, version): QDockWidget.__init__(self, None) self.iface = iface self.version = version # Set up the user interface from Designer. self.ui = Ui_QgisCloudPlugin() self.ui.setupUi(self) self.ui.tblLocalLayers.setColumnCount(5) header = [ "Layers", "Data source", "Table name", "Geometry type", "SRID" ] self.ui.tblLocalLayers.setHorizontalHeaderLabels(header) self.ui.tblLocalLayers.resizeColumnsToContents() # TODO; delegate for read only columns self.ui.btnUploadData.setEnabled(False) self.ui.uploadProgressBar.hide() self.ui.btnPublishMapUpload.hide() self.ui.lblLoginStatus.hide() # map<data source, table name> self.data_sources_table_names = {} self.dbs_refreshed = False # flag to disable update of local data sources during upload self.do_update_local_data_sources = True QObject.connect(self.ui.btnLogin, SIGNAL("clicked()"), self.refresh_databases) QObject.connect(self.ui.btnDbCreate, SIGNAL("clicked()"), self.create_database) QObject.connect(self.ui.btnDbDelete, SIGNAL("clicked()"), self.delete_database) QObject.connect(self.ui.btnDbRefresh, SIGNAL("clicked()"), self.refresh_databases) QObject.connect(self.ui.tabDatabases, SIGNAL("itemSelectionChanged()"), self.select_database) QObject.connect(self.ui.btnPublishMap, SIGNAL("clicked()"), self.publish_map) QObject.connect(self.ui.btnRefreshLocalLayers, SIGNAL("clicked()"), self.refresh_local_data_sources) QObject.connect(self.iface, SIGNAL("newProjectCreated()"), self.reset_load_data) QObject.connect(QgsMapLayerRegistry.instance(), SIGNAL("layerWillBeRemoved(QString)"), self.remove_layer) QObject.connect(QgsMapLayerRegistry.instance(), SIGNAL("layerWasAdded(QgsMapLayer *)"), self.add_layer) QObject.connect(self.ui.cbUploadDatabase, SIGNAL("currentIndexChanged(int)"), self.upload_database_selected) QObject.connect(self.ui.btnUploadData, SIGNAL("clicked()"), self.upload_data) QObject.connect(self.ui.btnPublishMapUpload, SIGNAL("clicked()"), self.publish_map) self.read_settings() self.update_urls() self.api = API() self.db_connections = DbConnections() self.local_data_sources = LocalDataSources() self.data_upload = DataUpload(self.iface, self.statusBar(), self.ui.uploadProgressBar, self.api, self.db_connections) self.ui.editServer.setText(self.api.api_url())