Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/python/_sugar.defs28
-rw-r--r--lib/python/_sugar.override1
-rw-r--r--lib/src/Makefile.am26
-rw-r--r--lib/src/sugar-audio-manager.c38
-rw-r--r--lib/src/sugar-audio-manager.h51
-rw-r--r--shell/view/Shell.py18
6 files changed, 149 insertions, 13 deletions
diff --git a/lib/python/_sugar.defs b/lib/python/_sugar.defs
index bf40d1c..bead7b4 100644
--- a/lib/python/_sugar.defs
+++ b/lib/python/_sugar.defs
@@ -49,6 +49,14 @@
(gtype-id "SUGAR_TYPE_DOWNLOAD")
)
+(define-object AudioManager
+ (in-module "Sugar")
+ (parent "GObject")
+ (c-name "SugarAudioManager")
+ (gtype-id "SUGAR_TYPE_AUDIO_MANAGER")
+)
+
+
;; Enumerations and flags ...
@@ -239,3 +247,23 @@
'("GdkPixbuf*" "pixbuf")
)
)
+;; Enumerations and flags ...
+
+
+;; From sugar-audio-manager.h
+
+(define-function audio_manager_get_type
+ (c-name "sugar_audio_manager_get_type")
+ (return-type "GType")
+)
+
+(define-method set_volume
+ (of-object "SugarAudioManager")
+ (c-name "sugar_audio_manager_set_volume")
+ (return-type "none")
+ (parameters
+ '("int" "level")
+ )
+)
+
+
diff --git a/lib/python/_sugar.override b/lib/python/_sugar.override
index ae106da..6e0fe72 100644
--- a/lib/python/_sugar.override
+++ b/lib/python/_sugar.override
@@ -11,6 +11,7 @@ headers
#include "sugar-push-scroller.h"
#include "sugar-download-manager.h"
#include "sugar-download.h"
+#include "sugar-audio-manager.h"
#include <pygtk/pygtk.h>
#include <glib.h>
diff --git a/lib/src/Makefile.am b/lib/src/Makefile.am
index 3b51f1c..ce4ec78 100644
--- a/lib/src/Makefile.am
+++ b/lib/src/Makefile.am
@@ -11,24 +11,26 @@ noinst_LTLIBRARIES = libsugarprivate.la
libsugarprivate_la_LIBADD = $(GECKO_LIBS)
-libsugarprivate_la_SOURCES = \
- $(BUILT_SOURCES) \
- eggaccelerators.h \
- eggaccelerators.c \
+libsugarprivate_la_SOURCES = \
+ $(BUILT_SOURCES) \
+ eggaccelerators.h \
+ eggaccelerators.c \
GeckoContentHandler.h \
GeckoContentHandler.cpp \
- GeckoDownload.h \
- GeckoDownload.cpp \
+ GeckoDownload.h \
+ GeckoDownload.cpp \
sugar-address-entry.h \
sugar-address-entry.c \
- sugar-browser.h \
- sugar-browser.cpp \
- sugar-download.h \
- sugar-download.c \
+ sugar-audio-manager.c \
+ sugar-audio-manager.h \
+ sugar-browser.h \
+ sugar-browser.cpp \
+ sugar-download.h \
+ sugar-download.c \
sugar-download-manager.h \
sugar-download-manager.c \
- sugar-key-grabber.h \
- sugar-key-grabber.c \
+ sugar-key-grabber.h \
+ sugar-key-grabber.c \
sugar-push-scroller.c \
sugar-push-scroller.h \
sugar-tray-manager.c \
diff --git a/lib/src/sugar-audio-manager.c b/lib/src/sugar-audio-manager.c
new file mode 100644
index 0000000..6444f11
--- /dev/null
+++ b/lib/src/sugar-audio-manager.c
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2006 Red Hat, Inc
+ *
+ * Sugar is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Sugar is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#include "sugar-audio-manager.h"
+
+G_DEFINE_TYPE(SugarAudioManager, sugar_audio_manager, G_TYPE_OBJECT)
+
+static void
+sugar_audio_manager_class_init(SugarAudioManagerClass *grabber_class)
+{
+ GObjectClass *g_object_class = G_OBJECT_CLASS (grabber_class);
+}
+
+static void
+sugar_audio_manager_init(SugarAudioManager *grabber)
+{
+}
+
+void
+sugar_audio_manager_set_volume (SugarAudioManager *manager,
+ int level)
+{
+}
diff --git a/lib/src/sugar-audio-manager.h b/lib/src/sugar-audio-manager.h
new file mode 100644
index 0000000..3df8cef
--- /dev/null
+++ b/lib/src/sugar-audio-manager.h
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2006 Red Hat, Inc
+ *
+ * Sugar is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Sugar is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __SUGAR_AUDIO_MANAGER_H__
+#define __SUGAR_AUDIO_MANAGER_H__
+
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+typedef struct _SugarAudioManager SugarAudioManager;
+typedef struct _SugarAudioManagerClass SugarAudioManagerClass;
+typedef struct _SugarAudioManagerPrivate SugarAudioManagerPrivate;
+
+#define SUGAR_TYPE_AUDIO_MANAGER (sugar_audio_manager_get_type())
+#define SUGAR_AUDIO_MANAGER(object) (G_TYPE_CHECK_INSTANCE_CAST((object), SUGAR_TYPE_AUDIO_MANAGER, SugarAudioManager))
+#define SUGAR_AUDIO_MANAGER_CLASS(klass) (G_TYPE_CHACK_CLASS_CAST((klass), SUGAR_TYPE_AUDIO_MANAGER, SugarAudioManagerClass))
+#define SUGAR_IS_AUDIO_MANAGER(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), SUGAR_TYPE_AUDIO_MANAGER))
+#define SUGAR_IS_AUDIO_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), SUGAR_TYPE_AUDIO_MANAGER))
+#define SUGAR_AUDIO_MANAGER_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS((object), SUGAR_TYPE_AUDIO_MANAGER, SugarAudioManagerClass))
+
+struct _SugarAudioManager {
+ GObject base_instance;
+};
+
+struct _SugarAudioManagerClass {
+ GObjectClass base_class;
+};
+
+GType sugar_audio_manager_get_type (void);
+void sugar_audio_manager_set_volume (SugarAudioManager *manager,
+ int level);
+
+G_END_DECLS
+
+#endif /* __SUGAR_AUDIO_MANAGER_H__ */
diff --git a/shell/view/Shell.py b/shell/view/Shell.py
index f6d47fb..bace0f9 100644
--- a/shell/view/Shell.py
+++ b/shell/view/Shell.py
@@ -31,6 +31,7 @@ from sugar.activity import Activity
from view.frame.Frame import Frame
from view.dconmanager import DCONManager
from _sugar import KeyGrabber
+from _sugar import AudioManager
import sugar
class Shell(gobject.GObject):
@@ -45,6 +46,7 @@ class Shell(gobject.GObject):
style.load_stylesheet(view.stylesheet)
self._dcon_manager = DCONManager()
+ self._audio_manager = AudioManager()
self._key_grabber = KeyGrabber()
self._key_grabber.connect('key-pressed',
@@ -66,7 +68,7 @@ class Shell(gobject.GObject):
self._frame = Frame(self)
self._frame.show_and_hide(3)
- self.start_activity('org.laptop.JournalActivity')
+ #self.start_activity('org.laptop.JournalActivity')
def _handle_camera_key(self):
if self._current_host:
@@ -116,6 +118,20 @@ class Shell(gobject.GObject):
self._dcon_manager.set_brightness(12)
elif key == 'F8':
self._dcon_manager.set_brightness(15)
+ elif key == 'F9':
+ self._audio_manager.set_volume(0)
+ elif key == 'F19':
+ self._audio_manager.set_volume(16)
+ elif key == 'F10':
+ self._audio_manager.set_volume(32)
+ elif key == 'F20':
+ self._audio_manager.set_volume(48)
+ elif key == 'F11':
+ self._audio_manager.set_volume(64)
+ elif key == 'F21':
+ self._audio_manager.set_volume(80)
+ elif key == 'F12':
+ self._audio_manager.set_volume(100)
elif key == '<alt>F5':
self._dcon_manager.set_mode(DCONManager.COLOR_MODE)
elif key == '<alt>F8':