def restore_default_queries(self):
     """
     Overwrite all queries
     """
     text = self.pushButton_restoreQueries.text()
     self.pushButton_restoreQueries.setText(tr('QuickOSM', 'Copy ...'))
     get_user_query_folder(over_write=True)
     self.signal_new_query_successful.emit()
     self.my_queries.fill_tree(force=True)
     self.pushButton_restoreQueries.setText(text)
 def restore_default_queries(self):
     """
     Overwrite all queries
     """
     text = self.pushButton_restoreQueries.text()
     self.pushButton_restoreQueries.setText(tr('QuickOSM', 'Copy ...'))
     get_user_query_folder(over_write=True)
     self.signal_new_query_successful.emit()
     # self.my_queries.fill_tree(force=True)
     self.pushButton_restoreQueries.setText(text)
Example #3
0
    def __init__(self, iface):
        """Constructor.

        :param iface: An interface instance that will be passed to this class
            which provides the hook by which you can manipulate the QGIS
            application at run time.
        :type iface: QgsInterface
        """
        # Save reference to the QGIS interface
        self.iface = iface

        setup_logger('QuickOSM')

        # initialize plugin directory
        self.plugin_dir = dirname(__file__)
        # initialize locale
        locale = QSettings().value('locale/userLocale')[0:2]
        locale_path = join(
            self.plugin_dir,
            'i18n',
            'QuickOSM_{0}.qm'.format(locale))

        if exists(locale_path):
            self.translator = QTranslator()
            self.translator.load(locale_path)

            if qVersion() > '4.3.3':
                # noinspection PyTypeChecker
                QCoreApplication.installTranslator(self.translator)

        # Create the folder if it does not exist.
        get_user_query_folder(over_write=True)

        # Add to processing
        self.provider = QuickOSMAlgorithmProvider()
        Processing.addProvider(self.provider, True)

        # Add the toolbar
        self.toolbar = self.iface.addToolBar('QuickOSM')
        self.toolbar.setObjectName('QuickOSM')

        self.quickosm_menu = None
        self.dock_menu = None
        self.vector_menu = None
        self.mainWindowAction = None
        self.osmFileAction = None
        self.osmFileDockWidget = None
        self.myQueriesAction = None
        self.myQueriesDockWidget = None
        self.queryAction = None
        self.queryDockWidget = None
        self.quickQueryAction = None
        self.quickQueryDockWidget = None
Example #4
0
    def accept(self):
        """
        On accept, we call the FileQueryWriter
        """
        category = self.lineEdit_category.text()
        name = self.lineEdit_name.text()

        # Get folder .qgis2/QuickOSM/queries on linux for instance
        folder = get_user_query_folder()

        ini_file = FileQueryWriter(
            path=folder,
            name=name,
            category=category,
            query=self.query,
            white_list_values=self.white_list_values,
            output_geometry_types=self.output_geometry_types)
        try:

            if not category:
                raise MissingParameterException(suffix='category')
            if not name:
                raise MissingParameterException(suffix='name')

            ini_file.save()
            self.signal_new_query_successful.emit()
            self.hide()
        except QuickOsmException, e:
            self.message_bar.pushMessage(
                e.msg, level=e.level, duration=e.duration)
Example #5
0
    def accept(self):
        """
        On accept, we call the FileQueryWriter
        """
        category = self.lineEdit_category.text()
        name = self.lineEdit_name.text()

        # Get folder .qgis2/QuickOSM/queries on linux for instance
        folder = get_user_query_folder()

        ini_file = FileQueryWriter(
            path=folder,
            name=name,
            category=category,
            query=self.query,
            white_list_values=self.white_list_values,
            output_geometry_types=self.output_geometry_types)
        try:

            if not category:
                raise MissingParameterException(suffix='category')
            if not name:
                raise MissingParameterException(suffix='name')

            ini_file.save()
            self.signal_new_query_successful.emit()
            self.hide()
        except QuickOsmException, e:
            self.message_bar.pushMessage(e.msg,
                                         level=e.level,
                                         duration=e.duration)
Example #6
0
    def defineCharacteristics(self):
        self.name = "Queries available"
        self.group = "Tools"

        # Get the folder and all files queries
        folder = get_user_query_folder()
        cat_files = FileQuery.get_ini_files_from_folder(folder, force=False)

        for cat in cat_files:
            for query in cat_files[cat]:
                self.__queries[cat + " : " + query.getName()] = query

        self.__names = self.__queries.keys()

        self.addParameter(
            ParameterSelection(self.NAME_FILE, 'Queries available',
                               self.__names))

        self.addOutput(OutputString(self.OUTPUT_INI, "Ini filepath as string"))
Example #7
0
    def defineCharacteristics(self):
        self.name = "Queries available"
        self.group = "Tools"

        # Get the folder and all files queries
        folder = get_user_query_folder()
        cat_files = FileQuery.get_ini_files_from_folder(folder, force=False)

        for cat in cat_files:
            for query in cat_files[cat]:
                self.__queries[cat + " : " + query.getName()] = query

        self.__names = self.__queries.keys()

        self.addParameter(
            ParameterSelection(
                self.NAME_FILE,
                'Queries available',
                self.__names))

        self.addOutput(OutputString(self.OUTPUT_INI, "Ini filepath as string"))
Example #8
0
    def accept(self):
        """
        On accept, we call the FileQueryWriter
        """
        category = self.lineEdit_category.text()
        name = self.lineEdit_name.text()

        # Get folder .qgis2/QuickOSM/queries on linux for instance
        folder = get_user_query_folder()

        ini_file = FileQueryWriter(
            path=folder,
            name=name,
            category=category,
            query=self.query,
            whiteListValues=self.whiteListValues,
            outputGeomTypes=self.outputGeomTypes)
        try:
            ini_file.save()
            self.signal_new_query_successful.emit()
            self.hide()
        except QuickOsmException, e:
            self.bar.pushMessage(e.msg, level=e.level, duration=e.duration)
Example #9
0
    def fill_tree(self, force=False):
        """
        Fill the tree with queries

        @param force:To force the tree to refresh.
        @type force: bool
        """

        self.treeQueries.clear()

        # Get the folder and all file queries
        folder = get_user_query_folder()
        categories_files = FileQuery.get_ini_files_from_folder(folder,
                                                               force=force)

        # Fill all categories
        for cat, files in categories_files.items():
            category_item = QTreeWidgetItem([cat], 0)
            self.treeQueries.addTopLevelItem(category_item)
            for one_file in files:
                query_item = TreeQueryItem(category_item, one_file)
                self.treeQueries.addTopLevelItem(query_item)

        self.treeQueries.resizeColumnToContents(0)
Example #10
0
    def fill_tree(self, force=False):
        """
        Fill the tree with queries

        @param force:To force the tree to refresh.
        @type force: bool
        """

        self.treeQueries.clear()

        # Get the folder and all file queries
        folder = get_user_query_folder()
        categories_files = FileQuery.get_ini_files_from_folder(
            folder, force=force)

        # Fill all categories
        for cat, files in categories_files.iteritems():
            category_item = QTreeWidgetItem([cat], 0)
            self.treeQueries.addTopLevelItem(category_item)
            for one_file in files:
                query_item = TreeQueryItem(category_item, one_file)
                self.treeQueries.addTopLevelItem(query_item)

        self.treeQueries.resizeColumnToContents(0)