Skip to content
Permalink
Browse files
Merge branch 'master' of https://github.com/qgis/Quantum-GIS
Conflicts:
	python/plugins/sextante/algs/ftools/Difference.py
	python/plugins/sextante/algs/ftools/Intersection.py
	python/plugins/sextante/outputs/OutputTable.py
  • Loading branch information
volaya committed Jan 21, 2013
2 parents 995ede3 + 0757e42 commit 2231971ead00ea0fa5410d9805f20abd9142610f
Showing with 5,847 additions and 4,326 deletions.
  1. +23 −23 doc/TRANSLATORS
  2. +3 −2 doc/msvc.t2t
  3. +1,597 −1,514 i18n/qgis_de.ts
  4. +491 −476 i18n/qgis_pt_PT.ts
  5. +2 −0 images/images.qrc
  6. BIN images/themes/default/mIconTimerContinue.png
  7. BIN images/themes/default/mIconTimerPause.png
  8. +1 −1 python/analysis/network/qgsarcproperter.sip
  9. +1 −1 python/analysis/network/qgsdistancearcproperter.sip
  10. +6 −6 python/analysis/network/qgsgraphanalyzer.sip
  11. +4 −4 python/analysis/network/qgsgraphbuilderintr.sip
  12. +3 −3 python/analysis/network/qgsgraphdirector.sip
  13. +4 −15 python/console/console.py
  14. +19 −4 python/console/console_output.py
  15. +7 −11 python/console/console_sci.py
  16. +6 −0 python/core/composer/qgscomposition.sip
  17. +1 −0 python/core/core.sip
  18. +1 −1 python/core/qgscredentials.sip
  19. +61 −0 python/core/qgsofflineediting.sip
  20. +4 −4 python/core/qgspoint.sip
  21. +1 −1 python/core/raster/qgsrasterblock.sip
  22. +6 −6 python/core/raster/qgsrasterinterface.sip
  23. +1 −1 python/core/symbology-ng/qgsvectorcolorrampv2.sip
  24. +25 −11 python/gui/qgisinterface.sip
  25. +1 −1 python/gui/qgsannotationitem.sip
  26. +1 −1 python/gui/qgsmapcanvasitem.sip
  27. +2 −2 python/gui/qgsmaptool.sip
  28. +1 −1 python/gui/qgsmaptoolemitpoint.sip
  29. +3 −0 python/gui/qgsmessagebar.sip
  30. +1 −1 python/gui/qgsquickprint.sip
  31. +1 −1 python/gui/qgsrasterformatsaveoptionswidget.sip
  32. +1 −1 python/gui/qgsvertexmarker.sip
  33. +1 −1 python/plugins/GdalTools/tools/dialogSRS.py
  34. +1 −1 python/plugins/fTools/tools/ftools_utils.py
  35. +12 −12 python/plugins/sextante/admintools/ImportIntoPostGIS.py
  36. +2 −2 python/plugins/sextante/algs/AddTableField.py
  37. +14 −14 python/plugins/sextante/algs/FieldPyculator.py
  38. +2 −2 python/plugins/sextante/algs/FieldsCalculator.py
  39. +13 −13 python/plugins/sextante/algs/JoinAttributes.py
  40. +3 −3 python/plugins/sextante/algs/QGISAlgorithmProvider.py
  41. +3 −3 python/plugins/sextante/algs/ftools/BasicStatisticsNumbers.py
  42. +6 −6 python/plugins/sextante/algs/ftools/Buffer.py
  43. +4 −4 python/plugins/sextante/algs/ftools/Centroids.py
  44. +10 −10 python/plugins/sextante/algs/ftools/ConvexHull.py
  45. +2 −2 python/plugins/sextante/algs/ftools/Delaunay.py
  46. +4 −4 python/plugins/sextante/algs/ftools/DensifyGeometries.py
  47. +9 −9 python/plugins/sextante/algs/ftools/DensifyGeometriesInterval.py
  48. +2 −2 python/plugins/sextante/algs/ftools/Dissolve.py
  49. +4 −4 python/plugins/sextante/algs/ftools/ExportGeometryInfo.py
  50. +2 −2 python/plugins/sextante/algs/ftools/ExtentFromLayer.py
  51. +2 −2 python/plugins/sextante/algs/ftools/ExtractNodes.py
  52. +2 −2 python/plugins/sextante/algs/ftools/FToolsUtils.py
  53. +1 −1 python/plugins/sextante/algs/ftools/LinesIntersection.py
  54. +3 −3 python/plugins/sextante/algs/ftools/LinesToPolygons.py
  55. +2 −2 python/plugins/sextante/algs/ftools/MultipartToSingleparts.py
  56. +3 −3 python/plugins/sextante/algs/ftools/NearestNeighbourAnalysis.py
  57. +1 −1 python/plugins/sextante/algs/ftools/PointsInPolygon.py
  58. +1 −1 python/plugins/sextante/algs/ftools/PointsInPolygonUnique.py
  59. +1 −1 python/plugins/sextante/algs/ftools/PointsInPolygonWeighted.py
  60. +1 −1 python/plugins/sextante/algs/ftools/PolygonsToLines.py
  61. +1 −1 python/plugins/sextante/algs/ftools/RandomSelection.py
  62. +2 −2 python/plugins/sextante/algs/ftools/ReprojectLayer.py
  63. +8 −8 python/plugins/sextante/algs/ftools/SimplifyGeometries.py
  64. +1 −1 python/plugins/sextante/algs/ftools/SumLines.py
  65. +1 −1 python/plugins/sextante/algs/ftools/ftools_utils.py
  66. +14 −14 python/plugins/sextante/algs/mmqgisx/MMQGISXAlgorithms.py
  67. +30 −30 python/plugins/sextante/algs/mmqgisx/mmqgisx_library.py
  68. +2 −2 python/plugins/sextante/core/QGisLayers.py
  69. +4 −4 python/plugins/sextante/core/SextanteTableWriter.py
  70. +3 −3 python/plugins/sextante/gdal/translate.py
  71. +22 −22 python/plugins/sextante/grass/GrassAlgorithm.py
  72. +4 −5 python/plugins/sextante/grass/ext/HtmlReportPostProcessor.py
  73. +1 −2 python/plugins/sextante/grass/ext/r_coin.py
  74. +2 −3 python/plugins/sextante/grass/ext/r_covar.py
  75. +1 −2 python/plugins/sextante/grass/ext/r_describe.py
  76. +2 −2 python/plugins/sextante/grass/ext/r_info.py
  77. +2 −2 python/plugins/sextante/grass/ext/r_quantile.py
  78. +2 −3 python/plugins/sextante/grass/ext/r_regression_line.py
  79. +1 −2 python/plugins/sextante/grass/ext/v_class.py
  80. +2 −2 python/plugins/sextante/grass/ext/v_info.py
  81. +2 −3 python/plugins/sextante/grass/ext/v_normal.py
  82. +1 −2 python/plugins/sextante/grass/ext/v_report.py
  83. +1 −1 python/plugins/sextante/grass/ext/v_univar.py
  84. +5 −5 python/plugins/sextante/grass/nviz.py
  85. +2 −2 python/plugins/sextante/gui/AlgorithmExecutionDialog.py
  86. +1 −1 python/plugins/sextante/gui/FileSelectionPanel.py
  87. +1 −1 python/plugins/sextante/gui/InputLayerSelectorPanel.py
  88. +4 −4 python/plugins/sextante/modeler/ModelerAlgorithm.py
  89. +15 −15 python/plugins/sextante/modeler/ModelerParameterDefinitionDialog.py
  90. +4 −4 python/plugins/sextante/modeler/ModelerParametersDialog.py
  91. +3 −3 python/plugins/sextante/outputs/OutputTable.py
  92. +1 −1 python/plugins/sextante/parameters/ParameterFile.py
  93. +3 −3 python/plugins/sextante/parameters/ParameterNumber.py
  94. +1 −1 python/plugins/sextante/parameters/ParameterString.py
  95. +1 −1 python/plugins/sextante/saga/SagaAlgorithm.py
  96. +3 −3 scripts/context_help_id.py
  97. +9 −0 scripts/prepare-commit.sh
  98. +2 −4 src/app/CMakeLists.txt
  99. +3 −15 src/app/composer/qgscomposer.cpp
  100. +0 −4 src/app/composer/qgscomposer.h
  101. +21 −0 src/app/composer/qgscompositionwidget.cpp
  102. +2 −0 src/app/composer/qgscompositionwidget.h
  103. +60 −56 src/app/qgisapp.cpp
  104. +27 −15 src/app/qgisapp.h
  105. +26 −10 src/app/qgisappinterface.cpp
  106. +25 −11 src/app/qgisappinterface.h
  107. +169 −0 src/app/qgisappstylesheet.cpp
  108. +76 −0 src/app/qgisappstylesheet.h
  109. +1 −4 src/app/qgsattributetabledialog.cpp
  110. +2 −2 src/app/qgsbrowserdockwidget.cpp
  111. +1 −1 src/app/qgsbrowserdockwidget.h
  112. +2 −2 src/app/qgsmaptooledit.cpp
  113. +1 −1 src/app/qgsmaptoolselectutils.cpp
  114. +102 −51 src/app/qgsoptions.cpp
  115. +34 −8 src/app/qgsoptions.h
  116. +7 −2 src/core/CMakeLists.txt
  117. +10 −8 src/core/composer/qgsatlascomposition.cpp
  118. +120 −2 src/core/composer/qgscomposeritem.cpp
  119. +11 −0 src/core/composer/qgscomposeritem.h
  120. +179 −5 src/core/composer/qgscomposition.cpp
  121. +37 −0 src/core/composer/qgscomposition.h
  122. +25 −31 src/{plugins/offline_editing/offline_editing.cpp → core/qgsofflineediting.cpp}
  123. +46 −7 src/{plugins/offline_editing/offline_editing.h → core/qgsofflineediting.h}
  124. +1 −1 src/core/qgsprojectfiletransform.h
  125. +26 −11 src/gui/qgisinterface.h
  126. +29 −8 src/gui/qgsmessagebar.cpp
  127. +4 −0 src/gui/qgsmessagebar.h
  128. +4 −0 src/gui/qgsrasterformatsaveoptionswidget.cpp
  129. +4 −0 src/mapserver/qgsconfigcache.cpp
  130. +12 −12 src/plugins/grass/qgis_grass_test.py
  131. +0 −2 src/plugins/offline_editing/CMakeLists.txt
  132. +67 −3 src/plugins/offline_editing/offline_editing_plugin.cpp
  133. +10 −1 src/plugins/offline_editing/offline_editing_plugin.h
  134. +1 −1 src/providers/gdal/qgsgdalprovider.cpp
  135. +14 −7 src/providers/grass/qgsgrassrasterprovider.cpp
  136. +103 −126 src/providers/oracle/ocispatial/qsql_ocispatial.cpp
  137. +23 −12 src/providers/oracle/qgsoraclecolumntypethread.cpp
  138. +2 −3 src/providers/oracle/qgsoraclecolumntypethread.h
  139. +41 −15 src/providers/oracle/qgsoracleconn.cpp
  140. +2 −0 src/providers/oracle/qgsoracleconn.h
  141. +51 −70 src/providers/oracle/qgsoracledataitems.cpp
  142. +4 −3 src/providers/oracle/qgsoracledataitems.h
  143. +194 −78 src/providers/oracle/qgsoracleprovider.cpp
  144. +13 −2 src/providers/oracle/qgsoracleprovider.h
  145. +10 −84 src/providers/oracle/qgsoraclesourceselect.cpp
  146. +0 −1 src/providers/oracle/qgsoraclesourceselect.h
  147. +6 −3 src/providers/postgres/qgspostgresdataitems.cpp
  148. +1 −1 src/providers/postgres/qgspostgresprovider.cpp
  149. +6 −3 src/providers/spatialite/qgsspatialitedataitems.cpp
  150. +7 −10 src/ui/qgsabout.ui
  151. +72 −70 src/ui/qgscompositionwidgetbase.ui
  152. +1,600 −1,196 src/ui/qgsoptionsbase.ui

