summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--core/applets/screenshotapplet/screenshot.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/core/applets/screenshotapplet/screenshot.cpp b/core/applets/screenshotapplet/screenshot.cpp
index 98f2c9e..266d6d8 100644
--- a/core/applets/screenshotapplet/screenshot.cpp
+++ b/core/applets/screenshotapplet/screenshot.cpp
@@ -99,128 +99,130 @@ ScreenshotControl::ScreenshotControl( QWidget *parent, const char *name )
grabItButton->setText(tr("Snapshot"));
vbox->setMargin( 6 );
vbox->setSpacing( 3 );
vbox->addWidget( delaySpin);
vbox->setMargin( 6 );
vbox->setSpacing( 3 );
QSpacerItem* spacer = new QSpacerItem( 20, 20, QSizePolicy::Minimum, QSizePolicy::Expanding );
vbox->addItem( spacer );
saveNamedCheck= new QCheckBox ( "name it", this);
saveNamedCheck-> setFocusPolicy ( QWidget::NoFocus );
vbox->addWidget( saveNamedCheck);
scapButton = new QPushButton( this, "ScapButton" );
scapButton ->setFocusPolicy( QWidget::TabFocus );
scapButton ->setText(tr("scap"));
if( !QFile("/usr/bin/nc").exists())
scapButton->hide();
hbox->addWidget( grabItButton);
QSpacerItem* spacer2 = new QSpacerItem( 4, 4, QSizePolicy::Minimum, QSizePolicy::Expanding );
hbox->addItem( spacer2 );
hbox->addWidget( scapButton);
vbox->addItem(hbox);
setFixedHeight( 100 );
setFixedWidth( sizeHint().width() );
setFocusPolicy(QWidget::NoFocus);
grabTimer= new QTimer(this,"grab timer");
connect( grabTimer, SIGNAL( timeout() ), this, SLOT( grabTimerDone() ) );
delaySpin->setValue(1);
connect( grabItButton, SIGNAL(released()), SLOT(slotGrab()) );
connect( scapButton, SIGNAL(released()), SLOT(slotScap()) );
connect(saveNamedCheck, SIGNAL(toggled( bool)), this, SLOT( nameScreenshot(bool)) );
}
void ScreenshotControl::slotGrab() {
// qDebug("SlotGrab");
buttonPushed=1;
hide();
setFileName=FALSE;
if( saveNamedCheck->isChecked()) {
setFileName=TRUE;
// qDebug("checked");
InputDialog *fileDlg;
fileDlg = new InputDialog( 0 ,tr("Name of screenshot "),TRUE, 0);
fileDlg->exec();
fileDlg->raise();
QString fileName,list;
if( fileDlg->result() == 1 ) {
fileName = fileDlg->LineEdit1->text();
if(fileName.find("/",0,TRUE)==-1)
FileNamePath = QDir::homeDirPath()+"/Documents/image/png/"+fileName;
+ else
+ FileNamePath = fileName;
// qDebug(fileName);
}
delete fileDlg;
}
if ( delaySpin->value() ) {
grabTimer->start( delaySpin->value() * 1000, true );
} else {
show();
}
}
void ScreenshotControl::slotScap() {
buttonPushed=2;
hide();
if ( delaySpin->value() ) {
grabTimer->start( delaySpin->value() * 1000, true );
} else {
show();
}
}
void ScreenshotControl::grabTimerDone() {
performGrab();
}
void ScreenshotControl::savePixmap() {
DocLnk lnk;
QString fileName;
if( setFileName) {
fileName=FileNamePath;
//not sure why this is needed here, but it forgets fileName
// if this is below the braces
if(fileName.right(3)!="png")
fileName=fileName+".png";
lnk.setFile(fileName); //sets File property
qDebug("saving file "+fileName);
snapshot.save( fileName,"PNG");
QFileInfo fi( fileName);
lnk.setName( fi.fileName()); //sets file name
if(!lnk.writeLink())
qDebug("Writing doclink did not work");
} else {
fileName = "sc_"+TimeString::dateString( QDateTime::currentDateTime(),false,true);
fileName.replace(QRegExp("'"),""); fileName.replace(QRegExp(" "),"_"); fileName.replace(QRegExp(":"),"."); fileName.replace(QRegExp(","),"");
QString dirName = QDir::homeDirPath()+"/Documents/image/png/";
if( !QDir( dirName).exists() ) {
qDebug("making dir "+dirName);
QString msg = "mkdir -p "+dirName;
system(msg.latin1());
}
fileName=dirName+fileName;
if(fileName.right(3)!="png")
fileName=fileName+".png";
lnk.setFile(fileName); //sets File property
qDebug("saving file "+fileName);
snapshot.save( fileName,"PNG");
QFileInfo fi( fileName);