initial sms support
git-svn-id: http://www.neo1973-germany.de/svn@214 46df4e5c-bc4e-4628-a0fc-830ba316316d
This commit is contained in:
parent
0969b8fc23
commit
54cee09b73
5 changed files with 257 additions and 0 deletions
Binary file not shown.
221
epydial/data/themes/blackwhite/sms_screen.edc
Executable file
221
epydial/data/themes/blackwhite/sms_screen.edc
Executable file
|
@ -0,0 +1,221 @@
|
||||||
|
// sms_screen.edc
|
||||||
|
// this is a theme for epydial, a pyneo dialer
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
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 56;
|
||||||
|
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 BUTTON(button_number, rel1x, rel1y, rel2x, rel2y, button_caption) \
|
||||||
|
part { \
|
||||||
|
name: "button_"button_number; \
|
||||||
|
type: RECT; \
|
||||||
|
description { \
|
||||||
|
state: "default" 0; \
|
||||||
|
color_class: "unvisible"; \
|
||||||
|
rel1 { relative: rel1x 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_"button_number"_caption"; \
|
||||||
|
type: TEXT; \
|
||||||
|
mouse_events: 0; \
|
||||||
|
description { \
|
||||||
|
state: "default" 0; \
|
||||||
|
color_class: "button_inactive"; \
|
||||||
|
rel1 { \
|
||||||
|
to: "button_"button_number; \
|
||||||
|
relative: 0 0; \
|
||||||
|
} \
|
||||||
|
rel2 { \
|
||||||
|
to: "button_"button_number; \
|
||||||
|
relative: 1 1; \
|
||||||
|
} \
|
||||||
|
text { \
|
||||||
|
text: button_caption; \
|
||||||
|
size: 18; \
|
||||||
|
font: "Sans:style=Bold,Edje-Vera"; \
|
||||||
|
fit: 1 1; \
|
||||||
|
} \
|
||||||
|
} \
|
||||||
|
} \
|
||||||
|
program { \
|
||||||
|
name: "button_"button_number"_signal_emit"; \
|
||||||
|
signal: "mouse,down,*"; \
|
||||||
|
source: "button_"button_number; \
|
||||||
|
action: SIGNAL_EMIT "hon_send" button_caption; \
|
||||||
|
} \
|
||||||
|
program { \
|
||||||
|
name: "button_"button_number"_animation"; \
|
||||||
|
signal: "mouse,down,*"; \
|
||||||
|
source: "button_"button_number; \
|
||||||
|
action: STATE_SET "default" 0.5; \
|
||||||
|
target: "button_"button_number; \
|
||||||
|
} \
|
||||||
|
program { \
|
||||||
|
name: "button_"button_number"_animation_end"; \
|
||||||
|
signal: "mouse,up,*"; \
|
||||||
|
source: "button_"button_number; \
|
||||||
|
action: STATE_SET "default" 1; \
|
||||||
|
target: "button_"button_number; \
|
||||||
|
transition: DECELERATE 0.1; \
|
||||||
|
}
|
||||||
|
|
||||||
|
#define ITEM(item_number, rel1x, rel1y, rel2x, rel2y) \
|
||||||
|
part { \
|
||||||
|
name: item_number; \
|
||||||
|
type: RECT; \
|
||||||
|
description { \
|
||||||
|
state: "default" 0; \
|
||||||
|
color_class: "scale"; \
|
||||||
|
rel1 { relative: rel1x rel1y;}; \
|
||||||
|
rel2 { relative: rel2x rel2y;}; \
|
||||||
|
} \
|
||||||
|
} \
|
||||||
|
part { \
|
||||||
|
name: "contact_"item_number; \
|
||||||
|
type: TEXT; \
|
||||||
|
mouse_events: 0; \
|
||||||
|
description { \
|
||||||
|
state: "default" 0; \
|
||||||
|
color_class: "button_inactive"; \
|
||||||
|
rel1 { \
|
||||||
|
to: item_number; \
|
||||||
|
relative: 1/20 0; \
|
||||||
|
} \
|
||||||
|
rel2 { \
|
||||||
|
to: item_number; \
|
||||||
|
relative: 19/20 1; \
|
||||||
|
} \
|
||||||
|
text { \
|
||||||
|
text: ""; \
|
||||||
|
size: 26; \
|
||||||
|
font: "Sans:style=Bold,Edje-Vera"; \
|
||||||
|
/*fit: 1 1; */\
|
||||||
|
align: 0 0.5; \
|
||||||
|
} \
|
||||||
|
} \
|
||||||
|
} \
|
||||||
|
|
||||||
|
|
||||||
|
collections {
|
||||||
|
group {
|
||||||
|
name: "pyneo/sms/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: "sms";
|
||||||
|
size: 20;
|
||||||
|
font: "VeraBd";
|
||||||
|
fit: 1 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part {
|
||||||
|
name: "sort_by";
|
||||||
|
type: TEXT;
|
||||||
|
mouse_events: 0;
|
||||||
|
description {
|
||||||
|
state: "default" 0;
|
||||||
|
color_class: "button_inactive";
|
||||||
|
rel1 { relative: 1/20 3/20;}
|
||||||
|
rel2 { relative: 19/20 4/20; }
|
||||||
|
text {
|
||||||
|
text: "sorted by: date";
|
||||||
|
size: 10;
|
||||||
|
font: "Vera";
|
||||||
|
fit: 1 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ITEM(1, 1/20, 9/40, 19/20, 14/40);
|
||||||
|
ITEM(2, 1/20, 15/40, 19/20, 20/40);
|
||||||
|
ITEM(3, 1/20, 21/40, 19/20, 26/40);
|
||||||
|
ITEM(4, 1/20, 27/40, 19/20, 32/40);
|
||||||
|
BUTTON(10, 0, 58/70 , 1/3, 68/70, "<");
|
||||||
|
BUTTON(11, 1/3, 58/70, 2/3, 68/70, "<");
|
||||||
|
BUTTON(12, 2/3, 58/70, 3/3, 68/70, ">");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -142,6 +142,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_contacts_screen()
|
PyneoController.show_contacts_screen()
|
||||||
|
elif source == "dial" and ''.join(self.text) == "8":
|
||||||
|
print '--- Sms Screen'
|
||||||
|
self.text = []
|
||||||
|
self.part_text_set("numberdisplay_text", "".join(self.text))
|
||||||
|
PyneoController.show_sms_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))
|
||||||
|
|
|
@ -29,6 +29,7 @@ HON_SCREEN_NAME = "pyneo/hon/screen"
|
||||||
CALC_SCREEN_NAME = "pyneo/calc/screen"
|
CALC_SCREEN_NAME = "pyneo/calc/screen"
|
||||||
PIX_SCREEN_NAME = "pyneo/pix/screen"
|
PIX_SCREEN_NAME = "pyneo/pix/screen"
|
||||||
CONTACTS_SCREEN_NAME = "pyneo/contacts/screen"
|
CONTACTS_SCREEN_NAME = "pyneo/contacts/screen"
|
||||||
|
SMS_SCREEN_NAME = "pyneo/sms/screen"
|
||||||
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from dbus import SystemBus
|
from dbus import SystemBus
|
||||||
|
@ -444,6 +445,10 @@ class PyneoController(object):
|
||||||
print '--- NULL new sms'
|
print '--- NULL new sms'
|
||||||
class_.gsm_sms.DeleteAll()
|
class_.gsm_sms.DeleteAll()
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def show_sms_screen(class_):
|
||||||
|
class_.notify_callbacks("show_sms_screen")
|
||||||
|
|
||||||
|
|
||||||
from dialer_screen import *
|
from dialer_screen import *
|
||||||
from incall_screen import *
|
from incall_screen import *
|
||||||
|
@ -453,6 +458,7 @@ from hon_screen import *
|
||||||
from calc_screen import *
|
from calc_screen import *
|
||||||
from pix_screen import *
|
from pix_screen import *
|
||||||
from contacts_screen import *
|
from contacts_screen import *
|
||||||
|
from sms_screen import *
|
||||||
|
|
||||||
class Dialer(object):
|
class Dialer(object):
|
||||||
screens = None
|
screens = None
|
||||||
|
@ -477,6 +483,7 @@ class Dialer(object):
|
||||||
PyneoController.register_callback("show_calc_screen", self.on_calc_screen)
|
PyneoController.register_callback("show_calc_screen", self.on_calc_screen)
|
||||||
PyneoController.register_callback("show_pix_screen", self.on_pix_screen)
|
PyneoController.register_callback("show_pix_screen", self.on_pix_screen)
|
||||||
PyneoController.register_callback("show_contacts_screen", self.on_contacts_screen)
|
PyneoController.register_callback("show_contacts_screen", self.on_contacts_screen)
|
||||||
|
PyneoController.register_callback("show_sms_screen", self.on_sms_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()
|
||||||
|
@ -543,6 +550,10 @@ class Dialer(object):
|
||||||
self.init_screen(CONTACTS_SCREEN_NAME, ContactsScreen(self))
|
self.init_screen(CONTACTS_SCREEN_NAME, ContactsScreen(self))
|
||||||
self.show_screen(CONTACTS_SCREEN_NAME)
|
self.show_screen(CONTACTS_SCREEN_NAME)
|
||||||
|
|
||||||
|
def on_sms_screen(self):
|
||||||
|
self.init_screen(SMS_SCREEN_NAME, SmsScreen(self))
|
||||||
|
self.show_screen(SMS_SCREEN_NAME)
|
||||||
|
|
||||||
|
|
||||||
class EvasCanvas(object):
|
class EvasCanvas(object):
|
||||||
def __init__(self, fullscreen, engine_name):
|
def __init__(self, fullscreen, engine_name):
|
||||||
|
|
20
epydial/sms_screen.py
Normal file
20
epydial/sms_screen.py
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
#!/usr/bin/env python2.5
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
__author__ = "Soeren Apel (abraxa@dar-clan.de), Frank Gau (fgau@gau-net.de), Thomas Gstaedtner (thomas (a) gstaedtner (.) net)"
|
||||||
|
__version__ = "prototype"
|
||||||
|
__copyright__ = "Copyright (c) 2008"
|
||||||
|
__license__ = "GPL3"
|
||||||
|
|
||||||
|
from epydial import *
|
||||||
|
|
||||||
|
class SmsScreen(EdjeGroup):
|
||||||
|
|
||||||
|
def __init__(self, screen_manager):
|
||||||
|
EdjeGroup.__init__(self, screen_manager, SMS_SCREEN_NAME)
|
||||||
|
|
||||||
|
@edje.decorators.signal_callback("mouse,up,1", "*")
|
||||||
|
def on_edje_signal_dialer_status_triggered(self, emission, source):
|
||||||
|
if source == "button_10":
|
||||||
|
PyneoController.show_dialer_screen()
|
||||||
|
print 'source: ', source
|
||||||
|
|
Loading…
Reference in a new issue