Large diffs are not rendered by default.

@@ -112,8 +112,9 @@ box, browse to the top level QGIS directory.
In the //Where to build the binaries:// box, browse to the 'build' directory you
created.

Adjust the path to bison and flex so that the shortened ``C:/Progra~1`` is used
rather than ``C:/Program Files``.
If the path to bison and flex contains blanks, you need to use the short name
for the directory (i.e. ``C:\Program Files`` should be rewritten to
``C:\Progra~n``, where ``n`` is the number as shown in `dir /x C:\``).

Verify that the 'BINDINGS_GLOBAL_INSTALL' option is not checked, so that python
bindings are placed into the output directory when you run the INSTALL target.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

@@ -225,6 +225,8 @@
<file>themes/default/mIconRenderingDisabled.png</file>
<file>themes/default/mIconSymbology.png</file>
<file>themes/default/mIconTableLayer.png</file>
<file>themes/default/mIconTimerPause.png</file>
<file>themes/default/mIconTimerContinue.png</file>
<file>themes/default/mIconUnknownLayerType.png</file>
<file>themes/default/mIconVectorLayer.png</file>
<file>themes/default/mIconWaitingForLayerType.png</file>
Binary file not shown.
Binary file not shown.
@@ -29,7 +29,7 @@ class QgsArcProperter
* default constructor
*/
QgsArcProperter();

