PropertiesView and View now follow Settings::units.
This commit is contained in:
@@ -97,11 +97,11 @@ void ObjectEditor::loadPositionPage()
|
||||
|
||||
posXSpin->setDecimals( mSpinDigits );
|
||||
posXSpin->setSingleStep( mSpinStep );
|
||||
posXSpin->setSuffix( " " + glabels::Distance::toId(mUnits) );
|
||||
posXSpin->setSuffix( " " + mUnits.toIdString() );
|
||||
|
||||
posYSpin->setDecimals( mSpinDigits );
|
||||
posYSpin->setSingleStep( mSpinStep );
|
||||
posYSpin->setSuffix( " " + glabels::Distance::toId(mUnits) );
|
||||
posYSpin->setSuffix( " " + mUnits.toIdString() );
|
||||
|
||||
posXSpin->setValue( mObject->x0().inUnits(mUnits) );
|
||||
posYSpin->setValue( mObject->y0().inUnits(mUnits) );
|
||||
@@ -119,11 +119,11 @@ void ObjectEditor::loadRectSizePage()
|
||||
|
||||
sizeWSpin->setDecimals( mSpinDigits );
|
||||
sizeWSpin->setSingleStep( mSpinStep );
|
||||
sizeWSpin->setSuffix( " " + glabels::Distance::toId(mUnits) );
|
||||
sizeWSpin->setSuffix( " " + mUnits.toIdString() );
|
||||
|
||||
sizeHSpin->setDecimals( mSpinDigits );
|
||||
sizeHSpin->setSingleStep( mSpinStep );
|
||||
sizeHSpin->setSuffix( " " + glabels::Distance::toId(mUnits) );
|
||||
sizeHSpin->setSuffix( " " + mUnits.toIdString() );
|
||||
|
||||
sizeWSpin->setValue( mObject->w().inUnits(mUnits) );
|
||||
sizeHSpin->setValue( mObject->h().inUnits(mUnits) );
|
||||
@@ -141,11 +141,11 @@ void ObjectEditor::loadShadowPage()
|
||||
|
||||
shadowXSpin->setDecimals( mSpinDigits );
|
||||
shadowXSpin->setSingleStep( mSpinStep );
|
||||
shadowXSpin->setSuffix( " " + glabels::Distance::toId(mUnits) );
|
||||
shadowXSpin->setSuffix( " " + mUnits.toIdString() );
|
||||
|
||||
shadowYSpin->setDecimals( mSpinDigits );
|
||||
shadowYSpin->setSingleStep( mSpinStep );
|
||||
shadowYSpin->setSuffix( " " + glabels::Distance::toId(mUnits) );
|
||||
shadowYSpin->setSuffix( " " + mUnits.toIdString() );
|
||||
|
||||
shadowEnableCheck->setChecked( mObject->shadow() );
|
||||
shadowXSpin->setValue( mObject->shadowX().inUnits(mUnits) );
|
||||
@@ -158,65 +158,11 @@ void ObjectEditor::loadShadowPage()
|
||||
}
|
||||
|
||||
|
||||
int ObjectEditor::spinDigits( glabels::Distance::Units units )
|
||||
{
|
||||
int digits;
|
||||
|
||||
switch (units)
|
||||
{
|
||||
case glabels::Distance::Units::PT:
|
||||
digits = 2;
|
||||
break;
|
||||
case glabels::Distance::Units::IN:
|
||||
digits = 3;
|
||||
break;
|
||||
case glabels::Distance::Units::MM:
|
||||
digits = 2;
|
||||
break;
|
||||
case glabels::Distance::Units::CM:
|
||||
digits = 3;
|
||||
break;
|
||||
case glabels::Distance::Units::PC:
|
||||
digits = 2;
|
||||
break;
|
||||
}
|
||||
|
||||
return digits;
|
||||
}
|
||||
|
||||
|
||||
double ObjectEditor::spinStep( glabels::Distance::Units units )
|
||||
{
|
||||
double step;
|
||||
|
||||
switch (units)
|
||||
{
|
||||
case glabels::Distance::Units::PT:
|
||||
step = 0.01;
|
||||
break;
|
||||
case glabels::Distance::Units::IN:
|
||||
step = 0.001;
|
||||
break;
|
||||
case glabels::Distance::Units::MM:
|
||||
step = 0.01;
|
||||
break;
|
||||
case glabels::Distance::Units::CM:
|
||||
step = 0.001;
|
||||
break;
|
||||
case glabels::Distance::Units::PC:
|
||||
step = 0.01;
|
||||
break;
|
||||
}
|
||||
|
||||
return step;
|
||||
}
|
||||
|
||||
|
||||
void ObjectEditor::onSettingsChanged()
|
||||
{
|
||||
mUnits = Settings::units();
|
||||
mSpinDigits = spinDigits( mUnits );
|
||||
mSpinStep = spinStep( mUnits );
|
||||
mSpinDigits = mUnits.resolutionDigits();
|
||||
mSpinStep = mUnits.resolution();
|
||||
|
||||
/* Must now update limits and reload any active pages with appropriate units . */
|
||||
onLabelSizeChanged();
|
||||
|
||||
@@ -60,9 +60,6 @@ private:
|
||||
void loadRectSizePage();
|
||||
void loadShadowPage();
|
||||
|
||||
int spinDigits( glabels::Distance::Units units );
|
||||
double spinStep( glabels::Distance::Units units );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Slots
|
||||
@@ -89,7 +86,7 @@ private:
|
||||
LabelModel* mModel;
|
||||
LabelModelObject* mObject;
|
||||
|
||||
glabels::Distance::Units mUnits;
|
||||
glabels::Units mUnits;
|
||||
int mSpinDigits;
|
||||
double mSpinStep;
|
||||
|
||||
|
||||
@@ -31,18 +31,18 @@ PreferencesDialog::PreferencesDialog( QWidget *parent )
|
||||
{
|
||||
setupUi( this );
|
||||
|
||||
switch ( Settings::units() )
|
||||
switch ( Settings::units().toEnum() )
|
||||
{
|
||||
case glabels::Distance::Units::IN:
|
||||
case glabels::Units::IN:
|
||||
unitsInchesRadio->setChecked( true );
|
||||
break;
|
||||
case glabels::Distance::Units::MM:
|
||||
case glabels::Units::MM:
|
||||
unitsMillimetersRadio->setChecked( true );
|
||||
break;
|
||||
case glabels::Distance::Units::CM:
|
||||
case glabels::Units::CM:
|
||||
unitsCentimetersRadio->setChecked( true );
|
||||
break;
|
||||
case glabels::Distance::Units::PC:
|
||||
case glabels::Units::PC:
|
||||
unitsPicasRadio->setChecked( true );
|
||||
break;
|
||||
default:
|
||||
@@ -59,22 +59,22 @@ void PreferencesDialog::onUnitsRadiosChanged()
|
||||
{
|
||||
if ( unitsInchesRadio->isChecked() )
|
||||
{
|
||||
Settings::setUnits( glabels::Distance::Units::IN );
|
||||
Settings::setUnits( glabels::Units::in() );
|
||||
}
|
||||
else if ( unitsMillimetersRadio->isChecked() )
|
||||
{
|
||||
Settings::setUnits( glabels::Distance::Units::MM );
|
||||
Settings::setUnits( glabels::Units::mm() );
|
||||
}
|
||||
else if ( unitsCentimetersRadio->isChecked() )
|
||||
{
|
||||
Settings::setUnits( glabels::Distance::Units::CM );
|
||||
Settings::setUnits( glabels::Units::cm() );
|
||||
}
|
||||
else if ( unitsPicasRadio->isChecked() )
|
||||
{
|
||||
Settings::setUnits( glabels::Distance::Units::PC );
|
||||
Settings::setUnits( glabels::Units::pc() );
|
||||
}
|
||||
else
|
||||
{
|
||||
Settings::setUnits( glabels::Distance::Units::PT );
|
||||
Settings::setUnits( glabels::Units::pt() );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
#include "PropertiesView.h"
|
||||
|
||||
#include "LabelModel.h"
|
||||
#include "Settings.h"
|
||||
|
||||
#include "libglabels/Db.h"
|
||||
#include "SelectProductDialog.h"
|
||||
@@ -37,6 +38,9 @@ PropertiesView::PropertiesView( QWidget *parent )
|
||||
|
||||
similarBrowser->setAttribute(Qt::WA_TranslucentBackground);
|
||||
similarBrowser->viewport()->setAutoFillBackground(false);
|
||||
|
||||
connect( Settings::instance(), SIGNAL(changed()), this, SLOT(onSettingsChanged()) );
|
||||
onSettingsChanged();
|
||||
}
|
||||
|
||||
|
||||
@@ -61,6 +65,19 @@ void PropertiesView::setModel( LabelModel* model )
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Settings changed handler
|
||||
///
|
||||
void PropertiesView::onSettingsChanged()
|
||||
{
|
||||
mUnits = Settings::units();
|
||||
if (mModel)
|
||||
{
|
||||
onLabelSizeChanged();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Label size changed handler
|
||||
///
|
||||
@@ -99,7 +116,7 @@ void PropertiesView::onLabelSizeChanged()
|
||||
QString pgSizeString = glabels::Db::lookupPaperNameFromId( tmplate->paperId() );
|
||||
pageSizeLabel->setText( pgSizeString );
|
||||
|
||||
QString labelSizeString = frame->sizeDescription( glabels::Distance::Units::IN );
|
||||
QString labelSizeString = frame->sizeDescription( mUnits );
|
||||
labelSizeLabel->setText( labelSizeString );
|
||||
|
||||
QString layoutString = frame->layoutDescription();
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
|
||||
#include "ui_PropertiesView.h"
|
||||
|
||||
#include "libglabels/Units.h"
|
||||
|
||||
class LabelModel; // Forward reference
|
||||
|
||||
@@ -53,6 +54,7 @@ public:
|
||||
// Slots
|
||||
/////////////////////////////////
|
||||
private slots:
|
||||
void onSettingsChanged();
|
||||
void onLabelSizeChanged();
|
||||
void onFormChanged();
|
||||
void onChangeProductButtonClicked();
|
||||
@@ -62,7 +64,8 @@ private slots:
|
||||
// Private Data
|
||||
/////////////////////////////////
|
||||
private:
|
||||
LabelModel* mModel;
|
||||
LabelModel* mModel;
|
||||
glabels::Units mUnits;
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -50,30 +50,30 @@ Settings* Settings::instance()
|
||||
}
|
||||
|
||||
|
||||
glabels::Distance::Units Settings::units()
|
||||
glabels::Units Settings::units()
|
||||
{
|
||||
// Guess at a suitable default
|
||||
QString defaultIdString;
|
||||
if ( QLocale::system().measurementSystem() == QLocale::ImperialSystem )
|
||||
{
|
||||
defaultIdString = glabels::Distance::toId( glabels::Distance::Units::IN );
|
||||
defaultIdString = glabels::Units(glabels::Units::IN).toIdString();
|
||||
}
|
||||
else
|
||||
{
|
||||
defaultIdString = glabels::Distance::toId( glabels::Distance::Units::MM );
|
||||
defaultIdString = glabels::Units(glabels::Units::MM).toIdString();
|
||||
}
|
||||
|
||||
mInstance->beginGroup( "Locale" );
|
||||
QString idString = mInstance->value( "units", defaultIdString ).toString();
|
||||
mInstance->endGroup();
|
||||
|
||||
return glabels::Distance::toUnits( idString );
|
||||
return glabels::Units( idString );
|
||||
}
|
||||
|
||||
|
||||
void Settings::setUnits( glabels::Distance::Units units )
|
||||
void Settings::setUnits( const glabels::Units& units )
|
||||
{
|
||||
QString idString = glabels::Distance::toId( units );
|
||||
QString idString = units.toIdString();
|
||||
|
||||
mInstance->beginGroup( "Locale" );
|
||||
mInstance->setValue( "units", idString );
|
||||
|
||||
+2
-2
@@ -60,8 +60,8 @@ signals:
|
||||
// Accessors
|
||||
/////////////////////////////////
|
||||
public:
|
||||
static glabels::Distance::Units units();
|
||||
static void setUnits( glabels::Distance::Units units );
|
||||
static glabels::Units units();
|
||||
static void setUnits( const glabels::Units& units );
|
||||
|
||||
static bool searchIsoPaperSizes();
|
||||
static void setSearchIsoPaperSizes( bool searchIsoPaperSizes );
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
#include "LabelModel.h"
|
||||
#include "LabelModelObject.h"
|
||||
#include "LabelModelBoxObject.h"
|
||||
#include "Settings.h"
|
||||
#include "Cursors.h"
|
||||
|
||||
#include "libglabels/Markup.h"
|
||||
@@ -85,6 +86,10 @@ View::View( QScrollArea* scrollArea, QWidget* parent )
|
||||
mGridSpacing = 18;
|
||||
|
||||
setMouseTracking( true );
|
||||
setFocusPolicy(Qt::StrongFocus);
|
||||
|
||||
connect( Settings::instance(), SIGNAL(changed()), this, SLOT(onSettingsChanged()) );
|
||||
onSettingsChanged();
|
||||
}
|
||||
|
||||
|
||||
@@ -851,6 +856,50 @@ View::handleResizeMotion( const glabels::Distance& xWorld,
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Key Press Event Handler
|
||||
void
|
||||
View::keyPressEvent( QKeyEvent* event )
|
||||
{
|
||||
if ( mState == IdleState )
|
||||
{
|
||||
switch (event->key())
|
||||
{
|
||||
|
||||
case Qt::Key_Left:
|
||||
mModel->moveSelection( -mStepSize, glabels::Distance(0) );
|
||||
break;
|
||||
|
||||
case Qt::Key_Up:
|
||||
mModel->moveSelection( glabels::Distance(0), -mStepSize );
|
||||
break;
|
||||
|
||||
case Qt::Key_Right:
|
||||
mModel->moveSelection( mStepSize, glabels::Distance(0) );
|
||||
break;
|
||||
|
||||
case Qt::Key_Down:
|
||||
mModel->moveSelection( glabels::Distance(0), mStepSize );
|
||||
break;
|
||||
|
||||
case Qt::Key_Delete:
|
||||
mModel->deleteSelection();
|
||||
setCursor( Qt::ArrowCursor );
|
||||
break;
|
||||
|
||||
default:
|
||||
QWidget::keyPressEvent( event );
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
QWidget::keyPressEvent( event );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Paint Event Handler
|
||||
///
|
||||
@@ -1092,6 +1141,17 @@ View::drawSelectRegionLayer( QPainter* painter )
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Settings changed handler
|
||||
///
|
||||
void View::onSettingsChanged()
|
||||
{
|
||||
glabels::Units units = Settings::units();
|
||||
|
||||
mStepSize = glabels::Distance( units.resolution(), units );
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Model changed handler
|
||||
///
|
||||
|
||||
@@ -119,6 +119,7 @@ protected:
|
||||
void mouseMoveEvent( QMouseEvent* event );
|
||||
void mouseReleaseEvent( QMouseEvent* event );
|
||||
void leaveEvent( QEvent* event );
|
||||
void keyPressEvent( QKeyEvent* event );
|
||||
void paintEvent( QPaintEvent* event );
|
||||
|
||||
|
||||
@@ -142,6 +143,7 @@ private:
|
||||
// Private slots
|
||||
/////////////////////////////////////
|
||||
private slots:
|
||||
void onSettingsChanged();
|
||||
void onModelChanged();
|
||||
void onModelSizeChanged();
|
||||
|
||||
@@ -180,6 +182,7 @@ private:
|
||||
bool mGridVisible;
|
||||
|
||||
double mGridSpacing;
|
||||
glabels::Distance mStepSize;
|
||||
|
||||
LabelModel* mModel;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user