summaryrefslogtreecommitdiff
authorwaspe <waspe>2003-11-20 19:34:08 (UTC)
committer waspe <waspe>2003-11-20 19:34:08 (UTC)
commite6a5ed6de7e821a070d571045ff063f8c41b0b79 (patch) (side-by-side diff)
tree8455d7bf537cf804337b6c03b28f891ee3f286ce
parentf43e28fe8f226039d96ebda4e6c4d26e4f3320ba (diff)
downloadopie-e6a5ed6de7e821a070d571045ff063f8c41b0b79.zip
opie-e6a5ed6de7e821a070d571045ff063f8c41b0b79.tar.gz
opie-e6a5ed6de7e821a070d571045ff063f8c41b0b79.tar.bz2
added preliminary edit dialogs
default config added
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/multimedia/tonleiter/editinst.cpp14
-rw-r--r--noncore/multimedia/tonleiter/editinst.h23
-rw-r--r--noncore/multimedia/tonleiter/editscale.cpp14
-rw-r--r--noncore/multimedia/tonleiter/editscale.h23
-rw-r--r--noncore/multimedia/tonleiter/fretboard.cpp18
-rw-r--r--noncore/multimedia/tonleiter/fretboard.h8
-rw-r--r--noncore/multimedia/tonleiter/mainwidget.cpp6
-rw-r--r--noncore/multimedia/tonleiter/mainwidget.h6
-rw-r--r--noncore/multimedia/tonleiter/menuwidget.cpp23
-rw-r--r--noncore/multimedia/tonleiter/menuwidget.h7
-rw-r--r--noncore/multimedia/tonleiter/tonleiter.pro4
-rw-r--r--noncore/multimedia/tonleiter/tonleiterdata.cpp67
-rw-r--r--noncore/multimedia/tonleiter/tonleiterdata.h3
-rw-r--r--noncore/multimedia/tonleiter/tonleiterdatahelper.cpp2
-rw-r--r--noncore/multimedia/tonleiter/tonleiterdatahelper.h4
15 files changed, 156 insertions, 66 deletions
diff --git a/noncore/multimedia/tonleiter/editinst.cpp b/noncore/multimedia/tonleiter/editinst.cpp
new file mode 100644
index 0000000..1eba4dc
--- a/dev/null
+++ b/noncore/multimedia/tonleiter/editinst.cpp
@@ -0,0 +1,14 @@
+#include "editinst.h"
+
+Menu::InstEditDialog::InstEditDialog(TonleiterData* data,QWidget* parent,const char* name)
+:QDialog(parent,name,true,0),data(data)
+{
+ setCaption("Tonleiter::"+tr("Instrument"));
+ showMaximized();
+}
+//****************************************************************************
+Menu::InstEditDialog::~InstEditDialog()
+{
+}
+//****************************************************************************
+//****************************************************************************
diff --git a/noncore/multimedia/tonleiter/editinst.h b/noncore/multimedia/tonleiter/editinst.h
new file mode 100644
index 0000000..e7eba15
--- a/dev/null
+++ b/noncore/multimedia/tonleiter/editinst.h
@@ -0,0 +1,23 @@
+#ifndef TONLEITER_EDIT_INSTRUMENT_DIALOG_H
+#define TONLEITER_EDIT_INSTRUMENT_DIALOG_H
+
+#include <qdialog.h>
+
+#include "tonleiterdata.h"
+
+using namespace Data;
+
+namespace Menu
+{
+ class InstEditDialog : public QDialog
+ {
+ Q_OBJECT
+ private:
+ TonleiterData* data;
+ public:
+ InstEditDialog(TonleiterData* data,QWidget* parent,const char* name="InstEditDialog");
+ ~InstEditDialog();
+ };
+};
+
+#endif //TONLEITER_EDIT_INSTRUMENT_DIALOG_H
diff --git a/noncore/multimedia/tonleiter/editscale.cpp b/noncore/multimedia/tonleiter/editscale.cpp
new file mode 100644
index 0000000..593a150
--- a/dev/null
+++ b/noncore/multimedia/tonleiter/editscale.cpp
@@ -0,0 +1,14 @@
+#include "editscale.h"
+
+Menu::ScaleEditDialog::ScaleEditDialog(TonleiterData* data,QWidget* parent,const char* name)
+:QDialog(parent,name,true,0),data(data)
+{
+ setCaption("Tonleiter::"+tr("Scale"));
+ showMaximized();
+}
+//****************************************************************************
+Menu::ScaleEditDialog::~ScaleEditDialog()
+{
+}
+//****************************************************************************
+//****************************************************************************
diff --git a/noncore/multimedia/tonleiter/editscale.h b/noncore/multimedia/tonleiter/editscale.h
new file mode 100644
index 0000000..0e5eb1c
--- a/dev/null
+++ b/noncore/multimedia/tonleiter/editscale.h
@@ -0,0 +1,23 @@
+#ifndef TONLEITER_EDIT_SCALE_DIALOG_H
+#define TONLEITER_EDIT_SCALE_DIALOG_H
+
+#include <qdialog.h>
+
+#include "tonleiterdata.h"
+
+using namespace Data;
+
+namespace Menu
+{
+ class ScaleEditDialog : public QDialog
+ {
+ Q_OBJECT
+ private:
+ TonleiterData* data;
+ public:
+ ScaleEditDialog(TonleiterData* data,QWidget* parent,const char* name="ScaleEditDialog");
+ ~ScaleEditDialog();
+ };
+};
+
+#endif //TONLEITER_EDIT_SCALE_DIALOG_H
diff --git a/noncore/multimedia/tonleiter/fretboard.cpp b/noncore/multimedia/tonleiter/fretboard.cpp
index 57806be..7936c83 100644
--- a/noncore/multimedia/tonleiter/fretboard.cpp
+++ b/noncore/multimedia/tonleiter/fretboard.cpp
@@ -2,7 +2,7 @@
#include <qpainter.h>
-FretBoard::FretBoard(TonleiterData* data,QWidget* parent,const char* name,WFlags f)
+Graph::FretBoard::FretBoard(TonleiterData* data,QWidget* parent,const char* name,WFlags f)
:QWidget(parent,name,f),data(data)
{
setBackgroundColor(QColor(0,0,0));
@@ -12,16 +12,16 @@ FretBoard::FretBoard(TonleiterData* data,QWidget* parent,const char* name,WFlags
connect(data,SIGNAL(dataChange()),this,SLOT(dataChange()));
}
//****************************************************************************
-FretBoard::~FretBoard()
+Graph::FretBoard::~FretBoard()
{
}
//****************************************************************************
-void FretBoard::dataChange()
+void Graph::FretBoard::dataChange()
{
repaint(true);
}
//****************************************************************************
-void FretBoard::paintEvent(QPaintEvent* pe)
+void Graph::FretBoard::paintEvent(QPaintEvent* pe)
{
Q_UNUSED(pe);
@@ -48,12 +48,12 @@ void FretBoard::paintEvent(QPaintEvent* pe)
paintScale(&p);
}
//****************************************************************************
-void FretBoard::resizeEvent(QResizeEvent* re)
+void Graph::FretBoard::resizeEvent(QResizeEvent* re)
{
Q_UNUSED(re);
}
//****************************************************************************
-void FretBoard::paintBoard(QPainter* p)
+void Graph::FretBoard::paintBoard(QPainter* p)
{
//debug
QColor bgc=QColor(142,138,120);
@@ -63,7 +63,7 @@ void FretBoard::paintBoard(QPainter* p)
}
//****************************************************************************
-void FretBoard::paintFrets(QPainter* p)
+void Graph::FretBoard::paintFrets(QPainter* p)
{
//draw frets
p->setPen(fretpen);
@@ -99,7 +99,7 @@ void FretBoard::paintFrets(QPainter* p)
}
}
//****************************************************************************
-void FretBoard::paintStrings(QPainter* p)
+void Graph::FretBoard::paintStrings(QPainter* p)
{
//draw strings
p->setPen(stringpen);
@@ -116,7 +116,7 @@ void FretBoard::paintStrings(QPainter* p)
}
}
//****************************************************************************
-void FretBoard::paintScale(QPainter* p)
+void Graph::FretBoard::paintScale(QPainter* p)
{
int dotsize=10;
int scaleid=data->getCurrentScaleID();
diff --git a/noncore/multimedia/tonleiter/fretboard.h b/noncore/multimedia/tonleiter/fretboard.h
index eb509b0..458c733 100644
--- a/noncore/multimedia/tonleiter/fretboard.h
+++ b/noncore/multimedia/tonleiter/fretboard.h
@@ -9,6 +9,10 @@
#include "tonleiterdata.h"
+using namespace Data;
+
+namespace Graph
+{
class FretBoard : public QWidget
{
Q_OBJECT
@@ -42,13 +46,11 @@ private slots:
private:
void paintEvent(QPaintEvent* pe);
void resizeEvent(QResizeEvent* re);
- //void mousePressEvent(QMouseEvent* mpe);
- //void mouseMoveEvent(QMouseEvent* mme);
- //void mouseReleaseEvent(QMouseEvent* mre);
void paintBoard(QPainter* p);
void paintFrets(QPainter* p);
void paintStrings(QPainter* p);
void paintScale(QPainter* p);
};
+};
#endif //TONLEITER_FRET_BOARD_H
diff --git a/noncore/multimedia/tonleiter/mainwidget.cpp b/noncore/multimedia/tonleiter/mainwidget.cpp
index 0a20b9e..f09207b 100644
--- a/noncore/multimedia/tonleiter/mainwidget.cpp
+++ b/noncore/multimedia/tonleiter/mainwidget.cpp
@@ -7,16 +7,16 @@ MainWidget::MainWidget(QWidget* parent,const char* name,WFlags f)
:QMainWindow(parent,name,f)
{
setCaption("Tonleiter");
- data=new TonleiterData(this);
+ data=new Data::TonleiterData(this);
QWidget* mainwidget=new QWidget(this,"mainwidget");
setCentralWidget(mainwidget);
QBoxLayout* mainlayout=new QBoxLayout(mainwidget,QBoxLayout::TopToBottom);
- menuwidget=new MenuWidget(data,mainwidget);
+ menuwidget=new Menu::MenuWidget(data,mainwidget);
mainlayout->addWidget(menuwidget);
- fretboard=new FretBoard(data,mainwidget);
+ fretboard=new Graph::FretBoard(data,mainwidget);
mainlayout->addWidget(fretboard);
}
diff --git a/noncore/multimedia/tonleiter/mainwidget.h b/noncore/multimedia/tonleiter/mainwidget.h
index 71b5ba9..9bb593c 100644
--- a/noncore/multimedia/tonleiter/mainwidget.h
+++ b/noncore/multimedia/tonleiter/mainwidget.h
@@ -11,9 +11,9 @@ class MainWidget : public QMainWindow
{
Q_OBJECT
private:
- TonleiterData* data;
- MenuWidget* menuwidget;
- FretBoard* fretboard;
+ Data::TonleiterData* data;
+ Menu::MenuWidget* menuwidget;
+ Graph::FretBoard* fretboard;
public:
MainWidget(QWidget* parent=0,const char* name="MainWidget",WFlags f=0);
virtual ~MainWidget();
diff --git a/noncore/multimedia/tonleiter/menuwidget.cpp b/noncore/multimedia/tonleiter/menuwidget.cpp
index 3dfa09d..1e3742c 100644
--- a/noncore/multimedia/tonleiter/menuwidget.cpp
+++ b/noncore/multimedia/tonleiter/menuwidget.cpp
@@ -3,7 +3,10 @@
#include <qlabel.h>
#include <qlayout.h>
-MenuWidget::MenuWidget(TonleiterData* data,QWidget* parent,const char* name,WFlags f)
+#include "editinst.h"
+#include "editscale.h"
+
+Menu::MenuWidget::MenuWidget(TonleiterData* data,QWidget* parent,const char* name,WFlags f)
:QWidget(parent,name,f),data(data)
{
QGridLayout* layout=new QGridLayout(this,3,3,10,-1,"menulayout");
@@ -14,6 +17,7 @@ MenuWidget::MenuWidget(TonleiterData* data,QWidget* parent,const char* name,WFla
connect(boxInst,SIGNAL(activated(int)),data,SLOT(setCurrentInstrumetID(int)));
layout->addWidget(boxInst,0,1);
editInst=new QPushButton(tr("Edit"),this,"editInst");
+ connect(editInst,SIGNAL(pressed()),this,SLOT(editInstPressed()));
layout->addWidget(editInst,0,2);
QLabel* noteLabel=new QLabel(tr("Note"),this,"noteLabel");
@@ -35,17 +39,30 @@ MenuWidget::MenuWidget(TonleiterData* data,QWidget* parent,const char* name,WFla
connect(boxScale,SIGNAL(activated(int)),data,SLOT(setCurrentScaleID(int)));
layout->addWidget(boxScale,2,1);
editScale=new QPushButton(tr("Edit"),this,"editScale");
+ connect(editScale,SIGNAL(pressed()),this,SLOT(editScalePressed()));
layout->addWidget(editScale,2,2);
updateBoxes();
}
//****************************************************************************
-MenuWidget::~MenuWidget()
+Menu::MenuWidget::~MenuWidget()
+{
+}
+//****************************************************************************
+void Menu::MenuWidget::editInstPressed()
+{
+ InstEditDialog* instdialog=new InstEditDialog(data,this);
+ instdialog->exec();
+}
+//****************************************************************************
+void Menu::MenuWidget::editScalePressed()
{
+ ScaleEditDialog* scaledialog=new ScaleEditDialog(data,this);
+ scaledialog->exec();
}
//****************************************************************************
-void MenuWidget::updateBoxes()
+void Menu::MenuWidget::updateBoxes()
{
boxInst->clear();
diff --git a/noncore/multimedia/tonleiter/menuwidget.h b/noncore/multimedia/tonleiter/menuwidget.h
index 2635f8a..044a3e6 100644
--- a/noncore/multimedia/tonleiter/menuwidget.h
+++ b/noncore/multimedia/tonleiter/menuwidget.h
@@ -9,6 +9,9 @@
#include "tonleiterdata.h"
+using namespace Data;
+namespace Menu
+{
class MenuWidget : public QWidget
{
Q_OBJECT
@@ -23,8 +26,12 @@ private:
public:
MenuWidget(TonleiterData* data,QWidget* parent,const char* name="MenuWidget",WFlags f=0);
~MenuWidget();
+ private slots:
+ void editInstPressed();
+ void editScalePressed();
public slots:
void updateBoxes();
};
+};
#endif //TONLEITER_MENU_WIDGET_H
diff --git a/noncore/multimedia/tonleiter/tonleiter.pro b/noncore/multimedia/tonleiter/tonleiter.pro
index bf19c3a..2b0a798 100644
--- a/noncore/multimedia/tonleiter/tonleiter.pro
+++ b/noncore/multimedia/tonleiter/tonleiter.pro
@@ -1,8 +1,8 @@
TEMPLATE = app
#CONFIG = qt warn_on debug
CONFIG = qt warn_on release
-HEADERS = mainwidget.h tonleiterdata.h tonleiterdatahelper.h fretboard.h menuwidget.h
-SOURCES = mainwidget.cpp tonleiterdata.cpp tonleiterdatahelper.cpp fretboard.cpp menuwidget.cpp main.cpp
+HEADERS = mainwidget.h tonleiterdata.h tonleiterdatahelper.h fretboard.h menuwidget.h editinst.h editscale.h
+SOURCES = mainwidget.cpp tonleiterdata.cpp tonleiterdatahelper.cpp fretboard.cpp menuwidget.cpp main.cpp editinst.cpp editscale.cpp
INCLUDEPATH += $(OPIEDIR)/include
DEPENDPATH += $(OPIEDIR)/include
LIBS += -lqpe
diff --git a/noncore/multimedia/tonleiter/tonleiterdata.cpp b/noncore/multimedia/tonleiter/tonleiterdata.cpp
index e1ecb5a..946d4e3 100644
--- a/noncore/multimedia/tonleiter/tonleiterdata.cpp
+++ b/noncore/multimedia/tonleiter/tonleiterdata.cpp
@@ -2,6 +2,9 @@
#include <qpe/config.h>
+using namespace Data;
+
+
TonleiterData::TonleiterData(QObject* parent)
:QObject(parent)
{
@@ -49,50 +52,30 @@ void TonleiterData::setDrawNames(bool dn)
//****************************************************************************
void TonleiterData::loadData()
{
-/*
- QValueList<int> strings1;
- strings1.append(Note::getNoteFromName("B",0));
- strings1.append(Note::getNoteFromName("E",1));
- strings1.append(Note::getNoteFromName("A",1));
- strings1.append(Note::getNoteFromName("D",2));
- strings1.append(Note::getNoteFromName("G",2));
- strings1.append(Note::getNoteFromName("C",3));
- instruments.append(Instrument("Thumb6",26,strings1));
-
- QValueList<int> strings2;
- strings2.append(Note::getNoteFromName("E",1));
- strings2.append(Note::getNoteFromName("A",1));
- strings2.append(Note::getNoteFromName("D",2));
- strings2.append(Note::getNoteFromName("G",2));
- instruments.append(Instrument("Bass 4",12,strings2));
-
- currentInstrumentID=1;
-
- QValueList<int> scale1;
- scale1.append(0);
- scale1.append(2);
- scale1.append(3);
- scale1.append(5);
- scale1.append(7);
- scale1.append(8);
- scale1.append(10);
- scales.append(Scale("Minor",scale1));
-
- QValueList<int> scale2;
- scale2.append(0);
- scale2.append(2);
- scale2.append(4);
- scale2.append(5);
- scale2.append(7);
- scale2.append(9);
- scale2.append(10);
- scales.append(Scale("Major",scale2));
+ Config load("Tonleiter");
+ if(!load.isValid())
+ {
+ //write some default values
+ load.setGroup("General");
+ load.writeEntry("currentInstrumentID",1);
+ load.writeEntry("currentNote",0);
+ load.writeEntry("currentScaleID",1);
+ load.writeEntry("drawnames",1);
+ load.setGroup("Instrument");
+ load.writeEntry("Inst0","Thumb6;26;11;16;21;26;31;36;");
+ load.writeEntry("Inst1","Bass 4;12;16;21;26;31;");
+ load.writeEntry("noOfInstruments",2);
+ load.setGroup("Scale");
+ load.writeEntry("Scale0","ionian;0;2;4;5;7;9;11;");
+ load.writeEntry("Scale1","aeolian;0;2;3;5;7;8;10;");
+ load.writeEntry("Scale2","dorian;0;2;3;5;7;9;10;");
+ load.writeEntry("Scale3","phrygian;0;1;3;5;7;8;10;");
+ load.writeEntry("Scale4","lydian;0;2;4;6;7;9;11;");
+ load.writeEntry("Scale5","mixolyd.;0;2;4;5;7;9;10;");
+ load.writeEntry("noOfScales",6);
- currentScaleID=0;
+ }
- currentNote=Note::getNoteFromName("A",0);
-*/
- Config load("Tonleiter");
load.setGroup("General");
currentNote=load.readNumEntry("currentNote");
drawnames=load.readBoolEntry("drawnames");
diff --git a/noncore/multimedia/tonleiter/tonleiterdata.h b/noncore/multimedia/tonleiter/tonleiterdata.h
index a5e6884..71d05fd 100644
--- a/noncore/multimedia/tonleiter/tonleiterdata.h
+++ b/noncore/multimedia/tonleiter/tonleiterdata.h
@@ -5,6 +5,8 @@
#include "tonleiterdatahelper.h"
+namespace Data
+{
class TonleiterData : public QObject
{
Q_OBJECT
@@ -42,5 +44,6 @@ public:
int getCurrentBaseNote();
bool isDrawNames();
};
+};
#endif //TONLEITER_DATA_H
diff --git a/noncore/multimedia/tonleiter/tonleiterdatahelper.cpp b/noncore/multimedia/tonleiter/tonleiterdatahelper.cpp
index c52e0da..5714cea 100644
--- a/noncore/multimedia/tonleiter/tonleiterdatahelper.cpp
+++ b/noncore/multimedia/tonleiter/tonleiterdatahelper.cpp
@@ -1,5 +1,7 @@
#include "tonleiterdatahelper.h"
+using namespace Data;
+
int Note::getOctaveOfNote(int note)
{
int remain=note%12;
diff --git a/noncore/multimedia/tonleiter/tonleiterdatahelper.h b/noncore/multimedia/tonleiter/tonleiterdatahelper.h
index 94895ea..b79162a 100644
--- a/noncore/multimedia/tonleiter/tonleiterdatahelper.h
+++ b/noncore/multimedia/tonleiter/tonleiterdatahelper.h
@@ -4,6 +4,8 @@
#include <qstring.h>
#include <qvaluelist.h>
+namespace Data
+{
namespace Note
{
const QString notenames[]={"C","C#","D","D#","E","F","F#","G","G#","A","A#","B"};
@@ -47,7 +49,7 @@ public:
QString scaleName();
bool noteInScale(int base,int note);
};
-
+};
#endif //TONLEITER_DATA_HELPER_H