summaryrefslogtreecommitdiff
path: root/timer-applet/src/timerapplet/ui/PreferencesDialog.py
diff options
context:
space:
mode:
Diffstat (limited to 'timer-applet/src/timerapplet/ui/PreferencesDialog.py')
-rw-r--r--timer-applet/src/timerapplet/ui/PreferencesDialog.py192
1 files changed, 0 insertions, 192 deletions
diff --git a/timer-applet/src/timerapplet/ui/PreferencesDialog.py b/timer-applet/src/timerapplet/ui/PreferencesDialog.py
deleted file mode 100644
index d42ae911..00000000
--- a/timer-applet/src/timerapplet/ui/PreferencesDialog.py
+++ /dev/null
@@ -1,192 +0,0 @@
-# Copyright (C) 2008 Jimmy Do <[email protected]>
-#
-# This program 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.
-#
-# This program 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-import gobject
-import gtk
-import gtk.glade as glade
-
-class PreferencesDialog(gobject.GObject):
- __gsignals__ = \
- {
- 'show-remaining-time-changed':
- (
- gobject.SIGNAL_RUN_LAST,
- gobject.TYPE_NONE,
- (gobject.TYPE_BOOLEAN,)
- ),
- 'play-sound-changed':
- (
- gobject.SIGNAL_RUN_LAST,
- gobject.TYPE_NONE,
- (gobject.TYPE_BOOLEAN,)
- ),
- 'use-custom-sound-changed':
- (
- gobject.SIGNAL_RUN_LAST,
- gobject.TYPE_NONE,
- (gobject.TYPE_BOOLEAN,)
- ),
- 'show-popup-notification-changed':
- (
- gobject.SIGNAL_RUN_LAST,
- gobject.TYPE_NONE,
- (gobject.TYPE_BOOLEAN,)
- ),
- 'show-pulsing-icon-changed':
- (
- gobject.SIGNAL_RUN_LAST,
- gobject.TYPE_NONE,
- (gobject.TYPE_BOOLEAN,)
- ),
- 'custom-sound-path-changed':
- (
- gobject.SIGNAL_RUN_LAST,
- gobject.TYPE_NONE,
- (gobject.TYPE_STRING,)
- )
- }
-
- __gproperties__ = \
- {
- 'show-remaining-time':
- (bool,
- 'Show remaining time',
- 'Whether to show remaining time when the timer is running',
- False,
- gobject.PARAM_WRITABLE
- ),
- 'play-sound':
- (bool,
- 'Play notification sound',
- 'Whether to play notification sound when the timer is finished',
- False,
- gobject.PARAM_WRITABLE
- ),
- 'use-custom-sound':
- (bool,
- 'Use custom sound',
- 'Whether to use a custom notification sound',
- False,
- gobject.PARAM_WRITABLE
- ),
- 'show-popup-notification':
- (bool,
- 'Show Popup notification',
- 'Whether to show a popup notifcation when timer finished',
- False,
- gobject.PARAM_WRITABLE
- ),
- 'show-pulsing-icon':
- (bool,
- 'Show pulsing icon',
- 'Whether to show pulsing icon when timer finished',
- False,
- gobject.PARAM_WRITABLE
- ),
- 'custom-sound-path':
- (str,
- 'Custom sound path',
- 'Path to a custom notification sound',
- '',
- gobject.PARAM_WRITABLE
- )
- }
-
- def __init__(self, glade_file_name):
- gobject.GObject.__init__(self)
- glade_widgets = glade.XML(glade_file_name, 'preferences_dialog')
- self._preferences_dialog = glade_widgets.get_widget('preferences_dialog')
- self._show_time_check = glade_widgets.get_widget('show_time_check')
- self._play_sound_check = glade_widgets.get_widget('play_sound_check')
- self._use_default_sound_radio = glade_widgets.get_widget('use_default_sound_radio')
- self._use_custom_sound_radio = glade_widgets.get_widget('use_custom_sound_radio')
- self._sound_chooser_button = glade_widgets.get_widget('sound_chooser_button')
- self._play_sound_box = glade_widgets.get_widget('play_sound_box')
- #: Popup notification checkbutton
- self._popup_notification_check = glade_widgets.get_widget('popup_notification_check')
- #: Pulsing icon checkbutton
- self._pulsing_icon_check = glade_widgets.get_widget('pulsing_trayicon_check')
-
- #######################################################################
- # Signals
- #######################################################################
- self._show_time_check.connect('toggled', self._on_show_time_check_toggled)
- self._play_sound_check.connect('toggled', self._on_play_sound_check_toggled)
- self._use_custom_sound_radio.connect('toggled', self._on_use_custom_sound_radio_toggled)
- #: Popup notification checkbutton 'toggled' signal
- self._popup_notification_check.connect('toggled', self._on_popup_notification_toggled)
- #: Pulsing icon checkbutton 'toggled' signal
- self._pulsing_icon_check.connect('toggled', self._on_pulsing_icon_toggled)
-
- self._sound_chooser_button.connect('selection-changed', self._on_sound_chooser_button_selection_changed)
- self._preferences_dialog.connect('delete-event', gtk.Widget.hide_on_delete)
- self._preferences_dialog.connect('response', lambda dialog, response_id: self._preferences_dialog.hide())
-
- def show(self):
- self._preferences_dialog.present()
-
- def _on_show_time_check_toggled(self, widget):
- self.emit('show-remaining-time-changed', widget.props.active)
-
- def _on_play_sound_check_toggled(self, widget):
- self.emit('play-sound-changed', widget.props.active)
-
- def _on_use_custom_sound_radio_toggled(self, widget):
- self.emit('use-custom-sound-changed', widget.props.active)
-
- def _on_popup_notification_toggled(self, widget):
- """Emit a signal when `self._popup_notification_check` gets toggled in
- the Preferences dialog window."""
- self.emit('show-popup-notification-changed', widget.props.active)
-
- def _on_pulsing_icon_toggled(self, widget):
- """Emit a signal when `self._popup_notification_check` gets toggled in
- the Preferences dialog window."""
- self.emit('show-pulsing-icon-changed', widget.props.active)
-
- def _on_sound_chooser_button_selection_changed(self, chooser_button):
- filename = chooser_button.get_filename()
-
- # Work around an issue where calling set_filename() will cause
- # 3 selection-changed signals to be emitted: first two will have a None filename
- # and the third will finally have the desired filename.
- if filename is not None:
- print 'Custom sound changed to path: %s' % filename
- self.emit('custom-sound-path-changed', filename)
-
- def do_set_property(self, pspec, value):
- if pspec.name == 'show-remaining-time':
- self._show_time_check.props.active = value
- elif pspec.name == 'play-sound':
- self._play_sound_check.props.active = value
- self._play_sound_box.props.sensitive = value
- elif pspec.name == 'use-custom-sound':
- if value == True:
- self._use_custom_sound_radio.props.active = True
- self._sound_chooser_button.props.sensitive = True
- else:
- # Note: Setting _use_custom_sound_radio.props.active to False
- # does not automatically set _use_default_sound_radio.props.active to True
- self._use_default_sound_radio.props.active = True
- self._sound_chooser_button.props.sensitive = False
- elif pspec.name == 'show-popup-notification':
- self._popup_notification_check.props.active = value
- elif pspec.name == 'show-pulsing-icon':
- self._pulsing_icon_check.props.active = value
- elif pspec.name == 'custom-sound-path':
- # Prevent infinite loop of events.
- if self._sound_chooser_button.get_filename() != value:
- self._sound_chooser_button.set_filename(value)