Source Code (Use browser search to find items of interest.)

Class Index

klyx'SendFaxDialog (./klyx/src/SendFaxDialog.h:18)

class SendFaxDialog : public QDialog
{
  Q_OBJECT

public:
  SendFaxDialog ( LyXView* view, QWidget * parent=0, const char * name=0, 
		  WFlags f=0 );

  setFilename( QString _filename ) { filename = _filename; }
  setSendCmd( QString _sendcmd ) { sendcmd = _sendcmd; }
  setPhone( QString _phone ) { faxnoED->setText( _phone ); }
  setName( QString _name ) { destnameED->setText( _name ); }
  setCompany( QString _name ) { companyED->setText( _name ); }

private slots:
  void okClicked();
  void selectfromClicked();
  void addtoClicked();
  void deletefromClicked();
  void saveClicked();

private:
  LyXView* _view;

  QLineEdit* faxnoED;
  QLineEdit* destnameED;
  QLineEdit* companyED;

  QPushButton* savePB;

  QMultiLineEdit* commentML;

  QString filename;
  QString sendcmd;
};



klyx'SendFaxDialog::SendFaxDialog() (./klyx/src/SendFaxDialog.C:38)

SendFaxDialog::SendFaxDialog( LyXView* view, QWidget * parent, 
			      const char * name, 
			      WFlags f ) :
  QDialog( parent, name, true, f ),
  _view( view )
{
  QGroupBox* destinationGB = new QGroupBox( i18n( "Destination" ), 
											this );
  destinationGB->setGeometry( 10, 10, 370, 140 );

  QLabel* faxnoLA = new QLabel( i18n( "Fax no." ), this );
  faxnoLA->setGeometry( 40, 30, 60, 30 );
  faxnoLA->setAlignment( AlignRight | AlignVCenter );

  faxnoED = new QLineEdit( this );
  faxnoED->setGeometry( 110, 30, 260, 30 );

  QLabel* destnameLA = new QLabel( i18n( "Dest. name" ), this );
  destnameLA->setGeometry( 20, 70, 80, 30 );
  destnameLA->setAlignment( AlignRight | AlignVCenter );

  destnameED = new QLineEdit( this );
  destnameED->setGeometry( 110, 70, 260, 30 );

  QLabel* companyLA = new QLabel( i18n( "Company" ), this );
  companyLA->setGeometry( 30, 110, 70, 30 );
  companyLA->setAlignment( AlignRight | AlignVCenter );

  companyED = new QLineEdit( this );
  companyED->setGeometry( 110, 110, 260, 30 );

  QGroupBox* phonebookGB = new QGroupBox( i18n( "Phone Book" ), 
										  this );
  phonebookGB->setGeometry( 10, 160, 370, 60 );

  QPushButton* selectfromPB = new QPushButton( i18n( "S&elect from" ), 
											   this );
  selectfromPB->setGeometry( 20, 180, 80, 30 );
  QObject::connect( selectfromPB, SIGNAL( clicked() ),
					this, SLOT( selectfromClicked() ) );

  QPushButton* addtoPB = new QPushButton( i18n( "&Add to" ), 
										   this );
  addtoPB->setGeometry( 110, 180, 80, 30 );
  QObject::connect( addtoPB, SIGNAL( clicked() ),
					this, SLOT( addtoClicked() ) );

  QPushButton* deletefromPB = new QPushButton( i18n( "&Delete from" ), 
											   this );
  deletefromPB->setGeometry( 200, 180, 80, 30 );
  QObject::connect( deletefromPB, SIGNAL( clicked() ),
					this, SLOT( deletefromClicked() ) );

  savePB = new QPushButton( i18n( "&Save" ), this );
  savePB->setGeometry( 290, 180, 80, 30 );
  QObject::connect( savePB, SIGNAL( clicked() ),
					this, SLOT( saveClicked() ) );

  QGroupBox* commentGB = new QGroupBox( i18n( "Comment" ), 
										this );
  commentGB->setGeometry( 10, 230, 370, 190 );

  commentML = new QMultiLineEdit( this );
  commentML->setGeometry( 20, 250, 350, 160 );


  QPushButton* okPB = new QPushButton( i18n( "OK" ), this );
  okPB->setGeometry( 60, 440, 100, 30 );
  okPB->setDefault( true );
  connect( okPB, SIGNAL( clicked() ), SLOT( okClicked() ) );

  QPushButton* cancelPB = new QPushButton( i18n( "Cancel" ), 
										   this );
  cancelPB->setGeometry( 230, 440, 100, 30 );
  connect( cancelPB, SIGNAL( clicked() ), SLOT( reject() ) );

  setCaption( i18n( "Send a fax" ) );
}



