mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-03-21 14:18:38 -05:00
Unix can't sensibly enumerate printers (since they're defined as
being lpr commands), so the Unix config box now replaces the printer combo box with an ordinary edit box. [originally from svn r3063]
This commit is contained in:
parent
30497ff683
commit
09c9f31289
6
config.c
6
config.c
@ -133,12 +133,18 @@ static void printerbox_handler(union control *ctrl, void *dlg,
|
|||||||
printer_enum *pe;
|
printer_enum *pe;
|
||||||
|
|
||||||
dlg_update_start(ctrl, dlg);
|
dlg_update_start(ctrl, dlg);
|
||||||
|
/*
|
||||||
|
* Some backends may wish to disable the drop-down list on
|
||||||
|
* this edit box. Be prepared for this.
|
||||||
|
*/
|
||||||
|
if (ctrl->editbox.has_list) {
|
||||||
dlg_listbox_clear(ctrl, dlg);
|
dlg_listbox_clear(ctrl, dlg);
|
||||||
dlg_listbox_add(ctrl, dlg, PRINTER_DISABLED_STRING);
|
dlg_listbox_add(ctrl, dlg, PRINTER_DISABLED_STRING);
|
||||||
pe = printer_start_enum(&nprinters);
|
pe = printer_start_enum(&nprinters);
|
||||||
for (i = 0; i < nprinters; i++)
|
for (i = 0; i < nprinters; i++)
|
||||||
dlg_listbox_add(ctrl, dlg, printer_get_name(pe, i));
|
dlg_listbox_add(ctrl, dlg, printer_get_name(pe, i));
|
||||||
printer_finish_enum(pe);
|
printer_finish_enum(pe);
|
||||||
|
}
|
||||||
dlg_editbox_set(ctrl, dlg,
|
dlg_editbox_set(ctrl, dlg,
|
||||||
(*cfg->printer ? cfg->printer :
|
(*cfg->printer ? cfg->printer :
|
||||||
PRINTER_DISABLED_STRING));
|
PRINTER_DISABLED_STRING));
|
||||||
|
@ -30,14 +30,6 @@ int decode_codepage(char *cp_name)
|
|||||||
return -2;
|
return -2;
|
||||||
}
|
}
|
||||||
|
|
||||||
printer_enum *printer_start_enum(int *nprinters_ptr) {
|
|
||||||
*nprinters_ptr = 0;
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
char *printer_get_name(printer_enum *pe, int i) { return NULL;
|
|
||||||
}
|
|
||||||
void printer_finish_enum(printer_enum *pe) { }
|
|
||||||
|
|
||||||
Backend *select_backend(Config *cfg)
|
Backend *select_backend(Config *cfg)
|
||||||
{
|
{
|
||||||
return &pty_backend;
|
return &pty_backend;
|
||||||
|
@ -42,6 +42,14 @@ void unix_setup_config_box(struct controlbox *b, int midsession)
|
|||||||
* when these elements would be useful to configure.
|
* when these elements would be useful to configure.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* On Unix, we don't have a drop-down list for the printer
|
||||||
|
* control.
|
||||||
|
*/
|
||||||
|
s = ctrl_getset(b, "Terminal", "printing", "Remote-controlled printing");
|
||||||
|
assert(s->ncontrols == 1 && s->ctrls[0]->generic.type == CTRL_EDITBOX);
|
||||||
|
s->ctrls[0]->editbox.has_list = 0;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* GTK makes it rather easier to put the scrollbar on the left
|
* GTK makes it rather easier to put the scrollbar on the left
|
||||||
* than Windows does!
|
* than Windows does!
|
||||||
|
@ -41,3 +41,17 @@ void printer_finish_job(printer_job *pj)
|
|||||||
pclose(pj->fp);
|
pclose(pj->fp);
|
||||||
sfree(pj);
|
sfree(pj);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* There's no sensible way to enumerate printers under Unix, since
|
||||||
|
* practically any valid Unix command is a valid printer :-) So
|
||||||
|
* these are useless stub functions, and uxcfg.c will disable the
|
||||||
|
* drop-down list in the printer configurer.
|
||||||
|
*/
|
||||||
|
printer_enum *printer_start_enum(int *nprinters_ptr) {
|
||||||
|
*nprinters_ptr = 0;
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
char *printer_get_name(printer_enum *pe, int i) { return NULL;
|
||||||
|
}
|
||||||
|
void printer_finish_enum(printer_enum *pe) { }
|
||||||
|
@ -94,14 +94,6 @@ int decode_codepage(char *cp_name)
|
|||||||
return -2;
|
return -2;
|
||||||
}
|
}
|
||||||
|
|
||||||
printer_enum *printer_start_enum(int *nprinters_ptr) {
|
|
||||||
*nprinters_ptr = 0;
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
char *printer_get_name(printer_enum *pe, int i) { return NULL;
|
|
||||||
}
|
|
||||||
void printer_finish_enum(printer_enum *pe) { }
|
|
||||||
|
|
||||||
const char *const appname = "PuTTY";
|
const char *const appname = "PuTTY";
|
||||||
|
|
||||||
Backend *select_backend(Config *cfg)
|
Backend *select_backend(Config *cfg)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user