int MainWindow::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QMainWindow::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: backgroundButtonGroupClicked((*reinterpret_cast< QAbstractButton*(*)>(_a[1]))); break; case 1: buttonGroupClicked((*reinterpret_cast< int(*)>(_a[1]))); break; case 2: deleteItem(); break; case 3: pointerGroupClicked((*reinterpret_cast< int(*)>(_a[1]))); break; case 4: bringToFront(); break; case 5: sendToBack(); break; case 6: itemInserted((*reinterpret_cast< DiagramItem*(*)>(_a[1]))); break; case 7: textInserted((*reinterpret_cast< QGraphicsTextItem*(*)>(_a[1]))); break; case 8: currentFontChanged((*reinterpret_cast< const QFont(*)>(_a[1]))); break; case 9: fontSizeChanged((*reinterpret_cast< const QString(*)>(_a[1]))); break; case 10: sceneScaleChanged((*reinterpret_cast< const QString(*)>(_a[1]))); break; case 11: textColorChanged(); break; case 12: itemColorChanged(); break; case 13: lineColorChanged(); break; case 14: textButtonTriggered(); break; case 15: fillButtonTriggered(); break; case 16: lineButtonTriggered(); break; case 17: handleFontChange(); break; case 18: itemSelected((*reinterpret_cast< QGraphicsItem*(*)>(_a[1]))); break; case 19: about(); break; default: ; } _id -= 20; } return _id; }
bool Scene::eventFilter(QObject* object, QEvent* event) { if (event->type() == QEvent::GraphicsSceneWheel) { QGraphicsSceneWheelEvent *wheelEvent = static_cast<QGraphicsSceneWheelEvent*>(event); if (wheelEvent->modifiers().testFlag(Qt::ControlModifier)) { int delta = wheelEvent->delta(); qreal scale = 1.00; if (delta > 0) { scale = 1.10; } else { scale = 1/1.10; } emit sceneScaleChanged(scale); wheelEvent->accept(); return true; } } return false; }
MainWindow::MainWindow(QWidget *parent, const QString &fileName) : QMainWindow(parent) { setupUi(this); _zoom = new QLabel(); _zoom->setToolTip(QString("Zoom factor")); _zoom->setFrameStyle(QFrame::Sunken); _zoom->setAlignment(Qt::AlignHCenter); _zoom->setMaximumWidth(50); this->statusBar()->addPermanentWidget(_zoom, 1); setAcceptDrops(true); fileWatcher = 0; imageItem = 0; gViewResult->viewport()->setGeometry(QRect(0,0,0,0)); imageScene = new Scene(); connect(imageScene, SIGNAL(dropedFilename(QString)), this, SLOT(openImage(QString))); connect(imageScene, SIGNAL(sceneScaleChanged(qreal)), this, SLOT(changeSceneScale(qreal))); connect(imageScene, SIGNAL(rotateImage(int)), this, SLOT(rotate(int))); connect(imageScene, SIGNAL(imageInfoTriggered()), this, SLOT(imageInfo())); connect(imageScene, SIGNAL(detectOrientationSignal()), this, SLOT(on_actionDetectOrientation_triggered())); gViewResult->setScene(imageScene); gViewResult->setRenderHint(QPainter::Antialiasing); gViewResult->setCacheMode(QGraphicsView::CacheBackground); gViewResult->setViewportUpdateMode(QGraphicsView::BoundingRectViewportUpdate); gViewResult->setOptimizationFlags(QGraphicsView::DontSavePainterState | QGraphicsView::DontAdjustForAntialiasing); gViewResult->viewport()->setSizeIncrement(gViewResult->sceneRect().width(),gViewResult->sceneRect().height()); gViewResult->viewport()->setSizeIncrement(gViewResult->sceneRect().width(),gViewResult->sceneRect().height()); connect(actionAbout, SIGNAL(triggered()), this, SLOT(about())); connect(actionAbout_Qt, SIGNAL(triggered()), this, SLOT(aboutQt())); for (int i = 0; i < MaxRecentFiles; ++i) { recentFileActs[i] = new QAction(this); recentFileActs[i]->setVisible(false); connect(recentFileActs[i], SIGNAL(triggered()), this, SLOT(openRecentFile())); } fSeparatorAct = menuFile->addSeparator(); for (int i = 0; i < MaxRecentFiles; ++i) menuFile->addAction(recentFileActs[i]); updateRecentFileActions(); readSettings(true); if (fileName.isEmpty()) { // Open last file on init if there was no argument recentFile = recentFileActs[0]->data().toString(); } else { recentFile = fileName; setZoom(1.0); } if (!recentFile.isEmpty()) openImage(recentFile); // default values for Clean Dark Background blackval = 70; whiteval = 180; thresh = 60; }