Index: zygrib-3.9.2/src/GribAnimator.cpp
===================================================================
--- zygrib-3.9.2.orig/src/GribAnimator.cpp	2010-06-08 13:25:51.000000000 +0100
+++ zygrib-3.9.2/src/GribAnimator.cpp	2010-06-08 13:25:56.000000000 +0100
@@ -23,6 +23,7 @@
 #include <QMessageBox>
 #include <QDir>
 
+#include "config.h"
 #include "GribAnimator.h"
 #include "ImageWriter.h"
 #include "Font.h"
@@ -38,13 +39,13 @@
     
     acExit = new QAction(this);
     acExit->setToolTip (tr("Close the window"));
-	acExit->setIcon(QIcon("img/exit.png"));
+	acExit->setIcon(QIcon(ICONS_PATH "exit.png"));
     this->addAction(acExit);
 	connect(acExit, SIGNAL(triggered()), this, SLOT(actionsCommonSlot()));
     
     acSaveFile = new QAction(this);
     acSaveFile->setToolTip (tr("Save all images"));
-	acSaveFile->setIcon(QIcon("img/media-floppy.png"));
+	acSaveFile->setIcon(QIcon(ICONS_PATH "media-floppy.png"));
     this->addAction(acSaveFile);
 	connect(acSaveFile, SIGNAL(triggered()), this, SLOT(actionsCommonSlot()));
     
@@ -52,19 +53,19 @@
 
     acRewind = new QAction(this);
     acRewind->setToolTip (tr("Restart animation"));
-	acRewind->setIcon(QIcon("img/player_start.png"));
+	acRewind->setIcon(QIcon(ICONS_PATH "player_start.png"));
     this->addAction(acRewind);
 	connect(acRewind, SIGNAL(triggered()), this, SLOT(actionsCommonSlot()));
 
     acStart = new QAction(this);
     acStart->setToolTip (tr("Start animation"));
-	acStart->setIcon(QIcon("img/player_play.png"));
+	acStart->setIcon(QIcon(ICONS_PATH "player_play.png"));
     this->addAction(acStart);
 	connect(acStart, SIGNAL(triggered()), this, SLOT(actionsCommonSlot()));
 
     acPause = new QAction(this);
     acPause->setToolTip (tr("Stop animation"));
-	acPause->setIcon(QIcon("img/player_pause.png"));
+	acPause->setIcon(QIcon(ICONS_PATH "player_pause.png"));
     this->addAction(acPause);
 	connect(acPause, SIGNAL(triggered()), this, SLOT(actionsCommonSlot()));
 
@@ -72,7 +73,7 @@
     
     acAutoLoop = new QAction(this);
     acAutoLoop->setToolTip (tr("Play in loop"));
-	acAutoLoop->setIcon(QIcon("img/reload.png"));
+	acAutoLoop->setIcon(QIcon(ICONS_PATH "reload.png"));
 	acAutoLoop->setCheckable ( true );
 	acAutoLoop->setChecked(autoLoop);
     this->addAction(acAutoLoop);
Index: zygrib-3.9.2/src/MainWindow.cpp
===================================================================
--- zygrib-3.9.2.orig/src/MainWindow.cpp	2010-06-08 13:25:51.000000000 +0100
+++ zygrib-3.9.2/src/MainWindow.cpp	2010-06-08 13:25:56.000000000 +0100
@@ -16,6 +16,7 @@
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 ***********************************************************************/
 
+#include "config.h"
 #include <cmath>
 
 #include <QApplication>
@@ -323,7 +324,7 @@
 
     //--------------------------------------------------
     int mapQuality = 0;
-    gshhsReader = new GshhsReader("maps/gshhs", mapQuality);
+    gshhsReader = new GshhsReader(MAPS_PATH "gshhs", mapQuality);
     assert(gshhsReader);
 
     //---------------------------------------------------
Index: zygrib-3.9.2/src/MenuBar.cpp
===================================================================
--- zygrib-3.9.2.orig/src/MenuBar.cpp	2010-06-08 13:25:51.000000000 +0100
+++ zygrib-3.9.2/src/MenuBar.cpp	2010-06-08 13:25:56.000000000 +0100
@@ -17,6 +17,7 @@
 ***********************************************************************/
 #include <QFile>
 
