99 |
def on_source_subscribe_button_clicked(self, button, *data): |
def on_source_subscribe_button_clicked(self, button, *data): |
100 |
f = straw.create_new_feed(self._item.source['text'], |
f = straw.create_new_feed(self._item.source['text'], |
101 |
location = self._item.source['url']) |
location = self._item.source['url']) |
102 |
straw.config.feeds.append(f) |
straw.Config.get_instance().feeds.append(f) |
103 |
straw.poll_manager.poll(f) |
straw.poll_manager.poll(f) |
104 |
return |
return |
105 |
|
|
357 |
self._widget.remove(self._widget.get_child()) |
self._widget.remove(self._widget.get_child()) |
358 |
self._widget.add(gtk.Image()) |
self._widget.add(gtk.Image()) |
359 |
self._tooltips = gtk.Tooltips() |
self._tooltips = gtk.Tooltips() |
360 |
straw.config.signal_connect(straw.OfflineModeChangedSignal, |
straw.Config.get_instance().signal_connect( |
361 |
self.mode_changed) |
straw.OfflineModeChangedSignal, self.mode_changed) |
362 |
|
|
363 |
def show(self): |
def show(self): |
364 |
if straw.config.offline: |
if straw.Config.get_instance().offline: |
365 |
imagename = "offline" |
imagename = "offline" |
366 |
tooltip = _("Straw is currently offline. Click to work online.") |
tooltip = _("Straw is currently offline. Click to work online.") |
367 |
self._widget.set_active(1) |
self._widget.set_active(1) |
376 |
|
|
377 |
def on_offline_toggle_toggled(self, *args): |
def on_offline_toggle_toggled(self, *args): |
378 |
active = self._widget.get_active() |
active = self._widget.get_active() |
379 |
if active != straw.config.offline: |
config = straw.Config.get_instance() |
380 |
straw.config.offline = not straw.config.offline |
if active != config.offline: |
381 |
|
config.offline = not config.offline |
382 |
|
|
383 |
def mode_changed(self, signal): |
def mode_changed(self, signal): |
384 |
self.show() |
self.show() |
589 |
def on_straw_main_configure_event(self, widget, event, *args): |
def on_straw_main_configure_event(self, widget, event, *args): |
590 |
def check_size((width, height, widget)): |
def check_size((width, height, widget)): |
591 |
if width == widget.allocation.width and height == widget.allocation.height: |
if width == widget.allocation.width and height == widget.allocation.height: |
592 |
straw.config.main_window_size = (width, height) |
straw.Config.get_instance().main_window_size = (width, height) |
593 |
if event.width != widget.allocation.width or event.height != widget.allocation.height: |
if event.width != widget.allocation.width or event.height != widget.allocation.height: |
594 |
gtk.timeout_add(1000, check_size, ( |
gtk.timeout_add(1000, check_size, ( |
595 |
(event.width, event.height, widget))) |
(event.width, event.height, widget))) |
596 |
return gtk.FALSE |
return gtk.FALSE |
597 |
|
|
598 |
def on_main_main_pane_size_allocate(self, widget, *args): |
def on_main_main_pane_size_allocate(self, widget, *args): |
599 |
|
config = straw.Config.get_instance() |
600 |
def check_position((position, widget)): |
def check_position((position, widget)): |
601 |
if position == widget.get_position(): |
if position == widget.get_position(): |
602 |
straw.config.main_pane_position = position |
config.main_pane_position = position |
603 |
pos = widget.get_position() |
pos = widget.get_position() |
604 |
if pos != straw.config.main_pane_position: |
if pos != config.main_pane_position: |
605 |
gtk.timeout_add(1000, check_position, (pos, widget)) |
gtk.timeout_add(1000, check_position, (pos, widget)) |
606 |
|
|
607 |
def on_main_sub_pane_size_allocate(self, widget, *args): |
def on_main_sub_pane_size_allocate(self, widget, *args): |
608 |
|
config = straw.Config.get_instance() |
609 |
def check_position((position, widget)): |
def check_position((position, widget)): |
610 |
if position == widget.get_position(): |
if position == widget.get_position(): |
611 |
straw.config.sub_pane_position = position |
config.sub_pane_position = position |
612 |
pos = widget.get_position() |
pos = widget.get_position() |
613 |
if pos != straw.config.sub_pane_position: |
if pos != config.sub_pane_position: |
614 |
gtk.timeout_add(1000, check_position, (pos, widget)) |
gtk.timeout_add(1000, check_position, (pos, widget)) |
615 |
|
|
616 |
def on_toolbar_preferences_show_button_clicked(self, *args): |
def on_toolbar_preferences_show_button_clicked(self, *args): |
717 |
if iter is None: |
if iter is None: |
718 |
return |
return |
719 |
path = model.get_path(iter) |
path = model.get_path(iter) |
720 |
feed = straw.config.feeds[path[0]] |
feed = straw.Config.get_instance().feeds[path[0]] |
721 |
if feed: |
if feed: |
722 |
straw.main.display_feed(feed) |
straw.main.display_feed(feed) |
723 |
return |
return |
736 |
|
|
737 |
def display_feed_unselected(self, feed, index = None): |
def display_feed_unselected(self, feed, index = None): |
738 |
if index is None: |
if index is None: |
739 |
index = straw.config.feeds.index(feed) |
index = straw.Config.get_instance().feeds.index(feed) |
740 |
self._feed_list_view.set_cursor( |
self._feed_list_view.set_cursor( |
741 |
(index,), self._feed_list_view.get_column(0), 0) |
(index,), self._feed_list_view.get_column(0), 0) |
742 |
self._feed_list_view.get_selection().select_path((index,)) |
self._feed_list_view.get_selection().select_path((index,)) |
883 |
|
|
884 |
def update_total_unread_indicator(self): |
def update_total_unread_indicator(self): |
885 |
uritems = urfeeds = 0 |
uritems = urfeeds = 0 |
886 |
for ur in [f.number_of_unread for f in straw.config.feeds]: |
for ur in [f.number_of_unread for f in straw.Config.get_instance().feeds]: |
887 |
if ur: |
if ur: |
888 |
uritems += ur |
uritems += ur |
889 |
urfeeds += 1 |
urfeeds += 1 |
930 |
self.display_feed(signal.sender) |
self.display_feed(signal.sender) |
931 |
self.update_total_unread_indicator() |
self.update_total_unread_indicator() |
932 |
|
|
|
# def items_added(self, signal, feed_index): |
|
|
# model = self._feed_list_view.get_model() |
|
|
# new = self.number_of_new(signal.sender) |
|
|
# weight = (pango.WEIGHT_NORMAL, pango.WEIGHT_BOLD)[new[1] > 0] |
|
|
# model[feed_index][self.COLUMN_UNREAD] = new[0] |
|
|
# model[feed_index][self.COLUMN_BOLD] = weight |
|
|
# model[feed_index][self.COLUMN_ERROR_FLAG] = signal.sender.error is not None |
|
|
# self._feed_list_view.queue_draw() |
|
|
# if straw.config.feeds[feed_index] is straw.main.get_visible_feed(): |
|
|
# self.display_feed(straw.config.feeds[feed_index]) |
|
|
# self.update_total_unread_indicator() |
|
|
|
|
933 |
def create_feed_selection_columns(self, feed_list_view): |
def create_feed_selection_columns(self, feed_list_view): |
934 |
column = gtk.TreeViewColumn() |
column = gtk.TreeViewColumn() |
935 |
column.set_title("_Subscriptions") |
column.set_title("_Subscriptions") |
953 |
|
|
954 |
|
|
955 |
def create_ui(self, xml): |
def create_ui(self, xml): |
956 |
|
config = straw.Config.get_instance() |
957 |
self._window = xml.get_widget('straw_main') |
self._window = xml.get_widget('straw_main') |
958 |
self._window.set_default_size(*straw.config.main_window_size) |
self._window.set_default_size(*config.main_window_size) |
959 |
xml.get_widget('main_main_pane').set_position( |
xml.get_widget('main_main_pane').set_position( |
960 |
straw.config.main_pane_position) |
config.main_pane_position) |
961 |
xml.get_widget('main_sub_pane').set_position( |
xml.get_widget('main_sub_pane').set_position( |
962 |
straw.config.sub_pane_position) |
config.sub_pane_position) |
963 |
|
|
964 |
self._window.show() |
self._window.show() |
965 |
|
|