ZoomOriginal and ZoomFitBest.

--HG--
branch : develop
This commit is contained in:
dismine 2014-07-11 16:10:54 +03:00
parent 2f43ba669d
commit b29778aa1a
14 changed files with 82 additions and 8 deletions

View File

@ -1067,6 +1067,9 @@ void MainWindow::ToolBarTools()
Qt::ControlModifier + Qt::Key_Minus + Qt::KeypadModifier};
ui->actionZoomOut->setShortcuts(zoomOutShortcuts);
connect(ui->actionZoomOut, &QAction::triggered, view, &VMainGraphicsView::ZoomOut);
connect(ui->actionZoomOriginal, &QAction::triggered, view, &VMainGraphicsView::ZoomOriginal);
connect(ui->actionZoomFitBest, &QAction::triggered, view, &VMainGraphicsView::ZoomFitBest);
}
//---------------------------------------------------------------------------------------------------------------------
@ -1737,6 +1740,8 @@ void MainWindow::SetEnableWidgets(bool enable)
ui->actionEdit_pattern_code->setEnabled(enable);
ui->actionZoomIn->setEnabled(enable);
ui->actionZoomOut->setEnabled(enable);
ui->actionZoomFitBest->setEnabled(enable);
ui->actionZoomOriginal->setEnabled(enable);
}
//---------------------------------------------------------------------------------------------------------------------
@ -2179,6 +2184,10 @@ MainWindow::~MainWindow()
*/
void MainWindow::LoadPattern(const QString &fileName)
{
// Fit scene to view
VAbstractTool::NewSceneRect(sceneDraw, view);
VAbstractTool::NewSceneRect(sceneDetails, view);
qApp->setOpeningPattern();//Begin opening file
try
{
@ -2231,6 +2240,15 @@ void MainWindow::LoadPattern(const QString &fileName)
helpLabel->setText(tr("File loaded"));
qApp->setOpeningPattern();// End opening file
VAbstractTool::NewSceneRect(sceneDraw, view);
VAbstractTool::NewSceneRect(sceneDetails, view);
ActionDetails(true);
view->ZoomFitBest();
ActionDraw(true);
view->ZoomFitBest();
}
//---------------------------------------------------------------------------------------------------------------------
@ -2292,9 +2310,6 @@ void MainWindow::OpenPattern(const QString &filePath)
if (curFile.isEmpty() && this->isWindowModified() == false)
{
LoadPattern(filePath);
VAbstractTool::NewSceneRect(sceneDraw, view);
VAbstractTool::NewSceneRect(sceneDetails, view);
}
else
{

View File

@ -47,7 +47,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>150</width>
<width>144</width>
<height>150</height>
</rect>
</property>
@ -302,7 +302,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>150</width>
<width>100</width>
<height>58</height>
</rect>
</property>
@ -378,7 +378,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>150</width>
<width>100</width>
<height>104</height>
</rect>
</property>
@ -579,7 +579,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>150</width>
<width>100</width>
<height>58</height>
</rect>
</property>
@ -779,6 +779,8 @@
</attribute>
<addaction name="actionZoomIn"/>
<addaction name="actionZoomOut"/>
<addaction name="actionZoomOriginal"/>
<addaction name="actionZoomFitBest"/>
</widget>
<action name="actionNew">
<property name="icon">
@ -1062,6 +1064,28 @@
<string>Edit pattern XML code</string>
</property>
</action>
<action name="actionZoomOriginal">
<property name="enabled">
<bool>false</bool>
</property>
<property name="icon">
<iconset theme="zoom-original"/>
</property>
<property name="text">
<string>ZoomOriginal</string>
</property>
</action>
<action name="actionZoomFitBest">
<property name="enabled">
<bool>false</bool>
</property>
<property name="icon">
<iconset theme="zoom-fit-best"/>
</property>
<property name="text">
<string>ZoomFitBest</string>
</property>
</action>
</widget>
<layoutdefault spacing="6" margin="11"/>
<tabstops>

Binary file not shown.

After

Width:  |  Height:  |  Size: 704 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 667 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -43,5 +43,11 @@
<file alias="16x16/actions/go-down.png">icons/win.icon.theme/16x16/actions/go-down.png</file>
<file alias="24x24/actions/go-down.png">icons/win.icon.theme/24x24/actions/go-down.png</file>
<file alias="32x32/actions/go-down.png">icons/win.icon.theme/32x32/actions/go-down.png</file>
<file alias="16x16/actions/zoom-fit-best.png">icons/win.icon.theme/16x16/actions/zoom-fit-best.png</file>
<file alias="16x16/actions/zoom-original.png">icons/win.icon.theme/16x16/actions/zoom-original.png</file>
<file alias="24x24/actions/zoom-fit-best.png">icons/win.icon.theme/24x24/actions/zoom-fit-best.png</file>
<file alias="24x24/actions/zoom-original.png">icons/win.icon.theme/24x24/actions/zoom-original.png</file>
<file alias="32x32/actions/zoom-fit-best.png">icons/win.icon.theme/32x32/actions/zoom-fit-best.png</file>
<file alias="32x32/actions/zoom-original.png">icons/win.icon.theme/32x32/actions/zoom-original.png</file>
</qresource>
</RCC>

View File

@ -43,7 +43,7 @@ VGraphicsSimpleTextItem::VGraphicsSimpleTextItem(QGraphicsItem * parent)
this->setFlag(QGraphicsItem::ItemSendsGeometryChanges, true);
this->setAcceptHoverEvents(true);
QFont font = this->font();
font.setPointSize(font.pointSize()+3);
font.setPointSize(font.pointSize()+20);
fontSize = font.pointSize();
this->setFont(font);
}

View File

@ -158,6 +158,33 @@ void VMainGraphicsView::ZoomOut()
emit NewFactor(1.0/1.1);
}
//---------------------------------------------------------------------------------------------------------------------
void VMainGraphicsView::ZoomOriginal()
{
QTransform trans = this->transform();
trans.setMatrix(1.0, trans.m12(), trans.m13(), trans.m21(), 1.0, trans.m23(), trans.m31(), trans.m32(),
trans.m33());
this->setTransform(trans);
VAbstractTool::NewSceneRect(this->scene(), this);
emit NewFactor(1.0);
}
//---------------------------------------------------------------------------------------------------------------------
void VMainGraphicsView::ZoomFitBest()
{
QRectF rect = this->scene()->itemsBoundingRect();
if (rect.isEmpty())
{
return;
}
this->fitInView(rect,Qt::KeepAspectRatio);
VAbstractTool::NewSceneRect(this->scene(), this);
QTransform trans = this->transform();
emit NewFactor(trans.m11());
}
//---------------------------------------------------------------------------------------------------------------------
/**
* @brief mousePressEvent handle mouse press events.

View File

@ -52,6 +52,8 @@ public slots:
void animFinished();
void ZoomIn();
void ZoomOut();
void ZoomOriginal();
void ZoomFitBest();
protected:
void wheelEvent ( QWheelEvent * event );
void mousePressEvent(QMouseEvent *mousePress);