]>
Commit | Line | Data |
---|---|---|
66fd990e JB |
1 | diff -Nur -x CVS -x .cvsignore hugin-0.5-beta4/ChangeLog hugin/ChangeLog |
2 | --- hugin-0.5-beta4/ChangeLog 2005-03-08 22:23:57.000000000 +0100 | |
3 | +++ hugin/ChangeLog 2005-04-26 13:05:59.000000000 +0200 | |
4 | @@ -1,3 +1,101 @@ | |
5 | +2005-04-26 13:10 dwilkins42 | |
6 | + | |
7 | + * src/hugin/CPEditorPanel.cpp: Fix fine tune crash | |
8 | + | |
9 | +2005-04-26 11:17 dwilkins42 | |
10 | + | |
11 | + * src/hugin/NonaStitcherPanel.cpp: Fix - do not delete multiple | |
12 | + tiff file output | |
13 | + | |
14 | +2005-04-26 10:22 dwilkins42 | |
15 | + | |
16 | + * src/hugin/: MainFrame.cpp, OptimizePanel.cpp, PanoPanel.cpp: Fix | |
17 | + infinite loops when No of images is zero | |
18 | + | |
19 | +2005-04-24 19:48 dwilkins42 | |
20 | + | |
21 | + * src/: hugin/CPEditorPanel.cpp, hugin/ImagesPanel.cpp, | |
22 | + hugin/LensPanel.cpp, hugin/OptimizePanel.cpp, | |
23 | + hugin/PanoPanel.cpp, hugin/huginApp.cpp, include/panoinc_WX.h, | |
24 | + include/common/utils.h, include/hugin/CPEditorPanel.h, | |
25 | + include/hugin/ImagesPanel.h, include/hugin/LensPanel.h, | |
26 | + include/hugin/OptimizePanel.h, include/hugin/PanoPanel.h: | |
27 | + wxWidgets 2.6 released. wxSplitterWindow etc works on wxGTK and | |
28 | + wxMSW so enable these on both platforms | |
29 | + | |
30 | +2005-04-23 08:58 dwilkins42 | |
31 | + | |
32 | + * src/hugin/NonaStitcherPanel.cpp: Ensure enblend args are passed | |
33 | + to enblend | |
34 | + | |
35 | +2005-04-12 19:54 ippei | |
36 | + | |
37 | + * src/include/hugin/config_defaults.h: Mac: just making more | |
38 | + readable. | |
39 | + | |
40 | +2005-04-12 19:49 ippei | |
41 | + | |
42 | + * src/hugin/NonaStitcherPanel.cpp: Mac: enblend problem fix. | |
43 | + | |
44 | +2005-04-12 19:48 ippei | |
45 | + | |
46 | + * src/hugin/AutoCtrlPointCreator.cpp: Mac: Including customised | |
47 | + autopano frontend script inside the application bundle. | |
48 | + | |
49 | +2005-04-02 20:43 specu | |
50 | + | |
51 | + * src/hugin/po/pl.po: updated Polish translation | |
52 | + | |
53 | +2005-03-30 15:03 ippei | |
54 | + | |
55 | + * src/hugin/ImagesPanel.cpp: I'm sorry. I was wrong... putting it | |
56 | + back to the previous version | |
57 | + | |
58 | +2005-03-30 13:03 ippei | |
59 | + | |
60 | + * src/hugin/NonaStitcherPanel.cpp: adding mac specific codes | |
61 | + | |
62 | +2005-03-30 13:01 ippei | |
63 | + | |
64 | + * src/hugin/MainFrame.cpp: minor improvement for mac package bundle | |
65 | + handling | |
66 | + | |
67 | +2005-03-30 12:55 ippei | |
68 | + | |
69 | + * src/hugin/AutoCtrlPointCreator.cpp: adding Mac specific code | |
70 | + | |
71 | +2005-03-30 12:54 ippei | |
72 | + | |
73 | + * src/hugin/ImagesPanel.cpp: wx24 fix | |
74 | + | |
75 | +2005-03-30 12:48 ippei | |
76 | + | |
77 | + * src/hugin/RunOptimizerFrame.cpp: adding Mac specific codes | |
78 | + | |
79 | +2005-03-30 12:47 ippei | |
80 | + | |
81 | + * src/hugin/huginApp.cpp: minor fix in mac package bundle handling | |
82 | + | |
83 | +2005-03-30 12:45 ippei | |
84 | + | |
85 | + * src/include/hugin/config_defaults.h: default autopano-sift | |
86 | + settings for mac | |
87 | + | |
88 | +2005-03-09 09:38 dangelo | |
89 | + | |
90 | + * src/include/common/: math.h, platform.h: fix compilation with gcc | |
91 | + 3.4 | |
92 | + | |
93 | +2005-03-08 23:26 dangelo | |
94 | + | |
95 | + * configure.ac, src/hugin/xrc/data/about.htm, | |
96 | + src/hugin/xrc/data/about_fr.htm, src/hugin/xrc/data/about_pl.htm: | |
97 | + updated version number | |
98 | + | |
99 | +2005-03-08 23:23 dangelo | |
100 | + | |
101 | + * ChangeLog: update changelog | |
102 | + | |
103 | 2005-03-08 22:12 dangelo | |
104 | ||
105 | * src/hugin/ImageCenter.cpp: compile fix for wxwindows 2.4 | |
106 | diff -Nur -x CVS -x .cvsignore hugin-0.5-beta4/src/hugin/AutoCtrlPointCreator.cpp hugin/src/hugin/AutoCtrlPointCreator.cpp | |
107 | --- hugin-0.5-beta4/src/hugin/AutoCtrlPointCreator.cpp 2005-03-07 21:10:43.000000000 +0100 | |
108 | +++ hugin/src/hugin/AutoCtrlPointCreator.cpp 2005-04-27 20:34:11.000000000 +0200 | |
109 | @@ -6,7 +6,7 @@ | |
110 | * | |
111 | * @author Pablo d'Angelo <pablo.dangelo@web.de> | |
112 | * | |
113 | - * $Id$ | |
114 | + * $Id$ | |
115 | * | |
116 | * This program is free software; you can redistribute it and/or | |
117 | * modify it under the terms of the GNU General Public | |
118 | @@ -38,6 +38,11 @@ | |
119 | #include "hugin/AutoCtrlPointCreator.h" | |
120 | #include "hugin/CommandHistory.h" | |
121 | ||
122 | +#ifdef __WXMAC__ | |
123 | +#include <CFBundle.h> | |
124 | +#include <wx/utils.h> | |
125 | +#endif | |
126 | + | |
127 | using namespace std; | |
128 | using namespace PT; | |
129 | using namespace utils; | |
130 | @@ -153,19 +158,57 @@ | |
131 | return; | |
132 | } | |
133 | } | |
134 | -#elif defined (__WXMAC__) | |
135 | - wxString autopanoExe = wxConfigBase::Get()->Read(wxT("/AutoPanoSift/AutopanoExe"), wxT(HUGIN_APSIFT_EXE)); | |
136 | - if (!wxFile::Exists(autopanoExe)){ | |
137 | - wxFileDialog dlg(0,_("Select autopano-sift frontend script"), | |
138 | - "", "", | |
139 | - "Shell Scripts (*.sh)|*.sh", | |
140 | - wxOPEN, wxDefaultPosition); | |
141 | - if (dlg.ShowModal() == wxID_OK) { | |
142 | - autopanoExe = dlg.GetPath(); | |
143 | - wxConfigBase::Get()->Write(wxT("/AutopanoSift/AutopanoExe"),autopanoExe); | |
144 | - } else { | |
145 | - wxLogError(_("No autopano selected")); | |
146 | - return; | |
147 | +#elif (defined __WXMAC__) | |
148 | + wxString autopanoExe; | |
149 | + | |
150 | + CFBundleRef mainbundle = CFBundleGetMainBundle(); | |
151 | + if(!mainbundle) | |
152 | + { | |
153 | + DEBUG_INFO("Mac: Not bundled"); | |
154 | + } | |
155 | + else | |
156 | + { | |
157 | + CFURLRef XRCurl = CFBundleCopyResourceURL(mainbundle, CFSTR(HUGIN_APSIFT_EXE), NULL, NULL); | |
158 | + if(!XRCurl) | |
159 | + { | |
160 | + DEBUG_INFO("Mac: Cannot locate autopano-sift frontend script in the bundle."); | |
161 | + } | |
162 | + else | |
163 | + { | |
164 | + CFIndex bufLen = 1024; | |
165 | + unsigned char buffer[(int) bufLen]; | |
166 | + if(!CFURLGetFileSystemRepresentation(XRCurl, TRUE, buffer, bufLen)) | |
167 | + { | |
168 | + CFRelease(XRCurl); | |
169 | + DEBUG_INFO("Mac: Failed to get file system representation"); | |
170 | + } | |
171 | + else | |
172 | + { | |
173 | + buffer[((int) bufLen) - 1] = '\0'; | |
174 | + CFRelease(XRCurl); | |
175 | + autopanoExe = wxString::FromAscii( (char *) buffer); | |
176 | + DEBUG_INFO("Mac: using bundled autopano-sift frontend script"); | |
177 | + | |
178 | + wxConfigBase::Get()->Write(wxT("/AutopanoSift/AutopanoExe"), wxT(HUGIN_APSIFT_EXE)); | |
179 | + } | |
180 | + } | |
181 | + } | |
182 | + | |
183 | + if(!autopanoExe) | |
184 | + { | |
185 | + autopanoExe = wxConfigBase::Get()->Read(wxT("/AutoPanoSift/AutopanoExe"), wxT(HUGIN_APSIFT_EXE)); | |
186 | + if (!wxFile::Exists(autopanoExe)){ | |
187 | + wxFileDialog dlg(0,_("Select autopano frontend script"), | |
188 | + wxT(""), wxT(""), | |
189 | + _("Shell Scripts (*.sh)|*.sh"), | |
190 | + wxOPEN, wxDefaultPosition); | |
191 | + if (dlg.ShowModal() == wxID_OK) { | |
192 | + autopanoExe = dlg.GetPath(); | |
193 | + wxConfigBase::Get()->Write(wxT("/AutopanoSift/AutopanoExe"), autopanoExe); | |
194 | + } else { | |
195 | + wxLogError(_("No autopano selected")); | |
196 | + return; | |
197 | + } | |
198 | } | |
199 | } | |
200 | #else | |
201 | @@ -238,6 +281,25 @@ | |
202 | } | |
203 | autopanoArgs.Replace(wxT("%i"), wxString (imgFiles.c_str(), *wxConvCurrent)); | |
204 | } | |
205 | + | |
206 | +#ifdef __WXMAC__ | |
207 | + wxString autopanoExeDir = wxConfigBase::Get()->Read(wxT("/AutoPanoSift/AutopanoExeDir"), wxT("")); | |
208 | + if (! wxFileExists( autopanoExeDir + wxT("/autopano.exe") )){ | |
209 | + wxFileDialog dlg(0, _("Select autopano .Net executable."), | |
210 | + wxT(""), wxT(""), | |
211 | + wxT("Mono executables (*.exe)|*.exe"), | |
212 | + wxOPEN, wxDefaultPosition); | |
213 | + if (dlg.ShowModal() == wxID_OK) { | |
214 | + autopanoExeDir = wxPathOnly( dlg.GetPath() ); | |
215 | + wxConfigBase::Get()->Write(wxT("/AutopanoSift/AutopanoExeDir"), autopanoExeDir); | |
216 | + } else { | |
217 | + wxLogError(_("No autopano directory selected")); | |
218 | + return; | |
219 | + } | |
220 | + } | |
221 | + autopanoArgs = wxT("-a ") + autopanoExeDir + wxT(" ") + autopanoArgs; | |
222 | +#endif | |
223 | + | |
224 | #ifdef __WXMSW__ | |
225 | if (autopanoArgs.size() > 1930) { | |
226 | wxMessageBox(_("autopano command line too long.\nThis is a windows limitation\nPlease select less images, or place the images in a folder with\na shorter pathname"), | |
227 | diff -Nur -x CVS -x .cvsignore hugin-0.5-beta4/src/hugin/CPEditorPanel.cpp hugin/src/hugin/CPEditorPanel.cpp | |
228 | --- hugin-0.5-beta4/src/hugin/CPEditorPanel.cpp 2005-03-07 21:10:42.000000000 +0100 | |
229 | +++ hugin/src/hugin/CPEditorPanel.cpp 2005-04-26 12:10:32.000000000 +0200 | |
230 | @@ -6,7 +6,7 @@ | |
231 | * | |
232 | * @author Pablo d'Angelo <pablo.dangelo@web.de> | |
233 | * | |
234 | - * $Id$ | |
235 | + * $Id$ | |
236 | * | |
237 | * This program is free software; you can redistribute it and/or | |
238 | * modify it under the terms of the GNU General Public | |
239 | @@ -174,7 +174,7 @@ | |
240 | m_estimateCB = XRCCTRL(*this,"cp_editor_auto_estimate", wxCheckBox); | |
241 | DEBUG_ASSERT(m_estimateCB); | |
242 | ||
243 | -#ifdef USE_WX25x | |
244 | +#ifdef USE_WX26x | |
245 | m_cp_ctrls = XRCCTRL(*this, "cp_controls_panel", wxScrolledWindow); | |
246 | DEBUG_ASSERT(m_cp_ctrls); | |
247 | m_cp_splitter = XRCCTRL(*this, "cp_editor_panel_splitter", wxSplitterWindow); | |
248 | @@ -183,8 +183,7 @@ | |
249 | m_cp_ctrls->SetSizeHints(20, 20); | |
250 | m_cp_ctrls->FitInside(); | |
251 | m_cp_ctrls->SetScrollRate(10, 10); | |
252 | - // wx 2.5.4 | |
253 | - // m_cp_splitter->SetSashGravity(0.5); | |
254 | + m_cp_splitter->SetSashGravity(0.5); | |
255 | m_cp_splitter->SetSashPosition(wxConfigBase::Get()->Read(wxT("/CPEditorPanel/sashPos"),200)); | |
256 | m_cp_splitter->SetMinimumPaneSize(20); | |
257 | #endif | |
258 | @@ -210,7 +209,7 @@ | |
259 | { | |
260 | DEBUG_TRACE("dtor"); | |
261 | ||
262 | -#ifdef USE_WX25x | |
263 | +#ifdef USE_WX26x | |
264 | int sashPos; | |
265 | sashPos = m_cp_splitter->GetSashPosition(); | |
266 | DEBUG_INFO("CP Editor panel sash pos: " << sashPos); | |
267 | @@ -1683,7 +1682,7 @@ | |
268 | { | |
269 | if (cpCreationState == NO_POINT) { | |
270 | FineTuneSelectedPoint(false); | |
271 | - } else if (BOTH_POINTS_SELECTED) { | |
272 | + } else if (cpCreationState == BOTH_POINTS_SELECTED) { | |
273 | FineTuneNewPoint(false); | |
274 | } | |
275 | } | |
276 | diff -Nur -x CVS -x .cvsignore hugin-0.5-beta4/src/hugin/huginApp.cpp hugin/src/hugin/huginApp.cpp | |
277 | --- hugin-0.5-beta4/src/hugin/huginApp.cpp 2005-02-22 11:08:54.000000000 +0100 | |
278 | +++ hugin/src/hugin/huginApp.cpp 2005-04-24 18:48:11.000000000 +0200 | |
279 | @@ -6,7 +6,7 @@ | |
280 | * | |
281 | * @author Pablo d'Angelo <pablo.dangelo@web.de> | |
282 | * | |
283 | - * $Id$ | |
284 | + * $Id$ | |
285 | * | |
286 | * This program is free software; you can redistribute it and/or | |
287 | * modify it under the terms of the GNU General Public | |
288 | @@ -174,7 +174,7 @@ | |
289 | else | |
290 | { | |
291 | CFIndex bufLen = 1024; | |
292 | - unsigned char buffer[1024]; | |
293 | + unsigned char buffer[(int) bufLen]; | |
294 | if(!CFURLGetFileSystemRepresentation(XRCurl, TRUE, buffer, bufLen)) | |
295 | { | |
296 | CFRelease(XRCurl); | |
297 | @@ -182,10 +182,11 @@ | |
298 | } | |
299 | else | |
300 | { | |
301 | - buffer[1023] = '\0'; | |
302 | + buffer[((int) bufLen) - 1] = '\0'; | |
303 | CFRelease(XRCurl); | |
304 | - xrcPrefix = (wxString)buffer+ wxT("/"); | |
305 | + xrcPrefix = wxString::FromAscii( (char *) buffer) + wxT("/"); | |
306 | DEBUG_INFO("Mac: overriding xrc prefix; using mac bundled xrc files"); | |
307 | + | |
308 | } | |
309 | } | |
310 | } | |
311 | @@ -209,7 +210,7 @@ | |
312 | wxXmlResource::Get()->Load(xrcPrefix + wxT("help.xrc")); | |
313 | wxXmlResource::Get()->Load(xrcPrefix + wxT("keyboard_help.xrc")); | |
314 | wxXmlResource::Get()->Load(xrcPrefix + wxT("pref_dialog.xrc")); | |
315 | -#ifdef USE_WX25x | |
316 | +#ifdef USE_WX26x | |
317 | wxXmlResource::Get()->Load(xrcPrefix + wxT("cp_editor_panel-2.5.xrc")); | |
318 | wxXmlResource::Get()->Load(xrcPrefix + wxT("images_panel-2.5.xrc")); | |
319 | wxXmlResource::Get()->Load(xrcPrefix + wxT("lens_panel-2.5.xrc")); | |
320 | diff -Nur -x CVS -x .cvsignore hugin-0.5-beta4/src/hugin/ImagesPanel.cpp hugin/src/hugin/ImagesPanel.cpp | |
321 | --- hugin-0.5-beta4/src/hugin/ImagesPanel.cpp 2005-02-22 11:08:10.000000000 +0100 | |
322 | +++ hugin/src/hugin/ImagesPanel.cpp 2005-04-24 18:48:09.000000000 +0200 | |
323 | @@ -7,7 +7,7 @@ | |
324 | * @author Kai-Uwe Behrmann <web@tiscali.de> and | |
325 | * Pablo d'Angelo <pablo.dangelo@web.de> | |
326 | * | |
327 | - * $Id$ | |
328 | + * $Id$ | |
329 | * | |
330 | * This program is free software; you can redistribute it and/or | |
331 | * modify it under the terms of the GNU General Public | |
332 | @@ -60,7 +60,7 @@ | |
333 | EVT_SIZE ( ImagesPanel::FitParent ) | |
334 | // EVT_MOUSE_EVENTS ( ImagesPanel::OnMouse ) | |
335 | // EVT_MOTION ( ImagesPanel::ChangePreview ) | |
336 | -#ifdef USE_WX25x | |
337 | +#ifdef USE_WX26x | |
338 | EVT_SPLITTER_SASH_POS_CHANGED(XRCID("image_panel_splitter"), ImagesPanel::OnPositionChanged) | |
339 | #endif | |
340 | EVT_LIST_ITEM_SELECTED( XRCID("images_list_unknown"), | |
341 | @@ -107,7 +107,7 @@ | |
342 | m_removeCPButton = XRCCTRL(*this, "images_remove_cp", wxButton); | |
343 | DEBUG_ASSERT(m_removeCPButton); | |
344 | ||
345 | -#ifdef USE_WX25x | |
346 | +#ifdef USE_WX26x | |
347 | m_img_ctrls = XRCCTRL(*this, "image_control_panel", wxScrolledWindow); | |
348 | DEBUG_ASSERT(m_img_ctrls); | |
349 | m_img_splitter = XRCCTRL(*this, "image_panel_splitter", wxSplitterWindow); | |
350 | @@ -118,8 +118,7 @@ | |
351 | { | |
352 | int sashPos; | |
353 | sashPos = wxConfigBase::Get()->Read(wxT("/ImageFrame/sashPos"),300); | |
354 | - // wx 2.5.4 | |
355 | - //m_img_splitter->SetSashGravity(0.5); | |
356 | + m_img_splitter->SetSashGravity(0.5); | |
357 | m_img_splitter->SetSashPosition(sashPos); | |
358 | } | |
359 | m_img_splitter->SetMinimumPaneSize(20); | |
360 | @@ -152,7 +151,7 @@ | |
361 | { | |
362 | DEBUG_TRACE("dtor"); | |
363 | ||
364 | -#ifdef USE_WX25x | |
365 | +#ifdef USE_WX26x | |
366 | int sashPos; | |
367 | sashPos = m_img_splitter->GetSashPosition(); | |
368 | DEBUG_INFO("Image panel sash pos: " << sashPos); | |
369 | @@ -173,7 +172,7 @@ | |
370 | ||
371 | void ImagesPanel::FitParent( wxSizeEvent & e ) | |
372 | { | |
373 | -#ifdef USE_WX25x | |
374 | +#ifdef USE_WX26x | |
375 | int winWidth, winHeight; | |
376 | GetClientSize(&winWidth, &winHeight); | |
377 | // winHeight -= ConvertDialogToPixels(wxPoint(0, 30)).y; // sizes of tabs and toolbar | |
378 | @@ -190,7 +189,7 @@ | |
379 | #endif | |
380 | } | |
381 | ||
382 | -#ifdef USE_WX25x | |
383 | +#ifdef USE_WX26x | |
384 | void ImagesPanel::OnPositionChanged(wxSplitterEvent& event) | |
385 | { | |
386 | DEBUG_INFO("Sash Position now:" << event.GetSashPosition() << " or: " << m_img_splitter->GetSashPosition()); | |
387 | diff -Nur -x CVS -x .cvsignore hugin-0.5-beta4/src/hugin/LensPanel.cpp hugin/src/hugin/LensPanel.cpp | |
388 | --- hugin-0.5-beta4/src/hugin/LensPanel.cpp 2005-03-08 21:17:27.000000000 +0100 | |
389 | +++ hugin/src/hugin/LensPanel.cpp 2005-04-24 18:48:10.000000000 +0200 | |
390 | @@ -9,7 +9,7 @@ | |
391 | * | |
392 | * Rewritten by Pablo d'Angelo | |
393 | * | |
394 | - * $Id$ | |
395 | + * $Id$ | |
396 | * | |
397 | * This program is free software; you can redistribute it and/or | |
398 | * modify it under the terms of the GNU General Public | |
399 | @@ -134,7 +134,7 @@ | |
400 | m_pixelDigits = wxConfigBase::Get()->Read(wxT("/General/PixelFractionalDigitsEdit"),2); | |
401 | m_distDigitsEdit = wxConfigBase::Get()->Read(wxT("/General/DistortionFractionalDigitsEdit"),5); | |
402 | ||
403 | -#ifdef USE_WX25x | |
404 | +#ifdef USE_WX26x | |
405 | m_lens_ctrls = XRCCTRL(*this, "lens_control_panel", wxScrolledWindow); | |
406 | DEBUG_ASSERT(m_lens_ctrls); | |
407 | m_lens_splitter = XRCCTRL(*this, "lens_panel_splitter", wxSplitterWindow); | |
408 | @@ -143,6 +143,7 @@ | |
409 | m_lens_ctrls->FitInside(); | |
410 | m_lens_ctrls->SetScrollRate(10, 10); | |
411 | m_lens_splitter->SetSashPosition(wxConfigBase::Get()->Read(wxT("/LensFrame/sashPos"),300)); | |
412 | + m_lens_splitter->SetSashGravity(0.5); | |
413 | m_lens_splitter->SetMinimumPaneSize(20); | |
414 | #endif | |
415 | ||
416 | @@ -157,7 +158,7 @@ | |
417 | { | |
418 | DEBUG_TRACE("dtor"); | |
419 | ||
420 | -#ifdef USE_WX25x | |
421 | +#ifdef USE_WX26x | |
422 | int sashPos; | |
423 | sashPos = m_lens_splitter->GetSashPosition(); | |
424 | DEBUG_INFO("Lens panel sash pos: " << sashPos); | |
425 | @@ -182,7 +183,7 @@ | |
426 | ||
427 | void LensPanel::FitParent( wxSizeEvent & e ) | |
428 | { | |
429 | -#ifdef USE_WX25x | |
430 | +#ifdef USE_WX26x | |
431 | int winWidth, winHeight; | |
432 | GetClientSize(&winWidth, &winHeight); | |
433 | // winHeight -= ConvertDialogToPixels(wxPoint(0, 30)).y; // sizes of tabs and toolbar | |
434 | diff -Nur -x CVS -x .cvsignore hugin-0.5-beta4/src/hugin/MainFrame.cpp hugin/src/hugin/MainFrame.cpp | |
435 | --- hugin-0.5-beta4/src/hugin/MainFrame.cpp 2005-03-07 21:10:42.000000000 +0100 | |
436 | +++ hugin/src/hugin/MainFrame.cpp 2005-04-26 09:22:34.000000000 +0200 | |
437 | @@ -6,7 +6,7 @@ | |
438 | * | |
439 | * @author Pablo d'Angelo <pablo.dangelo@web.de> | |
440 | * | |
441 | - * $Id$ | |
442 | + * $Id$ | |
443 | * | |
444 | * This program is free software; you can redistribute it and/or | |
445 | * modify it under the terms of the GNU General Public | |
446 | @@ -207,7 +207,7 @@ | |
447 | else | |
448 | { | |
449 | CFIndex bufLen = 1024; | |
450 | - unsigned char buffer[1024]; | |
451 | + unsigned char buffer[(int) bufLen]; | |
452 | if(!CFURLGetFileSystemRepresentation(XRCurl, TRUE, buffer, bufLen)) | |
453 | { | |
454 | CFRelease(XRCurl); | |
455 | @@ -215,9 +215,9 @@ | |
456 | } | |
457 | else | |
458 | { | |
459 | - buffer[1023] = '\0'; | |
460 | + buffer[((int) bufLen) - 1] = '\0'; | |
461 | CFRelease(XRCurl); | |
462 | - m_xrcPrefix = (wxString)buffer+ wxT("/"); | |
463 | + m_xrcPrefix = wxString::FromAscii( (char *) buffer) + wxT("/"); | |
464 | DEBUG_INFO("Mac: overriding xrc prefix; using mac bundled xrc files"); | |
465 | } | |
466 | } | |
467 | @@ -472,6 +472,10 @@ | |
468 | void MainFrame::OnSaveProject(wxCommandEvent & e) | |
469 | { | |
470 | DEBUG_TRACE(""); | |
471 | + if (pano.getNrOfImages() == 0) { | |
472 | + wxMessageBox(_("No images - Nothing to do"),_("Warning"), wxOK | wxICON_EXCLAMATION); | |
473 | + return; | |
474 | + } | |
475 | wxFileName scriptName = m_filename; | |
476 | if (m_filename == wxT("")) { | |
477 | OnSaveProjectAs(e); | |
478 | @@ -496,6 +500,10 @@ | |
479 | void MainFrame::OnSaveProjectAs(wxCommandEvent & e) | |
480 | { | |
481 | DEBUG_TRACE(""); | |
482 | + if (pano.getNrOfImages() == 0) { | |
483 | + wxMessageBox(_("No images - Nothing to do"),_("Warning"), wxOK | wxICON_EXCLAMATION); | |
484 | + return; | |
485 | + } | |
486 | wxFileDialog dlg(this, | |
487 | _("Save project file"), | |
488 | wxConfigBase::Get()->Read(wxT("actualPath"),wxT("")), wxT(""), | |
489 | @@ -511,6 +519,10 @@ | |
490 | void MainFrame::OnSavePTStitcherAs(wxCommandEvent & e) | |
491 | { | |
492 | DEBUG_TRACE(""); | |
493 | + if (pano.getNrOfImages() == 0) { | |
494 | + wxMessageBox(_("No images - Nothing to do"),_("Warning"), wxOK | wxICON_EXCLAMATION); | |
495 | + return; | |
496 | + } | |
497 | wxFileDialog dlg(this, | |
498 | _("Save PTStitcher script file"), | |
499 | wxConfigBase::Get()->Read(wxT("actualPath"),wxT("")), wxT(""), | |
500 | diff -Nur -x CVS -x .cvsignore hugin-0.5-beta4/src/hugin/NonaStitcherPanel.cpp hugin/src/hugin/NonaStitcherPanel.cpp | |
501 | --- hugin-0.5-beta4/src/hugin/NonaStitcherPanel.cpp 2005-03-08 21:17:26.000000000 +0100 | |
502 | +++ hugin/src/hugin/NonaStitcherPanel.cpp 2005-04-26 10:17:12.000000000 +0200 | |
503 | @@ -7,7 +7,7 @@ | |
504 | * @author Kai-Uwe Behrmann <web@tiscali.de> and | |
505 | * Pablo d'Angelo <pablo@mathematik.uni-ulm.de> | |
506 | * | |
507 | - * $Id$ | |
508 | + * $Id$ | |
509 | * | |
510 | * This program is free software; you can redistribute it and/or | |
511 | * modify it under the terms of the GNU General Public | |
512 | @@ -302,7 +302,7 @@ | |
513 | wxLogError(_("No enblend.exe selected")); | |
514 | } | |
515 | } | |
516 | -#elif defined (__WXMAC__) | |
517 | +#elif defined __WXMAC__ | |
518 | wxString enblendExe = config->Read(wxT("/Enblend/EnblendExe"), wxT(HUGIN_ENBLEND_EXE)); | |
519 | if (!wxFile::Exists(enblendExe)){ | |
520 | wxFileDialog dlg(this,_("Select enblend commandline tool"), | |
521 | @@ -314,6 +314,7 @@ | |
522 | config->Write(wxT("/Enblend/EnblendExe"),enblendExe); | |
523 | } else { | |
524 | wxLogError(_("No enblend commandline tool selected")); | |
525 | + return; | |
526 | } | |
527 | } | |
528 | #else | |
529 | @@ -324,6 +325,7 @@ | |
530 | // spaces | |
531 | ||
532 | wxString args; | |
533 | + args.append(config->Read(wxT("/Enblend/EnblendArgs"), wxT(HUGIN_ENBLEND_ARGS))); | |
534 | if (opts.HFOV == 360.0) { | |
535 | // blend over the border | |
536 | args.append(wxT(" -w")); | |
537 | @@ -351,8 +353,10 @@ | |
538 | #endif | |
539 | { | |
540 | wxProgressDialog progress(_("Running Enblend"),_("Enblend will take a while to finish processing the panorama\nYou can watch the enblend progress in the command window")); | |
541 | + | |
542 | + wxString cmdline; | |
543 | #ifdef unix | |
544 | - wxString cmdline = enblendExe + wxT(" ") + args; | |
545 | + cmdline = enblendExe + wxT(" ") + args; | |
546 | DEBUG_DEBUG("using system() to execute enblend with cmdline:" << cmdline.mb_str()); | |
547 | int ret = system(cmdline.mb_str()); | |
548 | if (ret == -1) { | |
549 | @@ -362,7 +366,7 @@ | |
550 | ret = WEXITSTATUS(ret); | |
551 | } | |
552 | #elif __WXMSW__ | |
553 | - wxString cmdline = wxString(wxT("enblend.exe ")) + args; | |
554 | + cmdline = wxString(wxT("enblend.exe ")) + args; | |
555 | // using CreateProcess on windows | |
556 | /* CreateProcess API initialization */ | |
557 | STARTUPINFO siStartupInfo; | |
558 | @@ -388,7 +392,8 @@ | |
559 | wxLogError(_("Could not execute command: ") + cmdline , _("CreateProcess Error")); | |
560 | } | |
561 | #else | |
562 | - int ret = wxExecute(args, wxEXEC_SYNC); | |
563 | + cmdline = enblendExe + wxT(" ") + args; | |
564 | + int ret = wxExecute(cmdline, wxEXEC_SYNC); | |
565 | #endif | |
566 | DEBUG_NOTICE("enblend returned with: " << ret); | |
567 | ||
568 | @@ -403,8 +408,8 @@ | |
569 | } | |
570 | } | |
571 | } | |
572 | - if (wxConfigBase::Get()->Read(wxT("/Enblend/DeleteRemappedFiles"), HUGIN_ENBLEND_DELETE_REMAPPED_FILES) != 0) { | |
573 | - // delete remapped tiff files | |
574 | + if ((wxConfigBase::Get()->Read(wxT("/Enblend/DeleteRemappedFiles"), HUGIN_ENBLEND_DELETE_REMAPPED_FILES) != 0) && enblend) { | |
575 | + // delete remapped tiff files only if enblend was used for the stitching | |
576 | for (UIntSet::const_iterator it = imgs.begin(); it != imgs.end(); ++it) | |
577 | { | |
578 | wxString f = output + wxString::Format(wxT("%04d.tif"), *it); | |
579 | diff -Nur -x CVS -x .cvsignore hugin-0.5-beta4/src/hugin/OptimizePanel.cpp hugin/src/hugin/OptimizePanel.cpp | |
580 | --- hugin-0.5-beta4/src/hugin/OptimizePanel.cpp 2005-03-07 21:10:42.000000000 +0100 | |
581 | +++ hugin/src/hugin/OptimizePanel.cpp 2005-04-26 09:22:35.000000000 +0200 | |
582 | @@ -6,7 +6,7 @@ | |
583 | * | |
584 | * @author Pablo d'Angelo <pablo.dangelo@web.de> | |
585 | * | |
586 | - * $Id$ | |
587 | + * $Id$ | |
588 | * | |
589 | * This program is free software; you can redistribute it and/or | |
590 | * modify it under the terms of the GNU General Public | |
591 | @@ -89,7 +89,7 @@ | |
592 | m_mode_cb = XRCCTRL(*this, "optimize_panel_mode", wxChoice); | |
593 | DEBUG_ASSERT(m_mode_cb); | |
594 | ||
595 | -#ifdef USE_WX25x | |
596 | +#ifdef USE_WX26x | |
597 | m_opt_ctrls = XRCCTRL(*this, "optimize_controls_panel", wxScrolledWindow); | |
598 | DEBUG_ASSERT(m_opt_ctrls); | |
599 | m_opt_ctrls->SetSizeHints(20, 20); | |
600 | @@ -422,6 +422,7 @@ | |
601 | DEBUG_TRACE(""); | |
602 | if (m_pano->getNrOfImages() == 0) { | |
603 | // nothing to optimize | |
604 | + wxMessageBox(_("No images - Nothing to do"),_("Warning"), wxOK | wxICON_EXCLAMATION); | |
605 | return; | |
606 | } | |
607 | ||
608 | diff -Nur -x CVS -x .cvsignore hugin-0.5-beta4/src/hugin/PanoPanel.cpp hugin/src/hugin/PanoPanel.cpp | |
609 | --- hugin-0.5-beta4/src/hugin/PanoPanel.cpp 2005-02-22 11:08:43.000000000 +0100 | |
610 | +++ hugin/src/hugin/PanoPanel.cpp 2005-04-26 09:22:35.000000000 +0200 | |
611 | @@ -7,7 +7,7 @@ | |
612 | * @author Kai-Uwe Behrmann <web@tiscali.de> and | |
613 | * Pablo d'Angelo <pablo@mathematik.uni-ulm.de> | |
614 | * | |
615 | - * $Id$ | |
616 | + * $Id$ | |
617 | * | |
618 | * This program is free software; you can redistribute it and/or | |
619 | * modify it under the terms of the GNU General Public | |
620 | @@ -109,7 +109,7 @@ | |
621 | m_StitchButton = XRCCTRL(*this, "pano_button_stitch", wxButton); | |
622 | DEBUG_ASSERT(m_StitchButton); | |
623 | ||
624 | -#ifdef USE_WX25x | |
625 | +#ifdef USE_WX26x | |
626 | m_pano_ctrls = XRCCTRL(*this, "pano_controls_panel", wxScrolledWindow); | |
627 | DEBUG_ASSERT(m_pano_ctrls); | |
628 | m_pano_ctrls->SetSizeHints(20, 20); | |
629 | @@ -437,7 +437,7 @@ | |
630 | m_Stitcher ); | |
631 | // redo layout. | |
632 | // Layout(); | |
633 | -#ifdef USE_WX25x | |
634 | +#ifdef USE_WX26x | |
635 | m_pano_ctrls->FitInside(); | |
636 | #endif | |
637 | } | |
638 | @@ -491,6 +491,10 @@ | |
639 | ||
640 | void PanoPanel::DoStitch ( wxCommandEvent & e ) | |
641 | { | |
642 | + if (pano.getNrOfImages() == 0) { | |
643 | + wxMessageBox(_("No images - Nothing to do"),_("Warning"), wxOK | wxICON_EXCLAMATION); | |
644 | + return; | |
645 | + } | |
646 | int preset = m_QuickChoice->GetSelection(); | |
647 | // apply preset mode. (recalculates width etc) | |
648 | ApplyQuickMode(preset); | |
649 | diff -Nur -x CVS -x .cvsignore hugin-0.5-beta4/src/hugin/po/de.po hugin/src/hugin/po/de.po | |
650 | --- hugin-0.5-beta4/src/hugin/po/de.po 2005-03-08 22:10:47.000000000 +0100 | |
651 | +++ hugin/src/hugin/po/de.po 2005-04-26 13:06:00.000000000 +0200 | |
652 | @@ -10,7 +10,7 @@ | |
653 | msgstr "" | |
654 | "Project-Id-Version: de\n" | |
655 | "Report-Msgid-Bugs-To: pablo.dangelo@web.de\n" | |
656 | -"POT-Creation-Date: 2005-03-08 21:37+0100\n" | |
657 | +"POT-Creation-Date: 2005-04-26 12:54+0300\n" | |
658 | "PO-Revision-Date: 2005-03-08 22:02+0100\n" | |
659 | "Last-Translator: Pablo d'Angelo <pablo.dangelo@mathematik.uni-ulm.de>\n" | |
660 | "Language-Team: deutsch <de@li.org>\n" | |
661 | @@ -22,73 +22,89 @@ | |
662 | "X-Poedit-Basepath: /home/pablo/src/my/hugin-0.4\n" | |
663 | "X-Poedit-SearchPath-0: /home/pablo/src/my/hugin-0.4\n" | |
664 | ||
665 | -#: src/hugin/AutoCtrlPointCreator.cpp:87 | |
666 | +#: src/hugin/AutoCtrlPointCreator.cpp:92 | |
667 | #, c-format | |
668 | msgid "Added %d control points" | |
669 |