From 580d021ae35ce3692afd22975fe21c60fa097a62 Mon Sep 17 00:00:00 2001 From: Leonardo Robol Date: Mon, 21 Sep 2009 16:34:46 +0200 Subject: [PATCH] Aggiunta le feature numero di pagine, e anche qualeh stampante --- DrPrintBackend.py | 9 ++++++++- DrPrintGui/Input.py | 25 ++++++++++++++++++++++++- DrPrintGui/Input.pyc | Bin 8728 -> 9571 bytes DrPrintGui/MainWin.py | 8 +++++--- DrPrintGui/MainWin.pyc | Bin 4493 -> 4549 bytes 5 files changed, 37 insertions(+), 5 deletions(-) diff --git a/DrPrintBackend.py b/DrPrintBackend.py index 3438add..82bc2cb 100644 --- a/DrPrintBackend.py +++ b/DrPrintBackend.py @@ -11,7 +11,7 @@ class Backend(gobject.GObject): gobject.signal_new("auth_failed", Backend, gobject.SIGNAL_RUN_FIRST, None, ()) gobject.signal_new('io_error', Backend, gobject.SIGNAL_RUN_FIRST, None, ()) - def send_print(self, printer, username, password, page_per_page, filename, page_range): + def send_print(self, printer, username, password, page_per_page, filename, page_range, copies): # Get printer name print "Selected printer: %s" % printer @@ -41,6 +41,11 @@ class Backend(gobject.GObject): # Questo รจ inevitabile.. :) cmd = "lpr -P%s " % printer + # Nunmero di pagine + if copies.isdigit(): + cmd = cmd + "-# %s " % copies + + cmd_opts = "" ## Pagine logiche per pagine @@ -54,6 +59,8 @@ class Backend(gobject.GObject): ## Se ci sono opzioni dai il -o e specificale if not cmd_opts == "": cmd = cmd + "-o %s" % cmd_opts + + ## Diamo il comando sul canale e infiliamo il file ## dentro lo stdin :) diff --git a/DrPrintGui/Input.py b/DrPrintGui/Input.py index af1330a..cf0201d 100644 --- a/DrPrintGui/Input.py +++ b/DrPrintGui/Input.py @@ -84,7 +84,7 @@ class SelectFileWidget(gtk.HBox): self.set_spacing (5) self.Filename = gtk.Entry() - self.Browser = gtk.Button("Seleziona File") + self.Browser = gtk.Button("Sfoglia") self.Browser.connect('clicked', self.SelectFile) @@ -117,6 +117,8 @@ class PrinterComboBox(gtk.HBox): self.combobox = gtk.combo_box_new_text() self.combobox.append_text("cdc7") self.combobox.append_text("cdcpt") + self.combobox.append_text("cdc8") + self.combobox.append_text("cdc4") self.combobox.set_active(1) @@ -179,6 +181,14 @@ class PrinterSettingsBlock(gtk.HBox): vbox2.pack_start(self.page_per_page) self.page_per_page.show() + label = LeftAlignedLabel("Numero di copie", 2) + vbox1.pack_start(label) + label.show() + + self.copies = CopiesField() + vbox2.pack_start(self.copies) + self.copies.show() + self.pack_start(vbox1) self.pack_start(vbox2) @@ -194,6 +204,9 @@ class PrinterSettingsBlock(gtk.HBox): def get_page_per_page(self): return self.page_per_page.get_page_per_page() + def get_copies(self): + return self.copies.get_copies() + class PageRangeBlock(gtk.VBox): @@ -243,6 +256,16 @@ class PageRangeBlock(gtk.VBox): return self.range_field.get_text() + +class CopiesField(gtk.Entry): + + def __init__(self): + + gtk.Entry.__init__(self) + + def get_copies(self): + return self.get_text() + diff --git a/DrPrintGui/Input.pyc b/DrPrintGui/Input.pyc index 803b8dd291b6641dc2c62eaa8f1b13186831cb6f..4635d04927bad9f69a1da7abc80920dc96125600 100644 GIT binary patch delta 1067 zcmX|AOK4M35WSNoHzaAy%kL$xwn?g`#)?*yZp4K%FKrX%ymRNyo!^~%xA*(d){npa z-aj{<4Hd-tPtv!Gq}1_r>o!Q}q9}yr64M~em{<~GQHV2>Az^~ZrsI`k@Yh#cc9VT} zdiK(cm9LEY#~rW>?+2D(4>oJV#LuP1@Rhbp?jbXE1gG?VY!6<6Wqc4kj?W`n#3f9p zSOfv{6w4_rDNGlBi0lA~4WU@1?4*MQvv6pGv{`^!G=`bbJzt3SghPV>Xt)+V486EJ zd<7P;OHaZe#|n0m!5m46-AIRLOC=nMLb!)ks+XaUp`QSkLlbZdSE2*b-Wb4qY8YGe zD6H82GVITFoGh2{k$w<5@Ud(`f6U`ICHH1h3YAT}@vBV26TDe(RI;%+xXN}tjqz=% z0Jo2d%xPkt>U1-=w9V2rEW|sg=(YF(y%eA@BiAk$ug<1SD^-}Cvx?~;eu+0kTR2}5 zp&A&t`>GQ?M%zA4t?Vb5%U>$y=89KyOv*me^ss|czg3(uDIe;my~eCjl&iEXb>RzR zAAUEwCA+3;%BO~;YA5~%Z`8HRan=r2wS&ap+S)8@GgWPd_&e5yPZBG82`F}MJy6aw zuwPA(?mbD#K_DP)r(R1`anh=WfkP^epxB|B;GTy^h~6P7u~+E`w0dePM*Ty8o%p(8 z%EynH8BP)xR98J&-f#8yJ?cto5|!0W$SveYI=_CFEE_J)nwLnmgpb+l{_8g zBPz#W`wTNXPh)%${^85icFC41&xyrP5&c9`;-1oQB|UC+f+$V}2U;UU%5=jZEC*jT zkGM%sB@MJOlD5lbsx*cgZX9S1&ZfGaW7Rp11GOeP#t~vvoTbs)3V87)EXZ8HydsvWkigi Ian#uR9~4*AWB>pF delta 698 zcmXX@&ubGw6yDh;6Z6X?n{1LvjY(rPTWhhkkw!^rYm*2Yu*sxqOAc++RjMV1ZUylm zA_WgB2v5O3z*BFspch5(B6=(IpV)w|tJwzj%vIh|lrWhcQ2ZL(1) zh3m-uz6R`sNBAga%Q7^14eF7u+Ed_fIte?mF&9^E3_wyZFc-{g3AnGl_mZ`uhFJ*8 z(Gr`5d(p1?P=QeXD65i1WD3uF7`6+6tKNXqj_E8sgF87(aDiYB9_dSL6Ta&gd0(wS z*jI=3xURl9a5KrxUBl$ZupggfXJ8~T;gT(b!<|Hit-znOaNZ=64E$mOrgaV#F|HaR zcq-ERFx`Qn$TWe6UKjJT(sAQfK)*6_v3q zlgkqF53ub$$1jmuJy5I2KlRlHsV1po(nS6l!&VU#X3(5ufPk)*0|ewJsT_;w(dtM6 z!#;$-)lk8CnciZ|fa%PNe~$7J1gBst(_q8!J9CqLg=^VoYyoz&N&gi(TqJ0LHq>%o zM*0(O4=w5oBrXy34Wh)Z_9tJ+X>1qH=Z1e j9#2xQ@(4i_YpO7LTua7qn^#3Zc=10WJR&PJ5fR0I^KFh8 diff --git a/DrPrintGui/MainWin.py b/DrPrintGui/MainWin.py index 282f2ec..bc72837 100644 --- a/DrPrintGui/MainWin.py +++ b/DrPrintGui/MainWin.py @@ -21,7 +21,7 @@ class MainWin(gtk.Window): gtk.Window.__init__(self, gtk.WINDOW_TOPLEVEL) - self.set_title = "DrPrint 0.1" + self.set_title = "DrPrint 0.2" self.set_border_width(10) self.default_spacing = 5 @@ -36,7 +36,7 @@ class MainWin(gtk.Window): """This function builds up the interface using pieces from DrPrintGui""" - # The main LayOut VBox + # The main Layout VBox layout_box = gtk.VBox() layout_box.set_spacing( self.default_spacing ) @@ -96,13 +96,15 @@ class MainWin(gtk.Window): filename = self.printer_settings_block.get_filename() page_per_page = self.printer_settings_block.get_page_per_page() page_range = self.page_range_block.get_page_range() + copies = self.printer_settings_block.get_copies() self.backend.send_print(printer = printer, username = username, password = password, filename = filename, page_per_page = page_per_page, - page_range = page_range) + page_range = page_range, + copies = copies) else: self.debug( "Sembra che non ci sia un backend attaccato\ a questa interfaccia, quindi non faccio nulla") diff --git a/DrPrintGui/MainWin.pyc b/DrPrintGui/MainWin.pyc index ffaef119f56771eea26a733e721a91bbaf5f8347..1c0b35e522b98f35472cfb0b7f5791c78b9f1e3f 100644 GIT binary patch delta 308 zcmeBGKB~-q@e?oCjPmUp*`t^kjW#DSDY46QGB7ak1F}`b475MumMd?&M(MJEuK7|D~^$G@;|PLTk2w4 z2dM&eM1vfp1SA+31sM5}A(Idz+h!AMq>?EKBG*3g&eexOsNk-Ah#{`Z8 E088CHqyPW_ delta 272 zcmX@A+^fuf@e?oCW5aD5*`t^k4L2t-DY46QFfcIi0GB5&_25WFkj^T=!yq_zMk$18j z_e8Pc)V!4Vf}+g4k`h*+p(&|JrRhLLSGWx)>u@^AsRG5KK{m<(2?j<1Mt%fj655=@ z)5geXHu*De8Drk$EWT?hW^PwS -- 2.1.4