10 Commits

Author SHA1 Message Date
ruglory d9a8bb51e5 Tagging the 0.5 release
git-svn-id: https://svn.code.sf.net/p/qlscribe/svn/tags/release-0.5@48 cac9541e-1b8d-4bfa-827e-589bba606050
2009-02-01 02:19:41 +00:00
ruglory 14fb9dfd2b git-svn-id: https://svn.code.sf.net/p/qlscribe/svn/trunk@47 cac9541e-1b8d-4bfa-827e-589bba606050 2009-02-01 02:19:03 +00:00
ruglory 890990fb64 News updated for 0.5 release
git-svn-id: https://svn.code.sf.net/p/qlscribe/svn/trunk@46 cac9541e-1b8d-4bfa-827e-589bba606050
2009-02-01 02:18:39 +00:00
ruglory 759cf0f28a Fixed bug wit missing button "OK" on pixmap edit dialog
git-svn-id: https://svn.code.sf.net/p/qlscribe/svn/trunk@45 cac9541e-1b8d-4bfa-827e-589bba606050
2009-02-01 02:13:33 +00:00
ruglory 178c6ad757 Text scaled to 1/2
git-svn-id: https://svn.code.sf.net/p/qlscribe/svn/trunk@44 cac9541e-1b8d-4bfa-827e-589bba606050
2009-02-01 02:08:05 +00:00
ruglory e196cb6bf5 Fixed bug with not setting color on round text
Text scaled to 1/2


