mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-17 20:50:34 +01:00
-Replace option : draw grid outside of border by zoom out beyond of folio.
When option is to true, zoom out is infinite and grid is draw outside of border. -Zoom out with mouse wheel is now more slowly git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@3863 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
@@ -186,7 +186,7 @@ GeneralConfigurationPage::GeneralConfigurationPage(QWidget *parent) : ConfigPage
|
||||
bool use_system_colors = settings.value("usesystemcolors", "true").toBool();
|
||||
bool tabbed = settings.value("diagrameditor/viewmode", "tabbed") == "tabbed";
|
||||
bool integrate_elements = settings.value("diagrameditor/integrate-elements", true).toBool();
|
||||
bool grid_outside = settings.value("diagrameditor/draw-grid-outside-of-border", false).toBool();
|
||||
bool zoom_out_folio = settings.value("diagrameditor/zoom-out-beyond-of-folio", false).toBool();
|
||||
bool use_trackpad = settings.value("diagramview/gestures", false).toBool();
|
||||
bool highlight_integrated_elements = settings.value("diagrameditor/highlight-integrated-elements", true).toBool();
|
||||
QString default_element_informations = settings.value("elementeditor/default-informations", "").toString();
|
||||
@@ -197,7 +197,7 @@ GeneralConfigurationPage::GeneralConfigurationPage(QWidget *parent) : ConfigPage
|
||||
windowed_mode_ = new QRadioButton(tr("Utiliser des fenêtres (appliqué au prochain lancement de QElectroTech)"), projects_view_mode_);
|
||||
tabbed_mode_ = new QRadioButton(tr("Utiliser des onglets (appliqué au prochain lancement de QElectroTech)"), projects_view_mode_);
|
||||
use_trackpad_ = new QCheckBox(tr("Utiliser les gestes du pavé tactile"), projects_view_mode_);
|
||||
m_grid_outside_border = new QCheckBox(tr("Dessiner la grille au-delà du cadre du folio"), this);
|
||||
m_zoom_out_beyond_folio = new QCheckBox(tr("Autoriser le dézoom au delà du folio"), this);
|
||||
|
||||
elements_management_ = new QGroupBox(tr("Gestion des éléments"), this);
|
||||
integrate_elements_ = new QCheckBox(tr("Intégrer automatiquement les éléments dans les projets (recommandé)"));
|
||||
@@ -222,7 +222,7 @@ GeneralConfigurationPage::GeneralConfigurationPage(QWidget *parent) : ConfigPage
|
||||
windowed_mode_ -> setChecked(true);
|
||||
}
|
||||
|
||||
m_grid_outside_border -> setChecked(grid_outside);
|
||||
m_zoom_out_beyond_folio -> setChecked(zoom_out_folio);
|
||||
|
||||
integrate_elements_ -> setChecked(integrate_elements);
|
||||
highlight_integrated_elements_ -> setChecked(highlight_integrated_elements);
|
||||
@@ -235,7 +235,7 @@ GeneralConfigurationPage::GeneralConfigurationPage(QWidget *parent) : ConfigPage
|
||||
QVBoxLayout *projects_view_mode_layout = new QVBoxLayout;
|
||||
projects_view_mode_layout -> addWidget(windowed_mode_);
|
||||
projects_view_mode_layout -> addWidget(tabbed_mode_);
|
||||
projects_view_mode_layout -> addWidget(m_grid_outside_border);
|
||||
projects_view_mode_layout -> addWidget(m_zoom_out_beyond_folio);
|
||||
projects_view_mode_layout -> addWidget(use_trackpad_);
|
||||
projects_view_mode_ -> setLayout(projects_view_mode_layout);
|
||||
|
||||
@@ -300,7 +300,7 @@ void GeneralConfigurationPage::applyConf() {
|
||||
settings.setValue("diagrameditor/highlight-integrated-elements", highlight_integrated_elements_ -> isChecked());
|
||||
settings.setValue("elementeditor/default-informations", default_element_infos_textfield_ -> toPlainText());
|
||||
settings.setValue("diagramview/gestures", use_trackpad_ -> isChecked());
|
||||
settings.setValue("diagrameditor/draw-grid-outside-of-border", m_grid_outside_border->isChecked());
|
||||
settings.setValue("diagrameditor/zoom-out-beyond-of-folio", m_zoom_out_beyond_folio->isChecked());
|
||||
}
|
||||
|
||||
/// @return l'icone de cette page
|
||||
|
||||
@@ -89,7 +89,7 @@ class GeneralConfigurationPage : public ConfigPage {
|
||||
QGroupBox *projects_view_mode_;
|
||||
QRadioButton *windowed_mode_;
|
||||
QRadioButton *tabbed_mode_;
|
||||
QCheckBox *m_grid_outside_border;
|
||||
QCheckBox *m_zoom_out_beyond_folio;
|
||||
QLabel *warning_view_mode_;
|
||||
QGroupBox *elements_management_;
|
||||
QCheckBox *integrate_elements_;
|
||||
|
||||
@@ -139,7 +139,8 @@ void Diagram::drawBackground(QPainter *p, const QRectF &r) {
|
||||
|
||||
p -> setBrush(Qt::NoBrush);
|
||||
|
||||
QRectF rect = QETApp::settings().value("diagrameditor/draw-grid-outside-of-border", false).toBool() ?
|
||||
//If user allow zoom out beyond of folio, we draw grid outside of border.
|
||||
QRectF rect = QETApp::settings().value("diagrameditor/zoom-out-beyond-of-folio", false).toBool() ?
|
||||
r :
|
||||
border_and_titleblock.insideBorderRect().intersected(r);
|
||||
|
||||
|
||||
@@ -350,41 +350,46 @@ void DiagramView::setSelectionMode() {
|
||||
}
|
||||
|
||||
/**
|
||||
Agrandit le schema (+33% = inverse des -25 % de zoomMoins())
|
||||
*/
|
||||
* @brief DiagramView::zoomIn
|
||||
* Zoom in the current folio
|
||||
*/
|
||||
void DiagramView::zoomIn() {
|
||||
scale(4.0/3.0, 4.0/3.0);
|
||||
scale(1.15, 1.15);
|
||||
adjustGridToZoom();
|
||||
}
|
||||
|
||||
/**
|
||||
Retrecit le schema (-25% = inverse des +33 % de zoomPlus())
|
||||
*/
|
||||
* @brief DiagramView::zoomOut
|
||||
* Zoom out the current folio.
|
||||
* If zoom-out-beyond-of-folio is true in common setting, the zoom out is infinite
|
||||
* else zoom out is stopped when the entire folio is visible.
|
||||
*/
|
||||
void DiagramView::zoomOut() {
|
||||
scale(0.75, 0.75);
|
||||
if ((mapFromScene(0,0).rx() == 0) && (mapFromScene(0,0).ry() == 0)){
|
||||
fitInView(sceneRect(), Qt::KeepAspectRatio);
|
||||
}
|
||||
if (QETApp::settings().value("diagrameditor/zoom-out-beyond-of-folio", false).toBool() ||
|
||||
(horizontalScrollBar()->maximum() || verticalScrollBar()->maximum()) )
|
||||
scale(0.85, 0.85);
|
||||
|
||||
adjustGridToZoom();
|
||||
}
|
||||
|
||||
/**
|
||||
Agrandit le schema avec le trackpad
|
||||
*/
|
||||
* @brief DiagramView::zoomInSlowly
|
||||
* Like zoomIn but more slowly
|
||||
*/
|
||||
void DiagramView::zoomInSlowly() {
|
||||
scale(1.02, 1.02);
|
||||
adjustGridToZoom();
|
||||
}
|
||||
|
||||
/**
|
||||
Retrecit le schema avec le trackpad
|
||||
*/
|
||||
* @brief DiagramView::zoomOutSlowly
|
||||
* Like zoomOut but more slowly
|
||||
*/
|
||||
void DiagramView::zoomOutSlowly() {
|
||||
scale(0.98, 0.98);
|
||||
// Interdit le dezoome plus grand que le folio
|
||||
if ((mapFromScene(0,0).rx() == 0) && (mapFromScene(0,0).ry() == 0)){
|
||||
fitInView(sceneRect(), Qt::KeepAspectRatio);
|
||||
}
|
||||
if (QETApp::settings().value("diagrameditor/zoom-out-beyond-of-folio", false).toBool() ||
|
||||
(horizontalScrollBar()->maximum() || verticalScrollBar()->maximum()) )
|
||||
scale(0.98, 0.98);
|
||||
|
||||
adjustGridToZoom();
|
||||
}
|
||||
|
||||
@@ -780,8 +785,6 @@ void DiagramView::adjustSceneRect()
|
||||
{
|
||||
QRectF scene_rect = scene->sceneRect();
|
||||
scene_rect.adjust(-Diagram::margin, -Diagram::margin, Diagram::margin, Diagram::margin);
|
||||
scene_rect.setWidth(scene_rect.width()*2);
|
||||
scene_rect.setHeight(scene_rect.height()*2);
|
||||
setSceneRect(scene_rect);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user