disable DeleteAllSms
git-svn-id: http://www.neo1973-germany.de/svn@228 46df4e5c-bc4e-4628-a0fc-830ba316316d
This commit is contained in:
parent
ee5c243203
commit
34ce50a97c
5 changed files with 449 additions and 11 deletions
51
epydial/audio_screen.py
Normal file
51
epydial/audio_screen.py
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
#!/usr/bin/env python2.5
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
__author__ = "Soeren Apel (abraxa@dar-clan.de), Frank Gau (fgau@gau-net.de), Thomas Gstaedner (thomas (a) gstaedtner (.) net)"
|
||||||
|
__version__ = "prototype"
|
||||||
|
__copyright__ = "Copyright (c) 2008"
|
||||||
|
__license__ = "GPL3"
|
||||||
|
|
||||||
|
from epydial import *
|
||||||
|
|
||||||
|
class AudioScreen(EdjeGroup):
|
||||||
|
toggle = 0
|
||||||
|
|
||||||
|
def __init__(self, screen_manager):
|
||||||
|
EdjeGroup.__init__(self, screen_manager, AUDIO_SCREEN_NAME)
|
||||||
|
PyneoController.get_mp3_tags()
|
||||||
|
|
||||||
|
def register_pyneo_callbacks(self):
|
||||||
|
PyneoController.register_callback("on_get_mp3_tags", self.on_get_mp3_tags)
|
||||||
|
|
||||||
|
def on_get_mp3_tags(self, status):
|
||||||
|
self.part_text_set("mp3_tags", "artist: %s<br>album: %s<br>title: %s" % (status['artist'], status['album'], status['title']))
|
||||||
|
|
||||||
|
@edje.decorators.signal_callback("music_player_send", "*")
|
||||||
|
def on_edje_signal_audio_screen_triggered(self, emission, source):
|
||||||
|
# if source == "button_play_pause":
|
||||||
|
# self.signal_emit("button_play_pause", " ")
|
||||||
|
# PyneoController.pause_music()
|
||||||
|
# PyneoController.show_dialer_screen()
|
||||||
|
if source == "play_pause":
|
||||||
|
if self.toggle == 0:
|
||||||
|
self.signal_emit("key1", "")
|
||||||
|
PyneoController.play_music()
|
||||||
|
self.toggle = 1
|
||||||
|
elif self.toggle == 1:
|
||||||
|
self.signal_emit("key2", "")
|
||||||
|
PyneoController.pause_music()
|
||||||
|
self.toggle = 0
|
||||||
|
PyneoController.get_mp3_tags()
|
||||||
|
if source == "stop":
|
||||||
|
self.signal_emit("key2", "")
|
||||||
|
PyneoController.pause_music()
|
||||||
|
self.toggle = 0
|
||||||
|
PyneoController.stop_music()
|
||||||
|
PyneoController.get_mp3_tags()
|
||||||
|
if source == "track_right":
|
||||||
|
PyneoController.next_music()
|
||||||
|
PyneoController.get_mp3_tags()
|
||||||
|
if source == "track_left":
|
||||||
|
PyneoController.previous_music()
|
||||||
|
PyneoController.get_mp3_tags()
|
||||||
|
print 'source: ', source
|
346
epydial/data/themes/blackwhite/audio_screen.edc
Executable file
346
epydial/data/themes/blackwhite/audio_screen.edc
Executable file
|
@ -0,0 +1,346 @@
|
||||||
|
// audio_screen.edc
|
||||||
|
// this is a theme for epydial, a pyneo dialer and more
|
||||||
|
|
||||||
|
data {
|
||||||
|
item: "author" "thomasg [thomas (a) gstaedtner (.) net] , fgau (fgau@gau-net.de)";
|
||||||
|
item: "version" "prototype";
|
||||||
|
item: "name" "epydial_blackwhite";
|
||||||
|
}
|
||||||
|
|
||||||
|
fonts {
|
||||||
|
font: "Vera.ttf" "Vera";
|
||||||
|
font: "VeraBd.ttf" "VeraBd";
|
||||||
|
}
|
||||||
|
|
||||||
|
images {
|
||||||
|
image: "bg.png" COMP;
|
||||||
|
image: "play.png" COMP;
|
||||||
|
image: "pause.png" COMP;
|
||||||
|
image: "track_left.png" COMP;
|
||||||
|
image: "track_right.png" COMP;
|
||||||
|
image: "stop.png" COMP;
|
||||||
|
}
|
||||||
|
|
||||||
|
color_classes {
|
||||||
|
color_class {
|
||||||
|
name: "unvisible";
|
||||||
|
color: 0 0 0 0;
|
||||||
|
color2: 128 128 128 255;
|
||||||
|
color3: 128 128 128 255;
|
||||||
|
}
|
||||||
|
color_class {
|
||||||
|
name: "button_inactive";
|
||||||
|
color: 255 255 255 128;
|
||||||
|
color2: 128 128 128 255;
|
||||||
|
color3: 128 128 128 255;;
|
||||||
|
}
|
||||||
|
color_class {
|
||||||
|
name: "scale";
|
||||||
|
color: 255 255 255 64;
|
||||||
|
color2: 0 0 0 255;
|
||||||
|
color3: 0 0 0 255;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
styles {
|
||||||
|
style {
|
||||||
|
name: "textblock_style";
|
||||||
|
base: "font=Vera font_size=20 align=left valign=top color=#fff";
|
||||||
|
tag: "h1" "+ font_size=28";
|
||||||
|
tag: "/h1" "- \n";
|
||||||
|
tag: "p" "+";
|
||||||
|
tag: "/p" "- \n";
|
||||||
|
tag: "em" "+ style=underline underline_color=#000A underline2_color=#0005";
|
||||||
|
tag: "/em" "-";
|
||||||
|
tag: "br" "\n";
|
||||||
|
tag: "c1" "+ color=#fff";
|
||||||
|
tag: "/c1" "-";
|
||||||
|
tag: "c2" "+ color=#f3f";
|
||||||
|
tag: "/c2" "-";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#define key(n, x, y)\
|
||||||
|
part {\
|
||||||
|
name: n;\
|
||||||
|
type: IMAGE;\
|
||||||
|
description {\
|
||||||
|
image {\
|
||||||
|
normal: n".png";\
|
||||||
|
}\
|
||||||
|
rel1 {\
|
||||||
|
to: pad;\
|
||||||
|
relative: (x+1)/4-1/8 (y+1)/5-1/10;\
|
||||||
|
offset: -50 -50;\
|
||||||
|
}\
|
||||||
|
rel2 {\
|
||||||
|
to: pad;\
|
||||||
|
relative: (x+1)/4-1/8 (y+1)/5-1/10;\
|
||||||
|
offset: 50 50;\
|
||||||
|
}\
|
||||||
|
}\
|
||||||
|
}\
|
||||||
|
program { \
|
||||||
|
name: "button_"n"_signal_emit"; \
|
||||||
|
signal: "mouse,down,*"; \
|
||||||
|
source: n; \
|
||||||
|
action: SIGNAL_EMIT "music_player_send" n; \
|
||||||
|
} \
|
||||||
|
|
||||||
|
#define key_play_pause(n, n1, n2, x, y)\
|
||||||
|
part {\
|
||||||
|
name: n;\
|
||||||
|
type: IMAGE;\
|
||||||
|
description {\
|
||||||
|
state: "default" 0; \
|
||||||
|
image {\
|
||||||
|
normal: n1".png";\
|
||||||
|
}\
|
||||||
|
rel1 {\
|
||||||
|
to: pad;\
|
||||||
|
relative: (x+1)/4-1/8 (y+1)/5-1/10;\
|
||||||
|
offset: -50 -50;\
|
||||||
|
}\
|
||||||
|
rel2 {\
|
||||||
|
to: pad;\
|
||||||
|
relative: (x+1)/4-1/8 (y+1)/5-1/10;\
|
||||||
|
offset: 50 50;\
|
||||||
|
}\
|
||||||
|
}\
|
||||||
|
description {\
|
||||||
|
state: "default" 1; \
|
||||||
|
image {\
|
||||||
|
normal: n2".png";\
|
||||||
|
}\
|
||||||
|
rel1 {\
|
||||||
|
to: pad;\
|
||||||
|
relative: (x+1)/4-1/8 (y+1)/5-1/10;\
|
||||||
|
offset: -50 -50;\
|
||||||
|
}\
|
||||||
|
rel2 {\
|
||||||
|
to: pad;\
|
||||||
|
relative: (x+1)/4-1/8 (y+1)/5-1/10;\
|
||||||
|
offset: 50 50;\
|
||||||
|
}\
|
||||||
|
}\
|
||||||
|
}\
|
||||||
|
program { \
|
||||||
|
name: "button_"n"_signal_emit"; \
|
||||||
|
signal: "mouse,down,*"; \
|
||||||
|
source: n; \
|
||||||
|
action: SIGNAL_EMIT "music_player_send" n; \
|
||||||
|
} \
|
||||||
|
program { \
|
||||||
|
name: "press_key1"; \
|
||||||
|
signal: "key1"; \
|
||||||
|
action: STATE_SET "default" 1; \
|
||||||
|
target: n; \
|
||||||
|
} \
|
||||||
|
program { \
|
||||||
|
name: "press_key2"; \
|
||||||
|
signal: "key2"; \
|
||||||
|
action: STATE_SET "default" 0; \
|
||||||
|
target: n; \
|
||||||
|
} \
|
||||||
|
|
||||||
|
#define HBAR(barname, bordercolor, borderwidth, rel1x, rel1y, rel2x, rel2y, left_right_offset) \
|
||||||
|
part { \
|
||||||
|
name: "description_"barname; \
|
||||||
|
type: TEXT; \
|
||||||
|
mouse_events: 0; \
|
||||||
|
description { \
|
||||||
|
color_class: bordercolor; \
|
||||||
|
rel1 { relative: rel1x rel1y; }; \
|
||||||
|
rel2 { relative: rel2x rel2y; }; \
|
||||||
|
text { \
|
||||||
|
text: barname; \
|
||||||
|
font: "VeraBd"; \
|
||||||
|
size: 16; \
|
||||||
|
} \
|
||||||
|
} \
|
||||||
|
} \
|
||||||
|
part { \
|
||||||
|
name: "button_left_bg_"barname; \
|
||||||
|
type: RECT; \
|
||||||
|
description { \
|
||||||
|
state: "default" 0; \
|
||||||
|
color_class: "unvisible"; \
|
||||||
|
rel1 { relative: rel1x rel1y; offset: 0 0; }; \
|
||||||
|
rel2 { relative: rel2x/4 rel2y; offset: 0 0; }; \
|
||||||
|
} \
|
||||||
|
description { \
|
||||||
|
state: "default" 0.5; \
|
||||||
|
inherit: "default" 0; \
|
||||||
|
color_class: "unvisible"; \
|
||||||
|
rel1.offset: 0 -5; \
|
||||||
|
rel2.offset: 0 5; \
|
||||||
|
} \
|
||||||
|
description { \
|
||||||
|
state: "default" 1; \
|
||||||
|
inherit: "default" 0; \
|
||||||
|
} \
|
||||||
|
} \
|
||||||
|
part { \
|
||||||
|
name: "button_right_bg_"barname; \
|
||||||
|
type: RECT; \
|
||||||
|
description { \
|
||||||
|
state: "default" 0; \
|
||||||
|
color_class: "unvisible"; \
|
||||||
|
rel1 { relative: 1-rel2x/4 rel1y; offset: 0 0; }; \
|
||||||
|
rel2 { relative: rel2x rel2y; offset: 0 0; }; \
|
||||||
|
} \
|
||||||
|
description { \
|
||||||
|
state: "default" 0.5; \
|
||||||
|
inherit: "default" 0; \
|
||||||
|
color_class: "unvisible"; \
|
||||||
|
rel1.offset: 0 -5; \
|
||||||
|
rel2.offset: 0 5; \
|
||||||
|
} \
|
||||||
|
description { \
|
||||||
|
state: "default" 1; \
|
||||||
|
inherit: "default" 0; \
|
||||||
|
} \
|
||||||
|
} \
|
||||||
|
part { \
|
||||||
|
name: "button_left_"barname; \
|
||||||
|
type: TEXT; \
|
||||||
|
mouse_events: 0; \
|
||||||
|
description { \
|
||||||
|
state: "default" 0; \
|
||||||
|
color_class: bordercolor; \
|
||||||
|
rel1 { to: "button_left_bg_"barname; relative: 0 0; }; \
|
||||||
|
rel2 { to: "button_left_bg_"barname; relative: 1 1; }; \
|
||||||
|
text { \
|
||||||
|
text: "-"; \
|
||||||
|
font: "VeraBd"; \
|
||||||
|
size: 52; \
|
||||||
|
fit: 1 1; \
|
||||||
|
} \
|
||||||
|
} \
|
||||||
|
} \
|
||||||
|
part { \
|
||||||
|
name: "button_right_"barname; \
|
||||||
|
type: TEXT; \
|
||||||
|
mouse_events: 0; \
|
||||||
|
description { \
|
||||||
|
state: "default" 0; \
|
||||||
|
color_class: bordercolor; \
|
||||||
|
rel1 { to: "button_right_bg_"barname; relative: 0 0; }; \
|
||||||
|
rel2 { to: "button_right_bg_"barname; relative: 1 1; }; \
|
||||||
|
text { \
|
||||||
|
text: "+"; \
|
||||||
|
font: "VeraBd"; \
|
||||||
|
size: 52; \
|
||||||
|
fit: 1 1; \
|
||||||
|
} \
|
||||||
|
} \
|
||||||
|
} \
|
||||||
|
part { \
|
||||||
|
name: "scale_fg_"barname; \
|
||||||
|
type: RECT; \
|
||||||
|
mouse_events: 0; \
|
||||||
|
description { \
|
||||||
|
color_class: scale; \
|
||||||
|
rel1 { relative: rel2x/4 (rel1y+((rel2y-rel1y)/4)); }; \
|
||||||
|
rel2 { relative: 1-rel2x/4 (rel2y-((rel2y-rel1y)/4)); }; \
|
||||||
|
} \
|
||||||
|
} \
|
||||||
|
program { \
|
||||||
|
name: "button_left_bg_"barname"_animation"; \
|
||||||
|
signal: "mouse,down,*"; \
|
||||||
|
source: "button_left_bg_"barname; \
|
||||||
|
action: STATE_SET "default" 0.5; \
|
||||||
|
target: "button_left_bg_"barname; \
|
||||||
|
} \
|
||||||
|
program { \
|
||||||
|
name: "button_left_bg_"barname"_animation_end"; \
|
||||||
|
signal: "mouse,up,*"; \
|
||||||
|
source: "button_left_bg_"barname; \
|
||||||
|
action: STATE_SET "default" 1; \
|
||||||
|
target: "button_left_bg_"barname; \
|
||||||
|
transition: DECELERATE 0.1; \
|
||||||
|
} \
|
||||||
|
program { \
|
||||||
|
name: "button_right_bg_"barname"_animation"; \
|
||||||
|
signal: "mouse,down,*"; \
|
||||||
|
source: "button_right_bg_"barname; \
|
||||||
|
action: STATE_SET "default" 0.5; \
|
||||||
|
target: "button_right_bg_"barname; \
|
||||||
|
} \
|
||||||
|
program { \
|
||||||
|
name: "button_right_bg_"barname"_animation_end"; \
|
||||||
|
signal: "mouse,up,*"; \
|
||||||
|
source: "button_right_bg_"barname; \
|
||||||
|
action: STATE_SET "default" 1; \
|
||||||
|
target: "button_right_bg_"barname; \
|
||||||
|
transition: DECELERATE 0.1; \
|
||||||
|
} \
|
||||||
|
|
||||||
|
collections {
|
||||||
|
group {
|
||||||
|
name: "pyneo/audio/screen";
|
||||||
|
min: 100 100;
|
||||||
|
max: 800 800;
|
||||||
|
parts {
|
||||||
|
part {
|
||||||
|
name: "background";
|
||||||
|
type: IMAGE;
|
||||||
|
mouse_events: 0;
|
||||||
|
description {
|
||||||
|
state: "default" 0;
|
||||||
|
rel1 { relative: 0 0; offset: 0 0; };
|
||||||
|
rel2 { relative: 1 1; offset: 0 0; };
|
||||||
|
image { normal: "bg.png"; };
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part {
|
||||||
|
name: "headline";
|
||||||
|
type: TEXT;
|
||||||
|
description {
|
||||||
|
state: "default" 0;
|
||||||
|
color_class: "button_inactive";
|
||||||
|
rel1 { relative: 1/20 1/20; }
|
||||||
|
rel2 { relative: 19/20 3/20; }
|
||||||
|
text {
|
||||||
|
text: "music";
|
||||||
|
size: 20;
|
||||||
|
font: "VeraBd";
|
||||||
|
fit: 1 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part {
|
||||||
|
name: "mp3_tags";
|
||||||
|
type: TEXTBLOCK;
|
||||||
|
mouse_events: 0;
|
||||||
|
description {
|
||||||
|
color_class: "button_inactive";
|
||||||
|
align: 0.5 0.5;
|
||||||
|
fixed: 1 1;
|
||||||
|
rel1 { relative: 0 4/20; }
|
||||||
|
rel2 { relative: 1 7/20; }
|
||||||
|
text {
|
||||||
|
text: "";
|
||||||
|
style: "textblock_style";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part {
|
||||||
|
name: "pad";
|
||||||
|
type: RECT;
|
||||||
|
description {
|
||||||
|
visible: 0;
|
||||||
|
rel1 { relative: 0.0 1.0; offset: 25 -125; }
|
||||||
|
rel2 { relative: 1.0 1.0; offset: -25 -25; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
key("track_left", 0, 2)
|
||||||
|
key("stop", 1, 2)
|
||||||
|
key_play_pause("play_pause", "play", "pause", 2, 2)
|
||||||
|
key("track_right", 3, 2)
|
||||||
|
|
||||||
|
HBAR("volume", button_inactive, 1, 0, 46/70, 1, 56/70, 10);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -152,6 +152,11 @@ class DialerScreen(EdjeGroup):
|
||||||
self.text = []
|
self.text = []
|
||||||
self.part_text_set("numberdisplay_text", "".join(self.text))
|
self.part_text_set("numberdisplay_text", "".join(self.text))
|
||||||
PyneoController.show_sms_screen()
|
PyneoController.show_sms_screen()
|
||||||
|
elif source == "dial" and ''.join(self.text) == "9":
|
||||||
|
print '--- Audio Screen'
|
||||||
|
self.text = []
|
||||||
|
self.part_text_set("numberdisplay_text", "".join(self.text))
|
||||||
|
PyneoController.show_audio_screen()
|
||||||
elif source == "dial":
|
elif source == "dial":
|
||||||
PyneoController.show_incall_screen('outgoing')
|
PyneoController.show_incall_screen('outgoing')
|
||||||
PyneoController.gsm_dial("".join(self.text))
|
PyneoController.gsm_dial("".join(self.text))
|
||||||
|
|
|
@ -21,6 +21,7 @@ PIX_FILE_PATH = "/media/card/hon/"
|
||||||
TRACK_FILE_PATH = "/media/card/track/"
|
TRACK_FILE_PATH = "/media/card/track/"
|
||||||
DB_FILE_PATH = "data/db/my.sqlite"
|
DB_FILE_PATH = "data/db/my.sqlite"
|
||||||
PIX_WEATHER_FILE_PATH = "data/themes_data/blackwhite/images/stardock_weather/"
|
PIX_WEATHER_FILE_PATH = "data/themes_data/blackwhite/images/stardock_weather/"
|
||||||
|
MP3_FILE_PATH = "/media/card/mp3/"
|
||||||
|
|
||||||
DIALER_SCREEN_NAME = "pyneo/dialer/main"
|
DIALER_SCREEN_NAME = "pyneo/dialer/main"
|
||||||
INCALL_SCREEN_NAME = "pyneo/dialer/incall"
|
INCALL_SCREEN_NAME = "pyneo/dialer/incall"
|
||||||
|
@ -33,6 +34,7 @@ CONTACTS_SCREEN_NAME = "pyneo/contacts/screen"
|
||||||
SMS_SCREEN_NAME = "pyneo/sms/screen"
|
SMS_SCREEN_NAME = "pyneo/sms/screen"
|
||||||
SMS_DETAIL_SCREEN_NAME = "pyneo/sms/detail"
|
SMS_DETAIL_SCREEN_NAME = "pyneo/sms/detail"
|
||||||
WEATHER_SCREEN_NAME = "pyneo/weather/screen"
|
WEATHER_SCREEN_NAME = "pyneo/weather/screen"
|
||||||
|
AUDIO_SCREEN_NAME = "pyneo/audio/screen"
|
||||||
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from dbus import SystemBus
|
from dbus import SystemBus
|
||||||
|
@ -88,6 +90,8 @@ class PyneoController(object):
|
||||||
pwr = None
|
pwr = None
|
||||||
gps = None
|
gps = None
|
||||||
hon = None
|
hon = None
|
||||||
|
mp3 = None
|
||||||
|
mp3_music = None
|
||||||
gsm_wireless = None
|
gsm_wireless = None
|
||||||
gsm_keyring = None
|
gsm_keyring = None
|
||||||
gsm_sms = None
|
gsm_sms = None
|
||||||
|
@ -132,6 +136,7 @@ class PyneoController(object):
|
||||||
class_.gps = object_by_url('dbus:///org/pyneo/GpsLocation')
|
class_.gps = object_by_url('dbus:///org/pyneo/GpsLocation')
|
||||||
class_.hon = object_by_url('dbus:///org/pyneo/HotOrNot')
|
class_.hon = object_by_url('dbus:///org/pyneo/HotOrNot')
|
||||||
class_.hon_hotornot = object_by_url(class_.hon.GetDevice('hotornot', dbus_interface=DIN_POWERED))
|
class_.hon_hotornot = object_by_url(class_.hon.GetDevice('hotornot', dbus_interface=DIN_POWERED))
|
||||||
|
class_.mp3 = object_by_url('dbus:///org/pyneo/Player')
|
||||||
class_.call_type = 'nix'
|
class_.call_type = 'nix'
|
||||||
class_.brightness_value = 60
|
class_.brightness_value = 60
|
||||||
class_.call = None
|
class_.call = None
|
||||||
|
@ -360,8 +365,8 @@ class PyneoController(object):
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def show_dialer_screen(class_):
|
def show_dialer_screen(class_):
|
||||||
# class_.pwr.SetBrightness(class_.brightness_value, dbus_interface=DIN_POWER)
|
class_.pwr.SetBrightness(class_.brightness_value, dbus_interface=DIN_POWER)
|
||||||
# class_.pwr.GetStatus(dbus_interface=DIN_POWERED)
|
class_.pwr.GetStatus(dbus_interface=DIN_POWERED)
|
||||||
class_.notify_callbacks("show_dialer_screen")
|
class_.notify_callbacks("show_dialer_screen")
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
@ -415,24 +420,18 @@ class PyneoController(object):
|
||||||
def CallStatus(newmap):
|
def CallStatus(newmap):
|
||||||
newmap = dedbusmap(newmap)
|
newmap = dedbusmap(newmap)
|
||||||
print '---', 'CallStatus'
|
print '---', 'CallStatus'
|
||||||
# for n, v in newmap.items():
|
|
||||||
# print '\t', n, ':', v
|
|
||||||
|
|
||||||
def CallRing(newmap):
|
def CallRing(newmap):
|
||||||
newmap = dedbusmap(newmap)
|
newmap = dedbusmap(newmap)
|
||||||
class_.notify_callbacks("gsm_phone_ringing")
|
class_.notify_callbacks("gsm_phone_ringing")
|
||||||
if newmap['number']: class_.notify_callbacks("gsm_number_display", newmap['number'])
|
if newmap['number']: class_.notify_callbacks("gsm_number_display", newmap['number'])
|
||||||
print '---', 'CallRing'
|
print '---', 'CallRing'
|
||||||
# for n, v in newmap.items():
|
|
||||||
# print '\t', n, ':', v
|
|
||||||
|
|
||||||
def CallEnd(newmap):
|
def CallEnd(newmap):
|
||||||
class_.notify_callbacks("gsm_phone_call_end")
|
class_.notify_callbacks("gsm_phone_call_end")
|
||||||
os.system('alsactl -f /usr/share/openmoko/scenarios/stereoout.state restore')
|
os.system('alsactl -f /usr/share/openmoko/scenarios/stereoout.state restore')
|
||||||
newmap = dedbusmap(newmap)
|
newmap = dedbusmap(newmap)
|
||||||
print '---', 'CallEnd'
|
print '---', 'CallEnd'
|
||||||
# for n, v in newmap.items():
|
|
||||||
# print '\t', n, ':', v
|
|
||||||
if class_.call:
|
if class_.call:
|
||||||
class_.call = None
|
class_.call = None
|
||||||
while class_.callsigs:
|
while class_.callsigs:
|
||||||
|
@ -463,7 +462,7 @@ class PyneoController(object):
|
||||||
content = dedbusmap(sm.GetContent())
|
content = dedbusmap(sm.GetContent())
|
||||||
InsertSms('REC UNREAD', content['from_msisdn'], content['time'], content['text'].encode('utf-8'))
|
InsertSms('REC UNREAD', content['from_msisdn'], content['time'], content['text'].encode('utf-8'))
|
||||||
print '--- NEW SMS:', content['from_msisdn'], content['time'], content['text'].encode('utf-8')
|
print '--- NEW SMS:', content['from_msisdn'], content['time'], content['text'].encode('utf-8')
|
||||||
class_.gsm_sms.DeleteAll(dbus_interface=DIN_STORAGE)
|
# class_.gsm_sms.DeleteAll(dbus_interface=DIN_STORAGE)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def first_check_new_sms(class_):
|
def first_check_new_sms(class_):
|
||||||
|
@ -482,7 +481,7 @@ class PyneoController(object):
|
||||||
InsertSms('REC UNREAD', content['from_msisdn'], content['time'], content['text'].encode('utf-8'))
|
InsertSms('REC UNREAD', content['from_msisdn'], content['time'], content['text'].encode('utf-8'))
|
||||||
except:
|
except:
|
||||||
print '--- NULL new sms'
|
print '--- NULL new sms'
|
||||||
class_.gsm_sms.DeleteAll(dbus_interface=DIN_STORAGE)
|
# class_.gsm_sms.DeleteAll(dbus_interface=DIN_STORAGE)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def show_sms_screen(class_):
|
def show_sms_screen(class_):
|
||||||
|
@ -504,6 +503,37 @@ class PyneoController(object):
|
||||||
def vibrate_stop(class_):
|
def vibrate_stop(class_):
|
||||||
class_.pwr.Vibrate(0, 0, 0, dbus_interface=DIN_POWER)
|
class_.pwr.Vibrate(0, 0, 0, dbus_interface=DIN_POWER)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def show_audio_screen(class_):
|
||||||
|
class_.notify_callbacks("show_audio_screen")
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def play_music(class_):
|
||||||
|
class_.mp3.Play(dbus_interface='org.pyneo.Music')
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def stop_music(class_):
|
||||||
|
class_.mp3.Stop(dbus_interface='org.pyneo.Music')
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def pause_music(class_):
|
||||||
|
class_.mp3.Pause(dbus_interface='org.pyneo.Music')
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def next_music(class_):
|
||||||
|
class_.mp3.Next(dbus_interface='org.pyneo.Music')
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def previous_music(class_):
|
||||||
|
class_.mp3.Previous(dbus_interface='org.pyneo.Music')
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def set_playlist_from_dir(class_):
|
||||||
|
class_.mp3.SetPlaylistFromDir(MP3_FILE_PATH, dbus_interface='org.pyneo.Music')
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def get_mp3_tags(class_):
|
||||||
|
class_.notify_callbacks("on_get_mp3_tags", class_.mp3.GetStatus(dbus_interface='org.pyneo.Music'))
|
||||||
|
|
||||||
from dialer_screen import *
|
from dialer_screen import *
|
||||||
from incall_screen import *
|
from incall_screen import *
|
||||||
|
@ -516,6 +546,7 @@ from contacts_screen import *
|
||||||
from sms_screen import *
|
from sms_screen import *
|
||||||
from sms_detail import *
|
from sms_detail import *
|
||||||
from weather_screen import *
|
from weather_screen import *
|
||||||
|
from audio_screen import *
|
||||||
|
|
||||||
class Dialer(object):
|
class Dialer(object):
|
||||||
screens = None
|
screens = None
|
||||||
|
@ -543,6 +574,7 @@ class Dialer(object):
|
||||||
PyneoController.register_callback("show_sms_screen", self.on_sms_screen)
|
PyneoController.register_callback("show_sms_screen", self.on_sms_screen)
|
||||||
PyneoController.register_callback("show_sms_screen_detail", self.on_sms_screen_detail)
|
PyneoController.register_callback("show_sms_screen_detail", self.on_sms_screen_detail)
|
||||||
PyneoController.register_callback("show_weather_screen", self.on_weather_screen)
|
PyneoController.register_callback("show_weather_screen", self.on_weather_screen)
|
||||||
|
PyneoController.register_callback("show_audio_screen", self.on_audio_screen)
|
||||||
|
|
||||||
# Initialize the D-Bus interface to pyneo
|
# Initialize the D-Bus interface to pyneo
|
||||||
dbus_ml = e_dbus.DBusEcoreMainLoop()
|
dbus_ml = e_dbus.DBusEcoreMainLoop()
|
||||||
|
@ -555,6 +587,7 @@ class Dialer(object):
|
||||||
self.init_screen(GSM_STATUS_SCREEN_NAME, GsmStatusScreen(self))
|
self.init_screen(GSM_STATUS_SCREEN_NAME, GsmStatusScreen(self))
|
||||||
self.init_screen(GPS_STATUS_SCREEN_NAME, GpsStatusScreen(self))
|
self.init_screen(GPS_STATUS_SCREEN_NAME, GpsStatusScreen(self))
|
||||||
|
|
||||||
|
PyneoController.set_playlist_from_dir()
|
||||||
PyneoController.power_up_gsm()
|
PyneoController.power_up_gsm()
|
||||||
PyneoController.get_gsm_keyring()
|
PyneoController.get_gsm_keyring()
|
||||||
|
|
||||||
|
@ -621,6 +654,9 @@ class Dialer(object):
|
||||||
self.init_screen(WEATHER_SCREEN_NAME, WeatherScreen(self))
|
self.init_screen(WEATHER_SCREEN_NAME, WeatherScreen(self))
|
||||||
self.show_screen(WEATHER_SCREEN_NAME)
|
self.show_screen(WEATHER_SCREEN_NAME)
|
||||||
|
|
||||||
|
def on_audio_screen(self):
|
||||||
|
self.init_screen(AUDIO_SCREEN_NAME, AudioScreen(self))
|
||||||
|
self.show_screen(AUDIO_SCREEN_NAME)
|
||||||
|
|
||||||
class EvasCanvas(object):
|
class EvasCanvas(object):
|
||||||
def __init__(self, fullscreen, engine_name):
|
def __init__(self, fullscreen, engine_name):
|
||||||
|
|
|
@ -5,7 +5,7 @@ __version__ = "prototype"
|
||||||
__copyright__ = "Copyright (c) 2008"
|
__copyright__ = "Copyright (c) 2008"
|
||||||
__license__ = "GPL3"
|
__license__ = "GPL3"
|
||||||
|
|
||||||
ZIP_CODE = 'GMXX0007' #GMXX0007 Berlin, GMXX0049 Hamburg
|
ZIP_CODE = 'GMXX0049' #GMXX0007 Berlin, GMXX0049 Hamburg
|
||||||
TEMP_UNIT = 'c'
|
TEMP_UNIT = 'c'
|
||||||
|
|
||||||
WEATHER_URL = 'http://xml.weather.yahoo.com/forecastrss?p=%s&u=%s'
|
WEATHER_URL = 'http://xml.weather.yahoo.com/forecastrss?p=%s&u=%s'
|
||||||
|
|
Loading…
Reference in a new issue