/**
* QgsGraphDirector call this method for fetching attribute from source layer
* \return required attributes list
@@ -4,7 +4,7 @@ class QgsDistanceArcProperter : QgsArcProperter
%TypeHeaderCode
#include <qgsdistancearcproperter.h>
%End

public:
virtual QVariant property( double distance, const QgsFeature& ) const;
};
@@ -3,7 +3,7 @@ class QgsGraphAnalyzer
%TypeHeaderCode
#include <qgsgraphanalyzer.h>
%End

public:
/**
* solve shortest path problem using dijkstra algorithm
@@ -17,8 +17,8 @@ class QgsGraphAnalyzer
%MethodCode
QVector< int > treeResult;
QVector< double > costResult;
QgsGraphAnalyzer::dijkstra( a0, a1, a2, &treeResult, &costResult );
QgsGraphAnalyzer::dijkstra( a0, a1, a2, &treeResult, &costResult );

PyObject *l1 = PyList_New( treeResult.size() );
if ( l1 == NULL )
{
@@ -31,13 +31,13 @@ class QgsGraphAnalyzer
}
int i;
for ( i = 0; i < costResult.size(); ++i )
{
{
PyObject *Int = PyInt_FromLong( treeResult[i] );
PyList_SET_ITEM( l1, i, Int );
PyObject *Float = PyFloat_FromDouble( costResult[i] );
PyList_SET_ITEM( l2, i, Float );
PyList_SET_ITEM( l2, i, Float );
}

sipRes = PyTuple_New( 2 );
PyTuple_SET_ITEM( sipRes, 0, l1 );
PyTuple_SET_ITEM( sipRes, 1, l2 );
@@ -24,20 +24,20 @@ class QgsGraphBuilderInterface
/**
* QgsGraphBuilderInterface constructor
* @param crs Coordinate reference system for new graph vertex
* @param ctfEnabled enable coordinate transform from source graph CRS to CRS graph
* @param ctfEnabled enable coordinate transform from source graph CRS to CRS graph
* @param topologyTolerance sqrt distance between source point as one graph vertex
* @param ellipsoidID ellipsoid for edge measurement
*/
QgsGraphBuilderInterface( const QgsCoordinateReferenceSystem& crs, bool ctfEnabled = true, double topologyTolerance = 0.0, const QString& ellipsoidID = "WGS84" );

