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

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

Issue 8372030: Get printing working in Aura. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: More gyp fixes Created 9 years, 1 month 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
« no previous file with comments | « chrome/browser/printing/print_dialog_gtk.h ('k') | printing/print_dialog_gtk_interface.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
86 } 86 }
87 87
88 std::vector<GtkPrinter*> printers_; 88 std::vector<GtkPrinter*> printers_;
89 GtkPrinter* default_printer_; 89 GtkPrinter* default_printer_;
90 }; 90 };
91 91
92 } // namespace 92 } // namespace
93 93
94 // static 94 // static
95 printing::PrintDialogGtkInterface* PrintDialogGtk::CreatePrintDialog( 95 printing::PrintDialogGtkInterface* PrintDialogGtk::CreatePrintDialog(
96 PrintingContextCairo* context) { 96 PrintingContextGtk* context) {
97 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 97 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
98 return new PrintDialogGtk(context); 98 return new PrintDialogGtk(context);
99 } 99 }
100 100
101 PrintDialogGtk::PrintDialogGtk(PrintingContextCairo* context) 101 PrintDialogGtk::PrintDialogGtk(PrintingContextGtk* context)
102 : callback_(NULL), 102 : callback_(NULL),
103 context_(context), 103 context_(context),
104 dialog_(NULL), 104 dialog_(NULL),
105 gtk_settings_(NULL), 105 gtk_settings_(NULL),
106 page_setup_(NULL), 106 page_setup_(NULL),
107 printer_(NULL) { 107 printer_(NULL) {
108 } 108 }
109 109
110 PrintDialogGtk::~PrintDialogGtk() { 110 PrintDialogGtk::~PrintDialogGtk() {
111 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 111 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
222 gtk_print_settings_set_orientation( 222 gtk_print_settings_set_orientation(
223 gtk_settings_, 223 gtk_settings_,
224 landscape ? GTK_PAGE_ORIENTATION_LANDSCAPE : 224 landscape ? GTK_PAGE_ORIENTATION_LANDSCAPE :
225 GTK_PAGE_ORIENTATION_PORTRAIT); 225 GTK_PAGE_ORIENTATION_PORTRAIT);
226 226
227 InitPrintSettings(ranges, settings); 227 InitPrintSettings(ranges, settings);
228 return true; 228 return true;
229 } 229 }
230 230
231 void PrintDialogGtk::ShowDialog( 231 void PrintDialogGtk::ShowDialog(
232 PrintingContextCairo::PrintSettingsCallback* callback) { 232 PrintingContextGtk::PrintSettingsCallback* callback) {
233 callback_ = callback; 233 callback_ = callback;
234 234
235 GtkWindow* parent = BrowserList::GetLastActive()->window()->GetNativeHandle(); 235 GtkWindow* parent = BrowserList::GetLastActive()->window()->GetNativeHandle();
236 // TODO(estade): We need a window title here. 236 // TODO(estade): We need a window title here.
237 dialog_ = gtk_print_unix_dialog_new(NULL, parent); 237 dialog_ = gtk_print_unix_dialog_new(NULL, parent);
238 g_signal_connect(dialog_, "delete-event", 238 g_signal_connect(dialog_, "delete-event",
239 G_CALLBACK(gtk_widget_hide_on_delete), NULL); 239 G_CALLBACK(gtk_widget_hide_on_delete), NULL);
240 240
241 241
242 // Set modal so user cannot focus the same tab and press print again. 242 // Set modal so user cannot focus the same tab and press print again.
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
334 range.to = gtk_range[i].end; 334 range.to = gtk_range[i].end;
335 ranges_vector.push_back(range); 335 ranges_vector.push_back(range);
336 } 336 }
337 g_free(gtk_range); 337 g_free(gtk_range);
338 } 338 }
339 339
340 PrintSettings settings; 340 PrintSettings settings;
341 printing::PrintSettingsInitializerGtk::InitPrintSettings( 341 printing::PrintSettingsInitializerGtk::InitPrintSettings(
342 gtk_settings_, page_setup_, ranges_vector, false, &settings); 342 gtk_settings_, page_setup_, ranges_vector, false, &settings);
343 context_->InitWithSettings(settings); 343 context_->InitWithSettings(settings);
344 callback_->Run(PrintingContextCairo::OK); 344 callback_->Run(PrintingContextGtk::OK);
345 callback_ = NULL; 345 callback_ = NULL;
346 return; 346 return;
347 } 347 }
348 case GTK_RESPONSE_DELETE_EVENT: // Fall through. 348 case GTK_RESPONSE_DELETE_EVENT: // Fall through.
349 case GTK_RESPONSE_CANCEL: { 349 case GTK_RESPONSE_CANCEL: {
350 callback_->Run(PrintingContextCairo::CANCEL); 350 callback_->Run(PrintingContextGtk::CANCEL);
351 callback_ = NULL; 351 callback_ = NULL;
352 return; 352 return;
353 } 353 }
354 case GTK_RESPONSE_APPLY: 354 case GTK_RESPONSE_APPLY:
355 default: { 355 default: {
356 NOTREACHED(); 356 NOTREACHED();
357 } 357 }
358 } 358 }
359 } 359 }
360 360
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
396 // Printing finished. Matches AddRef() in PrintDocument(); 396 // Printing finished. Matches AddRef() in PrintDocument();
397 Release(); 397 Release();
398 } 398 }
399 399
400 void PrintDialogGtk::InitPrintSettings(const PageRanges& page_ranges, 400 void PrintDialogGtk::InitPrintSettings(const PageRanges& page_ranges,
401 PrintSettings* settings) { 401 PrintSettings* settings) {
402 printing::PrintSettingsInitializerGtk::InitPrintSettings( 402 printing::PrintSettingsInitializerGtk::InitPrintSettings(
403 gtk_settings_, page_setup_, page_ranges, false, settings); 403 gtk_settings_, page_setup_, page_ranges, false, settings);
404 context_->InitWithSettings(*settings); 404 context_->InitWithSettings(*settings);
405 } 405 }
OLDNEW
« no previous file with comments | « chrome/browser/printing/print_dialog_gtk.h ('k') | printing/print_dialog_gtk_interface.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698