Index: src/mlx/config.py
===================================================================
--- src/mlx/config.py	(revision 148)
+++ src/mlx/config.py	(revision 149)
@@ -42,4 +42,6 @@
         self._flareTimeFromFS = False
         self._syncFSTime = False
+
+        self._pirepDirectory = None
         
         self._autoUpdate = True        
@@ -160,4 +162,18 @@
         if syncFSTime!=self._syncFSTime:
             self._syncFSTime = syncFSTime
+            self._modified = True
+
+    @property
+    def pirepDirectory(self):
+        """Get the directory offered by default when saving a PIREP."""
+        return self._pirepDirectory
+
+    @pirepDirectory.setter
+    def pirepDirectory(self, pirepDirectory):
+        """Get the directory offered by default when saving a PIREP."""
+        if pirepDirectory!=self._pirepDirectory and \
+           (pirepDirectory!="" or self._pirepDirectory is not None):
+            self._pirepDirectory = None if pirepDirectory=="" \
+                                   else pirepDirectory
             self._modified = True
 
@@ -231,4 +247,6 @@
                                             "syncFSTime",
                                             False)
+        self._pirepDirectory = self._get(config, "general",
+                                         "pirepDirectory", None)
 
         self._messageTypeLevels = {}
@@ -269,4 +287,7 @@
         config.set("general", "syncFSTime",
                    "yes" if self._syncFSTime else "no")
+
+        if self._pirepDirectory is not None:
+            config.set("general", "pirepDirectory", self._pirepDirectory)
 
         config.add_section(Config._messageTypesSection)
Index: src/mlx/gui/common.py
===================================================================
--- src/mlx/gui/common.py	(revision 144)
+++ src/mlx/gui/common.py	(revision 149)
@@ -29,4 +29,5 @@
     RESPONSETYPE_ACCEPT = gtk.RESPONSE_ACCEPT
     RESPONSETYPE_REJECT = gtk.RESPONSE_REJECT
+    RESPONSETYPE_CANCEL = gtk.RESPONSE_CANCEL
     ACCEL_VISIBLE = gtk.ACCEL_VISIBLE
     CONTROL_MASK = gdk.CONTROL_MASK
@@ -43,4 +44,6 @@
 
     SPIN_USER_DEFINED = gtk.SPIN_USER_DEFINED
+
+    FILE_CHOOSER_ACTION_SELECT_FOLDER = gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER
 
     def text2unicode(text):
@@ -65,4 +68,5 @@
     RESPONSETYPE_ACCEPT = gtk.ResponseType.ACCEPT
     RESPONSETYPE_REJECT = gtk.ResponseType.REJECT
+    RESPONSETYPE_CANCEL = gtk.ResponseType.CANCEL
     ACCEL_VISIBLE = gtk.AccelFlags.VISIBLE
     CONTROL_MASK = gdk.ModifierType.CONTROL_MASK
@@ -79,4 +83,6 @@
 
     SPIN_USER_DEFINED = gtk.SpinType.USER_DEFINED
+
+    FILE_CHOOSER_ACTION_SELECT_FOLDER = gtk.FileChooserAction.SELECT_FOLDER
 
     import codecs
Index: src/mlx/gui/prefs.py
===================================================================
--- src/mlx/gui/prefs.py	(revision 148)
+++ src/mlx/gui/prefs.py	(revision 149)
@@ -73,4 +73,8 @@
         self._syncFSTime.set_active(config.syncFSTime)
 
+        pirepDirectory = config.pirepDirectory
+        self._pirepDirectory.set_text("" if pirepDirectory is None
+                                      else pirepDirectory)
+
         for messageType in const.messageTypes:
             level = config.getMessageTypeLevel(messageType)
@@ -98,4 +102,5 @@
         config.flareTimeFromFS = self._flareTimeFromFS.get_active()
         config.syncFSTime = self._syncFSTime.get_active()
+        config.pirepDirectory = self._pirepDirectory.get_text()
 
         for messageType in const.messageTypes:
@@ -117,7 +122,7 @@
         """Build the page for the general settings."""
         mainAlignment = gtk.Alignment(xalign = 0.0, yalign = 0.0,
-                                      xscale = 0.0, yscale = 0.0)
-        mainAlignment.set_padding(padding_top = 16, padding_bottom = 32,
-                                  padding_left = 4, padding_right = 48)
+                                      xscale = 1.0, yscale = 0.0)
+        mainAlignment.set_padding(padding_top = 16, padding_bottom = 8,
+                                  padding_left = 4, padding_right = 4)
         mainBox = gtk.VBox()
         mainAlignment.add(mainBox)
@@ -174,5 +179,22 @@
         self._syncFSTime.set_tooltip_text(xstr("prefs_syncFSTime_tooltip"))
         mainBox.pack_start(self._syncFSTime, False, False, 4)