QgsCoordinateReferenceSystem& destinationCrs();

//! get coordinate transformation enabled
bool coordinateTransformationEnabled();

//! get topology tolerance
double topologyTolerance();

//! get measurement tool
QgsDistanceArea* distanceArea();

@@ -59,5 +59,5 @@ class QgsGraphBuilderInterface
* @note pt1id, pt1 and pt2id, pt2 is a redundant interface. You can use vertex coordinates or their identificators.
*/
virtual void addArc( int pt1id, const QgsPoint& pt1, int pt2id, const QgsPoint& pt2, const QVector< QVariant >& properties );

};
@@ -20,7 +20,7 @@ class QgsGraphDirector : QObject
sipClass = NULL;
%End


signals:
void buildProgress( int, int ) const;
void buildMessage( QString ) const;
@@ -43,9 +43,9 @@ class QgsGraphDirector : QObject
virtual void makeGraph( QgsGraphBuilderInterface *builder,
const QVector< QgsPoint > &additionalPoints,
QVector< QgsPoint> &tiedPoints /Out/ );

void addProperter( QgsArcProperter* prop /Transfer/ ) ;

/**
* return Director name
*/
@@ -167,16 +167,6 @@ def __init__(self, parent=None):
self.loadSextanteButton.setIconVisibleInMenu(True)
self.loadSextanteButton.setToolTip(loadSextanteBt)
self.loadSextanteButton.setText(loadSextanteBt)
## Import QgisInterface class
loadIfaceBt = QCoreApplication.translate("PythonConsole", "Import QgisInterface class")
self.loadIfaceButton = QAction(parent)
self.loadIfaceButton.setCheckable(False)
self.loadIfaceButton.setEnabled(True)
self.loadIfaceButton.setIcon(QgsApplication.getThemeIcon("console/iconIfaceConsole.png"))
self.loadIfaceButton.setMenuRole(QAction.PreferencesRole)
self.loadIfaceButton.setIconVisibleInMenu(True)
self.loadIfaceButton.setToolTip(loadIfaceBt)
self.loadIfaceButton.setText(loadIfaceBt)
## Import QtCore class
loadQtCoreBt = QCoreApplication.translate("PythonConsole", "Import PyQt.QtCore class")
self.loadQtCoreButton = QAction(parent)
@@ -246,7 +236,6 @@ def __init__(self, parent=None):
self.toolBar.addAction(self.runButton)
## Menu Import Class
self.classMenu = QMenu(self)
self.classMenu.addAction(self.loadIfaceButton)
self.classMenu.addAction(self.loadSextanteButton)
self.classMenu.addAction(self.loadQtCoreButton)
self.classMenu.addAction(self.loadQtGuiButton)
@@ -293,7 +282,6 @@ def __init__(self, parent=None):