+#include "config.h"
 #include "MenuBar.h"
 #include "Font.h"
 #include "Util.h"
@@ -62,17 +63,17 @@
     menuFile = new QMenu(tr("File"));
         acFile_Open = addAction(menuFile,
         			tr("Open"), tr("Ctrl+O"),
-                    tr("Open a GRIB file"), "img/fileopen.png");
+                    tr("Open a GRIB file"), ICONS_PATH "fileopen.png");
         acFile_Close = addAction(menuFile,
         			tr("Close"), tr("Ctrl+W"),
-                    tr("Close"), "img/fileclose.png");
+                    tr("Close"), ICONS_PATH "fileclose.png");
         menuFile->addSeparator();
         acFile_Load_GRIB = addAction(menuFile,
         			tr("Download GRIB"), tr("Ctrl+D"),
-                    tr("Download"), "img/network.png");
+                    tr("Download"), ICONS_PATH "network.png");
         acFile_GribServerStatus = addAction(menuFile,
         			tr("GRIB server status"), tr("Ctrl+R"),
-                    tr("GRIB file server status"), "img/connect_no.png");
+                    tr("GRIB file server status"), ICONS_PATH "connect_no.png");
 
         acFile_Load_IAC = addAction(menuFile,
         	tr("IAC fleetcode NOAA"), tr("Ctrl+L"),
@@ -81,17 +82,17 @@
         menuFile->addSeparator();
         acFile_Info_GRIB = addAction(menuFile,
         			tr("File information"), tr("Ctrl+I"),
-                    tr("GRIB file information"), "img/info.png");
+                    tr("GRIB file information"), ICONS_PATH "info.png");
         menuFile->addSeparator();
         ac_CreateAnimation = addAction(menuFile,
         			tr("Create animation"), tr("Ctrl+A"),
-                    tr("Create animation with GRIB data"), "img/anim.png");
+                    tr("Create animation with GRIB data"), ICONS_PATH "anim.png");
         ac_ExportImage = addAction(menuFile,
-        			tr("Save current image"), "Ctrl+S","","img/media-floppy.png");
+        			tr("Save current image"), "Ctrl+S","",ICONS_PATH "media-floppy.png");
         menuFile->addSeparator();
         acFile_Quit = addAction(menuFile,
                     tr("Quit"), tr("Ctrl+Q"),
-                    tr("Bye"), "img/exit.png");
+                    tr("Bye"), ICONS_PATH "exit.png");
     addMenu(menuFile);
 	
     //-------------------------------------
@@ -330,30 +331,30 @@
         menuMap->addSeparator();
         acMap_Zoom_In = addAction(menuMap,
         				tr("Increase map scale"), tr("+"),
-                        tr("Increase map scale"), "img/viewmag+.png");
+                        tr("Increase map scale"), ICONS_PATH "viewmag+.png");
         acMap_Zoom_Out = addAction(menuMap,
         				tr("Reduce map scale"), tr("-"),
-                        tr("Reduce map scale"), "img/viewmag-.png");
+                        tr("Reduce map scale"), ICONS_PATH "viewmag-.png");
         acMap_Zoom_Sel = addAction(menuMap,
                         tr("Zoom (selected zone or Grib file)"), tr("Ctrl+Z"),
                         tr("Zoom on the selected zone or on the Grib file area"),
-                        "img/viewmagfit.png");
+                        ICONS_PATH "viewmagfit.png");
         acMap_Zoom_All = addAction(menuMap,
         				tr("Show whole map"), tr("Ctrl+M"),
-                        tr("Show whole map"), "img/viewmag1.png");
+                        tr("Show whole map"), ICONS_PATH "viewmag1.png");
         menuMap->addSeparator();
         acMap_Go_Left = addAction(menuMap,
         				tr("Left"), tr("LEFT"),
-                        tr("Move"), "img/back.png");
+                        tr("Move"), ICONS_PATH "back.png");
         acMap_Go_Right = addAction(menuMap,
         				tr("Right"), tr("RIGHT"),
-                        tr("Move"), "img/forward.png");
+                        tr("Move"), ICONS_PATH "forward.png");
         acMap_Go_Up   = addAction(menuMap,
         				tr("Top"), tr("UP"),
-                        tr("Move"), "img/up.png");
+                        tr("Move"), ICONS_PATH "up.png");
         acMap_Go_Down = addAction(menuMap,
         				tr("Down"), tr("DOWN"),
-                        tr("Move"), "img/down.png");
+                        tr("Move"), ICONS_PATH "down.png");
 
     addMenu(menuMap);
 
