2iSrSSKJrJrJrJrJrJrJrJ r J r J r SSK J r SSKJr SSKJr SSKJr SSKJr SSKJr "S S \5rg ) zc Schedules Widget for Python Scheduler Central scheduling hub - schedule individual jobs or groups ) QWidget QVBoxLayout QHBoxLayout QTableWidgetQTableWidgetItem QPushButton QHeaderViewQLabel QMessageBoxQMenu)Qt)QAction)logger)SchedulerDatabase)SchedulerConfig)ScheduleEditorDialogc^\rSrSrSrS\S\4U4SjjrSrSr S\ S \ S \ 4S jr S r S \ 4S jrSrSrSrSrU=r$)SchedulesWidgetz$Schedules list and management widgetdbconfigcz>[TU]5 XlX lUR 5 UR 5 g)N)super__init__rr _setup_uirefresh)selfrr __class__s +c:\PYTHON\Scheduler\gui\schedules_widget.pyrSchedulesWidget.__init__s+    cp[U5n[5n[S5nURS5 UR U5 UR 5 [ S5UlURRRUR5 UR UR5 URU5 [5n[ S5Ul URRS5 URRRUR5 UR UR5 [ S5UlURRS5 URRRUR 5 UR UR5 [ S5UlUR"RS 5 UR"RS5 UR"RRUR$5 UR UR"5 UR 5 URU5 ['5UlUR(R+S 5 UR(R-/S Q5 UR(R/5R1S [2R4R65 UR(R9[&R:R<5 UR(R?S 5 UR(RA[&RBRD5 UR(RFRURH5 UR UR(5 g)zSetup UIz Schedules - When to Execute Jobsz#font-size: 14px; font-weight: bold;Refreshz New Schedulez;background-color: #4CAF50; color: white; padding: 5px 15px;EditFDeletez;background-color: #f44336; color: white; padding: 5px 15px;)IDNameTypeTargetScheduleEnabledTN)%rrr setStyleSheet addWidget addStretchr refresh_btnclickedconnectr addLayoutnew_schedule_btn _new_scheduleedit_schedule_btn setEnabled_edit_scheduledelete_schedule_btn_delete_schedulertablesetColumnCountsetHorizontalHeaderLabelshorizontalHeadersetSectionResizeModer ResizeModeStretchsetSelectionBehaviorSelectionBehavior SelectRowssetAlternatingRowColorssetEditTriggers EditTriggerNoEditTriggersitemSelectionChanged_on_selection_changed)rlayout header_layout header_labelactions_layouts rrSchedulesWidget._setup_uisT"$ @A ""#HI -  "'y1   ((6 0 01'% +N ; ++,ij %%--d.@.@A  !6!67!,V!4 ))%0 &&..t/B/BC  !7!78#.x#8    ../lm   ++E2   ((001F1FG  !9!9:!!#("^  !!!$ ,,.   ##%::1k>T>T>\>\] '' (F(F(Q(QR **40 ""<#;#;#J#JK ''//0J0JK$r!c URR5nURR[ U55 [ U5GHup#URR US[[US555 URR US[US55 SSSSS .nURUS US 5nURR US [U55 URS S US35nURR US[U55 URUSUS5nURR US[U55 US(aSOSn[U5n US(a*U R[RR5 O)U R[RR5 URR USU 5 GM [ R""S[ U5S35 g![$a#n [ R&"SU 35 Sn A gSn A ff=f)zRefresh schedules listridr-nameJobGroupBackupSync)jobgroupbackup_profile sync_profile target_type target_namezID target_id schedule_typeschedule_configenabledYesNozRefreshed schedules table: z scheduleszError refreshing schedules: N)rget_all_schedulesr< setRowCountlen enumeratesetItemrstrget_format_schedule setForegroundr GlobalColor darkGreenredrdebug Exceptionerror) r schedulesrowscheduletype_map type_textr^ schedule_text enabled_text enabled_itemes rrSchedulesWidget.refreshVs* =113I JJ " "3y> 2!*9!5  ""3+;C/nSH"nXd;dM UR XFSU35 M$ S S R U53$US :Xag U$! [U5SS s$=f)z"Format schedule config for displayrNcronzCron: zN/Ainterval)weeksdayshoursminutesseconds zEvery z, manualz Manual only2)json isinstancermloadsrnappendjoin)rrarbrrpartskeys rro SchedulesWidget._format_schedules - 4>PS4T4TTZZ0ZiF& 65 9:;;*,KC}  }AcU%;<L  % 0122(*$$$ -', ,s$AB B/B BBB(c[URR55S:nURR U5 UR R U5 g)zHandle selection changerN)rjr< selectedItemsr7r8r:)r has_selections rrK%SchedulesWidget._on_selection_changedsFDJJ4467!;  ))-8   ++M:r!cURR5R5nU(dgUSR5n[ URR US5R 55$)zGet selected schedule IDNr)r<selectionModel selectedRowsrxintitemtext)r selected_rowsrxs r_get_selected_schedule_id)SchedulesWidget._get_selected_schedule_idsY 113@@B A""$4::??3*//122r!c[XRUR5nUR5(aUR 5 gg)zCreate new scheduleN)rrrexecr)rdialogs rr6SchedulesWidget._new_schedules/%dGGT[[A ;;== LLN r!cUR5nU(dg[XRURUS9nUR 5(aUR 5 gg)zEdit selected scheduleN) schedule_id)rrrrrr)rrrs rr9SchedulesWidget._edit_schedulesE446  %dGGT[[kZ ;;== LLN r!c UR5nU(dgURRU5n[R"USSUSSUSS3[R R [R R-[R R5nU[R R :XadURRU5 [R"SU35 [R"US S USS 35 UR5 gg![a>n[R"S U35 [R"US SU35 SnAgSnAff=f)zDelete selected scheduleNzConfirm DeletezDelete schedule 'rSz'? (The target r\z will not be deleted)zDeleted schedule Successz Schedule 'z ' deletedzError deleting schedule: ErrorzFailed to delete schedule: )rr get_scheduler questionStandardButtonrerfdelete_schedulerinfo informationrrurvcritical)rrryreplyrs rr; SchedulesWidget._delete_schedulesG446   Sww++K8H(( #HV$4#55GQ^H_G``uv**..1K1K1N1NN**-- E 22666'' 4 / }=>''i:hvFVEWW`9ab  7  S LL4QC8 9  w2MaS0Q R R SsDD** E244E--E2)rrr:r7r5r1r<)__name__ __module__ __qualname____firstlineno____doc__rrrrrrmrorKrrr6r9r;__static_attributes__ __classcell__)rs@rrrsg.,o7%r,=\-c-C-C-*; 333 SSr!rN)rPyQt6.QtWidgetsrrrrrrr r r r PyQt6.QtCorer PyQt6.QtGuirlogurur core.databaser core.configrgui.schedule_editor_dialogrrr!rrs= +';}Sg}Sr!