Add switch button to enable trackpad gesture

git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@3291 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
scorpio810
2014-08-29 02:33:38 +00:00
parent d8217a7328
commit 2e6af1b2e9
4 changed files with 30 additions and 15 deletions

View File

@@ -117,6 +117,7 @@ GeneralConfigurationPage::GeneralConfigurationPage(QWidget *parent) : ConfigPage
bool use_system_colors = settings.value("usesystemcolors", "true").toBool(); bool use_system_colors = settings.value("usesystemcolors", "true").toBool();
bool tabbed = settings.value("diagrameditor/viewmode", "tabbed") == "tabbed"; bool tabbed = settings.value("diagrameditor/viewmode", "tabbed") == "tabbed";
bool integrate_elements = settings.value("diagrameditor/integrate-elements", true).toBool(); bool integrate_elements = settings.value("diagrameditor/integrate-elements", true).toBool();
bool use_trackpad = settings.value("diagramview/gestures", true).toBool();
bool highlight_integrated_elements = settings.value("diagrameditor/highlight-integrated-elements", true).toBool(); bool highlight_integrated_elements = settings.value("diagrameditor/highlight-integrated-elements", true).toBool();
QString default_element_informations = settings.value("elementeditor/default-informations", "").toString(); QString default_element_informations = settings.value("elementeditor/default-informations", "").toString();
@@ -126,6 +127,7 @@ GeneralConfigurationPage::GeneralConfigurationPage(QWidget *parent) : ConfigPage
projects_view_mode_ = new QGroupBox(tr("Projets"), this); projects_view_mode_ = new QGroupBox(tr("Projets"), this);
windowed_mode_ = new QRadioButton(tr("Utiliser des fen\352tres"), projects_view_mode_); windowed_mode_ = new QRadioButton(tr("Utiliser des fen\352tres"), projects_view_mode_);
tabbed_mode_ = new QRadioButton(tr("Utiliser des onglets"), projects_view_mode_); tabbed_mode_ = new QRadioButton(tr("Utiliser des onglets"), projects_view_mode_);
use_trackpad_ = new QCheckBox(tr("Utiliser les gestures du trackpad"), projects_view_mode_);
warning_view_mode_ = new QLabel(tr("Ces param\350tres s'appliqueront d\350s la prochaine ouverture d'un \351diteur de sch\351mas.")); warning_view_mode_ = new QLabel(tr("Ces param\350tres s'appliqueront d\350s la prochaine ouverture d'un \351diteur de sch\351mas."));
elements_management_ = new QGroupBox(tr("Gestion des \351l\351ments"), this); elements_management_ = new QGroupBox(tr("Gestion des \351l\351ments"), this);
@@ -142,7 +144,10 @@ GeneralConfigurationPage::GeneralConfigurationPage(QWidget *parent) : ConfigPage
default_element_infos_textfield_ -> setAcceptRichText(false); default_element_infos_textfield_ -> setAcceptRichText(false);
use_system_colors_ -> setChecked(use_system_colors); use_system_colors_ -> setChecked(use_system_colors);
use_trackpad_ -> setChecked(false);
use_trackpad_ -> setChecked(use_trackpad);
if (tabbed) { if (tabbed) {
tabbed_mode_ -> setChecked(true); tabbed_mode_ -> setChecked(true);
} else { } else {
@@ -161,6 +166,7 @@ GeneralConfigurationPage::GeneralConfigurationPage(QWidget *parent) : ConfigPage
projects_view_mode_layout -> addWidget(windowed_mode_); projects_view_mode_layout -> addWidget(windowed_mode_);
projects_view_mode_layout -> addWidget(tabbed_mode_); projects_view_mode_layout -> addWidget(tabbed_mode_);
projects_view_mode_layout -> addWidget(warning_view_mode_); projects_view_mode_layout -> addWidget(warning_view_mode_);
projects_view_mode_layout -> addWidget(use_trackpad_);
projects_view_mode_ -> setLayout(projects_view_mode_layout); projects_view_mode_ -> setLayout(projects_view_mode_layout);
QVBoxLayout *elements_management_layout = new QVBoxLayout(); QVBoxLayout *elements_management_layout = new QVBoxLayout();
@@ -215,6 +221,9 @@ void GeneralConfigurationPage::applyConf() {
QETApp::instance() -> useSystemPalette(must_use_system_colors); QETApp::instance() -> useSystemPalette(must_use_system_colors);
} }
bool was_use_trackpad = settings.value("use_trackpad", "true").toBool();
bool must_use_trackpad = use_trackpad_ -> isChecked();
settings.setValue("use_trackpad", must_use_trackpad );
settings.setValue("lang", lang_combo_box->itemData(lang_combo_box->currentIndex()).toString()); settings.setValue("lang", lang_combo_box->itemData(lang_combo_box->currentIndex()).toString());
QString view_mode = tabbed_mode_ -> isChecked() ? "tabbed" : "windowed"; QString view_mode = tabbed_mode_ -> isChecked() ? "tabbed" : "windowed";
@@ -223,6 +232,7 @@ void GeneralConfigurationPage::applyConf() {
settings.setValue("diagrameditor/integrate-elements", integrate_elements_ -> isChecked()); settings.setValue("diagrameditor/integrate-elements", integrate_elements_ -> isChecked());
settings.setValue("diagrameditor/highlight-integrated-elements", highlight_integrated_elements_ -> isChecked()); settings.setValue("diagrameditor/highlight-integrated-elements", highlight_integrated_elements_ -> isChecked());
settings.setValue("elementeditor/default-informations", default_element_infos_textfield_ -> toPlainText()); settings.setValue("elementeditor/default-informations", default_element_infos_textfield_ -> toPlainText());
settings.setValue("diagramview/gestures", use_trackpad_ -> isChecked());
} }
/// @return l'icone de cette page /// @return l'icone de cette page