self.clearButton.triggered.connect(self.textEditOut.clearConsole)
self.optionsButton.triggered.connect(self.openSettings)
self.loadIfaceButton.triggered.connect(self.iface)
self.loadSextanteButton.triggered.connect(self.sextante)
self.loadQtCoreButton.triggered.connect(self.qtCore)
self.loadQtGuiButton.triggered.connect(self.qtGui)
@@ -307,9 +295,6 @@ def __init__(self, parent=None):
def sextante(self):
self.edit.commandConsole('sextante')

def iface(self):
self.edit.commandConsole('iface')

def qtCore(self):
self.edit.commandConsole('qtCore')

@@ -355,6 +340,7 @@ def saveScriptFile(self):
sF.write('\n')
sF.write(s)
sF.close()
self.callWidgetMessageBar('Script was correctly saved.')

def openHelp(self):
self.helpDlg.show()
@@ -366,6 +352,9 @@ def openSettings(self):
def prefChanged(self):
self.edit.refreshLexerProperties()
self.textEditOut.refreshLexerProperties()

def callWidgetMessageBar(self, text):
self.textEditOut.widgetMessageBar(iface, text)

if __name__ == '__main__':
a = QApplication(sys.argv)
@@ -25,6 +25,7 @@
QsciScintillaBase,
QsciLexerPython)
from qgis.core import QgsApplication
from qgis.gui import QgsMessageBar
import sys

class writeOut:
@@ -72,6 +73,17 @@ def __init__(self, parent=None):
self.parent = parent
self.edit = self.parent.edit

# Creates layout for message bar
self.layout = QGridLayout(self)
self.layout.setContentsMargins(0, 0, 0, 0)
spacerItem = QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding)
self.layout.addItem(spacerItem, 1, 0, 1, 1)
# messageBar instance
self.infoBar = QgsMessageBar()
sizePolicy = QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed)
self.infoBar.setSizePolicy(sizePolicy)
self.layout.addWidget(self.infoBar, 0, 0, 1, 1)

# Enable non-ascii chars for editor
self.setUtf8(True)

@@ -125,7 +137,7 @@ def __init__(self, parent=None):
def insertInitText(self):
txtInit = QCoreApplication.translate("PythonConsole",
"## To access Quantum GIS environment from this console\n"
"## iface object (instance of QgisInterface class). \n"
"## use iface object (instance of QgisInterface class). \n"
"## Type help(iface) for more info and list of methods.\n\n")
initText = self.setText(txtInit)

@@ -265,7 +277,10 @@ def pastebin(self):
link = i.replace('<a href="',"").strip()
if link:
QApplication.clipboard().setText(link)
print "## URL copied to clipboard ##"
self.parent.callWidgetMessageBar('URL copied to clipboard')
except urllib2.URLError, e:
print "## Connection error ##"
print "## " + str(e.args) + " ##"
self.parent.callWidgetMessageBar('Connection error: ' + str(e.args))

def widgetMessageBar(self, iface, text):
timeout = iface.messageTimeout()
self.infoBar.pushMessage(text, QgsMessageBar.INFO, timeout)
@@ -31,7 +31,7 @@
import code

_init_commands = ["from qgis.core import *", "import qgis.utils",
"from qgis.utils import iface"]
"from qgis.utils import iface"]
_historyFile = os.path.join(str(QDir.homePath()),".qgis","console_history.txt")

class PythonEdit(QsciScintilla, code.InteractiveInterpreter):
@@ -40,6 +40,8 @@ def __init__(self, parent=None):
super(PythonEdit,self).__init__(parent)
code.InteractiveInterpreter.__init__(self, locals=None)

self.parent = parent

# Enable non-ascii chars for editor
self.setUtf8(True)

@@ -128,10 +130,7 @@ def commandConsole(self, command):
selCmdLenght = self.text(line).length()
self.setSelection(line, 4, line, selCmdLenght)
self.removeSelectedText()
if command == "iface":
# import QgisInterface class
self.append('from qgis.utils import iface')
elif command == "sextante":
if command == "sextante":
# import Sextante class
self.append('import sextante')
elif command == "qtCore":
@@ -503,17 +502,14 @@ def runCommand(self, cmd):
if cmd in ('_save', '_clear', '_clearAll', '_pyqgis', '_api'):
if cmd == '_save':
self.writeHistoryFile()
print QCoreApplication.translate("PythonConsole",
"## History saved successfully ##")
self.parent.callWidgetMessageBar('History saved successfully')
elif cmd == '_clear':
self.clearHistoryFile()
print QCoreApplication.translate("PythonConsole",
"## History cleared successfully ##")
self.parent.callWidgetMessageBar('History cleared successfully')
elif cmd == '_clearAll':
self.history = QStringList()
self.clearHistoryFile()
print QCoreApplication.translate("PythonConsole",
"## Session and file history cleared successfully ##")
self.parent.callWidgetMessageBar('Session and file history cleared successfully')
elif cmd == '_pyqgis':
webbrowser.open( "http://www.qgis.org/pyqgis-cookbook/" )
elif cmd == '_api':
@@ -65,6 +65,12 @@ class QgsComposition : QGraphicsScene
void setGridStyle( GridStyle s );
GridStyle gridStyle() const;

void setAlignmentSnap( bool s );
bool alignmentSnap() const;

void setAlignmentSnapTolerance( double t );
double alignmentSnapTolerance() const;

/**Returns pointer to undo/redo command storage*/
QUndoStack* undoStack();

@@ -42,6 +42,7 @@
%Include qgsmessageoutput.sip
%Include qgsmimedatautils.sip
%Include qgsnetworkaccessmanager.sip
%Include qgsofflineediting.sip
%Include qgsoverlayobject.sip
%Include qgsowsconnection.sip
%Include qgspaintenginehack.sip
@@ -8,7 +8,7 @@ class QgsCredentials
//! virtual destructor
virtual ~QgsCredentials();

bool get( QString realm, QString &username /In,Out/, QString &password /In,Out/, QString message = QString::null );
bool get( QString realm, QString &username, QString &password, QString message = QString::null );
void put( QString realm, QString username, QString password );

//! retrieves instance
@@ -0,0 +1,61 @@
/** \class QgsOfflineEditing
* \brief Class for accessing functionality of Offline Editing Plugin.
* This class can be used to access offline editing functionality from plugins.
*/
class QgsOfflineEditing : QObject
{
%TypeHeaderCode
#include <qgsofflineediting.h>
%End

public:
enum ProgressMode {
CopyFeatures = 0,
ProcessFeatures,
AddFields,
AddFeatures,
RemoveFeatures,
UpdateFeatures,
UpdateGeometries
};

QgsOfflineEditing();
~QgsOfflineEditing();

/** convert current project for offline editing
* @param offlineDataPath path to offline db file
* @param offlineDbFile offline db file name
* @param layerIds list of layer names to convert
*/
bool convertToOfflineProject( const QString& offlineDataPath, const QString& offlineDbFile, const QStringList& layerIds );

/** return true if current project is offline */
bool isOfflineProject();

/** synchronize to remote layers */
void synchronize();

signals:
/** emit a signal that processing has started */
void progressStarted();

/** emit a signal that the next layer of numLayers has started processing
* @param layer current layer index
* @param numLayers total number of layers
*/
void layerProgressUpdated( int layer, int numLayers );

/** emit a signal that sets the mode for the progress of the current operation
* @param mode progress mode
* @param maximum total number of entities to process in the current operation
*/
void progressModeSet( QgsOfflineEditing::ProgressMode mode, int maximum );

/** emit a signal with the progress of the current mode
* @param progress current index of processed entities
*/
void progressUpdated( int progress );

/** emit a signal that processing of all layers has finished */
void progressStopped();
};

0 comments on commit 2231971

Please sign in to comment.