rendered paste body#!/usr/bin/env python2.5
# -*- coding: latin1 -*-
import ecore
import ecore.evas
import edje
import sys
import os
from dbus import SystemBus, Interface
import e_dbus
import ecore
SYSFS_ENTRY_BACKLIGHT_BRIGHTNESS = "/sys/class/backlight/gta01-bl/brightness"
brightness_value_max = 5100
things = []
mark = {}
active = 1
dbus_ml = e_dbus.DBusEcoreMainLoop()
bus = SystemBus(mainloop=dbus_ml)
ee = ecore.evas.SoftwareX11(w=480, h=640)
ee.fullscreen = True
ee.title = 'ebrightness'
ee.name_class = ('ebrightness', 'ebrightness')
ee.cursor_set('cursor.png', 0x7fffffff, 60, 60)
background = edje.Edje(ee.evas, file='ebrightness.edj', group='background')
background.size = ee.evas.size
background.show()
foreground = edje.Edje(ee.evas, file='ebrightness.edj', group='foreground')
foreground.size = ee.evas.size
foreground.show()
#thing = edje.Edje(ee.evas, file='ebrightness.edj', group='thing')
#thing.size = ee.evas.size
#thing.show()
def set_sysfs_value(entry_dir, value):
try:
file_descriptor = open(entry_dir, 'w')
except:
return False
file_descriptor.write("%d" % int(value))
file_descriptor.close()
return True
def get_sysfs_value(entry_dir):
try:
file_descriptor = open(entry_dir)
except:
return ""
value = file_descriptor.read()
file_descriptor.close()
return value
brightness_value = int(get_sysfs_value(SYSFS_ENTRY_BACKLIGHT_BRIGHTNESS))
class Thing:
def __init__(self, ee, type, screenpos, status=False, ):
self.part = edje.Edje(ee.evas, file='ebrightness.edj', group='thing')
self.part.geometry_set(0, 160 * screenpos, 480, 150)
if not status:
self.part.color = (128, 128, 128, 128, )
else:
self.part.color = (255, 255, 255, 255, )
#self.part.part_rect.color_class = ('empty', active)
self.part.show()
mark[screenpos] = status
print 'mark: ', mark[screenpos]
def selected_thing(self, signal, source):
global things, active, status
print 'source: ', source, mark[screenpos], screenpos
if screenpos == 0:
self.part.color = (255, 255, 255, 255, )
self.part.signal_callback_add('mouse,up,1', '*', selected_thing)
class Brightness(Thing):
def __init__(self, ee, screenpos, status):
Thing.__init__(self, ee, "brightness", screenpos, status)
self.part.part_text_set('text', 'Brightness: ' + str((brightness_value*100)/brightness_value_max) + ' %')
class VolumeRight(Thing):
def __init__(self, ee, screenpos, status):
Thing.__init__(self, ee, "volumeright", screenpos, status)
self.part.part_text_set('text', 'Volume Right: ' + str((brightness_value*100)/brightness_value_max) + ' %')
class VolumeLeft(Thing):
def __init__(self, ee, screenpos, status):
Thing.__init__(self, ee, "volumeleft", screenpos, status)
self.part.part_text_set('text', 'Volume Left: ' + str((brightness_value*100)/brightness_value_max) + ' %')
def selected(foreground, signal, source):
global brightness_value, brightness_value_max, SYSFS_ENTRY_BACKLIGHT_BRIGHTNESS, things, active, status
if source == 'plus_image':
for n, thing in enumerate(things):
if mark[0] == True:
brightness_value += 100
things[0].part.part_text_set('text', 'Brightness: ' + str((brightness_value*100)/brightness_value_max) + ' %')
set_sysfs_value(SYSFS_ENTRY_BACKLIGHT_BRIGHTNESS, brightness_value)
if mark[1] == True:
brightness_value += 100
elif source =='minus_image' and active == True:
for n, thing in enumerate(things):
if mark[0] == True:
brightness_value -= 100
things[0].part.part_text_set('text', 'Brightness: ' + str((brightness_value*100)/brightness_value_max) + ' %')
set_sysfs_value(SYSFS_ENTRY_BACKLIGHT_BRIGHTNESS, brightness_value)
else:
print 'selected', foreground, signal, source
foreground.signal_callback_add('mouse,up,1', '*', selected)
things.append(Brightness(ee, 0 - active + 1, False))
things.append(VolumeRight(ee, 1 - active + 1, False))
things.append(VolumeLeft(ee, 2 - active + 1, False))
try:
ee.show()
ecore.main_loop_begin()
except:
ecore.event.shutdown()