klyx'SendFaxDialog::okClicked() (./klyx/src/SendFaxDialog.C:118)

void SendFaxDialog::okClicked()
{
  if ( !strlen( faxnoED->text() ) )
	return;
  LString logfile = TmpFileName( OnlyPath( filename.data() ),"FAX" );
  LString cmd = sendcmd.data();
  cmd += " >";
  cmd += logfile + " 2>";
  cmd += logfile;
  cmd.subst( "$$Host", getenv( "FAX_SERVER" ) );
  cmd.subst( "$$Comment", commentML->text().data() );
  cmd.subst( "$$Enterprise", companyED->text() );
  cmd.subst( "$$Name", destnameED->text() );
  cmd.subst( "$$Phone", faxnoED->text() );
  cmd.subst( "$$FName", filename.data() );
  lyxerr.print( "CMD: " + cmd );
  Systemcalls one( Systemcalls::System, cmd );
  if( !logfile.empty() )
	{
	  if( !klyxdialogs->logfile )
		  klyxdialogs->logfile = new Logfile( _view );

	  klyxdialogs->logfile->loadFile( logfile.c_str() );

	  if( klyxdialogs->logfile->isVisible() )
		klyxdialogs->logfile->raise();
	  else
		klyxdialogs->logfile->show();
	}

  remove( logfile.c_str() );

  accept();
}



klyx'SendFaxDialog::selectfromClicked() (./klyx/src/SendFaxDialog.C:154)

void SendFaxDialog::selectfromClicked()
{
	(void)klyxdialogs->phonebook->exec();
}



klyx'SendFaxDialog::addtoClicked() (./klyx/src/SendFaxDialog.C:160)

void SendFaxDialog::addtoClicked()
{
  QString name = destnameED->text();
  QString phone = faxnoED->text();
  QString company = companyED->text();
  
  if( phone.isEmpty() )
	return;

  char *buf = new char [50+company.length()];
  
  sprintf(buf,"%-*.*s %-*.*s %s",
		  LEN_PHONE,LEN_PHONE,phone.data(),
		  LEN_NAME,LEN_NAME,name.data(),
		  company.data());

  unsigned int i = 0;
  for( i = 0; i < klyxdialogs->phonebook->listboxLB->count(); i++ )
	{
	  QString line = klyxdialogs->phonebook->listboxLB->text( i );
	  if( line == buf )
		break;
    }

  if( i >= klyxdialogs->phonebook->listboxLB->count() )
	{
	  klyxdialogs->phonebook->listboxLB->insertItem( buf );
	  savePB->setText( i18n( "* Save *" ) );
	}
  delete[] buf;
}



klyx'SendFaxDialog::deletefromClicked() (./klyx/src/SendFaxDialog.C:193)

void SendFaxDialog::deletefromClicked()
{
  QString name = destnameED->text();
  QString phone = faxnoED->text();
  QString company = companyED->text();
  
  if( phone.isEmpty() )
	return;

  char *buf = new char [50+company.length()];
  sprintf(buf,"%-*.*s %-*.*s %s",
		  LEN_PHONE,LEN_PHONE,phone.data(),
		  LEN_NAME,LEN_NAME,name.data(),
		  company.data());

  unsigned int i = 0;
  for( i = 0; i < klyxdialogs->phonebook->listboxLB->count(); i++ )
	{
	  QString line = klyxdialogs->phonebook->listboxLB->text( i );
	  if( line == buf )
		break;
    }

  if( i < klyxdialogs->phonebook->listboxLB->count() )
	{
	  klyxdialogs->phonebook->listboxLB->removeItem( i );
	  savePB->setText( i18n( "* Save *" ) );
	}
  delete[] buf;
}



klyx'SendFaxDialog::saveClicked() (./klyx/src/SendFaxDialog.C:225)

void SendFaxDialog::saveClicked()
{
 QFile file( klyxdialogs->phonebook->getFilename() );

 if( !file.open( IO_WriteOnly | IO_Truncate ) )
   {
	 WriteAlert(i18n("Error!"),i18n("Cannot open phone book: "),phone_book);
	 return;
   }

 QTextStream stream( &file );

 unsigned int i = 0;
 for( i = 0; i < klyxdialogs->phonebook->listboxLB->count(); i++ )
   {
	 QString line = klyxdialogs->phonebook->listboxLB->text( i );
	 stream << line;
   }

 file.close();
 savePB->setText( i18n( "Save" ) );
}