- disposition_map.insert (pair<ustring,ImportDisposition>(_("one track per file"), ImportDistinctFiles));
- disposition_map.insert (pair<ustring,ImportDisposition>(_("one track per channel"), ImportDistinctChannels));
- disposition_map.insert (pair<ustring,ImportDisposition>(_("merge files"), ImportMergeFiles));
- disposition_map.insert (pair<ustring,ImportDisposition>(_("sequence files"), ImportSerializeFiles));
-
- disposition_map.insert (pair<ustring,ImportDisposition>(_("one region per file"), ImportDistinctFiles));
- disposition_map.insert (pair<ustring,ImportDisposition>(_("one region per channel"), ImportDistinctChannels));
- disposition_map.insert (pair<ustring,ImportDisposition>(_("all files in one region"), ImportMergeFiles));
-
- chooser.signal_selection_changed().connect (mem_fun (*this, &SoundFileOmega::file_selection_changed));
+ disposition_map.insert (pair<string,ImportDisposition>(_("one track per file"), ImportDistinctFiles));
+ disposition_map.insert (pair<string,ImportDisposition>(_("one track per channel"), ImportDistinctChannels));
+ disposition_map.insert (pair<string,ImportDisposition>(_("merge files"), ImportMergeFiles));
+ disposition_map.insert (pair<string,ImportDisposition>(_("sequence files"), ImportSerializeFiles));
+
+ disposition_map.insert (pair<string,ImportDisposition>(_("one region per file"), ImportDistinctFiles));
+ disposition_map.insert (pair<string,ImportDisposition>(_("one region per channel"), ImportDistinctChannels));
+ disposition_map.insert (pair<string,ImportDisposition>(_("all files in one region"), ImportMergeFiles));
+ disposition_map.insert (pair<string,ImportDisposition>(_("all files in one track"), ImportMergeFiles));
+
+ chooser.signal_selection_changed().connect (sigc::mem_fun (*this, &SoundFileOmega::file_selection_changed));
+
+ /* set size requests for a couple of combos to allow them to display the longest text
+ they will ever be asked to display. This prevents them being resized when the user
+ selects a file to import, which in turn prevents the size of the dialog from jumping
+ around. */
+
+ vector<string> t;
+ t.push_back (_("one track per file"));
+ t.push_back (_("one track per channel"));
+ t.push_back (_("sequence files"));
+ t.push_back (_("all files in one region"));
+ set_size_request_to_display_given_text (channel_combo, t, COMBO_FUDGE + 10, 15);
+
+ t.clear ();
+ t.push_back (importmode2string (ImportAsTrack));
+ t.push_back (importmode2string (ImportToTrack));
+ t.push_back (importmode2string (ImportAsRegion));
+ t.push_back (importmode2string (ImportAsTapeTrack));
+ set_size_request_to_display_given_text (action_combo, t, COMBO_FUDGE + 10, 15);