|
From: Tapio V. <aa...@us...> - 2011-01-31 09:37:23
|
Module: editor
Branch: master
Commit: 01c3c445fe511d92d1be911e0cb7f87ff6a56074
Author: Tapio Vierros <tap...@gm...>
Date: Mon Jan 31 11:32:11 2011 +0200
Make the use of anti-aliasing configurable.
---
editor.ui | 29 +++++++++++++++++++----------
editorapp.cc | 37 ++++++++++++++++++++++++++++++++++++-
editorapp.hh | 7 ++++---
pitchvis.cc | 5 ++++-
4 files changed, 63 insertions(+), 15 deletions(-)
diff --git a/editor.ui b/editor.ui
index 540d3ad..08f831e 100644
--- a/editor.ui
+++ b/editor.ui
@@ -462,7 +462,7 @@
<x>0</x>
<y>0</y>
<width>800</width>
- <height>21</height>
+ <height>25</height>
</rect>
</property>
<widget class="QMenu" name="menuFile">
@@ -494,10 +494,16 @@
<property name="title">
<string>&Edit</string>
</property>
+ <widget class="QMenu" name="menuPreferences">
+ <property name="title">
+ <string>&Preferences</string>
+ </property>
+ <addaction name="actionAntiAliasing"/>
+ </widget>
<addaction name="actionUndo"/>
<addaction name="actionRedo"/>
<addaction name="separator"/>
- <addaction name="actionPreferences"/>
+ <addaction name="menuPreferences"/>
</widget>
<widget class="QMenu" name="menuHelp">
<property name="title">
@@ -586,14 +592,6 @@
<string>Ctrl+Shift+Z</string>
</property>
</action>
- <action name="actionPreferences">
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="text">
- <string>&Preferences</string>
- </property>
- </action>
<action name="actionSingStarXML">
<property name="text">
<string>&SingStar XML...</string>
@@ -639,6 +637,17 @@
<string>&What's this?</string>
</property>
</action>
+ <action name="actionAntiAliasing">
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="text">
+ <string>&Anti-aliasing</string>
+ </property>
+ <property name="toolTip">
+ <string>Use anti-aliasing for the pitch visualization</string>
+ </property>
+ </action>
</widget>
<resources/>
<connections/>
diff --git a/editorapp.cc b/editorapp.cc
index 5e369ad..585c1a0 100644
--- a/editorapp.cc
+++ b/editorapp.cc
@@ -65,7 +65,7 @@ EditorApp::EditorApp(QWidget *parent): QMainWindow(parent), projectFileName(), h
ui.actionExit->setIcon(QIcon::fromTheme("application-exit", QIcon(":/icons/application-exit.png")));
ui.actionUndo->setIcon(QIcon::fromTheme("edit-undo", QIcon(":/icons/edit-undo.png")));
ui.actionRedo->setIcon(QIcon::fromTheme("edit-redo", QIcon(":/icons/edit-redo.png")));
- ui.actionPreferences->setIcon(QIcon::fromTheme("preferences-other", QIcon(":/icons/preferences-other.png")));
+ ui.menuPreferences->setIcon(QIcon::fromTheme("preferences-other", QIcon(":/icons/preferences-other.png")));
ui.actionMusicFile->setIcon(QIcon::fromTheme("insert-object", QIcon(":/icons/insert-object.png")));
ui.actionLyricsFromFile->setIcon(QIcon::fromTheme("insert-text", QIcon(":/icons/insert-text.png")));
ui.actionLyricsFromClipboard->setIcon(QIcon::fromTheme("insert-text", QIcon(":/icons/insert-text.png")));
@@ -179,6 +179,11 @@ void EditorApp::analyzeProgress(int value, int maximum)
}
}
+
+
+// File menu
+
+
void EditorApp::on_actionNew_triggered()
{
if (promptSaving()) {
@@ -362,6 +367,11 @@ void EditorApp::on_actionExit_triggered()
close();
}
+
+
+// Edit menu
+
+
void EditorApp::on_actionUndo_triggered()
{
if (opStack.isEmpty())
@@ -401,6 +411,18 @@ void EditorApp::on_actionRedo_triggered()
doOpStack();
}
+
+void EditorApp::on_actionAntiAliasing_toggled(bool checked)
+{
+ QSettings settings; // Default QSettings parameters given in main()
+ settings.setValue("anti-aliasing", checked);
+}
+
+
+
+// Insert menu
+
+
void EditorApp::on_actionMusicFile_triggered()
{
QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"),
@@ -451,6 +473,11 @@ void EditorApp::on_actionLyricsFromClipboard_triggered()
}
}
+
+
+// Help menu
+
+
void EditorApp::on_actionWhatsThis_triggered()
{
QWhatsThis::enterWhatsThisMode();
@@ -462,6 +489,11 @@ void EditorApp::on_actionAbout_triggered()
aboutDialog.exec();
}
+
+
+// Misc stuff
+
+
void EditorApp::updateSongMeta(bool readFromSongToUI)
{
if (!song) return;
@@ -594,10 +626,12 @@ void EditorApp::readSettings()
QPoint pos = settings.value("pos", QPoint()).toPoint();
QSize size = settings.value("size", QSize(800, 600)).toSize();
bool maximized = settings.value("maximized", false).toBool();
+ bool aa = settings.value("anti-aliasing", true).toBool();
// Apply them
if (!pos.isNull()) move(pos);
resize(size);
if (maximized) showMaximized();
+ ui.actionAntiAliasing->setChecked(aa);
}
void EditorApp::writeSettings()
@@ -606,6 +640,7 @@ void EditorApp::writeSettings()
settings.setValue("pos", pos());
settings.setValue("size", size());
settings.setValue("maximized", isMaximized());
+ settings.setValue("anti-aliasing", ui.actionAntiAliasing->isChecked());
}
diff --git a/editorapp.hh b/editorapp.hh
index 1f4bcd7..81934b9 100644
--- a/editorapp.hh
+++ b/editorapp.hh
@@ -71,6 +71,7 @@ public slots:
// Edit menu
void on_actionUndo_triggered();
void on_actionRedo_triggered();
+ void on_actionAntiAliasing_toggled(bool checked);
// Insert menu
void on_actionMusicFile_triggered();
@@ -86,9 +87,9 @@ public slots:
void on_txtArtist_editingFinished();
void on_txtGenre_editingFinished();
void on_txtYear_editingFinished();
- void on_cmbNoteType_currentIndexChanged(int);
- void on_chkFloating_stateChanged(int);
- void on_chkLineBreak_stateChanged(int);
+ void on_cmbNoteType_currentIndexChanged(int state);
+ void on_chkFloating_stateChanged(int state);
+ void on_chkLineBreak_stateChanged(int state);
protected:
void closeEvent(QCloseEvent *event);
diff --git a/pitchvis.cc b/pitchvis.cc
index 41c7c86..7ef7d60 100644
--- a/pitchvis.cc
+++ b/pitchvis.cc
@@ -8,6 +8,7 @@
#include <QPainter>
#include <QProgressDialog>
#include <QLabel>
+#include <QSettings>
PitchVis::PitchVis(QString const& filename, QWidget *parent)
: QWidget(parent), QThread(), mutex(), pixelsPerSecond(), fileName(filename), moreAvailable(), cancelled(), curX(), m_width()
@@ -82,10 +83,12 @@ void PitchVis::run()
}
void PitchVis::paint(QPaintDevice* widget, int x1, int x2) {
+ QSettings settings; // Default QSettings parameters given in main()
+ bool aa = settings.value("anti-aliasing", true).toBool();
QMutexLocker locker(&mutex);
QPainter painter;
painter.begin(widget);
- painter.setRenderHint(QPainter::Antialiasing);
+ if (aa) painter.setRenderHint(QPainter::Antialiasing);
QPen pen;
pen.setWidth(8);
pen.setCapStyle(Qt::RoundCap);
|