@@ -379,7 +380,7 @@
     menuHelp = new QMenu(tr("Help"));
         acHelp_Help = addAction(menuHelp,
         				tr("Help"), tr("Ctrl+H"),
-        				"","img/help.png");
+        				"",ICONS_PATH "help.png");
         acHelp_APropos = addAction(menuHelp, tr("About zyGrib"),"","","");
         acHelp_AProposQT = addAction(menuHelp, tr("About QT"),"","","");
     addMenu(menuHelp);
@@ -388,9 +389,9 @@
     // Autres objets de l'interface
     //-------------------------------------
     acDatesGrib_prev = addAction( NULL,
-            tr("Last forecast [page up]"),tr("PgUp"),"","img/1leftarrow.png");
+            tr("Last forecast [page up]"),tr("PgUp"),"",ICONS_PATH "1leftarrow.png");
     acDatesGrib_next = addAction( NULL,
-            tr("Next forecast [page down]"),tr("PgDown"),"","img/1rightarrow.png");
+            tr("Next forecast [page down]"),tr("PgDown"),"",ICONS_PATH "1rightarrow.png");
 
     cbDatesGrib = new QComboBox();
     cbDatesGrib->setSizeAdjustPolicy(QComboBox::AdjustToContents);
Index: zygrib-3.9.2/src/config.h
===================================================================
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
+++ zygrib-3.9.2/src/config.h	2010-06-08 13:25:56.000000000 +0100
@@ -0,0 +1,26 @@
+/**********************************************************************
+zyGrib: meteorological GRIB file viewer
+Copyright (C) 2008 - Jacques Zaninetti - http://www.zygrib.org
+
+This program 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 3 of the License, or
+(at your option) any later version.
+
+This program 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.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+***********************************************************************/
+
+#ifndef CONFIG_H
+#define CONFIG_H
+
+#define MAPS_PATH "/usr/share/zygrib/maps/"
+#define ICONS_PATH "/usr/share/icons/zygrib/"
+#define TRANSLATIONS_PATH "/usr/share/qt4/translations/"
+
+#endif /* CONFIG_H */
Index: zygrib-3.9.2/src/main.cpp
===================================================================
--- zygrib-3.9.2.orig/src/main.cpp	2010-06-08 13:25:51.000000000 +0100
+++ zygrib-3.9.2/src/main.cpp	2010-06-08 15:14:10.000000000 +0100
@@ -23,6 +23,7 @@
 #include <QMessageBox>
 #include <QImageWriter>
 
+#include "config.h"
 #include "MainWindow.h"
 #include "Settings.h"
 #include "Version.h"
