|
From: Tapio V. <aa...@us...> - 2011-01-05 15:46:20
|
Module: editor
Branch: master
Commit: 19ee456d26a5d90a8fc6ecd48807fe0a95f1f317
Author: Tapio Vierros <tap...@gm...>
Date: Wed Jan 5 17:44:53 2011 +0200
Add a couple of menu actions to test signals.
---
CMakeLists.txt | 5 ++++-
editor.ui | 28 ++++++++++++++--------------
editorapp.cc | 25 +++++++++++++++++++++++++
editorapp.hh | 18 ++++++++++++++++++
main.cc | 9 +++------
5 files changed, 64 insertions(+), 21 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a27e03a..a0714df 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -17,6 +17,9 @@ endif(NOT CMAKE_BUILD_TYPE)
find_package(Qt4 REQUIRED) # find and setup Qt4 for this project
include(${QT_USE_FILE})
+# Headers that need MOC need to be defined separately
+file(GLOB MOC_HEADER_FILES "editorapp.hh")
+
file(GLOB SOURCE_FILES "*.cc")
file(GLOB HEADER_FILES "*.hh")
file(GLOB RESOURCE_FILES "*.qrc")
@@ -24,7 +27,7 @@ file(GLOB UI_FILES "*.ui")
QT4_ADD_RESOURCES(RESOURCE_SOURCES ${RESOURCE_FILES})
QT4_WRAP_UI(UI_SOURCES ${UI_FILES} )
-QT4_AUTOMOC(MOC_SOURCES ${SOURCE_FILES})
+QT4_WRAP_CPP(MOC_SOURCES ${MOC_HEADER_FILES})
include_directories(${CMAKE_BINARY_DIR})
include_directories(${CMAKE_SOURCE_DIR})
diff --git a/editor.ui b/editor.ui
index 085d819..07f40b1 100644
--- a/editor.ui
+++ b/editor.ui
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
- <class>MainWindow</class>
- <widget class="QMainWindow" name="MainWindow">
+ <class>EditorApp</class>
+ <widget class="QMainWindow" name="EditorApp">
<property name="geometry">
<rect>
<x>0</x>
@@ -104,13 +104,13 @@
<property name="title">
<string>&File</string>
</property>
- <addaction name="action_New"/>
- <addaction name="action_Open"/>
+ <addaction name="actionNew"/>
+ <addaction name="actionOpen"/>
<addaction name="separator"/>
- <addaction name="action_Save"/>
- <addaction name="actionS_ave_as"/>
+ <addaction name="actionSave"/>
+ <addaction name="actionSaveAs"/>
<addaction name="separator"/>
- <addaction name="actionE_xit"/>
+ <addaction name="actionExit"/>
</widget>
<widget class="QMenu" name="menu_Edit">
<property name="title">
@@ -121,39 +121,39 @@
<property name="title">
<string>&Help</string>
</property>
- <addaction name="action_About"/>
+ <addaction name="actionAbout"/>
</widget>
<addaction name="menu_File"/>
<addaction name="menu_Edit"/>
<addaction name="menu_Help"/>
</widget>
<widget class="QStatusBar" name="statusbar"/>
- <action name="action_About">
+ <action name="actionAbout">
<property name="text">
<string>&About</string>
</property>
</action>
- <action name="action_New">
+ <action name="actionNew">
<property name="text">
<string>&New</string>
</property>
</action>
- <action name="action_Open">
+ <action name="actionOpen">
<property name="text">
<string>&Open</string>
</property>
</action>
- <action name="action_Save">
+ <action name="actionSave">
<property name="text">
<string>&Save</string>
</property>
</action>
- <action name="actionS_ave_as">
+ <action name="actionSaveAs">
<property name="text">
<string>S&ave as...</string>
</property>
</action>
- <action name="actionE_xit">
+ <action name="actionExit">
<property name="text">
<string>E&xit</string>
</property>
diff --git a/editorapp.cc b/editorapp.cc
new file mode 100644
index 0000000..6f991b5
--- /dev/null
+++ b/editorapp.cc
@@ -0,0 +1,25 @@
+#include <QtGui>
+#include <cstdlib>
+#include "editorapp.hh"
+
+
+EditorApp::EditorApp(QWidget *parent): QMainWindow(parent)
+{
+ ui.setupUi(this);
+
+ // Signals/slots
+ //connect(ui.actionAbout, SIGNAL(triggered()), this, SLOT(about()));
+ //connect(ui.actionExit, SIGNAL(triggered()), this, SLOT(quit()));
+}
+
+void EditorApp::on_actionAbout_triggered()
+{
+ QMessageBox::about(this, "About",
+ "Semi-automatic karaoke song editor.\n"
+ );
+}
+
+void EditorApp::on_actionExit_triggered()
+{
+ exit(0); // Hack
+}
diff --git a/editorapp.hh b/editorapp.hh
new file mode 100644
index 0000000..2258e27
--- /dev/null
+++ b/editorapp.hh
@@ -0,0 +1,18 @@
+#pragma once
+
+#include "ui_editor.h"
+
+class EditorApp: public QMainWindow
+{
+ Q_OBJECT
+
+public:
+ EditorApp(QWidget *parent = 0);
+
+public slots:
+ void on_actionAbout_triggered();
+ void on_actionExit_triggered();
+
+private:
+ Ui_EditorApp ui;
+};
diff --git a/main.cc b/main.cc
index 4047570..184c390 100644
--- a/main.cc
+++ b/main.cc
@@ -39,9 +39,8 @@
****************************************************************************/
#include <QApplication>
-#include <QScrollArea>
-#include <QHBoxLayout>
-#include "ui_editor.h"
+
+#include "editorapp.hh"
int main(int argc, char *argv[])
{
@@ -52,9 +51,7 @@ int main(int argc, char *argv[])
QApplication::setNavigationMode(Qt::NavigationModeCursorAuto);
#endif
- QMainWindow window;
- Ui_MainWindow ui;
- ui.setupUi(&window);
+ EditorApp window;
bool smallScreen = QApplication::arguments().contains("-small-screen");
if (smallScreen)
|