git-svn-id: https://svn.code.sf.net/p/qlscribe/svn/trunk@43 cac9541e-1b8d-4bfa-827e-589bba606050
2009-02-01 02:07:35 +00:00
ruglory 4ed5ad84db Maximum image size increased to 150
git-svn-id: https://svn.code.sf.net/p/qlscribe/svn/trunk@42 cac9541e-1b8d-4bfa-827e-589bba606050
2009-02-01 02:05:07 +00:00
ruglory a828af2348 CD inner size updated
git-svn-id: https://svn.code.sf.net/p/qlscribe/svn/trunk@41 cac9541e-1b8d-4bfa-827e-589bba606050
2009-02-01 02:04:10 +00:00
ruglory 9c8e9bde5f Bugfix for crash on writing
git-svn-id: https://svn.code.sf.net/p/qlscribe/svn/trunk@40 cac9541e-1b8d-4bfa-827e-589bba606050
2009-01-31 20:02:59 +00:00
ruglory 6bba618cad About is prepared for release 0.5
git-svn-id: https://svn.code.sf.net/p/qlscribe/svn/trunk@39 cac9541e-1b8d-4bfa-827e-589bba606050
2009-01-31 05:06:00 +00:00
11 changed files with 119 additions and 35 deletions
+8
View File
@@ -1,5 +1,13 @@
NEWS - list of user-visible changes between releases of qlscribe
New in 0.5:
Bugfix for crash on writing
CD inner size increased to 25mm on QCDView
Maximum image size increased to 150
Fixed bug with not setting color on round text
Text scaled to 1/2
Fixed bug with missing button "OK" on pixmap edit dialog
New in 0.4:
Scene detects when item is moved by mouse and changes status to unsaved
On installation sticky bit is set, qlscribe becomes root when burns label
+2 -1
View File
@@ -37,6 +37,7 @@
#include <QLabel>
#include <QCloseEvent>
MainWindow::MainWindow( bool enablePrint )
: QMainWindow( 0 ),
m_mdiArea( new QMdiArea( this ) ),
@@ -299,7 +300,7 @@ void MainWindow::onMenuAbout()
QMessageBox::about( this,
tr( "About" ),
tr( "<h3>qlscribe - Qt lisghtScribe</h3>"
"<p>release 0.4 $Revision$</p>"
"<p>release 0.5 $Revision$</p>"
"<p>visit project at home page "
"<a href=\"http://qlscribe.sourceforge.net/\">qlscribe.sourceforge.net</a></p>" ) );
}
+1 -1
View File
@@ -96,7 +96,7 @@ void QCDView::drawCD( QPainter *painter, const QRectF & rect, bool alpha )
drawCircle( painter, 59.0 );
painter->setBrush( alpha ? Qt::lightGray : Qt::darkGray );
drawCircle( painter, 21.7 );
drawCircle( painter, 25.0 );
painter->setBrush( alpha ? Qt::white : Qt::gray );
drawCircle( painter, 10.7 );
+1
View File
@@ -79,6 +79,7 @@ bool QDialogPixmap::exec( QGraphicsItem *graphicsItem )
m_ui->spinWidth->setValue( scale.x() );
m_ui->spinHeight->setValue( scale.y() );
m_ui->lockedRatio->setChecked( scale.x() == scale.y() ? Qt::Checked : Qt::Unchecked );
m_ui->buttonBox->setStandardButtons( m_ui->buttonBox->standardButtons() | QDialogButtonBox::Ok );
}
connect( m_ui->spinX, SIGNAL(valueChanged(double)),
+2 -2
View File
@@ -94,7 +94,7 @@
<double>1.000000000000000</double>
</property>
<property name="maximum" >
<double>70.000000000000000</double>
<double>200.000000000000000</double>
</property>
</widget>
</item>
@@ -111,7 +111,7 @@
<double>1.000000000000000</double>
</property>
<property name="maximum" >
<double>70.000000000000000</double>
<double>200.000000000000000</double>
</property>
</widget>
</item>
+1
View File
@@ -129,6 +129,7 @@ void QDialogRoundText::onFont()
{
bool ok = true;
QFont font = QFontDialog::getFont( &ok, m_item->font(), this );
//font.setPointSizeF( font.pointSizeF() / 2.0 );
if( ok ) {
m_item->setFont( font );
fontChanged();
+3
View File
@@ -206,6 +206,9 @@
</item>
<item row="0" column="1" >
<widget class="QFontComboBox" name="fontName" >
<property name="enabled" >
<bool>false</bool>
</property>
<property name="editable" >
<bool>false</bool>
</property>
+2 -1
View File
@@ -16,7 +16,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
$Id:$ */
$Id$ */
#include "qdialogtext.h"
#include "ui_qdialogtext.h"
@@ -66,6 +66,7 @@ bool QDialogText::exec( QGraphicsItem *graphicsItem )
m_item->setText( item->text() );
m_item->setFont( item->font() );
m_item->setBrush( item->brush() );
m_item->setTransform( item->transform() );
scene.addItem( m_item );
+18 -4
View File
@@ -27,6 +27,7 @@
#include <QStyleOptionGraphicsItem>
#include <QMessageBox>
#include <QXmlStreamWriter>
#include <QTextLayout>
#include <math.h>
@@ -37,6 +38,7 @@ QLightRoundTextItem::QLightRoundTextItem( QGraphicsItem *parent )
m_alignment( Qt::AlignLeft ),
m_outside( true )
{
setBrush( Qt::black );
}
const QFont & QLightRoundTextItem::font() const
@@ -118,7 +120,9 @@ QRectF QLightRoundTextItem::boundingRect() const
QPainterPath QLightRoundTextItem::shape() const
{
QFontMetrics mcs( m_font );
QFont font( m_font );
font.setPointSizeF( m_font.pointSizeF() / 2 );
QFontMetrics mcs( font );
double arcAngle = 0.0;
const double pad = 1;
@@ -172,11 +176,13 @@ void QLightRoundTextItem::paint( QPainter *painter, const QStyleOptionGraphicsIt
if( !painter || !m_radius ) return;
painter->save();
painter->setFont( m_font );
QFont font( m_font );
font.setPointSizeF( m_font.pointSizeF() / 2 );
painter->setFont( font );
//painter->drawEllipse( - m_radius, - m_radius, m_radius * 2, m_radius * 2 );
QFontMetrics mcs( m_font );
QFontMetrics mcs( font );
const double radi = m_radius - ( m_outside ? 0 : mcs.xHeight() );
const double diam = 2 * radi;
@@ -193,8 +199,14 @@ void QLightRoundTextItem::paint( QPainter *painter, const QStyleOptionGraphicsIt
QTransform trans;
trans.rotateRadians( angle );
painter->setRenderHint( QPainter::TextAntialiasing, true );
painter->setWorldTransform( trans, true );
QPen p;
p.setBrush( brush() );
painter->setPen( p );
painter->setBrush( Qt::NoBrush );
int prevWidth = 0;
for( int i = 0; i < m_text.size(); ++i ) {
QChar ch = m_text[ i ];
@@ -203,6 +215,7 @@ void QLightRoundTextItem::paint( QPainter *painter, const QStyleOptionGraphicsIt
trans.reset();
trans.rotateRadians( m_outside ? d : -d );
painter->setWorldTransform( trans, true );
prevWidth = mcs.width( ch );
painter->drawText( int( -prevWidth / 2.0 ),
@@ -239,7 +252,8 @@ QString QShapeControllerRoundText::menuName() const
QGraphicsItem *QShapeControllerRoundText::create() const
{
return new QLightRoundTextItem;
QLightRoundTextItem *item = new QLightRoundTextItem;
return item;
}
QItemDialog *QShapeControllerRoundText::createDialog( QWidget *parent ) const
+77 -25
View File
@@ -202,6 +202,66 @@ bool QLightScribe::clReportLabelTimeEstimate(long time)
}
namespace {
class AutoUidSetter {
public:
AutoUidSetter() : m_saved( 0 ) {}
AutoUidSetter( uid_t userId ) : m_saved( 0 ) { set( userId ); }
~AutoUidSetter() { unset(); }
void set( uid_t userId )
{
if( userId ) {
setreuid( userId, 0 );
m_saved = userId;
}
}
void unset()
{
if( m_saved ) {
setreuid( 0, m_saved );
m_saved = 0;
}
}
private:
uid_t m_saved;
};
typedef void (LightScribe::DiscPrinter::*DiscPrinterOp)();
template<DiscPrinterOp dlock, DiscPrinterOp dunlock >
class AutoOp {
public:
AutoOp( LightScribe::DiscPrinter &printer ) : m_printer( &printer ), m_locked( false ) {}
AutoOp() { unlock(); }
void lock()
{
if( !m_locked ) {
(m_printer->*dlock)();
m_locked = true;
}
}
void unlock()
{
if( m_locked ) {
try {
(m_printer->*dunlock)();
}
catch(...){}
m_locked = false;
}
}
private:
LightScribe::DiscPrinter *m_printer;
bool m_locked;
};
}
extern uid_t realUserId;
void QLightScribe::run()
@@ -257,12 +317,17 @@ void QLightScribe::run()
throw tr( "Cannot find drive: \"" ) + m_task->m_selectedDrive->displayName() + "\"";
DiscPrinter printer = printers.Item( found );
AutoUidSetter autoUid;
AutoOp< &DiscPrinter::AddExclusiveUse, &DiscPrinter::ReleaseExclusiveUse > autoExclusive( printer );
AutoOp< &DiscPrinter::LockDriveTray, &DiscPrinter::UnlockDriveTray > autoLock( printer );
if( m_task->m_action == Task::print ) {
setreuid( realUserId, 0 );
autoUid.set( realUserId );
function = "LS_DiscPrinter_AddExclusiveUse";
printer.AddExclusiveUse();
autoExclusive.lock();
function = "LS_DiscPrinter_LockDriveTray";
printer.LockDriveTray();
autoLock.lock();
}
{
@@ -308,31 +373,18 @@ void QLightScribe::run()
m_task = 0;
lock.unlock();
// print here
try {
session.PrintDisc( LS_windows_bitmap,
LS_LabelMode( params.m_labelMode ),
LS_DrawOptions( params.m_drawOptions ),
LS_PrintQuality( params.m_printQuality ),
LS_MediaOptimizationLevel( params.m_mediaOptimizationLevel ),
ba.data() + 14,
bitmapHeaderSize - 14,
ba.data() + bitmapHeaderSize,
ba.size() - bitmapHeaderSize );
}
catch( LightScribe::LSException &ex ) {
emit finished( ex.GetCode() );
throw;
}
session.PrintDisc( LS_windows_bitmap,
LS_LabelMode( params.m_labelMode ),
LS_DrawOptions( params.m_drawOptions ),
LS_PrintQuality( params.m_printQuality ),
LS_MediaOptimizationLevel( params.m_mediaOptimizationLevel ),
ba.data() + 14,
bitmapHeaderSize - 14,
ba.data() + bitmapHeaderSize,
ba.size() - bitmapHeaderSize );
}
}
if( m_task->m_action == Task::print ) {
function = "LS_DiscPrinter_UnlockDriveTray";
printer.UnlockDriveTray();
function = "LS_DiscPrinter_ReleaseExclusiveUse";
printer.ReleaseExclusiveUse();
setreuid( 0, realUserId );
}
function = "";
}
}
+4 -1
View File
@@ -53,7 +53,10 @@ QString QShapeControllerText::menuName() const
QGraphicsItem *QShapeControllerText::create() const
{
return new QLightTextItem;
QGraphicsItem *item = new QLightTextItem;
item->setTransform( QTransform().scale( 0.5, 0.5 ), true );
return item;
}
QItemDialog *QShapeControllerText::createDialog( QWidget *parent ) const