@@ -96,63 +97,63 @@
     if (lang == "fr") {
         QLocale::setDefault(QLocale("fr_FR"));
         trSystem.load( QString("qt_fr"), QLibraryInfo::location(QLibraryInfo::TranslationsPath));
-        trZygrib.load( QString("tr/zyGrib_") + lang);
+        trZygrib.load( QString(TRANSLATIONS_PATH "zyGrib_") + lang);
         app.installTranslator(&trZygrib);
         app.installTranslator(&trSystem);
     }
     else if (lang == "de") {
         QLocale::setDefault(QLocale("de_DE"));
         trSystem.load( QString("qt_de"), QLibraryInfo::location(QLibraryInfo::TranslationsPath));
-        trZygrib.load( QString("tr/zyGrib_") + lang);
+        trZygrib.load( QString(TRANSLATIONS_PATH "zyGrib_") + lang);
         app.installTranslator(&trZygrib);
         app.installTranslator(&trSystem);
     }
     else if (lang == "ru") {
         QLocale::setDefault(QLocale("ru_RU"));
         trSystem.load( QString("qt_ru"), QLibraryInfo::location(QLibraryInfo::TranslationsPath));
-        trZygrib.load( QString("tr/zyGrib_") + lang);
+        trZygrib.load( QString(TRANSLATIONS_PATH "zyGrib_") + lang);
         app.installTranslator(&trZygrib);
         app.installTranslator(&trSystem);
     }
     else if (lang == "pl") {
         QLocale::setDefault(QLocale("pl_PL"));
         trSystem.load( QString("qt_pl"), QLibraryInfo::location(QLibraryInfo::TranslationsPath));
-        trZygrib.load( QString("tr/zyGrib_") + lang);
+        trZygrib.load( QString(TRANSLATIONS_PATH "zyGrib_") + lang);
         app.installTranslator(&trZygrib);
         app.installTranslator(&trSystem);
     }
     else if (lang == "pt") {
         QLocale::setDefault(QLocale("pt_PT"));
         trSystem.load( QString("qt_pt"), QLibraryInfo::location(QLibraryInfo::TranslationsPath));
-        trZygrib.load( QString("tr/zyGrib_") + lang);
+        trZygrib.load( QString(TRANSLATIONS_PATH "zyGrib_") + lang);
         app.installTranslator(&trZygrib);
         app.installTranslator(&trSystem);
     }
     else if (lang == "es") {
         QLocale::setDefault(QLocale("es_ES"));
         trSystem.load( QString("qt_es"), QLibraryInfo::location(QLibraryInfo::TranslationsPath));
-        trZygrib.load( QString("tr/zyGrib_") + lang);
+        trZygrib.load( QString(TRANSLATIONS_PATH "zyGrib_") + lang);
         app.installTranslator(&trZygrib);
         app.installTranslator(&trSystem);
     }
     else if (lang == "it") {
         QLocale::setDefault(QLocale("it_IT"));
         trSystem.load( QString("qt_it"), QLibraryInfo::location(QLibraryInfo::TranslationsPath));
-        trZygrib.load( QString("tr/zyGrib_") + lang);
+        trZygrib.load( QString(TRANSLATIONS_PATH "zyGrib_") + lang);
         app.installTranslator(&trZygrib);
         app.installTranslator(&trSystem);
     }
     else if (lang == "nl") {
         QLocale::setDefault(QLocale("nl_NL"));
         trSystem.load( QString("qt_nl"), QLibraryInfo::location(QLibraryInfo::TranslationsPath));
-        trZygrib.load( QString("tr/zyGrib_") + lang);
+        trZygrib.load( QString(TRANSLATIONS_PATH "zyGrib_") + lang);
         app.installTranslator(&trZygrib);
         app.installTranslator(&trSystem);
     }
     else if (lang == "cz") {
         QLocale::setDefault(QLocale("cz_CZ"));
         trSystem.load( QString("qt_cz"), QLibraryInfo::location(QLibraryInfo::TranslationsPath));
-        trZygrib.load( QString("tr/zyGrib_") + lang);
+        trZygrib.load( QString(TRANSLATIONS_PATH "zyGrib_") + lang);
         app.installTranslator(&trZygrib);
         app.installTranslator(&trSystem);
     }
Index: zygrib-3.9.2/src/map/GisReader.cpp
===================================================================
--- zygrib-3.9.2.orig/src/map/GisReader.cpp	2010-06-08 13:25:51.000000000 +0100
+++ zygrib-3.9.2/src/map/GisReader.cpp	2010-06-08 13:25:56.000000000 +0100
@@ -16,6 +16,7 @@
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 ***********************************************************************/
 
+#include "config.h"
 #include "GisReader.h"
 
 //==========================================================
@@ -39,7 +40,7 @@
     // Read countries file
     //------------------------------------
     fname = (lang == "fr") ?
-            "maps/gis/countries_fr.txt.gz" : "maps/gis/countries_en.txt.gz";
+            MAPS_PATH "gis/countries_fr.txt.gz" : MAPS_PATH "gis/countries_en.txt.gz";
     f = zu_open(qPrintable(fname), "rb");
     if (f != NULL) {
         long sz = zu_read(f, buf, szmax);
@@ -67,7 +68,7 @@
     //------------------------------------
     // Read cities file
     //------------------------------------
-    fname = "maps/gis/cities.txt.gz";
+    fname = MAPS_PATH "gis/cities.txt.gz";
     f = zu_open(qPrintable(fname), "rb");
     if (f != NULL) {
         long sz = zu_read(f, buf, szmax);
