11 Commits

Author SHA1 Message Date
ruglory c67c6bc864 Tagging the 0.12 release
git-svn-id: https://svn.code.sf.net/p/qlscribe/svn/tags/release-0.12@153 cac9541e-1b8d-4bfa-827e-589bba606050
2009-04-24 00:44:48 +00:00
ruglory d32d6ab1e6 Prepared for 0.12
git-svn-id: https://svn.code.sf.net/p/qlscribe/svn/trunk@152 cac9541e-1b8d-4bfa-827e-589bba606050
2009-04-24 00:40:45 +00:00
ruglory 06b2f841dc Bugfix for not properly drawing partically covered window background
git-svn-id: https://svn.code.sf.net/p/qlscribe/svn/trunk@151 cac9541e-1b8d-4bfa-827e-589bba606050
2009-04-24 00:32:52 +00:00
ruglory b55b148cca Bugfix for error in open qlx
git-svn-id: https://svn.code.sf.net/p/qlscribe/svn/trunk@150 cac9541e-1b8d-4bfa-827e-589bba606050
2009-04-24 00:32:10 +00:00
ruglory 086181cd8f Bugfix for labels opened from commandline not updating menu
git-svn-id: https://svn.code.sf.net/p/qlscribe/svn/trunk@149 cac9541e-1b8d-4bfa-827e-589bba606050
2009-04-24 00:31:23 +00:00
ruglory 51402c10d6 Added ability to open image as a document
git-svn-id: https://svn.code.sf.net/p/qlscribe/svn/trunk@148 cac9541e-1b8d-4bfa-827e-589bba606050
2009-04-23 20:52:17 +00:00
ruglory c298a43b2f Round text changes radius and angle when is dragged by mouse instead of moving the center
git-svn-id: https://svn.code.sf.net/p/qlscribe/svn/trunk@147 cac9541e-1b8d-4bfa-827e-589bba606050
2009-04-22 02:48:03 +00:00
ruglory 577280f001 Main window stores/restores position and size from/to config
git-svn-id: https://svn.code.sf.net/p/qlscribe/svn/trunk@146 cac9541e-1b8d-4bfa-827e-589bba606050
2009-04-20 20:41:25 +00:00
ruglory be3a94cf74 Typo fixed
git-svn-id: https://svn.code.sf.net/p/qlscribe/svn/trunk@145 cac9541e-1b8d-4bfa-827e-589bba606050
2009-04-15 05:58:13 +00:00
ruglory 9537ece5fd Prepared for 0.12 prerelease
git-svn-id: https://svn.code.sf.net/p/qlscribe/svn/trunk@144 cac9541e-1b8d-4bfa-827e-589bba606050
2009-04-15 05:55:54 +00:00
ruglory 704cfe0831 Fixed bug for round text not updateting last used font
git-svn-id: https://svn.code.sf.net/p/qlscribe/svn/trunk@143 cac9541e-1b8d-4bfa-827e-589bba606050
2009-04-15 05:55:10 +00:00
12 changed files with 142 additions and 41 deletions
+8
View File
@@ -1,5 +1,13 @@
NEWS - list of user-visible changes between releases of qlscribe
New in 0.12:
Fixed bug for round text not updating last used font
Main window stores/restores position and size from/to config
Round text changes radius and angle when dragged by mouse instead of moving the center
Added ability to open image as a document
Bugfix for labels opened from commandline not updating menu
Bugfix for not properly drawing partially covered window background
New in 0.11:
Application settings added with default font to use and option to eject media
Added functionality to eject media after print
+1 -1
View File
@@ -18,7 +18,7 @@
#
# $Id$
FIND_PATH( LSCRIBE_INCLUDE_DIR lightscribe.h /usr/local/include /usr/include/lightsribe $ENV{LIGHTSCRIBEDIR}/include )
FIND_PATH( LSCRIBE_INCLUDE_DIR lightscribe.h /usr/local/include /usr/include/lightscribe $ENV{LIGHTSCRIBEDIR}/include )
FIND_LIBRARY( LSCRIBE_LIBRARY lightscribe /usr/local/lib /opt/lightscribe/lib /opt/lightscribe/lib32 $ENV{LIGHTSCRIBEDIR}/lib )
+2 -1
View File
@@ -1,4 +1,5 @@
qlscribe (0.11-0ubuntu1) unstable; urgency=low
qlscribe (0.12-0ubuntu1) unstable; urgency=low
* Release 0.12 imported
* Release 0.11 imported
* Release 0.10 imported
* Release 0.9 imported
+27 -4
View File
@@ -40,6 +40,8 @@
#include <QCloseEvent>
#include <QApplication>
#include <QClipboard>
#include <QSettings>
#include <QImageReader>
MainWindow::MainWindow( bool enablePrint )
@@ -173,6 +175,13 @@ MainWindow::MainWindow( bool enablePrint )
this, SLOT(updateMenu()) );
updateMenu();
QSettings settings;
settings.beginGroup( "MainWindow");
resize( settings.value( "size", QSize(800, 400) ).toSize() );
move( settings.value( "pos", QPoint(200, 200) ).toPoint() );
settings.endGroup();
}
MainWindow::~MainWindow()
@@ -190,6 +199,8 @@ void MainWindow::open( const QStringList &files )
delete newView;
continue;
}
connect( scene, SIGNAL(selectionChanged()), this, SLOT(updateMenu()) );
connect( scene, SIGNAL(changed()), this, SLOT(updateMenu()) );
QMdiSubWindow *subWindow = m_mdiArea->addSubWindow( newView );
subWindow->show();
@@ -255,6 +266,13 @@ bool MainWindow::saveScene( QCDScene *scene )
return;
}
}
QSettings settings;
settings.beginGroup( "MainWindow" );
settings.setValue( "size", size());
settings.setValue( "pos", pos());
settings.endGroup();
event->accept();
}
@@ -305,18 +323,23 @@ void MainWindow::onMenuInsert( int id )
return;
}
item->setFlag( QGraphicsItem::ItemIsMovable, true );
item->setFlag( QGraphicsItem::ItemIsSelectable, true );
cdscene->addItem( item );
cdscene->setChanged();
}
void MainWindow::onMenuOpen()
{
QString filter( tr("qlscribe document (*.qlx)\nImages ( ") );
QList<QByteArray> list = QImageReader::supportedImageFormats();
foreach( QByteArray arr, list ) {
filter += QString( "*." ) + arr.data() + " ";
}
filter += tr( ")\nAll Files (*)" );
QString fileName = QFileDialog::getOpenFileName( this,
tr( "Open:" ),
QString(),
tr("qlscribe document (*.qlx)") );
filter );
if( fileName.isNull() )
return;
@@ -437,7 +460,7 @@ void MainWindow::onMenuAbout()
QMessageBox::about( this,
tr( "About" ),
tr( "<h3>qlscribe - Qt lisghtScribe</h3>"
"<p>release 0.11 $Revision$</p>"
"<p>release 0.12 $Revision$</p>"
"<p>visit project at home page "
"<a href=\"http://qlscribe.sourceforge.net/\">qlscribe.sourceforge.net</a></p>" ) );
}
+48 -24
View File
@@ -20,6 +20,7 @@
#include "qcdscene.h"
#include "qshapefactory.h"
#include "qlightpixmapitem.h"
#include <QMenu>
#include <QMessageBox>
@@ -34,6 +35,7 @@
#include <QApplication>
#include <QClipboard>
#include <QMimeData>
#include <QRegExp>
QCDScene::QCDScene( QObject * parent )
: QGraphicsScene( parent ),
@@ -81,31 +83,53 @@ void QCDScene::start( LabelMode mode )
bool QCDScene::load( const QString &fileName, QString *errMessage )
{
QFile file( fileName );
if( !file.open( QIODevice::ReadOnly | QIODevice::Text ) ) {
if( errMessage )
*errMessage = "cannot open file for reading";
else
QMessageBox::critical( 0, tr( "Error" ), tr( "Cannot open file for reading\n" ) + fileName );
return false;
}
QXmlStreamReader reader( &file );
try {
read( reader );
}
catch( const QString &err ) {
if( errMessage )
*errMessage = err;
else
QMessageBox::critical( 0, tr( "Error" ), tr( "Cannot read file " ) + fileName + "\n" + err );
return false;
}
m_fileName = fileName;
m_saved = true;
setName();
if( QRegExp( ".*.\\.qlx$", Qt::CaseInsensitive ).exactMatch( fileName ) ) {
QFile file( fileName );
if( !file.open( QIODevice::ReadOnly | QIODevice::Text ) ) {
if( errMessage )
*errMessage = "cannot open file for reading";
else
QMessageBox::critical( 0, tr( "Error" ), tr( "Cannot open file for reading\n" ) + fileName );
return false;
}
QXmlStreamReader reader( &file );
try {
read( reader );
}
catch( const QString &err ) {
if( errMessage )
*errMessage = err;
else
QMessageBox::critical( 0, tr( "Error" ), tr( "Cannot read file " ) + fileName + "\n" + err );
return false;
}
m_fileName = fileName;
m_saved = true;
setName();
pushUndo();
return true;
pushUndo();
return true;
}
QShapeFactory &sfactory = QShapeFactory::instance();
QLightPixmapItem *item =
static_cast<QLightPixmapItem *>(sfactory.create( QShapeControllerPixmap::Type ) );
addItem( item );
if( item->loadImage( fileName ) ) {
QSize size = item->pixmap().size();
item->setOffset( -QPointF( size.height(), size.width() ) / 2.0 );
item->setTransform( QTransform().scale( size.width() ? 120.0 / size.width() : 1.0,
size.height() ? 120.0 / size.height() : 1.0 ) );
setName();
pushUndo();
return true;
} else {
if( errMessage )
*errMessage = "cannot load image";
else
QMessageBox::critical( 0, tr( "Error" ), tr( "Cannot load image " ) +
fileName + "\n" );
}
return false;
}
+3 -2
View File
@@ -147,18 +147,19 @@ void QCDView::drawForeground ( QPainter * painter, const QRectF & rect )
m_labelMode = cdscene->labelMode();
*m_mask = QPixmap( frameSize() );
QRectF rectf( QPointF( -frameSize().width(), -frameSize().height() ), frameSize() * 2 );
{
QPainter paint( m_mask );
paint.setWorldTransform( painter->transform() );
drawCD( &paint, rect, false );
drawCD( &paint, rectf, false );
}
{
QPixmap alpha( frameSize() );
QPainter paint( &alpha );
paint.setWorldTransform( painter->transform() );
drawCD( &paint, rect, true );
drawCD( &paint, rectf, true );
m_mask->setAlphaChannel( alpha );
}
+2
View File
@@ -22,6 +22,7 @@
#include "ui_qdialogroundtext.h"
#include "qlightroundtextitem.h"
#include "qcdscene.h"
#include "qdialogsettings.h"
#include <QFontDialog>
#include <QColorDialog>
@@ -132,6 +133,7 @@ void QDialogRoundText::onFont()
//font.setPointSizeF( font.pointSizeF() / 2.0 );
if( ok ) {
m_item->setFont( font );
QDialogSettings::setLastUsedFont( font );
fontChanged();
}
}
+11
View File
@@ -29,6 +29,17 @@ QLightPixmapItem::QLightPixmapItem()
{
}
bool QLightPixmapItem::loadImage( const QString &name )
{
QPixmap pixmap( name );
if( pixmap.isNull() )
return false;
m_imageName = name;
setPixmap( pixmap );
return true;
}
QVariant QLightPixmapItem::itemChange( GraphicsItemChange change, const QVariant & value )
{
if( scene() && change == ItemPositionHasChanged )
+2 -2
View File
@@ -25,11 +25,11 @@
#include "qshapefactory.h"
class QLightPixmapItem : public QGraphicsPixmapItem
{
class QLightPixmapItem : public QGraphicsPixmapItem {
public:
QLightPixmapItem();
bool loadImage( const QString &name );
void imageName( const QString &name ) { m_imageName = name; }
const QString &imageName() const { return m_imageName; }
+30 -5
View File
@@ -29,6 +29,7 @@
#include <QMessageBox>
#include <QXmlStreamWriter>
#include <QTextLayout>
#include <QGraphicsSceneMouseEvent>
#include <math.h>
@@ -231,14 +232,38 @@ void QLightRoundTextItem::paint( QPainter *painter, const QStyleOptionGraphicsIt
}
}
QVariant QLightRoundTextItem::itemChange( GraphicsItemChange change, const QVariant & value )
inline
double distance( const QPointF &p1, const QPointF &p2 )
{
if( scene() && change == ItemPositionHasChanged )
static_cast<QCDScene *>( scene() )->itemMoved();
return value;
QPointF d = p1 - p2;
return sqrt( d.x() * d.x() + d.y() * d.y() );
}
inline
double angle( const QPointF &p1, const QPointF &p2 )
{
QPointF d = p1 - p2;
return atan2( d.y(), d.x() ) * 180.0 / 3.14159;
}
void QLightRoundTextItem::mouseMoveEvent( QGraphicsSceneMouseEvent *event )
{
if( event->buttons() & Qt::LeftButton ) {
double dradi = distance( scenePos(), event->lastScenePos() ) - distance( scenePos(), event->scenePos() );
double dangle = ::angle( scenePos(), event->lastScenePos() ) - ::angle( scenePos(), event->scenePos() );
prepareGeometryChange();
m_radius -= dradi;
m_angle -= dangle;
if( m_angle > 360.0 ) m_angle -= 360.0;
if( m_angle < 0.0 ) m_angle += 360.0;
static_cast<QCDScene *>( scene() )->itemMoved();
} else
event->ignore();
}
RegisterController< QShapeControllerRoundText > regControllerRoundText;
QString QShapeControllerRoundText::name() const
+1 -1
View File
@@ -55,7 +55,7 @@ public:
virtual int type() const { return Type; }
protected:
virtual QVariant itemChange ( GraphicsItemChange change, const QVariant & value );
virtual void mouseMoveEvent( QGraphicsSceneMouseEvent *event );
private:
QFont m_font;
+7 -1
View File
@@ -118,7 +118,13 @@ QString QShapeFactory::name( int type ) const
QGraphicsItem *QShapeFactory::create( int type ) const
{
QShapeController *ctrl = getController( type );
return ctrl ? ctrl->create() : 0;
if( !ctrl ) return 0;
QGraphicsItem *item = ctrl->create();
if( item ) {
item->setFlag( QGraphicsItem::ItemIsMovable, true );
item->setFlag( QGraphicsItem::ItemIsSelectable, true );
}
return item;
}
bool QShapeFactory::edit( QGraphicsItem *item, QWidget *parent ) const