diff --git a/data/i18n/paysages_fr.ts b/data/i18n/paysages_fr.ts
index bd7663e..0676517 100644
--- a/data/i18n/paysages_fr.ts
+++ b/data/i18n/paysages_fr.ts
@@ -1429,7 +1429,7 @@ Maintenir Ctrl : Plus rapide
-
+ Editeur de terrain
@@ -1472,67 +1472,77 @@ Maintenir Ctrl : Plus rapide
Altitude relative de la couche d'eau
-
+
Aller aux textures pour ajouter des détails (roches...)
-
+
Prévisualisation du résultat
-
+
Rendu rapide
-
+
Explorer en 3D
-
+
Actions
-
+
Annuler les modifications
-
+
Valider les modifications
-
+
Mémoire utilisée par les zones sculptées : %1
-
+
Aucune zone n'a été sculptée
-
+
+
+ Aucune texture de détail
+
+
+
+
+ Déplacement maximal par textures : %1% du dénivelé total
+
+
+
Paysages 3D - Edition de la forme de base
-
+
Vous avez des modifications manuelles sur le terrain, modifier la forme de base peut produire des discontinuités.
-
+
Garder mes changements
-
+
Effacer mes changements
@@ -1766,87 +1776,87 @@ rapide (F5)
Caméra
-
+
Voulez-vous commencer un nouveau paysage ? Les modifications non sauvegardées seront perdues.
-
+
Paysages 3D - Nouvelle scène
-
+
Paysages 3D - Choisissez un fichier pour enregistrer la scène
-
-
+
+
Scène Paysages 3D (*.p3d)
-
-
+
+
Paysages 3D - Erreur d'enregistrement
-
+
Impossible d'écrire dans le fichier : %1
-
+
Erreur inconnue durant l'enregistrement : %1
-
+
Voulez-vous charger une scène ? Les modifications non sauvegardées seront perdues.
-
+
Paysages 3D - Charger une scène
-
+
Paysages 3D - Choisissez un fichier de scène à charger
-
-
-
-
+
+
+
+
Paysages 3D - Erreur de chargement
-
+
Impossible de lire le fichier : %1
-
+
Le fichier ne semble pas être au format Paysages 3D : %1
-
+
Le fichier a été créé avec une version incompatible de Paysages 3D : %1
-
+
Erreur inconnue lors du chargement : %1
-
+
-
+
Paysages 3D
diff --git a/src/editing/common/freeformhelper.cpp b/src/editing/common/freeformhelper.cpp
index 6905475..8d05b89 100644
--- a/src/editing/common/freeformhelper.cpp
+++ b/src/editing/common/freeformhelper.cpp
@@ -66,6 +66,7 @@ bool FreeFormHelper::eventFilter(QObject* object, QEvent* event)
void FreeFormHelper::startManaging()
{
_form_widget->installEventFilter(this);
+ connect(MainWindow::instance(), SIGNAL(refreshed()), this, SLOT(processGlobalRefresh()));
connect(this, SIGNAL(needLocalRefreshing()), _form_widget, SLOT(refreshFromLocalData()));
connect(this, SIGNAL(needGlobalRefreshing()), _form_widget, SLOT(refreshFromFellowData()));
@@ -73,9 +74,7 @@ void FreeFormHelper::startManaging()
connect(this, SIGNAL(needCommitting()), _form_widget, SLOT(commitLocalDataToScenery()));
connect(this, SIGNAL(needAlterRenderer(Renderer*)), _form_widget, SLOT(alterRenderer(Renderer*)));
- emit needLocalRefreshing();
- emit needGlobalRefreshing();
- emit needReverting();
+ processGlobalRefresh();
}
void FreeFormHelper::addPreview(BasePreview* preview, PreviewRenderer* renderer)
@@ -197,11 +196,7 @@ void FreeFormHelper::openDialog(QDialog* dialog)
void FreeFormHelper::gotoMainTab(int position)
{
- QWidget* window = _form_widget->window();
- if (window->inherits("MainWindow"))
- {
- ((MainWindow*)window)->openTab(position);
- }
+ MainWindow::instance()->openTab(position);
}
void FreeFormHelper::processDataChange()
@@ -224,6 +219,13 @@ void FreeFormHelper::processDataChange()
emit needLocalRefreshing();
}
+void FreeFormHelper::processGlobalRefresh()
+{
+ emit needGlobalRefreshing();
+
+ processRevertClicked();
+}
+
void FreeFormHelper::processRevertClicked()
{
emit needReverting();
@@ -261,15 +263,7 @@ void FreeFormHelper::processApplyClicked()
{
emit needCommitting();
- _data_changed = false;
- if (_button_apply)
- {
- _button_apply->setEnabled(false);
- }
- if (_button_revert)
- {
- _button_revert->setEnabled(false);
- }
+ MainWindow::instance()->refreshAll();
}
void FreeFormHelper::processExploreClicked()
diff --git a/src/editing/common/freeformhelper.h b/src/editing/common/freeformhelper.h
index 0933a24..5eb0383 100644
--- a/src/editing/common/freeformhelper.h
+++ b/src/editing/common/freeformhelper.h
@@ -53,6 +53,7 @@ signals:
public slots:
void processDataChange();
+ void processGlobalRefresh();
void processRevertClicked();
void processApplyClicked();
void processExploreClicked();
diff --git a/src/editing/common/mainwindow.cpp b/src/editing/common/mainwindow.cpp
index 2af1fda..7339129 100644
--- a/src/editing/common/mainwindow.cpp
+++ b/src/editing/common/mainwindow.cpp
@@ -28,6 +28,8 @@
#include "rendering/scenery.h"
#include "tools.h"
+MainWindow* MainWindow::_instance = NULL;
+
int main(int argc, char** argv)
{
MainWindow* window;
@@ -78,10 +80,11 @@ int main(int argc, char** argv)
return result;
}
-MainWindow::MainWindow(QWidget *parent) :
- QMainWindow(parent),
+MainWindow::MainWindow() :
+ QMainWindow(),
ui(new Ui::MainWindow)
{
+ _instance = this;
ui->setupUi(this);
BaseForm* form;
@@ -155,7 +158,6 @@ void MainWindow::refreshAll()
{
_forms[i]->revertConfig();
}
- // TODO Refresh free forms
// Refresh preview OSD
CameraDefinition* camera = cameraCreateDefinition();
@@ -166,6 +168,8 @@ void MainWindow::refreshAll()
item->drawCamera(camera);
item->setToolTip(QString(tr("Camera")));
cameraDeleteDefinition(camera);
+
+ emit refreshed();
}
void MainWindow::openTab(int position)
diff --git a/src/editing/common/mainwindow.h b/src/editing/common/mainwindow.h
index ac715b3..4bdf527 100644
--- a/src/editing/common/mainwindow.h
+++ b/src/editing/common/mainwindow.h
@@ -12,19 +12,27 @@ namespace Ui {
class MainWindow;
}
+class MainWindow;
+
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
- explicit MainWindow(QWidget *parent = 0);
+ MainWindow();
~MainWindow();
virtual bool event(QEvent* event);
+ static inline MainWindow* instance()
+ {
+ return _instance;
+ }
static void guiSaveCallback(PackStream* stream, void* data);
static void guiLoadCallback(PackStream* stream, void* data);
+protected:
+
public slots:
void refreshAll();
@@ -42,7 +50,11 @@ public slots:
void explore3D();
+signals:
+ void refreshed();
+
private:
+ static MainWindow* _instance;
Ui::MainWindow *ui;
void guiSave(PackStream* stream);