-                                       
+
+        pirepBox = gtk.HBox()
+        mainBox.pack_start(pirepBox, False, False, 4)
+
+        label = gtk.Label(xstr("prefs_pirepDirectory"))
+        label.set_use_underline(True)
+        pirepBox.pack_start(label, False, False, 4)
+
+        self._pirepDirectory = gtk.Entry()
+        self._pirepDirectory.set_tooltip_text(xstr("prefs_pirepDirectory_tooltip"))
+        label.set_mnemonic_widget(self._pirepDirectory)
+        pirepBox.pack_start(self._pirepDirectory, True, True, 4)
+
+        self._pirepDirectoryButton = gtk.Button(xstr("button_browse"))
+        self._pirepDirectoryButton.connect("clicked",
+                                           self._pirepDirectoryButtonClicked)
+        pirepBox.pack_start(self._pirepDirectoryButton, False, False, 4)
+        
         return mainAlignment
 
@@ -209,5 +231,23 @@
             dialog.hide()
             self._warnedRestartNeeded = True
-
+       
+    def _pirepDirectoryButtonClicked(self, button):
+        """Called when the PIREP directory button is clicked."""
+        dialog = gtk.FileChooserDialog(title = WINDOW_TITLE_BASE + " - " +
+                                       xstr("prefs_pirepDirectory_browser_title"),
+                                       action = FILE_CHOOSER_ACTION_SELECT_FOLDER,
+                                       buttons = (gtk.STOCK_CANCEL, RESPONSETYPE_CANCEL,
+                                                  gtk.STOCK_OK, RESPONSETYPE_OK))
+
+        directory = self._pirepDirectory.get_text()
+        if directory:
+            dialog.select_filename(directory)
+        
+        result = dialog.run()
+        dialog.hide()
+
+        if result==RESPONSETYPE_OK:
+            self._pirepDirectory.set_text(dialog.get_filename())
+        
     def _buildMessages(self):
         """Build the page for the message settings."""
@@ -292,7 +332,7 @@
 
         mainAlignment = gtk.Alignment(xalign = 0.0, yalign = 0.0,
-                                      xscale = 0.0, yscale = 0.0)
-        mainAlignment.set_padding(padding_top = 16, padding_bottom = 32,
-                                  padding_left = 4, padding_right = 48)
+                                      xscale = 1.0, yscale = 0.0)
+        mainAlignment.set_padding(padding_top = 16, padding_bottom = 8,
+                                  padding_left = 4, padding_right = 4)
         mainBox = gtk.VBox()
         mainAlignment.add(mainBox)
@@ -318,5 +358,5 @@
         self._updateURL.set_tooltip_text(xstr("prefs_update_url_tooltip"))
         self._updateURL.connect("changed", self._updateURLChanged)
-        updateURLBox.pack_start(self._updateURL, False, False, 4)
+        updateURLBox.pack_start(self._updateURL, True, True, 4)
 
         return mainAlignment
@@ -350,4 +390,2 @@
         """Called when the update URL is changed."""
         self._setOKButtonSensitivity()
-        
-            
Index: src/mlx/i18n.py
===================================================================
--- src/mlx/i18n.py	(revision 148)
+++ src/mlx/i18n.py	(revision 149)
@@ -128,4 +128,5 @@
         self.add("button_yes", "_Yes")
         self.add("button_no", "_No")
+        self.add("button_browse", "Browse...")
         
         self.add("menu_file", "File")
@@ -621,4 +622,11 @@
                  "If this is checked the flight simulator's internal clock "
                  "will always be synchronized to the computer's clock.")
+        self.add("prefs_pirepDirectory",
+                 "_PIREP directory:")
+        self.add("prefs_pirepDirectory_tooltip",
+                 "The directory that will be offered by default when "
+                 "saving a PIREP.")
+        self.add("prefs_pirepDirectory_browser_title",
+                 "Select PIREP directory")
         self.add("prefs_update_auto", "Update the program auto_matically")
         self.add("prefs_update_auto_tooltip",
@@ -671,4 +679,5 @@
         self.add("button_yes", "_Igen")
         self.add("button_no", "_Nem")
+        self.add("button_browse", "Keresés...")
         
         self.add("menu_file", "Fájl")
@@ -1174,4 +1183,11 @@
                  "Ha ez bejelölöd, a szimulátor belső óráját a program "
                  "szinkronban tartja a számítógép órájával.")
+        self.add("prefs_pirepDirectory",
+                 "_PIREP-ek könyvtára:")
+        self.add("prefs_pirepDirectory_tooltip",
+                 "Az itt megadott könyvtárt ajánlja majd fel a program "
+                 "a PIREP-ek mentésekor.")
+        self.add("prefs_pirepDirectory_browser_title",
+                 "Válaszd ki a PIREP-ek könyvtárát")
         self.add("prefs_update_auto",
                  "Frissítsd a programot _automatikusan")
