Changeset 6700


Ignore:
Timestamp:
Jan 26, 2018, 12:25:50 PM (19 months ago)
Author:
Juanma
Message:

Added expert mode WIP

File:
1 edited

Legend:

Unmodified
Added
Removed
  • taskscheduler/trunk/fuentes/scheduler-gui.install/usr/share/taskscheduler/bin/DetailBox.py

    r6552 r6700  
    3030class DetailBox:
    3131       
    32         def __init__(self,scheduler):
     32        def __init__(self,scheduler,expert_mode=False):
     33                self.expert_mode=expert_mode
    3334                self.scheduler_client=scheduler
    3435                self.parser=cronParser()
     
    213214                gtkGrid.attach_next_to(self.hour_box,label,Gtk.PositionType.BOTTOM,1,1)
    214215                gtkGrid.attach_next_to(self.minute_box,self.hour_box,Gtk.PositionType.BOTTOM,1,1)
    215                 gtkGrid.attach_next_to(self.month_box,self.minute_box,Gtk.PositionType.BOTTOM,1,1)
    216                 gtkGrid.attach_next_to(self.day_box,self.month_box,Gtk.PositionType.BOTTOM,1,1)
    217                 label=Gtk.Label(_("Time intervals"))
    218                 label.set_margin_bottom(WIDGET_MARGIN)
    219                 gtkGrid.attach(label,2,1,2,1)
    220                 gtkGrid.attach_next_to(self.chk_interval,label,Gtk.PositionType.BOTTOM,1,1)
    221216                self.interval_box=Gtk.Box()
    222                 self.interval_box.add(Gtk.Label(_("Each")))
    223                 self.interval_box.add(self.cmb_interval)
    224                 self.interval_box.add(self.cmb_dates)
    225                 gtkGrid.attach_next_to(self.interval_box,self.chk_interval,Gtk.PositionType.BOTTOM,1,1)
    226                 gtkGrid.attach_next_to(self.chk_special_dates,self.interval_box,Gtk.PositionType.BOTTOM,1,1)
     217                if self.expert_mode:
     218                        gtkGrid.attach_next_to(self.month_box,self.minute_box,Gtk.PositionType.BOTTOM,1,1)
     219                        gtkGrid.attach_next_to(self.day_box,self.month_box,Gtk.PositionType.BOTTOM,1,1)
     220                        label=Gtk.Label(_("Time intervals"))
     221                        label.set_margin_bottom(WIDGET_MARGIN)
     222                        gtkGrid.attach(label,2,1,2,1)
     223                        gtkGrid.attach_next_to(self.chk_interval,label,Gtk.PositionType.BOTTOM,1,1)
     224                        self.interval_box.add(Gtk.Label(_("Each")))
     225                        self.interval_box.add(self.cmb_interval)
     226                        self.interval_box.add(self.cmb_dates)
     227                        gtkGrid.attach_next_to(self.interval_box,self.chk_interval,Gtk.PositionType.BOTTOM,1,1)
     228                        gtkGrid.attach_next_to(self.chk_special_dates,self.interval_box,Gtk.PositionType.BOTTOM,1,1)
     229
    227230                if btn_apply:
    228231                        self.btn_apply.set_halign(Gtk.Align.END)
    229232                        self.btn_apply.set_valign(Gtk.Align.END)
    230                         gtkGrid.attach(self.btn_apply,4,6,2,1)
     233                        gtkGrid.attach(self.btn_apply,4,7,2,1)
     234                self.btn_mode=Gtk.CheckButton()
     235                self.btn_mode.set_margin_top(12)
     236                self.btn_mode.set_halign(Gtk.Align.START)
     237                self.btn_mode.set_valign(Gtk.Align.START)
     238                gtkGrid.attach(self.btn_mode,0,7,2,1)
     239                self.btn_mode.set_label("Advanced")
     240                self.btn_mode.set_active(self.expert_mode)
     241
    231242                #Tab order chain
    232243                widget_array=[dow_frame,self.hour_box,self.minute_box,self.month_box,self.day_box,self.chk_interval,\
     
    260271                self.cmb_handler[self.cmb_minutes]=self.cmb_minutes.connect("changed",self._parse_scheduled)
    261272                gtkGrid.connect("event",self._parse_scheduled)
     273                self.btn_mode.connect("toggled",self._enable_expert_mode,gtkGrid,btn_apply)
    262274
    263275                #Initial control status
     
    266278                return (gtkGrid)
    267279        #def render_form
     280
     281        def _enable_expert_mode(self,widget,gtkgrid,btn_apply):
     282                self.expert_mode=self.btn_mode.get_active()
     283                print("Expert mode: %s"%self.expert_mode)
     284                for grid_widget in gtkgrid.get_children():
     285                        gtkgrid.remove(grid_widget)
     286                parent=gtkgrid.get_parent()
     287                parent.remove(gtkgrid)
     288                gtkgrid=self.render_form(gtkgrid,btn_apply)
     289                parent.add(gtkgrid)
     290                parent.show_all()
     291                print("%s"%type(gtkgrid))
     292                print("%s"%type(parent))
     293
    268294
    269295        def load_task_details(self,task_name,task_serial,task_data,task_type):
Note: See TracChangeset for help on using the changeset viewer.