Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(127)

Side by Side Diff: chrome/browser/printing/print_dialog_gtk.cc

Issue 6826027: Connect the right metafiles for print preview on Linux and Windows. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix compile issues and rename MetafileInterface to Metafile Created 9 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/printing/print_dialog_gtk.h" 5 #include "chrome/browser/printing/print_dialog_gtk.h"
6 6
7 #include <fcntl.h> 7 #include <fcntl.h>
8 #include <gtk/gtkpagesetupunixdialog.h> 8 #include <gtk/gtkpagesetupunixdialog.h>
9 #include <gtk/gtkprintjob.h> 9 #include <gtk/gtkprintjob.h>
10 #include <sys/stat.h> 10 #include <sys/stat.h>
(...skipping 14 matching lines...) Expand all
25 PrintingContextCairo::PrintSettingsCallback* callback, 25 PrintingContextCairo::PrintSettingsCallback* callback,
26 PrintingContextCairo* context) { 26 PrintingContextCairo* context) {
27 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 27 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
28 28
29 PrintDialogGtk* dialog = new PrintDialogGtk(callback, context); 29 PrintDialogGtk* dialog = new PrintDialogGtk(callback, context);
30 return dialog; 30 return dialog;
31 } 31 }
32 32
33 // static 33 // static
34 void PrintDialogGtk::PrintDocument(void* print_dialog, 34 void PrintDialogGtk::PrintDocument(void* print_dialog,
35 const NativeMetafile* metafile, 35 const printing::Metafile* metafile,
36 const string16& document_name) { 36 const string16& document_name) {
37 PrintDialogGtk* dialog = static_cast<PrintDialogGtk*>(print_dialog); 37 PrintDialogGtk* dialog = static_cast<PrintDialogGtk*>(print_dialog);
38 38
39 scoped_ptr<base::WaitableEvent> event(new base::WaitableEvent(false, false)); 39 scoped_ptr<base::WaitableEvent> event(new base::WaitableEvent(false, false));
40 dialog->set_save_document_event(event.get()); 40 dialog->set_save_document_event(event.get());
41 BrowserThread::PostTask( 41 BrowserThread::PostTask(
42 BrowserThread::FILE, FROM_HERE, 42 BrowserThread::FILE, FROM_HERE,
43 NewRunnableMethod(dialog, 43 NewRunnableMethod(dialog,
44 &PrintDialogGtk::SaveDocumentToDisk, 44 &PrintDialogGtk::SaveDocumentToDisk,
45 metafile, 45 metafile,
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 Release(); 139 Release();
140 return; 140 return;
141 } 141 }
142 case GTK_RESPONSE_APPLY: 142 case GTK_RESPONSE_APPLY:
143 default: { 143 default: {
144 NOTREACHED(); 144 NOTREACHED();
145 } 145 }
146 } 146 }
147 } 147 }
148 148
149 void PrintDialogGtk::SaveDocumentToDisk(const NativeMetafile* metafile, 149 void PrintDialogGtk::SaveDocumentToDisk(
150 const string16& document_name) { 150 const printing::Metafile* metafile,
151 const string16& document_name) {
151 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); 152 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE));
152 153
153 bool error = false; 154 bool error = false;
154 if (!file_util::CreateTemporaryFile(&path_to_pdf_)) { 155 if (!file_util::CreateTemporaryFile(&path_to_pdf_)) {
155 LOG(ERROR) << "Creating temporary file failed"; 156 LOG(ERROR) << "Creating temporary file failed";
156 error = true; 157 error = true;
157 } 158 }
158 159
159 if (!error && !metafile->SaveTo(path_to_pdf_)) { 160 if (!error && !metafile->SaveTo(path_to_pdf_)) {
160 LOG(ERROR) << "Saving metafile failed"; 161 LOG(ERROR) << "Saving metafile failed";
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
207 NULL); 208 NULL);
208 // Printing finished. 209 // Printing finished.
209 Release(); 210 Release();
210 } 211 }
211 212
212 void PrintDialogGtk::set_save_document_event(base::WaitableEvent* event) { 213 void PrintDialogGtk::set_save_document_event(base::WaitableEvent* event) {
213 DCHECK(event); 214 DCHECK(event);
214 DCHECK(!save_document_event_); 215 DCHECK(!save_document_event_);
215 save_document_event_ = event; 216 save_document_event_ = event;
216 } 217 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698