View File

@@ -83,6 +83,7 @@ class GeneralConfigurationPage : public ConfigPage {
QFrame *horiz_line_; QFrame *horiz_line_;
QGroupBox *appearance_; QGroupBox *appearance_;
QCheckBox *use_system_colors_; QCheckBox *use_system_colors_;
QCheckBox *use_trackpad_;
QGroupBox *projects_view_mode_; QGroupBox *projects_view_mode_;
QRadioButton *windowed_mode_; QRadioButton *windowed_mode_;
QRadioButton *tabbed_mode_; QRadioButton *tabbed_mode_;

View File

@@ -579,31 +579,34 @@ void DiagramView::mouseReleaseEvent(QMouseEvent *e) {
else QGraphicsView::mouseReleaseEvent(e); else QGraphicsView::mouseReleaseEvent(e);
} }
/**
* @brief DiagramView::gestures
* @return
*/
bool DiagramView::gestures() const {
return(QETApp::settings().value("diagramview/gestures", true).toBool());
}
/** /**
Manage wheel event of mouse Manage wheel event of mouse
@param e QWheelEvent @param e QWheelEvent
*/ */
void DiagramView::wheelEvent(QWheelEvent *e) { void DiagramView::wheelEvent(QWheelEvent *e) {
//Zoom and scrolling //Zoom and scrolling
if (e->buttons() != Qt::MidButton) { if (e->buttons() != Qt::MidButton & !gestures ()) {
if (!(e -> modifiers() & Qt::ControlModifier )) {
#if defined(__APPLE__) && defined(__MACH__)
QAbstractScrollArea::wheelEvent(e);
}
#else
if (!(e -> modifiers() & Qt::ControlModifier)) {
if (e -> delta() > 0){ if (e -> delta() > 0){
zoomIn(); zoomIn();
} }
else{ else{
zoomOut(); zoomOut();
} }
} }
else { } else {
QAbstractScrollArea::wheelEvent(e); QAbstractScrollArea::wheelEvent(e);
} }
}
#endif
} }

View File

@@ -126,7 +126,8 @@ class DiagramView : public QGraphicsView {
bool mustIntegrateElement(const ElementsLocation &) const; bool mustIntegrateElement(const ElementsLocation &) const;
bool mustIntegrateTitleBlockTemplate(const TitleBlockTemplateLocation &) const; bool mustIntegrateTitleBlockTemplate(const TitleBlockTemplateLocation &) const;
bool addElementAtPos(const ElementsLocation &, const QPoint &); bool addElementAtPos(const ElementsLocation &, const QPoint &);
bool gestures() const;
signals: signals:
/// Signal emitted after the selection changed /// Signal emitted after the selection changed
void selectionChanged(); void selectionChanged();