summaryrefslogtreecommitdiffstats
path: root/ui.vala
diff options
context:
space:
mode:
authorSebastian Reichel <sre@ring0.de>2012-08-08 20:54:35 +0200
committerSebastian Reichel <sre@ring0.de>2012-08-08 20:54:35 +0200
commitea9ea2673df404ad2dbf5718eaa3ded4b2956f79 (patch)
treeec95b2f3b722e518ff5b9c5a6e73e86f2b2c20c9 /ui.vala
parentb11374fbf4a9e8900c1471dc1e8350a07d8a4a68 (diff)
downloadserial-barcode-scanner-ea9ea2673df404ad2dbf5718eaa3ded4b2956f79.tar.bz2
prepare printing of stock dialog
Diffstat (limited to 'ui.vala')
-rw-r--r--ui.vala34
1 files changed, 34 insertions, 0 deletions
diff --git a/ui.vala b/ui.vala
index a5d37a4..76b484d 100644
--- a/ui.vala
+++ b/ui.vala
@@ -88,6 +88,40 @@ public void show_stock_dialog() {
(builder.get_object("stock-dialog") as Gtk.Window).show();
}
+public void stock_dialog_handle_response(Gtk.Dialog dialog, int responseid) {
+ if(responseid == 1) {
+ stock_dialog_print(dialog);
+ } else {
+ dialog.hide();
+ }
+}
+
+public void stock_dialog_print(Gtk.Window parentw) {
+ var operation = new Gtk.PrintOperation();
+
+ operation.begin_print.connect(begin_print);
+ operation.draw_page.connect(draw_page);
+ operation.end_print.connect(end_print);
+
+ try {
+ operation.run(Gtk.PrintOperationAction.PRINT_DIALOG, parentw);
+ } catch(Error e) {
+ error("error while printing: %s\n", e.message);
+ }
+}
+
+public void begin_print(Gtk.PrintContext context) {
+ /* TODO: find out how many pages we need */
+}
+
+public void draw_page(Gtk.PrintContext context, int nr) {
+ /* TODO: do some cairo magic */
+}
+
+public void end_print(Gtk.PrintContext context) {
+ /* TODO: free allocated resources */
+}
+
[PrintfFormat]
public void write_to_log(string format, ...) {
var arguments = va_list();