diff options
Diffstat (limited to 'ptgui.py')
-rw-r--r-- | ptgui.py | 23 |
1 files changed, 14 insertions, 9 deletions
@@ -20,13 +20,11 @@ class MainWindow(object): self.wnd = builder.get_object('mainwnd') self.wnd.connect("delete-event", Gtk.main_quit) - self.statuslabel = builder.get_object('statuslabel') - tabviewport = builder.get_object('tabviewport') + for name in ['statuslabel', 'tabviewport', 'img', 'printbtn', + 'color_fg', 'color_bg', 'numcopies', 'cuttoggle', 'devbox']: + self.__dict__[name] = builder.get_object(name) self.ctlgrid = Gtk.Table() - tabviewport.add(self.ctlgrid) - self.printbtn = builder.get_object('printbtn') - self.color_fg = builder.get_object('color_fg') - self.color_bg = builder.get_object('color_bg') + self.tabviewport.add(self.ctlgrid) self.layout = ptlayout.PTLHSeq() self.layout.spacing = 0 @@ -58,13 +56,11 @@ class MainWindow(object): self.layout.add(PTLText()) self.layout_put_controls() - self.img = builder.get_object('resultimg') self.sizing_apply() self.img.connect('draw', self.draw) # help(self.img) self.devlist = Gtk.ListStore(str, object) - self.devbox = builder.get_object('devbox') self.devbox.set_model(self.devlist) self.scan() self.dev_select() @@ -259,11 +255,20 @@ class MainWindow(object): if self.label_surface is None: return + + copies = self.numcopies.get_buffer().get_text() + if copies.strip() == '': + copies = 1 + else: + copies = int(copies) + feedlast = self.cuttoggle.get_active() + data = pttarget.PTLabelData() data.addcairo(self.label_surface, offset = self.tape.offset) itr = self.devbox.get_active_iter() dev = self.devlist[itr][1] - dev.send(data.get()) + for i in range(0, copies): + dev.send(data.get(feedlast and i == copies - 1)) mw = MainWindow() Gtk.main() |