char* cngplpGetValue(cngplpData *data, char *key) { if(data == NULL) return NULL; if(key == NULL) return GetAllUIValue(data); else return ToChar(GetUIValue(data, key)); }
char* GetDataPPDOption(cngplpData *data, int id) { char *option = NULL; switch(id){ case ID_SELECTBY: return IntToChar(data->ppd_opt->selectby); case ID_JOBACCOUNT: if(data->ppd_opt->special == NULL) return NULL; else{ #ifndef __APPLE__ return IntToChar(data->ppd_opt->special->job_account); #else return ToChar(data->ppd_opt->special->job_account == 0 ? "False" : "True"); #endif } case ID_JOBACCOUNT_ID: if(data->ppd_opt->special == NULL) return NULL; else return ToChar(data->ppd_opt->special->job_account_id); case ID_JOBACCOUNT_PASSWD: if(data->ppd_opt->special == NULL) return NULL; else return ToChar(data->ppd_opt->special->job_account_passwd); case ID_CNUSRPASSWORD: if(data->ppd_opt->special == NULL) return NULL; else return ToChar(data->ppd_opt->special->usr_passwd); case ID_DATANAME: if(data->ppd_opt->special == NULL) return NULL; else return IntToChar(data->ppd_opt->special->data_name); case ID_ENTERNAME: if(data->ppd_opt->special == NULL) return NULL; else #ifndef _OPAL return ToChar(data->ppd_opt->special->enter_name); #else if(data->ppd_opt->special->enter_name == NULL){ return ToChar(""); }else { return ToChar(data->ppd_opt->special->enter_name); } #endif case ID_BOXIDNUM: if(data->ppd_opt->special == NULL) return NULL; else #ifndef __APPLE__ return IntToChar(data->ppd_opt->special->box_num); #else return ToChar(data->ppd_opt->special->box_num); #endif case ID_MAX_BOXIDNUM: return IntToChar(data->ppd_opt->max_box_num); case ID_GUTTER: if(data->ppd_opt->summary_flag & CNSUMMARY_FLG_GUTTER) return NULL; if(data->ppd_opt->us_type) return DoubleToChar(data->ppd_opt->gutter_value_d); else return IntToChar(data->ppd_opt->gutter_value); case ID_MAX_GUTTER: if(data->ppd_opt->us_type) return DoubleToChar(data->ppd_opt->max_gutter_value_d); else return IntToChar(data->ppd_opt->max_gutter_value); case ID_USTYPE: return ToChar(data->ppd_opt->us_type == 0 ? "False" : "True"); case ID_LIST_MEDIATYPE: return IntToChar(data->ppd_opt->list_mediatype_value); case ID_LIST_PAGESIZE: return IntToChar(data->ppd_opt->list_pagesize_value); case ID_SECURED_DOCNAME: if(data->ppd_opt->special == NULL) return NULL; else #ifndef _OPAL return ToChar(data->ppd_opt->special->doc_name); #else if(data->ppd_opt->special->doc_name == NULL){ return ToChar(""); }else { return ToChar(data->ppd_opt->special->doc_name); } #endif case ID_SECURED_USRNAME: if(data->ppd_opt->special == NULL) return NULL; else return ToChar(data->ppd_opt->special->usr_name); case ID_SECURED_PASSWD: if(data->ppd_opt->special == NULL) return NULL; else return ToChar(data->ppd_opt->special->passwd_array); case ID_COLOR_MODE: return IntToChar(data->ppd_opt->color_mode); case ID_PRINTERTYPE: return IntToChar(data->ppd_opt->printer_type); case ID_MAX_COPIES: return IntToChar(data->ppd_opt->max_copy_num); case ID_SPECIAL_FUNC: return ToChar(data->ppd_opt->special != NULL ? "1" : "0"); case ID_DOC_LENGTH: return IntToChar(data->ppd_opt->max_doc_length); case ID_DUPLEX: option = IDtoPPDOption(id - 1); if(option == NULL) return NULL; #ifdef __APPLE__ return MakePPDOptionList(data->ppd_opt, "Duplex"); #else return MakeDuplexBoolList(data->ppd_opt); #endif case ID_BOOKLET: case ID_CNSADDLESTITCH: case ID_CNTRIMMING: case ID_CNZFOLDING: case ID_CNINSERTER: case ID_CNPUREBLACKPROCESS: case ID_CNPUNCHER: case ID_CNFOLDER: case ID_CNINSERTUNIT: case ID_CNTRIMMER: case ID_CNDUPLEXUNIT: case ID_CNSUPERSMOOTH: case ID_CNBACKPAPERPRINT: case ID_CNROTATEPRINT: case ID_CNCOPYSETNUMBERING: case ID_CNINTERLEAFSHEET: case ID_CNINTERLEAFPRINT: case ID_CNSKIPBLANK: case ID_CNDETECTPAPERSIZE: case ID_CNRGBPUREBLACKPROCESS: case ID_CNUSEGRAYSCALEPROFILE: case ID_CNLASTPAGEPRINTMODE: case ID_CNSET_FRONT_COVER: case ID_CNSET_BACK_COVER: case ID_CNSPECIFYNUMOFCOPIESSTACK: case ID_CNVFOLDING: case ID_CNPROPUNCHER: option = IDtoPPDOption(id - 1); if(option == NULL) return NULL; #ifdef __APPLE__ if(data->ppd_opt->printer_type != PRINTER_TYPE_CAPT) { switch(id){ case ID_CNPUNCHER: case ID_BOOKLET: case ID_CNFOLDER: case ID_CNTRIMMER: case ID_CNINSERTUNIT: case ID_CNLASTPAGEPRINTMODE: case ID_CNPROPUNCHER: return MakePPDOptionList(data->ppd_opt, option); default: return MakePPDBoolList(data->ppd_opt, option); } } else { switch(id){ case ID_CNSUPERSMOOTH: return MakePPDOptionList(data->ppd_opt, option); default: return MakePPDBoolList(data->ppd_opt, option); } #endif return MakePPDBoolList(data->ppd_opt, option); #ifdef __APPLE__ } #endif case ID_CNPUNCH: option = IDtoPPDOption(id - 1); if(option == NULL) return NULL; return MakeCNPunchBoolList(data->ppd_opt, option); case ID_BOOKLET_DLG: option = IDtoPPDOption(ID_BOOKLET - 1); if(option == NULL) return NULL; return MakePPDOptionList(data->ppd_opt, option); case ID_STARTNUM: return IntToChar(data->ppd_opt->startnum_value); case ID_USERID: return IntToChar(getuid()); case ID_BACKPAPERPRINT_LABEL: return ToChar(GetItemString(data->ppd_opt->items_list, "CNBackPaperPrint")); case ID_DISABLE_JOBACCOUNT_BW: if(data->ppd_opt->special == NULL) return NULL; else #ifndef __APPLE__ return IntToChar(data->ppd_opt->special->disable_job_account_bw); #else return ToChar(data->ppd_opt->special->disable_job_account_bw == 0 ? "False:True<0>,False<0>" : "True:True<0>,False<0>"); #endif #if !defined(__APPLE__) && !defined(_OPAL) case ID_SHOW_JOBACCOUNT: if(data->ppd_opt->special == NULL) { return NULL; } else { return IntToChar(data->ppd_opt->special->show_job_account); } break; #endif case ID_SHOW_DISABLE_JOBACCOUNT_BW: if(data->ppd_opt->special == NULL) return NULL; else return IntToChar(data->ppd_opt->special->show_disable_job_account_bw); case ID_DETECTPAPER_LABEL: return ToChar(GetItemString(data->ppd_opt->items_list, "CNDetectPaperSize")); case ID_CNDPICONPICTID: if(data->ppd_opt->dpicon_pictid > 0) return IntToChar(data->ppd_opt->dpicon_pictid); break; case ID_CNENABLEFINISHFLAG: if(data->ppd_opt->enable_finishflag > 0) return IntToChar(data->ppd_opt->enable_finishflag); break; case ID_CNENABLEINPUTFLAG: if(data->ppd_opt->enable_inputflag > 0) return IntToChar(data->ppd_opt->enable_inputflag); break; case ID_CNENABLEQUALITYTYPE: if(data->ppd_opt->enable_qualitytype > 0) return IntToChar(data->ppd_opt->enable_qualitytype); break; case ID_INPUTSLOT_TYPE: return IntToChar(data->ppd_opt->input_slot_type); case ID_CNSHIFTTYPE: return IntToChar(data->ppd_opt->shift_pos_type); case ID_CNSHIFTUPWARDS: if((option = GetUIValue(data, "CNEnableDetailShiftPosition")) != NULL){ if(strcasecmp(option,"True") == 0){ return DoubleToChar(data->ppd_opt->detail_shift_upwards); } } return IntToChar(data->ppd_opt->shift_upwards); case ID_CNSHIFTRIGHT: if((option = GetUIValue(data, "CNEnableDetailShiftPosition")) != NULL){ if(strcasecmp(option,"True") == 0){ return DoubleToChar(data->ppd_opt->detail_shift_right); } } return IntToChar(data->ppd_opt->shift_right); case ID_CNSHIFTFRLONGEDGE: if((option = GetUIValue(data, "CNEnableDetailShiftPosition")) != NULL){ if(strcasecmp(option,"True") == 0){ return DoubleToChar(data->ppd_opt->detail_shift_front_long); } } return IntToChar(data->ppd_opt->shift_front_long); case ID_CNSHIFTFRSHORTEDGE: if((option = GetUIValue(data, "CNEnableDetailShiftPosition")) != NULL){ if(strcasecmp(option,"True") == 0){ return DoubleToChar(data->ppd_opt->detail_shift_front_short); } } return IntToChar(data->ppd_opt->shift_front_short); case ID_CNSHIFTBKLONGEDGE: if((option = GetUIValue(data, "CNEnableDetailShiftPosition")) != NULL){ if(strcasecmp(option,"True") == 0){ return DoubleToChar(data->ppd_opt->detail_shift_back_long); } } return IntToChar(data->ppd_opt->shift_back_long); case ID_CNSHIFTBKSHORTEDGE: if((option = GetUIValue(data, "CNEnableDetailShiftPosition")) != NULL){ if(strcasecmp(option,"True") == 0){ return DoubleToChar(data->ppd_opt->detail_shift_back_short); } } return IntToChar(data->ppd_opt->shift_back_short); case ID_CNSHIFTPOSITIONMAX: return cngplpGetValue(data,kPPD_Items_CNShiftPositionMax); case ID_CNSHIFTPOSITIONMIN: return cngplpGetValue(data,kPPD_Items_CNShiftPositionMin); case ID_CNJOBNOTE: if(data->ppd_opt->job_note == NULL) return NULL; else return ToChar(data->ppd_opt->job_note->note); case ID_CNJOBDETAILS: if(data->ppd_opt->job_note == NULL) return NULL; else return ToChar(data->ppd_opt->job_note->details); case ID_CNFINDETAILS: option = GetUIValue(data, kPPD_Items_CNFinDetails); if(option == NULL) return 0; return IntToChar((strcasecmp(option, "true") == 0) ? 1 : 0); case ID_CNOFFSETNUM: return IntToChar(data->ppd_opt->offset_num); case ID_CNUIOFFSETMAX: return cngplpGetValue(data,kPPD_Items_CNUIOffsetMax); case ID_CNGUTTERSHIFTNUM: return DoubleToChar2(data->ppd_opt->guttershiftnum_value_d); case ID_MAX_GUTTER_SHIFT_NUM: return cngplpGetValue(data,kPPD_Items_CNMAXGutterShiftNum); case ID_MIN_GUTTER_SHIFT_NUM: return cngplpGetValue(data,kPPD_Items_CNMINGutterShiftNum); case ID_CNTABSHIFT: return DoubleToChar(data->ppd_opt->tab_shift); case ID_DRIVERROOTPATH: if(data->ppd_opt->drv_root_path == NULL) return NULL; else return ToChar(data->ppd_opt->drv_root_path); case ID_CNMEDIABRANDLIST: return MakeMediaBrandListChar(data->ppd_opt); case ID_CNMEDIABRAND: return MakeMediaBrandChar(data->ppd_opt); case ID_CNINSERTMEDIABRANDLIST: return MakeInsertMediaBrandListChar(data->ppd_opt); case ID_CNINSERTMEDIABRAND: return MakeInsertMediaBrandChar(data->ppd_opt); case ID_CNINTERLEAFMEDIABRANDLIST: return MakeInterleafMediaBrandListChar(data->ppd_opt); case ID_CNINTERLEAFMEDIABRAND: return MakeInterleafMediaBrandChar(data->ppd_opt); case ID_CNPBINDCOVERMEDIABRANDLIST: return MakePBindCoverMediaBrandListChar(data->ppd_opt); case ID_CNPBINDCOVERMEDIABRAND: return MakePBindCoverMediaBrandChar(data->ppd_opt); case ID_CNINSERTTABSHIFT: return DoubleToChar(data->ppd_opt->ins_tab_shift); case ID_CNINSERTPOS: return ToChar(data->ppd_opt->ins_pos); case ID_CNINSERTPOSPAPERSOURCE: return ToChar(data->ppd_opt->ins_pos_papersource); case ID_CNINSERTPOSPRINTON: return ToChar(data->ppd_opt->ins_pos_printon); case ID_CNTABINSERTPOS: return ToChar(data->ppd_opt->tab_ins_pos); case ID_CNTABINSERTPOSPAPERSOURCE: return ToChar(data->ppd_opt->tab_ins_pos_papersource); case ID_CNTABINSERTPOSPRINTON: return ToChar(data->ppd_opt->tab_ins_pos_printon); case ID_CNTABINSERTMULTIPAPERNUMBER: return IntToChar(data->ppd_opt->tab_ins_multi_number); case ID_CNTABINSERTMULTIPAPERSOURCE: return ToChar(data->ppd_opt->tab_ins_multi_papersource); case ID_CNTABINSERTMULTIPAPERTYPE: return ToChar(data->ppd_opt->tab_ins_multi_papertype); case ID_CNBINNAME: return ToChar(data->ppd_opt->bin_name); case ID_CNBINNAME_ARRAY: return ToChar(data->ppd_opt->bin_name_array); case ID_CNOVERLAYFILENAME: if(data->ppd_opt->special == NULL) return NULL; else return ToChar(data->ppd_opt->special->form_name); case ID_CNFORMHANDLE: if(data->ppd_opt->special == NULL) return NULL; else return ToChar(data->ppd_opt->special->form_handle); case ID_CNFORMLIST: return MakeFormListChar(data->ppd_opt); case ID_CNADJUSTTRIMNUM: return DoubleToChar(data->ppd_opt->adjust_trim_num); case ID_CNUITRIMVALMAX: return cngplpGetValue(data, kPPD_Items_CNUITrimValMax); case ID_CNUITRIMVALMIN: return cngplpGetValue(data, kPPD_Items_CNUITrimValMin); case ID_CNADJUSTFORETRIMNUM: return DoubleToChar(data->ppd_opt->adjust_frtrim_num); case ID_CNADJUSTTOPBOTTOMTRIMNUM: return DoubleToChar(data->ppd_opt->adjust_tbtrim_num); case ID_CNPBINDFINISHFORETRIMNUM: return DoubleToChar(data->ppd_opt->pb_fin_fore_trim_num); case ID_CNPBINDFINISHTOPBOTTOMTRIMNUM: return DoubleToChar(data->ppd_opt->pb_fin_topbtm_trim_num); case ID_CNSENDTIMENUM: if(data->ppd_opt->fax_setting == NULL) return NULL; else return ToChar(data->ppd_opt->fax_setting->send_time); case ID_CNOUTSIDELINENUMBER: if(data->ppd_opt->fax_setting == NULL) return NULL; else return ToChar(data->ppd_opt->fax_setting->outside_line_number); case ID_CNOUTSIDELINENUMINTRA: if(data->ppd_opt->fax_setting == NULL) return NULL; else return ToChar(data->ppd_opt->fax_setting->outside_line_number_intra); case ID_CNOUTSIDELINENUMNGN: if(data->ppd_opt->fax_setting == NULL) return NULL; else return ToChar(data->ppd_opt->fax_setting->outside_line_number_ngn); case ID_CNOUTSIDELINENUMMYNUMBERNGN: if(data->ppd_opt->fax_setting == NULL) return NULL; else return ToChar(data->ppd_opt->fax_setting->outside_line_number_ngnmynum); case ID_CNOUTSIDELINENUMVOIP: if(data->ppd_opt->fax_setting == NULL) return NULL; else return ToChar(data->ppd_opt->fax_setting->outside_line_number_voip); case ID_CNSENDER: if(data->ppd_opt->fax_setting == NULL) return NULL; else return ToChar(data->ppd_opt->fax_setting->sender_name); case ID_HOLD_NAME: if(data->ppd_opt->special == NULL) return NULL; else return ToChar(data->ppd_opt->special->hold_name); case ID_HOLDQUEUE_DATANAME: if(data->ppd_opt->special == NULL) return NULL; else return IntToChar(data->ppd_opt->special->holddata_name); case ID_CNFEEDPAPERNAME: if(data->ppd_opt->feed_paper_name == NULL) return NULL; else return ToChar(data->ppd_opt->feed_paper_name); case ID_CNSADDLESETTING: option = IDtoPPDOption(id - 1); if(option == NULL) return NULL; return MakeCNSaddleSettingList(data->ppd_opt, option); case ID_CNSTACKCOPIESNUM: return IntToChar(data->ppd_opt->stack_copies_num); case ID_CNSADDLEPRESSADJUSTMENT: return IntToChar(data->ppd_opt->saddle_press_adjust); case ID_CNLISTIDSPECIALPRINTMODE: return IntToChar(data->ppd_opt->list_specialprintmode_value); #ifndef __APPLE__ case ID_ENABLECNOFFSETNUM: return ToChar(GetUIValue(data, "EnableCNOffsetNum")); case ID_CNFOLDSETTING: option = IDtoPPDOption(id - 1); if(option == NULL){ return NULL; } return MakeCNFoldSettingList(data->ppd_opt, option); case ID_CNPRINTSTYLE: option = IDtoPPDOption(id - 1); if(option == NULL){ return NULL; } return MakeCNPrintStyleList(data->ppd_opt, option); #endif case ID_PCFILENAME: return ToChar(data->ppd_opt->pcfile_name); case ID_MANUFACTURER: return ToChar(data->ppd_opt->manufacturer); case ID_NICKNAME: return ToChar(data->ppd_opt->nickname); case ID_CNPDLTYPE: return ToChar(data->ppd_opt->cnpdl_type); case ID_APPRINTERICONPATH: return ToChar(data->ppd_opt->ap_printer_icon_path); case ID_CONFLICTCNOFFSETNUM: return IntToChar(GetOffsetNumConflict(data)); case ID_ENABLEINSERTPOSPAPERSOURCE: return MakeEnableInsertPosPaperSource(data, 0); case ID_ENABLETABINSERTPOSPAPERSOURCE: return MakeEnableInsertPosPaperSource(data, 1); default: option = IDtoPPDOption(id - 1); if(option == NULL) return NULL; return MakePPDOptionList(data->ppd_opt, option); } return NULL; }
int CreatePPDOptions(cngplpData *data) { #ifndef _OPAL char *pWorkPPD = (char *)cupsGetPPD(data->curr_printer); if(pWorkPPD) { data->ppdfile = strdup(pWorkPPD); if (!data->ppdfile) { unlink(pWorkPPD); return -1; } } #else data->ppdfile = strdup(data->curr_printer); if(data->ppdfile == NULL) return -1; #endif memset(data->ppd_opt, 0, sizeof(PPDOptions)); data->ppd_opt->startnum_value = 1; data->ppd_opt->dpicon_pictid = -1; data->ppd_opt->enable_finishflag = -1; data->ppd_opt->enable_inputflag = -1; data->ppd_opt->enable_qualitytype = -1; data->ppd_opt->offset_num = 1; data->ppd_opt->tab_shift = 12.7; data->ppd_opt->ins_tab_shift = 12.7; data->ppd_opt->adjust_trim_num = 0.0; data->ppd_opt->adjust_frtrim_num = 0.0; data->ppd_opt->adjust_tbtrim_num = 0.0; data->ppd_opt->pb_fin_fore_trim_num = 0.0; data->ppd_opt->pb_fin_topbtm_trim_num = 0.0; data->ppd_opt->stack_copies_num = 1; data->ppd_opt->saddle_press_adjust = 0; data->ppd_opt->items_list = (UIItemsList *)malloc(sizeof(UIItemsList)); if(data->ppd_opt->items_list == NULL) return -1; memset(data->ppd_opt->items_list, 0, sizeof(UIItemsList)); if((ParsePPD(data->ppd_opt, data->ppdfile)) < 0){ return -1; } char *max_val = GetUIValue(data, kPPD_Items_CNUITrimValMax); char *min_val = GetUIValue(data, kPPD_Items_CNUITrimValMin); char *def_val = GetUIValue(data, kPPD_Items_CNUIAdjustTrimNumDefault); if(def_val == NULL || max_val == NULL || min_val == NULL){ if(max_val != NULL) UpdateUIValue(data, kPPD_Items_CNUITrimValMax, "10.2"); else AddUIValueList(data->ppd_opt, kPPD_Items_CNUITrimValMax, "10.2", 0); if(min_val != NULL) UpdateUIValue(data, kPPD_Items_CNUITrimValMin, "2.0"); else AddUIValueList(data->ppd_opt, kPPD_Items_CNUITrimValMin, "2.0", 0); data->ppd_opt->adjust_trim_num = 2.0; data->ppd_opt->adjust_frtrim_num = 2.0; } char *ptbValMax = GetUIValue(data,kPPD_Items_CNUITopBottomTrimValMax); char *ptbValMin = GetUIValue(data,kPPD_Items_CNUITopBottomTrimValMin); char *ptbValDef = GetUIValue(data,kPPD_Items_CNUIAdjustTopBottomTrimNumDefault); if(ptbValDef == NULL || ptbValMax ==NULL || ptbValMin ==NULL){ if(ptbValMax != NULL) UpdateUIValue(data,kPPD_Items_CNUITopBottomTrimValMax,"15.0"); else AddUIValueList(data->ppd_opt,kPPD_Items_CNUITopBottomTrimValMax,"15.0",0); if(ptbValMin != NULL) UpdateUIValue(data,kPPD_Items_CNUITopBottomTrimValMin,"2.0"); else AddUIValueList(data->ppd_opt,kPPD_Items_CNUITopBottomTrimValMin,"2.0",0); data->ppd_opt->adjust_tbtrim_num = 2.0; } if(data->ppdfile) InitUIDisable(data); if(data->ppdfile) SetDefaultOptIfAllOptConflict(data); return 0; }
char* GetAllOptionID(cngplpData *data) { PPDOptions *ppd_opt = data->ppd_opt; UIItemsList *items_list; char *list = 0; int i; items_list = ppd_opt->items_list; while(1){ if(strcmp(items_list->name, "InputSlot") != 0 && strcmp(items_list->name, "MediaType") != 0){ if(strcmp(items_list->name, "Resolution") == 0){ if(items_list->num_options > 1) list = IDAddList(list, ToID(items_list->name)); }else{ list = IDAddList(list, ToID(items_list->name)); } } #if _UI_DEBUG DebugDisable(data, ToID(items_list->name)); #endif if(items_list->next == NULL) break; items_list = items_list->next; } switch(ppd_opt->selectby){ case SELECTBY_INPUTSLOT: list = IDAddList(list, ToID("InputSlot")); list = IDAddList(list, ID_INPUTSLOT_TYPE); break; case SELECTBY_MEDIATYPE: list = IDAddList(list, ToID("MediaType")); list = IDAddList(list, ID_LIST_MEDIATYPE); break; case SELECTBY_NONE: list = IDAddList(list, ToID("InputSlot")); list = IDAddList(list, ToID("MediaType")); list = IDAddList(list, ID_LIST_MEDIATYPE); break; } list = IDAddList(list, ID_SIDED1PRINT); if(ppd_opt->selectby) list = IDAddList(list, ID_SELECTBY); if(FindItemsList(ppd_opt->items_list, "Booklet") != NULL) list = IDAddList(list, ID_BOOKLET_DLG); if(ppd_opt->special != NULL){ list = IDAddList(list, ID_DATANAME); list = IDAddList(list, ID_ENTERNAME); list = IDAddList(list, ID_BOXIDNUM); list = IDAddList(list, ID_MAX_BOXIDNUM); list = IDAddList(list, ID_SECURED_DOCNAME); list = IDAddList(list, ID_SECURED_USRNAME); list = IDAddList(list, ID_SECURED_PASSWD); list = IDAddList(list, ID_JOBACCOUNT); list = IDAddList(list, ID_JOBACCOUNT_ID); list = IDAddList(list, ID_JOBACCOUNT_PASSWD); list = IDAddList(list, ID_CNUSRPASSWORD); list = IDAddList(list, ID_SPECIAL_FUNC); list = IDAddList(list, ID_DOC_LENGTH); list = IDAddList(list, ID_DISABLE_JOBACCOUNT_BW); list = IDAddList(list, ID_SHOW_DISABLE_JOBACCOUNT_BW); list = IDAddList(list, ID_CNFORMHANDLE); list = IDAddList(list, ID_CNOVERLAYFILENAME); list = IDAddList(list, ID_HOLD_NAME); list = IDAddList(list, ID_HOLDQUEUE_DATANAME); } if(FindItemsList(ppd_opt->items_list, "BindEdge") != NULL){ list = IDAddList(list, ID_GUTTER); list = IDAddList(list, ID_MAX_GUTTER); } list = IDAddList(list, ID_PRINTERTYPE); list = IDAddList(list, ID_COLOR_MODE); list = IDAddList(list, ID_MAX_COPIES); if(FindItemsList(ppd_opt->items_list, "CNCopySetNumbering") != NULL){ list = IDAddList(list, ID_STARTNUM); } if(ppd_opt->shift_pos_type == 1) { list = IDAddList(list, ID_CNSHIFTTYPE); list = IDAddList(list, ID_CNSHIFTFRLONGEDGE); list = IDAddList(list, ID_CNSHIFTFRSHORTEDGE); list = IDAddList(list, ID_CNSHIFTBKLONGEDGE); list = IDAddList(list, ID_CNSHIFTBKSHORTEDGE); }else if(ppd_opt->shift_pos_type == 2) { list = IDAddList(list, ID_CNSHIFTTYPE); list = IDAddList(list, ID_CNSHIFTUPWARDS); list = IDAddList(list, ID_CNSHIFTRIGHT); } if(ppd_opt->job_note != NULL){ list = IDAddList(list, ID_CNJOBNOTE); list = IDAddList(list, ID_CNJOBDETAILS); } if(FindOptionList(ppd_opt->items_list, kPPD_Items_CNOutputPartition, "offset")){ char *val; if((val = GetUIValue(data, kPPD_Items_EnableCNOffsetNum)) != NULL){ if(strcasecmp(val,"True") == 0){ list = IDAddList(list, ID_CNOFFSETNUM); } } } if(FindOptionList(ppd_opt->items_list, kPPD_Items_CNDisplacementCorrection, "Manual")){ list = IDAddList(list, ID_CNGUTTERSHIFTNUM); } { char *val; if((val = GetUIValue(data, "EnableCNTabShift")) != NULL){ if(strcasecmp(val,"True") == 0){ list = IDAddList(list, ID_CNTABSHIFT); } } if((val = GetUIValue(data, "EnableCNInsertTabShift")) != NULL){ if(strcasecmp(val,"True") == 0){ list = IDAddList(list, ID_CNINSERTTABSHIFT); } } if((val = GetUIValue(data, "EnableCNSender")) != NULL){ if(strcasecmp(val,"True") == 0){ list = IDAddList(list, ID_CNSENDER); } } } if(FindItemsList(ppd_opt->items_list, kPPD_Items_CNSheetForInsertion) != NULL){ list = IDAddList(list, ID_CNINSERTPOS); list = IDAddList(list, ID_CNINSERTPOSPAPERSOURCE); list = IDAddList(list, ID_CNINSERTPOSPRINTON); } if((FindOptionList(ppd_opt->items_list, kPPD_Items_CNSheetForInsertion, "TAB")) || (FindOptionList(ppd_opt->items_list, kPPD_Items_CNSheetForInsertion, "TAB1"))){ list = IDAddList(list, ID_CNTABINSERTPOS); list = IDAddList(list, ID_CNTABINSERTPOSPAPERSOURCE); list = IDAddList(list, ID_CNTABINSERTPOSPRINTON); { char *val; if((val = GetUIValue(data, "CNMultiPaperSourceInsertTab")) != NULL){ if(strcasecmp(val,"True") == 0){ list = IDAddList(list, ID_CNTABINSERTMULTIPAPERNUMBER); list = IDAddList(list, ID_CNTABINSERTMULTIPAPERSOURCE); list = IDAddList(list, ID_CNTABINSERTMULTIPAPERTYPE); } } } } if(FindItemsList(ppd_opt->items_list, kPPD_Items_CNAdjustTrim) != NULL){ list = IDAddList(list, ID_CNADJUSTTRIMNUM); list = IDAddList(list, ID_CNADJUSTFORETRIMNUM); list = IDAddList(list, ID_CNADJUSTTOPBOTTOMTRIMNUM); } if(FindItemsList(ppd_opt->items_list, kPPD_Items_CNPBindSpecifyFinishingBy) != NULL){ list = IDAddList(list, ID_CNPBINDFINISHFORETRIMNUM); list = IDAddList(list, ID_CNPBINDFINISHTOPBOTTOMTRIMNUM); } if(FindOptionList(ppd_opt->items_list, kPPD_Items_InputSlot, "PaperName")){ list = IDAddList(list, ID_CNFEEDPAPERNAME); } if(FindItemsList(ppd_opt->items_list, kPPD_Items_CNSendTime) != NULL){ list = IDAddList(list, ID_CNSENDTIMENUM); } if(FindItemsList(ppd_opt->items_list, kPPD_Items_CNUseOutsideLineNum) != NULL){ list = IDAddList(list, ID_CNOUTSIDELINENUMBER); list = IDAddList(list, ID_CNOUTSIDELINENUMINTRA); list = IDAddList(list, ID_CNOUTSIDELINENUMNGN); list = IDAddList(list, ID_CNOUTSIDELINENUMMYNUMBERNGN); list = IDAddList(list, ID_CNOUTSIDELINENUMVOIP); } if(FindItemsList(ppd_opt->items_list, kPPD_Items_CNSpecifyNumOfCopiesStack) != NULL){ list = IDAddList(list, ID_CNSTACKCOPIESNUM); } if(FindItemsList(ppd_opt->items_list, kPPD_Items_CNSorterFinish) != NULL){ list = IDAddList(list, ID_CNBINNAME); list = IDAddList(list, ID_CNBINNAME_ARRAY); } if(FindItemsList(ppd_opt->items_list, kPPD_Items_CNSaddlePress) != NULL){ list = IDAddList(list, ID_CNSADDLEPRESSADJUSTMENT); } #ifndef __APPLE__ if((FindItemsList(ppd_opt->items_list, kPPD_Items_CNZfolding) != NULL) ||(FindItemsList(ppd_opt->items_list, kPPD_Items_CNCfolding) != NULL) ||(FindItemsList(ppd_opt->items_list, kPPD_Items_CNHalfFolding) != NULL) ||(FindItemsList(ppd_opt->items_list, kPPD_Items_CNAccordionZfolding) != NULL) ||(FindItemsList(ppd_opt->items_list, kPPD_Items_CNDoubleParallelFolding) != NULL)){ list = IDAddList(list, ID_CNFOLDSETTING); } if((FindItemsList(ppd_opt->items_list, kPPD_Items_CNCfoldSetting) != NULL) ||(FindItemsList(ppd_opt->items_list, kPPD_Items_CNHalfFoldSetting) != NULL) ||(FindItemsList(ppd_opt->items_list, kPPD_Items_CNAccordionZfoldSetting) != NULL) ||(FindItemsList(ppd_opt->items_list, kPPD_Items_CNDoubleParallelFoldSetting) != NULL)){ list = IDAddList(list, ID_CNFOLDDETAIL); } list = IDAddList(list, ID_CNPRINTSTYLE); if((FindItemsList(ppd_opt->items_list, kPPD_Items_CNVfolding) != NULL) #if !defined(__APPLE__) && !defined(_OPAL) ||(FindItemsList(ppd_opt->items_list, kPPD_Items_CNVfoldingTrimming) != NULL) #endif ||(FindItemsList(ppd_opt->items_list, kPPD_Items_CNSaddleStitch) != NULL) ||(FindItemsList(ppd_opt->items_list, kPPD_Items_CNTrimming) != NULL)) list = IDAddList(list, ID_CNSADDLESETTING); #endif for(i = ID_CNCOPIES; i <= ID_FILTER; i++){ list = IDAddList(list, i); } if(ppd_opt->color_mode){ list = IDAddList(list, ID_HUE); list = IDAddList(list, ID_SATURATION); } for(i = ID_PPI; i <= ID_RESO_SCALE; i++){ list = IDAddList(list, i); } if(ppd_opt->color_mode) list = IDAddList(list, ID_BLACKPLOT); list = IDAddList(list, ID_FITPLOT); list = IDAddList(list, ID_PENWIDTH); for(i = ID_SETDEFAULT; i <= ID_CANCEL; i++){ list = IDAddList(list, i); } return list; }