[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdegraphics/ksnapshot
From: Pau Garcia i Quiles <pgquiles () elpauer ! org>
Date: 2010-10-25 0:42:20
Message-ID: 20101025004220.0D42FAC897 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1189400 by pgquiles:
CCMAIL:rich@kde.org
M +1 -0 CMakeLists.txt
A freeregiongrabber.cpp [License: LGPL (v2)]
A freeregiongrabber.h [License: LGPL (v2)]
M +27 -0 ksnapshot.cpp
M +1 -0 ksnapshot.h
M +1 -0 ksnapshot_options.h
M +1 -0 ksnapshotobject.cpp
M +3 -1 ksnapshotobject.h
M +7 -2 ksnapshotwidget.ui
M +5 -1 main.cpp
--- trunk/KDE/kdegraphics/ksnapshot/CMakeLists.txt #1189399:1189400
@@ -13,6 +13,7 @@
set(ksnapshot_file_SRCS
expblur.cpp
regiongrabber.cpp
+ freeregiongrabber.cpp
snapshottimer.cpp
windowgrabber.cpp
ksnapshotobject.cpp
--- trunk/KDE/kdegraphics/ksnapshot/ksnapshot.cpp #1189399:1189400
@@ -60,6 +60,7 @@
#include <qdebug.h>
#include "regiongrabber.h"
+#include "freeregiongrabber.h"
#include "windowgrabber.h"
#include "ksnapshotpreview.h"
#include "ui_ksnapshotwidget.h"
@@ -201,6 +202,11 @@
grabRegion();
break;
}
+ case KSnapshotObject::FreeRegion:
+ {
+ grabFreeRegion();
+ break;
+ }
default:
break;
}
@@ -345,6 +351,9 @@
if (mode() == Region) {
grabRegion();
}
+ else if ( mode() == FreeRegion ) {
+ grabFreeRegion();
+ }
else {
grabber->show();
grabber->grabMouse(Qt::CrossCursor);
@@ -473,7 +482,14 @@
updateCaption();
}
+ if( mode() == KSnapshotObject::Region )
+ {
rgnGrab->deleteLater();
+ }
+ else if( mode() == KSnapshotObject::FreeRegion ) {
+ freeRgnGrab->deleteLater();
+ }
+
QApplication::restoreOverrideCursor();
show();
}
@@ -541,11 +557,22 @@
}
+void KSnapshot::grabFreeRegion()
+{
+ freeRgnGrab = new FreeRegionGrabber();
+ connect( freeRgnGrab, SIGNAL( freeRegionGrabbed( const QPixmap & ) ),
+ SLOT( slotRegionGrabbed( const QPixmap & ) ) );
+
+}
+
void KSnapshot::grabTimerDone()
{
if ( mode() == Region ) {
grabRegion();
}
+ else if ( mode() == FreeRegion ) {
+ grabFreeRegion();
+ }
else {
performGrab();
}
--- trunk/KDE/kdegraphics/ksnapshot/ksnapshot.h #1189399:1189400
@@ -127,6 +127,7 @@
void performGrab();
void grabPointerImage(int offsetx, int offsety);
void grabRegion();
+ void grabFreeRegion();
SnapshotTimer grabTimer;
QTimer updateTimer;
--- trunk/KDE/kdegraphics/ksnapshot/ksnapshot_options.h #1189399:1189400
@@ -30,6 +30,7 @@
options.add("current", ki18n("Captures the window under the mouse on startup \
(instead of the desktop)")); options.add("fullscreen", ki18n("Captures the \
desktop")); options.add("region", ki18n("Captures a region"));
+ options.add("freeregion", ki18n("Captures a free region (not rectangular)"));
options.add("child", ki18n("Captures a part of windows"));
return options;
}
--- trunk/KDE/kdegraphics/ksnapshot/ksnapshotobject.cpp #1189399:1189400
@@ -6,6 +6,7 @@
* Copyright (C) 2004 Bernd Brandstetter <bbrand@freenet.de>
* Copyright (C) 2006-2008 Urs Wolfer <uwolfer @ kde.org>
* Copyright (C) 2007 Montel Laurent <montel@kde.org>
+ * Copyright (C) 2010 Pau Garcia i Quiles <pgquiles@elpauer.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
--- trunk/KDE/kdegraphics/ksnapshot/ksnapshotobject.h #1189399:1189400
@@ -30,12 +30,13 @@
#include <QPixmap>
class QWidget;
class RegionGrabber;
+class FreeRegionGrabber;
class QString;
class KSnapshotObject
{
public:
- enum CaptureMode { FullScreen=0, WindowUnderCursor=1, Region=2, ChildWindow=3, \
CurrentScreen=4 }; + enum CaptureMode { FullScreen=0, WindowUnderCursor=1, \
Region=2, FreeRegion=3, ChildWindow=4, CurrentScreen=5 }; KSnapshotObject();
virtual ~KSnapshotObject();
@@ -52,6 +53,7 @@
KUrl filename;
RegionGrabber *rgnGrab;
+ FreeRegionGrabber *freeRgnGrab;
QWidget* grabber;
QPixmap snapshot;
QString title;
--- trunk/KDE/kdegraphics/ksnapshot/ksnapshotwidget.ui #1189399:1189400
@@ -6,7 +6,7 @@
<rect>
<x>0</x>
<y>0</y>
- <width>428</width>
+ <width>436</width>
<height>374</height>
</rect>
</property>
@@ -131,6 +131,11 @@
</item>
<item>
<property name="text">
+ <string>Free Region</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
<string>Section of Window</string>
</property>
</item>
@@ -179,7 +184,7 @@
<string>No delay</string>
</property>
<property name="suffix">
- <string> </string>
+ <string/>
</property>
</widget>
</item>
--- trunk/KDE/kdegraphics/ksnapshot/main.cpp #1189399:1189400
@@ -29,7 +29,7 @@
#include "ksnapshot.h"
#include "ksnapshot_options.h"
-#define KSNAPVERSION "0.8.1"
+#define KSNAPVERSION "0.8.2"
static const char description[] = I18N_NOOP("KDE Screenshot Utility");
@@ -45,6 +45,8 @@
"nhasan@kde.org" );
aboutData.addCredit( ki18n("Marcus Hufgard"), ki18n("\"Open With\" function"),
"Marcus.Hufgard@hufgard.de" );
+ aboutData.addCredit( ki18n("Pau Garcia i Quiles"), ki18n("Free region grabbing"),
+ "pgquiles@elpauer.org" );
KCmdLineArgs::init( argc, argv, &aboutData );
KCmdLineArgs::addCmdLineOptions( ksnapshot_options() ); // Add our own options.
@@ -68,6 +70,8 @@
}
else if(args->isSet( "region" ))
toplevel = new KSnapshot( 0, KSnapshotObject::Region );
+ else if(args->isSet( "freeregion" ))
+ toplevel = new KSnapshot( 0, KSnapshotObject::FreeRegion );
else if(args->isSet( "child" ))
toplevel = new KSnapshot( 0, KSnapshotObject::ChildWindow );
else
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic