[clocks] 681000: Save button sensitivity | 678889: Add clock dialog improvements | 681002 Arrow icon in back
- From: Seif Lotfy <seiflotfy src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [clocks] 681000: Save button sensitivity | 678889: Add clock dialog improvements | 681002 Arrow icon in back
- Date: Fri, 3 Aug 2012 19:12:10 +0000 (UTC)
commit d93de42a91120f79ccdb3eb81658dcc832b2d224
Author: Eslam Mostafa <cseslam gmail com>
Date: Thu Aug 2 11:04:50 2012 +0200
681000: Save button sensitivity | 678889: Add clock dialog improvements | 681002 Arrow icon in back button | 680999: New Alarm dialog hours
Signed-off-by: Seif Lotfy <seif lotfy com>
alarm.py | 12 +++++-----
main.py | 2 +-
widgets.py | 74 +++++++++++++++++++++++++++++++++++++++++++++++-------------
3 files changed, 65 insertions(+), 23 deletions(-)
---
diff --git a/alarm.py b/alarm.py
index a55000a..9f09b74 100644
--- a/alarm.py
+++ b/alarm.py
@@ -28,11 +28,11 @@ class AlarmItem:
def get_vobject(self):
alarm = vobject.newFromBehavior('vevent')
- alarm.add('summary').value = self.name
- #t = datetime.datetime.utcfromtimestamp(self.time)
+ alarm.add('summary').value = self.name
alarm.add('dtstart').value = datetime.datetime.combine(datetime.date.today(), datetime.time(self.h, self.m))
- alarm.add('dtend').value = datetime.datetime.combine(datetime.date.today(), datetime.time(self.h+1, self.m))
- alarm.add('rrule').value = 'FREQ=WEEKLY;BYDAY=%s' % ','.join(self.repeat)
- alarm.add('action').value = 'audio'
- alarm.add('attach').value = '/usr/share/sounds/gnome/default/alerts/glass.ogg'
+ if self.h == 23:
+ alarm.add('dtend').value = datetime.datetime.combine(datetime.date.today(), datetime.time(self.h, 59))
+ else:
+ alarm.add('dtend').value = datetime.datetime.combine(datetime.date.today(), datetime.time(self.h+1, self.m))
+ alarm.add('rrule').value = 'FREQ=WEEKLY;BYDAY=%s' % ','.join(self.repeat)
return alarm
diff --git a/main.py b/main.py
index 9fe168d..a546bdb 100644
--- a/main.py
+++ b/main.py
@@ -163,7 +163,7 @@ class ClocksToolbar (Gtk.Toolbar):
self.backButton = Gtk.Button ()
icon = Gio.ThemedIcon.new_with_default_fallbacks ("go-previous-symbolic")
image = Gtk.Image ()
- image.set_from_gicon (icon, Gtk.IconSize.LARGE_TOOLBAR)
+ image.set_from_gicon (icon, Gtk.IconSize.SMALL_TOOLBAR)
self.backButton.add(image)
self.backButton.connect ("clicked", lambda w: self.emit ("view-clock", self._buttonMap[self.last_widget]))
diff --git a/widgets.py b/widgets.py
index 1bd6aad..4089889 100644
--- a/widgets.py
+++ b/widgets.py
@@ -35,7 +35,7 @@ class NewWorldClockDialog (Gtk.Dialog):
self.set_transient_for(parent)
self.set_modal(True)
self.set_border_width (9)
- self.set_size_request(-1,-1)
+ self.set_size_request(400,-1)
box = Gtk.Box(orientation = Gtk.Orientation.VERTICAL)
box.set_spacing(9)
area = self.get_content_area()
@@ -47,10 +47,14 @@ class NewWorldClockDialog (Gtk.Dialog):
world = GWeather.Location.new_world(True)
self.searchEntry = GWeather.LocationEntry.new(world)
- #self.searchEntry.set_placeholder_text("Search for a city or a time zone...")
+ self.find_gicon = Gio.ThemedIcon.new_with_default_fallbacks('edit-find-symbolic')
+ self.clear_gicon = Gio.ThemedIcon.new_with_default_fallbacks('edit-clear-symbolic')
+ self.searchEntry.set_icon_from_gicon(Gtk.EntryIconPosition.SECONDARY, self.find_gicon)
+ #self.searchEntry.set_can_focus(False)
+ self.searchEntry.set_placeholder_text("Search for a city or a time zone...")
header = Gtk.Label("Add New Clock")
- header.set_markup("<span size='x-large'><b>Add New Clock</b></span>")
+ header.set_markup("<span size='x-large'><b>Add a New World Clock</b></span>")
btnBox = Gtk.Box()
@@ -65,6 +69,7 @@ class NewWorldClockDialog (Gtk.Dialog):
self.searchEntry.connect("activate", self._set_city)
self.searchEntry.connect("changed", self._set_city)
+ self.searchEntry.connect("icon-release", self._icon_released)
self.connect("response", self._on_response_clicked)
self.location = None
self.show_all ()
@@ -79,13 +84,24 @@ class NewWorldClockDialog (Gtk.Dialog):
def _set_city (self, widget):
location = self.searchEntry.get_location()
widget = self.get_widget_for_response (1)
+ if self.searchEntry.get_text () == '':
+ self.searchEntry.set_icon_from_gicon(Gtk.EntryIconPosition.SECONDARY, self.find_gicon)
+ else:
+ self.searchEntry.set_icon_from_gicon(Gtk.EntryIconPosition.SECONDARY, self.clear_gicon)
if location:
widget.set_sensitive(True)
else:
- widget.set_sensitive(False)
+ widget.set_sensitive(False)
def get_selection (self):
return self.location
+
+ def _icon_released(self, icon_pos, event, data):
+ if self.searchEntry.get_icon_gicon(Gtk.EntryIconPosition.SECONDARY) == self.clear_gicon:
+ self.searchEntry.set_text('')
+ self.searchEntry.set_icon_from_gicon(Gtk.EntryIconPosition.SECONDARY, self.find_gicon)
+ widget = self.get_widget_for_response (1)
+ widget.set_sensitive(False)
class DigitalClock ():
def __init__(self, location):
@@ -204,8 +220,8 @@ class DigitalClockStandalone (Gtk.VBox):
self.hbox.set_homogeneous (False)
self.hbox.pack_start (Gtk.Label(), True, True, 0)
- self.hbox.pack_start (imagebox, False, False, 0)
- self.hbox.pack_start (Gtk.Label (), False, False, 30)
+# self.hbox.pack_start (imagebox, False, False, 0)
+# self.hbox.pack_start (Gtk.Label (), False, False, 30)
self.hbox.pack_start (timebox, False, False, 0)
self.hbox.pack_start (Gtk.Label(), True, True, 0)
@@ -339,23 +355,28 @@ class NewAlarmDialog (Gtk.Dialog):
table1.set_col_spacings(9)
content_area = self.get_content_area ()
content_area.pack_start(table1, True, True, 0)
- self.add_buttons("Cancel", 0, "Save", 1)
+ cancel = self.add_button("Cancel", 0)
+ self.save = save = self.add_button("Save", 1)
+ save.get_style_context().add_class('raised')
+ save.set_sensitive(False)
self.connect("response", self.on_response)
table1.set_border_width (5)
- hour = Gtk.Label ("Hour")
+ hour = Gtk.Label ("Hours")
hour.set_alignment(1.0, 0.5)
minute = Gtk.Label ("Minutes")
minute.set_alignment(1.0, 0.5)
houradjust = Gtk.Adjustment(0, 0, 24, 1, 1, 0)
self.hourselect = hourselect = Gtk.SpinButton()
+ hourselect.connect('value-changed', self._on_hours_changed)
hourselect.set_adjustment(houradjust)
hourbox = Gtk.Box(True, 0)
hourbox.pack_start (hourselect, True, True, 0)
minuteadjust = Gtk.Adjustment(0, 0, 60, 1, 1, 0)
self.minuteselect = minuteselect = Gtk.SpinButton()
+ minuteselect.connect('value-changed', self._on_minutes_changed)
minuteselect.set_adjustment(minuteadjust)
minutebox = Gtk.Box(True, 0)
minutebox.pack_start (minuteselect, True, True, 0)
@@ -423,48 +444,69 @@ class NewAlarmDialog (Gtk.Dialog):
self.destroy ()
else:
pass
-
- def on_d1_clicked(self, btn):
+
+ def _on_hours_changed(self, btn):
+ self.check_save_button_status()
+
+ def _on_minutes_changed(self, btn):
+ self.check_save_button_status()
+
+ def check_save_button_status(self):
+ if self.hourselect.get_value_as_int() != 0 or self.minuteselect.get_value_as_int() != 0:
+ if len(self.repeat_days) != 0:
+ self.save.set_sensitive(True)
+ else:
+ self.save.set_sensitive(False)
+ else:
+ self.save.set_sensitive(False)
+ def on_d1_clicked(self, btn):
if btn.get_active() == True:
self.repeat_days.append('SU')
if btn.get_active() == False:
self.repeat_days.remove('SU')
+ self.check_save_button_status()
def on_d2_clicked(self, btn):
if btn.get_active() == True:
self.repeat_days.append('MO')
- if btn.get_active() == False:
+ else:
self.repeat_days.remove('MO')
+ self.check_save_button_status()
def on_d3_clicked(self, btn):
if btn.get_active() == True:
self.repeat_days.append('TU')
- if btn.get_active() == False:
+ else:
self.repeat_days.remove('TU')
+ self.check_save_button_status()
def on_d4_clicked(self, btn):
if btn.get_active() == True:
self.repeat_days.append('WE')
- if btn.get_active() == False:
+ else:
self.repeat_days.remove('WE')
+ self.check_save_button_status()
def on_d5_clicked(self, btn):
if btn.get_active() == True:
self.repeat_days.append('TH')
- if btn.get_active() == False:
+ else:
self.repeat_days.remove('TH')
+ self.check_save_button_status()
def on_d6_clicked(self, btn):
if btn.get_active() == True:
self.repeat_days.append('FR')
- if btn.get_active() == False:
+ else:
self.repeat_days.remove('FR')
+ self.check_save_button_status()
def on_d7_clicked(self, btn):
if btn.get_active() == True:
self.repeat_days.append('SA')
- if btn.get_active() == False:
+ else:
self.repeat_days.remove('SA')
+ self.check_save_button_status()
"""
if text.startswith("0"):
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]