⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 settings_help.cpp

📁 linux pritner GUI
💻 CPP
字号:
/* Copyright (C) 2001 2002 Chris VineThis program is distributed under the General Public Licence, version 2.For particulars of this and relevant disclaimers see the fileCOPYING distributed with the source files.*/#include <gdkmm/pixbuf.h>#include <gtkmm/main.h>#include <gtkmm/stock.h>#include "settings_help.h"#ifdef ENABLE_NLS#include <libintl.h>#endifGlib::ustring SettingsMessagesBase::get_caption(std::vector<Glib::ustring>::size_type index) {  if (index > captions.size()) {    write_error("Yikes, the message index is too large in SettingsMessagesBase::get_caption.\n"		"Please report the bug to the author.\n");    return Glib::ustring(); // return empty string  }  else return captions[index];}Glib::ustring SettingsMessagesBase::get_message(std::vector<Glib::ustring>::size_type index) {  if (index > messages.size()) {    write_error("Yikes, the message index is too large in SettingsMessagesBase::get_message.\n"		"Please report the bug to the author.\n");    return Glib::ustring(); // return empty string  }  else return messages[index];}IdentityMessages::IdentityMessages(void): SettingsMessagesBase(number + 1) {  messages[name] = gettext("Put the name to appear on the fax top header on sent faxes here");  captions[name] = gettext("efax-gtk help: Name");  messages[number] = gettext("Put the number to appear on the fax top header on sent faxes here.  "			     "This will also comprise the fax station ID reported to the sending "			     "fax machine when receiving faxes");  captions[number] = gettext("efax-gtk help: Number");}ModemMessages::ModemMessages(void): SettingsMessagesBase(rings + 1) {  messages[device] = gettext("Put the serial device to which the modem is connected "			     "here (if none is given, the program defaults to "			     "/dev/modem).  Do not include the `/dev/' part of "			     "the device name -- ie state it as `ttyS1' or `cua2', etc.  "			     "With Linux, ttyS0 equates to COM 1, ttyS1 to COM 2, and so on");  captions[device] = gettext("efax-gtk help: Device");  messages[lock] = gettext("Put the lock file directory here.  If none is specified, the program "			   "defaults to /var/lock");  captions[lock] = gettext("efax-gtk help: Lock File");  messages[modem_class] = gettext("With efax-0.9 or higher you should usually pick \"Auto\", as then "				  "efax will work out the class of the modem by itself, but you can "				  "also force a class by picking one of the specified ones if you "				  "want.  However, with efax-0.8 the program defaults to Class 2, "				  "so if you are using a Class 1 modem with old versions of efax "				  "specify the Class here");  captions[modem_class] = gettext("efax-gtk help: Modem Class");  messages[dialmode] = gettext("This specifies whether tone or pulse dialling will be used "			       "when sending faxes");  captions[dialmode] = gettext("efax-gtk help: Dial Mode");  messages[capabilities] = gettext("This specifies the capabilities of the modem.  To see what "				   "these mean do `man efax', and look at the operation of the "				   "`-c' flag.  With efax-0.9 and a Class 2 modem, you usually "				   "won't need to specify this and should leave it blank, as the "				   "program will interrogate the modem.  If using an older version "				   "of efax or a different class of modem, values which will work with "				   "practically any 14,400 bps modem are 1,5,0,2,0,0,0,0, or "				   "1,3,0,2,0,0,0,0 for slower ones");  captions[capabilities] = gettext("efax-gtk help: Capabilities");  messages[rings] = gettext("This defines the number of rings the modem allows to pass before "			    "answering the telephone when in Standby mode.  Acceptable values "			    "are 1 to 9.  If none is specified, the program defaults to 1");  captions[rings] = gettext("efax-gtk help: Rings");}ParmsMessages::ParmsMessages(void): SettingsMessagesBase(extra_parms + 1) {  messages[init] = gettext("This specifies the initializing `AT' commands for the modem when "			   "in fax mode.  Specify as many of these as are needed, separated by "			   "spaces for commands which need to be separated, but without a prepended "			   "`AT'.  If none is specified, the program will default to "			   "`Z &FE&D2S7=120 &C0 M1L0', which will be correct for practically all "			   "modems");  captions[init] = gettext("efax-gtk help: Initialization Parameters");  messages[reset] = gettext("This specifies the `AT' commands that will reset the modem.  Specify "			    "as many commands as are needed, separated by spaces for commands "			    "which need to be separated, but without a prepended `AT'.  If none is "			    "specified, the program will default to `Z', which will be correct "			    "for practically all modems");  captions[reset] = gettext("efax-gtk help: Reset Parameters");  messages[extra_parms] = gettext("This can be used to pass any other parameter to efax (do "				  "`man efax' to see what is available).  Specify as many of these as "				  "are needed, separated by spaces for different parameters -- eg "				  "include `-or' to do a bit reversal during receive for Multitech "				  "modems which require it.  Unless you have an unusual modem, leave "				  "this blank");  captions[extra_parms] = gettext("efax-gtk help: Other Parameters");}PrintMessages::PrintMessages(void): SettingsMessagesBase(popup + 1) {  messages[command] = gettext("This is the command which prints and takes postscript input "			      "on standard input.  If none is specified, the program will default "			      "to `lpr'");  captions[command] = gettext("efax-gtk help: Print Program");  messages[shrink] = gettext("This will determine the extent to which a printed page will "			     "be reduced to fit within a printer's print area.  It is a percentage -- "			     "eg 98 will shrink the page to 98 per cent of its size.  If none is "			     "specified no shrink will take place (ie you can, but there is no need "			     "to, specify 100)");  captions[shrink] = gettext("efax-gtk help: Print Shrink");  messages[popup] = gettext("This specifies whether a confirmatory pop-up dialog is to appear before "			    "printing whenever the \"Print selected fax\" button is pressed in the "			    "Received Faxes list or Sent Faxes list.  Uncheck the box if you don't "			    "want a dialog (if you have specified an external print manager such as "			    "'kprinter' in the Print Program box, then you will not want this checked).");  captions[popup] = gettext("efax-gtk help: Popup");}ViewMessages::ViewMessages(void): SettingsMessagesBase(ps_view_command + 1) {  messages[ps_view_command] = gettext("A postscript viewer is used to view sent and received faxes via "				      "the fax lists, and also to view faxes to be sent identified via "				      "the \"Files to fax\" file selector dialog.  Specify here the "				      "command to be used to view postscript files.  If none is specified, "				      "the program will default to 'gv'.  Other possibilities you may want "				      "to specify are 'ggv' (the Gnome postscript viewer) or 'kghostview' "				      "(the KDE postscript viewer). If using gv, you may need to use the "				      "'-media A4' or '-media Letter' option to select correct paper size.  "				      "ggv and kghostview do this automatically");  captions[ps_view_command] = gettext("efax-gtk help: Postscript Viewer Program");}SockMessages::SockMessages(void): SettingsMessagesBase(client_address + 1) {  messages[run_server] = gettext("This specifies whether a socket server is to be run for CUPS or  "				 "some other print system.  Check the box if it is to run");  captions[run_server] = gettext("efax-gtk help: Run socket server");  messages[popup] = gettext("This specifies whether a pop-up dialog is to appear whenever a fax "			    "is received by the socket server from the print system.  Check the box "			    "if you want a dialog (this has no effect unless you have also checked "			    "the box for the socket server to run).  If the program is inactive (for "			    "example, it is not standing by to receive faxes) the fax can be sent "			    "directly from this dialog.");  captions[popup] = gettext("efax-gtk help: Popup");  messages[port] = gettext("This specifies the port number on which the socket server is to "			   "listen.");  captions[port] = gettext("efax-gtk help: Port");  messages[client_address] = gettext("This determines whether addresses other than localhost and your machine's own "				     "host name will be allowed to make a connection to the socket. Unless you have "				     "unusual requirements (that is, unless the CUPS or lpd daemons are running on "				     "another machine), you should choose localhost.  If you want other machines to "				     "be able to connect, pick \"other\" and specify the fully qualified hostnames of "				     "the computers which may connect (separating different hostnames by spaces, but "				     "you do not need to specify localhost and your machine's hostname, as those are "				     "always permitted).  You should run efax-gtk behind a firewall if you choose "				     "\"other\".");  captions[client_address] = gettext("efax-gtk help: Socket connections allowed");}ReceiveMessages::ReceiveMessages(void): SettingsMessagesBase(exec + 1) {  messages[popup] = gettext("This parameter specifies whether a pop-up dialog will appear when "			    "a fax is received from a modem. Check the box if you want a pop-up.");  captions[popup] = gettext("efax-gtk help: Receive pop-up");  messages[exec] = gettext("This specifies whether a program or script is to be executed when a "			   "fax is received from a modem.  Check the box if you want to execute a "			   "program, and enter the program name.");  captions[exec] = gettext("efax-gtk help: Execute program when fax received");}LoggingMessages::LoggingMessages(void): SettingsMessagesBase(logfile + 1) {  messages[logfile] = gettext("This parameter specifies a log file to which progress on negotiations "			      "and fax status, and errors and warnings, are logged.  If none is specified, "			      "then no log file will be maintained.  (A log file can also be kept by "			      "redirecting stdout and stderr -- see the README file for further details)");  captions[logfile] = gettext("efax-gtk help: Log File");}PageMessages::PageMessages(void): SettingsMessagesBase(res + 1) {  messages[page] = gettext("Specify the page size for faxes here");  captions[page] = gettext("efax-gtk help: Page Size");  messages[res] = gettext("This specifies the resolution to which faxes are sent.  \"Standard\" "			  "gives 204x98 and \"Fine\" gives 204x196");  captions[res] = gettext("efax-gtk help: Sent Fax Resolution");}SettingsHelpDialog::SettingsHelpDialog(const int standard_size, const Glib::ustring& text,				       const Glib::ustring& caption, Gtk::Window& window):                                            Gtk::Window(Gtk::WINDOW_TOPLEVEL), in_exec_loop(false),					    close_button(Gtk::Stock::CLOSE),					    button_box(Gtk::BUTTONBOX_SPREAD),					    label(text), table(2, 1),					    parent(window) {  label.set_line_wrap(true);  button_box.add(close_button);  table.attach(label, 0, 1, 0, 1, Gtk::FILL | Gtk::EXPAND,	 Gtk::FILL | Gtk::EXPAND, standard_size/2, standard_size/4);  table.attach(button_box, 0, 1, 1, 2, Gtk::FILL | Gtk::EXPAND,	 Gtk::SHRINK, standard_size/2, standard_size/4);  add(table);  close_button.signal_clicked().connect(sigc::mem_fun(*this, &SettingsHelpDialog::kill_dialog));  close_button.set_flags(Gtk::CAN_DEFAULT);  set_title(caption);  set_transient_for(parent);  set_type_hint(Gdk::WINDOW_TYPE_HINT_DIALOG);  parent.set_sensitive(false);  set_modal(true);  set_border_width(standard_size/4);  set_position(Gtk::WIN_POS_CENTER_ON_PARENT);  set_resizable(false);  set_icon(prog_config.window_icon_r);  show_all();}void SettingsHelpDialog::exec(void) {  in_exec_loop = true;  Gtk::Main::run();}void SettingsHelpDialog::kill_dialog(void) {  parent.set_sensitive(true);  hide_all();  if (in_exec_loop) Gtk::Main::quit();  // if we have not called exec(), then this dialog is self-owning and it is safe to call `delete this'  else delete this;}bool SettingsHelpDialog::on_delete_event(GdkEventAny*) {  kill_dialog();  return true; // returning true prevents destroy sig being emitted}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -