This repository has been archived by the owner on Apr 5, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 4
/
qconsolidate.py
99 lines (79 loc) · 4.2 KB
/
qconsolidate.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
# -*- coding: utf-8 -*-
#******************************************************************************
#
# QConsolidate
# ---------------------------------------------------------
# Consolidates all layers from current QGIS project into one directory and
# creates copy of current project using this consolidated layers.
#
# Copyright (C) 2012-2013 Alexander Bruy ([email protected])
#
# This source is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free
# Software Foundation, either version 2 of the License, or (at your option)
# any later version.
#
# This code is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
# details.
#
# A copy of the GNU General Public License is available on the World Wide Web
# at <http://www.gnu.org/licenses/>. You can also obtain it by writing
# to the Free Software Foundation, 51 Franklin Street, Suite 500 Boston,
# MA 02110-1335 USA.
#
#******************************************************************************
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from qgis.core import *
from qgis.gui import *
import qconsolidatedialog
import aboutdialog
import resources_rc
class QConsolidatePlugin:
def __init__(self, iface):
self.iface = iface
self.qgsVersion = unicode(QGis.QGIS_VERSION_INT)
# For i18n support
userPluginPath = QFileInfo(QgsApplication.qgisUserDbFilePath()).path() + "/python/plugins/qconsolidate"
systemPluginPath = QgsApplication.prefixPath() + "/python/plugins/qconsolidate"
overrideLocale = QSettings().value("locale/overrideFlag", False, type=bool)
if not overrideLocale:
localeFullName = QLocale.system().name()
else:
localeFullName = QSettings().value("locale/userLocale", "")
if QFileInfo(userPluginPath).exists():
translationPath = userPluginPath + "/i18n/qconsolidate_" + localeFullName + ".qm"
else:
translationPath = systemPluginPath + "/i18n/qconsolidate_" + localeFullName + ".qm"
self.localePath = translationPath
if QFileInfo(self.localePath).exists():
self.translator = QTranslator()
self.translator.load(self.localePath)
QCoreApplication.installTranslator(self.translator)
def initGui(self):
if int(self.qgsVersion) < 20000:
qgisVersion = self.qgsVersion[0] + "." + self.qgsVersion[2] + "." + self.qgsVersion[3]
QMessageBox.warning(self.iface.mainWindow(), "QConsolidate",
QCoreApplication.translate("QConsolidate", "QGIS %s detected.\n") % (qgisVersion) +
QCoreApplication.translate("QConsolidate", "This version of QConsolidate requires at least QGIS version 2.0.\nPlugin will not be enabled."))
return None
self.actionRun = QAction(QIcon(":/icons/qconsolidate.png"), "QConsolidate", self.iface.mainWindow())
self.actionRun.setStatusTip(QCoreApplication.translate("QConsolidate", "Consolidates all layers from current QGIS project into one directory"))
self.actionAbout = QAction(QIcon(":/icons/about.png"), "About QConsolidate", self.iface.mainWindow())
self.actionRun.triggered.connect(self.run)
self.actionAbout.triggered.connect(self.about)
self.iface.addPluginToMenu(QCoreApplication.translate("QConsolidate", "QConsolidate"), self.actionRun)
self.iface.addPluginToMenu(QCoreApplication.translate("QConsolidate", "QConsolidate"), self.actionAbout)
self.iface.addToolBarIcon(self.actionRun)
def unload(self):
self.iface.removePluginMenu(QCoreApplication.translate("QConsolidate", "QConsolidate"), self.actionRun)
self.iface.removePluginMenu(QCoreApplication.translate("QConsolidate", "QConsolidate"), self.actionAbout)
self.iface.removeToolBarIcon(self.actionRun)
def run(self):
dlg = qconsolidatedialog.QConsolidateDialog(self.iface)
dlg.exec_()
def about(self):
dlg = aboutdialog.AboutDialog()
dlg.exec_()