Skip to content

Commit 56d961b

Browse files
committed
Fix local file/tempfile handling
1 parent 231dcd2 commit 56d961b

File tree

2 files changed

+29
-17
lines changed

2 files changed

+29
-17
lines changed

MyCBZ/Models/Page.cs

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,19 @@ protected void RequestTemporaryFile()
175175
{
176176
MessageLogger.Instance.Log(LogMessageEvent.LOGMESSAGE_TYPE_WARNING, "No Entry with name [" + Name + "] exists in archive!");
177177
}
178+
} else
179+
{
180+
if (ReadOnly)
181+
{
182+
FileInfo tempFileInfo = new FileInfo(TempPath);
183+
FileStream ImageStream = File.Open(TempPath, FileMode.OpenOrCreate, FileAccess.ReadWrite);
184+
FileStream localFile = File.OpenRead(LocalPath);
185+
186+
localFile.CopyTo(ImageStream);
187+
188+
ImageStream.Close();
189+
localFile.Close();
190+
}
178191
}
179192
}
180193

@@ -275,12 +288,9 @@ private void LoadImage()
275288

276289
if (Image == null)
277290
{
278-
if (Compressed && ImageEntry != null)
279-
{
280-
RequestTemporaryFile();
281-
ImageStream = File.Open(TempPath, FileMode.Open, FileAccess.ReadWrite);
282-
Image = Image.FromStream(ImageStream);
283-
}
291+
RequestTemporaryFile();
292+
ImageStream = File.Open(TempPath, FileMode.Open, FileAccess.ReadWrite);
293+
Image = Image.FromStream(ImageStream);
284294
}
285295

286296
if (Image != null)

MyCBZ/Models/ProjectModel.cs

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -233,20 +233,20 @@ public void AddImages(List<LocalFile> fileList, int maxIndex = 0)
233233
{
234234
FileInfo localCopyInfo = fileObject.FileInfo.CopyTo(PathHelper.ResolvePath(WorkingDir) + ProjectGUID + "\\" + fileObject.FileInfo.Name);
235235

236-
Page cBZImage = new Page(localCopyInfo, FileAccess.ReadWrite);
237-
cBZImage.Size = fileObject.FileSize;
238-
cBZImage.Number = index + 1;
239-
cBZImage.Index = index;
240-
cBZImage.LocalPath = fileObject.FullPath;
241-
cBZImage.Compressed = false;
242-
cBZImage.LastModified = fileObject.FileInfo.LastWriteTime;
243-
cBZImage.Name = fileObject.FileInfo.Name;
244-
cBZImage.TempPath = localCopyInfo.FullName;
236+
Page page = new Page(localCopyInfo, FileAccess.ReadWrite);
237+
page.Size = fileObject.FileSize;
238+
page.Number = index + 1;
239+
page.Index = index;
240+
page.LocalPath = fileObject.FullPath;
241+
page.Compressed = false;
242+
page.LastModified = fileObject.FileInfo.LastWriteTime;
243+
page.Name = fileObject.FileInfo.Name;
244+
page.TempPath = localCopyInfo.FullName;
245245
fileObject.FileInfo = localCopyInfo;
246246

247-
Pages.Add(cBZImage);
247+
Pages.Add(page);
248248

249-
OnImageLoaded(new ItemLoadProgressEvent(index, Pages.Count, cBZImage));
249+
OnImageLoaded(new ItemLoadProgressEvent(index, Pages.Count, page));
250250

251251
index++;
252252
} catch (Exception ef)
@@ -264,6 +264,8 @@ public void AddImages(List<LocalFile> fileList, int maxIndex = 0)
264264
}
265265

266266
OnOperationFinished(new OperationFinishedEvent(index, Pages.Count));
267+
268+
UpdatePageIndices();
267269
}
268270

269271
public List<LocalFile> LoadDirectory(String path)

0 commit comments

Comments
 (0)