Source Code (Use browser search to find items of interest.)
Class Index
kfax'TopLevel (./kdegraphics/kfax/kfax.h:99)
class TopLevel : public KTMainWindow
{
Q_OBJECT
public:
TopLevel( QWidget *parent=0, const char *name=0 );
~TopLevel();
void openNetFile( const QString& _url);
void saveNetFile( const QString& _url );
static QList<TopLevel> windowList;
QPopupMenu *file, *view, *help,*options,*right_mouse_button, *colors;
void closeEvent( QCloseEvent *e );
void setFaxTitle(const QString& name);
void setStatusBarMemField(int mem);
void handle_X_event(XEvent Event);
void putImage();
// void setFaxDefaults();
protected:
void resizeEvent(QResizeEvent *);
void dropEvent( QDropEvent * event );
void setSensitivity();
void readSettings();
void writeSettings();
void setupMenuBar();
void setupToolBar();
void setupEditWidget();
void setupStatusBar();
private:
int statusID, toolID, indentID;
KMenuBar *menubar;
KToolBar *toolbar;
QColor forecolor;
QColor backcolor;
KStatusBar *statusbar;
QTimer *statusbar_timer;
int open_mode;
int editor_width;
int editor_height;
int hide_toolbar;
int hide_statusbar;
int toolbar1;
KConfig *config;
QString current_directory;
QFileDialog* file_dialog;
QScrollBar * hsb;
QScrollBar * vsb;
QFrame* mainpane;
QString tmpFile;
QString netFile;
PrintDialog * printdialog;
struct printinfo pi;
public slots:
void set_colors();
void pageActivated(const QString&);
void saving_slot();
void loading_slot();
void setGeneralStatusField(QString string);
void print();
void timer_slot();
void file_open_url();
void file_save_url();
void quiteditor();
void file_open();
void toolbarClicked( int );
void zoomin();
void zoomout();
void resizeView();
void file_close();
void file_save();
void file_save_as();
void helpselected();
void helpshort();
void toggleStatusBar();
void toggleToolBar();
void dummy();
void faxoptions();
void rotatePage();
void mirrorPage();
void flipPage();
void addFax();
void closeFax();
void nextPage();
void prevPage();
void newPage();
void error();
void goToEnd();
void goToStart();
void helptiff();
void uiUpdate();
void openadd(QString filename);
void printIt();
void FreeFax();
void scrollHorz(int);
void scrollVert(int);
void toolbarMoved(BarPosition);
};
kfax'TopLevel::TopLevel() (./kdegraphics/kfax/kfax.cpp:190)
TopLevel::TopLevel (QWidget *, const char *name)
: KTMainWindow ( name)
{
setMinimumSize (100, 100);
file_dialog = NULL;
printdialog = NULL;
buttondown = false;
statusbar_timer = new QTimer(this);
connect(statusbar_timer, SIGNAL(timeout()),this,SLOT(timer_slot()));
connect(kapp,SIGNAL(kdisplayPaletteChanged()),this,SLOT(set_colors()));
setupMenuBar();
setupToolBar();
setupStatusBar();
readSettings();
faxqtwin = new QFrame(this);
qtwin = faxqtwin->winId();
faxqtwin->setFrameStyle(QFrame::Panel | QFrame::Sunken);
// Create a Vertical scroll bar
vsb = new QScrollBar( QScrollBar::Vertical,faxqtwin,"scrollBar" );
vsb->hide();
connect( vsb, SIGNAL(valueChanged(int)), SLOT(scrollVert(int)) );
// Create a Horizontal scroll bar
hsb = new QScrollBar( QScrollBar::Horizontal,faxqtwin,"scrollBar" );
connect( hsb, SIGNAL(valueChanged(int)), SLOT(scrollHorz(int)) );
hsb->hide();
setView(faxqtwin,TRUE);
set_colors();
if ( hide_toolbar )
options->changeItem( i18n("Show &Tool Bar"), toolID );
else
options->changeItem(i18n( "Hide &Tool Bar"), toolID );
if ( hide_statusbar )
options->changeItem(i18n( "Show &Status Bar"), statusID );
else
options->changeItem( i18n("Hide &Status Bar"), statusID );
setCaption(i18n("KFax"));
setAcceptDrops(true);
// Calling resize as is done here will reduce flicker considerably
// ktoplevelwidget updateRect will be called only twice this way instead of 4 times.
// If I leave the first resize out the toolbar will not be displayed and
// ktoplevelwidget updateRect will be called four times. All this needs to
// be looked into. ktoolbar <-> ktoplevelwidget
resize(editor_width,editor_height);
show();
resize(editor_width,editor_height);
}
kfax'TopLevel::~TopLevel() (./kdegraphics/kfax/kfax.cpp:258)
TopLevel::~TopLevel (){
delete file;
delete help;
delete options;
}
kfax'TopLevel::pageActivated() (./kdegraphics/kfax/kfax.cpp:265)
void TopLevel::pageActivated(const QString&){
}
kfax'TopLevel::setFaxTitle() (./kdegraphics/kfax/kfax.cpp:270)
void TopLevel::setFaxTitle(const QString& name){
QString str(i18n("KFax: "));
str.append(name);
setCaption(str);
}
kfax'TopLevel::setupEditWidget() (./kdegraphics/kfax/kfax.cpp:277)
void TopLevel::setupEditWidget(){
}
kfax'TopLevel::resizeEvent() (./kdegraphics/kfax/kfax.cpp:283)
void TopLevel::resizeEvent(QResizeEvent *e){
KTMainWindow::resizeEvent(e);
if(!faxqtwin || !display_is_setup)
return;
resizeView();
}
kfax'TopLevel::resizeView() (./kdegraphics/kfax/kfax.cpp:293)
void TopLevel::resizeView(){
if(!faxqtwin || !display_is_setup)
return;
//printf("In resizeView() entered\n");
qwindow_width = faxqtwin->width();
qwindow_height = faxqtwin->height();
if( hsb->isVisible())
qwindow_height -= 16;
if( vsb->isVisible())
qwindow_width -= 16;
if(Image){
PaneWidth = Image->width;
PaneHeight = Image->height;
}
// printf("faxw %d qtw %d\n", PaneWidth , faxqtwin->width());
if( (PaneHeight > qwindow_height ) &&
(PaneWidth > qwindow_width)){
vsb->setGeometry(faxqtwin->width() - 16,0,16,faxqtwin->height()-16);
hsb->setGeometry(0,faxqtwin->height() - 16 ,faxqtwin->width()-16,16);
qwindow_width = faxqtwin->width() -16;
qwindow_height = faxqtwin->height()-16;
vsb->raise();
vsb->show();
hsb->show();
}
else{
if( PaneHeight > qwindow_height){
vsb->setGeometry(faxqtwin->width() - 16,0,16,faxqtwin->height());
qwindow_width = faxqtwin->width() -16 ;
qwindow_height = faxqtwin->height();
vsb->show();
hsb->hide();
hsb->raise();
}
else
vsb->hide();
if( PaneWidth > qwindow_width ){
hsb->setGeometry(0,faxqtwin->height() - 16 ,faxqtwin->width(),16);
hsb->show();
hsb->raise();
vsb->hide();
qwindow_width = faxqtwin->width() ;
qwindow_height = faxqtwin->height() -16;
}
else
hsb->hide();
}
if(Image){
hsb->setRange(0,max(0,Image->width - qwindow_width));
hsb->setSteps(5,qwindow_width/2);
// printf("hsb range: %d\n",max(0,Image->width - qwindow_width));
vsb->setRange(0,max(0,Image->height - qwindow_height));
vsb->setSteps(5,qwindow_height/2);
// printf("vsb range: %d\n",max(0,Image->height - qwindow_height));
// printf("vsb min %d vdb max %d\n",vsb->minValue(),vsb->maxValue());
}
Resize = 1;
uiUpdate();
}
kfax'TopLevel::setupMenuBar() (./kdegraphics/kfax/kfax.cpp:381)
void TopLevel::setupMenuBar(){
file = new QPopupMenu ();
help = new QPopupMenu ();
view = new QPopupMenu ();
options = new QPopupMenu ();
QString about = i18n("\nKFax %1\n\n"
"Copyright 1997-98\n"
"Bernd Johannes Wuebben\n"
"wuebben@kde.org").arg(KFAXVERSION);
help = helpMenu(about);
help->insertItem (i18n("Help page"), this, SLOT(helpshort()));
file->insertItem (i18n("&Open Fax..."), this, SLOT(file_open()),KStdAccel::open());
file->insertItem (i18n("&Add Fax..."), this, SLOT(addFax()));
// file->insertItem ("&Save As...", this, SLOT(dummy()));
file->insertSeparator (-1);
file->insertItem (i18n("Open &URL..."), this, SLOT(file_open_url()));
file->insertItem (i18n("Save to U&RL..."), this, SLOT(file_save_url()));
file->insertItem (i18n("&Close Fax"), this, SLOT(closeFax()),KStdAccel::close());
file->insertSeparator (-1);
file->insertItem (i18n("&Print..."), this, SLOT(print()),KStdAccel::print() );
file->insertSeparator (-1);
file->insertItem (i18n("E&xit"), this, SLOT(quiteditor()),KStdAccel::quit());
view->insertItem(i18n("&Next Page"),this,SLOT(nextPage()));
view->insertItem(i18n("&Prev Page"),this,SLOT(prevPage()));
view->insertItem(i18n("&First Page"),this,SLOT(goToStart()));
view->insertItem(i18n("&Last Page"),this,SLOT(goToEnd()));
view->insertSeparator(-1);
view->insertItem(i18n("&Rotate Page"),this,SLOT(rotatePage()));
view->insertItem(i18n("&Mirror Page"),this,SLOT(mirrorPage()));
view->insertItem(i18n("&Flip Page"),this,SLOT(flipPage()));
view->insertSeparator(-1);
view->insertItem(i18n("Zoom &in"),this,SLOT(zoomin()));
view->insertItem(i18n("Zoom &out"),this,SLOT(zoomout()));
options->setCheckable(TRUE);
options->insertItem(i18n("&Fax Options..."),this,SLOT(faxoptions()));
options->insertSeparator(-1);
toolID = options->insertItem(i18n("&Tool Bar"),this,SLOT(toggleToolBar()));
statusID = options->insertItem(i18n("&Status Bar"),this,SLOT(toggleStatusBar()));
menubar = new KMenuBar (this, "menubar");
menubar->insertItem (i18n("&File"), file);
menubar->insertItem (i18n("&View"), view);
menubar->insertItem (i18n("&Options"), options);
menubar->insertSeparator(-1);
menubar->insertItem (i18n("&Help"), help);
setMenu(menubar);
}
kfax'TopLevel::setupToolBar() (./kdegraphics/kfax/kfax.cpp:445)
void TopLevel::setupToolBar(){
toolbar = new KToolBar( this );
toolbar->insertButton(BarIcon("back"), ID_PREV, TRUE, i18n("Go back"));
toolbar->insertButton(BarIcon("forward"), ID_NEXT, TRUE, i18n("Go forward"));
toolbar->insertSeparator();
toolbar->insertButton(BarIcon("start"), ID_START, TRUE, i18n("Go to start"));
toolbar->insertButton(BarIcon("finish"), ID_END, TRUE, i18n("Go to end"));
toolbar->insertSeparator();
toolbar->insertButton(BarIcon("viewmag+"), ID_ZOOM_IN, TRUE,i18n( "Zoom in"));
toolbar->insertButton(BarIcon("viewmag-"), ID_ZOOM_OUT, TRUE, i18n("Zoom out"));
toolbar->insertSeparator();
toolbar->insertButton(BarIcon("fileprint"), ID_PRINT, TRUE, i18n("Print document"));
/*
toolbar->insertButton(BarIcon("tick"), ID_MARK, TRUE, "Mark this page");
*/
toolbar->insertSeparator();
toolbar->insertButton(BarIcon("page"), ID_PAGE, TRUE, i18n("Go to page ..."));
toolbar1 = addToolBar( toolbar );
toolbar->setBarPos( KToolBar::Top );
connect(toolbar, SIGNAL( clicked( int ) ), this,
SLOT( toolbarClicked( int ) ) );
connect(toolbar, SIGNAL( moved( BarPosition ) ), this,
SLOT( toolbarMoved(BarPosition ) ) );
}
kfax'TopLevel::toolbarMoved() (./kdegraphics/kfax/kfax.cpp:484)
void TopLevel::toolbarMoved(BarPosition ){
resizeView();
}
kfax'TopLevel::toolbarClicked() (./kdegraphics/kfax/kfax.cpp:490)
void TopLevel::toolbarClicked( int item ){
switch ( item ) {
case ID_PREV:
prevPage();
break;
case ID_NEXT:
nextPage();
break;
case ID_PAGE:
helpselected();
break;
case ID_ZOOM_IN:
zoomin();
break;
case ID_ZOOM_OUT:
zoomout();
break;
case ID_PRINT:
print();
break;
case ID_START:
goToStart();
break;
case ID_END:
goToEnd();
break;
case ID_READ:
break;
}
}
kfax'TopLevel::setupStatusBar() (./kdegraphics/kfax/kfax.cpp:522)
void TopLevel::setupStatusBar(){
statusbar = new KStatusBar( this );
// statusbar->insertItem("Mem: 000000000", ID_LINE_COLUMN);
statusbar->insertItem(i18n("w: 00000 h: 00000"), ID_INS_OVR);
statusbar->insertItem(i18n("Res: XXXXX"), ID_GENERAL);
statusbar->insertItem(i18n("Type: XXXXXXX"), ID_TYPE);
statusbar->insertItem(i18n("P:XXXofXXX"), ID_PAGE_NO);
statusbar->insertItem("",ID_FNAME);
// statusbar->changeItem("", ID_LINE_COLUMN);
statusbar->changeItem("", ID_INS_OVR);
statusbar->changeItem("", ID_GENERAL);
statusbar->changeItem("", ID_TYPE);
statusbar->changeItem("", ID_PAGE_NO);
statusbar->changeItem("",ID_FNAME);
//statusbar->setInsertOrder(KStatusBar::RightToLeft);
// statusbar->setAlignment(ID_INS_OVR,AlignCenter);
// statusbar->setInsertOrder(KStatusBar::LeftToRight);
// statusbar->setBorderWidth(1);
setStatusBar( statusbar );
}
kfax'TopLevel::file_open_url() (./kdegraphics/kfax/kfax.cpp:552)
void TopLevel::file_open_url(){
UrlDlg l( this,i18n("Open Location:"), "ftp://localhost/welcome");
if ( l.exec() )
{
QString n = l.getText();
if ( n.left(5) != "file:" && n.left(4) == "ftp:" )
openNetFile( l.getText());
else
openNetFile( l.getText());
}
}
kfax'TopLevel::file_save_url() (./kdegraphics/kfax/kfax.cpp:567)
void TopLevel::file_save_url(){
if(!thispage || !thispage->pathname){
KMessageBox::sorry(this, i18n("You need to open a Fax first"));
return;
}
if(thispage && thispage->pathname){
UrlDlg l( this, i18n("Save to Location:"), thispage->pathname);
if ( l.exec() )
{
QString n = l.getText();
if ( n.left(5) != "file:" && n.left(4) == "ftp:" )
saveNetFile( l.getText() );
else
saveNetFile( l.getText() );
}
}
}
kfax'TopLevel::quiteditor() (./kdegraphics/kfax/kfax.cpp:591)
void TopLevel::quiteditor(){
writeSettings();
kapp->quit();
}
kfax'TopLevel::file_close() (./kdegraphics/kfax/kfax.cpp:601)
void TopLevel::file_close(){
}
kfax'TopLevel::file_save() (./kdegraphics/kfax/kfax.cpp:606)
void TopLevel::file_save(){
}
kfax'TopLevel::file_open() (./kdegraphics/kfax/kfax.cpp:612)
void TopLevel::file_open(){
QString newfile;
/*
QString d;
if ( !filename.isEmpty() )
d = QFileInfo( filename ).dirPath();
else
d = QDir::currentDirPath();
*/
KURL url = KFileDialog::getOpenURL(current_directory,"*");
if (newfile.isEmpty())
return;
if( !url.isLocalFile() )
{
KMessageBox::sorry( 0L, i18n( "Only local files are supported yet." ) );
return;
}
newfile = url.path();
current_directory = QFileInfo( newfile ).dirPath() ;
FreeFax();
fname = newfile;
(void) notetiff(fname.ascii());
thispage = auxpage;
have_no_fax = false;
newPage();
resizeView();
putImage();
}
kfax'TopLevel::addFax() (./kdegraphics/kfax/kfax.cpp:655)
void TopLevel::addFax()
{
/*
QString d;
if ( !filename.isEmpty() )
d = QFileInfo( filename ).dirPath();
else
d = QDir::currentDirPath();
*/
KURL url = KFileDialog::getOpenURL(current_directory,"*");
if( url.isEmpty() )
return;
if( !url.isLocalFile() )
{
KMessageBox::sorry( 0L, i18n( "Only local files are supported yet." ) );
return;
}
QString newfile = url.path();
current_directory = QFileInfo( newfile ).dirPath() ;
fname = newfile;
openadd(fname);
}
kfax'TopLevel::openadd() (./kdegraphics/kfax/kfax.cpp:687)
void TopLevel::openadd(QString filename){
bool this_is_the_first_fax;
if(firstpage == lastpage)
this_is_the_first_fax = TRUE;
else
this_is_the_first_fax = FALSE;
auxpage = lastpage;
(void) notetiff(filename.ascii());
if(!this_is_the_first_fax){
if(auxpage->next)
auxpage = auxpage->next;
}
// auxpage should now point to the first pagenode which was created for
// the newly added fax file.
have_no_fax = false;
thispage = auxpage;
newPage();
resizeView();
putImage();
}
/*
QFileDialog* TopLevel::getFileDialog(const QString& captiontext){
if(!file_dialog){
file_dialog = new QFileDialog(current_directory,"*",this,"file_dialog",TRUE);
}
file_dialog->setCaption(captiontext);
file_dialog->rereadDir();
return file_dialog;
}
*/
kfax'TopLevel::setGeneralStatusField() (./kdegraphics/kfax/kfax.cpp:734)
void TopLevel::setGeneralStatusField(QString text){
statusbar_timer->stop();
statusbar->changeItem(text,ID_FNAME);
statusbar_timer->start(10000,TRUE); // single shot
}
kfax'TopLevel::file_save_as() (./kdegraphics/kfax/kfax.cpp:743)
void TopLevel::file_save_as(){
}
kfax'TopLevel::helpselected() (./kdegraphics/kfax/kfax.cpp:751)
void TopLevel::helpselected(){
kapp->invokeHTMLHelp( "" , "" );
}
kfax'TopLevel::helpshort() (./kdegraphics/kfax/kfax.cpp:758)
void TopLevel::helpshort(){
helptiff();
}
kfax'TopLevel::toggleStatusBar() (./kdegraphics/kfax/kfax.cpp:765)
void TopLevel::toggleStatusBar(){
if(hide_statusbar) {
hide_statusbar=FALSE;
enableStatusBar( KStatusBar::Show );
options->changeItem(i18n("Hide &Status Bar"), statusID);
}
else {
hide_statusbar=TRUE;
enableStatusBar( KStatusBar::Hide );
options->changeItem(i18n("Show &Status Bar"), statusID);
}
resizeView();
}
kfax'TopLevel::dummy() (./kdegraphics/kfax/kfax.cpp:786)
void TopLevel::dummy(){
KMessageBox::sorry(this, i18n("Not yet implemented"));
}
kfax'TopLevel::toggleToolBar() (./kdegraphics/kfax/kfax.cpp:790)
void TopLevel::toggleToolBar(){
if(hide_toolbar) {
hide_toolbar=FALSE;
enableToolBar( KToolBar::Show, toolbar1 );
options->changeItem(i18n("Hide &Tool Bar"), toolID);
}
else {
hide_toolbar=TRUE;
enableToolBar( KToolBar::Hide, toolbar1 );
options->changeItem(i18n("Show &Tool Bar"), toolID);
}
resizeView();
}
kfax'TopLevel::closeEvent() (./kdegraphics/kfax/kfax.cpp:811)
void TopLevel::closeEvent( QCloseEvent *e ){
(void) e;
file_close();
writeSettings();
kapp->quit();
};
kfax'TopLevel::setStatusBarMemField() (./kdegraphics/kfax/kfax.cpp:821)
void TopLevel::setStatusBarMemField(int /*mem*/){
// QString memstr = i18n("Mem: %1").arg(mem);
// statusbar->changeItem(memstr, ID_LINE_COLUMN);
}
kfax'TopLevel::print() (./kdegraphics/kfax/kfax.cpp:829)
void TopLevel::print(){
if(!thispage){
KMessageBox::sorry(this, i18n("There is no document active."));
return;
}
if(!printdialog){
printdialog = new PrintDialog(NULL,"print",true);
connect(printdialog,SIGNAL(print()),this,SLOT(printIt()));
}
struct printinfo newpi;
newpi.file = pi.file;
newpi.cmd = pi.cmd;
newpi.lpr = pi.lpr;
newpi.scale = pi.scale;
newpi.pagesize = pi.pagesize;
newpi.margins = pi.margins;
newpi.xmargin = pi.xmargin;
newpi.ymargin = pi.ymargin;
printdialog->setWidgets(&newpi);
QPoint point = this->mapToGlobal (QPoint (0,0));
QRect pos = this->geometry();
printdialog->setGeometry(point.x() + pos.width()/2 - printdialog->width()/2,
point.y() + pos.height()/2 - printdialog->height()/2,
printdialog->width(),
printdialog->height()
);
printdialog->show();
}
kfax'TopLevel::printIt() (./kdegraphics/kfax/kfax.cpp:867)
void TopLevel::printIt(){
if(!firstpage)
return;
if(!printdialog)
return;
kapp->processEvents();
struct printinfo *newpi;
newpi = printdialog->getInfo();
pi.file = newpi->file;
pi.cmd = newpi->cmd;
pi.lpr = newpi->lpr;
pi.scale = newpi->scale;
pi.pagesize = newpi->pagesize;
pi.margins = newpi->margins;
pi.xmargin = newpi->xmargin;
pi.ymargin = newpi->ymargin;
float width = 8.5;
float height = 11;
if(pi.pagesize == US_LETTER){
width = 8.5;
height = 11;
}
if(pi.pagesize == US_LEGAL){
width = 8.5;
height = 14;
}
if(pi.pagesize == US_LEDGER){
width = 11;
height = 17;
}
if(pi.pagesize == US_EXECUTIVE){
width = 7.25;
height = 10.5;
}
if(pi.pagesize == DIN_A3){
width = 12.69;
height = 16.53;
}
if(pi.pagesize == DIN_A4){
width = 8.267;
height = 11.692;
}
if(pi.pagesize == DIN_A5){
width = 5.944;
height = 8.2675;
}
if(pi.pagesize == DIN_A6){
width = 4.2125;
height = 5.8258;
}
if(pi.pagesize == DIN_B4){
width = 10.04;
height = 14.33;
}
if(pi.pagesize == JAP_LETTER){
width = 7.165;
height = 10.1175;
}
if(pi.pagesize == JAP_LEGAL){
width = 10.1175;
height = 14.33;
}
if(pi.margins == 1){
width = width - pi.xmargin/2.54*2.0; /* 2.0 since we want this margin both at the
top as well as on the bottom */
height = height - pi.ymargin/2.54*2.0;
}
if(width <= 0.0 || height <=0.0 ){
QString str = i18n("Invalid page dimensions:\nWidth %1 Height %2\n")
.arg(width, 2).arg(height, 2);
KMessageBox::sorry(this, str);
return;
}
FILE* psfile;
if(pi.lpr){
psfile = NULL;
psfile = popen(pi.cmd.ascii(),"w");
if(psfile == NULL){
QString str = i18n("Can't print to \"%1\"\n").arg(pi.cmd);
KMessageBox::sorry(this, str);
return;
}
}
else{
psfile = fopen(pi.file.ascii(),"w");
if(psfile == NULL){
QString str = i18n("Couldn't create %1\n").arg(pi.file);
KMessageBox::error(this, str);
return;
}
}
QApplication::setOverrideCursor( waitCursor );
XDefineCursor(qtdisplay, Win, WorkCursor);
kapp->processEvents();
struct pagenode *pn;
QStrList filelist;
for(pn = firstpage; pn; pn = pn->next){
if(filelist.find(pn->pathname) != -1) // we have printed this fax file already
continue;
filelist.append(pn->pathname);
if(pn->type == FAX_TIFF){
fax2psmain(pn->pathname,psfile,width,height,pi.scale);
}
if(pn->type == FAX_RAW){
int faxtype = 31;
if(defaultpage.expander == g32expand)
faxtype = 32;
if(defaultpage.expander == g4expand)
faxtype = 4;
if(defaultpage.expander == g31expand)
faxtype = 31;
QString tempfile;
tempfile = tmpnam(NULL);
fax2tiffmain(pn->pathname,tempfile.ascii(),pn->lsbfirst,pn->vres?0:1,faxtype);
fax2psmain(tempfile.ascii(),psfile,width,height,pi.scale);
remove(tempfile.ascii());
}
}
if(pi.lpr)
pclose(psfile);
else
fclose(psfile);
QApplication::restoreOverrideCursor();
XDefineCursor(qtdisplay, Win, ReadyCursor);
}
kfax'TopLevel::setSensitivity() (./kdegraphics/kfax/kfax.cpp:1046)
void TopLevel::setSensitivity (){
}
kfax'TopLevel::saving_slot() (./kdegraphics/kfax/kfax.cpp:1051)
void TopLevel::saving_slot(){
setGeneralStatusField(i18n("Saving ..."));
}
kfax'TopLevel::loading_slot() (./kdegraphics/kfax/kfax.cpp:1058)
void TopLevel::loading_slot(){
setGeneralStatusField(i18n("Loading ..."));
}
kfax'TopLevel::saveNetFile() (./kdegraphics/kfax/kfax.cpp:1065)
void TopLevel::saveNetFile( const QString& _url)
{
int res;
netFile = _url;
KURL u( netFile );
if ( u.isMalformed() )
{
KMessageBox::sorry(this, i18n("Malformed URL"));
return;
}
// Just a usual file ?
if ( u.isLocalFile() )
{
saving_slot();
res = copyfile(u.path().ascii(),thispage->pathname);
if (res==0) {
KMessageBox::error(this, i18n("Failure in 'copy file()'\n"
"Couldn't save file!"));
setGeneralStatusField(i18n("Error saving"));
return;
}
setGeneralStatusField(i18n("Saved"));
return;
}
tmpFile = _PATH_TMP"/kfax" + time( 0L );
res = copyfile(tmpFile.ascii(),thispage->pathname );
if (res==0) {
KMessageBox::error(this, i18n("Failure in 'copy file()'\n"
"Couldn't save file!"));
return;
}
KIO::NetAccess::upload( tmpFile, u );
QString string = i18n("Finished '%1'").arg(tmpFile);
unlink( tmpFile.local8Bit() );
}
kfax'TopLevel::openNetFile() (./kdegraphics/kfax/kfax.cpp:1108)
void TopLevel::openNetFile( const QString& _url)
{
netFile = _url;
KURL u( netFile );
if ( u.isMalformed() )
{
KMessageBox::error(this, i18n("Malformed URL"));
return;
}
// Just a usual file ?
if ( u.isLocalFile() )
{
QString string = i18n("Loading '%1'").arg(u.path());
setGeneralStatusField(string);
openadd( u.path());
setGeneralStatusField(i18n("Done"));
return;
}
setGeneralStatusField(i18n("Downloading..."));
tmpFile = QString::null; // let NetAccess decide about it
if ( KIO::NetAccess::download( netFile, tmpFile ) )
{
setGeneralStatusField( i18n("Finished '%1'").arg(tmpFile) );
openadd( tmpFile );
setCaption( netFile );
// Clean up
KIO::NetAccess::removeTempFile( tmpFile );
}
}
kfax'TopLevel::dropEvent() (./kdegraphics/kfax/kfax.cpp:1143)
void TopLevel::dropEvent( QDropEvent * event)
{
QStrList list;
QUriDrag::decode(event, list);
const char *s = list.first();
if(s != 0L){
// Load the first file in this window
if ( s == list.getFirst() )
{
QString n = s;
openNetFile( n );
}
}
// lets ignore others for the moment.... ;-)
}
kfax'TopLevel::timer_slot() (./kdegraphics/kfax/kfax.cpp:1165)
void TopLevel::timer_slot(){
if(thispage){
if(thispage->name)
statusbar->changeItem(thispage->name,ID_FNAME);
}
else
statusbar->changeItem("",ID_FNAME);
}
kfax'TopLevel::set_colors() (./kdegraphics/kfax/kfax.cpp:1177)
void TopLevel::set_colors(){
/*
QPalette mypalette = (eframe->palette()).copy();
QColorGroup cgrp = mypalette.normal();
QColorGroup ncgrp(forecolor,cgrp.background(),
cgrp.light(),cgrp.dark(),cgrp.mid(),forecolor,backcolor);
mypalette.setNormal(ncgrp);
mypalette.setDisabled(ncgrp);
mypalette.setActive(ncgrp);
eframe->setPalette(mypalette);
eframe->setBackgroundColor(backcolor);
*/
}
kfax'TopLevel::readSettings() (./kdegraphics/kfax/kfax.cpp:1196)
void TopLevel::readSettings(){
// let's set the defaults
editor_width = 550;
editor_height = 400;
hide_statusbar = FALSE;
hide_toolbar = FALSE;
// fas display options
fop.width = 1728;
fop.height = 2339;
fop.resauto = 1;
fop.geomauto = 1;
fop.fine = 1;
fop.landscape = 0;
fop.flip = 0;
fop.invert =0;
fop.lsbfirst = 0;
fop.raw = 3; // raw faxes are g3 by default -- 2 stands for g32d and 4 for g4
current_directory = QDir::currentDirPath();
QString str;
config = kapp->config();
///////////////////////////////////////////////////
config->setGroup("General Options");
str = config->readEntry("DefaultPath");
if ( !str.isEmpty() ){
current_directory = str;
}
str = config->readEntry("Width");
if ( !str.isNull() )
editor_width = str.toInt();
str = config->readEntry("Height");
if ( !str.isNull() )
editor_height = str.toInt();
str = config->readEntry( "StatusBar" );
if ( !str.isNull() && str.find( "off" ) == 0 ) {
hide_statusbar = TRUE;
enableStatusBar( KStatusBar::Hide );
} else
{
hide_statusbar = FALSE;
enableStatusBar( KStatusBar::Show );
}
str = config->readEntry( "ToolBar" );
if ( !str.isNull() && str.find( "off" ) == 0 ) {
hide_toolbar = TRUE;
enableToolBar( KToolBar::Hide, toolbar1 );
} else{
hide_toolbar = FALSE;
enableToolBar( KToolBar::Show, toolbar1 );
}
str = config->readEntry( "Toolbar position" );
if ( !str.isNull() ) {
if( str == "Left" ) {
toolbar->setBarPos( KToolBar::Left );
} else if( str == "Right" ) {
toolbar->setBarPos( KToolBar::Right );
} else if( str == "Bottom" ) {
toolbar->setBarPos( KToolBar::Bottom );
} else
toolbar->setBarPos( KToolBar::Top );
}
///////////////////////////////////////////////////
config->setGroup("Fax Options");
str = config->readEntry("width");
if ( !str.isNull() )
fop.width = str.toInt();
str = config->readEntry("resauto");
if ( !str.isNull() )
fop.resauto = str.toInt();
str = config->readEntry("geomauto");
if ( !str.isNull() )
fop.geomauto = str.toInt();
str = config->readEntry("height");
if ( !str.isNull() )
fop.height = str.toInt();
str = config->readEntry("resolution");
if ( !str.isNull() )
fop.fine = str.toInt();
str = config->readEntry("flip");
if ( !str.isNull() )
fop.flip = str.toInt();
str = config->readEntry("invert");
if ( !str.isNull() )
fop.invert = str.toInt();
str = config->readEntry("lsb");
if ( !str.isNull() )
fop.lsbfirst = str.toInt();
str = config->readEntry("raw");
if ( !str.isNull() )
fop.raw = str.toInt();
setFaxDefaults();
///////////////////////////////////////////////////
config->setGroup("Printing");
pi.cmd = config->readEntry("PrintCommand","lpr");
pi.file = config->readEntry("PrintFile","");
pi.lpr = config->readNumEntry("print",1);
pi.scale = config->readNumEntry("scale",0);
pi.margins = config->readNumEntry("margins",0);
str = config->readEntry("xmargin","0.0");
pi.xmargin = str.toDouble();
str = config->readEntry("ymargin","0.0");
pi.ymargin = str.toDouble();
pi.pagesize = config->readEntry("PageSize",US_LETTER);
}
kfax'TopLevel::writeSettings() (./kdegraphics/kfax/kfax.cpp:1334)
void TopLevel::writeSettings(){
config = kapp->config();
///////////////////////////////////////////////////
config->setGroup("General Options");
config->writeEntry("DefaultPath",current_directory);
QString widthstring;
widthstring.setNum(this->width() );
config->writeEntry("Width", widthstring);
QString heightstring;
heightstring.setNum(this->height() );
config->writeEntry("Height", heightstring);
config->writeEntry( "StatusBar", hide_statusbar ? "off" : "on" );
config->writeEntry( "ToolBar", hide_toolbar ? "off" : "on" );
QString string;
string="";
if ( toolbar->barPos() == KToolBar::Left )
string = "Left";
else if ( toolbar->barPos() == KToolBar::Right )
string = "Right";
else if ( toolbar->barPos() == KToolBar::Bottom )
string = "Bottom";
else
string = "Top";
config->writeEntry( "Toolbar position", string );
////////////////////////////////////////////////////
config->setGroup("Fax Options");
config->writeEntry("resauto",fop.resauto);
config->writeEntry("geomauto",fop.geomauto);
config->writeEntry("width",fop.width);
config->writeEntry("height",fop.height);
config->writeEntry("resolution",fop.fine);
config->writeEntry("flip",fop.flip);
config->writeEntry("invert",fop.invert);
config->writeEntry("lsb",fop.lsbfirst);
config->writeEntry("raw",fop.raw);
////////////////////////////////////////////
config->setGroup("Printing");
config->writeEntry("PrintCommand",pi.cmd);
config->writeEntry("PrintFile",pi.file);
config->writeEntry("print",pi.lpr);
config->writeEntry("scale",pi.scale);
config->writeEntry("PageSize",pi.pagesize);
config->writeEntry("margins",pi.margins);
string.sprintf("%.2f",pi.xmargin);
config->writeEntry("xmargin",string);
string.sprintf("%.2f",pi.ymargin);
config->writeEntry("ymargin",string);
config->sync();
}
kfax'TopLevel::zoomin() (./kdegraphics/kfax/kfax.cpp:1483)
void TopLevel::zoomin(){
if(!thispage || !Image || !faxqtwin || !display_is_setup)
return;
if (oz > 0) {
Image = Images[--oz];
zfactor >>= 1;
Resize = Refresh = 1;
}
int i;
if (Image == NULL) {
for (i = oz; i && (Images[i] == NULL); i--)
;
for (; i != oz; i++){
Images[i+1] = ZoomImage(Images[i]);
Image = Images[i+1];
if(Images[i+1] == NULL){ // out of memory
Image = Images[i];
break;
}
}
}
PaneWidth = Image->width;
PaneHeight = Image->height;
resizeView();
putImage();
uiUpdate();
}
kfax'TopLevel::zoomout() (./kdegraphics/kfax/kfax.cpp:1525)
void TopLevel::zoomout(){
if(!thispage || !Image || !faxqtwin || !display_is_setup)
return;
if (oz < MAXZOOM && Image->width >= 64 && zfactor < 32) {
Image = Images[++oz];
zfactor <<= 1;
Resize = Refresh = 1;
}
int i;
if (Image == NULL) {
for ( i = oz; i && (Images[i] == NULL); i--)
;
for (; i != oz; i++){
Images[i+1] = ZoomImage(Images[i]);
Image = Images[i+1];
if(Images[i+1] == NULL){ // out of memory
Image = Images[i];
break;
}
}
}
PaneWidth = Image->width;
PaneHeight = Image->height;
resizeView();
putImage();
uiUpdate();
}
kfax'TopLevel::handle_X_event() (./kdegraphics/kfax/kfax.cpp:1564)
void TopLevel::handle_X_event(XEvent Event){
if(!thispage || !Image || !faxqtwin || !display_is_setup)
return;
if(!Image)
return;
if(!faxqtwin || !display_is_setup)
return;
bool putimage = false; // Do we actually have to write the image to the scree?
do {
switch(Event.type) {
case MappingNotify:
XRefreshKeyboardMapping((XMappingEvent *)(&Event));
break;
case LeaveNotify:
/* buttondown = false;
XDefineCursor(qtdisplay, Win, ReadyCursor);
XFlush(qtdisplay);*/
break;
case Expose:
{
if(Event.xexpose.count != 0)
break;
if(!Image)
break;
putimage = TRUE;
}
break;
case KeyPress:
if (ExpectConfNotify &&
(Event.xkey.time < (Lasttime + PATIENCE)))
break;
Lasttime = Event.xkey.time;
ExpectConfNotify = 0;
switch(XKeycodeToKeysym(qtdisplay, Event.xkey.keycode, 0)) {
case XK_Help:
case XK_h:
helptiff();
break;
case XK_m:
mirrorPage();
if (Event.xkey.state & ShiftMask)
TurnFollowing(TURN_M, thispage->next);
break;
case XK_o:
zoomout();
break;
case XK_i:
zoomin();
break;
case XK_Up:
ypos-= qwindow_height / 3;
putimage = TRUE;
break;
case XK_Down:
ypos+= qwindow_height / 3;
putimage = TRUE;
break;
case XK_Left:
xpos-= qwindow_width / 4;
putimage = TRUE;
break;
case XK_Right:
xpos+= qwindow_width / 4;
putimage = TRUE;
break;
case XK_Home:
case XK_R7:
if (Event.xkey.state & ShiftMask) {
thispage = firstpage;
newPage();
resizeView();
putImage();
break;
}
xpos= 0;
ypos= 0;
putImage();
break;
case XK_End:
case XK_R13:
if (Event.xkey.state & ShiftMask) {
thispage = lastpage;
newPage();
resizeView();
putImage();
break;
}
xpos= Image->width;
ypos= Image->height;
putImage();
break;
case XK_l:
rotatePage();
if (Event.xkey.state & ShiftMask)
TurnFollowing(TURN_L, thispage->next);
break;
case XK_p:
case XK_minus:
case XK_Prior:
case XK_R9:
case XK_BackSpace:
prevPage();
break;
case XK_n:
case XK_plus:
case XK_space:
case XK_Next:
case XK_R15:
nextPage();
break;
case XK_u:
flipPage();
if (Event.xkey.state & ShiftMask)
TurnFollowing(TURN_U, thispage->next);
break;
case XK_q:
if (viewpage) {
thispage = viewpage;
viewpage = NULL;
newPage();
resizeView();
putImage();
}
}
break;
case ButtonPress:
if (ExpectConfNotify && (Event.xbutton.time < (Lasttime + PATIENCE)))
break;
Lasttime = Event.xbutton.time;
ExpectConfNotify = 0;
switch (Event.xbutton.button) {
case Button1:
buttondown = true;
switch (((Image->width > qwindow_width)<<1) |
(Image->height > qwindow_height)) {
case 0:
break;
case 1:
XDefineCursor(qtdisplay, Win, UDCursor);
break;
case 2:
XDefineCursor(qtdisplay, Win, LRCursor);
break;
case 3:
XDefineCursor(qtdisplay, Win, MoveCursor);
}
XFlush(qtdisplay);
offx = Event.xbutton.x;
offy = Event.xbutton.y;
break;
}
break;
case MotionNotify:
if(!buttondown)
break;
do {
nx = Event.xmotion.x;
ny = Event.xmotion.y;
} while (XCheckTypedEvent(qtdisplay, MotionNotify, &Event));
xpos+= offx - nx;
ypos+= offy - ny;
offx = nx;
offy = ny;
putimage = TRUE;
break;
case ButtonRelease:
if (Event.xbutton.button == Button1) {
buttondown = false;
XDefineCursor(qtdisplay, Win, ReadyCursor);
XFlush(qtdisplay);
}
}
} while (XCheckWindowEvent(qtdisplay, Win, KeyPressMask|ButtonPressMask, &Event));
if(putimage == TRUE){
Refresh = Resize = 1;
putImage();
}
}
kfax'TopLevel::rotatePage() (./kdegraphics/kfax/kfax.cpp:1788)
void TopLevel::rotatePage(){
if(!thispage || !Image || !faxqtwin || !display_is_setup)
return;
XImage *newrotimage = NULL;
XDefineCursor(qtdisplay, Win, WorkCursor);
XFlush(qtdisplay);
newrotimage = RotImage(Images[0]);
if(newrotimage == NULL){ // out of memory
XDefineCursor(qtdisplay, Win, ReadyCursor);
return;
}
thispage->extra = Image = newrotimage;
thispage->orient ^= TURN_L;
int i;
for (i = 1; Images[i]; i++) {
FreeImage(Images[i]);
Images[i] = NULL;
}
Images[0] = Image;
for (i = 1; i <= oz; i++){
Images[i] = ZoomImage(Images[i-1]);
Image = Images[i];
if(Images[i] == NULL){// out of memory
Image = Images[i -1];
break;
}
}
{ int t = xpos ; xpos= ypos; ypos= t; }
Refresh = Resize = 1;
// XDefineCursor(qtdisplay, Win, ReadyCursor);
putImage();
}
kfax'TopLevel::flipPage() (./kdegraphics/kfax/kfax.cpp:1837)
void TopLevel::flipPage(){
if(!thispage || !Image || !faxqtwin || !display_is_setup)
return;
XImage *newflipimage = NULL;
XDefineCursor(qtdisplay, Win, WorkCursor);
XFlush(qtdisplay);
newflipimage = FlipImage(Images[0]);
if(newflipimage == NULL){ // out of memory
XDefineCursor(qtdisplay, Win, ReadyCursor);
return;
}
thispage->extra = Images[0] = newflipimage;
thispage->orient ^= TURN_U;
int i;
for (i = 1; Images[i]; i++) {
FreeImage(Images[i]);
Images[i] = ZoomImage(Images[i-1]);
if(Images[i]== NULL){// out of memory
break;
}
}
Image = Images[min(i-1,oz)];
/*
XPutImage(qtdisplay, Win, PaintGC, Image,
xpos -PaneWidth/2, ypos -PaneHeight/2,
0, 0, PaneWidth, PaneHeight);
XDefineCursor(qtdisplay, Win, ReadyCursor);
*/
Refresh = Resize = 1;
putImage();
}
kfax'TopLevel::mirrorPage() (./kdegraphics/kfax/kfax.cpp:1887)
void TopLevel::mirrorPage(){
if(!thispage || !Image || !faxqtwin || !display_is_setup)
return;
XImage *newmirror = NULL;
XDefineCursor(qtdisplay, Win, WorkCursor);
XFlush(qtdisplay);
newmirror = MirrorImage(Images[0]);
if(newmirror == NULL){ // out of memory
XDefineCursor(qtdisplay, Win, ReadyCursor);
return;
}
thispage->extra = Images[0] = newmirror;
thispage->orient ^= TURN_M;
int i;
for (i = 1; Images[i]; i++) {
FreeImage(Images[i]);
Images[i] = ZoomImage(Images[i-1]);
if (Images[i] == NULL) // out of memory
break;
}
Image = Images[min(oz,i-1)];
/* XPutImage(qtdisplay, Win, PaintGC, Image,
xpos - PaneWidth/2, ypos - PaneHeight/2,
0, 0, PaneWidth, PaneHeight);
XDefineCursor(qtdisplay, Win, ReadyCursor);*/
Refresh = Resize = 1;
putImage();
}
kfax'TopLevel::scrollHorz() (./kdegraphics/kfax/kfax.cpp:1928)
void TopLevel::scrollHorz(int){
if(!Image)
return;
// printf("hsb value: %d\n",hsb->value());
xpos= hsb->value() + qwindow_width/2;
Refresh = 1;
putImage();
}
kfax'TopLevel::scrollVert() (./kdegraphics/kfax/kfax.cpp:1942)
void TopLevel::scrollVert(int ){
if(!Image)
return;
// printf("vsb value: %d\n",vsb->value());
ypos= vsb->value() + qwindow_height/2;
Refresh = 1;
putImage();
}
kfax'TopLevel::helptiff() (./kdegraphics/kfax/kfax.cpp:1955)
void TopLevel::helptiff(){
if(!thispage){
KMessageBox::sorry(this, i18n("You need to open a fax page first."));
return;
}
if( viewpage ) // we are already displaying the help page
return;
if (helppage == NULL) {
if (!notetiff( locate("toolbar", "kfax.tif").ascii() )) {
return;
}
else {
helppage = lastpage;
lastpage = helppage->prev;
lastpage->next = helppage->prev = NULL;
}
}
viewpage = thispage;
thispage = helppage;
newPage();
resizeView();
putImage();
}
kfax'TopLevel::goToEnd() (./kdegraphics/kfax/kfax.cpp:1984)
void TopLevel::goToEnd(){
bool have_new_page = FALSE;
if(!thispage)
return;
while(thispage->next != NULL) {
have_new_page = TRUE;
thispage = thispage->next;
}
if(have_new_page == TRUE){
newPage();
resizeView();
putImage();
}
else
error();
}
kfax'TopLevel::goToStart() (./kdegraphics/kfax/kfax.cpp:2007)
void TopLevel::goToStart(){
bool have_new_page = FALSE;
if(!thispage)
return;
while(thispage->prev != NULL) {
have_new_page = TRUE;
thispage = thispage->prev;
}
if(have_new_page == TRUE){
newPage();
resizeView();
putImage();
}
else
error();
}
kfax'TopLevel::nextPage() (./kdegraphics/kfax/kfax.cpp:2031)
void TopLevel::nextPage(){
if(!thispage)
return;
if (thispage->next == NULL) {
error();
return;
}
thispage = thispage->next;
newPage();
resizeView();
putImage();
}
kfax'TopLevel::prevPage() (./kdegraphics/kfax/kfax.cpp:2049)
void TopLevel::prevPage(){
if(!thispage)
return;
if (thispage->prev == NULL){
error();
return;
}
thispage = thispage->prev;
newPage();
resizeView();
putImage();
}
kfax'TopLevel::newPage() (./kdegraphics/kfax/kfax.cpp:2069)
void TopLevel::newPage(){
if(!display_is_setup)
SetupDisplay();
XDefineCursor(qtdisplay, Win, WorkCursor);
XFlush(qtdisplay);
int i;
for (i = 1; Images[i]; i++) {
FreeImage(Images[i]);
Images[i] = NULL;
}
int k = -1;
if(!thispage) {
XDefineCursor(qtdisplay, Win, ReadyCursor);
return;
}
if (Pimage(thispage) == NULL){
while((k != 0) && (k != 3) && (k !=1))
k = GetImage(thispage);
}
if (k == 3 ){
XDefineCursor(qtdisplay, Win, ReadyCursor);
FreeFax();
/* KMessageBox::sorry(i18n("Bad Fax File k=3"));*/
return;
}
if (k == 0 ){
XDefineCursor(qtdisplay, Win, ReadyCursor);
FreeFax();
/* KMessageBox::sorry(i18n("Bad Fax File k=0"));*/
return;
}
Image = Images[0] = Pimage(thispage);
setfaxtitle(thispage->name);
for (i = 1; i <= oz; i++){
Images[i] = ZoomImage(Images[i-1]);
Image = Images[i];
if (Images[i] == NULL){ // out of memory
Image = Images[i-1];
break;
}
}
PaneWidth = Image->width;
PaneHeight = Image->height;
Refresh = 1;
XDefineCursor(qtdisplay, Win, ReadyCursor);
uiUpdate();
}
kfax'TopLevel::closeFax() (./kdegraphics/kfax/kfax.cpp:2141)
void TopLevel::closeFax()
{
FreeFax();
setCaption(i18n("KFax"));
// TODO replace this with unmapping the window.
if(display_is_setup)
XResizeWindow(qtdisplay,Win,1,1); // we want a clear gray background.
resizeView();
vsb->hide();
hsb->hide();
}
kfax'TopLevel::FreeFax() (./kdegraphics/kfax/kfax.cpp:2157)
void TopLevel::FreeFax(){
if(display_is_setup)
XClearWindow(qtdisplay, Win);
for (int i = 1; Images[i]; i++) {
FreeImage(Images[i]);
Images[i] = NULL;
}
pagenode *pn;
for (pn = firstpage; pn; pn = pn->next){
if(Pimage(pn)){
FreeImage(Pimage(pn));
}
}
Image = NULL;
for (pn = firstpage; pn; pn = pn->next){
if(pn->pathname){
free(pn->pathname);
}
}
if(firstpage){
for(pn = firstpage->next; pn; pn = pn->next){
if(pn->prev){
free(pn->prev);
}
}
}
if(lastpage)
free(lastpage);
// TODO what about the help page? Well it'll be freed when kfax exits
firstpage = lastpage = viewpage = helppage = thispage = auxpage = NULL;
uiUpdate();
}
kfax'TopLevel::error() (./kdegraphics/kfax/kfax.cpp:2204)
void TopLevel::error(){
QApplication::beep();
}
kfax'TopLevel::uiUpdate() (./kdegraphics/kfax/kfax.cpp:2210)
void TopLevel::uiUpdate(){
if(!thispage){
toolbar->setItemEnabled( ID_ZOOM_IN, FALSE );
toolbar->setItemEnabled( ID_ZOOM_OUT, FALSE );
toolbar->setItemEnabled( ID_PREV, FALSE );
toolbar->setItemEnabled( ID_START, FALSE );
toolbar->setItemEnabled( ID_NEXT, FALSE );
toolbar->setItemEnabled( ID_END, FALSE );
toolbar->setItemEnabled( ID_PRINT,FALSE);
statusbar->changeItem("", ID_INS_OVR);
statusbar->changeItem("", ID_GENERAL);
statusbar->changeItem("", ID_PAGE_NO);
statusbar->changeItem("",ID_FNAME);
statusbar->changeItem("",ID_TYPE);
return;
}
if( thispage->next != NULL){
toolbar->setItemEnabled( ID_NEXT, TRUE );
toolbar->setItemEnabled( ID_END, TRUE );
}
else{
toolbar->setItemEnabled( ID_NEXT, FALSE );
toolbar->setItemEnabled( ID_END, FALSE );
}
if( thispage->prev != NULL){
toolbar->setItemEnabled( ID_PREV, TRUE );
toolbar->setItemEnabled( ID_START, TRUE );
}
else{
toolbar->setItemEnabled( ID_PREV, FALSE );
toolbar->setItemEnabled( ID_START, FALSE );
}
if(thispage){
struct pagenode *pn ;
int pages = 0;
int currentpage = 0;
for(pn = firstpage; pn ; pn = pn->next){
pages ++;
if (thispage == pn)
currentpage = pages;
}
QString pagestr = i18n("P.%1 of %2").arg(currentpage).arg(pages);
statusbar->changeItem(pagestr, ID_PAGE_NO);
toolbar->setItemEnabled( ID_ZOOM_IN, TRUE );
toolbar->setItemEnabled( ID_ZOOM_OUT, TRUE );
toolbar->setItemEnabled( ID_PRINT,TRUE);
if(Image){
QString wh = i18n("W: %1 H: %2").arg(Image->width).arg(Image->height);
statusbar->changeItem(wh, ID_INS_OVR);
}
QString resolution = i18n("Res: %1").arg(thispage->vres?i18n("Fine"):i18n("Normal"));
statusbar->changeItem(resolution, ID_GENERAL);
statusbar->changeItem(thispage->name,ID_FNAME);
QString typestring;
if(thispage->type == FAX_TIFF){
typestring = i18n("Type: Tiff ");
}
else if ( thispage->type == FAX_RAW){
typestring = i18n("Type: Raw ");
}
if ( thispage->expander == g31expand )
typestring += "G3";
if ( thispage->expander == g32expand )
typestring += "G3 2D";
if ( thispage->expander == g4expand )
typestring += "G4";
statusbar->changeItem(typestring,ID_TYPE);
// QString memstr = i18n("Mem: %1").arg(Memused);
// statusbar->changeItem(memstr, ID_LINE_COLUMN);
}
}
kfax'TopLevel::putImage() (./kdegraphics/kfax/kfax.cpp:2321)
void TopLevel::putImage(){
// TODO do I really need to set Refresh or Resize to 1 , is there
// really still someonce calling this with out haveing set Refresh or Resize to 1?
if(!Image)
return;
if(!display_is_setup)
return;
if(!thispage)
return;
if ( qwindow_width > Image->width){
xpos= Image->width/2;
}
else{
if(xpos< qwindow_width/2){
xpos = qwindow_width/2;
}
else{
if(xpos> Image->width - qwindow_width/2){
xpos= Image->width - qwindow_width/2;
}
}
}
if ( qwindow_height > Image->height){
ypos= Image->height/2;
}
else{
if(ypos< qwindow_height/2){
ypos = qwindow_height/2;
}
else{
if(ypos> Image->height - qwindow_height/2){
ypos= Image->height - qwindow_height/2;
}
}
}
if (xpos!= ox || ypos!= oy || Refresh || Resize){
/* In the following we use qwindow_height -1 etc since the main view
has a sunken frame and I need to offset by 1 pixel to the right and
one pixel down so that I don't paint my fax into the border of the frame*/
XResizeWindow(qtdisplay,Win,min(qwindow_width -1,Image->width ),
min(qwindow_height -1,Image->height ));
XPutImage(qtdisplay, Win, PaintGC, Image,
max(xpos - qwindow_width/2,0), max(ypos - qwindow_height/2,0),
0, 0, min(qwindow_width -1,Image->width) ,
min(qwindow_height -1,Image->height) );
vsb->setValue(max(ypos - qwindow_height/2,0));
hsb->setValue(max(xpos - qwindow_width/2,0));
XFlush(qtdisplay);
}
ox = xpos;
oy = ypos;
Resize = Refresh = 0;
}
kfax'TopLevel::faxoptions() (./kdegraphics/kfax/kfax.cpp:2395)
void TopLevel::faxoptions(){
OptionsDialog * opd = new OptionsDialog(NULL,"options");
opd->setWidgets(&fop);
if(opd->exec()){
struct optionsinfo *newops;
newops = opd->getInfo();
fop.resauto = newops->resauto;
fop.geomauto = newops->geomauto;
fop.width = newops->width;
fop.height = newops->height;
fop.fine = newops->fine;
fop.landscape= newops->landscape;
fop.flip = newops->flip;
fop.invert = newops->invert;
fop.lsbfirst = newops->lsbfirst;
fop.raw = newops->raw;
setFaxDefaults();
}
delete opd;
}